Lines Matching full:v2i64
3328 v2i32, v2i64, OpNode>;
3345 v2i32, v2i64, IntOp>;
3357 def v2i64 : N2VL<op24_23, 0b10, 0b00, 0b00, op11_7, op6, op4, IIC_VQUNAiD,
3358 OpcodeStr, !strconcat(Dt, "32"), v2i64, v2i32, OpNode>;
3411 def v2i64 : N3VQ<op24, op23, 0b11, op11_8, op4, itinQ,
3413 v2i64, v2i64, OpNode, Commutable>;
3519 def v2i64 : N3VQInt<op24, op23, 0b11, op11_8, op4, f, itinQ32,
3521 v2i64, v2i64, IntOp, Commutable>;
3533 def v2i64 : N3VQIntSh<op24, op23, 0b11, op11_8, op4, f, itinQ32,
3535 v2i64, v2i64, IntOp>;
3551 v2i32, v2i64, IntOp, Commutable>;
3567 def v2i64 : N3VL<op24, op23, 0b10, op11_8, op4, itin32,
3569 v2i64, v2i32, OpNode, Commutable>;
3578 !strconcat(Dt, "32"), v2i64, v2i32, OpNode>;
3591 def v2i64 : N3VLExt<op24, op23, 0b10, op11_8, op4, itin32,
3593 v2i64, v2i32, OpNode, ExtOp, Commutable>;
3606 def v2i64 : N3VLInt<op24, op23, 0b10, op11_8, op4, itin32,
3608 v2i64, v2i32, IntOp, Commutable>;
3617 OpcodeStr, !strconcat(Dt, "32"), v2i64, v2i32, IntOp>;
3642 def v2i64 : N3VLIntExt<op24, op23, 0b10, op11_8, op4, itin,
3644 v2i64, v2i32, IntOp, ExtOp, Commutable>;
3659 def v2i64 : N3VW<op24, op23, 0b10, op11_8, op4,
3661 v2i64, v2i32, OpNode, ExtOp, Commutable>;
3771 def v2i64 : N3VLMulOp<op24, op23, 0b10, op11_8, op4, itin32, OpcodeStr,
3772 !strconcat(Dt, "32"), v2i64, v2i32, MulOp, OpNode>;
3780 !strconcat(Dt, "32"), v2i64, v2i32, MulOp, OpNode>;
3792 def v2i64 : N3VLInt3<op24, op23, 0b10, op11_8, op4, itin32,
3793 OpcodeStr, !strconcat(Dt, "32"), v2i64, v2i32, IntOp>;
3801 OpcodeStr, !strconcat(Dt, "32"), v2i64, v2i32, IntOp>;
3823 def v2i64 : N3VLIntExtOp<op24, op23, 0b10, op11_8, op4, itin,
3824 OpcodeStr, !strconcat(Dt, "32"), v2i64, v2i32,
3848 OpcodeStr, !strconcat(Dt, "32"), v2i64, v4i32, IntOp>;
3871 OpcodeStr, !strconcat(Dt, "32"), v2i64, v4i32, IntOp>;
3911 def v2i64 : N2VQSh<op24, op23, op11_8, 1, op4, N2RegVShLFrm, itin, i32imm,
3912 OpcodeStr, !strconcat(Dt, "64"), v2i64, OpNode>;
3948 def v2i64 : N2VQSh<op24, op23, op11_8, 1, op4, N2RegVShRFrm, itin, shr_imm64,
3949 OpcodeStr, !strconcat(Dt, "64"), v2i64, OpNode>;
3987 def v2i64 : N2VQShAdd<op24, op23, op11_8, 1, op4, shr_imm64,
3988 OpcodeStr, !strconcat(Dt, "64"), v2i64, ShOp>;
4027 def v2i64 : N2VQShIns<op24, op23, op11_8, 1, op4, i32imm,
4028 N2RegVShLFrm, OpcodeStr, "64", v2i64, NEONvsli>;
4063 def v2i64 : N2VQShIns<op24, op23, op11_8, 1, op4, shr_imm64,
4064 N2RegVShRFrm, OpcodeStr, "64", v2i64, NEONvsri>;
4081 def v2i64 : N2VLSh<op24, op23, op11_8, op7, op6, op4,
4082 OpcodeStr, !strconcat(Dt, "32"), v2i64, v2i32, imm1_31, OpNode> {
4104 v2i32, v2i64, shr_imm32, OpNode> {
4167 def : Pat<(v2i32 (trunc (NEONvshru (add (v2i64 QPR:$Vn), QPR:$Vm), 32))),
4283 "vmull", "p64", v2i64, v1i64, int_arm_neon_vmullp, 1>,
4512 def : Pat<(v2i64 (int_arm_neon_vqadds (v2i64 QPR:$src1),
4513 (v2i64 (int_arm_neon_vqdmull (v2i32 DPR:$Vn),
4521 def : Pat<(v2i64 (int_arm_neon_vqadds (v2i64 QPR:$src1),
4522 (v2i64 (int_arm_neon_vqdmull (v2i32 DPR:$Vn),
4600 def : Pat<(v2i64 (int_arm_neon_vqsubs (v2i64 QPR:$src1),
4601 (v2i64 (int_arm_neon_vqdmull (v2i32 DPR:$Vn),
4609 def : Pat<(v2i64 (int_arm_neon_vqsubs (v2i64 QPR:$src1),
4610 (v2i64 (int_arm_neon_vqdmull (v2i32 DPR:$Vn),
4706 def : Pat<(v2i32 (trunc (NEONvshru (sub (v2i64 QPR:$Vn), QPR:$Vm), 32))),
5070 def : Pat<(v2i64 (int_arm_neon_vbsl (v2i64 QPR:$src1),
5071 (v2i64 QPR:$Vn), (v2i64 QPR:$Vm))),
5079 def : Pat<(v2i64 (or (and QPR:$Vn, QPR:$Vd),
5159 def : Pat<(xor (v4i32 (bitconvert (v2i64 (abd_shr (v2i32 DPR:$opA), (v2i32 DPR:$opB), 63)))),
5160 (v4i32 (bitconvert (v2i64 (add (sub (zext (v2i32 DPR:$opA)),
5450 v2i64, v2i32, imm32>;
5456 def : Pat<(v2i64 (NEONvshl (zext (v2i32 DPR:$Rn)), (i32 32))),
5462 def : Pat<(v2i64 (NEONvshl (sext (v2i32 DPR:$Rn)), (i32 32))),
5474 def : Pat<(v2i32 (trunc (NEONvshru (v2i64 QPR:$Vn), shr_imm32:$amt))),
5740 [(set QPR:$Vd, (v2i64 (NEONvmovImm timm:$SIMM)))]>;
5879 //def : Pat<(extractelt (v2i64 QPR:$src1), imm:$src2),
5942 //def : Pat<(v2i64 (insertelt QPR:$src1, DPR:$src2, imm:$src3)),
6091 def : Pat<(v2i64 (anyext (v2i32 DPR:$Vm))), (VMOVLuv2i64 DPR:$Vm)>;
6336 def : AlignedVEXTq<v1i64, v2i64, DSubReg_f64_reg>;
6395 def VEXTq64 : VEXTq<"vext", "64", v2i64, imm0_1> {
6754 def : Pat<(v2i64 (bitconvert (v4i32 QPR:$src))), (v2i64 QPR:$src)>;
6755 def : Pat<(v2i64 (bitconvert (v8i16 QPR:$src))), (v2i64 QPR:$src)>;
6756 def : Pat<(v2i64 (bitconvert (v16i8 QPR:$src))), (v2i64 QPR:$src)>;
6758 def : Pat<(v2i64 (bitconvert (v2f64 QPR:$src))), (v2i64 QPR:$src)>;
6760 def : Pat<(v2i64 (bitconvert (v4f32 QPR:$src))), (v2i64 QPR:$src)>;
6761 def : Pat<(v4i32 (bitconvert (v2i64 QPR:$src))), (v4i32 QPR:$src)>;
6768 def : Pat<(v8i16 (bitconvert (v2i64 QPR:$src))), (v8i16 QPR:$src)>;
6773 def : Pat<(v16i8 (bitconvert (v2i64 QPR:$src))), (v16i8 QPR:$src)>;
6778 def : Pat<(v4f32 (bitconvert (v2i64 QPR:$src))), (v4f32 QPR:$src)>;
6786 def : Pat<(v2f64 (bitconvert (v2i64 QPR:$src))), (v2f64 QPR:$src)>;
6824 def : Pat<(v2i64 (bitconvert (v4i32 QPR:$src))), (VREV64q32 QPR:$src)>;
6825 def : Pat<(v2i64 (bitconvert (v8i16 QPR:$src))), (VREV64q16 QPR:$src)>;
6826 def : Pat<(v2i64 (bitconvert (v16i8 QPR:$src))), (VREV64q8 QPR:$src)>;
6827 def : Pat<(v2i64 (bitconvert (v4f32 QPR:$src))), (VREV64q32 QPR:$src)>;
6828 def : Pat<(v4i32 (bitconvert (v2i64 QPR:$src))), (VREV64q32 QPR:$src)>;
6832 def : Pat<(v8i16 (bitconvert (v2i64 QPR:$src))), (VREV64q16 QPR:$src)>;
6837 def : Pat<(v16i8 (bitconvert (v2i64 QPR:$src))), (VREV64q8 QPR:$src)>;
6842 def : Pat<(v4f32 (bitconvert (v2i64 QPR:$src))), (VREV64q32 QPR:$src)>;
7070 defm : Lengthen_Single<"2", "i64", "32">; // v2i32 -> v2i64
7080 // v2i16 -> v2i32 -> v2i64
7092 // v2i16 -> v2i32 -> v2i64
7096 // Triple lengthening - v2i8 -> v2i16 -> v2i32 -> v2i64
7098 def : Pat<(v2i64 (extloadvi8 addrmode6:$addr)),
7102 def : Pat<(v2i64 (zextloadvi8 addrmode6:$addr)),
7106 def : Pat<(v2i64 (sextloadvi8 addrmode6:$addr)),
7115 def : Pat<(v2i64 (extloadvi8 addrmode6:$addr)),
7120 def : Pat<(v2i64 (zextloadvi8 addrmode6:$addr)),
7125 def : Pat<(v2i64 (sextloadvi8 addrmode6:$addr)),