• Home
  • Raw
  • Download

Lines Matching refs:Qd

1410   : MVE_p<(outs MQPR:$Qd), (ins MQPR:$Qn, MQPR:$Qm), itin, iname, suffix,
1411 "$Qd, $Qn, $Qm", vpred_r, cstr, pattern> {
1412 bits<4> Qd;
1416 let Inst{22} = Qd{3};
1419 let Inst{15-13} = Qd{2-0};
1509 bits<4> Qd;
1512 let Inst{22} = Qd{3};
1513 let Inst{15-13} = Qd{2-0};
1518 def MVE_VBIC : MVE_bit_arith<(outs MQPR:$Qd), (ins MQPR:$Qn, MQPR:$Qm),
1519 "vbic", "", "$Qd, $Qn, $Qm", ""> {
1536 : MVE_bit_arith<(outs MQPR:$Qd), (ins MQPR:$Qm), iname,
1537 suffix, "$Qd, $Qm", cstr> {
1551 def MVE_VREV64_8 : MVE_VREV<"vrev64", "8", 0b00, 0b00, "@earlyclobber $Qd">;
1552 def MVE_VREV64_16 : MVE_VREV<"vrev64", "16", 0b01, 0b00, "@earlyclobber $Qd">;
1553 def MVE_VREV64_32 : MVE_VREV<"vrev64", "32", 0b10, 0b00, "@earlyclobber $Qd">;
1592 def MVE_VMVN : MVE_bit_arith<(outs MQPR:$Qd), (ins MQPR:$Qm),
1593 "vmvn", "", "$Qd, $Qm", ""> {
1615 : MVE_bit_arith<(outs MQPR:$Qd), (ins MQPR:$Qn, MQPR:$Qm),
1616 iname, "", "$Qd, $Qn, $Qm", ""> {
1688 : MVE_p<(outs MQPR:$Qd), inOps, NoItinerary,
1689 iname, suffix, "$Qd, $imm", vpred_n, "$Qd = $Qd_src"> {
1691 bits<4> Qd;
1695 let Inst{22} = Qd{3};
1698 let Inst{15-13} = Qd{2-0};
1742 def MVE_VORNimmi16 : MVEInstAlias<"vorn${vp}.i16\t$Qd, $imm",
1743 (MVE_VORRimmi16 MQPR:$Qd, nImmSplatNotI16:$imm, vpred_n:$vp), 0>;
1744 def MVE_VORNimmi32 : MVEInstAlias<"vorn${vp}.i32\t$Qd, $imm",
1745 (MVE_VORRimmi32 MQPR:$Qd, nImmSplatNotI32:$imm, vpred_n:$vp), 0>;
1747 def MVE_VANDimmi16 : MVEInstAlias<"vand${vp}.i16\t$Qd, $imm",
1748 (MVE_VBICimmi16 MQPR:$Qd, nImmSplatNotI16:$imm, vpred_n:$vp), 0>;
1749 def MVE_VANDimmi32 : MVEInstAlias<"vand${vp}.i32\t$Qd, $imm",
1750 (MVE_VBICimmi32 MQPR:$Qd, nImmSplatNotI32:$imm, vpred_n:$vp), 0>;
1752 def MVE_VMOV : MVEInstAlias<"vmov${vp}\t$Qd, $Qm",
1753 (MVE_VORR MQPR:$Qd, MQPR:$Qm, MQPR:$Qm, vpred_r:$vp)>;
1765 let iops = (ins MQPR:$Qd);
1766 let ops = "$Rt, $Qd$Idx";
1771 let oops = (outs MQPR:$Qd);
1773 let ops = "$Qd$Idx, $Rt";
1774 let cstr = "$Qd = $Qd_src";
1781 bits<4> Qd;
1787 let Inst{19-17} = Qd{2-0};
1790 let Inst{7} = Qd{3};
1903 : MVE_p<(outs MQPR:$Qd), (ins MQPR:$Qn, MQPR:$Qm), NoItinerary,
1904 iname, suffix, "$Qd, $Qn, $Qm", vpred_r, "", pattern> {
1905 bits<4> Qd;
1909 let Inst{22} = Qd{3};
1912 let Inst{15-13} = Qd{2-0};
2328 : MVE_p<(outs MQPR:$Qd), (ins rGPR:$Rt), NoItinerary,
2329 "vdup", suffix, "$Qd, $Rt", vpred_r, "", pattern> {
2330 bits<4> Qd;
2337 let Inst{19-17} = Qd{2-0};
2341 let Inst{7} = Qd{3};
2396 : MVE_p<(outs MQPR:$Qd), (ins MQPR:$Qm), NoItinerary,
2397 iname, suffix, "$Qd, $Qm", vpred_r, "", pattern> {
2398 bits<4> Qd;
2401 let Inst{22} = Qd{3};
2403 let Inst{15-13} = Qd{2-0};
2543 : MVE_p<(outs MQPR:$Qd), iops, NoItinerary, iname, suffix, "$Qd, $imm",
2546 bits<4> Qd;
2550 let Inst{22} = Qd{3};
2553 let Inst{15-13} = Qd{2-0};
2616 : MVE_p<(outs MQPR:$Qd), (ins MQPR:$Qd_src, MQPR:$Qm),
2617 NoItinerary, iname, suffix, "$Qd, $Qm", vpred_n, "$Qd = $Qd_src",
2619 bits<4> Qd;
2624 let Inst{22} = Qd{3};
2628 let Inst{15-13} = Qd{2-0};
2645 def : Pat<(VTI.Vec (unpred_op (VTI.Vec MQPR:$Qd), (abs (VTI.Vec MQPR:$Qm)))),
2646 (VTI.Vec (Inst (VTI.Vec MQPR:$Qd), (VTI.Vec MQPR:$Qm)))>;
2649 def : Pat<(VTI.Vec (pred_int (VTI.Vec MQPR:$Qd), (VTI.Vec MQPR:$Qm),
2651 (VTI.Vec (Inst (VTI.Vec MQPR:$Qd), (VTI.Vec MQPR:$Qm),
2674 def MVE_VSHLC : MVE_p<(outs rGPR:$RdmDest, MQPR:$Qd),
2677 vpred_n, "$RdmDest = $RdmSrc,$Qd = $QdSrc"> {
2679 bits<4> Qd;
2684 let Inst{22} = Qd{3};
2687 let Inst{15-13} = Qd{2-0};
2696 bits<4> Qd;
2699 let Inst{22} = Qd{3};
2700 let Inst{15-13} = Qd{2-0};
2707 : MVE_shift_imm<(outs MQPR:$Qd), (ins MQPR:$Qm),
2708 iname, suffix, "$Qd, $Qm", vpred_r, "",
2776 : MVE_shift_imm<(outs MQPR:$Qd), (ins MQPR:$Qm, immtype:$imm),
2777 iname, suffix, "$Qd, $Qm, $imm", vpred_r, "", pattern> {
2823 : MVE_shift_imm<(outs MQPR:$Qd), (ins MQPR:$Qm),
2846 defm MVE_VSHLL_lws8 : MVE_VSHLL_lw<"vshll", "s8", 0b00, 0b0, "$Qd, $Qm, #8">;
2847 defm MVE_VSHLL_lws16 : MVE_VSHLL_lw<"vshll", "s16", 0b01, 0b0, "$Qd, $Qm, #16">;
2848 defm MVE_VSHLL_lwu8 : MVE_VSHLL_lw<"vshll", "u8", 0b00, 0b1, "$Qd, $Qm, #8">;
2849 defm MVE_VSHLL_lwu16 : MVE_VSHLL_lw<"vshll", "u16", 0b01, 0b1, "$Qd, $Qm, #16">;
2887 : MVE_shift_imm<(outs MQPR:$Qd), (ins MQPR:$QdSrc, MQPR:$Qm, imm:$imm),
2888 iname, suffix, "$Qd, $Qm, $imm", vpred_n, "$Qd = $QdSrc"> {
3089 : MVE_p<(outs MQPR:$Qd), (ins MQPR:$Qm, MQPR:$Qn), NoItinerary,
3090 iname, suffix, "$Qd, $Qm, $Qn", vpred_r, "", []> {
3092 bits<4> Qd;
3099 let Inst{22} = Qd{3};
3103 let Inst{15-13} = Qd{2-0};
3167 bits<4> Qd;
3171 let Inst{22} = Qd{3};
3172 let Inst{15-13} = Qd{2-0};
3190 : MVE_shift_with_imm<iname, suffix, (outs MQPR:$Qd),
3192 "$Qd, $Qm, $imm", vpred_n, "$Qd = $Qd_src"> {
3251 : MVE_shift_with_imm<"vqshl", VTI_.Suffix, (outs MQPR:$Qd),
3252 (ins MQPR:$Qm, immType:$imm), "$Qd, $Qm, $imm",
3291 : MVE_shift_with_imm<"vqshlu", VTI_.Suffix, (outs MQPR:$Qd),
3292 (ins MQPR:$Qm, immType:$imm), "$Qd, $Qm, $imm",
3321 : MVE_shift_with_imm<"vrshr", VTI_.Suffix, (outs MQPR:$Qd),
3322 (ins MQPR:$Qm, immType:$imm), "$Qd, $Qm, $imm",
3398 : MVE_shift_with_imm<"vshr", suffix, (outs MQPR:$Qd),
3399 !con((ins MQPR:$Qm), imm), "$Qd, $Qm, $imm",
3439 : MVE_shift_with_imm<"vshl", suffix, (outs MQPR:$Qd),
3440 !con((ins MQPR:$Qm), imm), "$Qd, $Qm, $imm",
3515 : MVE_float<!strconcat("vrint", rmode), suffix, (outs MQPR:$Qd),
3516 (ins MQPR:$Qm), "$Qd, $Qm", vpred_r, "", pattern> {
3517 bits<4> Qd;
3521 let Inst{22} = Qd{3};
3525 let Inst{15-13} = Qd{2-0};
3570 : MVEFloatArithNeon<iname, suffix, size, (outs MQPR:$Qd),
3571 (ins MQPR:$Qn, MQPR:$Qm), "$Qd, $Qn, $Qm", vpred_r, "",
3573 bits<4> Qd;
3578 let Inst{22} = Qd{3};
3581 let Inst{15-13} = Qd{2-0};
3605 : MVEFloatArithNeon<"vcmla", suffix, size, (outs MQPR:$Qd),
3607 "$Qd, $Qn, $Qm, $rot", vpred_n, "$Qd = $Qd_src", []> {
3608 bits<4> Qd;
3615 let Inst{22} = Qd{3};
3618 let Inst{15-13} = Qd{2-0};
3654 : MVEFloatArithNeon<iname, suffix, size, (outs MQPR:$Qd),
3655 !con(iops, (ins MQPR:$Qn, MQPR:$Qm)), "$Qd, $Qn, $Qm",
3657 bits<4> Qd;
3662 let Inst{22} = Qd{3};
3665 let Inst{15-13} = Qd{2-0};
3675 (ins MQPR:$Qd_src), vpred_n, "$Qd = $Qd_src">;
3737 : MVEFloatArithNeon<"vcadd", suffix, size, (outs MQPR:$Qd),
3739 "$Qd, $Qn, $Qm, $rot", vpred_r, cstr, []> {
3740 bits<4> Qd;
3748 let Inst{22} = Qd{3};
3751 let Inst{15-13} = Qd{2-0};
3779 defm MVE_VCADDf32 : MVE_VCADD_m<MVE_v4f32, 0b1, "@earlyclobber $Qd">;
3782 : MVE_float<"vabd", suffix, (outs MQPR:$Qd), (ins MQPR:$Qn, MQPR:$Qm),
3783 "$Qd, $Qn, $Qm", vpred_r, ""> {
3784 bits<4> Qd;
3789 let Inst{22} = Qd{3};
3794 let Inst{15-13} = Qd{2-0};
3835 (outs MQPR:$Qd), (ins MQPR:$Qm, imm_operand_type:$imm6),
3836 "$Qd, $Qm, $imm6", vpred_r, "", []> {
3837 bits<4> Qd;
3842 let Inst{22} = Qd{3};
3845 let Inst{15-13} = Qd{2-0};
3918 : MVE_float<!strconcat("vcvt", anpm), suffix, (outs MQPR:$Qd),
3919 (ins MQPR:$Qm), "$Qd, $Qm", vpred_r, "", pattern> {
3920 bits<4> Qd;
3924 let Inst{22} = Qd{3};
3928 let Inst{15-13} = Qd{2-0};
3975 : MVE_float<"vcvt", suffix, (outs MQPR:$Qd),
3976 (ins MQPR:$Qm), "$Qd, $Qm", vpred_r, "", pattern> {
3977 bits<4> Qd;
3981 let Inst{22} = Qd{3};
3985 let Inst{15-13} = Qd{2-0};
4027 : MVE_float<iname, suffix, (outs MQPR:$Qd),
4028 (ins MQPR:$Qm), "$Qd, $Qm", vpred_r, "", pattern> {
4029 bits<4> Qd;
4033 let Inst{22} = Qd{3};
4037 let Inst{15-13} = Qd{2-0};
4069 : MVE_f<(outs MQPR:$Qd), (ins MQPR:$Qd_src, MQPR:$Qm),
4070 NoItinerary, iname, suffix, "$Qd, $Qm", vpred_n, "$Qd = $Qd_src",
4072 bits<4> Qd;
4077 let Inst{22} = Qd{3};
4079 let Inst{15-13} = Qd{2-0};
4098 def : Pat<(VTI.Vec (unpred_op (fabs (VTI.Vec MQPR:$Qd)),
4100 (VTI.Vec (Inst (VTI.Vec MQPR:$Qd), (VTI.Vec MQPR:$Qm)))>;
4103 def : Pat<(VTI.Vec (pred_int (VTI.Vec MQPR:$Qd), (VTI.Vec MQPR:$Qm),
4105 (VTI.Vec (Inst (VTI.Vec MQPR:$Qd), (VTI.Vec MQPR:$Qm),
4457 bits<4> Qd;
4461 let Inst{22} = Qd{3};
4462 let Inst{15-13} = Qd{2-0};
4472 : MVE_qDest_qSrc<iname, suffix, (outs MQPR:$Qd),
4473 (ins MQPR:$Qd_src, MQPR:$Qn, MQPR:$Qm), "$Qd, $Qn, $Qm",
4474 vpred_n, "$Qd = $Qd_src"#cstr, pattern> {
4490 !if(!eq(VTI.LaneBits, 32), ",@earlyclobber $Qd", "")>;
4525 : MVE_qDest_qSrc<iname, suffix, (outs MQPR:$Qd),
4527 "$Qd, $Qn, $Qm, $rot", vpred_r, cstr, []> {
4566 defm MVE_VCMULf32 : MVE_VCMUL_m<"vcmul", MVE_v4f32, 0b1, "@earlyclobber $Qd">;
4570 : MVE_qDest_qSrc<iname, suffix, (outs MQPR:$Qd),
4571 (ins MQPR:$Qn, MQPR:$Qm), "$Qd, $Qn, $Qm",
4573 bits<4> Qd;
4629 "@earlyclobber $Qd">;
4632 "@earlyclobber $Qd">;
4644 "@earlyclobber $Qd">;
4647 "@earlyclobber $Qd">;
4704 : MVE_qDest_qSrc<iname, suffix, (outs MQPR:$Qd),
4705 (ins MQPR:$Qn, MQPR:$Qm), "$Qd, $Qn, $Qm",
4762 : MVE_qDest_qSrc<iname, suffix, (outs MQPR:$Qd),
4763 (ins MQPR:$Qd_src, MQPR:$Qm), "$Qd, $Qm",
4764 vpred_n, "$Qd = $Qd_src", pattern> {
4907 : MVE_qDest_qSrc<iname, suffix, (outs MQPR:$Qd),
4908 !con(iops_extra, (ins MQPR:$Qm)), "$Qd, $Qm",
4927 (ins MQPR:$Qd_src), vpred_n, "$Qd = $Qd_src">;
4970 : MVE_qDest_qSrc<iname, suffix, (outs MQPR:$Qd),
4972 "$Qd, $Qn, $Qm, $rot", vpred_r, cstr, []> {
5010 defm MVE_VCADDi32 : MVE_VxCADD_m<"vcadd", MVE_v4i32, 0b1, "@earlyclobber $Qd">;
5014 defm MVE_VHCADDs32 : MVE_VxCADD_m<"vhcadd", MVE_v4s32, 0b0, "@earlyclobber $Qd">;
5018 : MVE_qDest_qSrc<iname, "i32", (outs MQPR:$Qd, cl_FPSCR_NZCV:$carryout),
5020 "$Qd, $Qn, $Qm", vpred_r, "", pattern> {
5045 : MVE_qDest_qSrc<iname, suffix, (outs MQPR:$Qd),
5046 (ins MQPR:$Qn, MQPR:$Qm), "$Qd, $Qn, $Qm",
5089 defm MVE_VQDMULLs32 : MVE_VQDMULL_halves<MVE_v4s32, 0b1, "@earlyclobber $Qd">;
5099 bits<4> Qd;
5104 let Inst{22} = Qd{3};
5106 let Inst{15-13} = Qd{2-0};
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",
5125 : MVE_p<(outs MQPR:$Qd), (ins MQPR:$Qd_src, rGPR:$Rm), NoItinerary, iname,
5126 suffix, "$Qd, $Rm", vpred_n, "$Qd = $Qd_src", pattern> {
5127 bits<4> Qd;
5130 let Inst{22} = Qd{3};
5131 let Inst{15-13} = Qd{2-0};
5273 defm MVE_VQDMULL_qr_s32 : MVE_VQDMULL_qr_halves<MVE_v4s32, 0b1, "@earlyclobber $Qd">;
5677 : MVE_p<(outs MQPR:$Qd, tGPREven:$Rn),
5679 iname, suffix, "$Qd, $Rn, $imm", vpred_r, "$Rn = $Rn_src",
5681 bits<4> Qd;
5687 let Inst{22} = Qd{3};
5691 let Inst{15-13} = Qd{2-0};
5711 : MVE_p<(outs MQPR:$Qd, tGPREven:$Rn),
5713 iname, suffix, "$Qd, $Rn, $Rm, $imm", vpred_r, "$Rn = $Rn_src",
5715 bits<4> Qd;
5722 let Inst{22} = Qd{3};
5726 let Inst{15-13} = Qd{2-0};
5791 bits<4> Qd;
5796 let Inst{22} = Qd{3};
5800 let Inst{15-13} = Qd{2-0};
5822 // ($Qd), and the second one is the input ($QdSrc). Binding them
5835 def MVE_VMOV_q_rr : MVE_VMOV_64bit<(outs MQPR:$Qd),
5837 0b1, "$Qd$idx, $QdSrc$idx2, $Rt, $Rt2",
5838 "$Qd = $QdSrc"> {
5842 def MVE_VMOV_rr_q : MVE_VMOV_64bit<(outs rGPR:$Rt, rGPR:$Rt2), (ins MQPR:$Qd),
5843 0b0, "$Rt, $Rt2, $Qd$idx, $Qd$idx2", ""> {
6013 def MVE_ld: MVE_ldst_direction<1, (outs MQPR:$Qd), (ins), ",@earlyclobber $Qd">;
6014 def MVE_st: MVE_ldst_direction<0, (outs), (ins MQPR:$Qd)>;
6058 bits<3> Qd;
6066 let Inst{15-13} = Qd{2-0};
6126 asm, suffix, IndexModeNone, "$Qd, $addr", "">;
6132 asm, suffix, IndexModePre, "$Qd, $addr!", "$addr.base = $wb"> {
6141 asm, suffix, IndexModePost, "$Qd, $Rn$addr", "$Rn.base = $wb"> {
6154 asm, suffix, IndexModeNone, "$Qd, $addr", "">;
6160 asm, suffix, IndexModePre, "$Qd, $addr!", "$addr.base = $wb"> {
6173 asm, suffix, IndexModePost, "$Qd, $Rn$addr", "$Rn.base = $wb"> {
6227 asm, suffix, "$Qd, $addr", dir.cstr> {
6360 asm, suffix, "$Qd, $addr" # wbAsm, cstr # dir.cstr> {
6648 def MVE_VPSEL : MVE_p<(outs MQPR:$Qd), (ins MQPR:$Qn, MQPR:$Qm), NoItinerary,
6649 "vpsel", "", "$Qd, $Qn, $Qm", vpred_n, "", []> {
6651 bits<4> Qd;
6656 let Inst{22} = Qd{3};
6660 let Inst{15-13} = Qd{2-0};
6673 def : MVEInstAlias<"vpsel${vp}." # suffix # "\t$Qd, $Qn, $Qm",
6674 (MVE_VPSEL MQPR:$Qd, MQPR:$Qn, MQPR:$Qm, vpred_n:$vp)>;