diff options
author | Spencer Abson <spencer.abson@arm.com> | 2025-07-30 08:58:50 +0000 |
---|---|---|
committer | Spencer Abson <spencer.abson@arm.com> | 2025-07-30 08:58:50 +0000 |
commit | 45fd943eabfe8e71aeecf001e9200f4d52748610 (patch) | |
tree | 89392361230db21e074565cc8508e4ff8fb0a63e /contrib/gcc-changelog/git_commit.py | |
parent | 84f8f1ff6a9bfeb12e5fc0eac58efc375cc08485 (diff) | |
download | gcc-45fd943eabfe8e71aeecf001e9200f4d52748610.zip gcc-45fd943eabfe8e71aeecf001e9200f4d52748610.tar.gz gcc-45fd943eabfe8e71aeecf001e9200f4d52748610.tar.bz2 |
aarch64: Add support for unpacked SVE FP conditional ternary arithmetic
This patch extends the expander for fma, fnma, fms, and fnms to support
partial SVE FP modes.
We add the missing BF16 tests, which we can now trigger for having
implemented the conditional expander.
We also add tests for the 'merging with multiplicand' case, which this
expander canonicalizes (albeit under SVE_STRICT_GP).
gcc/ChangeLog:
* config/aarch64/aarch64-sve.md (@cond_<optab><mode>): Extend
to support partial FP modes.
(*cond_<optab><mode>_2_strict): Extend from SVE_FULL_F to SVE_F,
use aarch64_predicate_operand.
(*cond_<optab><mode>_4_strict): Extend from SVE_FULL_F_B16B16 to
SVE_F_B16B16, use aarch64_predicate_operand.
(*cond_<optab><mode>_any_strict): Likewise.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/sve/unpacked_cond_fmla_1.c: Add test cases
for merging with multiplcand.
* gcc.target/aarch64/sve/unpacked_cond_fmls_1.c: Likewise.
* gcc.target/aarch64/sve/unpacked_cond_fnmla_1.c: Likewise.
* gcc.target/aarch64/sve/unpacked_cond_fnmls_1.c: Likewise.
* gcc.target/aarch64/sve/unpacked_cond_fmla_2.c: New test.
* gcc.target/aarch64/sve/unpacked_cond_fmls_2.c: Likewise.
* gcc.target/aarch64/sve/unpacked_cond_fnmla_2.c: Likewise..
* gcc.target/aarch64/sve/unpacked_cond_fnmls_2.c: Likewise.
* g++.target/aarch64/sve/unpacked_cond_ternary_bf16_1.C: Likewise.
* g++.target/aarch64/sve/unpacked_cond_ternary_bf16_2.C: Likewise.
Diffstat (limited to 'contrib/gcc-changelog/git_commit.py')
0 files changed, 0 insertions, 0 deletions