ThinkOpenly / sail-riscv

Sail RISC-V model
Other
11 stars 14 forks source link

Add tags to all instructions which are extensions #5

Closed ThinkOpenly closed 1 month ago

ThinkOpenly commented 10 months ago

Many extensions include discriminators which clearly tag instructions which are included in the extension:

mapping clause encdec = RISCV_FMINM_S(rs2, rs1, rd)     if haveZfa()

(Note that issue #4 suggests a more robust tagging method.)

Not all extensions are well-tagged, however, especially if they are ratified and included in the "base ISA":

/* This file specifies the compressed instructions in the 'C' extension. */
[...]
mapping clause encdec_compressed = C_LW(ui6 @ ui53 @ ui2, rs1, rd)

It would be useful to include tags for these instructions as well, hopefully in a robust way as suggested in issue #4.

AbhinavMir commented 2 months ago

I think this can be closed since Sanket seems to have implemented this?

ThinkOpenly commented 2 months ago

I'd like see an audit performed that shows this is reasonably complete and accurate.

ThinkOpenly commented 1 month ago

Our upstream PR for this work https://github.com/riscv/sail-riscv/pull/506 has been merged! :tada: Thanks for everyone's efforts on this!

Closing this issue...