• Home
  • Raw
  • Download

Lines Matching refs:v4i32

257 def : Pat<(v4i32 (extract_subvector (v8i32 VR256:$src), (iPTR 0))),
258 (v4i32 (EXTRACT_SUBREG (v8i32 VR256:$src), sub_xmm))>;
279 def : Pat<(insert_subvector undef, (v4i32 VR128:$src), (iPTR 0)),
303 def : Pat<(v2i64 (bitconvert (v4i32 VR128:$src))), (v2i64 VR128:$src)>;
308 def : Pat<(v4i32 (bitconvert (v2i64 VR128:$src))), (v4i32 VR128:$src)>;
309 def : Pat<(v4i32 (bitconvert (v8i16 VR128:$src))), (v4i32 VR128:$src)>;
310 def : Pat<(v4i32 (bitconvert (v16i8 VR128:$src))), (v4i32 VR128:$src)>;
311 def : Pat<(v4i32 (bitconvert (v2f64 VR128:$src))), (v4i32 VR128:$src)>;
312 def : Pat<(v4i32 (bitconvert (v4f32 VR128:$src))), (v4i32 VR128:$src)>;
314 def : Pat<(v8i16 (bitconvert (v4i32 VR128:$src))), (v8i16 VR128:$src)>;
319 def : Pat<(v16i8 (bitconvert (v4i32 VR128:$src))), (v16i8 VR128:$src)>;
324 def : Pat<(v4f32 (bitconvert (v4i32 VR128:$src))), (v4f32 VR128:$src)>;
329 def : Pat<(v2f64 (bitconvert (v4i32 VR128:$src))), (v2f64 VR128:$src)>;
396 def : Pat<(v4i32 immAllZerosV), (V_SET0)>;
447 [(set VR128:$dst, (v4i32 immAllOnesV))]>;
537 def : Pat<(v4i32 (X86vzmovl (v4i32 VR128:$src))),
538 (VMOVSSrr (v4i32 (V_SET0)), (COPY_TO_REGCLASS VR128:$src, FR32))>;
549 (VMOVSSrr (v4i32 (V_SET0)),
579 (v4i32 (scalar_to_vector (loadi32 addr:$src))), (iPTR 0)))),
622 def : Pat<(v4i32 (X86Movss VR128:$src1, VR128:$src2)),
623 (VMOVSSrr (v4i32 VR128:$src1),
624 (COPY_TO_REGCLASS (v4i32 VR128:$src2), FR32))>;
648 def : Pat<(v4i32 (X86Movsd VR128:$src1, VR128:$src2)),
674 def : Pat<(v4i32 (X86Movlps VR128:$src1, VR128:$src2)),
686 def : Pat<(v4i32 (X86vzmovl (v4i32 VR128:$src))),
687 (MOVSSrr (v4i32 (V_SET0)), (COPY_TO_REGCLASS VR128:$src, FR32))>;
706 def : Pat<(v4i32 (X86Movss VR128:$src1, VR128:$src2)),
746 def : Pat<(v4i32 (X86Movsd VR128:$src1, VR128:$src2)),
759 def : Pat<(v4i32 (X86Movlps VR128:$src1, VR128:$src2)),
894 (insert_subvector undef, (v4i32 VR128:$src), (iPTR 0)))),
972 def : Pat<(alignedstore (v4i32 VR128:$src), addr:$dst),
980 def : Pat<(store (v4i32 VR128:$src), addr:$dst),
1020 def : Pat<(alignedstore (v4i32 (extract_subvector
1022 (VMOVAPSmr addr:$dst, (v4i32 (EXTRACT_SUBREG VR256:$src,sub_xmm)))>;
1039 def : Pat<(store (v4i32 (extract_subvector
1041 (VMOVUPSmr addr:$dst, (v4i32 (EXTRACT_SUBREG VR256:$src,sub_xmm)))>;
1061 def : Pat<(alignedstore (v4i32 VR128:$src), addr:$dst),
1069 def : Pat<(store (v4i32 VR128:$src), addr:$dst),
1187 def : Pat<(v4i32 (X86Movlps VR128:$src1, (load addr:$src2))),
1200 def : Pat<(store (v4i32 (X86Movlps
1220 def : Pat<(v4i32 (X86Movlps VR128:$src1, (load addr:$src2))),
1230 def : Pat<(store (v4i32 (X86Movlps
1363 def : Pat<(v4i32 (X86Movlhps VR128:$src1, VR128:$src2)),
1369 def : Pat<(v4i32 (X86Movhlps VR128:$src1, VR128:$src2)),
1375 def : Pat<(v4i32 (X86Movlhps VR128:$src1, VR128:$src2)),
1381 def : Pat<(v4i32 (X86Movhlps VR128:$src1, VR128:$src2)),
2000 def : Pat<(v4f32 (sint_to_fp (v4i32 VR128:$src))),
2010 def : Pat<(v4i32 (fp_to_sint (v4f32 VR128:$src))),
2012 def : Pat<(v4i32 (fp_to_sint (memopv4f32 addr:$src))),
2027 def : Pat<(v4f32 (sint_to_fp (v4i32 VR128:$src))),
2037 def : Pat<(v4i32 (fp_to_sint (v4f32 VR128:$src))),
2039 def : Pat<(v4i32 (fp_to_sint (memopv4f32 addr:$src))),
2077 def : Pat<(v4i32 (fp_to_sint (v4f64 VR256:$src))),
2079 def : Pat<(v4i32 (fp_to_sint (memopv4f64 addr:$src))),
2163 def : Pat<(v4f64 (sint_to_fp (v4i32 VR128:$src))),
2458 def : Pat<(v4i32 (X86cmpp (v4f32 VR128:$src1), VR128:$src2, imm:$cc)),
2460 def : Pat<(v4i32 (X86cmpp (v4f32 VR128:$src1), (memop addr:$src2), imm:$cc)),
2478 def : Pat<(v4i32 (X86cmpp (v4f32 VR128:$src1), VR128:$src2, imm:$cc)),
2480 def : Pat<(v4i32 (X86cmpp (v4f32 VR128:$src1), (memop addr:$src2), imm:$cc)),
2537 def : Pat<(v4i32 (X86Shufp VR128:$src1,
2540 def : Pat<(v4i32 (X86Shufp VR128:$src1, VR128:$src2, (i8 imm:$imm))),
2564 def : Pat<(v4i32 (X86Shufp VR128:$src1,
2567 def : Pat<(v4i32 (X86Shufp VR128:$src1, VR128:$src2, (i8 imm:$imm))),
3801 defm PADDD : PDI_binop_all<0xFE, "paddd", add, v4i32, v8i32,
3811 defm PSUBD : PDI_binop_all<0xFA, "psubd", sub, v4i32, v8i32,
3855 defm VPMULUDQ : PDI_binop_rm2<0xF4, "vpmuludq", X86pmuludq, v2i64, v4i32, VR128,
3863 defm PMULUDQ : PDI_binop_rm2<0xF4, "pmuludq", X86pmuludq, v2i64, v4i32, VR128,
3875 VR128, v4i32, v4i32, bc_v4i32,
3885 VR128, v4i32, v4i32, bc_v4i32,
3895 VR128, v4i32, v4i32, bc_v4i32,
3921 VR256, v8i32, v4i32, bc_v4i32,
3931 VR256, v8i32, v4i32, bc_v4i32,
3941 VR256, v8i32, v4i32, bc_v4i32,
3967 VR128, v4i32, v4i32, bc_v4i32,
3977 VR128, v4i32, v4i32, bc_v4i32,
3987 VR128, v4i32, v4i32, bc_v4i32,
4051 defm PCMPEQD : PDI_binop_all<0x76, "pcmpeqd", X86pcmpeq, v4i32, v8i32,
4057 defm PCMPGTD : PDI_binop_all<0x66, "pcmpgtd", X86pcmpgt, v4i32, v8i32,
4134 defm PSHUFD : sse2_pshuffle<"pshufd", v4i32, v8i32, X86PShufd>, TB, OpSize;
4198 defm VPUNPCKLDQ : sse2_unpack<0x62, "vpunpckldq", v4i32, X86Unpckl,
4207 defm VPUNPCKHDQ : sse2_unpack<0x6A, "vpunpckhdq", v4i32, X86Unpckh,
4238 defm PUNPCKLDQ : sse2_unpack<0x62, "punpckldq", v4i32, X86Unpckl,
4247 defm PUNPCKHDQ : sse2_unpack<0x6A, "punpckhdq", v4i32, X86Unpckh,
4380 (v4i32 (scalar_to_vector GR32:$src)))], IIC_SSE_MOVDQ>,
4385 (v4i32 (scalar_to_vector (loadi32 addr:$src))))],
4401 (v4i32 (scalar_to_vector GR32:$src)))], IIC_SSE_MOVDQ>,
4406 (v4i32 (scalar_to_vector (loadi32 addr:$src))))],
4446 [(set GR32:$dst, (vector_extract (v4i32 VR128:$src),
4452 [(store (i32 (vector_extract (v4i32 VR128:$src),
4457 [(set GR32:$dst, (vector_extract (v4i32 VR128:$src),
4462 [(store (i32 (vector_extract (v4i32 VR128:$src),
4541 [(set VR128:$dst, (v4i32 (X86vzmovl
4542 (v4i32 (scalar_to_vector GR32:$src)))))],
4554 [(set VR128:$dst, (v4i32 (X86vzmovl
4555 (v4i32 (scalar_to_vector GR32:$src)))))],
4569 (v4i32 (X86vzmovl (v4i32 (scalar_to_vector
4575 (v4i32 (X86vzmovl (v4i32 (scalar_to_vector
4583 def : Pat<(v4i32 (X86vzmovl (bc_v4i32 (loadv4f32 addr:$src)))),
4585 def : Pat<(v4i32 (X86vzmovl (bc_v4i32 (loadv2i64 addr:$src)))),
4590 (v4i32 (scalar_to_vector GR32:$src)),(iPTR 0)))),
4598 def : Pat<(v4i32 (X86vzmovl (bc_v4i32 (loadv4f32 addr:$src)))),
4600 def : Pat<(v4i32 (X86vzmovl (bc_v4i32 (loadv2i64 addr:$src)))),
4822 def : Pat<(v4i32 (X86Movshdup VR128:$src)),
4824 def : Pat<(v4i32 (X86Movshdup (bc_v4i32 (memopv2i64 addr:$src)))),
4826 def : Pat<(v4i32 (X86Movsldup VR128:$src)),
4828 def : Pat<(v4i32 (X86Movsldup (bc_v4i32 (memopv2i64 addr:$src)))),
4841 def : Pat<(v4i32 (X86Movshdup VR128:$src)),
4843 def : Pat<(v4i32 (X86Movshdup (bc_v4i32 (memopv2i64 addr:$src)))),
4845 def : Pat<(v4i32 (X86Movsldup VR128:$src)),
4847 def : Pat<(v4i32 (X86Movsldup (bc_v4i32 (memopv2i64 addr:$src)))),
5103 def v16i1sextv16i8 : PatLeaf<(v16i8 (X86pcmpgt (bc_v16i8 (v4i32 immAllZerosV)),
5106 def v4i1sextv4i32 : PatLeaf<(v4i32 (X86vsrai VR128:$src, (i32 31)))>;
5130 (bc_v2i64 (add (v4i32 VR128:$src), (v4i1sextv4i32)))),
5174 (bc_v2i64 (add (v4i32 VR128:$src), (v4i1sextv4i32)))),
5274 defm VPHADDD : SS3I_binop_rm<0x02, "vphaddd", X86hadd, v4i32, VR128,
5280 defm VPHSUBD : SS3I_binop_rm<0x06, "vphsubd", X86hsub, v4i32, VR128,
5289 defm VPSIGND : SS3I_binop_rm<0x0A, "vpsignd", X86psign, v4i32, VR128,
5352 defm PHADDD : SS3I_binop_rm<0x02, "phaddd", X86hadd, v4i32, VR128,
5356 defm PHSUBD : SS3I_binop_rm<0x06, "phsubd", X86hsub, v4i32, VR128,
5362 defm PSIGND : SS3I_binop_rm<0x0A, "psignd", X86psign, v4i32, VR128,
5439 def : Pat<(v4i32 (X86PAlignr VR128:$src1, VR128:$src2, (i8 imm:$imm))),
5450 def : Pat<(v4i32 (X86PAlignr VR128:$src1, VR128:$src2, (i8 imm:$imm))),
5644 def : Pat<(v4i64 (X86vzmovly (v4i32 VR128:$src))),
5650 def : Pat<(v4i64 (X86vsmovl (v4i32 VR128:$src))), (VPMOVSXDQYrr VR128:$src)>;
5655 def : Pat<(v2i64 (X86vsmovl (v4i32 VR128:$src))), (VPMOVSXDQrr VR128:$src)>;
5656 def : Pat<(v4i32 (X86vsmovl (v8i16 VR128:$src))), (VPMOVSXWDrr VR128:$src)>;
5660 def : Pat<(v2i64 (X86vsmovl (v4i32 VR128:$src))), (PMOVSXDQrr VR128:$src)>;
5661 def : Pat<(v4i32 (X86vsmovl (v8i16 VR128:$src))), (PMOVSXWDrr VR128:$src)>;
5673 (IntId (bitconvert (v4i32 (scalar_to_vector (loadi32 addr:$src))))))]>,
5752 (v4i32 (scalar_to_vector (loadi16_anyext addr:$src))))))]>,
5766 (v4i32 (scalar_to_vector (loadi32 addr:$src))))))]>,
5793 def : Pat<(v4i64 (X86vsext (v4i32 VR128:$src))), (VPMOVSXDQYrr VR128:$src)>;
5812 def : Pat<(v4i64 (X86vsmovl (v4i32 (bitconvert (v2i64 (load addr:$src)))))),
5829 def : Pat<(v4i64 (X86vsext (v16i8 (bitconvert (v4i32
5837 (bitconvert (v4i32 (X86vzmovl
5838 (v4i32 (scalar_to_vector (loadi32 addr:$src))))))),
5842 (bitconvert (v4i32 (X86vzmovl
5843 (v4i32 (scalar_to_vector (loadi32 addr:$src))))))),
5849 def : Pat<(v4i32 (X86vsext (v16i8 VR128:$src))), (PMOVSXBDrr VR128:$src)>;
5852 def : Pat<(v4i32 (X86vsext (v8i16 VR128:$src))), (PMOVSXWDrr VR128:$src)>;
5855 def : Pat<(v2i64 (X86vsext (v4i32 VR128:$src))), (PMOVSXDQrr VR128:$src)>;
5859 (bitconvert (v4i32 (X86vzmovl
5860 (v4i32 (scalar_to_vector (loadi32 addr:$src))))))),
5864 (bitconvert (v4i32 (X86vzmovl
5865 (v4i32 (scalar_to_vector (loadi32 addr:$src))))))),
5868 def : Pat<(v4i32 (X86vsext (v8i16 (bitconvert (v2i64
5871 def : Pat<(v4i32 (X86vsext (v8i16 (bitconvert (v2f64
5874 def : Pat<(v4i32 (X86vsext (v16i8 (bitconvert (v4i32
5877 def : Pat<(v2i64 (X86vsext (v8i16 (bitconvert (v4i32
5880 def : Pat<(v2i64 (X86vsext (v16i8 (bitconvert (v4i32
5883 def : Pat<(v2i64 (X86vsext (v4i32 (bitconvert (v2i64
5886 def : Pat<(v2i64 (X86vsext (v4i32 (bitconvert (v2f64
5905 def : Pat<(v4i64 (X86vzext (v4i32 VR128:$src))), (VPMOVZXDQYrr VR128:$src)>;
5925 def : Pat<(v4i32 (X86vzext (v16i8 VR128:$src))), (VPMOVZXBDrr VR128:$src)>;
5928 def : Pat<(v4i32 (X86vzext (v8i16 VR128:$src))), (VPMOVZXWDrr VR128:$src)>;
5931 def : Pat<(v2i64 (X86vzext (v4i32 VR128:$src))), (VPMOVZXDQrr VR128:$src)>;
5937 def : Pat<(v4i32 (X86vzext (v16i8 (bitconvert (v4i32 (scalar_to_vector (loadi32 addr:$src))))))),
5939 …def : Pat<(v2i64 (X86vzext (v16i8 (bitconvert (v4i32 (scalar_to_vector (loadi16_anyext addr:$src))…
5942 def : Pat<(v4i32 (X86vzext (v8i16 (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))),
5944 def : Pat<(v4i32 (X86vzext (v8i16 (bitconvert (v2f64 (scalar_to_vector (loadf64 addr:$src))))))),
5946 def : Pat<(v2i64 (X86vzext (v8i16 (bitconvert (v4i32 (scalar_to_vector (loadi32 addr:$src))))))),
5949 def : Pat<(v2i64 (X86vzext (v4i32 (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))),
5951 def : Pat<(v2i64 (X86vzext (v4i32 (bitconvert (v2f64 (scalar_to_vector (loadf64 addr:$src))))))),
5953 def : Pat<(v2i64 (X86vzext (v4i32 (bitconvert (v2i64 (X86vzload addr:$src)))))),
5957 def : Pat<(v4i32 (X86vsext (v16i8 VR128:$src))), (VPMOVSXBDrr VR128:$src)>;
5960 def : Pat<(v4i32 (X86vsext (v8i16 VR128:$src))), (VPMOVSXWDrr VR128:$src)>;
5963 def : Pat<(v2i64 (X86vsext (v4i32 VR128:$src))), (VPMOVSXDQrr VR128:$src)>;
5965 def : Pat<(v4i32 (X86vsext (v8i16 (bitconvert (v2i64
5968 def : Pat<(v2i64 (X86vsext (v4i32 (bitconvert (v2i64
5971 def : Pat<(v4i32 (X86vsext (v8i16 (bitconvert (v2f64
5974 def : Pat<(v2i64 (X86vsext (v4i32 (bitconvert (v2f64
5984 def : Pat<(v4i32 (X86vsext (v16i8 (bitconvert (v4i32
5987 def : Pat<(v2i64 (X86vsext (v8i16 (bitconvert (v4i32
5990 def : Pat<(v2i64 (X86vsext (v16i8 (bitconvert (v4i32
5997 def : Pat<(v4i32 (X86vzext (v16i8 VR128:$src))), (PMOVZXBDrr VR128:$src)>;
6000 def : Pat<(v4i32 (X86vzext (v8i16 VR128:$src))), (PMOVZXWDrr VR128:$src)>;
6003 def : Pat<(v2i64 (X86vzext (v4i32 VR128:$src))), (PMOVZXDQrr VR128:$src)>;
6009 def : Pat<(v4i32 (X86vzext (v16i8 (bitconvert (v4i32 (scalar_to_vector (loadi32 addr:$src))))))),
6011 …def : Pat<(v2i64 (X86vzext (v16i8 (bitconvert (v4i32 (scalar_to_vector (loadi16_anyext addr:$src))…
6014 def : Pat<(v4i32 (X86vzext (v8i16 (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))),
6016 def : Pat<(v4i32 (X86vzext (v8i16 (bitconvert (v2f64 (scalar_to_vector (loadf64 addr:$src))))))),
6018 def : Pat<(v2i64 (X86vzext (v8i16 (bitconvert (v4i32 (scalar_to_vector (loadi32 addr:$src))))))),
6021 def : Pat<(v2i64 (X86vzext (v4i32 (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))),
6023 def : Pat<(v2i64 (X86vzext (v4i32 (bitconvert (v2f64 (scalar_to_vector (loadf64 addr:$src))))))),
6025 def : Pat<(v2i64 (X86vzext (v4i32 (bitconvert (v2i64 (X86vzload addr:$src)))))),
6088 (extractelt (v4i32 VR128:$src1), imm:$src2))]>, OpSize;
6093 [(store (extractelt (v4i32 VR128:$src1), imm:$src2),
6201 (v4i32 (insertelt VR128:$src1, GR32:$src2, imm:$src3)))]>,
6210 (v4i32 (insertelt VR128:$src1, (loadi32 addr:$src2),
6716 defm VPMINSD : SS48I_binop_rm<0x39, "vpminsd", X86smin, v4i32, VR128,
6718 defm VPMINUD : SS48I_binop_rm<0x3B, "vpminud", X86umin, v4i32, VR128,
6724 defm VPMAXSD : SS48I_binop_rm<0x3D, "vpmaxsd", X86smax, v4i32, VR128,
6726 defm VPMAXUD : SS48I_binop_rm<0x3F, "vpmaxud", X86umax, v4i32, VR128,
6763 defm PMINSD : SS48I_binop_rm<0x39, "pminsd", X86smin, v4i32, VR128,
6765 defm PMINUD : SS48I_binop_rm<0x3B, "pminud", X86umin, v4i32, VR128,
6771 defm PMAXSD : SS48I_binop_rm<0x3D, "pmaxsd", X86smax, v4i32, VR128,
6773 defm PMAXUD : SS48I_binop_rm<0x3F, "pmaxud", X86umax, v4i32, VR128,
6781 defm VPMULLD : SS48I_binop_rm<0x40, "vpmulld", mul, v4i32, VR128,
6794 defm PMULLD : SS48I_binop_rm<0x40, "pmulld", mul, v4i32, VR128,
6936 def : Pat<(v4i32 (vselect (v4i32 VR128:$mask), (v4i32 VR128:$src1),
6937 (v4i32 VR128:$src2))),
6939 def : Pat<(v4f32 (vselect (v4i32 VR128:$mask), (v4f32 VR128:$src1),
7036 def : Pat<(v4i32 (vselect (v4i32 XMM0), (v4i32 VR128:$src1),
7037 (v4i32 VR128:$src2))),
7039 def : Pat<(v4f32 (vselect (v4i32 XMM0), (v4f32 VR128:$src1),
7613 def : Pat<(vinsert128_insert:$ins (v8i32 VR256:$src1), (v4i32 VR128:$src2),
7689 (v4i32 (VEXTRACTF128rr
7705 def : Pat<(alignedstore (v4i32 (vextract128_extract:$ext (v8i32 VR256:$src1),
7943 def : Pat<(v4i32 (X86Blendi (v4i32 VR128:$src1), (v4i32 VR128:$src2),
7996 def : Pat<(v4i32 (X86VBroadcast (loadi32 addr:$src))),
8013 def : Pat<(v4i32 (X86VBroadcast (v4i32 VR128:$src))),
8015 def : Pat<(v8i32 (X86VBroadcast (v4i32 VR128:$src))),
8040 def : Pat<(v4i32 (X86VBroadcast GR32:$src)),
8055 def : Pat<(v4i32 (X86VBroadcast (loadi32 addr:$src))),
8082 def : Pat<(v4i32 (X86VBroadcast GR32:$src)),
8198 def : Pat<(vinsert128_insert:$ins (v8i32 VR256:$src1), (v4i32 VR128:$src2),
8253 (v4i32 (VEXTRACTI128rr
8269 def : Pat<(alignedstore (v4i32 (vextract128_extract:$ext (v8i32 VR256:$src1),
8353 defm VPSLLVD : avx2_var_shift<0x47, "vpsllvd", shl, v4i32, v8i32>;
8355 defm VPSRLVD : avx2_var_shift<0x45, "vpsrlvd", srl, v4i32, v8i32>;
8357 defm VPSRAVD : avx2_var_shift<0x46, "vpsravd", sra, v4i32, v8i32>;