• Home
  • Raw
  • Download

Lines Matching refs:v4f32

247 def : Pat<(f32 (vector_extract (v4f32 VR128:$src), (iPTR 0))),
248 (f32 (EXTRACT_SUBREG (v4f32 VR128:$src), sub_ss))>;
256 def : Pat<(v4f32 (extract_subvector (v8f32 VR256:$src), (i32 0))),
257 (v4f32 (EXTRACT_SUBREG (v8f32 VR256:$src), sub_xmm))>;
277 def : Pat<(insert_subvector undef, (v4f32 VR128:$src), (i32 0)),
285 def : Pat<(v4f32 (scalar_to_vector FR32:$src)),
286 (INSERT_SUBREG (v4f32 (IMPLICIT_DEF)), FR32:$src, sub_ss)>;
302 def : Pat<(v2i64 (bitconvert (v4f32 VR128:$src))), (v2i64 VR128:$src)>;
307 def : Pat<(v4i32 (bitconvert (v4f32 VR128:$src))), (v4i32 VR128:$src)>;
312 def : Pat<(v8i16 (bitconvert (v4f32 VR128:$src))), (v8i16 VR128:$src)>;
317 def : Pat<(v16i8 (bitconvert (v4f32 VR128:$src))), (v16i8 VR128:$src)>;
318 def : Pat<(v4f32 (bitconvert (v2i64 VR128:$src))), (v4f32 VR128:$src)>;
319 def : Pat<(v4f32 (bitconvert (v4i32 VR128:$src))), (v4f32 VR128:$src)>;
320 def : Pat<(v4f32 (bitconvert (v8i16 VR128:$src))), (v4f32 VR128:$src)>;
321 def : Pat<(v4f32 (bitconvert (v16i8 VR128:$src))), (v4f32 VR128:$src)>;
322 def : Pat<(v4f32 (bitconvert (v2f64 VR128:$src))), (v4f32 VR128:$src)>;
327 def : Pat<(v2f64 (bitconvert (v4f32 VR128:$src))), (v2f64 VR128:$src)>;
389 def : Pat<(v4f32 immAllZerosV), (V_SET0)>;
485 def VMOVSSrr : sse12_move_rr<FR32, X86Movss, v4f32,
525 def MOVSSrr : sse12_move_rr<FR32, X86Movss, v4f32,
562 def : Pat<(v4f32 (X86vzmovl (v4f32 (scalar_to_vector FR32:$src)))),
563 (VMOVSSrr (v4f32 (V_SET0)), FR32:$src)>;
564 def : Pat<(v4f32 (X86vzmovl (v4f32 VR128:$src))),
565 (VMOVSSrr (v4f32 (V_SET0)),
566 (f32 (EXTRACT_SUBREG (v4f32 VR128:$src), sub_ss)))>;
576 (VMOVSSrr (v4f32 (V_SET0)),
587 def : Pat<(v4f32 (X86vzmovl (v4f32 (scalar_to_vector (loadf32 addr:$src))))),
589 def : Pat<(v4f32 (scalar_to_vector (loadf32 addr:$src))),
591 def : Pat<(v4f32 (X86vzmovl (loadv4f32 addr:$src))),
613 (v4f32 (scalar_to_vector (loadf32 addr:$src))), (i32 0)))),
620 (v4f32 (scalar_to_vector FR32:$src)), (i32 0)))),
622 (v4f32 (VMOVSSrr (v4f32 (V_SET0)), FR32:$src)),
645 def : Pat<(store (f32 (vector_extract (v4f32 VR128:$src), (iPTR 0))),
648 (EXTRACT_SUBREG (v4f32 VR128:$src), sub_ss))>;
658 def : Pat<(v4f32 (X86Movss VR128:$src1, VR128:$src2)),
659 (VMOVSSrr (v4f32 VR128:$src1),
660 (EXTRACT_SUBREG (v4f32 VR128:$src2), sub_ss))>;
679 def : Pat<(v4f32 (X86Movsd VR128:$src1, VR128:$src2)),
680 (VMOVSDrr VR128:$src1, (EXTRACT_SUBREG (v4f32 VR128:$src2),
707 def : Pat<(v4f32 (X86Movlps VR128:$src1, VR128:$src2)),
708 (VMOVSDrr VR128:$src1, (EXTRACT_SUBREG (v4f32 VR128:$src2),
719 def : Pat<(v4f32 (X86vzmovl (v4f32 (scalar_to_vector FR32:$src)))),
720 (MOVSSrr (v4f32 (V_SET0)), FR32:$src)>;
721 def : Pat<(v4f32 (X86vzmovl (v4f32 VR128:$src))),
722 (MOVSSrr (v4f32 (V_SET0)),
723 (f32 (EXTRACT_SUBREG (v4f32 VR128:$src), sub_ss)))>;
732 def : Pat<(v4f32 (X86vzmovl (v4f32 (scalar_to_vector (loadf32 addr:$src))))),
734 def : Pat<(v4f32 (scalar_to_vector (loadf32 addr:$src))),
736 def : Pat<(v4f32 (X86vzmovl (loadv4f32 addr:$src))),
741 def : Pat<(store (f32 (vector_extract (v4f32 VR128:$src), (iPTR 0))),
744 (EXTRACT_SUBREG (v4f32 VR128:$src), sub_ss))>;
750 def : Pat<(v4f32 (X86Movss VR128:$src1, VR128:$src2)),
751 (MOVSSrr (v4f32 VR128:$src1),
752 (EXTRACT_SUBREG (v4f32 VR128:$src2), sub_ss))>;
791 def : Pat<(v4f32 (X86Movsd VR128:$src1, VR128:$src2)),
792 (MOVSDrr VR128:$src1, (EXTRACT_SUBREG (v4f32 VR128:$src2),sub_sd))>;
804 def : Pat<(v4f32 (X86Movlps VR128:$src1, VR128:$src2)),
805 (MOVSDrr VR128:$src1, (EXTRACT_SUBREG (v4f32 VR128:$src2),sub_sd))>;
868 [(alignedstore (v4f32 VR128:$src), addr:$dst)],
876 [(store (v4f32 VR128:$src), addr:$dst)],
943 (insert_subvector undef, (v4f32 VR128:$src), (i32 0)))),
958 [(alignedstore (v4f32 VR128:$src), addr:$dst)],
966 [(store (v4f32 VR128:$src), addr:$dst)],
1154 [(store (f64 (vector_extract (bc_v2f64 (v4f32 VR128:$src)),
1164 [(store (f64 (vector_extract (bc_v2f64 (v4f32 VR128:$src)),
1175 def : Pat<(v4f32 (X86Movlps VR128:$src1, (load addr:$src2))),
1187 def : Pat<(store (v4f32 (X86Movlps (load addr:$src1), VR128:$src2)),
1203 def : Pat<(store (i64 (vector_extract (bc_v2i64 (v4f32 VR128:$src2)),
1208 def : Pat<(v4f32 (X86Movlps VR128:$src1, (load addr:$src2))),
1217 def : Pat<(store (v4f32 (X86Movlps (load addr:$src1), VR128:$src2)),
1262 (X86Unpckh (bc_v2f64 (v4f32 VR128:$src)),
1263 (bc_v2f64 (v4f32 VR128:$src))),
1273 (X86Unpckh (bc_v2f64 (v4f32 VR128:$src)),
1274 (bc_v2f64 (v4f32 VR128:$src))),
1329 (v4f32 (X86Movlhps VR128:$src1, VR128:$src2)))],
1336 (v4f32 (X86Movhlps VR128:$src1, VR128:$src2)))],
1345 (v4f32 (X86Movlhps VR128:$src1, VR128:$src2)))],
1351 (v4f32 (X86Movhlps VR128:$src1, VR128:$src2)))],
1655 (VCVTSS2SIrr (EXTRACT_SUBREG (v4f32 VR128:$src), sub_ss))>;
1659 (VCVTSS2SI64rr (EXTRACT_SUBREG (v4f32 VR128:$src), sub_ss))>;
1666 (CVTSS2SIrr (EXTRACT_SUBREG (v4f32 VR128:$src), sub_ss))>;
1670 (CVTSS2SI64rr (EXTRACT_SUBREG (v4f32 VR128:$src), sub_ss))>;
1943 def : Pat<(v4f32 (sint_to_fp (v4i32 VR128:$src))),
1945 def : Pat<(v4f32 (sint_to_fp (bc_v4i32 (memopv2i64 addr:$src)))),
1948 def : Pat<(v4i32 (fp_to_sint (v4f32 VR128:$src))),
1965 def : Pat<(v4f32 (sint_to_fp (v4i32 VR128:$src))),
1967 def : Pat<(v4f32 (sint_to_fp (bc_v4i32 (memopv2i64 addr:$src)))),
1970 def : Pat<(v4i32 (fp_to_sint (v4f32 VR128:$src))),
2149 def : Pat<(v4f32 (fround (v4f64 VR256:$src))),
2151 def : Pat<(v4f32 (fround (loadv4f64 addr:$src))),
2154 def : Pat<(v4f64 (fextend (v4f32 VR128:$src))),
2269 defm VCOMISS : sse12_ord_cmp<0x2F, VR128, undef, v4f32, f128mem, load,
2277 defm Int_VUCOMISS : sse12_ord_cmp<0x2E, VR128, X86ucomi, v4f32, f128mem,
2282 defm Int_VCOMISS : sse12_ord_cmp<0x2F, VR128, X86comi, v4f32, f128mem,
2292 defm COMISS : sse12_ord_cmp<0x2F, VR128, undef, v4f32, f128mem, load,
2298 defm Int_UCOMISS : sse12_ord_cmp<0x2E, VR128, X86ucomi, v4f32, f128mem,
2303 defm Int_COMISS : sse12_ord_cmp<0x2F, VR128, X86comi, v4f32, f128mem, load,
2361 def : Pat<(v4i32 (X86cmpp (v4f32 VR128:$src1), VR128:$src2, imm:$cc)),
2362 (VCMPPSrri (v4f32 VR128:$src1), (v4f32 VR128:$src2), imm:$cc)>;
2363 def : Pat<(v4i32 (X86cmpp (v4f32 VR128:$src1), (memop addr:$src2), imm:$cc)),
2364 (VCMPPSrmi (v4f32 VR128:$src1), addr:$src2, imm:$cc)>;
2381 def : Pat<(v4i32 (X86cmpp (v4f32 VR128:$src1), VR128:$src2, imm:$cc)),
2382 (CMPPSrri (v4f32 VR128:$src1), (v4f32 VR128:$src2), imm:$cc)>;
2383 def : Pat<(v4i32 (X86cmpp (v4f32 VR128:$src1), (memop addr:$src2), imm:$cc)),
2384 (CMPPSrmi (v4f32 VR128:$src1), addr:$src2, imm:$cc)>;
2413 defm VSHUFPS : sse12_shuffle<VR128, f128mem, v4f32,
2427 defm SHUFPS : sse12_shuffle<VR128, f128mem, v4f32,
2503 defm VUNPCKHPS: sse12_unpack_interleave<0x15, X86Unpckh, v4f32, memopv4f32,
2509 defm VUNPCKLPS: sse12_unpack_interleave<0x14, X86Unpckl, v4f32, memopv4f32,
2530 defm UNPCKHPS: sse12_unpack_interleave<0x15, X86Unpckh, v4f32, memopv4f32,
2536 defm UNPCKLPS: sse12_unpack_interleave<0x14, X86Unpckl, v4f32, memopv4f32,
2590 (VMOVMSKPSrr32 (INSERT_SUBREG (v4f32 (IMPLICIT_DEF)), FR32:$src,
2593 (VMOVMSKPSrr64 (INSERT_SUBREG (v4f32 (IMPLICIT_DEF)), FR32:$src,
2625 (MOVMSKPSrr32 (INSERT_SUBREG (v4f32 (IMPLICIT_DEF)), FR32:$src,
2628 (MOVMSKPSrr64 (INSERT_SUBREG (v4f32 (IMPLICIT_DEF)), FR32:$src,
2754 [(set VR128:$dst, (OpNode (bc_v2i64 (v4f32 VR128:$src1)),
2768 [(set VR128:$dst, (OpNode (bc_v2i64 (v4f32 VR128:$src1)),
2844 v4f32, f128mem, memopv4f32, SSEPackedSingle, itins.s, Is2Addr>,
3037 [(set VR128:$dst, (v4f32 (OpNode VR128:$src)))], itins.rr>;
3233 (INSERT_SUBREG (v4f32 (IMPLICIT_DEF)),
3235 (EXTRACT_SUBREG (v4f32 VR128:$src), sub_ss)),
3238 (VSQRTSSm_Int (v4f32 (IMPLICIT_DEF)), sse_load_f32:$src)>;
3249 (INSERT_SUBREG (v4f32 (IMPLICIT_DEF)),
3251 (EXTRACT_SUBREG (v4f32 VR128:$src), sub_ss)),
3254 (VRSQRTSSm_Int (v4f32 (IMPLICIT_DEF)), sse_load_f32:$src)>;
3257 (INSERT_SUBREG (v4f32 (IMPLICIT_DEF)),
3259 (EXTRACT_SUBREG (v4f32 VR128:$src), sub_ss)),
3262 (VRCPSSm_Int (v4f32 (IMPLICIT_DEF)), sse_load_f32:$src)>;
3297 [(alignednontemporalstore (v4f32 VR128:$src),
3349 [(alignednontemporalstore (v4f32 VR128:$src), addr:$dst)],
4239 def : Pat<(v4f32 (X86PShufd (memopv4f32 addr:$src1), (i8 imm:$imm))),
4241 def : Pat<(v4f32 (X86PShufd VR128:$src1, (i8 imm:$imm))),
4261 def : Pat<(v4f32 (X86PShufd (memopv4f32 addr:$src1), (i8 imm:$imm))),
4263 def : Pat<(v4f32 (X86PShufd VR128:$src1, (i8 imm:$imm))),
4991 v4f32, VR128, memopv4f32, f128mem>, VEX;
4993 v4f32, VR128, memopv4f32, f128mem>, VEX;
4999 defm MOVSHDUP : sse3_replicate_sfp<0x16, X86Movshdup, "movshdup", v4f32, VR128,
5001 defm MOVSLDUP : sse3_replicate_sfp<0x12, X86Movsldup, "movsldup", v4f32, VR128,
5203 defm VHADDPS : S3D_Int<0x7C, "vhaddps", v4f32, VR128, f128mem,
5205 defm VHSUBPS : S3D_Int<0x7D, "vhsubps", v4f32, VR128, f128mem,
5226 defm HADDPS : S3D_Int<0x7C, "haddps", v4f32, VR128, f128mem, X86fhadd>;
5227 defm HSUBPS : S3D_Int<0x7D, "hsubps", v4f32, VR128, f128mem, X86fhsub>;
5556 def : Pat<(v4f32 (X86PAlign VR128:$src1, VR128:$src2, (i8 imm:$imm))),
5567 def : Pat<(v4f32 (X86PAlign VR128:$src1, VR128:$src2, (i8 imm:$imm))),
5992 (extractelt (bc_v4i32 (v4f32 VR128:$src1)), imm:$src2))]>,
5998 [(store (extractelt (bc_v4i32 (v4f32 VR128:$src1)), imm:$src2),
6014 def : Pat<(store (f32 (bitconvert (extractelt (bc_v4i32 (v4f32 VR128:$src1)),
6019 def : Pat<(store (f32 (bitconvert (extractelt (bc_v4i32 (v4f32 VR128:$src1)),
6128 (v4f32 (scalar_to_vector (loadf32 addr:$src2))),
6376 defm VTESTPS : avx_bittest<0x0E, "vtestps", VR128, f128mem, memopv4f32, v4f32>;
6717 def : Pat<(v4f32 (vselect (v4i32 VR128:$mask), (v4f32 VR128:$src1),
6718 (v4f32 VR128:$src2))),
6749 def : Pat<(v4f32 (X86Blendps (v4f32 VR128:$src1), (v4f32 VR128:$src2),
6803 def : Pat<(v4f32 (vselect (v4i32 XMM0), (v4f32 VR128:$src1),
6804 (v4f32 VR128:$src2))),
6816 def : Pat<(v4f32 (X86Blendps (v4f32 VR128:$src1), (v4f32 VR128:$src2),
7329 def : Pat<(vinsertf128_insert:$ins (v8f32 VR256:$src1), (v4f32 VR128:$src2),
7410 (v4f32 (VEXTRACTF128rr
7504 memopv2i64, int_x86_avx_vpermilvar_ps, v4f32>;
7727 def : Pat<(v4f32 (X86VBroadcast (loadf32 addr:$src))),