@@ -7429,8 +7429,8 @@ multiclass sve_int_perm_rev_revw<string asm, SDPatternOperator op> {
74297429 def : SVE_1_Op_Passthru_Pat<nxv2i64, op, nxv2i1, nxv2i64, !cast<Instruction>(NAME # _D)>;
74307430}
74317431
7432- class sve_int_perm_rev_z<bits<2> sz8_64 , bits<2 > opc, string asm,
7433- ZPRRegOp zprty>
7432+ class sve_int_perm_rev_z<bits<2> sz , bits<4 > opc, string asm,
7433+ ZPRRegOp zprty>
74347434: I<(outs zprty:$Zd), (ins PPR3bAny:$Pg, zprty:$Zn),
74357435 asm, "\t$Zd, $Pg/z, $Zn",
74367436 "",
@@ -7439,9 +7439,9 @@ class sve_int_perm_rev_z<bits<2> sz8_64, bits<2> opc, string asm,
74397439 bits<3> Pg;
74407440 bits<5> Zn;
74417441 let Inst{31-24} = 0b00000101;
7442- let Inst{23-22} = sz8_64 ;
7443- let Inst{21-18 } = 0b1001 ;
7444- let Inst{17 -16} = opc;
7442+ let Inst{23-22} = sz ;
7443+ let Inst{21-20 } = 0b10 ;
7444+ let Inst{19 -16} = opc;
74457445 let Inst{15-13} = 0b101;
74467446 let Inst{12-10} = Pg;
74477447 let Inst{9-5} = Zn;
@@ -7451,25 +7451,21 @@ class sve_int_perm_rev_z<bits<2> sz8_64, bits<2> opc, string asm,
74517451}
74527452
74537453multiclass sve_int_perm_rev_rbit_z<string asm> {
7454- def _B : sve_int_perm_rev_z<0b00, 0b11 , asm, ZPR8>;
7455- def _H : sve_int_perm_rev_z<0b01, 0b11 , asm, ZPR16>;
7456- def _S : sve_int_perm_rev_z<0b10, 0b11 , asm, ZPR32>;
7457- def _D : sve_int_perm_rev_z<0b11, 0b11 , asm, ZPR64>;
7454+ def _B : sve_int_perm_rev_z<0b00, 0b0111 , asm, ZPR8>;
7455+ def _H : sve_int_perm_rev_z<0b01, 0b0111 , asm, ZPR16>;
7456+ def _S : sve_int_perm_rev_z<0b10, 0b0111 , asm, ZPR32>;
7457+ def _D : sve_int_perm_rev_z<0b11, 0b0111 , asm, ZPR64>;
74587458}
74597459
74607460multiclass sve_int_perm_rev_revb_z<string asm> {
7461- def _H : sve_int_perm_rev_z<0b01, 0b00 , asm, ZPR16>;
7462- def _S : sve_int_perm_rev_z<0b10, 0b00 , asm, ZPR32>;
7463- def _D : sve_int_perm_rev_z<0b11, 0b00 , asm, ZPR64>;
7461+ def _H : sve_int_perm_rev_z<0b01, 0b0100 , asm, ZPR16>;
7462+ def _S : sve_int_perm_rev_z<0b10, 0b0100 , asm, ZPR32>;
7463+ def _D : sve_int_perm_rev_z<0b11, 0b0100 , asm, ZPR64>;
74647464}
74657465
74667466multiclass sve_int_perm_rev_revh_z<string asm> {
7467- def _S : sve_int_perm_rev_z<0b10, 0b01, asm, ZPR32>;
7468- def _D : sve_int_perm_rev_z<0b11, 0b01, asm, ZPR64>;
7469- }
7470-
7471- multiclass sve_int_perm_rev_revw_z<string asm> {
7472- def _D : sve_int_perm_rev_z<0b11, 0b10, asm, ZPR64>;
7467+ def _S : sve_int_perm_rev_z<0b10, 0b0101, asm, ZPR32>;
7468+ def _D : sve_int_perm_rev_z<0b11, 0b0101, asm, ZPR64>;
74737469}
74747470
74757471class sve_int_perm_cpy_r<bits<2> sz8_64, string asm, ZPRRegOp zprty,
0 commit comments