diff options
author | jiawei <jiawei@iscas.ac.cn> | 2022-05-30 10:35:02 +0800 |
---|---|---|
committer | Nelson Chu <nelson.chu@sifive.com> | 2022-05-30 11:42:08 +0800 |
commit | 292c7bf86de50ad643b929a7ac5769505d54e45f (patch) | |
tree | 63e803693ef4b60ba49739c59baede22892bd9e0 /include | |
parent | 9606310bbbf8a2d529b5c2aa71cac48a46f65869 (diff) | |
download | binutils-292c7bf86de50ad643b929a7ac5769505d54e45f.zip binutils-292c7bf86de50ad643b929a7ac5769505d54e45f.tar.gz binutils-292c7bf86de50ad643b929a7ac5769505d54e45f.tar.bz2 |
RISC-V: Add zhinx extension supports.
The zhinx extension is a sub-extension in zfinx, corresponding to
zfh extension but use GPRs instead of FPRs.
This patch expanded the zfh insn class define, since zfh and zhinx
use the same opcodes, thanks for Nelson's works.
changelog in V2: Add missing classes of 'zfh' and 'zhinx' in
"riscv_multi_subset_supports_ext".
bfd/ChangeLog:
* elfxx-riscv.c (riscv_multi_subset_supports): New extensions.
(riscv_multi_subset_supports_ext): New extensions.
gas/ChangeLog:
* testsuite/gas/riscv/fp-zhinx-insns.d: New test.
* testsuite/gas/riscv/fp-zhinx-insns.s: New test.
include/ChangeLog:
* opcode/riscv.h (enum riscv_insn_class): New INSN classes.
opcodes/ChangeLog:
* riscv-opc.c: Modify INSN_CLASS.
Diffstat (limited to 'include')
-rw-r--r-- | include/opcode/riscv.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/opcode/riscv.h b/include/opcode/riscv.h index 0d1fbcf..f0becea 100644 --- a/include/opcode/riscv.h +++ b/include/opcode/riscv.h @@ -371,8 +371,9 @@ enum riscv_insn_class INSN_CLASS_D_OR_ZDINX, INSN_CLASS_Q_OR_ZQINX, INSN_CLASS_ZFH, - INSN_CLASS_D_AND_ZFH, - INSN_CLASS_Q_AND_ZFH, + INSN_CLASS_ZFH_OR_ZHINX, + INSN_CLASS_D_AND_ZFH_INX, + INSN_CLASS_Q_AND_ZFH_INX, INSN_CLASS_ZBA, INSN_CLASS_ZBB, INSN_CLASS_ZBC, |