sail-riscv
sail-riscv copied to clipboard
Delete `riscv_hints.sail`
This file causes some issues because it generates invalid assembly - #1013 and #112.
I also don't see that it is really needed. The instructions are hints but that has no semantic meaning until a meaning is assigned to it.
I think we should just delete that file. When deleting it we also need to ensure:
- That the fence instructions correctly execute reserved fences as nops.
- That the
encdecfor the non-hint instructions which filters out hints is removed. E.g. currently we have
mapping clause encdec_compressed = C_SRAI_HINT(rsd)
<-> 0b100 @ 0b0 @ 0b01 @ encdec_creg(rsd) @ 0b00000 @ 0b01
mapping clause encdec_compressed = C_SRAI(nzui5 @ nzui40, rsd)
<-> 0b100 @ nzui5 : bits(1) @ 0b01 @ encdec_creg(rsd) @ nzui40 : bits(5) @ 0b01
when nzui5 @ nzui40 != 0b000000 & (xlen == 64 | nzui5 == 0b0) & currentlyEnabled(Ext_Zca)
This should be changed to just
mapping clause encdec_compressed = C_SRAI(ui5 @ ui40, rsd)
<-> 0b100 @ ui5 : bits(1) @ 0b01 @ encdec_creg(rsd) @ ui40 : bits(5) @ 0b01
when (xlen == 64 | ui5 == 0b0) & currentlyEnabled(Ext_Zca)