|
21 | 21 | def simm10 : RISCVSImmOp<10>, TImmLeaf<XLenVT, "return isInt<10>(Imm);">; |
22 | 22 | def tuimm3 : RISCVUImmOp<3>, TImmLeaf<XLenVT, "return isUInt<3>(Imm);">; |
23 | 23 | def tuimm4 : RISCVUImmOp<4>, TImmLeaf<XLenVT, "return isUInt<4>(Imm);">; |
| 24 | +def tuimm5 : RISCVUImmOp<5>, TImmLeaf<XLenVT, "return isUInt<5>(Imm);">; |
24 | 25 |
|
25 | 26 | def SImm8UnsignedAsmOperand : SImmAsmOperand<8, "Unsigned"> { |
26 | 27 | let RenderMethod = "addSImm8UnsignedOperands"; |
@@ -1557,8 +1558,8 @@ let Predicates = [HasStdExtP, IsRV64] in { |
1557 | 1558 | def: Pat<(v2i32 (riscv_pasubu GPR:$rs1, GPR:$rs2)), (PASUBU_W GPR:$rs1, GPR:$rs2)>; |
1558 | 1559 |
|
1559 | 1560 | // 32-bit logical shift left patterns |
1560 | | - def: Pat<(v2i32 (shl GPR:$rs1, (v2i32 (riscv_pli tuimm4:$shamt)))), |
1561 | | - (PSLLI_W GPR:$rs1, tuimm4:$shamt)>; |
| 1561 | + def: Pat<(v2i32 (shl GPR:$rs1, (v2i32 (riscv_pli tuimm5:$shamt)))), |
| 1562 | + (PSLLI_W GPR:$rs1, tuimm5:$shamt)>; |
1562 | 1563 |
|
1563 | 1564 | // 32-bit signed saturation shift left patterns |
1564 | 1565 | def: Pat<(v2i32 (sshlsat GPR:$rs1, (v2i32 (riscv_pli tuimm4:$shamt)))), |
|
0 commit comments