-
Notifications
You must be signed in to change notification settings - Fork 34
Behavior of -march=zcf on rv64. Behavior of F+Zce on RV64. #221
Comments
is there any precedence for empty extensions @aswaterman ? or is this the first time? |
I don’t believe there is such a thing, even though it would be harmless. For my part, I’d favor rejecting it in RV64. Whichever is chosen should be clearly reflected in the spec. |
yes I think that makes sense, although the wavefront spec isn't in great shape as it has incomplete SAIL code in it. |
This my LLVM patch. https://reviews.llvm.org/D153742 It includes an error for Zcf on RV64. If Zce is specified with F, it only enables Zcf for RV32. Couple additional questions. |
Any progress on getting the spec updated? |
I gave up on getting the SAIL fixed so I reverted that PR, so I had a working head of main again. |
As fld/fsd(sp) instruction description in ISA-spec, you have to use f/d with zcf/d. |
Adding dependencies can make it easier for users to directly use Zcf/d extensions, |
As per: <riscvarchive/riscv-code-size-reduction#221>, the 'Zcf' extension does not exist on RV64. This is reflected on the version 1.0.4-1 of the code size reduction specification: <https://github.com/riscv/riscv-code-size-reduction/releases/tag/v1.0.4-1>. This commit prohibits the combination: RV64 (or any ISA with XLEN > 32) and the 'Zcf' extension. bfd/ChangeLog: * elfxx-riscv.c (riscv_parse_check_conflicts): Prohibit combination of RV64 and 'Zcf'. gas/ChangeLog: * testsuite/gas/riscv/march-fail-rv64i_zcf.d: New test. * testsuite/gas/riscv/march-fail-rv64i_zcf.l: Likewise.
As per: <riscvarchive/riscv-code-size-reduction#221>, the 'Zcf' extension does not exist on RV64. This is reflected on the version 1.0.4-1 of the code size reduction specification: <https://github.com/riscv/riscv-code-size-reduction/releases/tag/v1.0.4-1>. This commit prohibits the combination: RV64 (or any ISA with XLEN > 32) and the 'Zcf' extension. bfd/ChangeLog: * elfxx-riscv.c (riscv_parse_check_conflicts): Prohibit combination of RV64 and 'Zcf'. gas/ChangeLog: * testsuite/gas/riscv/march-fail-rv64i_zcf.d: New test. * testsuite/gas/riscv/march-fail-rv64i_zcf.l: Likewise.
As per: <riscvarchive/riscv-code-size-reduction#221>, the 'Zcf' extension does not exist on RV64. This is reflected on the version 1.0.4-1 of the code size reduction specification: <https://github.com/riscv/riscv-code-size-reduction/releases/tag/v1.0.4-1>. This commit prohibits the combination: RV64 (or any ISA with XLEN > 32) and the 'Zcf' extension. bfd/ChangeLog: * elfxx-riscv.c (riscv_parse_check_conflicts): Prohibit combination of RV64 and 'Zcf'. gas/ChangeLog: * testsuite/gas/riscv/march-fail-rv64i_zcf.d: New test. * testsuite/gas/riscv/march-fail-rv64i_zcf.l: Likewise.
As per: <riscvarchive/riscv-code-size-reduction#221>, the 'Zcf' extension does not exist on RV64. This is reflected on the version 1.0.4-1 of the code size reduction specification: <https://github.com/riscv/riscv-code-size-reduction/releases/tag/v1.0.4-1>. This commit prohibits the combination: RV64 (or any ISA with XLEN > 32) and the 'Zcf' extension. bfd/ChangeLog: * elfxx-riscv.c (riscv_parse_check_conflicts): Prohibit combination of RV64 and 'Zcf'. gas/ChangeLog: * testsuite/gas/riscv/march-fail-rv64i_zcf.d: New test. * testsuite/gas/riscv/march-fail-rv64i_zcf.l: Likewise.
see riscvarchive/riscv-code-size-reduction#221 Signed-off-by: Huaqi Fang <[email protected]>
Since Zcf doesn't contain any instructions on RV64. Should toolchains reject it or accept it?
The spec says "Specifying Zce with F includes Zca, Zcb, Zcmp, Zcmt and Zcf". Zcf doesn't contain any instructions on rv64. Should toolchains only enable Zca, Zcb, Zcmp, Zcmt for Zce on rv64?
The text was updated successfully, but these errors were encountered: