Lines Matching refs:Vm
2437 (ins DPR:$Vm), IIC_VUNAD, OpcodeStr, Dt,"$Vd, $Vm", "",
2438 [(set DPR:$Vd, (ResTy (OpNode (OpTy DPR:$Vm))))]>;
2443 (ins QPR:$Vm), IIC_VUNAQ, OpcodeStr, Dt,"$Vd, $Vm", "",
2444 [(set QPR:$Vd, (ResTy (OpNode (OpTy QPR:$Vm))))]>;
2452 (ins DPR:$Vm), itin, OpcodeStr, Dt, "$Vd, $Vm", "",
2453 [(set DPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vm))))]>;
2459 (ins QPR:$Vm), itin, OpcodeStr, Dt, "$Vd, $Vm", "",
2460 [(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vm))))]>;
2466 : N2Vnp<op19_18, op17_16, op10_8, op7, 0, (outs DPR:$Vd), (ins DPR:$Vm),
2468 [(set DPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vm))))]>;
2473 : N2Vnp<op19_18, op17_16, op10_8, op7, 1, (outs QPR:$Vd), (ins QPR:$Vm),
2475 [(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vm))))]>;
2481 : N2Vnp<op19_18, op17_16, op10_8, op7, op6, (outs QPR:$Vd), (ins QPR:$Vm),
2483 [(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vm))))]>;
2490 (outs QPR:$Vd), (ins QPR:$src, QPR:$Vm),
2492 [(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$src), (OpTy QPR:$Vm))))]> {
2502 (ins QPR:$Vm), itin, OpcodeStr, Dt, "$Vd, $Vm", "",
2503 [(set DPR:$Vd, (TyD (OpNode (TyQ QPR:$Vm))))]>;
2511 (ins QPR:$Vm), itin, OpcodeStr, Dt, "$Vd, $Vm", "",
2512 [(set DPR:$Vd, (TyD (IntOp (TyQ QPR:$Vm))))]>;
2520 (ins DPR:$Vm), itin, OpcodeStr, Dt, "$Vd, $Vm", "",
2521 [(set QPR:$Vd, (TyQ (OpNode (TyD DPR:$Vm))))]>;
2529 (ins DPR:$Vm), itin, OpcodeStr, Dt, "$Vd, $Vm", "",
2530 [(set QPR:$Vd, (TyQ (IntOp (TyD DPR:$Vm))))]>;
2534 : N2V<0b11, 0b11, op19_18, 0b10, op11_7, 0, 0, (outs DPR:$Vd, DPR:$Vm),
2536 OpcodeStr, Dt, "$Vd, $Vm",
2537 "$src1 = $Vd, $src2 = $Vm", []>;
2540 : N2V<0b11, 0b11, op19_18, 0b10, op11_7, 1, 0, (outs QPR:$Vd, QPR:$Vm),
2541 (ins QPR:$src1, QPR:$src2), itin, OpcodeStr, Dt, "$Vd, $Vm",
2542 "$src1 = $Vd, $src2 = $Vm", []>;
2549 (outs DPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2550 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
2551 [(set DPR:$Vd, (ResTy (OpNode (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]> {
2562 (outs DPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2563 OpcodeStr, "$Vd, $Vn, $Vm", "",
2564 [(set DPR:$Vd, (ResTy (OpNode (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]>{
2574 (outs DPR:$Vd), (ins DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2575 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2578 (Ty (NEONvduplane (Ty DPR_VFP2:$Vm),imm:$lane)))))]> {
2586 (outs DPR:$Vd), (ins DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2587 NVMulSLFrm, IIC_VMULi16D, OpcodeStr, Dt,"$Vd, $Vn, $Vm$lane","",
2590 (Ty (NEONvduplane (Ty DPR_8:$Vm), imm:$lane)))))]> {
2600 (outs QPR:$Vd), (ins QPR:$Vn, QPR:$Vm), N3RegFrm, itin,
2601 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
2602 [(set QPR:$Vd, (ResTy (OpNode (OpTy QPR:$Vn), (OpTy QPR:$Vm))))]> {
2611 (outs QPR:$Vd), (ins QPR:$Vn, QPR:$Vm), N3RegFrm, itin,
2612 OpcodeStr, "$Vd, $Vn, $Vm", "",
2613 [(set QPR:$Vd, (ResTy (OpNode (OpTy QPR:$Vn), (OpTy QPR:$Vm))))]>{
2622 (outs QPR:$Vd), (ins QPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2623 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2626 (ResTy (NEONvduplane (OpTy DPR_VFP2:$Vm),
2635 (outs QPR:$Vd), (ins QPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2636 NVMulSLFrm, IIC_VMULi16Q, OpcodeStr, Dt,"$Vd, $Vn, $Vm$lane", "",
2639 (ResTy (NEONvduplane (OpTy DPR_8:$Vm),
2651 (outs DPR:$Vd), (ins DPR:$Vn, DPR:$Vm), f, itin,
2652 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
2653 [(set DPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]> {
2664 (outs DPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin, OpcodeStr, Dt,
2665 [(set DPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]>;
2670 (outs DPR:$Vd), (ins DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2671 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2674 (Ty (NEONvduplane (Ty DPR_VFP2:$Vm),
2682 (outs DPR:$Vd), (ins DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2683 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2686 (Ty (NEONvduplane (Ty DPR_8:$Vm), imm:$lane)))))]> {
2693 (outs DPR:$Vd), (ins DPR:$Vm, DPR:$Vn), f, itin,
2694 OpcodeStr, Dt, "$Vd, $Vm, $Vn", "",
2695 [(set DPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vm), (OpTy DPR:$Vn))))]> {
2696 let TwoOperandAliasConstraint = "$Vm = $Vd";
2704 (outs QPR:$Vd), (ins QPR:$Vn, QPR:$Vm), f, itin,
2705 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
2706 [(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vn), (OpTy QPR:$Vm))))]> {
2717 (outs QPR:$Vd), (ins QPR:$Vn, QPR:$Vm), f, itin, OpcodeStr, Dt,
2718 [(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vn), (OpTy QPR:$Vm))))]>;
2726 (outs QPR:$Vd), (ins QPR:$src, QPR:$Vn, QPR:$Vm),
2729 (OpTy QPR:$Vm))))]> {
2737 (outs QPR:$Vd), (ins QPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2738 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2741 (ResTy (NEONvduplane (OpTy DPR_VFP2:$Vm),
2749 (outs QPR:$Vd), (ins QPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2750 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2753 (ResTy (NEONvduplane (OpTy DPR_8:$Vm),
2761 (outs QPR:$Vd), (ins QPR:$Vm, QPR:$Vn), f, itin,
2762 OpcodeStr, Dt, "$Vd, $Vm, $Vn", "",
2763 [(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vm), (OpTy QPR:$Vn))))]> {
2764 let TwoOperandAliasConstraint = "$Vm = $Vd";
2773 (outs DPR:$Vd), (ins DPR:$src1, DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2774 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2776 (Ty (MulOp DPR:$Vn, DPR:$Vm)))))]>;
2783 (ins DPR:$src1, DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2785 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2789 (Ty (NEONvduplane (Ty DPR_VFP2:$Vm),
2796 (ins DPR:$src1, DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2798 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2802 (Ty (NEONvduplane (Ty DPR_8:$Vm),
2809 (outs QPR:$Vd), (ins QPR:$src1, QPR:$Vn, QPR:$Vm), N3RegFrm, itin,
2810 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2812 (Ty (MulOp QPR:$Vn, QPR:$Vm)))))]>;
2818 (ins QPR:$src1, QPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2820 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2824 (ResTy (NEONvduplane (OpTy DPR_VFP2:$Vm),
2832 (ins QPR:$src1, QPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2834 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2838 (ResTy (NEONvduplane (OpTy DPR_8:$Vm),
2846 (outs DPR:$Vd), (ins DPR:$src1, DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2847 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2849 (Ty (IntOp (Ty DPR:$Vn), (Ty DPR:$Vm))))))]>;
2854 (outs QPR:$Vd), (ins QPR:$src1, QPR:$Vn, QPR:$Vm), N3RegFrm, itin,
2855 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2857 (Ty (IntOp (Ty QPR:$Vn), (Ty QPR:$Vm))))))]>;
2865 (outs DPR:$Vd), (ins DPR:$src1, DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2866 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2868 (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]>;
2873 (outs QPR:$Vd), (ins QPR:$src1, QPR:$Vn, QPR:$Vm), N3RegFrm, itin,
2874 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2876 (OpTy QPR:$Vn), (OpTy QPR:$Vm))))]>;
2883 (outs QPR:$Vd), (ins QPR:$src1, DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2884 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2887 (TyD DPR:$Vm)))))]>;
2892 (ins QPR:$src1, DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2894 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2898 (TyD (NEONvduplane (TyD DPR_VFP2:$Vm),
2904 (ins QPR:$src1, DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2906 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2910 (TyD (NEONvduplane (TyD DPR_8:$Vm),
2919 (outs QPR:$Vd), (ins QPR:$src1, DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2920 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2923 (TyD DPR:$Vm)))))))]>;
2931 (outs QPR:$Vd), (ins QPR:$src1, DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2932 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "$src1 = $Vd",
2934 (TyQ (IntOp (TyQ QPR:$src1), (TyD DPR:$Vn), (TyD DPR:$Vm))))]>;
2940 (ins QPR:$src1, DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2942 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2946 (OpTy (NEONvduplane (OpTy DPR_VFP2:$Vm),
2953 (ins QPR:$src1, DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2955 OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "$src1 = $Vd",
2959 (OpTy (NEONvduplane (OpTy DPR_8:$Vm),
2967 (outs DPR:$Vd), (ins QPR:$Vn, QPR:$Vm), N3RegFrm, IIC_VBINi4D,
2968 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
2969 [(set DPR:$Vd, (TyD (IntOp (TyQ QPR:$Vn), (TyQ QPR:$Vm))))]> {
2978 (outs QPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
2979 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
2980 [(set QPR:$Vd, (TyQ (OpNode (TyD DPR:$Vn), (TyD DPR:$Vm))))]> {
2988 (outs QPR:$Vd), (ins DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
2989 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
2992 (TyD (NEONvduplane (TyD DPR_VFP2:$Vm),imm:$lane)))))]>;
2997 (outs QPR:$Vd), (ins DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
2998 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
3001 (TyD (NEONvduplane (TyD DPR_8:$Vm), imm:$lane)))))]>;
3009 (outs QPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
3010 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
3012 (TyQ (ExtOp (TyD DPR:$Vm)))))]> {
3022 (outs QPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
3023 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
3025 (TyD DPR:$Vm))))))]> {
3034 (outs QPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin,
3035 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
3036 [(set QPR:$Vd, (TyQ (IntOp (TyD DPR:$Vn), (TyD DPR:$Vm))))]> {
3046 (outs QPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin, OpcodeStr, Dt,
3047 [(set QPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]>;
3053 (outs QPR:$Vd), (ins DPR:$Vn, DPR_VFP2:$Vm, VectorIndex32:$lane),
3054 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
3057 (OpTy (NEONvduplane (OpTy DPR_VFP2:$Vm),
3063 (outs QPR:$Vd), (ins DPR:$Vn, DPR_8:$Vm, VectorIndex16:$lane),
3064 NVMulSLFrm, itin, OpcodeStr, Dt, "$Vd, $Vn, $Vm$lane", "",
3067 (OpTy (NEONvduplane (OpTy DPR_8:$Vm),
3075 (outs QPR:$Vd), (ins QPR:$Vn, DPR:$Vm), N3RegFrm, IIC_VSUBiD,
3076 OpcodeStr, Dt, "$Vd, $Vn, $Vm", "",
3078 (TyQ (ExtOp (TyD DPR:$Vm)))))]> {
3090 (ins DPR:$Vm), IIC_VSHLiD, OpcodeStr, Dt, "$Vd, $Vm", "",
3091 [(set DPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vm))))]>;
3097 (ins QPR:$Vm), IIC_VSHLiD, OpcodeStr, Dt, "$Vd, $Vm", "",
3098 [(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vm))))]>;
3108 (outs DPR:$Vd), (ins DPR:$src1, DPR:$Vm), IIC_VPALiD,
3109 OpcodeStr, Dt, "$Vd, $Vm", "$src1 = $Vd",
3110 [(set DPR:$Vd, (ResTy (IntOp (ResTy DPR:$src1), (OpTy DPR:$Vm))))]>;
3116 (outs QPR:$Vd), (ins QPR:$src1, QPR:$Vm), IIC_VPALiQ,
3117 OpcodeStr, Dt, "$Vd, $Vm", "$src1 = $Vd",
3118 [(set QPR:$Vd, (ResTy (IntOp (ResTy QPR:$src1), (OpTy QPR:$Vm))))]>;
3122 let TwoOperandAliasConstraint = "$Vm = $Vd" in {
3127 (outs DPR:$Vd), (ins DPR:$Vm, ImmTy:$SIMM), f, itin,
3128 OpcodeStr, Dt, "$Vd, $Vm, $SIMM", "",
3129 [(set DPR:$Vd, (Ty (OpNode (Ty DPR:$Vm), (i32 imm:$SIMM))))]>;
3134 (outs QPR:$Vd), (ins QPR:$Vm, ImmTy:$SIMM), f, itin,
3135 OpcodeStr, Dt, "$Vd, $Vm, $SIMM", "",
3136 [(set QPR:$Vd, (Ty (OpNode (Ty QPR:$Vm), (i32 imm:$SIMM))))]>;
3145 (outs QPR:$Vd), (ins DPR:$Vm, ImmTy:$SIMM), N2RegVShLFrm,
3146 IIC_VSHLiD, OpcodeStr, Dt, "$Vd, $Vm, $SIMM", "",
3147 [(set QPR:$Vd, (ResTy (OpNode (OpTy DPR:$Vm), ImmTy:$SIMM)))]>;
3155 (outs DPR:$Vd), (ins QPR:$Vm, ImmTy:$SIMM), N2RegVShRFrm, itin,
3156 OpcodeStr, Dt, "$Vd, $Vm, $SIMM", "",
3157 [(set DPR:$Vd, (ResTy (OpNode (OpTy QPR:$Vm),
3162 let TwoOperandAliasConstraint = "$Vm = $Vd" in {
3167 (ins DPR:$src1, DPR:$Vm, ImmTy:$SIMM), N2RegVShRFrm, IIC_VPALiD,
3168 OpcodeStr, Dt, "$Vd, $Vm, $SIMM", "$src1 = $Vd",
3170 (Ty (ShOp DPR:$Vm, (i32 imm:$SIMM))))))]>;
3175 (ins QPR:$src1, QPR:$Vm, ImmTy:$SIMM), N2RegVShRFrm, IIC_VPALiD,
3176 OpcodeStr, Dt, "$Vd, $Vm, $SIMM", "$src1 = $Vd",
3178 (Ty (ShOp QPR:$Vm, (i32 imm:$SIMM))))))]>;
3183 let TwoOperandAliasConstraint = "$Vm = $Vd" in {
3188 (ins DPR:$src1, DPR:$Vm, ImmTy:$SIMM), f, IIC_VSHLiD,
3189 OpcodeStr, Dt, "$Vd, $Vm, $SIMM", "$src1 = $Vd",
3190 [(set DPR:$Vd, (Ty (ShOp DPR:$src1, DPR:$Vm, (i32 imm:$SIMM))))]>;
3195 (ins QPR:$src1, QPR:$Vm, ImmTy:$SIMM), f, IIC_VSHLiQ,
3196 OpcodeStr, Dt, "$Vd, $Vm, $SIMM", "$src1 = $Vd",
3197 [(set QPR:$Vd, (Ty (ShOp QPR:$src1, QPR:$Vm, (i32 imm:$SIMM))))]>;
3206 (outs DPR:$Vd), (ins DPR:$Vm, neon_vcvt_imm32:$SIMM), NVCVTFrm,
3207 IIC_VUNAD, OpcodeStr, Dt, "$Vd, $Vm, $SIMM", "",
3208 [(set DPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vm), (i32 imm:$SIMM))))]>;
3213 (outs QPR:$Vd), (ins QPR:$Vm, neon_vcvt_imm32:$SIMM), NVCVTFrm,
3214 IIC_VUNAQ, OpcodeStr, Dt, "$Vd, $Vm, $SIMM", "",
3215 [(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vm), (i32 imm:$SIMM))))]>;
3236 (outs DPR:$Vd), (ins DPR:$Vm), NoItinerary,
3238 [(set DPR:$Vd, (v8i8 (OpNode (v8i8 DPR:$Vm))))]>;
3240 (outs DPR:$Vd), (ins DPR:$Vm), NoItinerary,
3242 [(set DPR:$Vd, (v4i16 (OpNode (v4i16 DPR:$Vm))))]>;
3244 (outs DPR:$Vd), (ins DPR:$Vm), NoItinerary,
3246 [(set DPR:$Vd, (v2i32 (OpNode (v2i32 DPR:$Vm))))]>;
3248 (outs DPR:$Vd), (ins DPR:$Vm), NoItinerary,
3250 [(set DPR:$Vd, (v2i32 (OpNode (v2f32 DPR:$Vm))))]> {
3254 (outs DPR:$Vd), (ins DPR:$Vm), NoItinerary,
3256 [(set DPR:$Vd, (v4i16 (OpNode (v4f16 DPR:$Vm))))]>,
3263 (outs QPR:$Vd), (ins QPR:$Vm), NoItinerary,
3265 [(set QPR:$Vd, (v16i8 (OpNode (v16i8 QPR:$Vm))))]>;
3267 (outs QPR:$Vd), (ins QPR:$Vm), NoItinerary,
3269 [(set QPR:$Vd, (v8i16 (OpNode (v8i16 QPR:$Vm))))]>;
3271 (outs QPR:$Vd), (ins QPR:$Vm), NoItinerary,
3273 [(set QPR:$Vd, (v4i32 (OpNode (v4i32 QPR:$Vm))))]>;
3275 (outs QPR:$Vd), (ins QPR:$Vm), NoItinerary,
3277 [(set QPR:$Vd, (v4i32 (OpNode (v4f32 QPR:$Vm))))]> {
3281 (outs QPR:$Vd), (ins QPR:$Vm), NoItinerary,
3283 [(set QPR:$Vd, (v8i16 (OpNode (v8f16 QPR:$Vm))))]>,
4163 def : Pat<(v8i8 (trunc (NEONvshru (add (v8i16 QPR:$Vn), QPR:$Vm), 8))),
4164 (VADDHNv8i8 QPR:$Vn, QPR:$Vm)>;
4165 def : Pat<(v4i16 (trunc (NEONvshru (add (v4i32 QPR:$Vn), QPR:$Vm), 16))),
4166 (VADDHNv4i16 QPR:$Vn, QPR:$Vm)>;
4167 def : Pat<(v2i32 (trunc (NEONvshru (add (v2i64 QPR:$Vn), QPR:$Vm), 32))),
4168 (VADDHNv2i32 QPR:$Vn, QPR:$Vm)>;
4372 (v4i16 DPR:$Vm))))),
4373 (v4i16 (VQRDMLAHv4i16 DPR:$src1, DPR:$Vn, DPR:$Vm))>;
4377 (v2i32 DPR:$Vm))))),
4378 (v2i32 (VQRDMLAHv2i32 DPR:$src1, DPR:$Vn, DPR:$Vm))>;
4382 (v8i16 QPR:$Vm))))),
4383 (v8i16 (VQRDMLAHv8i16 QPR:$src1, QPR:$Vn, QPR:$Vm))>;
4387 (v4i32 QPR:$Vm))))),
4388 (v4i32 (VQRDMLAHv4i32 QPR:$src1, QPR:$Vn, QPR:$Vm))>;
4397 (v4i16 (NEONvduplane (v4i16 DPR_8:$Vm),
4399 (v4i16 (VQRDMLAHslv4i16 DPR:$src1, DPR:$Vn, DPR_8:$Vm,
4405 (v2i32 (NEONvduplane (v2i32 DPR_VFP2:$Vm),
4407 (v2i32 (VQRDMLAHslv2i32 DPR:$src1, DPR:$Vn, DPR_VFP2:$Vm,
4442 (v4i16 DPR:$Vm))))),
4443 (v4i16 (VQRDMLSHv4i16 DPR:$src1, DPR:$Vn, DPR:$Vm))>;
4447 (v2i32 DPR:$Vm))))),
4448 (v2i32 (VQRDMLSHv2i32 DPR:$src1, DPR:$Vn, DPR:$Vm))>;
4452 (v8i16 QPR:$Vm))))),
4453 (v8i16 (VQRDMLSHv8i16 QPR:$src1, QPR:$Vn, QPR:$Vm))>;
4457 (v4i32 QPR:$Vm))))),
4458 (v4i32 (VQRDMLSHv4i32 QPR:$src1, QPR:$Vn, QPR:$Vm))>;
4467 (v4i16 (NEONvduplane (v4i16 DPR_8:$Vm),
4469 (v4i16 (VQRDMLSHslv4i16 DPR:$src1, DPR:$Vn, DPR_8:$Vm, imm:$lane))>;
4474 (v2i32 (NEONvduplane (v2i32 DPR_VFP2:$Vm),
4476 (v2i32 (VQRDMLSHslv2i32 DPR:$src1, DPR:$Vn, DPR_VFP2:$Vm,
4510 (v4i16 DPR:$Vm))))),
4511 (VQDMLALv4i32 QPR:$src1, DPR:$Vn, DPR:$Vm)>;
4514 (v2i32 DPR:$Vm))))),
4515 (VQDMLALv2i64 QPR:$src1, DPR:$Vn, DPR:$Vm)>;
4518 (v4i16 (NEONvduplane (v4i16 DPR_8:$Vm),
4520 (VQDMLALslv4i16 QPR:$src1, DPR:$Vn, DPR_8:$Vm, imm:$lane)>;
4523 (v2i32 (NEONvduplane (v2i32 DPR_VFP2:$Vm),
4525 (VQDMLALslv2i32 QPR:$src1, DPR:$Vn, DPR_VFP2:$Vm, imm:$lane)>;
4598 (v4i16 DPR:$Vm))))),
4599 (VQDMLSLv4i32 QPR:$src1, DPR:$Vn, DPR:$Vm)>;
4602 (v2i32 DPR:$Vm))))),
4603 (VQDMLSLv2i64 QPR:$src1, DPR:$Vn, DPR:$Vm)>;
4606 (v4i16 (NEONvduplane (v4i16 DPR_8:$Vm),
4608 (VQDMLSLslv4i16 QPR:$src1, DPR:$Vn, DPR_8:$Vm, imm:$lane)>;
4611 (v2i32 (NEONvduplane (v2i32 DPR_VFP2:$Vm),
4613 (VQDMLSLslv2i32 QPR:$src1, DPR:$Vn, DPR_VFP2:$Vm, imm:$lane)>;
4646 def : Pat<(v2f32 (fma DPR:$Vn, DPR:$Vm, DPR:$src1)),
4647 (VFMAfd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
4649 def : Pat<(v4f32 (fma QPR:$Vn, QPR:$Vm, QPR:$src1)),
4650 (VFMAfq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
4652 def : Pat<(v2f32 (fma (fneg DPR:$Vn), DPR:$Vm, DPR:$src1)),
4653 (VFMSfd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
4655 def : Pat<(v4f32 (fma (fneg QPR:$Vn), QPR:$Vm, QPR:$src1)),
4656 (VFMSfq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
4702 def : Pat<(v8i8 (trunc (NEONvshru (sub (v8i16 QPR:$Vn), QPR:$Vm), 8))),
4703 (VSUBHNv8i8 QPR:$Vn, QPR:$Vm)>;
4704 def : Pat<(v4i16 (trunc (NEONvshru (sub (v4i32 QPR:$Vn), QPR:$Vm), 16))),
4705 (VSUBHNv4i16 QPR:$Vn, QPR:$Vm)>;
4706 def : Pat<(v2i32 (trunc (NEONvshru (sub (v2i64 QPR:$Vn), QPR:$Vm), 32))),
4707 (VSUBHNv2i32 QPR:$Vn, QPR:$Vm)>;
4725 let TwoOperandAliasConstraint = "$Vm = $Vd" in
4727 "$Vd, $Vm, #0", NEONvceqz>;
4745 let TwoOperandAliasConstraint = "$Vm = $Vd" in {
4747 "$Vd, $Vm, #0", NEONvcgez>;
4749 "$Vd, $Vm, #0", NEONvclez>;
4768 let TwoOperandAliasConstraint = "$Vm = $Vd" in {
4770 "$Vd, $Vm, #0", NEONvcgtz>;
4772 "$Vd, $Vm, #0", NEONvcltz>;
4801 def: NEONInstAlias<"vaclt${p}.f32 $Vd, $Vn, $Vm",
4802 (VACGTfd DPR:$Vd, DPR:$Vm, DPR:$Vn, pred:$p)>;
4803 def: NEONInstAlias<"vaclt${p}.f32 $Vd, $Vn, $Vm",
4804 (VACGTfq QPR:$Vd, QPR:$Vm, QPR:$Vn, pred:$p)>;
4805 def: NEONInstAlias<"vacle${p}.f32 $Vd, $Vn, $Vm",
4806 (VACGEfd DPR:$Vd, DPR:$Vm, DPR:$Vn, pred:$p)>;
4807 def: NEONInstAlias<"vacle${p}.f32 $Vd, $Vn, $Vm",
4808 (VACGEfq QPR:$Vd, QPR:$Vm, QPR:$Vn, pred:$p)>;
4810 def: NEONInstAlias<"vaclt${p}.f16 $Vd, $Vn, $Vm",
4811 (VACGThd DPR:$Vd, DPR:$Vm, DPR:$Vn, pred:$p)>;
4812 def: NEONInstAlias<"vaclt${p}.f16 $Vd, $Vn, $Vm",
4813 (VACGThq QPR:$Vd, QPR:$Vm, QPR:$Vn, pred:$p)>;
4814 def: NEONInstAlias<"vacle${p}.f16 $Vd, $Vn, $Vm",
4815 (VACGEhd DPR:$Vd, DPR:$Vm, DPR:$Vn, pred:$p)>;
4816 def: NEONInstAlias<"vacle${p}.f16 $Vd, $Vn, $Vm",
4817 (VACGEhq QPR:$Vd, QPR:$Vm, QPR:$Vn, pred:$p)>;
4820 def: NEONInstAlias<"vaclt${p}.f32 $Vd, $Vm",
4821 (VACGTfd DPR:$Vd, DPR:$Vm, DPR:$Vd, pred:$p)>;
4822 def: NEONInstAlias<"vaclt${p}.f32 $Vd, $Vm",
4823 (VACGTfq QPR:$Vd, QPR:$Vm, QPR:$Vd, pred:$p)>;
4824 def: NEONInstAlias<"vacle${p}.f32 $Vd, $Vm",
4825 (VACGEfd DPR:$Vd, DPR:$Vm, DPR:$Vd, pred:$p)>;
4826 def: NEONInstAlias<"vacle${p}.f32 $Vd, $Vm",
4827 (VACGEfq QPR:$Vd, QPR:$Vm, QPR:$Vd, pred:$p)>;
4829 def: NEONInstAlias<"vaclt${p}.f16 $Vd, $Vm",
4830 (VACGThd DPR:$Vd, DPR:$Vm, DPR:$Vd, pred:$p)>;
4831 def: NEONInstAlias<"vaclt${p}.f16 $Vd, $Vm",
4832 (VACGThq QPR:$Vd, QPR:$Vm, QPR:$Vd, pred:$p)>;
4833 def: NEONInstAlias<"vacle${p}.f16 $Vd, $Vm",
4834 (VACGEhd DPR:$Vd, DPR:$Vm, DPR:$Vd, pred:$p)>;
4835 def: NEONInstAlias<"vacle${p}.f16 $Vd, $Vm",
4836 (VACGEhq QPR:$Vd, QPR:$Vm, QPR:$Vd, pred:$p)>;
4905 (ins DPR:$Vn, DPR:$Vm), N3RegFrm, IIC_VBINiD,
4906 "vbic", "$Vd, $Vn, $Vm", "",
4908 (vnotd DPR:$Vm))))]>;
4910 (ins QPR:$Vn, QPR:$Vm), N3RegFrm, IIC_VBINiQ,
4911 "vbic", "$Vd, $Vn, $Vm", "",
4913 (vnotq QPR:$Vm))))]>;
4954 (ins DPR:$Vn, DPR:$Vm), N3RegFrm, IIC_VBINiD,
4955 "vorn", "$Vd, $Vn, $Vm", "",
4957 (vnotd DPR:$Vm))))]>;
4959 (ins QPR:$Vn, QPR:$Vm), N3RegFrm, IIC_VBINiQ,
4960 "vorn", "$Vd, $Vn, $Vm", "",
4962 (vnotq QPR:$Vm))))]>;
4999 (outs DPR:$Vd), (ins DPR:$Vm), IIC_VSUBiD,
5000 "vmvn", "$Vd, $Vm", "",
5001 [(set DPR:$Vd, (v2i32 (vnotd DPR:$Vm)))]>;
5003 (outs QPR:$Vd), (ins QPR:$Vm), IIC_VSUBiD,
5004 "vmvn", "$Vd, $Vm", "",
5005 [(set QPR:$Vd, (v4i32 (vnotq QPR:$Vm)))]>;
5011 (ins DPR:$src1, DPR:$Vn, DPR:$Vm),
5013 "vbsl", "$Vd, $Vn, $Vm", "$src1 = $Vd",
5015 (v2i32 (NEONvbsl DPR:$src1, DPR:$Vn, DPR:$Vm)))]>;
5017 (v8i8 DPR:$Vn), (v8i8 DPR:$Vm))),
5018 (VBSLd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
5021 (v4i16 DPR:$Vn), (v4i16 DPR:$Vm))),
5022 (VBSLd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
5025 (v2i32 DPR:$Vn), (v2i32 DPR:$Vm))),
5026 (VBSLd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
5029 (v2f32 DPR:$Vn), (v2f32 DPR:$Vm))),
5030 (VBSLd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
5033 (v1i64 DPR:$Vn), (v1i64 DPR:$Vm))),
5034 (VBSLd DPR:$src1, DPR:$Vn, DPR:$Vm)>,
5038 (and DPR:$Vm, (vnotd DPR:$Vd)))),
5039 (VBSLd DPR:$Vd, DPR:$Vn, DPR:$Vm)>,
5043 (and DPR:$Vm, (vnotd DPR:$Vd)))),
5044 (VBSLd DPR:$Vd, DPR:$Vn, DPR:$Vm)>,
5048 (ins QPR:$src1, QPR:$Vn, QPR:$Vm),
5050 "vbsl", "$Vd, $Vn, $Vm", "$src1 = $Vd",
5052 (v4i32 (NEONvbsl QPR:$src1, QPR:$Vn, QPR:$Vm)))]>;
5055 (v16i8 QPR:$Vn), (v16i8 QPR:$Vm))),
5056 (VBSLq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
5059 (v8i16 QPR:$Vn), (v8i16 QPR:$Vm))),
5060 (VBSLq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
5063 (v4i32 QPR:$Vn), (v4i32 QPR:$Vm))),
5064 (VBSLq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
5067 (v4f32 QPR:$Vn), (v4f32 QPR:$Vm))),
5068 (VBSLq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
5071 (v2i64 QPR:$Vn), (v2i64 QPR:$Vm))),
5072 (VBSLq QPR:$src1, QPR:$Vn, QPR:$Vm)>,
5076 (and QPR:$Vm, (vnotq QPR:$Vd)))),
5077 (VBSLq QPR:$Vd, QPR:$Vn, QPR:$Vm)>,
5080 (and QPR:$Vm, (vnotq QPR:$Vd)))),
5081 (VBSLq QPR:$Vd, QPR:$Vn, QPR:$Vm)>,
5088 (outs DPR:$Vd), (ins DPR:$src1, DPR:$Vn, DPR:$Vm),
5090 "vbif", "$Vd, $Vn, $Vm", "$src1 = $Vd",
5093 (outs QPR:$Vd), (ins QPR:$src1, QPR:$Vn, QPR:$Vm),
5095 "vbif", "$Vd, $Vn, $Vm", "$src1 = $Vd",
5102 (outs DPR:$Vd), (ins DPR:$src1, DPR:$Vn, DPR:$Vm),
5104 "vbit", "$Vd, $Vn, $Vm", "$src1 = $Vd",
5107 (outs QPR:$Vd), (ins QPR:$src1, QPR:$Vn, QPR:$Vm),
5109 "vbit", "$Vd, $Vn, $Vm", "$src1 = $Vd",
5606 : N2V<0b11, 0b11, size, 0b01, 0b00111, 0, 0, (outs DPR:$Vd), (ins DPR:$Vm),
5607 IIC_VSHLiD, OpcodeStr, Dt, "$Vd, $Vm", "",
5608 [(set DPR:$Vd, (Ty (vnegd DPR:$Vm)))]>;
5610 : N2V<0b11, 0b11, size, 0b01, 0b00111, 1, 0, (outs QPR:$Vd), (ins QPR:$Vm),
5611 IIC_VSHLiQ, OpcodeStr, Dt, "$Vd, $Vm", "",
5612 [(set QPR:$Vd, (Ty (vnegq QPR:$Vm)))]>;
5624 (outs DPR:$Vd), (ins DPR:$Vm), IIC_VUNAD,
5625 "vneg", "f32", "$Vd, $Vm", "",
5626 [(set DPR:$Vd, (v2f32 (fneg DPR:$Vm)))]>;
5628 (outs QPR:$Vd), (ins QPR:$Vm), IIC_VUNAQ,
5629 "vneg", "f32", "$Vd, $Vm", "",
5630 [(set QPR:$Vd, (v4f32 (fneg QPR:$Vm)))]>;
5632 (outs DPR:$Vd), (ins DPR:$Vm), IIC_VUNAD,
5633 "vneg", "f16", "$Vd, $Vm", "",
5634 [(set DPR:$Vd, (v4f16 (fneg DPR:$Vm)))]>,
5637 (outs QPR:$Vd), (ins QPR:$Vm), IIC_VUNAQ,
5638 "vneg", "f16", "$Vd, $Vm", "",
5639 [(set QPR:$Vd, (v8f16 (fneg QPR:$Vm)))]>,
5674 (outs DPR:$Vd, DPR:$Vm), (ins DPR:$in1, DPR:$in2),
5675 NoItinerary, "vswp", "$Vd, $Vm", "$in1 = $Vd, $in2 = $Vm",
5678 (outs QPR:$Vd, QPR:$Vm), (ins QPR:$in1, QPR:$in2),
5679 NoItinerary, "vswp", "$Vd, $Vm", "$in1 = $Vd, $in2 = $Vm",
5685 def : NEONInstAlias<"vmov${p} $Vd, $Vm",
5686 (VORRd DPR:$Vd, DPR:$Vm, DPR:$Vm, pred:$p)>;
5687 def : NEONInstAlias<"vmov${p} $Vd, $Vm",
5688 (VORRq QPR:$Vd, QPR:$Vm, QPR:$Vm, pred:$p)>;
5760 def : NEONInstAlias<"vmov${p}.i16 $Vd, $Vm",
5761 (VMOVv8i8 DPR:$Vd, nImmVMOVI16ByteReplicate:$Vm, pred:$p)>;
5762 def : NEONInstAlias<"vmov${p}.i32 $Vd, $Vm",
5763 (VMOVv8i8 DPR:$Vd, nImmVMOVI32ByteReplicate:$Vm, pred:$p)>;
5764 def : NEONInstAlias<"vmov${p}.i16 $Vd, $Vm",
5765 (VMOVv16i8 QPR:$Vd, nImmVMOVI16ByteReplicate:$Vm, pred:$p)>;
5766 def : NEONInstAlias<"vmov${p}.i32 $Vd, $Vm",
5767 (VMOVv16i8 QPR:$Vd, nImmVMOVI32ByteReplicate:$Vm, pred:$p)>;
5773 def : NEONInstAlias<"vmvn${p}.i16 $Vd, $Vm",
5774 (VMOVv8i8 DPR:$Vd, nImmVMVNI16ByteReplicate:$Vm, pred:$p)>;
5775 def : NEONInstAlias<"vmvn${p}.i32 $Vd, $Vm",
5776 (VMOVv8i8 DPR:$Vd, nImmVMVNI32ByteReplicate:$Vm, pred:$p)>;
5777 def : NEONInstAlias<"vmvn${p}.i16 $Vd, $Vm",
5778 (VMOVv16i8 QPR:$Vd, nImmVMVNI16ByteReplicate:$Vm, pred:$p)>;
5779 def : NEONInstAlias<"vmvn${p}.i32 $Vd, $Vm",
5780 (VMOVv16i8 QPR:$Vd, nImmVMVNI32ByteReplicate:$Vm, pred:$p)>;
6008 : NVDupLane<op19_16, 0, (outs DPR:$Vd), (ins DPR:$Vm, IdxTy:$lane),
6009 IIC_VMOVD, OpcodeStr, Dt, "$Vd, $Vm$lane",
6010 [(set DPR:$Vd, (Ty (NEONvduplane (Ty DPR:$Vm), imm:$lane)))]>;
6014 : NVDupLane<op19_16, 1, (outs QPR:$Vd), (ins DPR:$Vm, IdxTy:$lane),
6015 IIC_VMOVQ, OpcodeStr, Dt, "$Vd, $Vm$lane",
6016 [(set QPR:$Vd, (ResTy (NEONvduplane (OpTy DPR:$Vm),
6046 def : Pat<(v2f32 (NEONvduplane (v2f32 DPR:$Vm), imm:$lane)),
6047 (VDUPLN32d DPR:$Vm, imm:$lane)>;
6049 def : Pat<(v4f32 (NEONvduplane (v2f32 DPR:$Vm), imm:$lane)),
6050 (VDUPLN32q DPR:$Vm, imm:$lane)>;
6089 def : Pat<(v8i16 (anyext (v8i8 DPR:$Vm))), (VMOVLuv8i16 DPR:$Vm)>;
6090 def : Pat<(v4i32 (anyext (v4i16 DPR:$Vm))), (VMOVLuv4i32 DPR:$Vm)>;
6091 def : Pat<(v2i64 (anyext (v2i32 DPR:$Vm))), (VMOVLuv2i64 DPR:$Vm)>;
6268 (ins DPR:$Vm), IIC_VMOVD,
6269 OpcodeStr, Dt, "$Vd, $Vm", "",
6270 [(set DPR:$Vd, (Ty (NEONvrev64 (Ty DPR:$Vm))))]>;
6273 (ins QPR:$Vm), IIC_VMOVQ,
6274 OpcodeStr, Dt, "$Vd, $Vm", "",
6275 [(set QPR:$Vd, (Ty (NEONvrev64 (Ty QPR:$Vm))))]>;
6280 def : Pat<(v2f32 (NEONvrev64 (v2f32 DPR:$Vm))), (VREV64d32 DPR:$Vm)>;
6285 def : Pat<(v4f32 (NEONvrev64 (v4f32 QPR:$Vm))), (VREV64q32 QPR:$Vm)>;
6291 (ins DPR:$Vm), IIC_VMOVD,
6292 OpcodeStr, Dt, "$Vd, $Vm", "",
6293 [(set DPR:$Vd, (Ty (NEONvrev32 (Ty DPR:$Vm))))]>;
6296 (ins QPR:$Vm), IIC_VMOVQ,
6297 OpcodeStr, Dt, "$Vd, $Vm", "",
6298 [(set QPR:$Vd, (Ty (NEONvrev32 (Ty QPR:$Vm))))]>;
6310 (ins DPR:$Vm), IIC_VMOVD,
6311 OpcodeStr, Dt, "$Vd, $Vm", "",
6312 [(set DPR:$Vd, (Ty (NEONvrev16 (Ty DPR:$Vm))))]>;
6315 (ins QPR:$Vm), IIC_VMOVQ,
6316 OpcodeStr, Dt, "$Vd, $Vm", "",
6317 [(set QPR:$Vd, (Ty (NEONvrev16 (Ty QPR:$Vm))))]>;
6348 (ins DPR:$Vn, DPR:$Vm, immTy:$index), NVExtFrm,
6349 IIC_VEXTD, OpcodeStr, Dt, "$Vd, $Vn, $Vm, $index", "",
6351 (Ty DPR:$Vm), imm:$index)))]> {
6359 (ins QPR:$Vn, QPR:$Vm, imm0_15:$index), NVExtFrm,
6360 IIC_VEXTQ, OpcodeStr, Dt, "$Vd, $Vn, $Vm, $index", "",
6362 (Ty QPR:$Vm), imm:$index)))]> {
6380 (v2f32 DPR:$Vm),
6382 (VEXTd32 DPR:$Vn, DPR:$Vm, imm:$index)>;
6400 (v4f32 QPR:$Vm),
6402 (VEXTq32 QPR:$Vn, QPR:$Vm, imm:$index)>;
6444 (ins VecListOneD:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTB1,
6445 "vtbl", "8", "$Vd, $Vn, $Vm", "",
6446 [(set DPR:$Vd, (v8i8 (int_arm_neon_vtbl1 VecListOneD:$Vn, DPR:$Vm)))]>;
6450 (ins VecListDPair:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTB2,
6451 "vtbl", "8", "$Vd, $Vn, $Vm", "", []>;
6454 (ins VecListThreeD:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTB3,
6455 "vtbl", "8", "$Vd, $Vn, $Vm", "", []>;
6458 (ins VecListFourD:$Vn, DPR:$Vm),
6460 "vtbl", "8", "$Vd, $Vn, $Vm", "", []>;
6471 (ins DPR:$orig, VecListOneD:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTBX1,
6472 "vtbx", "8", "$Vd, $Vn, $Vm", "$orig = $Vd",
6474 DPR:$orig, VecListOneD:$Vn, DPR:$Vm)))]>;
6478 (ins DPR:$orig, VecListDPair:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTBX2,
6479 "vtbx", "8", "$Vd, $Vn, $Vm", "$orig = $Vd", []>;
6482 (ins DPR:$orig, VecListThreeD:$Vn, DPR:$Vm),
6484 "vtbx", "8", "$Vd, $Vn, $Vm",
6488 (ins DPR:$orig, VecListFourD:$Vn, DPR:$Vm), NVTBLFrm, IIC_VTBX4,
6489 "vtbx", "8", "$Vd, $Vn, $Vm",
7142 defm : NEONDTAnyInstAlias<"vand${p}", "$Vd, $Vn, $Vm",
7143 (VANDd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
7144 defm : NEONDTAnyInstAlias<"vand${p}", "$Vd, $Vn, $Vm",
7145 (VANDq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;
7146 defm : NEONDTAnyInstAlias<"vbic${p}", "$Vd, $Vn, $Vm",
7147 (VBICd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
7148 defm : NEONDTAnyInstAlias<"vbic${p}", "$Vd, $Vn, $Vm",
7149 (VBICq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;
7150 defm : NEONDTAnyInstAlias<"veor${p}", "$Vd, $Vn, $Vm",
7151 (VEORd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
7152 defm : NEONDTAnyInstAlias<"veor${p}", "$Vd, $Vn, $Vm",
7153 (VEORq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;
7154 defm : NEONDTAnyInstAlias<"vorr${p}", "$Vd, $Vn, $Vm",
7155 (VORRd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
7156 defm : NEONDTAnyInstAlias<"vorr${p}", "$Vd, $Vn, $Vm",
7157 (VORRq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;
7159 defm : NEONDTAnyInstAlias<"vand${p}", "$Vdn, $Vm",
7160 (VANDd DPR:$Vdn, DPR:$Vdn, DPR:$Vm, pred:$p)>;
7161 defm : NEONDTAnyInstAlias<"vand${p}", "$Vdn, $Vm",
7162 (VANDq QPR:$Vdn, QPR:$Vdn, QPR:$Vm, pred:$p)>;
7163 defm : NEONDTAnyInstAlias<"veor${p}", "$Vdn, $Vm",
7164 (VEORd DPR:$Vdn, DPR:$Vdn, DPR:$Vm, pred:$p)>;
7165 defm : NEONDTAnyInstAlias<"veor${p}", "$Vdn, $Vm",
7166 (VEORq QPR:$Vdn, QPR:$Vdn, QPR:$Vm, pred:$p)>;
7167 defm : NEONDTAnyInstAlias<"vorr${p}", "$Vdn, $Vm",
7168 (VORRd DPR:$Vdn, DPR:$Vdn, DPR:$Vm, pred:$p)>;
7169 defm : NEONDTAnyInstAlias<"vorr${p}", "$Vdn, $Vm",
7170 (VORRq QPR:$Vdn, QPR:$Vdn, QPR:$Vm, pred:$p)>;
8018 defm : NEONDTAnyInstAlias<"vmov${p}", "$Vd, $Vm",
8019 (VORRd DPR:$Vd, DPR:$Vm, DPR:$Vm, pred:$p)>;
8020 defm : NEONDTAnyInstAlias<"vmov${p}", "$Vd, $Vm",
8021 (VORRq QPR:$Vd, QPR:$Vm, QPR:$Vm, pred:$p)>;
8023 defm : NEONDTAnyInstAlias<"vmvn${p}", "$Vd, $Vm",
8024 (VMVNd DPR:$Vd, DPR:$Vm, pred:$p)>;
8025 defm : NEONDTAnyInstAlias<"vmvn${p}", "$Vd, $Vm",
8026 (VMVNq QPR:$Vd, QPR:$Vm, pred:$p)>;
8105 defm : NEONDTAnyInstAlias<"vswp${p}", "$Vd, $Vm",
8106 (VSWPd DPR:$Vd, DPR:$Vm, pred:$p)>;
8107 defm : NEONDTAnyInstAlias<"vswp${p}", "$Vd, $Vm",
8108 (VSWPq QPR:$Vd, QPR:$Vm, pred:$p)>;
8111 defm : NEONDTAnyInstAlias<"vbif${p}", "$Vd, $Vn, $Vm",
8112 (VBIFd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
8113 defm : NEONDTAnyInstAlias<"vbit${p}", "$Vd, $Vn, $Vm",
8114 (VBITd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
8115 defm : NEONDTAnyInstAlias<"vbsl${p}", "$Vd, $Vn, $Vm",
8116 (VBSLd DPR:$Vd, DPR:$Vn, DPR:$Vm, pred:$p)>;
8117 defm : NEONDTAnyInstAlias<"vbif${p}", "$Vd, $Vn, $Vm",
8118 (VBIFq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;
8119 defm : NEONDTAnyInstAlias<"vbit${p}", "$Vd, $Vn, $Vm",
8120 (VBITq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;
8121 defm : NEONDTAnyInstAlias<"vbsl${p}", "$Vd, $Vn, $Vm",
8122 (VBSLq QPR:$Vd, QPR:$Vn, QPR:$Vm, pred:$p)>;