Skip to content

Commit fb27fdb

Browse files
committed
fix: unify naming of compressed source registers
Compressed source registers have two conventions: - "rsc1"/"rsc2" - "rs1c"/"rs2c" Given that the latter convention is confined to just `model/riscv_insts_zcb.sail`, change it there to match the rest.
1 parent a606ebe commit fb27fdb

File tree

1 file changed

+38
-38
lines changed

1 file changed

+38
-38
lines changed

model/riscv_insts_zcb.sail

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -10,89 +10,89 @@ function clause currentlyEnabled(Ext_Zcb) = hartSupports(Ext_Zcb) & currentlyEna
1010

1111
union clause ast = C_LBU : (bits(2), cregidx, cregidx)
1212

13-
mapping clause encdec_compressed = C_LBU(uimm1 @ uimm0, rdc, rs1c)
14-
<-> 0b100 @ 0b000 @ encdec_creg(rs1c) @ uimm0 : bits(1) @ uimm1 : bits(1) @ encdec_creg(rdc) @ 0b00
13+
mapping clause encdec_compressed = C_LBU(uimm1 @ uimm0, rdc, rsc1)
14+
<-> 0b100 @ 0b000 @ encdec_creg(rsc1) @ uimm0 : bits(1) @ uimm1 : bits(1) @ encdec_creg(rdc) @ 0b00
1515
when currentlyEnabled(Ext_Zcb)
1616

17-
mapping clause assembly = C_LBU(uimm, rdc, rs1c) <->
18-
"c.lbu" ^ spc() ^ creg_name(rdc) ^ sep() ^ hex_bits_2(uimm) ^ opt_spc() ^ "(" ^ opt_spc() ^ creg_name(rs1c) ^ opt_spc() ^ ")"
17+
mapping clause assembly = C_LBU(uimm, rdc, rsc1) <->
18+
"c.lbu" ^ spc() ^ creg_name(rdc) ^ sep() ^ hex_bits_2(uimm) ^ opt_spc() ^ "(" ^ opt_spc() ^ creg_name(rsc1) ^ opt_spc() ^ ")"
1919

