Ports FP min/max intrinsics (both lanewise and reduction) to the pragma-based
framework.
These intrinsics were left behind when the rest of the min/max intrinsics were
ported,
because the semantics of MIN_EXPR/IFN_REDUC_MIN don't match the semantics of
AArch64's
fmin or fminv instructions. Resolve this by expanding them to UNSPECs.
ChangeLog:
* V1: Initial revision.
Karl Meakin (2):
aarch64: Port NEON FP min/max intrinsics to pragma-based framework
aarch64: Port NEON FP min/max reduction intrinsics to pragma-based
framework
gcc/config/aarch64/aarch64-builtins.cc | 12 --
.../aarch64/aarch64-neon-builtins-base.cc | 100 +++++++++-
.../aarch64/aarch64-neon-builtins-base.def | 20 +-
gcc/config/aarch64/aarch64-simd-builtins.def | 22 +--
gcc/config/aarch64/aarch64-simd.md | 6 +-
gcc/config/aarch64/arm_fp16.h | 4 +-
gcc/config/aarch64/arm_neon.h | 184 +-----------------
7 files changed, 131 insertions(+), 217 deletions(-)
--
2.56.0