RISC-V: Added half-precision floating-point v1.0 instructions.
authorNelson Chu <nelson.chu@sifive.com>
Thu, 26 Mar 2020 10:38:27 +0000 (18:38 +0800)
committerNelson Chu <nelson.chu@sifive.com>
Tue, 17 May 2022 05:31:38 +0000 (13:31 +0800)
commit035784e3456d540444aaf7d8006f8e98bca79e5a
tree4d4945ff79977223d15bb8e7a49ede2cb20955ca
parent626d0e40e55c35a4f143b70def498734e8ed3c2a
RISC-V: Added half-precision floating-point v1.0 instructions.

bfd/
* elfxx-riscv.c (riscv_implicit_subsets): Added implicit f
and zicsr for zfh.
(riscv_supported_std_z_ext): Added default v1.0 version for zfh.
(riscv_multi_subset_supports): Handle INSN_CLASS_ZFH,
INSN_CLASS_D_AND_ZFH and INSN_CLASS_Q_AND_ZFH.
gas/
* config/tc-riscv.c (FLT_CHARS): Added "hH".
(macro): Expand Pseudo M_FLH and M_FSH.
(riscv_pseudo_table): Added .float16 directive.
* testsuite/gas/riscv/float16-be.d: New testcase for .float16.
* testsuite/gas/riscv/float16-le.d: Likewise.
* testsuite/gas/riscv/float16.s: Likewise.
* testsuite/gas/riscv/fp-zfh-insns.d: New testcase for zfh.
* testsuite/gas/riscv/fp-zfh-insns.s: Likewise.
include/
* opcode/riscv-opc.h: Added MASK and MATCH encodings for zfh.
* opcode/riscv.h: Added INSN_CLASS and pseudo macros for zfh.
opcodes/
* riscv-opc.c (riscv_opcodes): Added zfh instructions.
bfd/elfxx-riscv.c
gas/config/tc-riscv.c
gas/testsuite/gas/riscv/float16-be.d [new file with mode: 0644]
gas/testsuite/gas/riscv/float16-le.d [new file with mode: 0644]
gas/testsuite/gas/riscv/float16.s [new file with mode: 0644]
gas/testsuite/gas/riscv/fp-zfh-insns.d [new file with mode: 0644]
gas/testsuite/gas/riscv/fp-zfh-insns.s [new file with mode: 0644]
include/opcode/riscv-opc.h
include/opcode/riscv.h
opcodes/riscv-opc.c