Lines Matching full:v2i64
345 def : Pat<(v2i64 (extract_subvector (v4i64 VR256:$src), (iPTR 0))),
346 (v2i64 (EXTRACT_SUBREG (v4i64 VR256:$src), sub_xmm))>;
358 def : Pat<(insert_subvector undef, (v2i64 VR128:$src), (iPTR 0)),
385 def : Pat<(v2i64 (bitconvert (v4i32 VR128:$src))), (v2i64 VR128:$src)>;
386 def : Pat<(v2i64 (bitconvert (v8i16 VR128:$src))), (v2i64 VR128:$src)>;
387 def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (v2i64 VR128:$src)>;
388 def : Pat<(v2i64 (bitconvert (v2f64 VR128:$src))), (v2i64 VR128:$src)>;
389 def : Pat<(v2i64 (bitconvert (v4f32 VR128:$src))), (v2i64 VR128:$src)>;
390 def : Pat<(v4i32 (bitconvert (v2i64 VR128:$src))), (v4i32 VR128:$src)>;
395 def : Pat<(v8i16 (bitconvert (v2i64 VR128:$src))), (v8i16 VR128:$src)>;
400 def : Pat<(v16i8 (bitconvert (v2i64 VR128:$src))), (v16i8 VR128:$src)>;
405 def : Pat<(v4f32 (bitconvert (v2i64 VR128:$src))), (v4f32 VR128:$src)>;
410 def : Pat<(v2f64 (bitconvert (v2i64 VR128:$src))), (v2f64 VR128:$src)>;
645 def : Pat<(v2i64 (X86Movsd VR128:$src1, VR128:$src2)),
672 def : Pat<(v2i64 (X86Movlpd VR128:$src1, VR128:$src2)),
737 def : Pat<(v2i64 (X86Movsd VR128:$src1, VR128:$src2)),
752 def : Pat<(v2i64 (X86Movlpd VR128:$src1, VR128:$src2)),
967 def : Pat<(alignedstore (v2i64 VR128:$src), addr:$dst),
971 def : Pat<(store (v2i64 VR128:$src), addr:$dst),
998 def : Pat<(alignedstore (v2i64 (extract_subvector
1000 (VMOVAPDmr addr:$dst, (v2i64 (EXTRACT_SUBREG VR256:$src,sub_xmm)))>;
1017 def : Pat<(store (v2i64 (extract_subvector
1019 (VMOVUPDmr addr:$dst, (v2i64 (EXTRACT_SUBREG VR256:$src,sub_xmm)))>;
1062 def : Pat<(alignedstore (v2i64 VR128:$src), addr:$dst),
1070 def : Pat<(store (v2i64 VR128:$src), addr:$dst),
1182 def : Pat<(v2i64 (X86Movlpd VR128:$src1, (load addr:$src2))),
1198 def : Pat<(store (v2i64 (X86Movlpd (load addr:$src1), VR128:$src2)),
1215 (bc_v4f32 (v2i64 (scalar_to_vector (loadi64 addr:$src2))))),
1232 def : Pat<(v2i64 (X86Movlpd VR128:$src1, (load addr:$src2))),
1242 def : Pat<(store (v2i64 (X86Movlpd (load addr:$src1), VR128:$src2)),
1288 (bc_v4f32 (v2i64 (scalar_to_vector (loadi64 addr:$src2))))),
1291 (bc_v4i32 (v2i64 (X86vzload addr:$src2)))),
1306 (bc_v2f64 (v2i64 (scalar_to_vector (loadi64 addr:$src2)))))),
1318 (bc_v4f32 (v2i64 (scalar_to_vector (loadi64 addr:$src2))))),
1321 (bc_v4f32 (v2i64 (X86vzload addr:$src2)))),
1338 (bc_v2f64 (v2i64 (scalar_to_vector (loadi64 addr:$src2)))))),
1386 def : Pat<(v2i64 (X86Movlhps VR128:$src1, VR128:$src2)),
1387 (VMOVLHPSrr (v2i64 VR128:$src1), VR128:$src2)>;
1398 def : Pat<(v2i64 (X86Movlhps VR128:$src1, VR128:$src2)),
1399 (MOVLHPSrr (v2i64 VR128:$src1), VR128:$src2)>;
2183 def : Pat<(v2f64 (X86cvtdq2pd (bc_v4i32 (v2i64 (scalar_to_vector (loadi64 addr:$src)))))),
2198 def : Pat<(v2f64 (X86cvtdq2pd (bc_v4i32 (v2i64 (scalar_to_vector (loadi64 addr:$src)))))),
2584 def : Pat<(v2i64 (X86Shufp VR128:$src1,
2587 def : Pat<(v2i64 (X86Shufp VR128:$src1, VR128:$src2, (i8 imm:$imm))),
2614 def : Pat<(v2i64 (X86Shufp VR128:$src1,
2617 def : Pat<(v2i64 (X86Shufp VR128:$src1, VR128:$src2, (i8 imm:$imm))),
2785 defm PAND : PDI_binop_all<0xDB, "pand", and, v2i64, v4i64,
2787 defm POR : PDI_binop_all<0xEB, "por", or, v2i64, v4i64,
2789 defm PXOR : PDI_binop_all<0xEF, "pxor", xor, v2i64, v4i64,
2791 defm PANDN : PDI_binop_all<0xDF, "pandn", X86andnp, v2i64, v4i64,
2896 // are all promoted to v2i64, and the patterns are covered by the int
2897 // version. This is needed in SSE only, because v2i64 isn't supported on
2916 [(set VR128:$dst, (v2i64 (OpNode VR128:$src1, VR128:$src2)))],
3562 [(alignednontemporalstore (v2i64 VR128:$src),
3599 [(alignednontemporalstore (v2i64 VR128:$src), addr:$dst)],
3829 [/*(alignedstore (v2i64 VR128:$src), addr:$dst)*/],
3833 [/*(store (v2i64 VR128:$src), addr:$dst)*/],
3965 defm PADDQ : PDI_binop_all<0xD4, "paddq", add, v2i64, v4i64,
3987 defm PSUBQ : PDI_binop_all<0xFB, "psubq", sub, v2i64, v4i64,
4015 defm VPSADBW : PDI_binop_rm2<0xF6, "vpsadbw", X86psadbw, v2i64, v16i8, VR128,
4023 defm PSADBW : PDI_binop_rm2<0xF6, "psadbw", X86psadbw, v2i64, v16i8, VR128,
4027 defm VPMULUDQ : PDI_binop_rm2<0xF4, "vpmuludq", X86pmuludq, v2i64, v4i32, VR128,
4035 defm PMULUDQ : PDI_binop_rm2<0xF4, "pmuludq", X86pmuludq, v2i64, v4i32, VR128,
4047 VR128, v2i64, v2i64, loadv2i64,
4054 VR128, v2i64, v2i64, loadv2i64,
4098 VR256, v4i64, v2i64, loadv2i64,
4105 VR256, v4i64, v2i64, loadv2i64,
4151 VR128, v2i64, v2i64, memopv2i64,
4161 VR128, v2i64, v2i64, memopv2i64,
4472 defm VPUNPCKLQDQ : sse2_unpack<0x6C, "vpunpcklqdq", v2i64, X86Unpckl,
4476 defm VPUNPCKHQDQ : sse2_unpack<0x6D, "vpunpckhqdq", v2i64, X86Unpckh,
4508 defm PUNPCKLQDQ : sse2_unpack<0x6C, "punpcklqdq", v2i64, X86Unpckl,
4517 defm PUNPCKHQDQ : sse2_unpack<0x6D, "punpckhqdq", v2i64, X86Unpckh,
4653 (v2i64 (scalar_to_vector GR64:$src)))],
4678 (v2i64 (scalar_to_vector GR64:$src)))],
4758 [(set GR64:$dst, (extractelt (v2i64 VR128:$src),
4765 [(set GR64:$dst, (extractelt (v2i64 VR128:$src),
4839 def : Pat<(v2i64 (X86vzmovl (v2i64 (scalar_to_vector GR64:$src)))),
4843 (v2i64 (scalar_to_vector GR64:$src)),(iPTR 0)))),
4870 def : Pat<(v2i64 (X86vzmovl (v2i64 (scalar_to_vector GR64:$src)))),
4908 (v2i64 (scalar_to_vector (loadi64 addr:$src))))]>, XS,
4913 (v2i64 (scalar_to_vector (loadi64 addr:$src))))],
4924 [(store (i64 (extractelt (v2i64 VR128:$src),
4929 [(store (i64 (extractelt (v2i64 VR128:$src),
4955 (v2i64 (X86vzmovl (v2i64 (scalar_to_vector
4963 (v2i64 (X86vzmovl (v2i64 (scalar_to_vector
4970 def : Pat<(v2i64 (X86vzmovl (bc_v2i64 (loadv4f32 addr:$src)))),
4972 def : Pat<(v2i64 (X86vzload addr:$src)),
4975 (v2i64 (scalar_to_vector (loadi64 addr:$src))), (iPTR 0)))),
4982 def : Pat<(v2i64 (X86vzmovl (bc_v2i64 (loadv4f32 addr:$src)))),
4984 def : Pat<(v2i64 (X86vzload addr:$src)), (MOVZQI2PQIrm addr:$src)>;
4995 [(set VR128:$dst, (v2i64 (X86vzmovl (v2i64 VR128:$src))))],
5001 [(set VR128:$dst, (v2i64 (X86vzmovl (v2i64 VR128:$src))))],
5010 [(set VR128:$dst, (v2i64 (X86vzmovl
5017 [(set VR128:$dst, (v2i64 (X86vzmovl
5151 (v2i64 (scalar_to_vector (loadi64 addr:$src))))),
5158 def : Pat<(v2i64 (X86VBroadcast (loadi64 addr:$src))),
5170 (v2i64 (scalar_to_vector (loadi64 addr:$src))))),
5887 def : Pat<(v8i32 (ExtOp (bc_v16i8 (v2i64 (scalar_to_vector (loadi64 addr:$src)))))),
5914 def : Pat<(v4i64 (ExtOp (bc_v8i16 (v2i64 (scalar_to_vector (loadi64 addr:$src)))))),
5947 def : Pat<(v2i64 (ExtOp (v16i8 VR128:$src))),
5952 def : Pat<(v2i64 (ExtOp (v8i16 VR128:$src))),
5955 def : Pat<(v2i64 (ExtOp (v4i32 VR128:$src))),
5965 def : Pat<(v2i64 (!cast<PatFrag>(ExtTy#"extloadvi8") addr:$src)),
5970 def : Pat<(v2i64 (!cast<PatFrag>(ExtTy#"extloadvi16") addr:$src)),
5973 def : Pat<(v2i64 (!cast<PatFrag>(ExtTy#"extloadvi32") addr:$src)),
5977 def : Pat<(v8i16 (ExtOp (bc_v16i8 (v2i64 (scalar_to_vector (loadi64 addr:$src)))))),
5998 def : Pat<(v2i64 (ExtOp (bc_v16i8 (v4i32 (scalar_to_vector (ExtLoad16 addr:$src)))))),
6000 def : Pat<(v2i64 (ExtOp (v16i8 (vzmovl_v4i32 addr:$src)))),
6002 def : Pat<(v2i64 (ExtOp (v16i8 (vzload_v2i64 addr:$src)))),
6004 def : Pat<(v2i64 (ExtOp (bc_v16i8 (loadv2i64 addr:$src)))),
6007 def : Pat<(v4i32 (ExtOp (bc_v8i16 (v2i64 (scalar_to_vector (loadi64 addr:$src)))))),
6018 def : Pat<(v2i64 (ExtOp (bc_v8i16 (v4i32 (scalar_to_vector (loadi32 addr:$src)))))),
6020 def : Pat<(v2i64 (ExtOp (v8i16 (vzmovl_v4i32 addr:$src)))),
6022 def : Pat<(v2i64 (ExtOp (v8i16 (vzload_v2i64 addr:$src)))),
6024 def : Pat<(v2i64 (ExtOp (bc_v8i16 (loadv2i64 addr:$src)))),
6027 def : Pat<(v2i64 (ExtOp (bc_v4i32 (v2i64 (scalar_to_vector (loadi64 addr:$src)))))),
6029 def : Pat<(v2i64 (ExtOp (bc_v4i32 (v2f64 (scalar_to_vector (loadf64 addr:$src)))))),
6031 def : Pat<(v2i64 (ExtOp (v4i32 (vzmovl_v2i64 addr:$src)))),
6033 def : Pat<(v2i64 (ExtOp (v4i32 (vzload_v2i64 addr:$src)))),
6035 def : Pat<(v2i64 (ExtOp (bc_v4i32 (loadv2i64 addr:$src)))),
6132 (extractelt (v2i64 VR128:$src1), imm:$src2))]>,
6139 [(store (extractelt (v2i64 VR128:$src1), imm:$src2),
6250 (v2i64 (insertelt VR128:$src1, GR64:$src2, imm:$src3)))]>,
6259 (v2i64 (insertelt VR128:$src1, (loadi64 addr:$src2),
6597 [(set EFLAGS, (X86ptest VR128:$src1, (v2i64 VR128:$src2)))]>,
6617 [(set EFLAGS, (X86ptest VR128:$src1, (v2i64 VR128:$src2)))]>,
6780 defm VPMULDQ : SS48I_binop_rm2<0x28, "vpmuldq", X86pmuldq, v2i64, v4i32,
6848 defm PMULDQ : SS48I_binop_rm2<0x28, "pmuldq", X86pmuldq, v2i64, v4i32,
6857 defm VPCMPEQQ : SS48I_binop_rm<0x29, "vpcmpeqq", X86pcmpeq, v2i64, VR128,
6873 defm PCMPEQQ : SS48I_binop_rm<0x29, "pcmpeqq", X86pcmpeq, v2i64, VR128,
7074 def : Pat<(v2i64 (vselect (v2i64 VR128:$mask), (v2i64 VR128:$src1),
7075 (v2i64 VR128:$src2))),
7077 def : Pat<(v2f64 (vselect (v2i64 VR128:$mask), (v2f64 VR128:$src1),
7219 def : Pat<(v2i64 (vselect (v2i64 XMM0), (v2i64 VR128:$src1),
7220 (v2i64 VR128:$src2))),
7222 def : Pat<(v2f64 (vselect (v2i64 XMM0), (v2f64 VR128:$src1),
7258 def : Pat<(v2i64 (alignednontemporalload addr:$src)),
7267 def : Pat<(v2i64 (alignednontemporalload addr:$src)),
7297 defm VPCMPGTQ : SS42I_binop_rm<0x37, "vpcmpgtq", X86pcmpgt, v2i64, VR128,
7305 defm PCMPGTQ : SS42I_binop_rm<0x37, "pcmpgtq", X86pcmpgt, v2i64, VR128,
7874 def : Pat<(vinsert128_insert:$ins (v4i64 VR256:$src1), (v2i64 VR128:$src2),
7950 (v2i64 (VEXTRACTF128rr
7966 def : Pat<(store (v2i64 (vextract128_extract:$ext (v4i64 VR256:$src1),
8065 loadv2i64, v2f64, v2i64>;
8094 def : Pat<(v2f64 (X86VPermilpv VR128:$src1, (v2i64 VR128:$src2))),
8099 def : Pat<(v2i64 (X86VPermilpi VR128:$src1, (i8 imm:$imm))),
8101 def : Pat<(v2i64 (X86VPermilpi (loadv2i64 addr:$src1), (i8 imm:$imm))),
8210 (v2i64 (scalar_to_vector (loadi64 addr:$src))))),
8320 v2i64, v4i64, NoVLX>;
8389 def : Pat<(v2i64 (X86VBroadcast GR64:$src)),
8435 def : Pat<(v2i64 (X86VBroadcast i64:$src)),
8548 def : Pat<(vinsert128_insert:$ins (v4i64 VR256:$src1), (v2i64 VR128:$src2),
8601 (v2i64 (VEXTRACTI128rr
8617 def : Pat<(store (v2i64 (vextract128_extract:$ext (v4i64 VR256:$src1),
8690 defm : maskmov_lowering<"VMASKMOVPD", VR128, v2f64, v2i64, "VBLENDVPD", v4i32>;
8699 defm : maskmov_lowering<"VMASKMOVPD", VR128, v2i64, v2i64, "VBLENDVPD", v4i32>;
8705 defm : maskmov_lowering<"VPMASKMOVQ", VR128, v2i64, v2i64, "VBLENDVPD", v4i32>;
8742 defm VPSLLVQ : avx2_var_shift<0x47, "vpsllvq", shl, v2i64, v4i64>, VEX_W;
8744 defm VPSRLVQ : avx2_var_shift<0x45, "vpsrlvq", srl, v2i64, v4i64>, VEX_W;