diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2014-07-17 10:35:26 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2014-07-17 10:35:26 +0000 |
commit | ec454483617259df71121e809472f7caeb13b34a (patch) | |
tree | 454cbd3e531e19a881dfb47b053f4027596ddd50 | |
parent | 1d61feeb993d24642eca7f6a6a4f37cdcbf5848d (diff) | |
download | gcc-ec454483617259df71121e809472f7caeb13b34a.zip gcc-ec454483617259df71121e809472f7caeb13b34a.tar.gz gcc-ec454483617259df71121e809472f7caeb13b34a.tar.bz2 |
[AArch64] Fix argument types for some high_lane* intrinsics implemented in assembly.
* config/aarch64/arm_neon.h (vmlal_high_lane_s16): Fix type.
(vmlal_high_lane_s32): Likewise.
(vmlal_high_lane_u16): Likewise.
(vmlal_high_lane_u32): Likewise.
(vmlsl_high_lane_s16): Likewise.
(vmlsl_high_lane_s32): Likewise.
(vmlsl_high_lane_u16): Likewise.
(vmlsl_high_lane_u32): Likewise.
From-SVN: r212752
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/config/aarch64/arm_neon.h | 16 |
2 files changed, 19 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b562008..eede13a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2014-07-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/arm_neon.h (vmlal_high_lane_s16): Fix type. + (vmlal_high_lane_s32): Likewise. + (vmlal_high_lane_u16): Likewise. + (vmlal_high_lane_u32): Likewise. + (vmlsl_high_lane_s16): Likewise. + (vmlsl_high_lane_s32): Likewise. + (vmlsl_high_lane_u16): Likewise. + (vmlsl_high_lane_u32): Likewise. + 2014-07-17 Terry Guo <terry.guo@arm.com> * config/arm/types.md (alu_reg): Replaced by alu_sreg and alu_dsp_reg. diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h index 83ac5e9..a009692 100644 --- a/gcc/config/aarch64/arm_neon.h +++ b/gcc/config/aarch64/arm_neon.h @@ -6729,7 +6729,7 @@ vmla_u32 (uint32x2_t a, uint32x2_t b, uint32x2_t c) #define vmlal_high_lane_s16(a, b, c, d) \ __extension__ \ ({ \ - int16x8_t c_ = (c); \ + int16x4_t c_ = (c); \ int16x8_t b_ = (b); \ int32x4_t a_ = (a); \ int32x4_t result; \ @@ -6743,7 +6743,7 @@ vmla_u32 (uint32x2_t a, uint32x2_t b, uint32x2_t c) #define vmlal_high_lane_s32(a, b, c, d) \ __extension__ \ ({ \ - int32x4_t c_ = (c); \ + int32x2_t c_ = (c); \ int32x4_t b_ = (b); \ int64x2_t a_ = (a); \ int64x2_t result; \ @@ -6757,7 +6757,7 @@ vmla_u32 (uint32x2_t a, uint32x2_t b, uint32x2_t c) #define vmlal_high_lane_u16(a, b, c, d) \ __extension__ \ ({ \ - uint16x8_t c_ = (c); \ + uint16x4_t c_ = (c); \ uint16x8_t b_ = (b); \ uint32x4_t a_ = (a); \ uint32x4_t result; \ @@ -6771,7 +6771,7 @@ vmla_u32 (uint32x2_t a, uint32x2_t b, uint32x2_t c) #define vmlal_high_lane_u32(a, b, c, d) \ __extension__ \ ({ \ - uint32x4_t c_ = (c); \ + uint32x2_t c_ = (c); \ uint32x4_t b_ = (b); \ uint64x2_t a_ = (a); \ uint64x2_t result; \ @@ -7417,7 +7417,7 @@ vmls_u32 (uint32x2_t a, uint32x2_t b, uint32x2_t c) #define vmlsl_high_lane_s16(a, b, c, d) \ __extension__ \ ({ \ - int16x8_t c_ = (c); \ + int16x4_t c_ = (c); \ int16x8_t b_ = (b); \ int32x4_t a_ = (a); \ int32x4_t result; \ @@ -7431,7 +7431,7 @@ vmls_u32 (uint32x2_t a, uint32x2_t b, uint32x2_t c) #define vmlsl_high_lane_s32(a, b, c, d) \ __extension__ \ ({ \ - int32x4_t c_ = (c); \ + int32x2_t c_ = (c); \ int32x4_t b_ = (b); \ int64x2_t a_ = (a); \ int64x2_t result; \ @@ -7445,7 +7445,7 @@ vmls_u32 (uint32x2_t a, uint32x2_t b, uint32x2_t c) #define vmlsl_high_lane_u16(a, b, c, d) \ __extension__ \ ({ \ - uint16x8_t c_ = (c); \ + uint16x4_t c_ = (c); \ uint16x8_t b_ = (b); \ uint32x4_t a_ = (a); \ uint32x4_t result; \ @@ -7459,7 +7459,7 @@ vmls_u32 (uint32x2_t a, uint32x2_t b, uint32x2_t c) #define vmlsl_high_lane_u32(a, b, c, d) \ __extension__ \ ({ \ - uint32x4_t c_ = (c); \ + uint32x2_t c_ = (c); \ uint32x4_t b_ = (b); \ uint64x2_t a_ = (a); \ uint64x2_t result; \ |