Home | History | Annotate | Download | only in X86

Lines Matching full:v2i64

259 def : Pat<(v2i64 (extract_subvector (v4i64 VR256:$src), (i32 0))),
260 (v2i64 (EXTRACT_SUBREG (v4i64 VR256:$src), sub_xmm))>;
271 def : Pat<(insert_subvector undef, (v2i64 VR128:$src), (i32 0)),
298 def : Pat<(v2i64 (bitconvert (v4i32 VR128:$src))), (v2i64 VR128:$src)>;
299 def : Pat<(v2i64 (bitconvert (v8i16 VR128:$src))), (v2i64 VR128:$src)>;
300 def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (v2i64 VR128:$src)>;
301 def : Pat<(v2i64 (bitconvert (v2f64 VR128:$src))), (v2i64 VR128:$src)>;
302 def : Pat<(v2i64 (bitconvert (v4f32 VR128:$src))), (v2i64 VR128:$src)>;
303 def : Pat<(v4i32 (bitconvert (v2i64 VR128:$src))), (v4i32 VR128:$src)>;
308 def : Pat<(v8i16 (bitconvert (v2i64 VR128:$src))), (v8i16 VR128:$src)>;
313 def : Pat<(v16i8 (bitconvert (v2i64 VR128:$src))), (v16i8 VR128:$src)>;
318 def : Pat<(v4f32 (bitconvert (v2i64 VR128:$src))), (v4f32 VR128:$src)>;
323 def : Pat<(v2f64 (bitconvert (v2i64 VR128:$src))), (v2f64 VR128:$src)>;
392 def : Pat<(v2i64 immAllZerosV), (V_SET0)>;
630 (v2i64 (scalar_to_vector (loadi64 addr:$src))), (i32 0)))),
641 (VMOVSDrr (v2i64 (V_SET0)),
673 def : Pat<(v2i64 (X86Movsd VR128:$src1, VR128:$src2)),
674 (VMOVSDrr (v2i64 VR128:$src1),
675 (EXTRACT_SUBREG (v2i64 VR128:$src2), sub_sd))>;
704 def : Pat<(v2i64 (X86Movlpd VR128:$src1, VR128:$src2)),
705 (VMOVSDrr VR128:$src1, (EXTRACT_SUBREG (v2i64 VR128:$src2),
785 def : Pat<(v2i64 (X86Movsd VR128:$src1, VR128:$src2)),
786 (MOVSDrr (v2i64 VR128:$src1),
787 (EXTRACT_SUBREG (v2i64 VR128:$src2), sub_sd))>;
802 def : Pat<(v2i64 (X86Movlpd VR128:$src1, VR128:$src2)),
803 (MOVSDrr VR128:$src1, (EXTRACT_SUBREG (v2i64 VR128:$src2),sub_sd))>;
940 (insert_subvector undef, (v2i64 VR128:$src), (i32 0)))),
1011 def : Pat<(alignedstore (v2i64 VR128:$src), addr:$dst),
1019 def : Pat<(store (v2i64 VR128:$src), addr:$dst),
1060 def : Pat<(alignedstore (v2i64 VR128:$src), addr:$dst),
1068 def : Pat<(store (v2i64 VR128:$src), addr:$dst),
1183 def : Pat<(v2i64 (X86Movlpd VR128:$src1, (load addr:$src2))),
1196 def : Pat<(store (v2i64 (X86Movlpd (load addr:$src1), VR128:$src2)),
1213 (bc_v4f32 (v2i64 (scalar_to_vector (loadi64 addr:$src2))))),
1230 def : Pat<(v2i64 (X86Movlpd VR128:$src1, (load addr:$src2))),
1237 def : Pat<(store (v2i64 (X86Movlpd (load addr:$src1), VR128:$src2)),
1285 (bc_v4f32 (v2i64 (scalar_to_vector (loadi64 addr:$src2))))),
1288 (bc_v4i32 (v2i64 (X86vzload addr:$src2)))),
1303 (bc_v4f32 (v2i64 (scalar_to_vector (loadi64 addr:$src2))))),
1306 (bc_v4f32 (v2i64 (X86vzload addr:$src2)))),
1359 def : Pat<(v2i64 (X86Movlhps VR128:$src1, VR128:$src2)),
1360 (VMOVLHPSrr (v2i64 VR128:$src1), VR128:$src2)>;
1371 def : Pat<(v2i64 (X86Movlhps VR128:$src1, VR128:$src2)),
1372 v2i64 VR128:$src1), VR128:$src2)>;
2365 def : Pat<(v2i64 (X86cmpp (v2f64 VR128:$src1), VR128:$src2, imm:$cc)),
2367 def : Pat<(v2i64 (X86cmpp (v2f64 VR128:$src1), (memop addr:$src2), imm:$cc)),
2388 def : Pat<(v2i64 (X86cmpp (v2f64 VR128:$src1), VR128:$src2, imm:$cc)),
2390 def : Pat<(v2i64 (X86cmpp (v2f64 VR128:$src1), (memop addr:$src2), imm:$cc)),
2444 def : Pat<(v2i64 (X86Shufp VR128:$src1,
2447 def : Pat<(v2i64 (X86Shufp VR128:$src1, VR128:$src2, (i8 imm:$imm))),
2474 def : Pat<(v2i64 (X86Shufp VR128:$src1,
2477 def : Pat<(v2i64 (X86Shufp VR128:$src1, VR128:$src2, (i8 imm:$imm))),
2671 defm VPAND : PDI_binop_rm<0xDB, "vpand", and, v2i64, VR128, memopv2i64,
2673 defm VPOR : PDI_binop_rm<0xEB, "vpor" , or, v2i64, VR128, memopv2i64,
2675 defm VPXOR : PDI_binop_rm<0xEF, "vpxor", xor, v2i64, VR128, memopv2i64,
2677 defm VPANDN : PDI_binop_rm<0xDF, "vpandn", X86andnp, v2i64, VR128, memopv2i64,
2682 defm PAND : PDI_binop_rm<0xDB, "pand", and, v2i64, VR128, memopv2i64,
2684 defm POR : PDI_binop_rm<0xEB, "por" , or, v2i64, VR128, memopv2i64,
2686 defm PXOR : PDI_binop_rm<0xEF, "pxor", xor, v2i64, VR128, memopv2i64,
2688 defm PANDN : PDI_binop_rm<0xDF, "pandn", X86andnp, v2i64, VR128, memopv2i64,
2749 // are all promoted to v2i64, and the patterns are covered by the int
2750 // version. This is needed in SSE only, because v2i64 isn't supported on
2767 [(set VR128:$dst, (v2i64 (OpNode VR128:$src1, VR128:$src2)))],
3311 [(alignednontemporalstore (v2i64 VR128:$src),
3315 def : Pat<(alignednontemporalstore (v2i64 VR128:$src), addr:$dst),
3359 [(alignednontemporalstore (v2i64 VR128:$src), addr:$dst)],
3362 def : Pat<(alignednontemporalstore (v2i64 VR128:$src), addr:$dst),
3551 [/*(alignedstore (v2i64 VR128:$src), addr:$dst)*/],
3555 [/*(store (v2i64 VR128:$src), addr:$dst)*/],
3674 defm VPADDQ : PDI_binop_rm<0xD4, "vpaddq", add, v2i64, VR128, memopv2i64,
3684 defm VPSUBQ : PDI_binop_rm<0xFB, "vpsubq", sub, v2i64, VR128, memopv2i64,
3686 defm VPMULUDQ : PDI_binop_rm2<0xF4, "vpmuludq", X86pmuludq, v2i64, v4i32, VR128,
3834 defm PADDQ : PDI_binop_rm<0xD4, "paddq", add, v2i64, VR128, memopv2i64,
3844 defm PSUBQ : PDI_binop_rm<0xFB, "psubq", sub, v2i64, VR128, memopv2i64,
3846 defm PMULUDQ : PDI_binop_rm2<0xF4, "pmuludq", X86pmuludq, v2i64, v4i32, VR128,
3919 VR128, v2i64, v2i64, bc_v2i64,
3929 VR128, v2i64, v2i64, bc_v2i64,
3965 VR256, v4i64, v2i64, bc_v2i64,
3975 VR256, v4i64, v2i64, bc_v2i64,
4011 VR128, v2i64, v2i64, bc_v2i64,
4021 VR128, v2i64, v2i64, bc_v2i64,
4056 def : Pat<(v2i64 (X86vshldq VR128:$src, (i8 imm:$amt))),
4058 def : Pat<(v2i64 (X86vshrdq VR128:$src, (i8 imm:$amt))),
4078 def : Pat<(v2i64 (X86vshldq VR128:$src, (i8 imm:$amt))),
4080 def : Pat<(v2i64 (X86vshrdq VR128:$src, (i8 imm:$amt))),
4312 defm VPUNPCKLQDQ : sse2_unpack<0x6C, "vpunpcklqdq", v2i64, X86Unpckl,
4321 defm VPUNPCKHQDQ : sse2_unpack<0x6D, "vpunpckhqdq", v2i64, X86Unpckh,
4352 defm PUNPCKLQDQ : sse2_unpack<0x6C, "punpcklqdq", v2i64, X86Unpckl,
4361 defm PUNPCKHQDQ : sse2_unpack<0x6D, "punpckhqdq", v2i64, X86Unpckh,
4521 (v2i64 (scalar_to_vector GR64:$src)))],
4540 (v2i64 (scalar_to_vector GR64:$src)))],
4598 [(set GR64:$dst, (vector_extract (v2i64 VR128:$src),
4605 [(set GR64:$dst, (vector_extract (v2i64 VR128:$src),
4670 [(set VR128:$dst, (v2i64 (X86vzmovl
4671 (v2i64 (scalar_to_vector GR64:$src)))))],
4683 [(set VR128:$dst, (v2i64 (X86vzmovl
4684 (v2i64 (scalar_to_vector GR64:$src)))))],
4716 (v2i64 (scalar_to_vector GR64:$src)),(i32 0)))),
4753 (v2i64 (scalar_to_vector (loadi64 addr:$src))))]>, XS,
4758 (v2i64 (scalar_to_vector (loadi64 addr:$src))))],
4767 [(store (i64 (vector_extract (v2i64 VR128:$src),
4772 [(store (i64 (vector_extract (v2i64 VR128:$src),
4791 (v2i64 (X86vzmovl (v2i64 (scalar_to_vector
4800 (v2i64 (X86vzmovl (v2i64 (scalar_to_vector
4806 def : Pat<(v2i64 (X86vzmovl (loadv2i64 addr:$src))),
4808 def : Pat<(v2i64 (X86vzmovl (bc_v2i64 (loadv4f32 addr:$src)))),
4810 def : Pat<(v2i64 (X86vzload addr:$src)),
4815 def : Pat<(v2i64 (X86vzmovl (loadv2i64 addr:$src))),
4817 def : Pat<(v2i64 (X86vzmovl (bc_v2i64 (loadv4f32 addr:$src)))),
4819 def : Pat<(v2i64 (X86vzload addr:$src)), (MOVZQI2PQIrm addr:$src)>;
4836 [(set VR128:$dst, (v2i64 (X86vzmovl (v2i64 VR128:$src))))],
4842 [(set VR128:$dst, (v2i64 (X86vzmovl (v2i64 VR128:$src))))],
4849 [(set VR128:$dst, (v2i64 (X86vzmovl
4856 [(set VR128:$dst, (v2i64 (X86vzmovl
4864 def : Pat<(v2i64 (X86vzmovl (loadv2i64 addr:$src))),
4870 def : Pat<(v2i64 (X86vzmovl (loadv2i64 addr:$src))),
5078 (v2i64 (scalar_to_vector (loadi64 addr:$src))))),
5100 (v2i64 (scalar_to_vector (loadi64 addr:$src))))),
5615 (IntId (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))]>,
5734 def : Pat<(v2i64 (X86vsmovl (v4i32 VR128:$src))), (VPMOVSXDQrr VR128:$src)>;
5739 def : Pat<(v2i64 (X86vsmovl (v4i32 VR128:$src))), (PMOVSXDQrr VR128:$src)>;
5765 (IntId (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))]>,
5970 (extractelt (v2i64 VR128:$src1), imm:$src2))]>, OpSize, REX_W;
5975 [(store (extractelt (v2i64 VR128:$src1), imm:$src2),
6088 (v2i64 (insertelt VR128:$src1, GR64:$src2, imm:$src3)))]>,
6097 (v2i64 (insertelt VR128:$src1, (loadi64 addr:$src2),
6334 [(set EFLAGS, (X86ptest VR128:$src1, (v2i64 VR128:$src2)))]>,
6354 [(set EFLAGS, (X86ptest VR128:$src1, (v2i64 VR128:$src2)))]>,
6563 defm VPCMPEQQ : SS48I_binop_rm<0x29, "vpcmpeqq", X86pcmpeq, v2i64, VR128,
6576 defm PCMPEQQ : SS48I_binop_rm<0x29, "pcmpeqq", X86pcmpeq, v2i64, VR128,
6720 def : Pat<(v2i64 (vselect (v2i64 VR128:$mask), (v2i64 VR128:$src1),
6721 (v2i64 VR128:$src2))),
6723 def : Pat<(v2f64 (vselect (v2i64 VR128:$mask), (v2f64 VR128:$src1),
6806 def : Pat<(v2i64 (vselect (v2i64 XMM0), (v2i64 VR128:$src1),
6807 (v2i64 VR128:$src2))),
6809 def : Pat<(v2f64 (vselect (v2i64 XMM0), (v2f64 VR128:$src1),
6865 defm VPCMPGTQ : SS42I_binop_rm<0x37, "vpcmpgtq", X86pcmpgt, v2i64, VR128,
6873 defm PCMPGTQ : SS42I_binop_rm<0x37, "pcmpgtq", X86pcmpgt, v2i64, VR128,
7337 def : Pat<(vinsertf128_insert:$ins (v4i64 VR256:$src1), (v2i64 VR128:$src2),
7418 (v2i64 (VEXTRACTF128rr
7526 def : Pat<(v2i64 (X86VPermilp VR128:$src1, (i8 imm:$imm))),
7528 def : Pat<(v2i64 (X86VPermilp (memopv2i64 addr:$src1), (i8 imm:$imm))),
7710 def : Pat<(v2i64 (X86VBroadcast (loadi64 addr:$src))),
7832 def : Pat<(vinsertf128_insert:$ins (v4i64 VR256:$src1), (v2i64 VR128:$src2),
7866 (v2i64 (VEXTRACTI128rr
7953 defm VPSLLVQ : avx2_var_shift<0x47, "vpsllvq", shl, v2i64, v4i64>, VEX_W;
7955 defm VPSRLVQ : avx2_var_shift<0x45, "vpsrlvq", srl, v2i64, v4i64>, VEX_W;