-
Notifications
You must be signed in to change notification settings - Fork 312
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generalize fence.tso
instruction
#135
Conversation
Since `fence.tso' instruction is encoded as a FENCE instruction with fm=1000, predecessor=RW, and successor=RW (as per the ISA Manual), `fence.tso' is generalized to have unused rs1 and rd operands (shall be zero on standard software).
Codecov Report
@@ Coverage Diff @@
## master #135 +/- ##
=======================================
Coverage 95.57% 95.57%
=======================================
Files 3 3
Lines 656 656
=======================================
Hits 627 627
Misses 29 29 📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more |
The spec says : |
I must say that Although they are reserved,
it's not a bad idea to make them variable to safely ignore them without any illegal instruction fault (e.g. Spike is a base implementation and base implementations shall ignore those reserved fields/combinations). |
hmm.. I see the inconsistency now (thanks).... and I am going to let @aswaterman decide which way to go - we can either accept this or fix fence/fence.i accordingly. |
I don't recommend changing So options I think is:
|
This is technically correct, even if surprising. |
fence.tso
instruction is encoded as aFENCE
instruction withfm=1000
, predecessor=RW
, and successor=RW
(as per the ISA Manual).This commit generalizes
fence.tso
instruction to have unused rs1 and rd operands (shall be zero on standard software).In this PR,
fence.tso
is encoded likefence
andfence.i
instructions (that have generalized forms on riscv-opcodes).Not a Request:
pause
fromZihintntl
Note that
pause
instruction must not be edited like this because (quoting the ISA Manual),