diff mbox

[AArch64] Obvious - Fix return types for vaddvq_<su>64

Message ID 1378300347-32070-1-git-send-email-james.greenhalgh@arm.com
State New
Headers show

Commit Message

James Greenhalgh Sept. 4, 2013, 1:12 p.m. UTC
The vaddvq_s64 and vaddvq_u64 intrinsics are defined to return 32-bit
types. This is clearly wrong, so fix them to return int64_t and uint64_t
as expected.

Regression tested with a run through aarch64.exp and sanity checked.

OK for trunk?

Thanks,
James

---
gcc/

2013-09-04  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/arm_neon.h (vaddvq_<su>64): Fix return types.

Comments

Richard Earnshaw Sept. 4, 2013, 2:07 p.m. UTC | #1
On 04/09/13 14:12, James Greenhalgh wrote:
> 
> The vaddvq_s64 and vaddvq_u64 intrinsics are defined to return 32-bit
> types. This is clearly wrong, so fix them to return int64_t and uint64_t
> as expected.
> 
> Regression tested with a run through aarch64.exp and sanity checked.
> 
> OK for trunk?
> 

OK.

There's no need to seek approval for really obvious patches like this.
 But please remember to post saying what you've done, just in case it
wasn't as obvious as you thought it was... :-)

R.
diff mbox

Patch

diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h
index e289a0d..29d1378 100644
--- a/gcc/config/aarch64/arm_neon.h
+++ b/gcc/config/aarch64/arm_neon.h
@@ -17033,7 +17033,7 @@  vaddvq_s32 (int32x4_t __a)
   return vgetq_lane_s32 (__builtin_aarch64_reduc_splus_v4si (__a), 0);
 }
 
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
+__extension__ static __inline int64_t __attribute__ ((__always_inline__))
 vaddvq_s64 (int64x2_t __a)
 {
   return vgetq_lane_s64 (__builtin_aarch64_reduc_splus_v2di (__a), 0);
@@ -17060,7 +17060,7 @@  vaddvq_u32 (uint32x4_t __a)
 		__builtin_aarch64_reduc_uplus_v4si ((int32x4_t) __a), 0);
 }
 
-__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
+__extension__ static __inline uint64_t __attribute__ ((__always_inline__))
 vaddvq_u64 (uint64x2_t __a)
 {
   return vgetq_lane_u64 ((uint64x2_t)