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

Reply via email to