diff options
author | Spencer Abson <spencer.abson@arm.com> | 2025-07-30 07:59:42 +0000 |
---|---|---|
committer | Spencer Abson <spencer.abson@arm.com> | 2025-07-30 07:59:42 +0000 |
commit | e16fac19a2e65fcd3009c58df7141dbe319c7526 (patch) | |
tree | f624b5d55ea1be8f94216c5c5dd31d8f89f9f347 /gcc/fortran/iresolve.cc | |
parent | 9d4a1931818a6141909d26dd4de50b4b099719fc (diff) | |
download | gcc-e16fac19a2e65fcd3009c58df7141dbe319c7526.zip gcc-e16fac19a2e65fcd3009c58df7141dbe319c7526.tar.gz gcc-e16fac19a2e65fcd3009c58df7141dbe319c7526.tar.bz2 |
aarch64: Add support for unpacked SVE FP ternary arithmetic
This patch extends the expander for unconditional fma, fnma, fms, and
fnms, so that it supports partial SVE FP modes.
gcc/ChangeLog:
* config/aarch64/aarch64-sve.md (<optab><mode>4): Extend from
SVE_FULL_F_B16B16 to SVE_F_B16B16. Use aarch64_sve_fp_pred instead
of aarch64_ptrue_reg.
(@aarch64_pred_<optab><mode>): Extend from SVE_FULL_F_B16B16 to
SVE_F_B16B16. Use aarch64_predicate_operand.
gcc/testsuite/ChangeLog:
* g++.target/aarch64/sve/unpacked_ternary_bf16_1.C: New test.
* g++.target/aarch64/sve/unpacked_ternary_bf16_2.C: Likewise.
* gcc.target/aarch64/sve/unpacked_fmla_1.c: Likewise.
* gcc.target/aarch64/sve/unpacked_fmla_2.c: Likewise.
* gcc.target/aarch64/sve/unpacked_fmls_1.c: Likewise.
* gcc.target/aarch64/sve/unpacked_fmls_2.c: Likewise.
* gcc.target/aarch64/sve/unpacked_fnmla_1.c: Likeiwse.
* gcc.target/aarch64/sve/unpacked_fnmla_2.c: Likewise.
* gcc.target/aarch64/sve/unpacked_fnmls_1.c: Likewise.
* gcc.target/aarch64/sve/unpacked_fnmls_2.c: Likewise.
Diffstat (limited to 'gcc/fortran/iresolve.cc')
0 files changed, 0 insertions, 0 deletions