]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
RISC-V/zfh: Add half-precision floating-point v0.1 instructions.
authorNelson Chu <nelson.chu@sifive.com>
Thu, 26 Mar 2020 10:38:27 +0000 (18:38 +0800)
committerNelson Chu <nelson.chu@sifive.com>
Thu, 22 Jul 2021 09:24:47 +0000 (17:24 +0800)
commit9706e698b79ac00bcc9bb93f3347b768a3817dc2
tree866cde352fd7e6778750c6009f2053c9377f4327
parent2fde1f4f215caefd0f59ea0be98d7a36461177bc
RISC-V/zfh: Add half-precision floating-point v0.1 instructions.

This patch is porting from the following riscv github,
https://github.com/riscv/riscv-binutils-gdb/commits/rvv-1.0.x-zfh

And here is the draft zfh spec,
https://github.com/riscv/riscv-isa-manual/tree/zfh

bfd/
    * elfxx-riscv.c (riscv_std_draft_ext_strtab): Added zfh.
    (riscv_implicit_subset): Add implicit f and zicsr for zfh.
gas/
    * config/tc-riscv.c (extended_ext_version_table): Added default
    version of zfh to v0.1.
    (riscv_extended_subset_supports): Handle INSN_CLASS*_ZFH.
    (extended_macro): Handle M_FLH and M_FSH.
    * testsuite/gas/riscv/extended/extended.exp: Updated.
    * testsuite/gas/riscv/extended/fp-zfh-insns.d: New testcase.
    * testsuite/gas/riscv/extended/fp-zfh-insns.s: Likewise.
include/
    * opcode/riscv-opc-extended.h: Added zfh encoding macros
    and DECLARE_INSN.
    * opcode/riscv.h (enum riscv_extended_insn_class): Added INSN_CLASS*_ZFH.
    (enum M_FLH, M_FSH): Added.
opcodes/
    * riscv-opc.c (riscv_draft_opcodes): Added zfh instructions.
bfd/elfxx-riscv.c
gas/config/tc-riscv.c
gas/testsuite/gas/riscv/extended/extended.exp
gas/testsuite/gas/riscv/extended/fp-zfh-insns.d [new file with mode: 0644]
gas/testsuite/gas/riscv/extended/fp-zfh-insns.s [new file with mode: 0644]
include/opcode/riscv-opc-extended.h
include/opcode/riscv.h
opcodes/riscv-opc.c