-
Notifications
You must be signed in to change notification settings - Fork 27
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
Fence.tso is not pseudo for Fence #428
Comments
Probably so. It'll make a bit of a mess because you'll need to exclude the specific |
Agree. In terms of encoding, this is captured by the
# ...
hints:
- { $ref: "inst/I/fence.tso.yaml" }
# ...
# full fence.tso instruction |
I can't comprehend why to encode fence.tso as hint. Do they need to be connected at all? I think FENCE is described in the ISA both as a category of intructions (everything related to FENCEs) and as just an instruction FENCE. I think it kind of acts the same way as the funct3/funct7 fields for Register-Register operations Can't we remove the fm field from fence as a variable field and just describe it as 0000 for FENCE and 0001 for FENCE.TSO or would that have any further implications? |
How do we represent "reserved" values for which there is a "shall" in the ISA spec:
That's actually what the Sail code does:
I note that you used
Is the IDL code incorrect there? If we force FENCE to have fm= |
LLVM also represents fm as a hardcoded value. I re-opened my issue on the ISA manual to see if I can get clarification on this (riscv/riscv-isa-manual#1782 (comment)) I was wrong and I think you caught an IDL error. Indeed, correct value is described in the ISA as |
Yep, that's an IDL bug. |
Currently UDB specified fence.tso as pseudo-instructions under fence.yaml. However, this is not the case and fence.tso should have a separate file for it.
I believe this is the specified like this because of riscv-opcodes, but the only reason riscv-opcodes specified it like that is it not possible to support for both on current riscv-opcodes format.
Context:
riscv/riscv-opcodes#330
riscv/riscv-isa-manual#1782 (comment)
The text was updated successfully, but these errors were encountered: