[PATCH v2 0/1] RISC-V: Fix RV32Q conflict

Tsukasa OI research_trasio@irq.a4lg.com
Sun Feb 27 08:51:03 GMT 2022


[v2]

This commit allows combination of RV32 + 'Q' extension (IEEE 754
binary128 floating point number support), version 2.2 or later.

This combination is no longer prohibited by the specification.

v1:
<https://sourceware.org/pipermail/binutils/2022-February/119655.html>

Changes: v1 -> v2
-   Changed/renamed testcase so that no failure occurs.
    RV32IQ with old ISA (version 2.2 w/ 'Q' 2.0) is prohibited.
-   Added testcase so that RV32IQ with recent ISA succeeds.
    RV32IQ with new ISA (version 20190608 w/ 'Q' 2.2) is allowed.
-   Added testcases for RV32I + 'Q' per extension version
    -   'Q' extension version 2.0 with RV32I is prohibited.
        ("rv32iq2" means RV32I + Q version 2".0" so also prohibited.)
    -   'Q' extension version 2.2 with RV32I is allowed.

As I noted in v1, this implementation might be too pedantic.
An option is to allow RV32IQ entirely (regardless of version numbers).




Tsukasa OI (1):
  RISC-V: Fix RV32Q conflict

 bfd/elfxx-riscv.c                                            | 5 +++--
 gas/testsuite/gas/riscv/march-fail-rv32iq-isa-2p2.d          | 3 +++
 gas/testsuite/gas/riscv/march-fail-rv32iq.d                  | 3 ---
 gas/testsuite/gas/riscv/march-fail-rv32iq2.d                 | 3 +++
 gas/testsuite/gas/riscv/march-fail-rv32iq2p0.d               | 3 +++
 .../riscv/{march-fail-rv32iq.l => march-fail-rv32iq2p0.l}    | 0
 gas/testsuite/gas/riscv/march-ok-rv32iq-isa-20190608.d       | 5 +++++
 gas/testsuite/gas/riscv/march-ok-rv32iq2p2.d                 | 5 +++++
 8 files changed, 22 insertions(+), 5 deletions(-)
 create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32iq-isa-2p2.d
 delete mode 100644 gas/testsuite/gas/riscv/march-fail-rv32iq.d
 create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32iq2.d
 create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32iq2p0.d
 rename gas/testsuite/gas/riscv/{march-fail-rv32iq.l => march-fail-rv32iq2p0.l} (100%)
 create mode 100644 gas/testsuite/gas/riscv/march-ok-rv32iq-isa-20190608.d
 create mode 100644 gas/testsuite/gas/riscv/march-ok-rv32iq2p2.d


base-commit: b275570803cefba388595bc42b75b68403eb86f1
-- 
2.32.0



More information about the Binutils mailing list