@@ -39,74 +39,69 @@ def GPRPairCRV32 : RegisterOperand<GPRPairC> {
3939
4040let hasSideEffects = 0, mayLoad = 1, mayStore = 0 in
4141class PairCStackLoad<bits<3> funct3, string OpcodeStr,
42- DAGOperand RC, DAGOperand opnd>
42+ DAGOperand RC, DAGOperand opnd>
4343 : RVInst16CI<funct3, 0b10, (outs RC:$rd), (ins SPMem:$rs1, opnd:$imm),
4444 OpcodeStr, "$rd, ${imm}(${rs1})">;
4545
4646let hasSideEffects = 0, mayLoad = 0, mayStore = 1 in
4747class PairCStackStore<bits<3> funct3, string OpcodeStr,
48- DAGOperand RC, DAGOperand opnd>
48+ DAGOperand RC, DAGOperand opnd>
4949 : RVInst16CSS<funct3, 0b10, (outs), (ins RC:$rs2, SPMem:$rs1, opnd:$imm),
5050 OpcodeStr, "$rs2, ${imm}(${rs1})">;
5151
5252let hasSideEffects = 0, mayLoad = 1, mayStore = 0 in
5353class PairCLoad_ri<bits<3> funct3, string OpcodeStr,
54- DAGOperand RC, DAGOperand opnd>
54+ DAGOperand RC, DAGOperand opnd>
5555 : RVInst16CL<funct3, 0b00, (outs RC:$rd), (ins GPRCMem:$rs1, opnd:$imm),
5656 OpcodeStr, "$rd, ${imm}(${rs1})">;
5757
5858let hasSideEffects = 0, mayLoad = 0, mayStore = 1 in
5959class PairCStore_rri<bits<3> funct3, string OpcodeStr,
60- DAGOperand RC, DAGOperand opnd>
60+ DAGOperand RC, DAGOperand opnd>
6161 : RVInst16CS<funct3, 0b00, (outs), (ins RC:$rs2,GPRCMem:$rs1, opnd:$imm),
6262 OpcodeStr, "$rs2, ${imm}(${rs1})">;
6363
6464//===----------------------------------------------------------------------===//
6565// Instructions
6666//===----------------------------------------------------------------------===//
6767
68- let Predicates = [HasStdExtZclsd, IsRV32], DecoderNamespace = "ZcOverlap" in
69- def C_LDSP_RV32 : PairCStackLoad<0b011, "c.ldsp", GPRPairNoX0RV32, uimm9_lsb000>,
68+ let Predicates = [HasStdExtZclsd, IsRV32], DecoderNamespace = "ZcOverlap" in {
69+ def C_LDSP_RV32 : PairCStackLoad<0b011, "c.ldsp", GPRPairNoX0RV32, uimm9_lsb000>,
7070 Sched<[WriteLDD, ReadMemBase]> {
7171 let Inst{4-2} = imm{8-6};
7272}
7373
74- let Predicates = [HasStdExtZclsd, IsRV32], DecoderNamespace = "ZcOverlap" in
75- def C_SDSP_RV32 : PairCStackStore<0b111, "c.sdsp", GPRPairRV32, uimm9_lsb000>,
74+ def C_SDSP_RV32 : PairCStackStore<0b111, "c.sdsp", GPRPairRV32, uimm9_lsb000>,
7675 Sched<[WriteSTD, ReadStoreData, ReadMemBase]> {
7776 let Inst{9-7} = imm{8-6};
7877}
7978
80- let Predicates = [HasStdExtZclsd, IsRV32], DecoderNamespace = "ZcOverlap" in
8179def C_LD_RV32 : PairCLoad_ri<0b011, "c.ld", GPRPairCRV32, uimm8_lsb000>,
8280 Sched<[WriteLDD, ReadMemBase]> {
8381 bits<8> imm;
8482 let Inst{12-10} = imm{5-3};
8583 let Inst{6-5} = imm{7-6};
8684}
8785
88- let Predicates = [HasStdExtZclsd, IsRV32], DecoderNamespace = "ZcOverlap" in
8986def C_SD_RV32 : PairCStore_rri<0b111, "c.sd", GPRPairCRV32, uimm8_lsb000>,
9087 Sched<[WriteSTD, ReadStoreData, ReadMemBase]> {
9188 bits<8> imm;
9289 let Inst{12-10} = imm{5-3};
9390 let Inst{6-5} = imm{7-6};
94- }// Predicates = [HasStdExtZclsd, IsRV32]
91+ }
92+ }// Predicates = [HasStdExtZclsd, IsRV32], DecoderNamespace = "ZcOverlap"
9593
9694//===----------------------------------------------------------------------===//
9795// Compress Instruction tablegen backend.
9896//===----------------------------------------------------------------------===//
9997
100- let Predicates = [HasStdExtZclsd, HasStdExtZilsd, IsRV32] in {
98+ let Predicates = [HasStdExtZclsd, IsRV32] in {
10199def : CompressPat<(LD_RV32 GPRPairNoX0RV32:$rd, SPMem:$rs1, uimm9_lsb000:$imm),
102100 (C_LDSP_RV32 GPRPairNoX0RV32:$rd, SPMem:$rs1, uimm9_lsb000:$imm)>;
103101def : CompressPat<(SD_RV32 GPRPairRV32:$rs2, SPMem:$rs1, uimm9_lsb000:$imm),
104102 (C_SDSP_RV32 GPRPairRV32:$rs2, SPMem:$rs1, uimm9_lsb000:$imm)>;
105- } // Predicates = [HasStdExtZclsd, HasStdExtZilsd, IsRV32]
106-
107- let Predicates = [HasStdExtZclsd, HasStdExtZilsd, IsRV32] in {
108103def : CompressPat<(LD_RV32 GPRPairCRV32:$rd, GPRCMem:$rs1, uimm8_lsb000:$imm),
109104 (C_LD_RV32 GPRPairCRV32:$rd, GPRCMem:$rs1, uimm8_lsb000:$imm)>;
110105def : CompressPat<(SD_RV32 GPRPairCRV32:$rs2, GPRCMem:$rs1, uimm8_lsb000:$imm),
111106 (C_SD_RV32 GPRPairCRV32:$rs2, GPRCMem:$rs1, uimm8_lsb000:$imm)>;
112- } // Predicates = [HasStdExtZclsd, HasStdExtZilsd, IsRV32]
107+ } // Predicates = [HasStdExtZclsd, IsRV32]
0 commit comments