aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorprathamesh.kulkarni <prathamesh.kulkarni@linaro.org>2021-07-30 15:10:37 +0530
committerprathamesh.kulkarni <prathamesh.kulkarni@linaro.org>2021-07-30 15:10:37 +0530
commit5a973aec601cb69024e0ebf6b0961906cec7c446 (patch)
treeea1b1e466d50fb21b3fb6245f3b169f7f7ddbe8a /gcc
parent6165cf6b9b4dfb6f9ef549c5a69e201eb5fa965f (diff)
downloadgcc-5a973aec601cb69024e0ebf6b0961906cec7c446.zip
gcc-5a973aec601cb69024e0ebf6b0961906cec7c446.tar.gz
gcc-5a973aec601cb69024e0ebf6b0961906cec7c446.tar.bz2
arm/66791: Replace builtins in vld1.
gcc/ChangeLog: PR target/66791 * config/arm/arm_neon.h (vld1_p64): Replace call to builtin by explicitly dereferencing __a. (vld1_s64): Likewise. (vld1_u64): Likewise. * config/arm/arm_neon_builtins.def (vld1): Remove entry for di and change to VAR13.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/arm/arm_neon.h6
-rw-r--r--gcc/config/arm/arm_neon_builtins.def4
2 files changed, 5 insertions, 5 deletions
diff --git a/gcc/config/arm/arm_neon.h b/gcc/config/arm/arm_neon.h
index 41b596b..5a91d15 100644
--- a/gcc/config/arm/arm_neon.h
+++ b/gcc/config/arm/arm_neon.h
@@ -10301,7 +10301,7 @@ __extension__ extern __inline poly64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64 (const poly64_t * __a)
{
- return (poly64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
+ return (poly64x1_t) { *__a };
}
#pragma GCC pop_options
@@ -10330,7 +10330,7 @@ __extension__ extern __inline int64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64 (const int64_t * __a)
{
- return (int64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
+ return (int64x1_t) { *__a };
}
#if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
@@ -10374,7 +10374,7 @@ __extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64 (const uint64_t * __a)
{
- return (uint64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
+ return (uint64x1_t) { *__a };
}
__extension__ extern __inline poly8x8_t
diff --git a/gcc/config/arm/arm_neon_builtins.def b/gcc/config/arm/arm_neon_builtins.def
index 70438ac..fb6d66e 100644
--- a/gcc/config/arm/arm_neon_builtins.def
+++ b/gcc/config/arm/arm_neon_builtins.def
@@ -302,8 +302,8 @@ VAR1 (TERNOP, vtbx1, v8qi)
VAR1 (TERNOP, vtbx2, v8qi)
VAR1 (TERNOP, vtbx3, v8qi)
VAR1 (TERNOP, vtbx4, v8qi)
-VAR14 (LOAD1, vld1,
- v8qi, v4hi, v4hf, v2si, v2sf, di, v16qi, v8hi, v8hf, v4si, v4sf, v2di,
+VAR13 (LOAD1, vld1,
+ v8qi, v4hi, v4hf, v2si, v2sf, v16qi, v8hi, v8hf, v4si, v4sf, v2di,
v4bf, v8bf)
VAR12 (LOAD1LANE, vld1_lane,
v8qi, v4hi, v2si, v2sf, di, v16qi, v8hi, v4si, v4sf, v2di, v4bf, v8bf)