Lines Matching refs:op4

2522            bits<2> op17_16, bits<5> op11_7, bit op4, string OpcodeStr,
2524 : N2V<op24_23, op21_20, op19_18, op17_16, op11_7, 0, op4, (outs DPR:$Vd),
2528 bits<2> op17_16, bits<5> op11_7, bit op4, string OpcodeStr,
2530 : N2V<op24_23, op21_20, op19_18, op17_16, op11_7, 1, op4, (outs QPR:$Vd),
2536 bits<2> op17_16, bits<5> op11_7, bit op4,
2539 : N2V<op24_23, op21_20, op19_18, op17_16, op11_7, 0, op4, (outs DPR:$Vd),
2543 bits<2> op17_16, bits<5> op11_7, bit op4,
2546 : N2V<op24_23, op21_20, op19_18, op17_16, op11_7, 1, op4, (outs QPR:$Vd),
2586 bits<2> op17_16, bits<5> op11_7, bit op6, bit op4,
2589 : N2V<op24_23, op21_20, op19_18, op17_16, op11_7, op6, op4, (outs DPR:$Vd),
2595 bits<2> op17_16, bits<5> op11_7, bit op6, bit op4,
2598 : N2V<op24_23, op21_20, op19_18, op17_16, op11_7, op6, op4, (outs DPR:$Vd),
2604 bits<2> op17_16, bits<5> op11_7, bit op6, bit op4,
2607 : N2V<op24_23, op21_20, op19_18, op17_16, op11_7, op6, op4, (outs QPR:$Vd),
2613 bits<2> op17_16, bits<5> op11_7, bit op6, bit op4,
2616 : N2V<op24_23, op21_20, op19_18, op17_16, op11_7, op6, op4, (outs QPR:$Vd),
2633 class N3VD<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2636 : N3V<op24, op23, op21_20, op11_8, 0, op4,
2645 class N3VDX<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2649 : N3VX<op24, op23, op21_20, op11_8, 0, op4,
2684 class N3VQ<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2687 : N3V<op24, op23, op21_20, op11_8, 1, op4,
2695 class N3VQX<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2698 : N3VX<op24, op23, op21_20, op11_8, 1, op4,
2735 class N3VDInt<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2738 : N3V<op24, op23, op21_20, op11_8, 0, op4,
2748 bit op4, Format f, InstrItinClass itin, string OpcodeStr,
2751 : N3Vnp<op27_23, op21_20, op11_8, op6, op4,
2780 class N3VDIntSh<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2783 : N3V<op24, op23, op21_20, op11_8, 0, op4,
2791 class N3VQInt<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2794 : N3V<op24, op23, op21_20, op11_8, 1, op4,
2804 bit op4, Format f, InstrItinClass itin, string OpcodeStr,
2807 : N3Vnp<op27_23, op21_20, op11_8, op6, op4,
2815 bit op4, Format f, InstrItinClass itin, string OpcodeStr,
2818 : N3Vnp<op27_23, op21_20, op11_8, op6, op4,
2851 class N3VQIntSh<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2854 : N3V<op24, op23, op21_20, op11_8, 1, op4,
2863 class N3VDMulOp<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2866 : N3V<op24, op23, op21_20, op11_8, 0, op4,
2899 class N3VQMulOp<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2902 : N3V<op24, op23, op21_20, op11_8, 1, op4,
2936 class N3VDIntOp<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2939 : N3V<op24, op23, op21_20, op11_8, 0, op4,
2944 class N3VQIntOp<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2947 : N3V<op24, op23, op21_20, op11_8, 1, op4,
2955 class N3VDInt3<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2958 : N3V<op24, op23, op21_20, op11_8, 0, op4,
2963 class N3VQInt3<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2966 : N3V<op24, op23, op21_20, op11_8, 1, op4,
2973 class N3VLMulOp<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
2976 : N3V<op24, op23, op21_20, op11_8, 0, op4,
3008 class N3VLIntExtOp<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
3012 : N3V<op24, op23, op21_20, op11_8, 0, op4,
3021 class N3VLInt3<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
3024 : N3V<op24, op23, op21_20, op11_8, 0, op4,
3057 class N3VNInt<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
3060 : N3V<op24, op23, op21_20, op11_8, 0, op4,
3068 class N3VL<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
3071 : N3V<op24, op23, op21_20, op11_8, 0, op4,
3098 class N3VLExt<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
3102 : N3V<op24, op23, op21_20, op11_8, 0, op4,
3111 class N3VLIntExt<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
3115 : N3V<op24, op23, op21_20, op11_8, 0, op4,
3124 class N3VLInt<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
3127 : N3V<op24, op23, op21_20, op11_8, 0, op4,
3136 bit op4, InstrItinClass itin, string OpcodeStr,
3139 : N3Vnp<op27_23, op21_20, op11_8, op6, op4,
3168 class N3VW<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
3171 : N3V<op24, op23, op21_20, op11_8, 0, op4,
3183 bits<2> op17_16, bits<5> op11_7, bit op4,
3186 : N2V<op24_23, op21_20, op19_18, op17_16, op11_7, 0, op4, (outs DPR:$Vd),
3190 bits<2> op17_16, bits<5> op11_7, bit op4,
3193 : N2V<op24_23, op21_20, op19_18, op17_16, op11_7, 1, op4, (outs QPR:$Vd),
3201 bits<2> op17_16, bits<5> op11_7, bit op4,
3204 : N2V<op24_23, op21_20, op19_18, op17_16, op11_7, 0, op4,
3209 bits<2> op17_16, bits<5> op11_7, bit op4,
3212 : N2V<op24_23, op21_20, op19_18, op17_16, op11_7, 1, op4,
3220 class N2VDSh<bit op24, bit op23, bits<4> op11_8, bit op7, bit op4,
3223 : N2VImm<op24, op23, op11_8, op7, 0, op4,
3227 class N2VQSh<bit op24, bit op23, bits<4> op11_8, bit op7, bit op4,
3230 : N2VImm<op24, op23, op11_8, op7, 1, op4,
3237 class N2VLSh<bit op24, bit op23, bits<4> op11_8, bit op7, bit op6, bit op4,
3241 : N2VImm<op24, op23, op11_8, op7, op6, op4,
3247 class N2VNSh<bit op24, bit op23, bits<4> op11_8, bit op7, bit op6, bit op4,
3251 : N2VImm<op24, op23, op11_8, op7, op6, op4,
3260 class N2VDShAdd<bit op24, bit op23, bits<4> op11_8, bit op7, bit op4,
3263 : N2VImm<op24, op23, op11_8, op7, 0, op4, (outs DPR:$Vd),
3268 class N2VQShAdd<bit op24, bit op23, bits<4> op11_8, bit op7, bit op4,
3271 : N2VImm<op24, op23, op11_8, op7, 1, op4, (outs QPR:$Vd),
3281 class N2VDShIns<bit op24, bit op23, bits<4> op11_8, bit op7, bit op4,
3284 : N2VImm<op24, op23, op11_8, op7, 0, op4, (outs DPR:$Vd),
3288 class N2VQShIns<bit op24, bit op23, bits<4> op11_8, bit op7, bit op4,
3291 : N2VImm<op24, op23, op11_8, op7, 1, op4, (outs QPR:$Vd),
3299 class N2VCvtD<bit op24, bit op23, bits<4> op11_8, bit op7, bit op4,
3302 : N2VImm<op24, op23, op11_8, op7, 0, op4,
3306 class N2VCvtQ<bit op24, bit op23, bits<4> op11_8, bit op7, bit op4,
3309 : N2VImm<op24, op23, op11_8, op7, 1, op4,
3329 bits<5> op11_7, bit op4, string opc, string Dt,
3332 def v8i8 : N2V<op24_23, op21_20, 0b00, op17_16, op11_7, 0, op4,
3336 def v4i16 : N2V<op24_23, op21_20, 0b01, op17_16, op11_7, 0, op4,
3340 def v2i32 : N2V<op24_23, op21_20, 0b10, op17_16, op11_7, 0, op4,
3344 def v2f32 : N2V<op24_23, op21_20, 0b10, op17_16, op11_7, 0, op4,
3350 def v4f16 : N2V<op24_23, op21_20, 0b01, op17_16, op11_7, 0, op4,
3359 def v16i8 : N2V<op24_23, op21_20, 0b00, op17_16, op11_7, 1, op4,
3363 def v8i16 : N2V<op24_23, op21_20, 0b01, op17_16, op11_7, 1, op4,
3367 def v4i32 : N2V<op24_23, op21_20, 0b10, op17_16, op11_7, 1, op4,
3371 def v4f32 : N2V<op24_23, op21_20, 0b10, op17_16, op11_7, 1, op4,
3377 def v8f16 : N2V<op24_23, op21_20, 0b01, op17_16, op11_7, 1, op4,
3387 class N3VQ_cmp<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
3390 : N3V<op24, op23, op21_20, op11_8, 1, op4,
3399 class N3VD_cmp<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op4,
3402 : N3V<op24, op23, op21_20, op11_8, 0, op4,
3411 multiclass N3V_QHS_cmp<bit op24, bit op23, bits<4> op11_8, bit op4,
3417 def v8i8 : N3VD_cmp<op24, op23, 0b00, op11_8, op4, itinD16,
3420 def v4i16 : N3VD_cmp<op24, op23, 0b01, op11_8, op4, itinD16,
3423 def v2i32 : N3VD_cmp<op24, op23, 0b10, op11_8, op4, itinD32,
3428 def v16i8 : N3VQ_cmp<op24, op23, 0b00, op11_8, op4, itinQ16,
3431 def v8i16 : N3VQ_cmp<op24, op23, 0b01, op11_8, op4, itinQ16,
3434 def v4i32 : N3VQ_cmp<op24, op23, 0b10, op11_8, op4, itinQ32,
3443 bits<5> op11_7, bit op4,
3447 def v8i8 : N2VDInt<op24_23, op21_20, 0b00, op17_16, op11_7, op4,
3449 def v4i16 : N2VDInt<op24_23, op21_20, 0b01, op17_16, op11_7, op4,
3451 def v2i32 : N2VDInt<op24_23, op21_20, 0b10, op17_16, op11_7, op4,
3455 def v16i8 : N2VQInt<op24_23, op21_20, 0b00, op17_16, op11_7, op4,
3457 def v8i16 : N2VQInt<op24_23, op21_20, 0b01, op17_16, op11_7, op4,
3459 def v4i32 : N2VQInt<op24_23, op21_20, 0b10, op17_16, op11_7, op4,
3467 bits<5> op11_7, bit op6, bit op4,
3470 def v8i8 : N2VN<op24_23, op21_20, 0b00, op17_16, op11_7, op6, op4,
3473 def v4i16 : N2VN<op24_23, op21_20, 0b01, op17_16, op11_7, op6, op4,
3476 def v2i32 : N2VN<op24_23, op21_20, 0b10, op17_16, op11_7, op6, op4,
3484 bits<5> op11_7, bit op6, bit op4,
3487 def v8i8 : N2VNInt<op24_23, op21_20, 0b00, op17_16, op11_7, op6, op4,
3490 def v4i16 : N2VNInt<op24_23, op21_20, 0b01, op17_16, op11_7, op6, op4,
3493 def v2i32 : N2VNInt<op24_23, op21_20, 0b10, op17_16, op11_7, op6, op4,
3501 multiclass N2VL_QHS<bits<2> op24_23, bits<5> op11_7, bit op6, bit op4,
3503 def v8i16 : N2VL<op24_23, 0b00, 0b10, 0b00, op11_7, op6, op4, IIC_VQUNAiD,
3505 def v4i32 : N2VL<op24_23, 0b01, 0b00, 0b00, op11_7, op6, op4, IIC_VQUNAiD,
3507 def v2i64 : N2VL<op24_23, 0b10, 0b00, 0b00, op11_7, op6, op4, IIC_VQUNAiD,
3515 multiclass N3V_QHS<bit op24, bit op23, bits<4> op11_8, bit op4,
3521 def v8i8 : N3VD<op24, op23, 0b00, op11_8, op4, itinD16,
3524 def v4i16 : N3VD<op24, op23, 0b01, op11_8, op4, itinD16,
3527 def v2i32 : N3VD<op24, op23, 0b10, op11_8, op4, itinD32,
3532 def v16i8 : N3VQ<op24, op23, 0b00, op11_8, op4, itinQ16,
3535 def v8i16 : N3VQ<op24, op23, 0b01, op11_8, op4, itinQ16,
3538 def v4i32 : N3VQ<op24, op23, 0b10, op11_8, op4, itinQ32,
3552 multiclass N3V_QHSD<bit op24, bit op23, bits<4> op11_8, bit op4,
3556 : N3V_QHS<op24, op23, op11_8, op4, itinD, itinD, itinQ, itinQ,
3558 def v1i64 : N3VD<op24, op23, 0b11, op11_8, op4, itinD,
3561 def v2i64 : N3VQ<op24, op23, 0b11, op11_8, op4, itinQ,
3570 multiclass N3VInt_HS<bit op24, bit op23, bits<4> op11_8, bit op4, Format f,
3576 def v4i16 : N3VDInt<op24, op23, 0b01, op11_8, op4, f, itinD16,
3579 def v2i32 : N3VDInt<op24, op23, 0b10, op11_8, op4, f, itinD32,
3584 def v8i16 : N3VQInt<op24, op23, 0b01, op11_8, op4, f, itinQ16,
3587 def v4i32 : N3VQInt<op24, op23, 0b10, op11_8, op4, f, itinQ32,
3591 multiclass N3VInt_HSSh<bit op24, bit op23, bits<4> op11_8, bit op4, Format f,
3597 def v4i16 : N3VDIntSh<op24, op23, 0b01, op11_8, op4, f, itinD16,
3600 def v2i32 : N3VDIntSh<op24, op23, 0b10, op11_8, op4, f, itinD32,
3605 def v8i16 : N3VQIntSh<op24, op23, 0b01, op11_8, op4, f, itinQ16,
3608 def v4i32 : N3VQIntSh<op24, op23, 0b10, op11_8, op4, f, itinQ32,
3628 multiclass N3VInt_QHS<bit op24, bit op23, bits<4> op11_8, bit op4, Format f,
3633 : N3VInt_HS<op24, op23, op11_8, op4, f, itinD16, itinD32, itinQ16, itinQ32,
3635 def v8i8 : N3VDInt<op24, op23, 0b00, op11_8, op4, f, itinD16,
3638 def v16i8 : N3VQInt<op24, op23, 0b00, op11_8, op4, f, itinQ16,
3642 multiclass N3VInt_QHSSh<bit op24, bit op23, bits<4> op11_8, bit op4, Format f,
3647 : N3VInt_HSSh<op24, op23, op11_8, op4, f, itinD16, itinD32, itinQ16, itinQ32,
3649 def v8i8 : N3VDIntSh<op24, op23, 0b00, op11_8, op4, f, itinD16,
3652 def v16i8 : N3VQIntSh<op24, op23, 0b00, op11_8, op4, f, itinQ16,
3659 multiclass N3VInt_QHSD<bit op24, bit op23, bits<4> op11_8, bit op4, Format f,
3664 : N3VInt_QHS<op24, op23, op11_8, op4, f, itinD16, itinD32, itinQ16, itinQ32,
3666 def v1i64 : N3VDInt<op24, op23, 0b11, op11_8, op4, f, itinD32,
3669 def v2i64 : N3VQInt<op24, op23, 0b11, op11_8, op4, f, itinQ32,
3673 multiclass N3VInt_QHSDSh<bit op24, bit op23, bits<4> op11_8, bit op4, Format f,
3678 : N3VInt_QHSSh<op24, op23, op11_8, op4, f, itinD16, itinD32, itinQ16, itinQ32,
3680 def v1i64 : N3VDIntSh<op24, op23, 0b11, op11_8, op4, f, itinD32,
3683 def v2i64 : N3VQIntSh<op24, op23, 0b11, op11_8, op4, f, itinQ32,
3690 multiclass N3VNInt_HSD<bit op24, bit op23, bits<4> op11_8, bit op4,
3693 def v8i8 : N3VNInt<op24, op23, 0b00, op11_8, op4,
3696 def v4i16 : N3VNInt<op24, op23, 0b01, op11_8, op4,
3699 def v2i32 : N3VNInt<op24, op23, 0b10, op11_8, op4,
3707 multiclass N3VL_QHS<bit op24, bit op23, bits<4> op11_8, bit op4,
3711 def v8i16 : N3VL<op24, op23, 0b00, op11_8, op4, itin16,
3714 def v4i32 : N3VL<op24, op23, 0b01, op11_8, op4, itin16,
3717 def v2i64 : N3VL<op24, op23, 0b10, op11_8, op4, itin32,
3731 multiclass N3VLExt_QHS<bit op24, bit op23, bits<4> op11_8, bit op4,
3735 def v8i16 : N3VLExt<op24, op23, 0b00, op11_8, op4, itin16,
3738 def v4i32 : N3VLExt<op24, op23, 0b01, op11_8, op4, itin16,
3741 def v2i64 : N3VLExt<op24, op23, 0b10, op11_8, op4, itin32,
3749 multiclass N3VLInt_HS<bit op24, bit op23, bits<4> op11_8, bit op4,
3753 def v4i32 : N3VLInt<op24, op23, 0b01, op11_8, op4, itin16,
3756 def v2i64 : N3VLInt<op24, op23, 0b10, op11_8, op4, itin32,
3771 multiclass N3VLInt_QHS<bit op24, bit op23, bits<4> op11_8, bit op4,
3775 : N3VLInt_HS<op24, op23, op11_8, op4, itin16, itin32, OpcodeStr, Dt,
3777 def v8i16 : N3VLInt<op24, op23, 0b00, op11_8, op4, itin16,
3783 multiclass N3VLIntExt_QHS<bit op24, bit op23, bits<4> op11_8, bit op4,
3786 def v8i16 : N3VLIntExt<op24, op23, 0b00, op11_8, op4, itin,
3789 def v4i32 : N3VLIntExt<op24, op23, 0b01, op11_8, op4, itin,
3792 def v2i64 : N3VLIntExt<op24, op23, 0b10, op11_8, op4, itin,
3800 multiclass N3VW_QHS<bit op24, bit op23, bits<4> op11_8, bit op4,
3803 def v8i16 : N3VW<op24, op23, 0b00, op11_8, op4,
3806 def v4i32 : N3VW<op24, op23, 0b01, op11_8, op4,
3809 def v2i64 : N3VW<op24, op23, 0b10, op11_8, op4,
3817 multiclass N3VMulOp_QHS<bit op24, bit op23, bits<4> op11_8, bit op4,
3822 def v8i8 : N3VDMulOp<op24, op23, 0b00, op11_8, op4, itinD16,
3824 def v4i16 : N3VDMulOp<op24, op23, 0b01, op11_8, op4, itinD16,
3826 def v2i32 : N3VDMulOp<op24, op23, 0b10, op11_8, op4, itinD32,
3830 def v16i8 : N3VQMulOp<op24, op23, 0b00, op11_8, op4, itinQ16,
3832 def v8i16 : N3VQMulOp<op24, op23, 0b01, op11_8, op4, itinQ16,
3834 def v4i32 : N3VQMulOp<op24, op23, 0b10, op11_8, op4, itinQ32,
3856 multiclass N3VIntOp_QHS<bit op24, bit op23, bits<4> op11_8, bit op4,
3861 def v8i8 : N3VDIntOp<op24, op23, 0b00, op11_8, op4, itinD,
3863 def v4i16 : N3VDIntOp<op24, op23, 0b01, op11_8, op4, itinD,
3865 def v2i32 : N3VDIntOp<op24, op23, 0b10, op11_8, op4, itinD,
3869 def v16i8 : N3VQIntOp<op24, op23, 0b00, op11_8, op4, itinQ,
3871 def v8i16 : N3VQIntOp<op24, op23, 0b01, op11_8, op4, itinQ,
3873 def v4i32 : N3VQIntOp<op24, op23, 0b10, op11_8, op4, itinQ,
3879 multiclass N3VInt3_HS<bit op24, bit op23, bits<4> op11_8, bit op4,
3884 def v4i16 : N3VDInt3<op24, op23, 0b01, op11_8, op4, itinD16,
3886 def v2i32 : N3VDInt3<op24, op23, 0b10, op11_8, op4, itinD32,
3890 def v8i16 : N3VQInt3<op24, op23, 0b01, op11_8, op4, itinQ16,
3892 def v4i32 : N3VQInt3<op24, op23, 0b10, op11_8, op4, itinQ32,
3897 multiclass N3VInt3_QHS<bit op24, bit op23, bits<4> op11_8, bit op4,
3901 :N3VInt3_HS <op24, op23, op11_8, op4, itinD16, itinD32,
3904 def v8i8 : N3VDInt3<op24, op23, 0b00, op11_8, op4, itinD16,
3907 def v16i8 : N3VQInt3<op24, op23, 0b00, op11_8, op4, itinQ16,
3913 multiclass N3VLMulOp_QHS<bit op24, bit op23, bits<4> op11_8, bit op4,
3917 def v8i16 : N3VLMulOp<op24, op23, 0b00, op11_8, op4, itin16, OpcodeStr,
3919 def v4i32 : N3VLMulOp<op24, op23, 0b01, op11_8, op4, itin16, OpcodeStr,
3921 def v2i64 : N3VLMulOp<op24, op23, 0b10, op11_8, op4, itin32, OpcodeStr,
3937 multiclass N3VLInt3_HS<bit op24, bit op23, bits<4> op11_8, bit op4,
3940 def v4i32 : N3VLInt3<op24, op23, 0b01, op11_8, op4, itin16,
3942 def v2i64 : N3VLInt3<op24, op23, 0b10, op11_8, op4, itin32,
3955 multiclass N3VLInt3_QHS<bit op24, bit op23, bits<4> op11_8, bit op4,
3958 : N3VLInt3_HS<op24, op23, op11_8, op4, itin16, itin32, OpcodeStr, Dt, IntOp> {
3959 def v8i16 : N3VLInt3<op24, op23, 0b00, op11_8, op4, itin16,
3964 multiclass N3VLIntExtOp_QHS<bit op24, bit op23, bits<4> op11_8, bit op4,
3967 def v8i16 : N3VLIntExtOp<op24, op23, 0b00, op11_8, op4, itin,
3970 def v4i32 : N3VLIntExtOp<op24, op23, 0b01, op11_8, op4, itin,
3973 def v2i64 : N3VLIntExtOp<op24, op23, 0b10, op11_8, op4, itin,
3982 bits<5> op11_7, bit op4,
3985 def v8i8 : N2VDPLInt<op24_23, op21_20, 0b00, op17_16, op11_7, op4,
3987 def v4i16 : N2VDPLInt<op24_23, op21_20, 0b01, op17_16, op11_7, op4,
3989 def v2i32 : N2VDPLInt<op24_23, op21_20, 0b10, op17_16, op11_7, op4,
3993 def v16i8 : N2VQPLInt<op24_23, op21_20, 0b00, op17_16, op11_7, op4,
3995 def v8i16 : N2VQPLInt<op24_23, op21_20, 0b01, op17_16, op11_7, op4,
3997 def v4i32 : N2VQPLInt<op24_23, op21_20, 0b10, op17_16, op11_7, op4,
4005 bits<5> op11_7, bit op4,
4008 def v8i8 : N2VDPLInt2<op24_23, op21_20, 0b00, op17_16, op11_7, op4,
4010 def v4i16 : N2VDPLInt2<op24_23, op21_20, 0b01, op17_16, op11_7, op4,
4012 def v2i32 : N2VDPLInt2<op24_23, op21_20, 0b10, op17_16, op11_7, op4,
4016 def v16i8 : N2VQPLInt2<op24_23, op21_20, 0b00, op17_16, op11_7, op4,
4018 def v8i16 : N2VQPLInt2<op24_23, op21_20, 0b01, op17_16, op11_7, op4,
4020 def v4i32 : N2VQPLInt2<op24_23, op21_20, 0b10, op17_16, op11_7, op4,
4028 multiclass N2VShL_QHSD<bit op24, bit op23, bits<4> op11_8, bit op4,
4032 def v8i8 : N2VDSh<op24, op23, op11_8, 0, op4, N2RegVShLFrm, itin, i32imm,
4036 def v4i16 : N2VDSh<op24, op23, op11_8, 0, op4, N2RegVShLFrm, itin, i32imm,
4040 def v2i32 : N2VDSh<op24, op23, op11_8, 0, op4, N2RegVShLFrm, itin, i32imm,
4044 def v1i64 : N2VDSh<op24, op23, op11_8, 1, op4, N2RegVShLFrm, itin, i32imm,
4049 def v16i8 : N2VQSh<op24, op23, op11_8, 0, op4, N2RegVShLFrm, itin, i32imm,
4053 def v8i16 : N2VQSh<op24, op23, op11_8, 0, op4, N2RegVShLFrm, itin, i32imm,
4057 def v4i32 : N2VQSh<op24, op23, op11_8, 0, op4, N2RegVShLFrm, itin, i32imm,
4061 def v2i64 : N2VQSh<op24, op23, op11_8, 1, op4, N2RegVShLFrm, itin, i32imm,
4065 multiclass N2VShR_QHSD<bit op24, bit op23, bits<4> op11_8, bit op4,
4069 def v8i8 : N2VDSh<op24, op23, op11_8, 0, op4, N2RegVShRFrm, itin, shr_imm8,
4073 def v4i16 : N2VDSh<op24, op23, op11_8, 0, op4, N2RegVShRFrm, itin, shr_imm16,
4077 def v2i32 : N2VDSh<op24, op23, op11_8, 0, op4, N2RegVShRFrm, itin, shr_imm32,
4081 def v1i64 : N2VDSh<op24, op23, op11_8, 1, op4, N2RegVShRFrm, itin, shr_imm64,
4086 def v16i8 : N2VQSh<op24, op23, op11_8, 0, op4, N2RegVShRFrm, itin, shr_imm8,
4090 def v8i16 : N2VQSh<op24, op23, op11_8, 0, op4, N2RegVShRFrm, itin, shr_imm16,
4094 def v4i32 : N2VQSh<op24, op23, op11_8, 0, op4, N2RegVShRFrm, itin, shr_imm32,
4098 def v2i64 : N2VQSh<op24, op23, op11_8, 1, op4, N2RegVShRFrm, itin, shr_imm64,
4105 multiclass N2VShAdd_QHSD<bit op24, bit op23, bits<4> op11_8, bit op4,
4108 def v8i8 : N2VDShAdd<op24, op23, op11_8, 0, op4, shr_imm8,
4112 def v4i16 : N2VDShAdd<op24, op23, op11_8, 0, op4, shr_imm16,
4116 def v2i32 : N2VDShAdd<op24, op23, op11_8, 0, op4, shr_imm32,
4120 def v1i64 : N2VDShAdd<op24, op23, op11_8, 1, op4, shr_imm64,
4125 def v16i8 : N2VQShAdd<op24, op23, op11_8, 0, op4, shr_imm8,
4129 def v8i16 : N2VQShAdd<op24, op23, op11_8, 0, op4, shr_imm16,
4133 def v4i32 : N2VQShAdd<op24, op23, op11_8, 0, op4, shr_imm32,
4137 def v2i64 : N2VQShAdd<op24, op23, op11_8, 1, op4, shr_imm64,
4145 multiclass N2VShInsL_QHSD<bit op24, bit op23, bits<4> op11_8, bit op4,
4148 def v8i8 : N2VDShIns<op24, op23, op11_8, 0, op4, i32imm,
4152 def v4i16 : N2VDShIns<op24, op23, op11_8, 0, op4, i32imm,
4156 def v2i32 : N2VDShIns<op24, op23, op11_8, 0, op4, i32imm,
4160 def v1i64 : N2VDShIns<op24, op23, op11_8, 1, op4, i32imm,
4165 def v16i8 : N2VQShIns<op24, op23, op11_8, 0, op4, i32imm,
4169 def v8i16 : N2VQShIns<op24, op23, op11_8, 0, op4, i32imm,
4173 def v4i32 : N2VQShIns<op24, op23, op11_8, 0, op4, i32imm,
4177 def v2i64 : N2VQShIns<op24, op23, op11_8, 1, op4, i32imm,
4181 multiclass N2VShInsR_QHSD<bit op24, bit op23, bits<4> op11_8, bit op4,
4184 def v8i8 : N2VDShIns<op24, op23, op11_8, 0, op4, shr_imm8,
4188 def v4i16 : N2VDShIns<op24, op23, op11_8, 0, op4, shr_imm16,
4192 def v2i32 : N2VDShIns<op24, op23, op11_8, 0, op4, shr_imm32,
4196 def v1i64 : N2VDShIns<op24, op23, op11_8, 1, op4, shr_imm64,
4201 def v16i8 : N2VQShIns<op24, op23, op11_8, 0, op4, shr_imm8,
4205 def v8i16 : N2VQShIns<op24, op23, op11_8, 0, op4, shr_imm16,
4209 def v4i32 : N2VQShIns<op24, op23, op11_8, 0, op4, shr_imm32,
4213 def v2i64 : N2VQShIns<op24, op23, op11_8, 1, op4, shr_imm64,
4221 bit op4, string OpcodeStr, string Dt,
4223 def v8i16 : N2VLSh<op24, op23, op11_8, op7, op6, op4,
4227 def v4i32 : N2VLSh<op24, op23, op11_8, op7, op6, op4,
4231 def v2i64 : N2VLSh<op24, op23, op11_8, op7, op6, op4,
4240 bit op4, InstrItinClass itin, string OpcodeStr, string Dt,
4242 def v8i8 : N2VNSh<op24, op23, op11_8, op7, op6, op4, itin,
4247 def v4i16 : N2VNSh<op24, op23, op11_8, op7, op6, op4, itin,
4252 def v2i32 : N2VNSh<op24, op23, op11_8, op7, op6, op4, itin,
4817 class VDOT<bit op6, bit op4, bit op23, RegisterClass RegTy, string Asm,
4820 N3Vnp<{0b1100, op23}, 0b10, 0b1101, op6, op4, (outs RegTy:$dst),
4934 class BaseN3VCP8ComplexTied<bit op21, bit op4, bit s, bit q,
4937 : N3VCP8<{?,?}, {op21,s}, q, op4, oops,
4943 class BaseN3VCP8ComplexOdd<bit op23, bit op21, bit op4, bit s, bit q,
4946 : N3VCP8<{?,op23}, {op21,s}, q, op4, oops,
4952 class BaseN3VCP8ComplexTiedLane32<bit op4, bit s, bit q, InstrItinClass itin,
4955 : N3VLaneCP8<s, {?,?}, q, op4, oops, iops, itin, opc, dt,
4964 class BaseN3VCP8ComplexTiedLane64<bit op4, bit s, bit q, InstrItinClass itin,
4967 : N3VLaneCP8<s, {?,?}, q, op4, oops, iops, itin, opc, dt,
4980 multiclass N3VCP8ComplexTied<bit op21, bit op4,
4983 def v4f16 : BaseN3VCP8ComplexTied<op21, op4, 0, 0, IIC_VMACD, (outs DPR:$Vd),
4986 def v8f16 : BaseN3VCP8ComplexTied<op21, op4, 0, 1, IIC_VMACQ, (outs QPR:$Vd),
4991 def v2f32 : BaseN3VCP8ComplexTied<op21, op4, 1, 0, IIC_VMACD, (outs DPR:$Vd),
4994 def v4f32 : BaseN3VCP8ComplexTied<op21, op4, 1, 1, IIC_VMACQ, (outs QPR:$Vd),
5000 multiclass N3VCP8ComplexOdd<bit op23, bit op21, bit op4,
5003 def v4f16 : BaseN3VCP8ComplexOdd<op23, op21, op4, 0, 0, IIC_VMACD,
5007 def v8f16 : BaseN3VCP8ComplexOdd<op23, op21, op4, 0, 1, IIC_VMACQ,
5013 def v2f32 : BaseN3VCP8ComplexOdd<op23, op21, op4, 1, 0, IIC_VMACD,
5017 def v4f32 : BaseN3VCP8ComplexOdd<op23, op21, op4, 1, 1, IIC_VMACQ,
5026 multiclass N3VCP8ComplexTiedLane<bit op4, string OpcodeStr> {
5028 def v4f16_indexed : BaseN3VCP8ComplexTiedLane32<op4, 0, 0, IIC_VMACD,
5033 def v8f16_indexed : BaseN3VCP8ComplexTiedLane32<op4, 0, 1, IIC_VMACQ,
5040 def v2f32_indexed : BaseN3VCP8ComplexTiedLane64<op4, 1, 0, IIC_VMACD,
5045 def v4f32_indexed : BaseN3VCP8ComplexTiedLane64<op4, 1, 1, IIC_VMACQ,
5983 bit op6, bit op4, string OpcodeStr, string Dt, ValueType ResTy,
5985 : N2VLSh<op24, op23, op11_8, op7, op6, op4, OpcodeStr, Dt,