@@ -25,24 +25,6 @@ class QKStackInst<bits<2> funct2, dag outs, dag ins,
2525// Operand definitions.
2626//===----------------------------------------------------------------------===//
2727
28- def uimm4_with_predicate : RISCVUImmLeafOp<4> {
29- let MCOperandPredicate = [{
30- int64_t Imm;
31- if (!MCOp.evaluateAsConstantImm(Imm))
32- return false;
33- return isUInt<4>(Imm);
34- }];
35- }
36-
37- def uimm5_with_predicate : RISCVUImmLeafOp<5> {
38- let MCOperandPredicate = [{
39- int64_t Imm;
40- if (!MCOp.evaluateAsConstantImm(Imm))
41- return false;
42- return isUInt<5>(Imm);
43- }];
44- }
45-
4628// A 5-bit unsigned immediate where the least significant bit is zero.
4729def uimm5_lsb0 : RISCVOp,
4830 ImmLeaf<XLenVT, [{return isShiftedUInt<4, 1>(Imm);}]> {
@@ -80,7 +62,7 @@ let Predicates = [HasVendorXwchc], DecoderNamespace = "Xwchc" in {
8062
8163let hasSideEffects = 0, mayLoad = 1, mayStore = 0 in
8264def QK_C_LBU : RVInst16CL<0b001, 0b00, (outs GPRC:$rd),
83- (ins GPRCMem:$rs1, uimm5_with_predicate :$imm),
65+ (ins GPRCMem:$rs1, uimm5 :$imm),
8466 "qk.c.lbu", "$rd, ${imm}(${rs1})">,
8567 Sched<[WriteLDB, ReadMemBase]> {
8668 bits<5> imm;
@@ -91,7 +73,7 @@ def QK_C_LBU : RVInst16CL<0b001, 0b00, (outs GPRC:$rd),
9173let hasSideEffects = 0, mayLoad = 0, mayStore = 1 in
9274def QK_C_SB : RVInst16CS<0b101, 0b00, (outs),
9375 (ins GPRC:$rs2, GPRCMem:$rs1,
94- uimm5_with_predicate :$imm),
76+ uimm5 :$imm),
9577 "qk.c.sb", "$rs2, ${imm}(${rs1})">,
9678 Sched<[WriteSTB, ReadStoreData, ReadMemBase]> {
9779 bits<5> imm;
@@ -121,7 +103,7 @@ def QK_C_SH : RVInst16CS<0b101, 0b10, (outs),
121103
122104let hasSideEffects = 0, mayLoad = 1, mayStore = 0 in
123105def QK_C_LBUSP : QKStackInst<0b00, (outs GPRC:$rd_rs2),
124- (ins SPMem:$rs1, uimm4_with_predicate :$imm),
106+ (ins SPMem:$rs1, uimm4 :$imm),
125107 "qk.c.lbusp", "$rd_rs2, ${imm}(${rs1})">,
126108 Sched<[WriteLDB, ReadMemBase]> {
127109 bits<4> imm;
@@ -130,7 +112,7 @@ def QK_C_LBUSP : QKStackInst<0b00, (outs GPRC:$rd_rs2),
130112let hasSideEffects = 0, mayLoad = 0, mayStore = 1 in
131113def QK_C_SBSP : QKStackInst<0b10, (outs),
132114 (ins GPRC:$rd_rs2, SPMem:$rs1,
133- uimm4_with_predicate :$imm),
115+ uimm4 :$imm),
134116 "qk.c.sbsp", "$rd_rs2, ${imm}(${rs1})">,
135117 Sched<[WriteSTB, ReadStoreData, ReadMemBase]> {
136118 bits<4> imm;
@@ -180,18 +162,18 @@ def : InstAlias<"qk.c.shsp $rs2, (${rs1})", (QK_C_SHSP GPRC:$rs2, SPMem:$rs1, 0)
180162//===----------------------------------------------------------------------===//
181163
182164let Predicates = [HasVendorXwchc] in {
183- def : CompressPat<(LBU GPRC:$rd, GPRCMem:$rs1, uimm5_with_predicate :$imm),
184- (QK_C_LBU GPRC:$rd, GPRCMem:$rs1, uimm5_with_predicate :$imm)>;
185- def : CompressPat<(SB GPRC:$rs2, GPRCMem:$rs1, uimm5_with_predicate :$imm),
186- (QK_C_SB GPRC:$rs2, GPRCMem:$rs1, uimm5_with_predicate :$imm)>;
165+ def : CompressPat<(LBU GPRC:$rd, GPRCMem:$rs1, uimm5 :$imm),
166+ (QK_C_LBU GPRC:$rd, GPRCMem:$rs1, uimm5 :$imm)>;
167+ def : CompressPat<(SB GPRC:$rs2, GPRCMem:$rs1, uimm5 :$imm),
168+ (QK_C_SB GPRC:$rs2, GPRCMem:$rs1, uimm5 :$imm)>;
187169def : CompressPat<(LHU GPRC:$rd, GPRCMem:$rs1, uimm6_lsb0:$imm),
188170 (QK_C_LHU GPRC:$rd, GPRCMem:$rs1, uimm6_lsb0:$imm)>;
189171def : CompressPat<(SH GPRC:$rs2, GPRCMem:$rs1, uimm6_lsb0:$imm),
190172 (QK_C_SH GPRC:$rs2, GPRCMem:$rs1, uimm6_lsb0:$imm)>;
191- def : CompressPat<(LBU GPRC:$rd, SPMem:$rs1, uimm4_with_predicate :$imm),
192- (QK_C_LBUSP GPRC:$rd, SPMem:$rs1, uimm4_with_predicate :$imm)>;
193- def : CompressPat<(SB GPRC:$rs2, SPMem:$rs1, uimm4_with_predicate :$imm),
194- (QK_C_SBSP GPRC:$rs2, SPMem:$rs1, uimm4_with_predicate :$imm)>;
173+ def : CompressPat<(LBU GPRC:$rd, SPMem:$rs1, uimm4 :$imm),
174+ (QK_C_LBUSP GPRC:$rd, SPMem:$rs1, uimm4 :$imm)>;
175+ def : CompressPat<(SB GPRC:$rs2, SPMem:$rs1, uimm4 :$imm),
176+ (QK_C_SBSP GPRC:$rs2, SPMem:$rs1, uimm4 :$imm)>;
195177def : CompressPat<(LHU GPRC:$rd, SPMem:$rs1, uimm5_lsb0:$imm),
196178 (QK_C_LHUSP GPRC:$rd, SPMem:$rs1, uimm5_lsb0:$imm)>;
197179def : CompressPat<(SH GPRC:$rs2, SPMem:$rs1, uimm5_lsb0:$imm),
0 commit comments