[AArch64] Use fmin/fmax for v[min|max]nm{q} intrinsics
authorJiong Wang <jiong.wang@arm.com>
Fri, 8 Jul 2016 15:26:51 +0000 (15:26 +0000)
committerJiong Wang <jiwang@gcc.gnu.org>
Fri, 8 Jul 2016 15:26:51 +0000 (15:26 +0000)
commit8beb9a0dc9e0a11bd582bfaef8cbed5a38adc8a1
treeefffb983adc44f8e9f26dd797118ec1e0176ca42
parentcef4b65070a67ba1afa3359f21c48e4529ac154b
[AArch64] Use fmin/fmax for v[min|max]nm{q} intrinsics

  smin/smax will actually honor quiet NaN.

gcc/
* config/aarch64/aarch64-simd-builtins.def (smax): Remove float
variants.
(smin): Likewise.
(fmax): New entry.
(fmin): Likewise.
* config/aarch64/arm_neon.h (vmaxnm_f32): Use
__builtin_aarch64_fmaxv2sf.
(vmaxnmq_f32): Likewise.
(vmaxnmq_f64): Likewise.
(vminnm_f32): Likewise.
(vminnmq_f32): Likewise.
(vminnmq_f64): Likewise.

gcc/testsuite/

* gcc.target/aarch64/simd/vminmaxnm_1.c: New.

From-SVN: r238166
gcc/ChangeLog
gcc/config/aarch64/aarch64-simd-builtins.def
gcc/config/aarch64/arm_neon.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/simd/vminmaxnm_1.c [new file with mode: 0644]