[Patch AArch64] Add some more missing intrinsics

Kyrill Tkachov kyrylo.tkachov@foss.arm.com
Tue Jun 14 14:23:00 GMT 2016


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.greenhalgh@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.greenhalgh@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



More information about the Gcc-patches mailing list