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 <[email protected]>
* 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 */);