diff options
author | Saurabh Jha <saurabh.jha@arm.com> | 2024-09-25 22:08:33 +0000 |
---|---|---|
committer | Saurabh Jha <saurabh.jha@arm.com> | 2024-10-11 10:36:29 +0000 |
commit | 1a6a8cb1a72b282c418cd143b132de6e67b5d62b (patch) | |
tree | a5afcde29b88a2e828078f19f959252a57e41976 /gcc/fortran/error.cc | |
parent | c64ae8377210bde44714d265311ee7bfa2733df9 (diff) | |
download | gcc-1a6a8cb1a72b282c418cd143b132de6e67b5d62b.zip gcc-1a6a8cb1a72b282c418cd143b132de6e67b5d62b.tar.gz gcc-1a6a8cb1a72b282c418cd143b132de6e67b5d62b.tar.bz2 |
aarch64: Add SVE2 faminmax intrinsics
The AArch64 FEAT_FAMINMAX extension introduces instructions for
computing the floating point absolute maximum and minimum of the
two vectors element-wise.
This patch introduces SVE2 faminmax intrinsics. The intrinsics of this
extension are implemented as the following builtin functions:
* sva[max|min]_[m|x|z]
* sva[max|min]_[f16|f32|f64]_[m|x|z]
* sva[max|min]_n_[f16|f32|f64]_[m|x|z]
gcc/ChangeLog:
* config/aarch64/aarch64-sve-builtins-base.cc
(svamax): Absolute maximum declaration.
(svamin): Absolute minimum declaration.
* config/aarch64/aarch64-sve-builtins-base.def
(REQUIRED_EXTENSIONS): Add faminmax intrinsics behind a flag.
(svamax): Absolute maximum declaration.
(svamin): Absolute minimum declaration.
* config/aarch64/aarch64-sve-builtins-base.h: Declaring function
bases for the new intrinsics.
* config/aarch64/aarch64.h
(TARGET_SVE_FAMINMAX): New flag for SVE2 faminmax.
* config/aarch64/iterators.md: New unspecs, iterators, and attrs
for the new intrinsics.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/sve2/acle/asm/amax_f16.c: New test.
* gcc.target/aarch64/sve2/acle/asm/amax_f32.c: New test.
* gcc.target/aarch64/sve2/acle/asm/amax_f64.c: New test.
* gcc.target/aarch64/sve2/acle/asm/amin_f16.c: New test.
* gcc.target/aarch64/sve2/acle/asm/amin_f32.c: New test.
* gcc.target/aarch64/sve2/acle/asm/amin_f64.c: New test.
Diffstat (limited to 'gcc/fortran/error.cc')
0 files changed, 0 insertions, 0 deletions