Skip to content

Commit 7979e1b

Browse files
committed
[RISCV] Add a default assignment of Inst{12-7} to RVInst16CSS. NFC
Some bits need to be overwritten by child classes, but at least a few of the upper bits are common to all child classes.
1 parent 0d9c027 commit 7979e1b

File tree

2 files changed

+2
-6
lines changed

2 files changed

+2
-6
lines changed

llvm/lib/Target/RISCV/RISCVInstrFormatsC.td

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class RVInst16CI<bits<3> funct3, bits<2> opcode, dag outs, dag ins,
5353

5454
// The immediate value encoding differs for each instruction, so each subclass
5555
// is responsible for setting the appropriate bits in the Inst field.
56-
// The bits Inst{12-7} must be set for each instruction.
56+
// The bits Inst{12-7} may need to be set differently for some instructions.
5757
class RVInst16CSS<bits<3> funct3, bits<2> opcode, dag outs, dag ins,
5858
string opcodestr, string argstr>
5959
: RVInst16<outs, ins, opcodestr, argstr, [], InstFormatCSS> {
@@ -62,6 +62,7 @@ class RVInst16CSS<bits<3> funct3, bits<2> opcode, dag outs, dag ins,
6262
bits<5> rs1;
6363

6464
let Inst{15-13} = funct3;
65+
let Inst{12-7} = imm{5-0};
6566
let Inst{6-2} = rs2;
6667
let Inst{1-0} = opcode;
6768
}

llvm/lib/Target/RISCV/RISCVInstrInfoC.td

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -569,35 +569,30 @@ def C_ADD : RVInst16CR<0b1001, 0b10, (outs GPRNoX0:$rd),
569569
let Predicates = [HasStdExtCOrZcd, HasStdExtD] in
570570
def C_FSDSP : CStackStore<0b101, "c.fsdsp", FPR64, uimm9_lsb000>,
571571
Sched<[WriteFST64, ReadFStoreData, ReadFMemBase]> {
572-
let Inst{12-10} = imm{5-3};
573572
let Inst{9-7} = imm{8-6};
574573
}
575574

576575
def C_SWSP : CStackStore<0b110, "c.swsp", GPR, uimm8_lsb00>,
577576
Sched<[WriteSTW, ReadStoreData, ReadMemBase]> {
578-
let Inst{12-9} = imm{5-2};
579577
let Inst{8-7} = imm{7-6};
580578
}
581579

582580
let isCodeGenOnly = 1 in
583581
def C_SWSP_INX : CStackStore<0b110, "c.swsp", GPRF32, uimm8_lsb00>,
584582
Sched<[WriteSTW, ReadStoreData, ReadMemBase]> {
585-
let Inst{12-9} = imm{5-2};
586583
let Inst{8-7} = imm{7-6};
587584
}
588585

589586
let DecoderNamespace = "RISCV32Only_",
590587
Predicates = [HasStdExtCOrZcfOrZce, HasStdExtF, IsRV32] in
591588
def C_FSWSP : CStackStore<0b111, "c.fswsp", FPR32, uimm8_lsb00>,
592589
Sched<[WriteFST32, ReadFStoreData, ReadFMemBase]> {
593-
let Inst{12-9} = imm{5-2};
594590
let Inst{8-7} = imm{7-6};
595591
}
596592

597593
let Predicates = [HasStdExtCOrZca, IsRV64] in
598594
def C_SDSP : CStackStore<0b111, "c.sdsp", GPR, uimm9_lsb000>,
599595
Sched<[WriteSTD, ReadStoreData, ReadMemBase]> {
600-
let Inst{12-10} = imm{5-3};
601596
let Inst{9-7} = imm{8-6};
602597
}
603598

0 commit comments

Comments
 (0)