aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/arm/arm_neon.h28
-rw-r--r--gcc/config/arm/arm_neon_builtins.def1
2 files changed, 14 insertions, 15 deletions
diff --git a/gcc/config/arm/arm_neon.h b/gcc/config/arm/arm_neon.h
index 9569e1a..6c600b3 100644
--- a/gcc/config/arm/arm_neon.h
+++ b/gcc/config/arm/arm_neon.h
@@ -5812,98 +5812,98 @@ __extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s8 (int8x8_t __a)
{
- return (int8x8_t)__builtin_neon_vmvnv8qi (__a);
+ return ~__a;
}
__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s16 (int16x4_t __a)
{
- return (int16x4_t)__builtin_neon_vmvnv4hi (__a);
+ return ~__a;
}
__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s32 (int32x2_t __a)
{
- return (int32x2_t)__builtin_neon_vmvnv2si (__a);
+ return ~__a;
}
__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u8 (uint8x8_t __a)
{
- return (uint8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a);
+ return ~__a;
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u16 (uint16x4_t __a)
{
- return (uint16x4_t)__builtin_neon_vmvnv4hi ((int16x4_t) __a);
+ return ~__a;
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u32 (uint32x2_t __a)
{
- return (uint32x2_t)__builtin_neon_vmvnv2si ((int32x2_t) __a);
+ return ~__a;
}
__extension__ extern __inline poly8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_p8 (poly8x8_t __a)
{
- return (poly8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a);
+ return (poly8x8_t) ~((int8x8_t) __a);
}
__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s8 (int8x16_t __a)
{
- return (int8x16_t)__builtin_neon_vmvnv16qi (__a);
+ return ~__a;
}
__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s16 (int16x8_t __a)
{
- return (int16x8_t)__builtin_neon_vmvnv8hi (__a);
+ return ~__a;
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s32 (int32x4_t __a)
{
- return (int32x4_t)__builtin_neon_vmvnv4si (__a);
+ return ~__a;
}
__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u8 (uint8x16_t __a)
{
- return (uint8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a);
+ return ~__a;
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u16 (uint16x8_t __a)
{
- return (uint16x8_t)__builtin_neon_vmvnv8hi ((int16x8_t) __a);
+ return ~__a;
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u32 (uint32x4_t __a)
{
- return (uint32x4_t)__builtin_neon_vmvnv4si ((int32x4_t) __a);
+ return ~__a;
}
__extension__ extern __inline poly8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_p8 (poly8x16_t __a)
{
- return (poly8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a);
+ return (poly8x16_t) ~((int8x16_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 0ff0494..1a1a851 100644
--- a/gcc/config/arm/arm_neon_builtins.def
+++ b/gcc/config/arm/arm_neon_builtins.def
@@ -205,7 +205,6 @@ VAR4 (UNOP, vrecpe, v2si, v2sf, v4si, v4sf)
VAR2 (UNOP, vrecpe, v8hf, v4hf)
VAR4 (UNOP, vrsqrte, v2si, v2sf, v4si, v4sf)
VAR2 (UNOP, vrsqrte, v4hf, v8hf)
-VAR6 (UNOP, vmvn, v8qi, v4hi, v2si, v16qi, v8hi, v4si)
VAR2 (UNOP, vrnd, v8hf, v4hf)
VAR2 (UNOP, vrnda, v8hf, v4hf)
VAR2 (UNOP, vrndm, v8hf, v4hf)