RISC-V: Make "fli.h" available to 'Zvfh' + 'Zfa'
authorTsukasa OI <research_trasio@irq.a4lg.com>
Sat, 12 Aug 2023 16:14:04 +0000 (16:14 +0000)
committerTsukasa OI <research_trasio@irq.a4lg.com>
Tue, 15 Aug 2023 06:46:18 +0000 (06:46 +0000)
commit239af8cbd15cd9ef11e333f9889834665066e4b3
tree3950380006ea35b0425fcb5e638f4d1a19445ff7
parent2266f8631806ec65a9a9ff8a7c68a56c83eae81d
RISC-V: Make "fli.h" available to 'Zvfh' + 'Zfa'

The documentation of the 'Zfa' extension states that "fli.h" is available
"if the Zfh or Zvfh extension is implemented" (both the latest and the
oldest editions are checked).

This fact was not reflected in Binutils ('Zvfh' implies 'Zfhmin', not full
'Zfh' extension and "fli.h" required 'Zfh' and 'Zfa' extensions).
This commit makes "fli.h" also available when both 'Zfa' and 'Zvfh'
extensions are implemented.

bfd/ChangeLog:

* elfxx-riscv.c (riscv_multi_subset_supports): Add new
instruction class handling.
(riscv_multi_subset_supports_ext): Likewise.

gas/ChangeLog:

* testsuite/gas/riscv/zfa-zvfh.s: New test.
* testsuite/gas/riscv/zfa-zvfh.d: Ditto.

include/ChangeLog:

* opcode/riscv.h (enum riscv_insn_class): Add new instruction
class.

opcodes/ChangeLog:

* riscv-opc.c (riscv_opcodes): Change instruction class of "fli.h"
from INSN_CLASS_ZFH_AND_ZFA to new INSN_CLASS_ZFH_OR_ZVFH_AND_ZFA.
bfd/elfxx-riscv.c
gas/testsuite/gas/riscv/zfa-zvfh.d [new file with mode: 0644]
gas/testsuite/gas/riscv/zfa-zvfh.s [new file with mode: 0644]
include/opcode/riscv.h
opcodes/riscv-opc.c