@@ -25,13 +25,14 @@ def simm10 : RISCVSImmLeafOp<10>;
2525//===----------------------------------------------------------------------===//
2626
2727let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
28- class RVPUnaryImm9 <bits<7> funct7, string opcodestr>
28+ class RVPUnaryImm10 <bits<7> funct7, string opcodestr>
2929 : RVInstIBase<0b010, OPC_OP_IMM_32, (outs GPR:$rd), (ins simm10:$simm10),
3030 opcodestr, "$rd, $simm10"> {
3131 bits<10> simm10;
3232
3333 let Inst{31-25} = funct7;
34- let Inst{24-15} = simm10;
34+ let Inst{24-16} = simm10{8-0};
35+ let Inst{15} = simm10{9};
3536}
3637
3738let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
@@ -103,7 +104,7 @@ def REV_RV32 : Unary_r<0b011010011111, 0b101, "rev">;
103104
104105let Predicates = [HasStdExtP, IsRV64] in {
105106def REV16 : Unary_r<0b011010110000, 0b101, "rev16">;
106- def REV_RV64 : Unary_r<0b011110111111 , 0b101, "rev">;
107+ def REV_RV64 : Unary_r<0b011010111111 , 0b101, "rev">;
107108
108109def CLSW : UnaryW_r<0b011000000011, 0b001, "clsw">;
109110def ABSW : UnaryW_r<0b011000000111, 0b001, "absw">;
@@ -123,9 +124,9 @@ def PSSLAI_W : RVPUnaryImm5<0b101, "psslai.w">;
123124} // Predicates = [HasStdExtP, IsRV64]
124125
125126let Predicates = [HasStdExtP] in
126- def PLI_H : RVPUnaryImm9 <0b1011000, "pli.h">;
127+ def PLI_H : RVPUnaryImm10 <0b1011000, "pli.h">;
127128let Predicates = [HasStdExtP, IsRV64] in
128- def PLI_W : RVPUnaryImm9 <0b1011001, "pli.w">;
129+ def PLI_W : RVPUnaryImm10 <0b1011001, "pli.w">;
129130let Predicates = [HasStdExtP] in
130131def PLI_B : RVPUnaryImm8<0b10110100, "pli.b">;
131132
@@ -140,6 +141,6 @@ def PSEXT_W_H : RVPUnaryWUF<0b01, 0b00101, "psext.w.h">;
140141} // Predicates = [HasStdExtP, IsRV64]
141142
142143let Predicates = [HasStdExtP] in
143- def PLUI_H : RVPUnaryImm9 <0b1111000, "plui.h">;
144+ def PLUI_H : RVPUnaryImm10 <0b1111000, "plui.h">;
144145let Predicates = [HasStdExtP, IsRV64] in
145- def PLUI_W : RVPUnaryImm9 <0b1111001, "plui.w">;
146+ def PLUI_W : RVPUnaryImm10 <0b1111001, "plui.w">;
0 commit comments