@@ -7429,8 +7429,8 @@ multiclass sve_int_perm_rev_revw<string asm, SDPatternOperator op> {
7429
7429
def : SVE_1_Op_Passthru_Pat<nxv2i64, op, nxv2i1, nxv2i64, !cast<Instruction>(NAME # _D)>;
7430
7430
}
7431
7431
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>
7434
7434
: I<(outs zprty:$Zd), (ins PPR3bAny:$Pg, zprty:$Zn),
7435
7435
asm, "\t$Zd, $Pg/z, $Zn",
7436
7436
"",
@@ -7439,9 +7439,9 @@ class sve_int_perm_rev_z<bits<2> sz8_64, bits<2> opc, string asm,
7439
7439
bits<3> Pg;
7440
7440
bits<5> Zn;
7441
7441
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;
7445
7445
let Inst{15-13} = 0b101;
7446
7446
let Inst{12-10} = Pg;
7447
7447
let Inst{9-5} = Zn;
@@ -7451,25 +7451,21 @@ class sve_int_perm_rev_z<bits<2> sz8_64, bits<2> opc, string asm,
7451
7451
}
7452
7452
7453
7453
multiclass 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>;
7458
7458
}
7459
7459
7460
7460
multiclass 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>;
7464
7464
}
7465
7465
7466
7466
multiclass 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>;
7473
7469
}
7474
7470
7475
7471
class sve_int_perm_cpy_r<bits<2> sz8_64, string asm, ZPRRegOp zprty,
0 commit comments