aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.cc
diff options
context:
space:
mode:
authorXiao Zeng <zengxiao@eswincomputing.com>2024-05-15 13:56:42 +0800
committerXiao Zeng <zengxiao@eswincomputing.com>2024-06-05 09:20:21 +0800
commit4638e508aa814d4aa2e204c3ab041c6a56aad2bd (patch)
treecec767cf26227108d95a3fd17023c193ca13c4a0 /gcc/fold-const.cc
parent904fbe96180d66b718ca9201fc5e1064e7eec26b (diff)
downloadgcc-4638e508aa814d4aa2e204c3ab041c6a56aad2bd.zip
gcc-4638e508aa814d4aa2e204c3ab041c6a56aad2bd.tar.gz
gcc-4638e508aa814d4aa2e204c3ab041c6a56aad2bd.tar.bz2
RISC-V: Add Zfbfmin extension
1 In the previous patch, the libcall for BF16 was implemented: <https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=8c7cee80eb50792e57d514be1418c453ddd1073e> 2 Riscv provides Zfbfmin extension, which completes the "Scalar BF16 Converts": <https://github.com/riscv/riscv-bfloat16/blob/main/doc/riscv-bfloat16-zfbfmin.adoc> 3 Implemented replacing libcall with Zfbfmin extension instruction. 4 Reused previous testcases in: <https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=8c7cee80eb50792e57d514be1418c453ddd1073e> gcc/ChangeLog: * config/riscv/iterators.md: Add mode_iterator between floating-point modes and BFmode. * config/riscv/riscv.cc (riscv_output_move): Handle BFmode move for zfbfmin. * config/riscv/riscv.md (trunc<mode>bf2): New pattern for BFmode. (extendbfsf2): Dotto. (*movhf_hardfloat): Add BFmode. (*mov<mode>_hardfloat): Dotto. gcc/testsuite/ChangeLog: * gcc.target/riscv/zfbfmin-bf16_arithmetic.c: New test. * gcc.target/riscv/zfbfmin-bf16_comparison.c: New test. * gcc.target/riscv/zfbfmin-bf16_float_libcall_convert.c: New test. * gcc.target/riscv/zfbfmin-bf16_integer_libcall_convert.c: New test.
Diffstat (limited to 'gcc/fold-const.cc')
0 files changed, 0 insertions, 0 deletions