Lines Matching refs:Qn
325 def : Pat<(VTI.Vec (Op (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn))),
326 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)))>;
332 (VTI.Vec MQPR:$Qn))),
334 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
341 (VTI.Vec MQPR:$Qn),
343 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
349 def : Pat<(VTI.Vec !con((PredInt (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)),
352 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
614 : MVE_rDest<(outs rGPR:$Rda), (ins rGPR:$Rda_src, MQPR:$Qn, MQPR:$Qm),
615 NoItinerary, "vabav", suffix, "$Rda, $Qn, $Qm", "$Rda = $Rda_src",
618 bits<4> Qn;
624 let Inst{19-17} = Qn{2-0};
628 let Inst{7} = Qn{3};
644 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm))),
646 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm)))>;
651 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
654 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
1025 "$RdaDest, $Qn, $Qm", cstr, []> {
1028 bits<3> Qn;
1032 let Inst{19-17} = Qn{2-0};
1052 (ins MQPR:$Qn, MQPR:$Qm), "",
1055 (ins tGPREven:$RdaSrc, MQPR:$Qn, MQPR:$Qm),
1064 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm))),
1066 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm)))>;
1073 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
1076 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
1084 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm))),
1087 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm)))>;
1094 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
1098 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
1249 def : MVEInstAlias<"vmlav"#acc#"${vp}."#suffix#"\t$RdaDest, $Qn, $Qm",
1251 tGPREven:$RdaDest, MQPR:$Qn, MQPR:$Qm, vpred_n:$vp)>;
1260 iname, suffix, "$RdaLoDest, $RdaHiDest, $Qn, $Qm", cstr, pattern> {
1264 bits<3> Qn;
1268 let Inst{19-17} = Qn{2-0};
1291 iname # x, suffix, (ins MQPR:$Qn, MQPR:$Qm), "",
1295 (ins tGPREven:$RdaLoSrc, tGPROdd:$RdaHiSrc, MQPR:$Qn, MQPR:$Qm),
1319 def : MVEInstAlias<"vrmlalvh${vp}.s32\t$RdaLo, $RdaHi, $Qn, $Qm",
1322 MQPR:$Qn, MQPR:$Qm, vpred_n:$vp)>;
1323 def : MVEInstAlias<"vrmlalvha${vp}.s32\t$RdaLo, $RdaHi, $Qn, $Qm",
1326 MQPR:$Qn, MQPR:$Qm, vpred_n:$vp)>;
1327 def : MVEInstAlias<"vrmlalvh${vp}.u32\t$RdaLo, $RdaHi, $Qn, $Qm",
1330 MQPR:$Qn, MQPR:$Qm, vpred_n:$vp)>;
1331 def : MVEInstAlias<"vrmlalvha${vp}.u32\t$RdaLo, $RdaHi, $Qn, $Qm",
1334 MQPR:$Qn, MQPR:$Qm, vpred_n:$vp)>;
1388 "\t$RdaLoDest, $RdaHiDest, $Qn, $Qm",
1391 MQPR:$Qn, MQPR:$Qm, vpred_n:$vp)>;
1410 : MVE_p<(outs MQPR:$Qd), (ins MQPR:$Qn, MQPR:$Qm), itin, iname, suffix,
1411 "$Qd, $Qn, $Qm", vpred_r, cstr, pattern> {
1413 bits<4> Qn;
1417 let Inst{19-17} = Qn{2-0};
1422 let Inst{7} = Qn{3};
1518 def MVE_VBIC : MVE_bit_arith<(outs MQPR:$Qd), (ins MQPR:$Qn, MQPR:$Qm),
1519 "vbic", "", "$Qd, $Qn, $Qm", ""> {
1520 bits<4> Qn;
1525 let Inst{19-17} = Qn{2-0};
1528 let Inst{7} = Qn{3};
1615 : MVE_bit_arith<(outs MQPR:$Qd), (ins MQPR:$Qn, MQPR:$Qm),
1616 iname, "", "$Qd, $Qn, $Qm", ""> {
1617 bits<4> Qn;
1622 let Inst{19-17} = Qn{2-0};
1625 let Inst{7} = Qn{3};
1903 : MVE_p<(outs MQPR:$Qd), (ins MQPR:$Qn, MQPR:$Qm), NoItinerary,
1904 iname, suffix, "$Qd, $Qn, $Qm", vpred_r, "", pattern> {
1906 bits<4> Qn;
1911 let Inst{19-17} = Qn{2-0};
1913 let Inst{7} = Qn{3};
1970 def : Pat<(VTI.Vec (unpred_int (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn))),
1971 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)))>;
2110 def : Pat<(VTI.Vec (unpred_int (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
2112 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)))>;
2115 def : Pat<(VTI.Vec (pred_int (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
2118 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
2173 def : Pat<(VTI.Vec (unpred_op (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
2175 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)))>;
2178 def : Pat<(VTI.Vec (pred_int (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
2181 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
2203 def : Pat<(v16i8 (ARMvshrsImm (addnsw (addnsw (v16i8 MQPR:$Qm), (v16i8 MQPR:$Qn)),
2206 (MVE_VRHADDs8 MQPR:$Qm, MQPR:$Qn)>;
2207 def : Pat<(v8i16 (ARMvshrsImm (addnsw (addnsw (v8i16 MQPR:$Qm), (v8i16 MQPR:$Qn)),
2210 (MVE_VRHADDs16 MQPR:$Qm, MQPR:$Qn)>;
2211 def : Pat<(v4i32 (ARMvshrsImm (addnsw (addnsw (v4i32 MQPR:$Qm), (v4i32 MQPR:$Qn)),
2214 (MVE_VRHADDs32 MQPR:$Qm, MQPR:$Qn)>;
2215 def : Pat<(v16i8 (ARMvshruImm (addnuw (addnuw (v16i8 MQPR:$Qm), (v16i8 MQPR:$Qn)),
2218 (MVE_VRHADDu8 MQPR:$Qm, MQPR:$Qn)>;
2219 def : Pat<(v8i16 (ARMvshruImm (addnuw (addnuw (v8i16 MQPR:$Qm), (v8i16 MQPR:$Qn)),
2222 (MVE_VRHADDu16 MQPR:$Qm, MQPR:$Qn)>;
2223 def : Pat<(v4i32 (ARMvshruImm (addnuw (addnuw (v4i32 MQPR:$Qm), (v4i32 MQPR:$Qn)),
2226 (MVE_VRHADDu32 MQPR:$Qm, MQPR:$Qn)>;
2260 def : Pat<(VTI.Vec (unpred_op (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn), (i32 VTI.Unsigned))),
2261 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)))>;
2263 def : Pat<(VTI.Vec (shift_op (add_op (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)), (i32 1))),
2264 (Inst MQPR:$Qm, MQPR:$Qn)>;
2267 def : Pat<(VTI.Vec (pred_int (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn), (i32 VTI.Unsigned),
2269 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
2298 def : Pat<(VTI.Vec (unpred_op (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
2300 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)))>;
2302 def : Pat<(VTI.Vec (shift_op (sub_op (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)), (i32 1))),
2303 (Inst MQPR:$Qm, MQPR:$Qn)>;
2307 def : Pat<(VTI.Vec (pred_int (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
2310 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
3089 : MVE_p<(outs MQPR:$Qd), (ins MQPR:$Qm, MQPR:$Qn), NoItinerary,
3090 iname, suffix, "$Qd, $Qm, $Qn", vpred_r, "", []> {
3094 bits<4> Qn;
3101 let Inst{19-17} = Qn{2-0};
3106 let Inst{7} = Qn{3};
3148 def : Pat<(v4i32 (ARMvshlu (v4i32 MQPR:$Qm), (v4i32 MQPR:$Qn))),
3149 (v4i32 (MVE_VSHL_by_vecu32 (v4i32 MQPR:$Qm), (v4i32 MQPR:$Qn)))>;
3150 def : Pat<(v8i16 (ARMvshlu (v8i16 MQPR:$Qm), (v8i16 MQPR:$Qn))),
3151 (v8i16 (MVE_VSHL_by_vecu16 (v8i16 MQPR:$Qm), (v8i16 MQPR:$Qn)))>;
3152 def : Pat<(v16i8 (ARMvshlu (v16i8 MQPR:$Qm), (v16i8 MQPR:$Qn))),
3153 (v16i8 (MVE_VSHL_by_vecu8 (v16i8 MQPR:$Qm), (v16i8 MQPR:$Qn)))>;
3155 def : Pat<(v4i32 (ARMvshls (v4i32 MQPR:$Qm), (v4i32 MQPR:$Qn))),
3156 (v4i32 (MVE_VSHL_by_vecs32 (v4i32 MQPR:$Qm), (v4i32 MQPR:$Qn)))>;
3157 def : Pat<(v8i16 (ARMvshls (v8i16 MQPR:$Qm), (v8i16 MQPR:$Qn))),
3158 (v8i16 (MVE_VSHL_by_vecs16 (v8i16 MQPR:$Qm), (v8i16 MQPR:$Qn)))>;
3159 def : Pat<(v16i8 (ARMvshls (v16i8 MQPR:$Qm), (v16i8 MQPR:$Qn))),
3160 (v16i8 (MVE_VSHL_by_vecs8 (v16i8 MQPR:$Qm), (v16i8 MQPR:$Qn)))>;
3571 (ins MQPR:$Qn, MQPR:$Qm), "$Qd, $Qn, $Qm", vpred_r, "",
3574 bits<4> Qn;
3580 let Inst{19-17} = Qn{2-0};
3583 let Inst{7} = Qn{3};
3606 (ins MQPR:$Qd_src, MQPR:$Qn, MQPR:$Qm, complexrotateop:$rot),
3607 "$Qd, $Qn, $Qm, $rot", vpred_n, "$Qd = $Qd_src", []> {
3609 bits<4> Qn;
3617 let Inst{19-17} = Qn{2-0};
3620 let Inst{7} = Qn{3};
3631 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm))),
3633 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
3638 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
3640 (VTI.Vec (Inst (VTI.Vec MQPR:$Qd_src), (VTI.Vec MQPR:$Qn),
3655 !con(iops, (ins MQPR:$Qn, MQPR:$Qm)), "$Qd, $Qn, $Qm",
3658 bits<4> Qn;
3664 let Inst{19-17} = Qn{2-0};
3668 let Inst{7} = Qn{3};
3738 (ins MQPR:$Qn, MQPR:$Qm, complexrotateopodd:$rot),
3739 "$Qd, $Qn, $Qm, $rot", vpred_r, cstr, []> {
3741 bits<4> Qn;
3750 let Inst{19-17} = Qn{2-0};
3753 let Inst{7} = Qn{3};
3763 imm:$rot, (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm))),
3764 (VTI.Vec (Inst (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
3769 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
3771 (VTI.Vec (Inst (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
3782 : MVE_float<"vabd", suffix, (outs MQPR:$Qd), (ins MQPR:$Qn, MQPR:$Qm),
3783 "$Qd, $Qn, $Qm", vpred_r, ""> {
3785 bits<4> Qn;
3792 let Inst{19-17} = Qn{2-0};
3796 let Inst{7} = Qn{3};
3807 def : Pat<(VTI.Vec (unpred_int (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
3809 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)))>;
3810 def : Pat<(VTI.Vec (pred_int (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
3813 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
3826 def : Pat<(v8f16 (fabs (fsub (v8f16 MQPR:$Qm), (v8f16 MQPR:$Qn)))),
3827 (MVE_VABDf16 MQPR:$Qm, MQPR:$Qn)>;
3828 def : Pat<(v4f32 (fabs (fsub (v4f32 MQPR:$Qm), (v4f32 MQPR:$Qn)))),
3829 (MVE_VABDf32 MQPR:$Qm, MQPR:$Qn)>;
4128 : MVE_p<(outs VCCR:$P0), (ins MQPR:$Qn, MQPR:$Qm, predtype:$fc),
4129 NoItinerary, "vcmp", suffix, "$fc, $Qn, $Qm", vpred_n, "", pattern> {
4132 bits<4> Qn;
4138 let Inst{19-17} = Qn{2-0};
4202 : MVE_p<(outs VCCR:$P0), (ins MQPR:$Qn, GPRwithZR:$Rm, predtype:$fc),
4203 NoItinerary, "vcmp", suffix, "$fc, $Qn, $Rm", vpred_n, "", pattern> {
4206 bits<4> Qn;
4212 let Inst{19-17} = Qn{2-0};
4473 (ins MQPR:$Qd_src, MQPR:$Qn, MQPR:$Qm), "$Qd, $Qn, $Qm",
4475 bits<4> Qn;
4479 let Inst{19-17} = Qn{2-0};
4483 let Inst{7} = Qn{3};
4526 (ins MQPR:$Qn, MQPR:$Qm, complexrotateop:$rot),
4527 "$Qd, $Qn, $Qm, $rot", vpred_r, cstr, []> {
4528 bits<4> Qn;
4533 let Inst{19-17} = Qn{2-0};
4537 let Inst{7} = Qn{3};
4550 imm:$rot, (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm))),
4551 (VTI.Vec (Inst (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
4556 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
4558 (VTI.Vec (Inst (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
4571 (ins MQPR:$Qn, MQPR:$Qm), "$Qd, $Qn, $Qm",
4574 bits<4> Qn;
4579 let Inst{19-17} = Qn{2-0};
4583 let Inst{7} = Qn{3};
4601 (VTI.Vec MQPR:$Qn)),
4603 (VTI.DblVec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)))>;
4607 (VTI.Vec MQPR:$Qn)),
4610 (VTI.DblVec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
4705 (ins MQPR:$Qn, MQPR:$Qm), "$Qd, $Qn, $Qm",
4707 bits<4> Qn;
4711 let Inst{19-17} = Qn{2-0};
4715 let Inst{7} = Qn{3};
4726 def : Pat<(VTI.Vec (unpred_op (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
4728 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)))>;
4731 def : Pat<(VTI.Vec (pred_int (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
4734 (VTI.Vec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
4971 (ins MQPR:$Qn, MQPR:$Qm, complexrotateopodd:$rot),
4972 "$Qd, $Qn, $Qm, $rot", vpred_r, cstr, []> {
4973 bits<4> Qn;
4978 let Inst{19-17} = Qn{2-0};
4982 let Inst{7} = Qn{3};
4993 imm:$rot, (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm))),
4994 (VTI.Vec (Inst (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
4999 (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
5001 (VTI.Vec (Inst (VTI.Vec MQPR:$Qn), (VTI.Vec MQPR:$Qm),
5019 !con((ins MQPR:$Qn, MQPR:$Qm), carryin),
5020 "$Qd, $Qn, $Qm", vpred_r, "", pattern> {
5021 bits<4> Qn;
5025 let Inst{19-17} = Qn{2-0};
5029 let Inst{7} = Qn{3};
5046 (ins MQPR:$Qn, MQPR:$Qm), "$Qd, $Qn, $Qm",
5048 bits<4> Qn;
5052 let Inst{19-17} = Qn{2-0};
5056 let Inst{7} = Qn{3};
5070 (VTI.Vec MQPR:$Qn), (i32 T))),
5071 (VTI.DblVec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn)))>;
5074 (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
5077 (VTI.DblVec (Inst (VTI.Vec MQPR:$Qm), (VTI.Vec MQPR:$Qn),
5100 bits<4> Qn;
5105 let Inst{19-17} = Qn{2-0};
5108 let Inst{7} = Qn{3};
5115 : MVE_qr_base<(outs MQPR:$Qd), (ins MQPR:$Qn, rGPR:$Rm),
5116 NoItinerary, iname, suffix, "$Qd, $Qn, $Rm", vpred_r, cstr,
5120 : MVE_qr_base<(outs MQPR:$Qd), (ins MQPR:$Qd_src, MQPR:$Qn, rGPR:$Rm),
5121 NoItinerary, iname, suffix, "$Qd, $Qn, $Rm", vpred_n, "$Qd = $Qd_src",
5418 def : Pat<(VTI.Vec (int_arm_mve_vbrsr (VTI.Vec MQPR:$Qn), (i32 rGPR:$Rm))),
5419 (VTI.Vec (Inst (VTI.Vec MQPR:$Qn), (i32 rGPR:$Rm)))>;
5423 (VTI.Vec MQPR:$Qn), (i32 rGPR:$Rm),
5425 (VTI.Vec (Inst (VTI.Vec MQPR:$Qn), (i32 rGPR:$Rm),
6472 bits<3> Qn;
6477 let Inst{19-17} = Qn{2-0};
6490 : MVE_VPT<suffix, size, iops, "$fc, $Qn, $Qm"> {
6502 (ins vpt_mask:$Mk, MQPR:$Qn, MQPR:$Qm, pred_basic_i:$fc)> {
6513 (ins vpt_mask:$Mk, MQPR:$Qn, MQPR:$Qm, pred_basic_u:$fc)> {
6524 (ins vpt_mask:$Mk, MQPR:$Qn, MQPR:$Qm, pred_basic_s:$fc)> {
6534 "$fc, $Qn, $Rm"> {
6546 (ins vpt_mask:$Mk, MQPR:$Qn, GPRwithZR:$Rm, pred_basic_i:$fc)> {
6557 (ins vpt_mask:$Mk, MQPR:$Qn, GPRwithZR:$Rm, pred_basic_u:$fc)> {
6568 (ins vpt_mask:$Mk, MQPR:$Qn, GPRwithZR:$Rm, pred_basic_s:$fc)> {
6582 bits<3> Qn;
6589 let Inst{19-17} = Qn{2-0};
6603 : MVE_VPTf<suffix, size, (ins vpt_mask:$Mk, MQPR:$Qn, MQPR:$Qm, pred_basic_fp:$fc),
6604 "$fc, $Qn, $Qm"> {
6618 : MVE_VPTf<suffix, size, (ins vpt_mask:$Mk, MQPR:$Qn, GPRwithZR:$Rm, pred_basic_fp:$fc),
6619 "$fc, $Qn, $Rm"> {
6648 def MVE_VPSEL : MVE_p<(outs MQPR:$Qd), (ins MQPR:$Qn, MQPR:$Qm), NoItinerary,
6649 "vpsel", "", "$Qd, $Qn, $Qm", vpred_n, "", []> {
6650 bits<4> Qn;
6658 let Inst{19-17} = Qn{2-0};
6663 let Inst{7} = Qn{3};
6673 def : MVEInstAlias<"vpsel${vp}." # suffix # "\t$Qd, $Qn, $Qm",
6674 (MVE_VPSEL MQPR:$Qd, MQPR:$Qn, MQPR:$Qm, vpred_n:$vp)>;