Skip to content

Commit 90ef007

Browse files
committed
Update RISCVInstrInfoXqci.td
Change-Id: Id04daeaad4b131740651099f5f1e80b712dd5a7e
1 parent 7607846 commit 90ef007

File tree

1 file changed

+32
-64
lines changed

1 file changed

+32
-64
lines changed

llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td

Lines changed: 32 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -58,83 +58,51 @@ class QCIRVInstRR<bits<5> func5, DAGOperand InTyRs1, string opcodestr>
5858
(ins InTyRs1:$rs1, GPRNoX0:$rs2), opcodestr, "$rd, $rs1, $rs2">;
5959

6060
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
61-
class QCISELECTIICC<bits<3> func3, string opcodestr>
62-
: RVInst<(outs GPRNoX0:$rd_wb), (ins GPRNoX0:$rd, GPRNoX0:$rs1,
63-
simm5:$simm5, simm5:$simm), opcodestr,
64-
"$rd, $rs1, $simm5, $simm", [], InstFormatR4> {
61+
class QCISELECTIICC<bits<3> funct3, string opcodestr>
62+
: RVInstR4<0b00, funct3, OPC_CUSTOM_2, (outs GPRNoX0:$rd_wb),
63+
(ins GPRNoX0:$rd, GPRNoX0:$rs1, simm5:$simm1, simm5:$simm2),
64+
opcodestr, "$rd, $rs1, $simm1, $simm2"> {
6565
let Constraints = "$rd = $rd_wb";
66-
bits<5> simm;
67-
bits<5> simm5;
68-
bits<5> rs1;
69-
bits<5> rd;
70-
71-
let Inst{31-27} = simm;
72-
let Inst{26-25} = 0b00;
73-
let Inst{24-20} = simm5;
74-
let Inst{19-15} = rs1;
75-
let Inst{14-12} = func3;
76-
let Inst{11-7} = rd;
77-
let Inst{6-0} = 0b1011011;
66+
bits<5> simm1;
67+
bits<5> simm2;
68+
69+
let rs3 = simm2;
70+
let rs2 = simm1;
7871
}
7972

8073
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
81-
class QCISELECTICC<bits<3> func3, string opcodestr>
82-
: RVInst<(outs GPRNoX0:$rd_wb), (ins GPRNoX0:$rd, GPRNoX0:$rs1,
83-
GPRNoX0:$rs2, simm5:$simm), opcodestr,
84-
"$rd, $rs1, $rs2, $simm", [], InstFormatR4> {
74+
class QCISELECTICC<bits<3> funct3, string opcodestr>
75+
: RVInstR4<0b01, funct3, OPC_CUSTOM_2, (outs GPRNoX0:$rd_wb),
76+
(ins GPRNoX0:$rd, GPRNoX0:$rs1, GPRNoX0:$rs2, simm5:$simm2),
77+
opcodestr, "$rd, $rs1, $rs2, $simm2"> {
8578
let Constraints = "$rd = $rd_wb";
86-
bits<5> simm;
87-
bits<5> rs1;
88-
bits<5> rs2;
89-
bits<5> rd;
90-
91-
let Inst{31-27} = simm;
92-
let Inst{26-25} = 0b01;
93-
let Inst{24-20} = rs2;
94-
let Inst{19-15} = rs1;
95-
let Inst{14-12} = func3;
96-
let Inst{11-7} = rd;
97-
let Inst{6-0} = 0b1011011;
79+
bits<5> simm2;
80+
81+
let rs3 = simm2;
9882
}
9983

10084
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
101-
class QCISELECTCCI<bits<3> func3, string opcodestr>
102-
: RVInst<(outs GPRNoX0:$rd_wb), (ins GPRNoX0:$rd, simm5:$simm5,
103-
GPRNoX0:$rs2, GPRNoX0:$rs3), opcodestr,
104-
"$rd, $simm5, $rs2, $rs3", [], InstFormatR4> {
85+
class QCISELECTCCI<bits<3> funct3, string opcodestr>
86+
: RVInstR4<0b10, funct3, OPC_CUSTOM_2, (outs GPRNoX0:$rd_wb),
87+
(ins GPRNoX0:$rd, simm5:$imm, GPRNoX0:$rs2, GPRNoX0:$rs3),
88+
opcodestr, "$rd, $imm, $rs2, $rs3"> {
10589
let Constraints = "$rd = $rd_wb";
106-
bits<5> rs3;
107-
bits<5> simm5;
108-
bits<5> rs2;
109-
bits<5> rd;
110-
111-
let Inst{31-27} = rs3;
112-
let Inst{26-25} = 0b10;
113-
let Inst{24-20} = rs2;
114-
let Inst{19-15} = simm5;
115-
let Inst{14-12} = func3;
116-
let Inst{11-7} = rd;
117-
let Inst{6-0} = 0b1011011;
90+
bits<5> imm;
91+
92+
let rs1 = imm;
11893
}
11994

12095
let hasSideEffects = 0, mayLoad = 0, mayStore = 0 in
121-
class QCISELECTICCI<bits<3> func3, string opcodestr>
122-
: RVInst<(outs GPRNoX0:$rd_wb), (ins GPRNoX0:$rd, simm5:$simm5,
123-
GPRNoX0:$rs2, simm5:$simm), opcodestr,
124-
"$rd, $simm5, $rs2, $simm", [], InstFormatR4> {
96+
class QCISELECTICCI<bits<3> funct3, string opcodestr>
97+
: RVInstR4<0b11, funct3, OPC_CUSTOM_2, (outs GPRNoX0:$rd_wb),
98+
(ins GPRNoX0:$rd, simm5:$imm, GPRNoX0:$rs2, simm5:$simm2),
99+
opcodestr, "$rd, $imm, $rs2, $simm2"> {
125100
let Constraints = "$rd = $rd_wb";
126-
bits<5> simm;
127-
bits<5> simm5;
128-
bits<5> rs2;
129-
bits<5> rd;
130-
131-
let Inst{31-27} = simm;
132-
let Inst{26-25} = 0b11;
133-
let Inst{24-20} = rs2;
134-
let Inst{19-15} = simm5;
135-
let Inst{14-12} = func3;
136-
let Inst{11-7} = rd;
137-
let Inst{6-0} = 0b1011011;
101+
bits<5> imm;
102+
bits<5> simm2;
103+
104+
let rs3 = simm2;
105+
let rs1 = imm;
138106
}
139107

140108
//===----------------------------------------------------------------------===//

0 commit comments

Comments
 (0)