Skip to content

Commit c192dba

Browse files
committed
Fix warning of stack_adj_base
1 parent c333cc6 commit c192dba

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

model/riscv_insts_zcmp.sail

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ function get_stack_adj_base(rlist : bits(4)) -> int = {
3333
0b01 => 16,
3434
0b10 => 32,
3535
0b11 => if rlist == 0b1111 then 64 else 48,
36+
_ => 0,
3637
}
3738
else {
3839
match rlist[3 .. 1] {
@@ -42,16 +43,22 @@ function get_stack_adj_base(rlist : bits(4)) -> int = {
4243
0b101 => 64,
4344
0b110 => 80,
4445
0b111 => if rlist == 0b1111 then 112 else 96,
46+
_ => 0,
4547
}
4648
}
4749
}
4850

4951
mapping zcmp_assembly_mapping : (bits(4), bits(2), bool) <-> string = {
5052
forwards (rlist, spimm54, is_negative) => {
5153
var stack_adj : int = undefined;
54+
let stack_adj_base = get_stack_adj_base(rlist);
5255
stack_adj = get_stack_adj_base(rlist) + unsigned(spimm54) * 16;
5356

54-
"{" ^ zcmp_assembly_rlist(rlist) ^ "}" ^ sep() ^ negative_sign(is_negative) ^ dec_str(stack_adj)
57+
if stack_adj_base == 0 then {
58+
"unsupport rlist" ^ sep() ^ negative_sign(is_negative) ^ dec_str(stack_adj)
59+
} else {
60+
"{" ^ zcmp_assembly_rlist(rlist) ^ "}" ^ sep() ^ negative_sign(is_negative) ^ dec_str(stack_adj)
61+
}
5562
},
5663
backwards str_input => {
5764
var str = str_input;

0 commit comments

Comments
 (0)