aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorSpencer Abson <spencer.abson@arm.com>2025-07-30 07:59:42 +0000
committerSpencer Abson <spencer.abson@arm.com>2025-07-30 07:59:42 +0000
commite16fac19a2e65fcd3009c58df7141dbe319c7526 (patch)
treef624b5d55ea1be8f94216c5c5dd31d8f89f9f347 /gcc/fortran
parent9d4a1931818a6141909d26dd4de50b4b099719fc (diff)
downloadgcc-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')
0 files changed, 0 insertions, 0 deletions