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

Reply via email to