Support RISC-V p-ext-proposal v0.9.12 for RV64#2211
Support RISC-V p-ext-proposal v0.9.12 for RV64#2211jason01180118 wants to merge 20 commits intoriscv-software-src:masterfrom
Conversation
|
v0.9.12 is quite old. AFAIK P extension is not ratified and still under development (I've seen a very recent v0.11 update here). I am not really against this change but I am concerned about maintenance. Is P extension relatively stable now? I'm afraid I am lost on the subject of P extension standardization. Please correct me if I am wrong here |
|
Based on the reference link, the PR should use latest 0.18 spec located in jhauser's personal folder. I guess the 0.9.12 is a plus of final draft version, 0.9.11 |
|
Hello all, the version number 0.9.12 is from Rich Fuler's talk(at 5:43) in RISC-V Summit 2025, North America, and it's the same as the latest 0.18 spec lacated jhauser's personal folder. |
|
The versioning situation seems very confusing to me (0.12 / 0.9.12 / 0.92 / 0.18) but it actually looks like all of them are basically the same. I am still a little concerned about merging such often-changing extension. @aswaterman what are your thoughts on this? Is this the version of zpa you were talking about here? |
|
@jason01180118 There are some instructions having the same name but different encoding for rv32 and rv64. How is it handled in these PRs ? ex: SATI/SRARI/USATI |
|
Since spike does not permit instructions with the same name but different encodings within a single target, we split the RV32 and RV64 implementations into separate branches. RV64 (#2211 ): MATCH_SATI = 0xe400401b, MASK_SATI = 0xfc00707f RV32 (#2210 ): MATCH_SATI = 0xe200401b, MASK_SATI = 0xfe00707f |
|
It is just my thinking to use different name sto tell them if the encoding doesn't be changed. |
|
@jason01180118 There are some compilation warnings related to macro expansion It happens with gcc 11, 12 , and 13. |
See the previous PR #637
Hello, we’re the team from Programming Langauge Lab, NTHU (National Tsing-Hua University), Taiwan.
This PR implements all instructions in the latest P-Extension specification (link)
Branches are split for RV32 and RV64, since some instructions may conflict between architectures.