From: Prathamesh Kulkarni Date: Wed, 16 Dec 2020 06:02:25 +0000 (+0530) Subject: arm: Replace calls to __builtin_vcreate* in arm_neon.h [PR66791] X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cff6dac28a0699cb26cdaafe1dbae255a7ee8030;p=gcc.git arm: Replace calls to __builtin_vcreate* in arm_neon.h [PR66791] gcc/ 2020-12-16 Prathamesh Kulkarni PR target/66791 * config/arm/arm_neon.h: Replace calls to __builtin_vcreate* in vcreate intrinsics. * config/arm/arm_neon_builtins.def: Remove entry for vcreate. --- diff --git a/gcc/config/arm/arm_neon.h b/gcc/config/arm/arm_neon.h index 6c600b3eba3..ed2e914ae68 100644 --- a/gcc/config/arm/arm_neon.h +++ b/gcc/config/arm/arm_neon.h @@ -6539,28 +6539,28 @@ __extension__ extern __inline int8x8_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vcreate_s8 (uint64_t __a) { - return (int8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a); + return (int8x8_t) __a; } __extension__ extern __inline int16x4_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vcreate_s16 (uint64_t __a) { - return (int16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a); + return (int16x4_t) __a; } __extension__ extern __inline int32x2_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vcreate_s32 (uint64_t __a) { - return (int32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a); + return (int32x2_t) __a; } __extension__ extern __inline int64x1_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vcreate_s64 (uint64_t __a) { - return (int64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a); + return (int64x1_t) {__a}; } #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE) @@ -6576,49 +6576,49 @@ __extension__ extern __inline float32x2_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vcreate_f32 (uint64_t __a) { - return (float32x2_t)__builtin_neon_vcreatev2sf ((__builtin_neon_di) __a); + return (float32x2_t) __a; } __extension__ extern __inline uint8x8_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vcreate_u8 (uint64_t __a) { - return (uint8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a); + return (uint8x8_t) __a; } __extension__ extern __inline uint16x4_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vcreate_u16 (uint64_t __a) { - return (uint16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a); + return (uint16x4_t) __a; } __extension__ extern __inline uint32x2_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vcreate_u32 (uint64_t __a) { - return (uint32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a); + return (uint32x2_t) __a; } __extension__ extern __inline uint64x1_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vcreate_u64 (uint64_t __a) { - return (uint64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a); + return (uint64x1_t) {__a}; } __extension__ extern __inline poly8x8_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vcreate_p8 (uint64_t __a) { - return (poly8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a); + return (poly8x8_t) __a; } __extension__ extern __inline poly16x4_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vcreate_p16 (uint64_t __a) { - return (poly16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a); + return (poly16x4_t) __a; } __extension__ extern __inline int8x8_t diff --git a/gcc/config/arm/arm_neon_builtins.def b/gcc/config/arm/arm_neon_builtins.def index 1a1a851ba43..cf90427e7f4 100644 --- a/gcc/config/arm/arm_neon_builtins.def +++ b/gcc/config/arm/arm_neon_builtins.def @@ -217,7 +217,6 @@ VAR10 (GETLANE, vget_lane, VAR6 (GETLANE, vget_laneu, v8qi, v4hi, v2si, v16qi, v8hi, v4si) VAR10 (SETLANE, vset_lane, v8qi, v4hi, v2si, v2sf, di, v16qi, v8hi, v4si, v4sf, v2di) -VAR5 (UNOP, vcreate, v8qi, v4hi, v2si, v2sf, di) VAR10 (UNOP, vdup_n, v8qi, v4hi, v2si, v2sf, di, v16qi, v8hi, v4si, v4sf, v2di) VAR4 (UNOP, vdup_n, v8hf, v4hf, v8bf, v4bf)