Hi James,
On 13/06/16 17:31, James Greenhalgh wrote:
Hi,
Inspired by Jiong's recent work, here are some more missing intrinsics,
and a smoke test for each of them.
This patch covers:
vcvt_n_f64_s64
vcvt_n_f64_u64
vcvt_n_s64_f64
vcvt_n_u64_f64
vcvt_f64_s64
vrecpe_f64
vcvt_f64_u64
vrecps_f64
Tested on aarch64-none-elf, and on an internal testsuite for Neon
intrinsics.
Note that the new tests will ICE without the fixups in
https://gcc.gnu.org/ml/gcc-patches/2016-06/msg00805.html
OK?
Thanks,
James
---
gcc/ChangeLog
2016-06-10 James Greenhalgh <james.greenha...@arm.com>
* config/aarch64/arm_neon.h (vcvt_n_f64_s64): New.
(vcvt_n_f64_u64): Likewise.
(vcvt_n_s64_f64): Likewise.
(vcvt_n_u64_f64): Likewise.
(vcvt_f64_s64): Likewise.
(vrecpe_f64): Likewise.
(vcvt_f64_u64): Likewise.
(vrecps_f64): Likewise.
gcc/testsuite/ChangeLog
2016-06-10 James Greenhalgh <james.greenha...@arm.com>
* gcc.target/aarch64/vcvt_f64_1.c: New.
* gcc.target/aarch64/vcvt_n_f64_1.c: New.
* gcc.target/aarch64/vrecp_f64_1.c: New.
Looks ok to me (but I can't approve) with a trivial nit below:
+__extension__ static __inline float64x1_t __attribute__ ((__always_inline__))
+vrecps_f64 (float64x1_t __a, float64x1_t __b)
+{
+ return (float64x1_t) { vrecpsd_f64 (vget_lane_f64 (__a, 0),
+ vget_lane_f64 (__b, 0)) };
+}
+
Only one space between vrecpsd_f64 and '('.
Thanks,
Kyrill