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.
This commit is contained in:
prathamesh.kulkarni 2021-07-30 15:10:37 +05:30
parent 6165cf6b9b
commit 5a973aec60
2 changed files with 5 additions and 5 deletions

View file

@ -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

View file

@ -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)