Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/RISCV/RISCV.td | ||
---|---|---|
53 | zihintpause? |
It seems that llvm implementation is different from Binutils/GCC. Binutils didn't regard ntl instructions as aliases of add since encoding space is reserved for HINT instructions.
How does this different implementation approach show up in terms of user-visible behaviour?
Looking at the ISA spec, I think the use of the term "reserved" with respect to hint instructions is unfortunate, because I don't think the intended meaning isn't that they are considered a "reserved" encoding as defined in the categories of instructions, as otherwise it would be legal for implementations to trap when encountering a hint, making them impossible to deploy in a backward compatible way.
I've created a PR on the ISA manual to try to clarify the confusing overloaded use of the term "reserved" https://github.com/riscv/riscv-isa-manual/pull/990
zihintpause?