AArch64: Implement missing vrndns_f32 intrinsic
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Wed, 23 Sep 2020 11:02:29 +0000 (12:02 +0100)
committerKyrylo Tkachov <kyrylo.tkachov@arm.com>
Wed, 23 Sep 2020 11:02:29 +0000 (12:02 +0100)
commit02b5377b3766804059b7824330d33d0e1cef2e5b
tree7a9ef55d4a9a7c32a347238cd59420d09ce67080
parent52e5b3fd8ef1d1b3ff86e26bd0aa7266bd9767fd
AArch64: Implement missing vrndns_f32 intrinsic

This patch implements the missing vrndns_f32 intrinsic. This operates on a scalar float32_t value.
It can be mapped down to a __builtin_aarch64_frintnsf builtin.

This patch does that.

Bootstrapped and tested on aarch64-none-linux-gnu.

gcc/
PR target/71233
* config/aarch64/aarch64-simd-builtins.def (frintn): Use BUILTIN_VHSDF_HSDF
for modes.  Remove explicit hf instantiation.
* config/aarch64/arm_neon.h (vrndns_f32): Define.

gcc/testsuite/
PR target/71233
* gcc.target/aarch64/simd/vrndns_f32_1.c: New test.
gcc/config/aarch64/aarch64-simd-builtins.def
gcc/config/aarch64/arm_neon.h
gcc/testsuite/gcc.target/aarch64/simd/vrndns_f32_1.c [new file with mode: 0644]