20-
function clause execute C_LBU(uimm, rdc, rs1c) = {
20+
function clause execute C_LBU(uimm, rdc, rsc1) = {
2121
let imm : bits(12) = zero_extend(uimm);
2222
let rd = creg2reg_idx(rdc);
23-
let rs1 = creg2reg_idx(rs1c);
23+
let rs1 = creg2reg_idx(rsc1);
2424
execute(LOAD(imm, rs1, rd, true, BYTE, false, false))
2525
}
2626

2727
/* ****************************************************************** */
2828

2929
union clause ast = C_LHU : (bits(2), cregidx, cregidx)
3030

31-
mapping clause encdec_compressed = C_LHU(uimm1 @ 0b0, rdc, rs1c)
32-
<-> 0b100 @ 0b001 @ encdec_creg(rs1c) @ 0b0 @ uimm1 : bits(1) @ encdec_creg(rdc) @ 0b00
31+
mapping clause encdec_compressed = C_LHU(uimm1 @ 0b0, rdc, rsc1)
32+
<-> 0b100 @ 0b001 @ encdec_creg(rsc1) @ 0b0 @ uimm1 : bits(1) @ encdec_creg(rdc) @ 0b00
3333
when currentlyEnabled(Ext_Zcb)
3434

35-
mapping clause assembly = C_LHU(uimm, rdc, rs1c) <->
36-
"c.lhu" ^ spc() ^ creg_name(rdc) ^ sep() ^ hex_bits_2(uimm) ^ opt_spc() ^ "(" ^ opt_spc() ^ creg_name(rs1c) ^ opt_spc() ^ ")"
35+
mapping clause assembly = C_LHU(uimm, rdc, rsc1) <->
36+
"c.lhu" ^ spc() ^ creg_name(rdc) ^ sep() ^ hex_bits_2(uimm) ^ opt_spc() ^ "(" ^ opt_spc() ^ creg_name(rsc1) ^ opt_spc() ^ ")"
3737

38-
function clause execute C_LHU(uimm, rdc, rs1c) = {
38+
function clause execute C_LHU(uimm, rdc, rsc1) = {
3939
let imm : bits(12) = zero_extend(uimm);
4040
let rd = creg2reg_idx(rdc);
41-
let rs1 = creg2reg_idx(rs1c);
41+
let rs1 = creg2reg_idx(rsc1);
4242
execute(LOAD(imm, rs1, rd, true, HALF, false, false))
4343
}
4444

4545
/* ****************************************************************** */
4646

4747
union clause ast = C_LH : (bits(2), cregidx, cregidx)
4848

49-
mapping clause encdec_compressed = C_LH(uimm1 @ 0b0, rdc, rs1c)
50-
<-> 0b100 @ 0b001 @ encdec_creg(rs1c) @ 0b1 @ uimm1 : bits(1) @ encdec_creg(rdc) @ 0b00
49+
mapping clause encdec_compressed = C_LH(uimm1 @ 0b0, rdc, rsc1)
50+
<-> 0b100 @ 0b001 @ encdec_creg(rsc1) @ 0b1 @ uimm1 : bits(1) @ encdec_creg(rdc) @ 0b00
5151
when currentlyEnabled(Ext_Zcb)
5252

53-
mapping clause assembly = C_LH(uimm, rdc, rs1c) <->
54-
"c.lh" ^ spc() ^ creg_name(rdc) ^ sep() ^ hex_bits_2(uimm) ^ opt_spc() ^ "(" ^ opt_spc() ^ creg_name(rs1c) ^ opt_spc() ^ ")"
53+
mapping clause assembly = C_LH(uimm, rdc, rsc1) <->
54+
"c.lh" ^ spc() ^ creg_name(rdc) ^ sep() ^ hex_bits_2(uimm) ^ opt_spc() ^ "(" ^ opt_spc() ^ creg_name(rsc1) ^ opt_spc() ^ ")"
5555

56-
function clause execute C_LH(uimm, rdc, rs1c) = {
56+
function clause execute C_LH(uimm, rdc, rsc1) = {
5757
let imm : bits(12) = zero_extend(uimm);
5858
let rd = creg2reg_idx(rdc);
59-
let rs1 = creg2reg_idx(rs1c);
59+
let rs1 = creg2reg_idx(rsc1);
6060
execute(LOAD(imm, rs1, rd, false, HALF, false, false))
6161
}
6262

6363
/* ****************************************************************** */
6464

6565
union clause ast = C_SB : (bits(2), cregidx, cregidx)
6666

67-
mapping clause encdec_compressed = C_SB(uimm1 @ uimm0, rs1c, rs2c)
68-
<-> 0b100 @ 0b010 @ encdec_creg(rs1c) @ uimm0 : bits(1) @ uimm1 : bits(1) @ encdec_creg(rs2c) @ 0b00
67+
mapping clause encdec_compressed = C_SB(uimm1 @ uimm0, rsc1, rsc2)
68+
<-> 0b100 @ 0b010 @ encdec_creg(rsc1) @ uimm0 : bits(1) @ uimm1 : bits(1) @ encdec_creg(rsc2) @ 0b00
6969
when currentlyEnabled(Ext_Zcb)
7070

71-
mapping clause assembly = C_SB(uimm, rs1c, rs2c) <->
72-
"c.sb" ^ spc() ^ creg_name(rs2c) ^ sep() ^ hex_bits_2(uimm) ^ opt_spc() ^ "(" ^ opt_spc() ^ creg_name(rs1c) ^ opt_spc() ^ ")"
71+
mapping clause assembly = C_SB(uimm, rsc1, rsc2) <->
72+
"c.sb" ^ spc() ^ creg_name(rsc2) ^ sep() ^ hex_bits_2(uimm) ^ opt_spc() ^ "(" ^ opt_spc() ^ creg_name(rsc1) ^ opt_spc() ^ ")"
7373

74-
function clause execute C_SB(uimm, rs1c, rs2c) = {
74+
function clause execute C_SB(uimm, rsc1, rsc2) = {
7575
let imm : bits(12) = zero_extend(uimm);
76-
let rs1 = creg2reg_idx(rs1c);
77-
let rs2 = creg2reg_idx(rs2c);
76+
let rs1 = creg2reg_idx(rsc1);
77+
let rs2 = creg2reg_idx(rsc2);
7878
execute(STORE(imm, rs2, rs1, BYTE, false, false))
7979
}
8080

8181
/* ****************************************************************** */
8282

8383
union clause ast = C_SH : (bits(2), cregidx, cregidx)
8484

85-
mapping clause encdec_compressed = C_SH(uimm1 @ 0b0, rs1c, rs2c)
86-
<-> 0b100 @ 0b011 @ encdec_creg(rs1c) @ 0b0 @ uimm1 : bits(1) @ encdec_creg(rs2c) @ 0b00
85+
mapping clause encdec_compressed = C_SH(uimm1 @ 0b0, rsc1, rsc2)
86+
<-> 0b100 @ 0b011 @ encdec_creg(rsc1) @ 0b0 @ uimm1 : bits(1) @ encdec_creg(rsc2) @ 0b00
8787
when currentlyEnabled(Ext_Zcb)
8888

89-
mapping clause assembly = C_SH(uimm, rs1c, rs2c) <->
90-
"c.sh" ^ spc() ^ creg_name(rs2c) ^ sep() ^ hex_bits_2(uimm) ^ opt_spc() ^ "(" ^ opt_spc() ^ creg_name(rs1c) ^ opt_spc() ^ ")"
89+
mapping clause assembly = C_SH(uimm, rsc1, rsc2) <->
90+
"c.sh" ^ spc() ^ creg_name(rsc2) ^ sep() ^ hex_bits_2(uimm) ^ opt_spc() ^ "(" ^ opt_spc() ^ creg_name(rsc1) ^ opt_spc() ^ ")"
9191

92-
function clause execute C_SH(uimm, rs1c, rs2c) = {
92+
function clause execute C_SH(uimm, rsc1, rsc2) = {
9393
let imm : bits(12) = zero_extend(uimm);
94-
let rs1 = creg2reg_idx(rs1c);
95-
let rs2 = creg2reg_idx(rs2c);
94+
let rs1 = creg2reg_idx(rsc1);
95+
let rs2 = creg2reg_idx(rsc2);
9696
execute(STORE(imm, rs2, rs1, HALF, false, false))
9797
}
9898

@@ -198,15 +198,15 @@ function clause execute C_NOT(rsdc) = {
198198

199199
union clause ast = C_MUL : (cregidx, cregidx)
200200

201-
mapping clause encdec_compressed = C_MUL(rsdc, rs2c)
202-
<-> 0b100 @ 0b111 @ encdec_creg(rsdc) @ 0b10 @ encdec_creg(rs2c) @ 0b01
201+
mapping clause encdec_compressed = C_MUL(rsdc, rsc2)
202+
<-> 0b100 @ 0b111 @ encdec_creg(rsdc) @ 0b10 @ encdec_creg(rsc2) @ 0b01
203203
when currentlyEnabled(Ext_Zcb) & (currentlyEnabled(Ext_M) | currentlyEnabled(Ext_Zmmul))
204204

205-
mapping clause assembly = C_MUL(rsdc, rs2c) <->
206-
"c.mul" ^ spc() ^ creg_name(rsdc) ^ sep() ^ creg_name(rs2c)
205+
mapping clause assembly = C_MUL(rsdc, rsc2) <->
206+
"c.mul" ^ spc() ^ creg_name(rsdc) ^ sep() ^ creg_name(rsc2)
207207

208-
function clause execute C_MUL(rsdc, rs2c) = {
208+
function clause execute C_MUL(rsdc, rsc2) = {
209209
let rd = creg2reg_idx(rsdc);
210-
let rs = creg2reg_idx(rs2c);
210+
let rs = creg2reg_idx(rsc2);
211211
execute(MUL(rs, rd, rd, struct { high = false, signed_rs1 = true, signed_rs2 = true }))
212212
}

0 commit comments

Comments
 (0)