• Home
  • Raw
  • Download

Lines Matching refs:v2i64

336 def : Pat<(v2i64 (extract_subvector (v4i64 VR256:$src), (iPTR 0))),
337 (v2i64 (EXTRACT_SUBREG (v4i64 VR256:$src), sub_xmm))>;
349 def : Pat<(insert_subvector undef, (v2i64 VR128:$src), (iPTR 0)),
377 def : Pat<(v2i64 (bitconvert (v4i32 VR128:$src))), (v2i64 VR128:$src)>;
378 def : Pat<(v2i64 (bitconvert (v8i16 VR128:$src))), (v2i64 VR128:$src)>;
379 def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (v2i64 VR128:$src)>;
380 def : Pat<(v2i64 (bitconvert (v2f64 VR128:$src))), (v2i64 VR128:$src)>;
381 def : Pat<(v2i64 (bitconvert (v4f32 VR128:$src))), (v2i64 VR128:$src)>;
382 def : Pat<(v4i32 (bitconvert (v2i64 VR128:$src))), (v4i32 VR128:$src)>;
387 def : Pat<(v8i16 (bitconvert (v2i64 VR128:$src))), (v8i16 VR128:$src)>;
392 def : Pat<(v16i8 (bitconvert (v2i64 VR128:$src))), (v16i8 VR128:$src)>;
397 def : Pat<(v4f32 (bitconvert (v2i64 VR128:$src))), (v4f32 VR128:$src)>;
402 def : Pat<(v2f64 (bitconvert (v2i64 VR128:$src))), (v2f64 VR128:$src)>;
471 def : Pat<(v2i64 immAllZerosV), (V_SET0)>;
673 (v2i64 (scalar_to_vector (loadi64 addr:$src))), (iPTR 0)))),
684 (VMOVSDrr (v2i64 (V_SET0)),
716 def : Pat<(v2i64 (X86Movsd VR128:$src1, VR128:$src2)),
744 def : Pat<(v2i64 (X86Movlpd VR128:$src1, VR128:$src2)),
814 def : Pat<(v2i64 (X86Movsd VR128:$src1, VR128:$src2)),
829 def : Pat<(v2i64 (X86Movlpd VR128:$src1, VR128:$src2)),
972 (insert_subvector undef, (v2i64 VR128:$src), (iPTR 0)))),
1046 def : Pat<(alignedstore (v2i64 VR128:$src), addr:$dst),
1054 def : Pat<(store (v2i64 VR128:$src), addr:$dst),
1093 def : Pat<(alignedstore (v2i64 (extract_subvector
1095 (VMOVAPDmr addr:$dst, (v2i64 (EXTRACT_SUBREG VR256:$src,sub_xmm)))>;
1112 def : Pat<(store (v2i64 (extract_subvector
1114 (VMOVUPDmr addr:$dst, (v2i64 (EXTRACT_SUBREG VR256:$src,sub_xmm)))>;
1135 def : Pat<(alignedstore (v2i64 VR128:$src), addr:$dst),
1143 def : Pat<(store (v2i64 VR128:$src), addr:$dst),
1252 def : Pat<(v2i64 (X86Movlpd VR128:$src1, (load addr:$src2))),
1265 def : Pat<(store (v2i64 (X86Movlpd (load addr:$src1), VR128:$src2)),
1282 (bc_v4f32 (v2i64 (scalar_to_vector (loadi64 addr:$src2))))),
1299 def : Pat<(v2i64 (X86Movlpd VR128:$src1, (load addr:$src2))),
1306 def : Pat<(store (v2i64 (X86Movlpd (load addr:$src1), VR128:$src2)),
1350 (bc_v4f32 (v2i64 (scalar_to_vector (loadi64 addr:$src2))))),
1353 (bc_v4i32 (v2i64 (X86vzload addr:$src2)))),
1368 (bc_v4f32 (v2i64 (scalar_to_vector (loadi64 addr:$src2))))),
1371 (bc_v4f32 (v2i64 (X86vzload addr:$src2)))),
1424 def : Pat<(v2i64 (X86Movlhps VR128:$src1, VR128:$src2)),
1425 (VMOVLHPSrr (v2i64 VR128:$src1), VR128:$src2)>;
1436 def : Pat<(v2i64 (X86Movlhps VR128:$src1, VR128:$src2)),
1437 (MOVLHPSrr (v2i64 VR128:$src1), VR128:$src2)>;
2544 def : Pat<(v2i64 (X86cmpp (v2f64 VR128:$src1), VR128:$src2, imm:$cc)),
2546 def : Pat<(v2i64 (X86cmpp (v2f64 VR128:$src1), (memop addr:$src2), imm:$cc)),
2567 def : Pat<(v2i64 (X86cmpp (v2f64 VR128:$src1), VR128:$src2, imm:$cc)),
2569 def : Pat<(v2i64 (X86cmpp (v2f64 VR128:$src1), (memop addr:$src2), imm:$cc)),
2623 def : Pat<(v2i64 (X86Shufp VR128:$src1,
2626 def : Pat<(v2i64 (X86Shufp VR128:$src1, VR128:$src2, (i8 imm:$imm))),
2653 def : Pat<(v2i64 (X86Shufp VR128:$src1,
2656 def : Pat<(v2i64 (X86Shufp VR128:$src1, VR128:$src2, (i8 imm:$imm))),
2869 defm PAND : PDI_binop_all<0xDB, "pand", and, v2i64, v4i64,
2871 defm POR : PDI_binop_all<0xEB, "por", or, v2i64, v4i64,
2873 defm PXOR : PDI_binop_all<0xEF, "pxor", xor, v2i64, v4i64,
2875 defm PANDN : PDI_binop_all<0xDF, "pandn", X86andnp, v2i64, v4i64,
2938 // are all promoted to v2i64, and the patterns are covered by the int
2939 // version. This is needed in SSE only, because v2i64 isn't supported on
2957 [(set VR128:$dst, (v2i64 (OpNode VR128:$src1, VR128:$src2)))],
3706 [(alignednontemporalstore (v2i64 VR128:$src),
3742 [(alignednontemporalstore (v2i64 VR128:$src), addr:$dst)],
3945 [/*(alignedstore (v2i64 VR128:$src), addr:$dst)*/],
3949 [/*(store (v2i64 VR128:$src), addr:$dst)*/],
4080 defm PADDQ : PDI_binop_all<0xD4, "paddq", add, v2i64, v4i64,
4094 defm PSUBQ : PDI_binop_all<0xFB, "psubq", sub, v2i64, v4i64,
4132 defm VPMULUDQ : PDI_binop_rm2<0xF4, "vpmuludq", X86pmuludq, v2i64, v4i32, VR128,
4140 defm PMULUDQ : PDI_binop_rm2<0xF4, "pmuludq", X86pmuludq, v2i64, v4i32, VR128,
4155 VR128, v2i64, v2i64, bc_v2i64,
4165 VR128, v2i64, v2i64, bc_v2i64,
4201 VR256, v4i64, v2i64, bc_v2i64,
4211 VR256, v4i64, v2i64, bc_v2i64,
4247 VR128, v2i64, v2i64, bc_v2i64,
4257 VR128, v2i64, v2i64, bc_v2i64,
4294 def : Pat<(v2i64 (X86vshldq VR128:$src, (i8 imm:$amt))),
4296 def : Pat<(v2i64 (X86vshrdq VR128:$src, (i8 imm:$amt))),
4316 def : Pat<(v2i64 (X86vshldq VR128:$src, (i8 imm:$amt))),
4318 def : Pat<(v2i64 (X86vshrdq VR128:$src, (i8 imm:$amt))),
4598 defm VPUNPCKLQDQ : sse2_unpack<0x6C, "vpunpcklqdq", v2i64, X86Unpckl,
4607 defm VPUNPCKHQDQ : sse2_unpack<0x6D, "vpunpckhqdq", v2i64, X86Unpckh,
4638 defm PUNPCKLQDQ : sse2_unpack<0x6C, "punpcklqdq", v2i64, X86Unpckl,
4647 defm PUNPCKHQDQ : sse2_unpack<0x6D, "punpckhqdq", v2i64, X86Unpckh,
4783 (v2i64 (scalar_to_vector GR64:$src)))],
4804 (v2i64 (scalar_to_vector GR64:$src)))],
4880 [(set GR64:$dst, (vector_extract (v2i64 VR128:$src),
4887 [(set GR64:$dst, (vector_extract (v2i64 VR128:$src),
4953 [(set VR128:$dst, (v2i64 (X86vzmovl
4954 (v2i64 (scalar_to_vector GR64:$src)))))],
4959 [(set VR128:$dst, (v2i64 (X86vzmovl
4960 (v2i64 (scalar_to_vector GR64:$src)))))],
4984 (v2i64 (scalar_to_vector GR64:$src)),(iPTR 0)))),
5028 (v2i64 (scalar_to_vector (loadi64 addr:$src))))]>, XS,
5033 (v2i64 (scalar_to_vector (loadi64 addr:$src))))],
5044 [(store (i64 (vector_extract (v2i64 VR128:$src),
5049 [(store (i64 (vector_extract (v2i64 VR128:$src),
5077 (v2i64 (X86vzmovl (v2i64 (scalar_to_vector
5085 (v2i64 (X86vzmovl (v2i64 (scalar_to_vector
5092 def : Pat<(v2i64 (X86vzmovl (bc_v2i64 (loadv4f32 addr:$src)))),
5094 def : Pat<(v2i64 (X86vzload addr:$src)),
5099 def : Pat<(v2i64 (X86vzmovl (bc_v2i64 (loadv4f32 addr:$src)))),
5101 def : Pat<(v2i64 (X86vzload addr:$src)), (MOVZQI2PQIrm addr:$src)>;
5119 [(set VR128:$dst, (v2i64 (X86vzmovl (v2i64 VR128:$src))))],
5125 [(set VR128:$dst, (v2i64 (X86vzmovl (v2i64 VR128:$src))))],
5134 [(set VR128:$dst, (v2i64 (X86vzmovl
5141 [(set VR128:$dst, (v2i64 (X86vzmovl
5266 (v2i64 (scalar_to_vector (loadi64 addr:$src))))),
5288 (v2i64 (scalar_to_vector (loadi64 addr:$src))))),
5930 (IntId (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))],
6114 (IntId (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))]>,
6249 def : Pat<(v8i32 (X86vsext (v8i16 (bitconvert (v2i64 (load addr:$src)))))),
6251 def : Pat<(v4i64 (X86vsext (v4i32 (bitconvert (v2i64 (load addr:$src)))))),
6254 def : Pat<(v8i32 (X86vsext (v16i8 (bitconvert (v2i64
6261 def : Pat<(v4i64 (X86vsext (v8i16 (bitconvert (v2i64
6289 def : Pat<(v2i64 (X86vsext (v16i8 VR128:$src))), (PMOVSXBQrr VR128:$src)>;
6292 def : Pat<(v2i64 (X86vsext (v8i16 VR128:$src))), (PMOVSXWQrr VR128:$src)>;
6294 def : Pat<(v2i64 (X86vsext (v4i32 VR128:$src))), (PMOVSXDQrr VR128:$src)>;
6307 def : Pat<(v4i32 (X86vsext (v8i16 (bitconvert (v2i64
6316 def : Pat<(v2i64 (X86vsext (v8i16 (bitconvert (v4i32
6319 def : Pat<(v2i64 (X86vsext (v16i8 (bitconvert (v4i32
6322 def : Pat<(v2i64 (X86vsext (v4i32 (bitconvert (v2i64
6325 def : Pat<(v2i64 (X86vsext (v4i32 (bitconvert (v2f64
6328 def : Pat<(v8i16 (X86vsext (v16i8 (bitconvert (v2i64
6365 def : Pat<(v2i64 (X86vzext (v16i8 VR128:$src))), (VPMOVZXBQrr VR128:$src)>;
6368 def : Pat<(v2i64 (X86vzext (v8i16 VR128:$src))), (VPMOVZXWQrr VR128:$src)>;
6370 def : Pat<(v2i64 (X86vzext (v4i32 VR128:$src))), (VPMOVZXDQrr VR128:$src)>;
6372 def : Pat<(v8i16 (X86vzext (v16i8 (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))),
6378 …def : Pat<(v2i64 (X86vzext (v16i8 (bitconvert (v4i32 (scalar_to_vector (loadi16_anyext addr:$src))…
6381 def : Pat<(v4i32 (X86vzext (v8i16 (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))),
6385 def : Pat<(v2i64 (X86vzext (v8i16 (bitconvert (v4i32 (scalar_to_vector (loadi32 addr:$src))))))),
6388 def : Pat<(v2i64 (X86vzext (v4i32 (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))),
6390 def : Pat<(v2i64 (X86vzext (v4i32 (bitconvert (v2f64 (scalar_to_vector (loadf64 addr:$src))))))),
6392 def : Pat<(v2i64 (X86vzext (v4i32 (bitconvert (v2i64 (X86vzload addr:$src)))))),
6397 def : Pat<(v2i64 (X86vsext (v16i8 VR128:$src))), (VPMOVSXBQrr VR128:$src)>;
6400 def : Pat<(v2i64 (X86vsext (v8i16 VR128:$src))), (VPMOVSXWQrr VR128:$src)>;
6402 def : Pat<(v2i64 (X86vsext (v4i32 VR128:$src))), (VPMOVSXDQrr VR128:$src)>;
6404 def : Pat<(v4i32 (X86vsext (v8i16 (bitconvert (v2i64
6407 def : Pat<(v2i64 (X86vsext (v4i32 (bitconvert (v2i64
6413 def : Pat<(v2i64 (X86vsext (v4i32 (bitconvert (v2f64
6416 def : Pat<(v8i16 (X86vsext (v16i8 (bitconvert (v2i64
6426 def : Pat<(v2i64 (X86vsext (v8i16 (bitconvert (v4i32
6429 def : Pat<(v2i64 (X86vsext (v16i8 (bitconvert (v4i32
6437 def : Pat<(v2i64 (X86vzext (v16i8 VR128:$src))), (PMOVZXBQrr VR128:$src)>;
6440 def : Pat<(v2i64 (X86vzext (v8i16 VR128:$src))), (PMOVZXWQrr VR128:$src)>;
6442 def : Pat<(v2i64 (X86vzext (v4i32 VR128:$src))), (PMOVZXDQrr VR128:$src)>;
6444 def : Pat<(v8i16 (X86vzext (v16i8 (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))),
6450 …def : Pat<(v2i64 (X86vzext (v16i8 (bitconvert (v4i32 (scalar_to_vector (loadi16_anyext addr:$src))…
6453 def : Pat<(v4i32 (X86vzext (v8i16 (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))),
6457 def : Pat<(v2i64 (X86vzext (v8i16 (bitconvert (v4i32 (scalar_to_vector (loadi32 addr:$src))))))),
6460 def : Pat<(v2i64 (X86vzext (v4i32 (bitconvert (v2i64 (scalar_to_vector (loadi64 addr:$src))))))),
6462 def : Pat<(v2i64 (X86vzext (v4i32 (bitconvert (v2f64 (scalar_to_vector (loadf64 addr:$src))))))),
6464 def : Pat<(v2i64 (X86vzext (v4i32 (bitconvert (v2i64 (X86vzload addr:$src)))))),
6552 (extractelt (v2i64 VR128:$src1), imm:$src2))]>,
6559 [(store (extractelt (v2i64 VR128:$src1), imm:$src2),
6670 (v2i64 (insertelt VR128:$src1, GR64:$src2, imm:$src3)))]>,
6679 (v2i64 (insertelt VR128:$src1, (loadi64 addr:$src2),
7013 [(set EFLAGS, (X86ptest VR128:$src1, (v2i64 VR128:$src2)))]>,
7033 [(set EFLAGS, (X86ptest VR128:$src1, (v2i64 VR128:$src2)))]>,
7250 defm VPMULDQ : SS48I_binop_rm2<0x28, "vpmuldq", X86pmuldq, v2i64, v4i32,
7304 defm PMULDQ : SS48I_binop_rm2<0x28, "pmuldq", X86pmuldq, v2i64, v4i32,
7313 defm VPCMPEQQ : SS48I_binop_rm<0x29, "vpcmpeqq", X86pcmpeq, v2i64, VR128,
7329 defm PCMPEQQ : SS48I_binop_rm<0x29, "pcmpeqq", X86pcmpeq, v2i64, VR128,
7502 def : Pat<(v2i64 (vselect (v2i64 VR128:$mask), (v2i64 VR128:$src1),
7503 (v2i64 VR128:$src2))),
7505 def : Pat<(v2f64 (vselect (v2i64 VR128:$mask), (v2f64 VR128:$src1),
7604 def : Pat<(v2i64 (vselect (v2i64 XMM0), (v2i64 VR128:$src1),
7605 (v2i64 VR128:$src2))),
7607 def : Pat<(v2f64 (vselect (v2i64 XMM0), (v2f64 VR128:$src1),
7663 defm VPCMPGTQ : SS42I_binop_rm<0x37, "vpcmpgtq", X86pcmpgt, v2i64, VR128,
7671 defm PCMPGTQ : SS42I_binop_rm<0x37, "pcmpgtq", X86pcmpgt, v2i64, VR128,
8225 def : Pat<(vinsert128_insert:$ins (v4i64 VR256:$src1), (v2i64 VR128:$src2),
8301 (v2i64 (VEXTRACTF128rr
8317 def : Pat<(alignedstore (v2i64 (vextract128_extract:$ext (v4i64 VR256:$src1),
8430 def : Pat<(v2i64 (X86VPermilp VR128:$src1, (i8 imm:$imm))),
8432 def : Pat<(v2i64 (X86VPermilp (loadv2i64 addr:$src1), (i8 imm:$imm))),
8648 def : Pat<(v2i64 (X86VBroadcast (loadi64 addr:$src))),
8665 def : Pat<(v2i64 (X86VBroadcast (v2i64 VR128:$src))),
8667 def : Pat<(v4i64 (X86VBroadcast (v2i64 VR128:$src))),
8716 def : Pat<(v2i64 (X86VBroadcast GR64:$src)),
8863 def : Pat<(vinsert128_insert:$ins (v4i64 VR256:$src1), (v2i64 VR128:$src2),
8918 (v2i64 (VEXTRACTI128rr
8934 def : Pat<(store (v2i64 (vextract128_extract:$ext (v4i64 VR256:$src1),
9023 defm VPSLLVQ : avx2_var_shift<0x47, "vpsllvq", shl, v2i64, v4i64>, VEX_W;
9025 defm VPSRLVQ : avx2_var_shift<0x45, "vpsrlvq", srl, v2i64, v4i64>, VEX_W;