You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[DO NOT MERGE]
Until RISC-V BF16 extensions are frozen/ratified and the final version
number is determined, this patch should not be merged upstream. This
commit uses unratified version 0.8 as in the latest PDF documentation
(instead of possible 1.0 after ratification).
This commit adds support for the 'Zvfbfmin' extension, the vector BF16
conversion only extension, consisting of two narrowing / widening conversion
instructions between BF16 and FP32.
This commit is based on the following specification:
<riscv/riscv-bfloat16@5578e34>
bfd/ChangeLog:
* elfxx-riscv.c (riscv_implicit_subsets) Add implications 'Zvfbfmin'
-> 'Zfbfmin' and 'Zve32f'.
(riscv_supported_std_z_ext): Add 'Zvfbfmin'.
(riscv_multi_subset_supports): Add support to INSN_CLASS_ZVFBFMIN.
(riscv_multi_subset_supports_ext): Likewise.
gas/ChangeLog:
* testsuite/gas/riscv/zvfbfmin.s: New test.
* testsuite/gas/riscv/zvfbfmin.d: Likewise.
include/ChangeLog:
* opcode/riscv-opc.h (MATCH_VFNCVTBF16_F_F_W, MASK_VFNCVTBF16_F_F_W,
MATCH_VFWCVTBF16_F_F_V, MASK_VFWCVTBF16_F_F_V) New.
* opcode/riscv.h (enum riscv_insn_class): Add new instruction class
INSN_CLASS_ZVFBFMIN.
opcodes/ChangeLog:
* riscv-opc.c (riscv_opcodes): Add 'Zvfbfmin' instructions.
0 commit comments