Hi, vrsqrte_f64 is currently defined to take a float64x2_t, but it should take a float64x1_t.
I've committed the attached, obvious fix as revision 202407. James --- 2013-09-09 James Greenhalgh <james.greenha...@arm.com> * config/aarch64/arm_neon.h (vrsqrte_f64): Fix parameter type.
diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h index ac94516..23b1116 100644 --- a/gcc/config/aarch64/arm_neon.h +++ b/gcc/config/aarch64/arm_neon.h @@ -12764,11 +12764,11 @@ vrsqrte_f32 (float32x2_t a) return result; } -__extension__ static __inline float64x2_t __attribute__ ((__always_inline__)) -vrsqrte_f64 (float64x2_t a) +__extension__ static __inline float64x1_t __attribute__ ((__always_inline__)) +vrsqrte_f64 (float64x1_t a) { - float64x2_t result; - __asm__ ("frsqrte %0.2d,%1.2d" + float64x1_t result; + __asm__ ("frsqrte %d0,%d1" : "=w"(result) : "w"(a) : /* No clobbers */);