__aarch64_vdup_lane_any (f32, , __a, __b)
#define __aarch64_vdup_lane_f64(__a, __b) \
__aarch64_vdup_lane_any (f64, , __a, __b)
-#define __aarch64_vdup_lane_p8(__a, __b) \
- __aarch64_vdup_lane_any (p8, , __a, __b)
-#define __aarch64_vdup_lane_p16(__a, __b) \
- __aarch64_vdup_lane_any (p16, , __a, __b)
-#define __aarch64_vdup_lane_p64(__a, __b) \
- __aarch64_vdup_lane_any (p64, , __a, __b)
-#define __aarch64_vdup_lane_s8(__a, __b) \
- __aarch64_vdup_lane_any (s8, , __a, __b)
-#define __aarch64_vdup_lane_s16(__a, __b) \
- __aarch64_vdup_lane_any (s16, , __a, __b)
-#define __aarch64_vdup_lane_s32(__a, __b) \
- __aarch64_vdup_lane_any (s32, , __a, __b)
-#define __aarch64_vdup_lane_s64(__a, __b) \
- __aarch64_vdup_lane_any (s64, , __a, __b)
-#define __aarch64_vdup_lane_u8(__a, __b) \
- __aarch64_vdup_lane_any (u8, , __a, __b)
-#define __aarch64_vdup_lane_u16(__a, __b) \
- __aarch64_vdup_lane_any (u16, , __a, __b)
-#define __aarch64_vdup_lane_u32(__a, __b) \
- __aarch64_vdup_lane_any (u32, , __a, __b)
-#define __aarch64_vdup_lane_u64(__a, __b) \
- __aarch64_vdup_lane_any (u64, , __a, __b)
/* __aarch64_vdup_laneq internal macros. */
#define __aarch64_vdup_laneq_f16(__a, __b) \
__aarch64_vdup_lane_any (f32, , __a, __b)
#define __aarch64_vdup_laneq_f64(__a, __b) \
__aarch64_vdup_lane_any (f64, , __a, __b)
-#define __aarch64_vdup_laneq_p8(__a, __b) \
- __aarch64_vdup_lane_any (p8, , __a, __b)
-#define __aarch64_vdup_laneq_p16(__a, __b) \
- __aarch64_vdup_lane_any (p16, , __a, __b)
-#define __aarch64_vdup_laneq_p64(__a, __b) \
- __aarch64_vdup_lane_any (p64, , __a, __b)
-#define __aarch64_vdup_laneq_s8(__a, __b) \
- __aarch64_vdup_lane_any (s8, , __a, __b)
-#define __aarch64_vdup_laneq_s16(__a, __b) \
- __aarch64_vdup_lane_any (s16, , __a, __b)
-#define __aarch64_vdup_laneq_s32(__a, __b) \
- __aarch64_vdup_lane_any (s32, , __a, __b)
-#define __aarch64_vdup_laneq_s64(__a, __b) \
- __aarch64_vdup_lane_any (s64, , __a, __b)
-#define __aarch64_vdup_laneq_u8(__a, __b) \
- __aarch64_vdup_lane_any (u8, , __a, __b)
-#define __aarch64_vdup_laneq_u16(__a, __b) \
- __aarch64_vdup_lane_any (u16, , __a, __b)
-#define __aarch64_vdup_laneq_u32(__a, __b) \
- __aarch64_vdup_lane_any (u32, , __a, __b)
-#define __aarch64_vdup_laneq_u64(__a, __b) \
- __aarch64_vdup_lane_any (u64, , __a, __b)
/* __aarch64_vdupq_lane internal macros. */
#define __aarch64_vdupq_lane_f16(__a, __b) \
__aarch64_vdup_lane_any (f32, q, __a, __b)
#define __aarch64_vdupq_lane_f64(__a, __b) \
__aarch64_vdup_lane_any (f64, q, __a, __b)
-#define __aarch64_vdupq_lane_p8(__a, __b) \
- __aarch64_vdup_lane_any (p8, q, __a, __b)
-#define __aarch64_vdupq_lane_p16(__a, __b) \
- __aarch64_vdup_lane_any (p16, q, __a, __b)
-#define __aarch64_vdupq_lane_p64(__a, __b) \
- __aarch64_vdup_lane_any (p64, q, __a, __b)
-#define __aarch64_vdupq_lane_s8(__a, __b) \
- __aarch64_vdup_lane_any (s8, q, __a, __b)
-#define __aarch64_vdupq_lane_s16(__a, __b) \
- __aarch64_vdup_lane_any (s16, q, __a, __b)
-#define __aarch64_vdupq_lane_s32(__a, __b) \
- __aarch64_vdup_lane_any (s32, q, __a, __b)
-#define __aarch64_vdupq_lane_s64(__a, __b) \
- __aarch64_vdup_lane_any (s64, q, __a, __b)
-#define __aarch64_vdupq_lane_u8(__a, __b) \
- __aarch64_vdup_lane_any (u8, q, __a, __b)
-#define __aarch64_vdupq_lane_u16(__a, __b) \
- __aarch64_vdup_lane_any (u16, q, __a, __b)
-#define __aarch64_vdupq_lane_u32(__a, __b) \
- __aarch64_vdup_lane_any (u32, q, __a, __b)
-#define __aarch64_vdupq_lane_u64(__a, __b) \
- __aarch64_vdup_lane_any (u64, q, __a, __b)
/* __aarch64_vdupq_laneq internal macros. */
#define __aarch64_vdupq_laneq_f16(__a, __b) \
__aarch64_vdup_lane_any (f32, q, __a, __b)
#define __aarch64_vdupq_laneq_f64(__a, __b) \
__aarch64_vdup_lane_any (f64, q, __a, __b)
-#define __aarch64_vdupq_laneq_p8(__a, __b) \
- __aarch64_vdup_lane_any (p8, q, __a, __b)
-#define __aarch64_vdupq_laneq_p16(__a, __b) \
- __aarch64_vdup_lane_any (p16, q, __a, __b)
-#define __aarch64_vdupq_laneq_p64(__a, __b) \
- __aarch64_vdup_lane_any (p64, q, __a, __b)
-#define __aarch64_vdupq_laneq_s8(__a, __b) \
- __aarch64_vdup_lane_any (s8, q, __a, __b)
-#define __aarch64_vdupq_laneq_s16(__a, __b) \
- __aarch64_vdup_lane_any (s16, q, __a, __b)
-#define __aarch64_vdupq_laneq_s32(__a, __b) \
- __aarch64_vdup_lane_any (s32, q, __a, __b)
-#define __aarch64_vdupq_laneq_s64(__a, __b) \
- __aarch64_vdup_lane_any (s64, q, __a, __b)
-#define __aarch64_vdupq_laneq_u8(__a, __b) \
- __aarch64_vdup_lane_any (u8, q, __a, __b)
-#define __aarch64_vdupq_laneq_u16(__a, __b) \
- __aarch64_vdup_lane_any (u16, q, __a, __b)
-#define __aarch64_vdupq_laneq_u32(__a, __b) \
- __aarch64_vdup_lane_any (u32, q, __a, __b)
-#define __aarch64_vdupq_laneq_u64(__a, __b) \
- __aarch64_vdup_lane_any (u64, q, __a, __b)
/* Internal macro for lane indices. */
return (int32x4_t) __builtin_aarch64_sqrdmulhv4si (__a, __b);
}
-/* vget_lane */
+/* Start of temporary inline asm implementations. */
-__extension__ extern __inline float16_t
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_f16 (float16x4_t __a, const int __b)
+vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabav8qi (__a, __b, __c);
}
-__extension__ extern __inline float32_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_f32 (float32x2_t __a, const int __b)
+vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabav4hi (__a, __b, __c);
}
-__extension__ extern __inline float64_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_f64 (float64x1_t __a, const int __b)
+vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabav2si (__a, __b, __c);
}
-__extension__ extern __inline poly8_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_p8 (poly8x8_t __a, const int __b)
+vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_uabav8qi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline poly16_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_p16 (poly16x4_t __a, const int __b)
+vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_uabav4hi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline poly64_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_p64 (poly64x1_t __a, const int __b)
+vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_uabav2si_uuuu (__a, __b, __c);
}
-__extension__ extern __inline int8_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_s8 (int8x8_t __a, const int __b)
+vabal_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabal2v16qi (__a, __b, __c);
}
-__extension__ extern __inline int16_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_s16 (int16x4_t __a, const int __b)
+vabal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabal2v8hi (__a, __b, __c);
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_s32 (int32x2_t __a, const int __b)
+vabal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabal2v4si (__a, __b, __c);
}
-__extension__ extern __inline int64_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_s64 (int64x1_t __a, const int __b)
+vabal_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_uabal2v16qi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint8_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_u8 (uint8x8_t __a, const int __b)
+vabal_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_uabal2v8hi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint16_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_u16 (uint16x4_t __a, const int __b)
+vabal_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_uabal2v4si_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_u32 (uint32x2_t __a, const int __b)
+vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabalv8qi (__a, __b, __c);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_u64 (uint64x1_t __a, const int __b)
+vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabalv4hi (__a, __b, __c);
}
-/* vgetq_lane */
-
-__extension__ extern __inline float16_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_f16 (float16x8_t __a, const int __b)
+vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabalv2si (__a, __b, __c);
}
-__extension__ extern __inline float32_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_f32 (float32x4_t __a, const int __b)
+vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_uabalv8qi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline float64_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_f64 (float64x2_t __a, const int __b)
+vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_uabalv4hi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline poly8_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_p8 (poly8x16_t __a, const int __b)
+vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_uabalv2si_uuuu (__a, __b, __c);
}
-__extension__ extern __inline poly16_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_p16 (poly16x8_t __a, const int __b)
+vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabav16qi (__a, __b, __c);
}
-__extension__ extern __inline poly64_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_p64 (poly64x2_t __a, const int __b)
+vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabav8hi (__a, __b, __c);
}
-__extension__ extern __inline int8_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_s8 (int8x16_t __a, const int __b)
+vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabav4si (__a, __b, __c);
}
-__extension__ extern __inline int16_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_s16 (int16x8_t __a, const int __b)
+vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_uabav16qi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_s32 (int32x4_t __a, const int __b)
+vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_uabav8hi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline int64_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_s64 (int64x2_t __a, const int __b)
+vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_uabav4si_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint8_t
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_u8 (uint8x16_t __a, const int __b)
+vabd_s8 (int8x8_t __a, int8x8_t __b)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabdv8qi (__a, __b);
}
-__extension__ extern __inline uint16_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_u16 (uint16x8_t __a, const int __b)
+vabd_s16 (int16x4_t __a, int16x4_t __b)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabdv4hi (__a, __b);
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_u32 (uint32x4_t __a, const int __b)
+vabd_s32 (int32x2_t __a, int32x2_t __b)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_sabdv2si (__a, __b);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_u64 (uint64x2_t __a, const int __b)
+vabd_u8 (uint8x8_t __a, uint8x8_t __b)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_uabdv8qi_uuu (__a, __b);
}
-/* vset_lane */
-
-__extension__ extern __inline float16x4_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_f16 (float16_t __elem, float16x4_t __vec, const int __index)
+vabd_u16 (uint16x4_t __a, uint16x4_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uabdv4hi_uuu (__a, __b);
}
-__extension__ extern __inline float32x2_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_f32 (float32_t __elem, float32x2_t __vec, const int __index)
+vabd_u32 (uint32x2_t __a, uint32x2_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uabdv2si_uuu (__a, __b);
}
-__extension__ extern __inline float64x1_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_f64 (float64_t __elem, float64x1_t __vec, const int __index)
+vabdl_high_s8 (int8x16_t __a, int8x16_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_sabdl2v16qi (__a, __b);
}
-__extension__ extern __inline poly8x8_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_p8 (poly8_t __elem, poly8x8_t __vec, const int __index)
+vabdl_high_s16 (int16x8_t __a, int16x8_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_sabdl2v8hi (__a, __b);
}
-__extension__ extern __inline poly16x4_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_p16 (poly16_t __elem, poly16x4_t __vec, const int __index)
+vabdl_high_s32 (int32x4_t __a, int32x4_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_sabdl2v4si (__a, __b);
}
-__extension__ extern __inline poly64x1_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_p64 (poly64_t __elem, poly64x1_t __vec, const int __index)
+vabdl_high_u8 (uint8x16_t __a, uint8x16_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uabdl2v16qi_uuu (__a, __b);
}
-__extension__ extern __inline int8x8_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_s8 (int8_t __elem, int8x8_t __vec, const int __index)
+vabdl_high_u16 (uint16x8_t __a, uint16x8_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uabdl2v8hi_uuu (__a, __b);
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_s16 (int16_t __elem, int16x4_t __vec, const int __index)
+vabdl_high_u32 (uint32x4_t __a, uint32x4_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uabdl2v4si_uuu (__a, __b);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_s32 (int32_t __elem, int32x2_t __vec, const int __index)
+vabdl_s8 (int8x8_t __a, int8x8_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_sabdlv8qi (__a, __b);
}
-__extension__ extern __inline int64x1_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_s64 (int64_t __elem, int64x1_t __vec, const int __index)
+vabdl_s16 (int16x4_t __a, int16x4_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_sabdlv4hi (__a, __b);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_u8 (uint8_t __elem, uint8x8_t __vec, const int __index)
+vabdl_s32 (int32x2_t __a, int32x2_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_sabdlv2si (__a, __b);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_u16 (uint16_t __elem, uint16x4_t __vec, const int __index)
+vabdl_u8 (uint8x8_t __a, uint8x8_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uabdlv8qi_uuu (__a, __b);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_u32 (uint32_t __elem, uint32x2_t __vec, const int __index)
+vabdl_u16 (uint16x4_t __a, uint16x4_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uabdlv4hi_uuu (__a, __b);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_u64 (uint64_t __elem, uint64x1_t __vec, const int __index)
+vabdl_u32 (uint32x2_t __a, uint32x2_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uabdlv2si_uuu (__a, __b);
}
-/* vsetq_lane */
-
-__extension__ extern __inline float16x8_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_f16 (float16_t __elem, float16x8_t __vec, const int __index)
+vabdq_s8 (int8x16_t __a, int8x16_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_sabdv16qi (__a, __b);
}
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_f32 (float32_t __elem, float32x4_t __vec, const int __index)
+vabdq_s16 (int16x8_t __a, int16x8_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_sabdv8hi (__a, __b);
}
-__extension__ extern __inline float64x2_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_f64 (float64_t __elem, float64x2_t __vec, const int __index)
+vabdq_s32 (int32x4_t __a, int32x4_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_sabdv4si (__a, __b);
}
-__extension__ extern __inline poly8x16_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_p8 (poly8_t __elem, poly8x16_t __vec, const int __index)
+vabdq_u8 (uint8x16_t __a, uint8x16_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uabdv16qi_uuu (__a, __b);
}
-__extension__ extern __inline poly16x8_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_p16 (poly16_t __elem, poly16x8_t __vec, const int __index)
+vabdq_u16 (uint16x8_t __a, uint16x8_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uabdv8hi_uuu (__a, __b);
}
-__extension__ extern __inline poly64x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_p64 (poly64_t __elem, poly64x2_t __vec, const int __index)
+vabdq_u32 (uint32x4_t __a, uint32x4_t __b)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uabdv4si_uuu (__a, __b);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline int16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_s8 (int8_t __elem, int8x16_t __vec, const int __index)
+vaddlv_s8 (int8x8_t __a)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_saddlvv8qi (__a);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_s16 (int16_t __elem, int16x8_t __vec, const int __index)
+vaddlv_s16 (int16x4_t __a)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_saddlvv4hi (__a);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_s32 (int32_t __elem, int32x4_t __vec, const int __index)
+vaddlv_u8 (uint8x8_t __a)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uaddlvv8qi_uu (__a);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_s64 (int64_t __elem, int64x2_t __vec, const int __index)
+vaddlv_u16 (uint16x4_t __a)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uaddlvv4hi_uu (__a);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline int16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_u8 (uint8_t __elem, uint8x16_t __vec, const int __index)
+vaddlvq_s8 (int8x16_t __a)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_saddlvv16qi (__a);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_u16 (uint16_t __elem, uint16x8_t __vec, const int __index)
+vaddlvq_s16 (int16x8_t __a)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_saddlvv8hi (__a);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_u32 (uint32_t __elem, uint32x4_t __vec, const int __index)
+vaddlvq_s32 (int32x4_t __a)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_saddlvv4si (__a);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_u64 (uint64_t __elem, uint64x2_t __vec, const int __index)
+vaddlvq_u8 (uint8x16_t __a)
{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
+ return __builtin_aarch64_uaddlvv16qi_uu (__a);
}
-/* Start of temporary inline asm implementations. */
-
-__extension__ extern __inline int8x8_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
+vaddlvq_u16 (uint16x8_t __a)
{
- return __builtin_aarch64_sabav8qi (__a, __b, __c);
+ return __builtin_aarch64_uaddlvv8hi_uu (__a);
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
+vaddlvq_u32 (uint32x4_t __a)
{
- return __builtin_aarch64_sabav4hi (__a, __b, __c);
+ return __builtin_aarch64_uaddlvv4si_uu (__a);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline float32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
+vcvtx_f32_f64 (float64x2_t __a)
{
- return __builtin_aarch64_sabav2si (__a, __b, __c);
+ return __builtin_aarch64_float_trunc_rodd_lo_v2sf (__a);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline float32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
+vcvtx_high_f32_f64 (float32x2_t __a, float64x2_t __b)
{
- return __builtin_aarch64_uabav8qi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_float_trunc_rodd_hi_v4sf (__a, __b);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline float32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
+vcvtxd_f32_f64 (float64_t __a)
{
- return __builtin_aarch64_uabav4hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_float_trunc_rodd_df (__a);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline float32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
+vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
{
- return __builtin_aarch64_uabav2si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_float_mla_nv2sf (__a, __b, __c);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabal_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
+vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
{
- return __builtin_aarch64_sabal2v16qi (__a, __b, __c);
+ return __builtin_aarch64_mla_nv4hi (__a, __b, __c);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
+vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
{
- return __builtin_aarch64_sabal2v8hi (__a, __b, __c);
+ return __builtin_aarch64_mla_nv2si (__a, __b, __c);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
+vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
{
- return __builtin_aarch64_sabal2v4si (__a, __b, __c);
+ return __builtin_aarch64_mla_nv4hi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabal_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
+vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
{
- return __builtin_aarch64_uabal2v16qi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mla_nv2si_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabal_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
+vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
{
- return __builtin_aarch64_uabal2v8hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mlav8qi (__a, __b, __c);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabal_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
+vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
{
- return __builtin_aarch64_uabal2v4si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mlav4hi (__a, __b, __c);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
+vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
{
- return __builtin_aarch64_sabalv8qi (__a, __b, __c);
+ return __builtin_aarch64_mlav2si (__a, __b, __c);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
+vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
{
- return __builtin_aarch64_sabalv4hi (__a, __b, __c);
+ return __builtin_aarch64_mlav8qi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
+vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
{
- return __builtin_aarch64_sabalv2si (__a, __b, __c);
+ return __builtin_aarch64_mlav4hi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
+vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
{
- return __builtin_aarch64_uabalv8qi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mlav2si_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
+vmlal_high_lane_s16(int32x4_t __a, int16x8_t __b, int16x4_t __v,
+ const int __lane)
{
- return __builtin_aarch64_uabalv4hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_smlal_hi_lanev8hi (__a, __b, __v, __lane);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
+vmlal_high_lane_s32(int64x2_t __a, int32x4_t __b, int32x2_t __v,
+ const int __lane)
{
- return __builtin_aarch64_uabalv2si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_smlal_hi_lanev4si (__a, __b, __v, __lane);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
+vmlal_high_lane_u16(uint32x4_t __a, uint16x8_t __b, uint16x4_t __v,
+ const int __lane)
{
- return __builtin_aarch64_sabav16qi (__a, __b, __c);
+ return __builtin_aarch64_umlal_hi_lanev8hi_uuuus (__a, __b, __v, __lane);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
+vmlal_high_lane_u32(uint64x2_t __a, uint32x4_t __b, uint32x2_t __v,
+ const int __lane)
{
- return __builtin_aarch64_sabav8hi (__a, __b, __c);
+ return __builtin_aarch64_umlal_hi_lanev4si_uuuus (__a, __b, __v, __lane);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
-{
- return __builtin_aarch64_sabav4si (__a, __b, __c);
-}
-
-__extension__ extern __inline uint8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
+vmlal_high_laneq_s16(int32x4_t __a, int16x8_t __b, int16x8_t __v,
+ const int __lane)
{
- return __builtin_aarch64_uabav16qi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_smlal_hi_laneqv8hi (__a, __b, __v, __lane);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
+vmlal_high_laneq_s32(int64x2_t __a, int32x4_t __b, int32x4_t __v,
+ const int __lane)
{
- return __builtin_aarch64_uabav8hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_smlal_hi_laneqv4si (__a, __b, __v, __lane);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
-{
- return __builtin_aarch64_uabav4si_uuuu (__a, __b, __c);
-}
-
-__extension__ extern __inline int8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabd_s8 (int8x8_t __a, int8x8_t __b)
+vmlal_high_laneq_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __v,
+ const int __lane)
{
- return __builtin_aarch64_sabdv8qi (__a, __b);
+ return __builtin_aarch64_umlal_hi_laneqv8hi_uuuus (__a, __b, __v, __lane);
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabd_s16 (int16x4_t __a, int16x4_t __b)
+vmlal_high_laneq_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __v,
+ const int __lane)
{
- return __builtin_aarch64_sabdv4hi (__a, __b);
+ return __builtin_aarch64_umlal_hi_laneqv4si_uuuus (__a, __b, __v, __lane);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabd_s32 (int32x2_t __a, int32x2_t __b)
+vmlal_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
{
- return __builtin_aarch64_sabdv2si (__a, __b);
+ return __builtin_aarch64_smlal_hi_nv8hi (__a, __b, __c);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabd_u8 (uint8x8_t __a, uint8x8_t __b)
+vmlal_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
{
- return __builtin_aarch64_uabdv8qi_uuu (__a, __b);
+ return __builtin_aarch64_smlal_hi_nv4si (__a, __b, __c);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabd_u16 (uint16x4_t __a, uint16x4_t __b)
+vmlal_high_n_u16 (uint32x4_t __a, uint16x8_t __b, uint16_t __c)
{
- return __builtin_aarch64_uabdv4hi_uuu (__a, __b);
+ return __builtin_aarch64_umlal_hi_nv8hi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabd_u32 (uint32x2_t __a, uint32x2_t __b)
+vmlal_high_n_u32 (uint64x2_t __a, uint32x4_t __b, uint32_t __c)
{
- return __builtin_aarch64_uabdv2si_uuu (__a, __b);
+ return __builtin_aarch64_umlal_hi_nv4si_uuuu (__a, __b, __c);
}
__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdl_high_s8 (int8x16_t __a, int8x16_t __b)
+vmlal_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
{
- return __builtin_aarch64_sabdl2v16qi (__a, __b);
+ return __builtin_aarch64_smlal_hiv16qi (__a, __b, __c);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdl_high_s16 (int16x8_t __a, int16x8_t __b)
+vmlal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
{
- return __builtin_aarch64_sabdl2v8hi (__a, __b);
+ return __builtin_aarch64_smlal_hiv8hi (__a, __b, __c);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdl_high_s32 (int32x4_t __a, int32x4_t __b)
+vmlal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
{
- return __builtin_aarch64_sabdl2v4si (__a, __b);
+ return __builtin_aarch64_smlal_hiv4si (__a, __b, __c);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdl_high_u8 (uint8x16_t __a, uint8x16_t __b)
+vmlal_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
{
- return __builtin_aarch64_uabdl2v16qi_uuu (__a, __b);
+ return __builtin_aarch64_umlal_hiv16qi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdl_high_u16 (uint16x8_t __a, uint16x8_t __b)
+vmlal_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
{
- return __builtin_aarch64_uabdl2v8hi_uuu (__a, __b);
+ return __builtin_aarch64_umlal_hiv8hi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdl_high_u32 (uint32x4_t __a, uint32x4_t __b)
+vmlal_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
{
- return __builtin_aarch64_uabdl2v4si_uuu (__a, __b);
+ return __builtin_aarch64_umlal_hiv4si_uuuu (__a, __b, __c);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdl_s8 (int8x8_t __a, int8x8_t __b)
+vmlal_lane_s16 (int32x4_t __acc, int16x4_t __a, int16x4_t __b, const int __c)
{
- return __builtin_aarch64_sabdlv8qi (__a, __b);
+ return __builtin_aarch64_vec_smlal_lane_v4hi (__acc, __a, __b, __c);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdl_s16 (int16x4_t __a, int16x4_t __b)
+vmlal_lane_s32 (int64x2_t __acc, int32x2_t __a, int32x2_t __b, const int __c)
{
- return __builtin_aarch64_sabdlv4hi (__a, __b);
+ return __builtin_aarch64_vec_smlal_lane_v2si (__acc, __a, __b, __c);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdl_s32 (int32x2_t __a, int32x2_t __b)
+vmlal_lane_u16 (uint32x4_t __acc, uint16x4_t __a, uint16x4_t __b, const int __c)
{
- return __builtin_aarch64_sabdlv2si (__a, __b);
+ return __builtin_aarch64_vec_umlal_lane_v4hi_uuuus (__acc, __a, __b, __c);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdl_u8 (uint8x8_t __a, uint8x8_t __b)
+vmlal_lane_u32 (uint64x2_t __acc, uint32x2_t __a, uint32x2_t __b, const int __c)
{
- return __builtin_aarch64_uabdlv8qi_uuu (__a, __b);
+ return __builtin_aarch64_vec_umlal_lane_v2si_uuuus (__acc, __a, __b, __c);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdl_u16 (uint16x4_t __a, uint16x4_t __b)
+vmlal_laneq_s16 (int32x4_t __acc, int16x4_t __a, int16x8_t __b, const int __c)
{
- return __builtin_aarch64_uabdlv4hi_uuu (__a, __b);
+ return __builtin_aarch64_vec_smlal_laneq_v4hi (__acc, __a, __b, __c);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdl_u32 (uint32x2_t __a, uint32x2_t __b)
+vmlal_laneq_s32 (int64x2_t __acc, int32x2_t __a, int32x4_t __b, const int __c)
{
- return __builtin_aarch64_uabdlv2si_uuu (__a, __b);
+ return __builtin_aarch64_vec_smlal_laneq_v2si (__acc, __a, __b, __c);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdq_s8 (int8x16_t __a, int8x16_t __b)
+vmlal_laneq_u16 (uint32x4_t __acc, uint16x4_t __a, uint16x8_t __b, const int __c)
{
- return __builtin_aarch64_sabdv16qi (__a, __b);
+ return __builtin_aarch64_vec_umlal_laneq_v4hi_uuuus (__acc, __a, __b, __c);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdq_s16 (int16x8_t __a, int16x8_t __b)
+vmlal_laneq_u32 (uint64x2_t __acc, uint32x2_t __a, uint32x4_t __b, const int __c)
{
- return __builtin_aarch64_sabdv8hi (__a, __b);
+ return __builtin_aarch64_vec_umlal_laneq_v2si_uuuus (__acc, __a, __b, __c);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdq_s32 (int32x4_t __a, int32x4_t __b)
+vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
{
- return __builtin_aarch64_sabdv4si (__a, __b);
+ return __builtin_aarch64_smlal_nv4hi (__a, __b, __c);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdq_u8 (uint8x16_t __a, uint8x16_t __b)
+vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
{
- return __builtin_aarch64_uabdv16qi_uuu (__a, __b);
+ return __builtin_aarch64_smlal_nv2si (__a, __b, __c);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdq_u16 (uint16x8_t __a, uint16x8_t __b)
+vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
{
- return __builtin_aarch64_uabdv8hi_uuu (__a, __b);
+ return __builtin_aarch64_umlal_nv4hi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdq_u32 (uint32x4_t __a, uint32x4_t __b)
+vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
{
- return __builtin_aarch64_uabdv4si_uuu (__a, __b);
+ return __builtin_aarch64_umlal_nv2si_uuuu (__a, __b, __c);
}
-__extension__ extern __inline int16_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddlv_s8 (int8x8_t __a)
+vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
{
- return __builtin_aarch64_saddlvv8qi (__a);
+ return __builtin_aarch64_smlalv8qi (__a, __b, __c);
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddlv_s16 (int16x4_t __a)
+vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
{
- return __builtin_aarch64_saddlvv4hi (__a);
+ return __builtin_aarch64_smlalv4hi (__a, __b, __c);
}
-__extension__ extern __inline uint16_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddlv_u8 (uint8x8_t __a)
+vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
{
- return __builtin_aarch64_uaddlvv8qi_uu (__a);
+ return __builtin_aarch64_smlalv2si (__a, __b, __c);
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddlv_u16 (uint16x4_t __a)
+vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
{
- return __builtin_aarch64_uaddlvv4hi_uu (__a);
+ return __builtin_aarch64_umlalv8qi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline int16_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddlvq_s8 (int8x16_t __a)
+vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
{
- return __builtin_aarch64_saddlvv16qi (__a);
+ return __builtin_aarch64_umlalv4hi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddlvq_s16 (int16x8_t __a)
+vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
{
- return __builtin_aarch64_saddlvv8hi (__a);
+ return __builtin_aarch64_umlalv2si_uuuu (__a, __b, __c);
}
-__extension__ extern __inline int64_t
+__extension__ extern __inline float32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddlvq_s32 (int32x4_t __a)
+vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
{
- return __builtin_aarch64_saddlvv4si (__a);
+ return __builtin_aarch64_float_mla_nv4sf (__a, __b, __c);
}
-__extension__ extern __inline uint16_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddlvq_u8 (uint8x16_t __a)
+vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
{
- return __builtin_aarch64_uaddlvv16qi_uu (__a);
+ return __builtin_aarch64_mla_nv8hi (__a, __b, __c);
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddlvq_u16 (uint16x8_t __a)
+vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
{
- return __builtin_aarch64_uaddlvv8hi_uu (__a);
+ return __builtin_aarch64_mla_nv4si (__a, __b, __c);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddlvq_u32 (uint32x4_t __a)
+vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
{
- return __builtin_aarch64_uaddlvv4si_uu (__a);
+ return __builtin_aarch64_mla_nv8hi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline float32x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtx_f32_f64 (float64x2_t __a)
+vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
{
- return __builtin_aarch64_float_trunc_rodd_lo_v2sf (__a);
+ return __builtin_aarch64_mla_nv4si_uuuu (__a, __b, __c);
}
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtx_high_f32_f64 (float32x2_t __a, float64x2_t __b)
+vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
{
- return __builtin_aarch64_float_trunc_rodd_hi_v4sf (__a, __b);
+ return __builtin_aarch64_mlav16qi (__a, __b, __c);
}
-__extension__ extern __inline float32_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtxd_f32_f64 (float64_t __a)
+vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
{
- return __builtin_aarch64_float_trunc_rodd_df (__a);
+ return __builtin_aarch64_mlav8hi (__a, __b, __c);
+}
+
+__extension__ extern __inline int32x4_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
+{
+ return __builtin_aarch64_mlav4si (__a, __b, __c);
+}
+
+__extension__ extern __inline uint8x16_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
+{
+ return __builtin_aarch64_mlav16qi_uuuu (__a, __b, __c);
+}
+
+__extension__ extern __inline uint16x8_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
+{
+ return __builtin_aarch64_mlav8hi_uuuu (__a, __b, __c);
+}
+
+__extension__ extern __inline uint32x4_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
+{
+ return __builtin_aarch64_mlav4si_uuuu (__a, __b, __c);
}
__extension__ extern __inline float32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
+vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
{
- return __builtin_aarch64_float_mla_nv2sf (__a, __b, __c);
+ return __builtin_aarch64_float_mls_nv2sf (__a, __b, __c);
}
__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
+vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
{
- return __builtin_aarch64_mla_nv4hi (__a, __b, __c);
+ return __builtin_aarch64_mls_nv4hi (__a, __b, __c);
}
__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
+vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
{
- return __builtin_aarch64_mla_nv2si (__a, __b, __c);
+ return __builtin_aarch64_mls_nv2si (__a, __b, __c);
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
+vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
{
- return __builtin_aarch64_mla_nv4hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mls_nv4hi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
+vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
{
- return __builtin_aarch64_mla_nv2si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mls_nv2si_uuuu (__a, __b, __c);
}
__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
+vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
{
- return __builtin_aarch64_mlav8qi (__a, __b, __c);
+ return __builtin_aarch64_mlsv8qi (__a, __b, __c);
}
__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
+vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
{
- return __builtin_aarch64_mlav4hi (__a, __b, __c);
+ return __builtin_aarch64_mlsv4hi (__a, __b, __c);
}
__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
+vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
{
- return __builtin_aarch64_mlav2si (__a, __b, __c);
+ return __builtin_aarch64_mlsv2si (__a, __b, __c);
}
__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
+vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
{
- return __builtin_aarch64_mlav8qi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mlsv8qi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
+vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
{
- return __builtin_aarch64_mlav4hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mlsv4hi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
+vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
{
- return __builtin_aarch64_mlav2si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mlsv2si_uuuu (__a, __b, __c);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_lane_s16(int32x4_t __a, int16x8_t __b, int16x4_t __v,
+vmlsl_high_lane_s16(int32x4_t __a, int16x8_t __b, int16x4_t __v,
const int __lane)
{
- return __builtin_aarch64_smlal_hi_lanev8hi (__a, __b, __v, __lane);
+ return __builtin_aarch64_smlsl_hi_lanev8hi (__a, __b, __v, __lane);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_lane_s32(int64x2_t __a, int32x4_t __b, int32x2_t __v,
+vmlsl_high_lane_s32(int64x2_t __a, int32x4_t __b, int32x2_t __v,
const int __lane)
{
- return __builtin_aarch64_smlal_hi_lanev4si (__a, __b, __v, __lane);
+ return __builtin_aarch64_smlsl_hi_lanev4si (__a, __b, __v, __lane);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_lane_u16(uint32x4_t __a, uint16x8_t __b, uint16x4_t __v,
+vmlsl_high_lane_u16(uint32x4_t __a, uint16x8_t __b, uint16x4_t __v,
const int __lane)
{
- return __builtin_aarch64_umlal_hi_lanev8hi_uuuus (__a, __b, __v, __lane);
+ return __builtin_aarch64_umlsl_hi_lanev8hi_uuuus (__a, __b, __v, __lane);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_lane_u32(uint64x2_t __a, uint32x4_t __b, uint32x2_t __v,
+vmlsl_high_lane_u32(uint64x2_t __a, uint32x4_t __b, uint32x2_t __v,
const int __lane)
{
- return __builtin_aarch64_umlal_hi_lanev4si_uuuus (__a, __b, __v, __lane);
+ return __builtin_aarch64_umlsl_hi_lanev4si_uuuus (__a, __b, __v, __lane);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_laneq_s16(int32x4_t __a, int16x8_t __b, int16x8_t __v,
+vmlsl_high_laneq_s16(int32x4_t __a, int16x8_t __b, int16x8_t __v,
const int __lane)
{
- return __builtin_aarch64_smlal_hi_laneqv8hi (__a, __b, __v, __lane);
+ return __builtin_aarch64_smlsl_hi_laneqv8hi (__a, __b, __v, __lane);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_laneq_s32(int64x2_t __a, int32x4_t __b, int32x4_t __v,
+vmlsl_high_laneq_s32(int64x2_t __a, int32x4_t __b, int32x4_t __v,
const int __lane)
{
- return __builtin_aarch64_smlal_hi_laneqv4si (__a, __b, __v, __lane);
+ return __builtin_aarch64_smlsl_hi_laneqv4si (__a, __b, __v, __lane);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_laneq_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __v,
+vmlsl_high_laneq_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __v,
const int __lane)
{
- return __builtin_aarch64_umlal_hi_laneqv8hi_uuuus (__a, __b, __v, __lane);
+ return __builtin_aarch64_umlsl_hi_laneqv8hi_uuuus (__a, __b, __v, __lane);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_laneq_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __v,
+vmlsl_high_laneq_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __v,
const int __lane)
{
- return __builtin_aarch64_umlal_hi_laneqv4si_uuuus (__a, __b, __v, __lane);
+ return __builtin_aarch64_umlsl_hi_laneqv4si_uuuus (__a, __b, __v, __lane);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
+vmlsl_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
{
- return __builtin_aarch64_smlal_hi_nv8hi (__a, __b, __c);
+ return __builtin_aarch64_smlsl_hi_nv8hi (__a, __b, __c);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
+vmlsl_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
{
- return __builtin_aarch64_smlal_hi_nv4si (__a, __b, __c);
+ return __builtin_aarch64_smlsl_hi_nv4si (__a, __b, __c);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_n_u16 (uint32x4_t __a, uint16x8_t __b, uint16_t __c)
+vmlsl_high_n_u16 (uint32x4_t __a, uint16x8_t __b, uint16_t __c)
{
- return __builtin_aarch64_umlal_hi_nv8hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umlsl_hi_nv8hi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_n_u32 (uint64x2_t __a, uint32x4_t __b, uint32_t __c)
+vmlsl_high_n_u32 (uint64x2_t __a, uint32x4_t __b, uint32_t __c)
{
- return __builtin_aarch64_umlal_hi_nv4si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umlsl_hi_nv4si_uuuu (__a, __b, __c);
}
__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
+vmlsl_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
{
- return __builtin_aarch64_smlal_hiv16qi (__a, __b, __c);
+ return __builtin_aarch64_smlsl_hiv16qi (__a, __b, __c);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
+vmlsl_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
{
- return __builtin_aarch64_smlal_hiv8hi (__a, __b, __c);
+ return __builtin_aarch64_smlsl_hiv8hi (__a, __b, __c);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
+vmlsl_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
{
- return __builtin_aarch64_smlal_hiv4si (__a, __b, __c);
+ return __builtin_aarch64_smlsl_hiv4si (__a, __b, __c);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
+vmlsl_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
{
- return __builtin_aarch64_umlal_hiv16qi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umlsl_hiv16qi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
+vmlsl_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
{
- return __builtin_aarch64_umlal_hiv8hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umlsl_hiv8hi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
+vmlsl_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
{
- return __builtin_aarch64_umlal_hiv4si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umlsl_hiv4si_uuuu (__a, __b, __c);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_lane_s16 (int32x4_t __acc, int16x4_t __a, int16x4_t __b, const int __c)
+vmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __v, const int __lane)
{
- return __builtin_aarch64_vec_smlal_lane_v4hi (__acc, __a, __b, __c);
+ return __builtin_aarch64_vec_smlsl_lane_v4hi (__a, __b, __v, __lane);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_lane_s32 (int64x2_t __acc, int32x2_t __a, int32x2_t __b, const int __c)
+vmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __v, const int __lane)
{
- return __builtin_aarch64_vec_smlal_lane_v2si (__acc, __a, __b, __c);
+ return __builtin_aarch64_vec_smlsl_lane_v2si (__a, __b, __v, __lane);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_lane_u16 (uint32x4_t __acc, uint16x4_t __a, uint16x4_t __b, const int __c)
+vmlsl_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __v,
+ const int __lane)
{
- return __builtin_aarch64_vec_umlal_lane_v4hi_uuuus (__acc, __a, __b, __c);
+ return __builtin_aarch64_vec_umlsl_lane_v4hi_uuuus (__a, __b, __v, __lane);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_lane_u32 (uint64x2_t __acc, uint32x2_t __a, uint32x2_t __b, const int __c)
+vmlsl_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __v,
+ const int __lane)
{
- return __builtin_aarch64_vec_umlal_lane_v2si_uuuus (__acc, __a, __b, __c);
+ return __builtin_aarch64_vec_umlsl_lane_v2si_uuuus (__a, __b, __v, __lane);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_laneq_s16 (int32x4_t __acc, int16x4_t __a, int16x8_t __b, const int __c)
+vmlsl_laneq_s16 (int32x4_t __a, int16x4_t __b, int16x8_t __v, const int __lane)
{
- return __builtin_aarch64_vec_smlal_laneq_v4hi (__acc, __a, __b, __c);
+ return __builtin_aarch64_vec_smlsl_laneq_v4hi (__a, __b, __v, __lane);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_laneq_s32 (int64x2_t __acc, int32x2_t __a, int32x4_t __b, const int __c)
+vmlsl_laneq_s32 (int64x2_t __a, int32x2_t __b, int32x4_t __v, const int __lane)
{
- return __builtin_aarch64_vec_smlal_laneq_v2si (__acc, __a, __b, __c);
+ return __builtin_aarch64_vec_smlsl_laneq_v2si (__a, __b, __v, __lane);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_laneq_u16 (uint32x4_t __acc, uint16x4_t __a, uint16x8_t __b, const int __c)
+vmlsl_laneq_u16 (uint32x4_t __a, uint16x4_t __b, uint16x8_t __v,
+ const int __lane)
{
- return __builtin_aarch64_vec_umlal_laneq_v4hi_uuuus (__acc, __a, __b, __c);
+ return __builtin_aarch64_vec_umlsl_laneq_v4hi_uuuus (__a, __b, __v, __lane);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_laneq_u32 (uint64x2_t __acc, uint32x2_t __a, uint32x4_t __b, const int __c)
+vmlsl_laneq_u32 (uint64x2_t __a, uint32x2_t __b, uint32x4_t __v,
+ const int __lane)
{
- return __builtin_aarch64_vec_umlal_laneq_v2si_uuuus (__acc, __a, __b, __c);
+ return __builtin_aarch64_vec_umlsl_laneq_v2si_uuuus (__a, __b, __v, __lane);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
+vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
{
- return __builtin_aarch64_smlal_nv4hi (__a, __b, __c);
+ return __builtin_aarch64_smlsl_nv4hi (__a, __b, __c);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
+vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
{
- return __builtin_aarch64_smlal_nv2si (__a, __b, __c);
+ return __builtin_aarch64_smlsl_nv2si (__a, __b, __c);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
+vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
{
- return __builtin_aarch64_umlal_nv4hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umlsl_nv4hi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
+vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
{
- return __builtin_aarch64_umlal_nv2si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umlsl_nv2si_uuuu (__a, __b, __c);
}
__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
+vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
{
- return __builtin_aarch64_smlalv8qi (__a, __b, __c);
+ return __builtin_aarch64_smlslv8qi (__a, __b, __c);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
+vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
{
- return __builtin_aarch64_smlalv4hi (__a, __b, __c);
+ return __builtin_aarch64_smlslv4hi (__a, __b, __c);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
+vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
{
- return __builtin_aarch64_smlalv2si (__a, __b, __c);
+ return __builtin_aarch64_smlslv2si (__a, __b, __c);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
+vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
{
- return __builtin_aarch64_umlalv8qi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umlslv8qi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
+vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
{
- return __builtin_aarch64_umlalv4hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umlslv4hi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
+vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
{
- return __builtin_aarch64_umlalv2si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umlslv2si_uuuu (__a, __b, __c);
}
__extension__ extern __inline float32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
+vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
{
- return __builtin_aarch64_float_mla_nv4sf (__a, __b, __c);
+ return __builtin_aarch64_float_mls_nv4sf (__a, __b, __c);
}
__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
+vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
{
- return __builtin_aarch64_mla_nv8hi (__a, __b, __c);
+ return __builtin_aarch64_mls_nv8hi (__a, __b, __c);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
+vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
{
- return __builtin_aarch64_mla_nv4si (__a, __b, __c);
+ return __builtin_aarch64_mls_nv4si (__a, __b, __c);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
+vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
{
- return __builtin_aarch64_mla_nv8hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mls_nv8hi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
+vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
{
- return __builtin_aarch64_mla_nv4si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mls_nv4si_uuuu (__a, __b, __c);
}
__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
+vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
{
- return __builtin_aarch64_mlav16qi (__a, __b, __c);
+ return __builtin_aarch64_mlsv16qi (__a, __b, __c);
}
__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
+vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
{
- return __builtin_aarch64_mlav8hi (__a, __b, __c);
+ return __builtin_aarch64_mlsv8hi (__a, __b, __c);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
+vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
{
- return __builtin_aarch64_mlav4si (__a, __b, __c);
+ return __builtin_aarch64_mlsv4si (__a, __b, __c);
}
__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
+vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
{
- return __builtin_aarch64_mlav16qi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mlsv16qi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
+vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
{
- return __builtin_aarch64_mlav8hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mlsv8hi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
+vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
{
- return __builtin_aarch64_mlav4si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_mlsv4si_uuuu (__a, __b, __c);
}
-__extension__ extern __inline float32x2_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
+vmovl_high_s8 (int8x16_t __a)
{
- return __builtin_aarch64_float_mls_nv2sf (__a, __b, __c);
+ return __builtin_aarch64_vec_unpacks_hi_v16qi (__a);
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
+vmovl_high_s16 (int16x8_t __a)
{
- return __builtin_aarch64_mls_nv4hi (__a, __b, __c);
+ return __builtin_aarch64_vec_unpacks_hi_v8hi (__a);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
+vmovl_high_s32 (int32x4_t __a)
{
- return __builtin_aarch64_mls_nv2si (__a, __b, __c);
+ return __builtin_aarch64_vec_unpacks_hi_v4si (__a);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
+vmovl_high_u8 (uint8x16_t __a)
{
- return __builtin_aarch64_mls_nv4hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_vec_unpacku_hi_v16qi_uu (__a);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
+vmovl_high_u16 (uint16x8_t __a)
{
- return __builtin_aarch64_mls_nv2si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_vec_unpacku_hi_v8hi_uu (__a);
}
-__extension__ extern __inline int8x8_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
+vmovl_high_u32 (uint32x4_t __a)
{
- return __builtin_aarch64_mlsv8qi (__a, __b, __c);
+ return __builtin_aarch64_vec_unpacku_hi_v4si_uu (__a);
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
+vmovl_s8 (int8x8_t __a)
{
- return __builtin_aarch64_mlsv4hi (__a, __b, __c);
+ return __builtin_aarch64_sxtlv8hi (__a);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
+vmovl_s16 (int16x4_t __a)
{
- return __builtin_aarch64_mlsv2si (__a, __b, __c);
+ return __builtin_aarch64_sxtlv4si (__a);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
+vmovl_s32 (int32x2_t __a)
{
- return __builtin_aarch64_mlsv8qi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_sxtlv2di (__a);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
+vmovl_u8 (uint8x8_t __a)
{
- return __builtin_aarch64_mlsv4hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_uxtlv8hi_uu (__a);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
+vmovl_u16 (uint16x4_t __a)
{
- return __builtin_aarch64_mlsv2si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_uxtlv4si_uu (__a);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_lane_s16(int32x4_t __a, int16x8_t __b, int16x4_t __v,
- const int __lane)
+vmovl_u32 (uint32x2_t __a)
{
- return __builtin_aarch64_smlsl_hi_lanev8hi (__a, __b, __v, __lane);
+ return __builtin_aarch64_uxtlv2di_uu (__a);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_lane_s32(int64x2_t __a, int32x4_t __b, int32x2_t __v,
- const int __lane)
+vmovn_high_s16 (int8x8_t __a, int16x8_t __b)
{
- return __builtin_aarch64_smlsl_hi_lanev4si (__a, __b, __v, __lane);
+ return __builtin_aarch64_xtn2v8hi (__a, __b);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_lane_u16(uint32x4_t __a, uint16x8_t __b, uint16x4_t __v,
- const int __lane)
+vmovn_high_s32 (int16x4_t __a, int32x4_t __b)
{
- return __builtin_aarch64_umlsl_hi_lanev8hi_uuuus (__a, __b, __v, __lane);
+ return __builtin_aarch64_xtn2v4si (__a, __b);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_lane_u32(uint64x2_t __a, uint32x4_t __b, uint32x2_t __v,
- const int __lane)
+vmovn_high_s64 (int32x2_t __a, int64x2_t __b)
{
- return __builtin_aarch64_umlsl_hi_lanev4si_uuuus (__a, __b, __v, __lane);
+ return __builtin_aarch64_xtn2v2di (__a, __b);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_laneq_s16(int32x4_t __a, int16x8_t __b, int16x8_t __v,
- const int __lane)
+vmovn_high_u16 (uint8x8_t __a, uint16x8_t __b)
{
- return __builtin_aarch64_smlsl_hi_laneqv8hi (__a, __b, __v, __lane);
+ return __builtin_aarch64_xtn2v8hi_uuu (__a, __b);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_laneq_s32(int64x2_t __a, int32x4_t __b, int32x4_t __v,
- const int __lane)
+vmovn_high_u32 (uint16x4_t __a, uint32x4_t __b)
{
- return __builtin_aarch64_smlsl_hi_laneqv4si (__a, __b, __v, __lane);
+ return __builtin_aarch64_xtn2v4si_uuu (__a, __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_laneq_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __v,
- const int __lane)
+vmovn_high_u64 (uint32x2_t __a, uint64x2_t __b)
{
- return __builtin_aarch64_umlsl_hi_laneqv8hi_uuuus (__a, __b, __v, __lane);
+ return __builtin_aarch64_xtn2v2di_uuu (__a, __b);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_laneq_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __v,
- const int __lane)
+vmovn_s16 (int16x8_t __a)
{
- return __builtin_aarch64_umlsl_hi_laneqv4si_uuuus (__a, __b, __v, __lane);
+ return __builtin_aarch64_xtnv8hi (__a);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
+vmovn_s32 (int32x4_t __a)
{
- return __builtin_aarch64_smlsl_hi_nv8hi (__a, __b, __c);
+ return __builtin_aarch64_xtnv4si (__a);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
+vmovn_s64 (int64x2_t __a)
{
- return __builtin_aarch64_smlsl_hi_nv4si (__a, __b, __c);
+ return __builtin_aarch64_xtnv2di (__a);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_n_u16 (uint32x4_t __a, uint16x8_t __b, uint16_t __c)
+vmovn_u16 (uint16x8_t __a)
{
- return __builtin_aarch64_umlsl_hi_nv8hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_xtnv8hi_uu (__a);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_n_u32 (uint64x2_t __a, uint32x4_t __b, uint32_t __c)
+vmovn_u32 (uint32x4_t __a)
{
- return __builtin_aarch64_umlsl_hi_nv4si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_xtnv4si_uu (__a);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
+vmovn_u64 (uint64x2_t __a)
{
- return __builtin_aarch64_smlsl_hiv16qi (__a, __b, __c);
+ return __builtin_aarch64_xtnv2di_uu (__a);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
+vshrn_n_s16 (int16x8_t __a, const int __b)
{
- return __builtin_aarch64_smlsl_hiv8hi (__a, __b, __c);
+ return __builtin_aarch64_shrn_nv8hi (__a, __b);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
+vshrn_n_s32 (int32x4_t __a, const int __b)
{
- return __builtin_aarch64_smlsl_hiv4si (__a, __b, __c);
+ return __builtin_aarch64_shrn_nv4si (__a, __b);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
+vshrn_n_s64 (int64x2_t __a, const int __b)
{
- return __builtin_aarch64_umlsl_hiv16qi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_shrn_nv2di (__a, __b);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
+vshrn_n_u16 (uint16x8_t __a, const int __b)
{
- return __builtin_aarch64_umlsl_hiv8hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_shrn_nv8hi_uus (__a, __b);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
+vshrn_n_u32 (uint32x4_t __a, const int __b)
{
- return __builtin_aarch64_umlsl_hiv4si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_shrn_nv4si_uus (__a, __b);
+}
+
+__extension__ extern __inline uint32x2_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vshrn_n_u64 (uint64x2_t __a, const int __b)
+{
+ return __builtin_aarch64_shrn_nv2di_uus (__a, __b);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __v, const int __lane)
+vmull_high_lane_s16 (int16x8_t __a, int16x4_t __v, const int __lane)
{
- return __builtin_aarch64_vec_smlsl_lane_v4hi (__a, __b, __v, __lane);
+ return __builtin_aarch64_smull_hi_lanev8hi (__a, __v, __lane);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __v, const int __lane)
+vmull_high_lane_s32 (int32x4_t __a, int32x2_t __v, const int __lane)
{
- return __builtin_aarch64_vec_smlsl_lane_v2si (__a, __b, __v, __lane);
+ return __builtin_aarch64_smull_hi_lanev4si (__a, __v, __lane);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __v,
- const int __lane)
+vmull_high_lane_u16 (uint16x8_t __a, uint16x4_t __v, const int __lane)
{
- return __builtin_aarch64_vec_umlsl_lane_v4hi_uuuus (__a, __b, __v, __lane);
+ return __builtin_aarch64_umull_hi_lanev8hi_uuus (__a, __v, __lane);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __v,
- const int __lane)
+vmull_high_lane_u32 (uint32x4_t __a, uint32x2_t __v, const int __lane)
{
- return __builtin_aarch64_vec_umlsl_lane_v2si_uuuus (__a, __b, __v, __lane);
+ return __builtin_aarch64_umull_hi_lanev4si_uuus (__a, __v, __lane);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_laneq_s16 (int32x4_t __a, int16x4_t __b, int16x8_t __v, const int __lane)
+vmull_high_laneq_s16 (int16x8_t __a, int16x8_t __v, const int __lane)
{
- return __builtin_aarch64_vec_smlsl_laneq_v4hi (__a, __b, __v, __lane);
+ return __builtin_aarch64_smull_hi_laneqv8hi (__a, __v, __lane);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_laneq_s32 (int64x2_t __a, int32x2_t __b, int32x4_t __v, const int __lane)
+vmull_high_laneq_s32 (int32x4_t __a, int32x4_t __v, const int __lane)
{
- return __builtin_aarch64_vec_smlsl_laneq_v2si (__a, __b, __v, __lane);
+ return __builtin_aarch64_smull_hi_laneqv4si (__a, __v, __lane);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_laneq_u16 (uint32x4_t __a, uint16x4_t __b, uint16x8_t __v,
- const int __lane)
+vmull_high_laneq_u16 (uint16x8_t __a, uint16x8_t __v, const int __lane)
{
- return __builtin_aarch64_vec_umlsl_laneq_v4hi_uuuus (__a, __b, __v, __lane);
+ return __builtin_aarch64_umull_hi_laneqv8hi_uuus (__a, __v, __lane);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_laneq_u32 (uint64x2_t __a, uint32x2_t __b, uint32x4_t __v,
- const int __lane)
+vmull_high_laneq_u32 (uint32x4_t __a, uint32x4_t __v, const int __lane)
{
- return __builtin_aarch64_vec_umlsl_laneq_v2si_uuuus (__a, __b, __v, __lane);
+ return __builtin_aarch64_umull_hi_laneqv4si_uuus (__a, __v, __lane);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
+vmull_high_n_s16 (int16x8_t __a, int16_t __b)
{
- return __builtin_aarch64_smlsl_nv4hi (__a, __b, __c);
+ return __builtin_aarch64_smull_hi_nv8hi (__a, __b);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
+vmull_high_n_s32 (int32x4_t __a, int32_t __b)
{
- return __builtin_aarch64_smlsl_nv2si (__a, __b, __c);
+ return __builtin_aarch64_smull_hi_nv4si (__a, __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
+vmull_high_n_u16 (uint16x8_t __a, uint16_t __b)
{
- return __builtin_aarch64_umlsl_nv4hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umull_hi_nv8hi_uuu (__a, __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
+vmull_high_n_u32 (uint32x4_t __a, uint32_t __b)
{
- return __builtin_aarch64_umlsl_nv2si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umull_hi_nv4si_uuu (__a, __b);
+}
+
+__extension__ extern __inline poly16x8_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vmull_high_p8 (poly8x16_t __a, poly8x16_t __b)
+{
+ return __builtin_aarch64_pmull_hiv16qi_ppp (__a, __b);
}
__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
+vmull_high_s8 (int8x16_t __a, int8x16_t __b)
{
- return __builtin_aarch64_smlslv8qi (__a, __b, __c);
+ return __builtin_aarch64_vec_widen_smult_hi_v16qi (__a, __b);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
+vmull_high_s16 (int16x8_t __a, int16x8_t __b)
{
- return __builtin_aarch64_smlslv4hi (__a, __b, __c);
+ return __builtin_aarch64_vec_widen_smult_hi_v8hi (__a, __b);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
+vmull_high_s32 (int32x4_t __a, int32x4_t __b)
{
- return __builtin_aarch64_smlslv2si (__a, __b, __c);
+ return __builtin_aarch64_vec_widen_smult_hi_v4si (__a, __b);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
+vmull_high_u8 (uint8x16_t __a, uint8x16_t __b)
{
- return __builtin_aarch64_umlslv8qi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_vec_widen_umult_hi_v16qi_uuu (__a, __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
+vmull_high_u16 (uint16x8_t __a, uint16x8_t __b)
{
- return __builtin_aarch64_umlslv4hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_vec_widen_umult_hi_v8hi_uuu (__a, __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
+vmull_high_u32 (uint32x4_t __a, uint32x4_t __b)
{
- return __builtin_aarch64_umlslv2si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_vec_widen_umult_hi_v4si_uuu (__a, __b);
}
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
+vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
{
- return __builtin_aarch64_float_mls_nv4sf (__a, __b, __c);
+ return __builtin_aarch64_vec_smult_lane_v4hi (__a, __b, __c);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
+vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
{
- return __builtin_aarch64_mls_nv8hi (__a, __b, __c);
+ return __builtin_aarch64_vec_smult_lane_v2si (__a, __b, __c);
+}
+
+__extension__ extern __inline uint32x4_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
+{
+ return __builtin_aarch64_vec_umult_lane_v4hi_uuus (__a, __b, __c);
+}
+
+__extension__ extern __inline uint64x2_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
+{
+ return __builtin_aarch64_vec_umult_lane_v2si_uuus (__a, __b, __c);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
+vmull_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
{
- return __builtin_aarch64_mls_nv4si (__a, __b, __c);
+ return __builtin_aarch64_vec_smult_laneq_v4hi (__a, __b, __c);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
+vmull_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
{
- return __builtin_aarch64_mls_nv8hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_vec_smult_laneq_v2si (__a, __b, __c);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
+vmull_laneq_u16 (uint16x4_t __a, uint16x8_t __b, const int __c)
{
- return __builtin_aarch64_mls_nv4si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_vec_umult_laneq_v4hi_uuus (__a, __b, __c);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
+vmull_laneq_u32 (uint32x2_t __a, uint32x4_t __b, const int __c)
{
- return __builtin_aarch64_mlsv16qi (__a, __b, __c);
+ return __builtin_aarch64_vec_umult_laneq_v2si_uuus (__a, __b, __c);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
+vmull_n_s16 (int16x4_t __a, int16_t __b)
{
- return __builtin_aarch64_mlsv8hi (__a, __b, __c);
+ return __builtin_aarch64_smull_nv4hi (__a, __b);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
+vmull_n_s32 (int32x2_t __a, int32_t __b)
{
- return __builtin_aarch64_mlsv4si (__a, __b, __c);
+ return __builtin_aarch64_smull_nv2si (__a, __b);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
+vmull_n_u16 (uint16x4_t __a, uint16_t __b)
{
- return __builtin_aarch64_mlsv16qi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umull_nv4hi_uuu (__a, __b);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
+vmull_n_u32 (uint32x2_t __a, uint32_t __b)
{
- return __builtin_aarch64_mlsv8hi_uuuu (__a, __b, __c);
+ return __builtin_aarch64_umull_nv2si_uuu (__a, __b);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline poly16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
+vmull_p8 (poly8x8_t __a, poly8x8_t __b)
{
- return __builtin_aarch64_mlsv4si_uuuu (__a, __b, __c);
+ return __builtin_aarch64_pmullv8qi_ppp (__a, __b);
}
__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovl_high_s8 (int8x16_t __a)
+vmull_s8 (int8x8_t __a, int8x8_t __b)
{
- return __builtin_aarch64_vec_unpacks_hi_v16qi (__a);
+ return __builtin_aarch64_intrinsic_vec_smult_lo_v8qi (__a, __b);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovl_high_s16 (int16x8_t __a)
+vmull_s16 (int16x4_t __a, int16x4_t __b)
{
- return __builtin_aarch64_vec_unpacks_hi_v8hi (__a);
+ return __builtin_aarch64_intrinsic_vec_smult_lo_v4hi (__a, __b);
}
__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovl_high_s32 (int32x4_t __a)
+vmull_s32 (int32x2_t __a, int32x2_t __b)
{
- return __builtin_aarch64_vec_unpacks_hi_v4si (__a);
+ return __builtin_aarch64_intrinsic_vec_smult_lo_v2si (__a, __b);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovl_high_u8 (uint8x16_t __a)
+vmull_u8 (uint8x8_t __a, uint8x8_t __b)
{
- return __builtin_aarch64_vec_unpacku_hi_v16qi_uu (__a);
+ return __builtin_aarch64_intrinsic_vec_umult_lo_v8qi_uuu (__a, __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovl_high_u16 (uint16x8_t __a)
+vmull_u16 (uint16x4_t __a, uint16x4_t __b)
{
- return __builtin_aarch64_vec_unpacku_hi_v8hi_uu (__a);
+ return __builtin_aarch64_intrinsic_vec_umult_lo_v4hi_uuu (__a, __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovl_high_u32 (uint32x4_t __a)
-{
- return __builtin_aarch64_vec_unpacku_hi_v4si_uu (__a);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovl_s8 (int8x8_t __a)
+vmull_u32 (uint32x2_t __a, uint32x2_t __b)
{
- return __builtin_aarch64_sxtlv8hi (__a);
+ return __builtin_aarch64_intrinsic_vec_umult_lo_v2si_uuu (__a, __b);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovl_s16 (int16x4_t __a)
+vpadal_s8 (int16x4_t __a, int8x8_t __b)
{
- return __builtin_aarch64_sxtlv4si (__a);
+ return __builtin_aarch64_sadalpv8qi (__a, __b);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovl_s32 (int32x2_t __a)
+vpadal_s16 (int32x2_t __a, int16x4_t __b)
{
- return __builtin_aarch64_sxtlv2di (__a);
+ return __builtin_aarch64_sadalpv4hi (__a, __b);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline int64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovl_u8 (uint8x8_t __a)
+vpadal_s32 (int64x1_t __a, int32x2_t __b)
{
- return __builtin_aarch64_uxtlv8hi_uu (__a);
+ return (int64x1_t) __builtin_aarch64_sadalpv2si (__a[0], __b);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovl_u16 (uint16x4_t __a)
+vpadal_u8 (uint16x4_t __a, uint8x8_t __b)
{
- return __builtin_aarch64_uxtlv4si_uu (__a);
+ return __builtin_aarch64_uadalpv8qi_uuu (__a, __b);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovl_u32 (uint32x2_t __a)
+vpadal_u16 (uint32x2_t __a, uint16x4_t __b)
{
- return __builtin_aarch64_uxtlv2di_uu (__a);
+ return __builtin_aarch64_uadalpv4hi_uuu (__a, __b);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovn_high_s16 (int8x8_t __a, int16x8_t __b)
+vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
{
- return __builtin_aarch64_xtn2v8hi (__a, __b);
+ return (uint64x1_t) __builtin_aarch64_uadalpv2si_uuu (__a[0], __b);
}
__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovn_high_s32 (int16x4_t __a, int32x4_t __b)
+vpadalq_s8 (int16x8_t __a, int8x16_t __b)
{
- return __builtin_aarch64_xtn2v4si (__a, __b);
+ return __builtin_aarch64_sadalpv16qi (__a, __b);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovn_high_s64 (int32x2_t __a, int64x2_t __b)
+vpadalq_s16 (int32x4_t __a, int16x8_t __b)
{
- return __builtin_aarch64_xtn2v2di (__a, __b);
+ return __builtin_aarch64_sadalpv8hi (__a, __b);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovn_high_u16 (uint8x8_t __a, uint16x8_t __b)
+vpadalq_s32 (int64x2_t __a, int32x4_t __b)
{
- return __builtin_aarch64_xtn2v8hi_uuu (__a, __b);
+ return __builtin_aarch64_sadalpv4si (__a, __b);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovn_high_u32 (uint16x4_t __a, uint32x4_t __b)
+vpadalq_u8 (uint16x8_t __a, uint8x16_t __b)
{
- return __builtin_aarch64_xtn2v4si_uuu (__a, __b);
+ return __builtin_aarch64_uadalpv16qi_uuu (__a, __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovn_high_u64 (uint32x2_t __a, uint64x2_t __b)
+vpadalq_u16 (uint32x4_t __a, uint16x8_t __b)
{
- return __builtin_aarch64_xtn2v2di_uuu (__a, __b);
+ return __builtin_aarch64_uadalpv8hi_uuu (__a, __b);
}
-__extension__ extern __inline int8x8_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovn_s16 (int16x8_t __a)
+vpadalq_u32 (uint64x2_t __a, uint32x4_t __b)
{
- return __builtin_aarch64_xtnv8hi (__a);
+ return __builtin_aarch64_uadalpv4si_uuu (__a, __b);
}
__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovn_s32 (int32x4_t __a)
+vpaddl_s8 (int8x8_t __a)
{
- return __builtin_aarch64_xtnv4si (__a);
+ return __builtin_aarch64_saddlpv8qi (__a);
}
__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovn_s64 (int64x2_t __a)
+vpaddl_s16 (int16x4_t __a)
{
- return __builtin_aarch64_xtnv2di (__a);
+ return __builtin_aarch64_saddlpv4hi (__a);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline int64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovn_u16 (uint16x8_t __a)
+vpaddl_s32 (int32x2_t __a)
{
- return __builtin_aarch64_xtnv8hi_uu (__a);
+ return (int64x1_t) __builtin_aarch64_saddlpv2si (__a);
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovn_u32 (uint32x4_t __a)
+vpaddl_u8 (uint8x8_t __a)
{
- return __builtin_aarch64_xtnv4si_uu (__a);
+ return __builtin_aarch64_uaddlpv8qi_uu (__a);
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmovn_u64 (uint64x2_t __a)
+vpaddl_u16 (uint16x4_t __a)
{
- return __builtin_aarch64_xtnv2di_uu (__a);
+ return __builtin_aarch64_uaddlpv4hi_uu (__a);
}
-__extension__ extern __inline int8x8_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vshrn_n_s16 (int16x8_t __a, const int __b)
+vpaddl_u32 (uint32x2_t __a)
{
- return __builtin_aarch64_shrn_nv8hi (__a, __b);
+ return (uint64x1_t) __builtin_aarch64_uaddlpv2si_uu (__a);
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vshrn_n_s32 (int32x4_t __a, const int __b)
+vpaddlq_s8 (int8x16_t __a)
{
- return __builtin_aarch64_shrn_nv4si (__a, __b);
+ return __builtin_aarch64_saddlpv16qi (__a);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vshrn_n_s64 (int64x2_t __a, const int __b)
+vpaddlq_s16 (int16x8_t __a)
{
- return __builtin_aarch64_shrn_nv2di (__a, __b);
+ return __builtin_aarch64_saddlpv8hi (__a);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vshrn_n_u16 (uint16x8_t __a, const int __b)
+vpaddlq_s32 (int32x4_t __a)
{
- return __builtin_aarch64_shrn_nv8hi_uus (__a, __b);
+ return __builtin_aarch64_saddlpv4si (__a);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vshrn_n_u32 (uint32x4_t __a, const int __b)
+vpaddlq_u8 (uint8x16_t __a)
{
- return __builtin_aarch64_shrn_nv4si_uus (__a, __b);
+ return __builtin_aarch64_uaddlpv16qi_uu (__a);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vshrn_n_u64 (uint64x2_t __a, const int __b)
+vpaddlq_u16 (uint16x8_t __a)
{
- return __builtin_aarch64_shrn_nv2di_uus (__a, __b);
+ return __builtin_aarch64_uaddlpv8hi_uu (__a);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_lane_s16 (int16x8_t __a, int16x4_t __v, const int __lane)
+vpaddlq_u32 (uint32x4_t __a)
{
- return __builtin_aarch64_smull_hi_lanev8hi (__a, __v, __lane);
+ return __builtin_aarch64_uaddlpv4si_uu (__a);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_lane_s32 (int32x4_t __a, int32x2_t __v, const int __lane)
+vpaddq_s8 (int8x16_t __a, int8x16_t __b)
{
- return __builtin_aarch64_smull_hi_lanev4si (__a, __v, __lane);
+ return __builtin_aarch64_addpv16qi (__a, __b);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_lane_u16 (uint16x8_t __a, uint16x4_t __v, const int __lane)
+vpaddq_s16 (int16x8_t __a, int16x8_t __b)
{
- return __builtin_aarch64_umull_hi_lanev8hi_uuus (__a, __v, __lane);
+ return __builtin_aarch64_addpv8hi (__a, __b);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_lane_u32 (uint32x4_t __a, uint32x2_t __v, const int __lane)
+vpaddq_s32 (int32x4_t __a, int32x4_t __b)
{
- return __builtin_aarch64_umull_hi_lanev4si_uuus (__a, __v, __lane);
+ return __builtin_aarch64_addpv4si (__a, __b);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_laneq_s16 (int16x8_t __a, int16x8_t __v, const int __lane)
+vpaddq_s64 (int64x2_t __a, int64x2_t __b)
{
- return __builtin_aarch64_smull_hi_laneqv8hi (__a, __v, __lane);
+ return __builtin_aarch64_addpv2di (__a, __b);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_laneq_s32 (int32x4_t __a, int32x4_t __v, const int __lane)
+vpaddq_u8 (uint8x16_t __a, uint8x16_t __b)
{
- return __builtin_aarch64_smull_hi_laneqv4si (__a, __v, __lane);
+ return __builtin_aarch64_addpv16qi_uuu (__a, __b);
+}
+
+__extension__ extern __inline uint16x8_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vpaddq_u16 (uint16x8_t __a, uint16x8_t __b)
+{
+ return __builtin_aarch64_addpv8hi_uuu (__a, __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_laneq_u16 (uint16x8_t __a, uint16x8_t __v, const int __lane)
+vpaddq_u32 (uint32x4_t __a, uint32x4_t __b)
{
- return __builtin_aarch64_umull_hi_laneqv8hi_uuus (__a, __v, __lane);
+ return __builtin_aarch64_addpv4si_uuu (__a, __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_laneq_u32 (uint32x4_t __a, uint32x4_t __v, const int __lane)
+vpaddq_u64 (uint64x2_t __a, uint64x2_t __b)
{
- return __builtin_aarch64_umull_hi_laneqv4si_uuus (__a, __v, __lane);
+ return __builtin_aarch64_addpv2di_uuu (__a, __b);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_n_s16 (int16x8_t __a, int16_t __b)
+vqdmulh_n_s16 (int16x4_t __a, int16_t __b)
{
- return __builtin_aarch64_smull_hi_nv8hi (__a, __b);
+ return __builtin_aarch64_sqdmulh_nv4hi (__a, __b);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_n_s32 (int32x4_t __a, int32_t __b)
+vqdmulh_n_s32 (int32x2_t __a, int32_t __b)
{
- return __builtin_aarch64_smull_hi_nv4si (__a, __b);
+ return __builtin_aarch64_sqdmulh_nv2si (__a, __b);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_n_u16 (uint16x8_t __a, uint16_t __b)
+vqdmulhq_n_s16 (int16x8_t __a, int16_t __b)
{
- return __builtin_aarch64_umull_hi_nv8hi_uuu (__a, __b);
+ return __builtin_aarch64_sqdmulh_nv8hi (__a, __b);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_n_u32 (uint32x4_t __a, uint32_t __b)
+vqdmulhq_n_s32 (int32x4_t __a, int32_t __b)
{
- return __builtin_aarch64_umull_hi_nv4si_uuu (__a, __b);
+ return __builtin_aarch64_sqdmulh_nv4si (__a, __b);
}
-__extension__ extern __inline poly16x8_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_p8 (poly8x16_t __a, poly8x16_t __b)
+vqmovn_high_s16 (int8x8_t __a, int16x8_t __b)
{
- return __builtin_aarch64_pmull_hiv16qi_ppp (__a, __b);
+ return __builtin_aarch64_sqxtn2v8hi (__a, __b);
}
__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_s8 (int8x16_t __a, int8x16_t __b)
+vqmovn_high_s32 (int16x4_t __a, int32x4_t __b)
{
- return __builtin_aarch64_vec_widen_smult_hi_v16qi (__a, __b);
+ return __builtin_aarch64_sqxtn2v4si (__a, __b);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_s16 (int16x8_t __a, int16x8_t __b)
+vqmovn_high_s64 (int32x2_t __a, int64x2_t __b)
{
- return __builtin_aarch64_vec_widen_smult_hi_v8hi (__a, __b);
+ return __builtin_aarch64_sqxtn2v2di (__a, __b);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_s32 (int32x4_t __a, int32x4_t __b)
+vqmovn_high_u16 (uint8x8_t __a, uint16x8_t __b)
{
- return __builtin_aarch64_vec_widen_smult_hi_v4si (__a, __b);
+ return __builtin_aarch64_uqxtn2v8hi_uuu (__a, __b);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_u8 (uint8x16_t __a, uint8x16_t __b)
+vqmovn_high_u32 (uint16x4_t __a, uint32x4_t __b)
{
- return __builtin_aarch64_vec_widen_umult_hi_v16qi_uuu (__a, __b);
+ return __builtin_aarch64_uqxtn2v4si_uuu (__a, __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_u16 (uint16x8_t __a, uint16x8_t __b)
+vqmovn_high_u64 (uint32x2_t __a, uint64x2_t __b)
{
- return __builtin_aarch64_vec_widen_umult_hi_v8hi_uuu (__a, __b);
+ return __builtin_aarch64_uqxtn2v2di_uuu (__a, __b);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_u32 (uint32x4_t __a, uint32x4_t __b)
+vqmovun_high_s16 (uint8x8_t __a, int16x8_t __b)
{
- return __builtin_aarch64_vec_widen_umult_hi_v4si_uuu (__a, __b);
+ return __builtin_aarch64_sqxtun2v8hi_uus (__a, __b);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
+vqmovun_high_s32 (uint16x4_t __a, int32x4_t __b)
{
- return __builtin_aarch64_vec_smult_lane_v4hi (__a, __b, __c);
+ return __builtin_aarch64_sqxtun2v4si_uus (__a, __b);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
+vqmovun_high_s64 (uint32x2_t __a, int64x2_t __b)
{
- return __builtin_aarch64_vec_smult_lane_v2si (__a, __b, __c);
+ return __builtin_aarch64_sqxtun2v2di_uus (__a, __b);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
+vqrdmulh_n_s16 (int16x4_t __a, int16_t __b)
{
- return __builtin_aarch64_vec_umult_lane_v4hi_uuus (__a, __b, __c);
+ return __builtin_aarch64_sqrdmulh_nv4hi (__a, __b);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
+vqrdmulh_n_s32 (int32x2_t __a, int32_t __b)
{
- return __builtin_aarch64_vec_umult_lane_v2si_uuus (__a, __b, __c);
+ return __builtin_aarch64_sqrdmulh_nv2si (__a, __b);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
+vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b)
{
- return __builtin_aarch64_vec_smult_laneq_v4hi (__a, __b, __c);
+ return __builtin_aarch64_sqrdmulh_nv8hi (__a, __b);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
+vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b)
{
- return __builtin_aarch64_vec_smult_laneq_v2si (__a, __b, __c);
+ return __builtin_aarch64_sqrdmulh_nv4si (__a, __b);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_laneq_u16 (uint16x4_t __a, uint16x8_t __b, const int __c)
+vqrshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
{
- return __builtin_aarch64_vec_umult_laneq_v4hi_uuus (__a, __b, __c);
+ return __builtin_aarch64_sqrshrn2_nv8hi (__a, __b, __c);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_laneq_u32 (uint32x2_t __a, uint32x4_t __b, const int __c)
+vqrshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
{
- return __builtin_aarch64_vec_umult_laneq_v2si_uuus (__a, __b, __c);
+ return __builtin_aarch64_sqrshrn2_nv4si (__a, __b, __c);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_n_s16 (int16x4_t __a, int16_t __b)
+vqrshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
{
- return __builtin_aarch64_smull_nv4hi (__a, __b);
+ return __builtin_aarch64_sqrshrn2_nv2di (__a, __b, __c);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_n_s32 (int32x2_t __a, int32_t __b)
+vqrshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
{
- return __builtin_aarch64_smull_nv2si (__a, __b);
+ return __builtin_aarch64_uqrshrn2_nv8hi_uuus (__a, __b, __c);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_n_u16 (uint16x4_t __a, uint16_t __b)
+vqrshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
{
- return __builtin_aarch64_umull_nv4hi_uuu (__a, __b);
+ return __builtin_aarch64_uqrshrn2_nv4si_uuus (__a, __b, __c);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_n_u32 (uint32x2_t __a, uint32_t __b)
+vqrshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
{
- return __builtin_aarch64_umull_nv2si_uuu (__a, __b);
+ return __builtin_aarch64_uqrshrn2_nv2di_uuus (__a, __b, __c);
}
-__extension__ extern __inline poly16x8_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_p8 (poly8x8_t __a, poly8x8_t __b)
+vqrshrun_high_n_s16 (uint8x8_t __a, int16x8_t __b, const int __c)
{
- return __builtin_aarch64_pmullv8qi_ppp (__a, __b);
+ return __builtin_aarch64_sqrshrun2_nv8hi_uuss (__a, __b, __c);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_s8 (int8x8_t __a, int8x8_t __b)
+vqrshrun_high_n_s32 (uint16x4_t __a, int32x4_t __b, const int __c)
{
- return __builtin_aarch64_intrinsic_vec_smult_lo_v8qi (__a, __b);
+ return __builtin_aarch64_sqrshrun2_nv4si_uuss (__a, __b, __c);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_s16 (int16x4_t __a, int16x4_t __b)
+vqrshrun_high_n_s64 (uint32x2_t __a, int64x2_t __b, const int __c)
{
- return __builtin_aarch64_intrinsic_vec_smult_lo_v4hi (__a, __b);
+ return __builtin_aarch64_sqrshrun2_nv2di_uuss (__a, __b, __c);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_s32 (int32x2_t __a, int32x2_t __b)
+vqshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
{
- return __builtin_aarch64_intrinsic_vec_smult_lo_v2si (__a, __b);
+ return __builtin_aarch64_sqsshrn2_nv8hi (__a, __b, __c);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_u8 (uint8x8_t __a, uint8x8_t __b)
+vqshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
{
- return __builtin_aarch64_intrinsic_vec_umult_lo_v8qi_uuu (__a, __b);
+ return __builtin_aarch64_sqsshrn2_nv4si (__a, __b, __c);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_u16 (uint16x4_t __a, uint16x4_t __b)
+vqshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
{
- return __builtin_aarch64_intrinsic_vec_umult_lo_v4hi_uuu (__a, __b);
+ return __builtin_aarch64_sqsshrn2_nv2di (__a, __b, __c);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_u32 (uint32x2_t __a, uint32x2_t __b)
+vqshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
{
- return __builtin_aarch64_intrinsic_vec_umult_lo_v2si_uuu (__a, __b);
+ return __builtin_aarch64_uqushrn2_nv8hi_uuus (__a, __b, __c);
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpadal_s8 (int16x4_t __a, int8x8_t __b)
+vqshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
{
- return __builtin_aarch64_sadalpv8qi (__a, __b);
+ return __builtin_aarch64_uqushrn2_nv4si_uuus (__a, __b, __c);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpadal_s16 (int32x2_t __a, int16x4_t __b)
+vqshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
{
- return __builtin_aarch64_sadalpv4hi (__a, __b);
+ return __builtin_aarch64_uqushrn2_nv2di_uuus (__a, __b, __c);
}
-__extension__ extern __inline int64x1_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpadal_s32 (int64x1_t __a, int32x2_t __b)
+vqshrun_high_n_s16 (uint8x8_t __a, int16x8_t __b, const int __c)
{
- return (int64x1_t) __builtin_aarch64_sadalpv2si (__a[0], __b);
+ return __builtin_aarch64_sqshrun2_nv8hi_uuss (__a, __b, __c);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpadal_u8 (uint16x4_t __a, uint8x8_t __b)
+vqshrun_high_n_s32 (uint16x4_t __a, int32x4_t __b, const int __c)
{
- return __builtin_aarch64_uadalpv8qi_uuu (__a, __b);
+ return __builtin_aarch64_sqshrun2_nv4si_uuss (__a, __b, __c);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpadal_u16 (uint32x2_t __a, uint16x4_t __b)
+vqshrun_high_n_s64 (uint32x2_t __a, int64x2_t __b, const int __c)
{
- return __builtin_aarch64_uadalpv4hi_uuu (__a, __b);
+ return __builtin_aarch64_sqshrun2_nv2di_uuss (__a, __b, __c);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
+vrshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
{
- return (uint64x1_t) __builtin_aarch64_uadalpv2si_uuu (__a[0], __b);
+ return __builtin_aarch64_rshrn2_nv8hi (__a, __b, __c);
}
__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpadalq_s8 (int16x8_t __a, int8x16_t __b)
+vrshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
{
- return __builtin_aarch64_sadalpv16qi (__a, __b);
+ return __builtin_aarch64_rshrn2_nv4si (__a, __b, __c);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpadalq_s16 (int32x4_t __a, int16x8_t __b)
+vrshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
{
- return __builtin_aarch64_sadalpv8hi (__a, __b);
+ return __builtin_aarch64_rshrn2_nv2di (__a, __b, __c);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpadalq_s32 (int64x2_t __a, int32x4_t __b)
+vrshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
{
- return __builtin_aarch64_sadalpv4si (__a, __b);
+ return __builtin_aarch64_rshrn2_nv8hi_uuus (__a, __b, __c);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpadalq_u8 (uint16x8_t __a, uint8x16_t __b)
+vrshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
{
- return __builtin_aarch64_uadalpv16qi_uuu (__a, __b);
+ return __builtin_aarch64_rshrn2_nv4si_uuus (__a, __b, __c);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpadalq_u16 (uint32x4_t __a, uint16x8_t __b)
+vrshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
{
- return __builtin_aarch64_uadalpv8hi_uuu (__a, __b);
+ return __builtin_aarch64_rshrn2_nv2di_uuus (__a, __b, __c);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpadalq_u32 (uint64x2_t __a, uint32x4_t __b)
+vrshrn_n_s16 (int16x8_t __a, const int __b)
{
- return __builtin_aarch64_uadalpv4si_uuu (__a, __b);
+ return __builtin_aarch64_rshrn_nv8hi (__a, __b);
}
__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddl_s8 (int8x8_t __a)
+vrshrn_n_s32 (int32x4_t __a, const int __b)
{
- return __builtin_aarch64_saddlpv8qi (__a);
+ return __builtin_aarch64_rshrn_nv4si (__a, __b);
}
__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddl_s16 (int16x4_t __a)
+vrshrn_n_s64 (int64x2_t __a, const int __b)
{
- return __builtin_aarch64_saddlpv4hi (__a);
+ return __builtin_aarch64_rshrn_nv2di (__a, __b);
}
-__extension__ extern __inline int64x1_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddl_s32 (int32x2_t __a)
+vrshrn_n_u16 (uint16x8_t __a, const int __b)
{
- return (int64x1_t) __builtin_aarch64_saddlpv2si (__a);
+ return __builtin_aarch64_rshrn_nv8hi_uus (__a, __b);
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddl_u8 (uint8x8_t __a)
+vrshrn_n_u32 (uint32x4_t __a, const int __b)
{
- return __builtin_aarch64_uaddlpv8qi_uu (__a);
+ return __builtin_aarch64_rshrn_nv4si_uus (__a, __b);
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddl_u16 (uint16x4_t __a)
-{
- return __builtin_aarch64_uaddlpv4hi_uu (__a);
-}
-
-__extension__ extern __inline uint64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddl_u32 (uint32x2_t __a)
+vrshrn_n_u64 (uint64x2_t __a, const int __b)
{
- return (uint64x1_t) __builtin_aarch64_uaddlpv2si_uu (__a);
+ return __builtin_aarch64_rshrn_nv2di_uus (__a, __b);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddlq_s8 (int8x16_t __a)
+vrsqrte_u32 (uint32x2_t __a)
{
- return __builtin_aarch64_saddlpv16qi (__a);
+ return __builtin_aarch64_ursqrtev2si_uu (__a);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddlq_s16 (int16x8_t __a)
+vrsqrteq_u32 (uint32x4_t __a)
{
- return __builtin_aarch64_saddlpv8hi (__a);
+ return __builtin_aarch64_ursqrtev4si_uu (__a);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddlq_s32 (int32x4_t __a)
+vshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
{
- return __builtin_aarch64_saddlpv4si (__a);
+ return __builtin_aarch64_ushrn2_nv8hi (__a, __b, __c);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddlq_u8 (uint8x16_t __a)
+vshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
{
- return __builtin_aarch64_uaddlpv16qi_uu (__a);
+ return __builtin_aarch64_ushrn2_nv4si (__a, __b, __c);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddlq_u16 (uint16x8_t __a)
+vshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
{
- return __builtin_aarch64_uaddlpv8hi_uu (__a);
+ return __builtin_aarch64_ushrn2_nv2di (__a, __b, __c);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddlq_u32 (uint32x4_t __a)
+vshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
{
- return __builtin_aarch64_uaddlpv4si_uu (__a);
+ return __builtin_aarch64_ushrn2_nv8hi_uuus (__a, __b, __c);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddq_s8 (int8x16_t __a, int8x16_t __b)
+vshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
{
- return __builtin_aarch64_addpv16qi (__a, __b);
+ return __builtin_aarch64_ushrn2_nv4si_uuus (__a, __b, __c);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddq_s16 (int16x8_t __a, int16x8_t __b)
+vshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
{
- return __builtin_aarch64_addpv8hi (__a, __b);
+ return __builtin_aarch64_ushrn2_nv2di_uuus (__a, __b, __c);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline poly8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddq_s32 (int32x4_t __a, int32x4_t __b)
+vsli_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
{
- return __builtin_aarch64_addpv4si (__a, __b);
+ return __builtin_aarch64_ssli_nv8qi_ppps (__a, __b, __c);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline poly16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddq_s64 (int64x2_t __a, int64x2_t __b)
+vsli_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
{
- return __builtin_aarch64_addpv2di (__a, __b);
+ return __builtin_aarch64_ssli_nv4hi_ppps (__a, __b, __c);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline poly8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddq_u8 (uint8x16_t __a, uint8x16_t __b)
+vsliq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
{
- return __builtin_aarch64_addpv16qi_uuu (__a, __b);
+ return __builtin_aarch64_ssli_nv16qi_ppps (__a, __b, __c);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline poly16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddq_u16 (uint16x8_t __a, uint16x8_t __b)
+vsliq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
{
- return __builtin_aarch64_addpv8hi_uuu (__a, __b);
+ return __builtin_aarch64_ssli_nv8hi_ppps (__a, __b, __c);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline poly8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddq_u32 (uint32x4_t __a, uint32x4_t __b)
+vsri_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
{
- return __builtin_aarch64_addpv4si_uuu (__a, __b);
+ return __builtin_aarch64_ssri_nv8qi_ppps (__a, __b, __c);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline poly16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vpaddq_u64 (uint64x2_t __a, uint64x2_t __b)
+vsri_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
{
- return __builtin_aarch64_addpv2di_uuu (__a, __b);
+ return __builtin_aarch64_ssri_nv4hi_ppps (__a, __b, __c);
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline poly64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqdmulh_n_s16 (int16x4_t __a, int16_t __b)
+vsri_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
{
- return __builtin_aarch64_sqdmulh_nv4hi (__a, __b);
+ return (poly64x1_t) __builtin_aarch64_ssri_ndi_ppps (__a[0], __b[0], __c);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline poly8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqdmulh_n_s32 (int32x2_t __a, int32_t __b)
+vsriq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
{
- return __builtin_aarch64_sqdmulh_nv2si (__a, __b);
+ return __builtin_aarch64_ssri_nv16qi_ppps (__a, __b, __c);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline poly16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqdmulhq_n_s16 (int16x8_t __a, int16_t __b)
+vsriq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
{
- return __builtin_aarch64_sqdmulh_nv8hi (__a, __b);
+ return __builtin_aarch64_ssri_nv8hi_ppps (__a, __b, __c);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline poly64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqdmulhq_n_s32 (int32x4_t __a, int32_t __b)
+vsriq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
{
- return __builtin_aarch64_sqdmulh_nv4si (__a, __b);
+ return __builtin_aarch64_ssri_nv2di_ppps (__a, __b, __c);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqmovn_high_s16 (int8x8_t __a, int16x8_t __b)
+vtst_p8 (poly8x8_t __a, poly8x8_t __b)
{
- return __builtin_aarch64_sqxtn2v8hi (__a, __b);
+ return (uint8x8_t) ((((uint8x8_t) __a) & ((uint8x8_t) __b))
+ != 0);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqmovn_high_s32 (int16x4_t __a, int32x4_t __b)
+vtst_p16 (poly16x4_t __a, poly16x4_t __b)
{
- return __builtin_aarch64_sqxtn2v4si (__a, __b);
+ return (uint16x4_t) ((((uint16x4_t) __a) & ((uint16x4_t) __b))
+ != 0);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqmovn_high_s64 (int32x2_t __a, int64x2_t __b)
+vtst_p64 (poly64x1_t __a, poly64x1_t __b)
{
- return __builtin_aarch64_sqxtn2v2di (__a, __b);
+ return (uint64x1_t) ((__a & __b) != __AARCH64_INT64_C (0));
}
__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqmovn_high_u16 (uint8x8_t __a, uint16x8_t __b)
+vtstq_p8 (poly8x16_t __a, poly8x16_t __b)
{
- return __builtin_aarch64_uqxtn2v8hi_uuu (__a, __b);
+ return (uint8x16_t) ((((uint8x16_t) __a) & ((uint8x16_t) __b))
+ != 0);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqmovn_high_u32 (uint16x4_t __a, uint32x4_t __b)
+vtstq_p16 (poly16x8_t __a, poly16x8_t __b)
{
- return __builtin_aarch64_uqxtn2v4si_uuu (__a, __b);
+ return (uint16x8_t) ((((uint16x8_t) __a) & ((uint16x8_t) __b))
+ != 0);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqmovn_high_u64 (uint32x2_t __a, uint64x2_t __b)
+vtstq_p64 (poly64x2_t __a, poly64x2_t __b)
{
- return __builtin_aarch64_uqxtn2v2di_uuu (__a, __b);
+ return (uint64x2_t) ((((uint64x2_t) __a) & ((uint64x2_t) __b))
+ != __AARCH64_INT64_C (0));
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqmovun_high_s16 (uint8x8_t __a, int16x8_t __b)
+vst2_lane_f16 (float16_t *__ptr, float16x4x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqxtun2v8hi_uus (__a, __b);
+ __builtin_aarch64_st2_lanev4hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqmovun_high_s32 (uint16x4_t __a, int32x4_t __b)
+vst2_lane_f32 (float32_t *__ptr, float32x2x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqxtun2v4si_uus (__a, __b);
+ __builtin_aarch64_st2_lanev2sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqmovun_high_s64 (uint32x2_t __a, int64x2_t __b)
+vst2_lane_f64 (float64_t *__ptr, float64x1x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqxtun2v2di_uus (__a, __b);
+ __builtin_aarch64_st2_lanedf ((__builtin_aarch64_simd_df *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmulh_n_s16 (int16x4_t __a, int16_t __b)
+vst2_lane_p8 (poly8_t *__ptr, poly8x8x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqrdmulh_nv4hi (__a, __b);
+ __builtin_aarch64_st2_lanev8qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmulh_n_s32 (int32x2_t __a, int32_t __b)
+vst2_lane_p16 (poly16_t *__ptr, poly16x4x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqrdmulh_nv2si (__a, __b);
+ __builtin_aarch64_st2_lanev4hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b)
+vst2_lane_p64 (poly64_t *__ptr, poly64x1x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqrdmulh_nv8hi (__a, __b);
+ __builtin_aarch64_st2_lanedi_sps ((__builtin_aarch64_simd_di *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b)
+vst2_lane_s8 (int8_t *__ptr, int8x8x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqrdmulh_nv4si (__a, __b);
+ __builtin_aarch64_st2_lanev8qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
+vst2_lane_s16 (int16_t *__ptr, int16x4x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqrshrn2_nv8hi (__a, __b, __c);
+ __builtin_aarch64_st2_lanev4hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
+vst2_lane_s32 (int32_t *__ptr, int32x2x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqrshrn2_nv4si (__a, __b, __c);
+ __builtin_aarch64_st2_lanev2si ((__builtin_aarch64_simd_si *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
+vst2_lane_s64 (int64_t *__ptr, int64x1x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqrshrn2_nv2di (__a, __b, __c);
+ __builtin_aarch64_st2_lanedi ((__builtin_aarch64_simd_di *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
+vst2_lane_u8 (uint8_t *__ptr, uint8x8x2_t __val, const int __lane)
{
- return __builtin_aarch64_uqrshrn2_nv8hi_uuus (__a, __b, __c);
+ __builtin_aarch64_st2_lanev8qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
+vst2_lane_u16 (uint16_t *__ptr, uint16x4x2_t __val, const int __lane)
{
- return __builtin_aarch64_uqrshrn2_nv4si_uuus (__a, __b, __c);
+ __builtin_aarch64_st2_lanev4hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
+vst2_lane_u32 (uint32_t *__ptr, uint32x2x2_t __val, const int __lane)
{
- return __builtin_aarch64_uqrshrn2_nv2di_uuus (__a, __b, __c);
+ __builtin_aarch64_st2_lanev2si_sus ((__builtin_aarch64_simd_si *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrshrun_high_n_s16 (uint8x8_t __a, int16x8_t __b, const int __c)
+vst2_lane_u64 (uint64_t *__ptr, uint64x1x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqrshrun2_nv8hi_uuss (__a, __b, __c);
+ __builtin_aarch64_st2_lanedi_sus ((__builtin_aarch64_simd_di *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrshrun_high_n_s32 (uint16x4_t __a, int32x4_t __b, const int __c)
+vst2q_lane_f16 (float16_t *__ptr, float16x8x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqrshrun2_nv4si_uuss (__a, __b, __c);
+ __builtin_aarch64_st2_lanev8hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrshrun_high_n_s64 (uint32x2_t __a, int64x2_t __b, const int __c)
+vst2q_lane_f32 (float32_t *__ptr, float32x4x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqrshrun2_nv2di_uuss (__a, __b, __c);
+ __builtin_aarch64_st2_lanev4sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
+vst2q_lane_f64 (float64_t *__ptr, float64x2x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqsshrn2_nv8hi (__a, __b, __c);
+ __builtin_aarch64_st2_lanev2df ((__builtin_aarch64_simd_df *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
+vst2q_lane_p8 (poly8_t *__ptr, poly8x16x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqsshrn2_nv4si (__a, __b, __c);
+ __builtin_aarch64_st2_lanev16qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
+vst2q_lane_p16 (poly16_t *__ptr, poly16x8x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqsshrn2_nv2di (__a, __b, __c);
+ __builtin_aarch64_st2_lanev8hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
+vst2q_lane_p64 (poly64_t *__ptr, poly64x2x2_t __val, const int __lane)
{
- return __builtin_aarch64_uqushrn2_nv8hi_uuus (__a, __b, __c);
+ __builtin_aarch64_st2_lanev2di_sps ((__builtin_aarch64_simd_di *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
+vst2q_lane_s8 (int8_t *__ptr, int8x16x2_t __val, const int __lane)
{
- return __builtin_aarch64_uqushrn2_nv4si_uuus (__a, __b, __c);
+ __builtin_aarch64_st2_lanev16qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
+vst2q_lane_s16 (int16_t *__ptr, int16x8x2_t __val, const int __lane)
{
- return __builtin_aarch64_uqushrn2_nv2di_uuus (__a, __b, __c);
+ __builtin_aarch64_st2_lanev8hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqshrun_high_n_s16 (uint8x8_t __a, int16x8_t __b, const int __c)
+vst2q_lane_s32 (int32_t *__ptr, int32x4x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqshrun2_nv8hi_uuss (__a, __b, __c);
+ __builtin_aarch64_st2_lanev4si ((__builtin_aarch64_simd_si *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqshrun_high_n_s32 (uint16x4_t __a, int32x4_t __b, const int __c)
+vst2q_lane_s64 (int64_t *__ptr, int64x2x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqshrun2_nv4si_uuss (__a, __b, __c);
+ __builtin_aarch64_st2_lanev2di ((__builtin_aarch64_simd_di *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqshrun_high_n_s64 (uint32x2_t __a, int64x2_t __b, const int __c)
+vst2q_lane_u8 (uint8_t *__ptr, uint8x16x2_t __val, const int __lane)
{
- return __builtin_aarch64_sqshrun2_nv2di_uuss (__a, __b, __c);
+ __builtin_aarch64_st2_lanev16qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
+vst2q_lane_u16 (uint16_t *__ptr, uint16x8x2_t __val, const int __lane)
{
- return __builtin_aarch64_rshrn2_nv8hi (__a, __b, __c);
+ __builtin_aarch64_st2_lanev8hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
+vst2q_lane_u32 (uint32_t *__ptr, uint32x4x2_t __val, const int __lane)
{
- return __builtin_aarch64_rshrn2_nv4si (__a, __b, __c);
+ __builtin_aarch64_st2_lanev4si_sus ((__builtin_aarch64_simd_si *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
+vst2q_lane_u64 (uint64_t *__ptr, uint64x2x2_t __val, const int __lane)
{
- return __builtin_aarch64_rshrn2_nv2di (__a, __b, __c);
+ __builtin_aarch64_st2_lanev2di_sus ((__builtin_aarch64_simd_di *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
+vst3_lane_f16 (float16_t *__ptr, float16x4x3_t __val, const int __lane)
{
- return __builtin_aarch64_rshrn2_nv8hi_uuus (__a, __b, __c);
+ __builtin_aarch64_st3_lanev4hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
+vst3_lane_f32 (float32_t *__ptr, float32x2x3_t __val, const int __lane)
{
- return __builtin_aarch64_rshrn2_nv4si_uuus (__a, __b, __c);
+ __builtin_aarch64_st3_lanev2sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
+vst3_lane_f64 (float64_t *__ptr, float64x1x3_t __val, const int __lane)
{
- return __builtin_aarch64_rshrn2_nv2di_uuus (__a, __b, __c);
+ __builtin_aarch64_st3_lanedf ((__builtin_aarch64_simd_df *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline int8x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrshrn_n_s16 (int16x8_t __a, const int __b)
+vst3_lane_p8 (poly8_t *__ptr, poly8x8x3_t __val, const int __lane)
{
- return __builtin_aarch64_rshrn_nv8hi (__a, __b);
+ __builtin_aarch64_st3_lanev8qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrshrn_n_s32 (int32x4_t __a, const int __b)
+vst3_lane_p16 (poly16_t *__ptr, poly16x4x3_t __val, const int __lane)
{
- return __builtin_aarch64_rshrn_nv4si (__a, __b);
+ __builtin_aarch64_st3_lanev4hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrshrn_n_s64 (int64x2_t __a, const int __b)
+vst3_lane_p64 (poly64_t *__ptr, poly64x1x3_t __val, const int __lane)
{
- return __builtin_aarch64_rshrn_nv2di (__a, __b);
+ __builtin_aarch64_st3_lanedi_sps ((__builtin_aarch64_simd_di *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrshrn_n_u16 (uint16x8_t __a, const int __b)
+vst3_lane_s8 (int8_t *__ptr, int8x8x3_t __val, const int __lane)
{
- return __builtin_aarch64_rshrn_nv8hi_uus (__a, __b);
-}
-
-__extension__ extern __inline uint16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrshrn_n_u32 (uint32x4_t __a, const int __b)
-{
- return __builtin_aarch64_rshrn_nv4si_uus (__a, __b);
-}
-
-__extension__ extern __inline uint32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrshrn_n_u64 (uint64x2_t __a, const int __b)
-{
- return __builtin_aarch64_rshrn_nv2di_uus (__a, __b);
-}
-
-__extension__ extern __inline uint32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrsqrte_u32 (uint32x2_t __a)
-{
- return __builtin_aarch64_ursqrtev2si_uu (__a);
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vrsqrteq_u32 (uint32x4_t __a)
-{
- return __builtin_aarch64_ursqrtev4si_uu (__a);
-}
-
-__extension__ extern __inline int8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
-{
- return __builtin_aarch64_ushrn2_nv8hi (__a, __b, __c);
+ __builtin_aarch64_st3_lanev8qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
+vst3_lane_s16 (int16_t *__ptr, int16x4x3_t __val, const int __lane)
{
- return __builtin_aarch64_ushrn2_nv4si (__a, __b, __c);
+ __builtin_aarch64_st3_lanev4hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
+vst3_lane_s32 (int32_t *__ptr, int32x2x3_t __val, const int __lane)
{
- return __builtin_aarch64_ushrn2_nv2di (__a, __b, __c);
+ __builtin_aarch64_st3_lanev2si ((__builtin_aarch64_simd_si *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
+vst3_lane_s64 (int64_t *__ptr, int64x1x3_t __val, const int __lane)
{
- return __builtin_aarch64_ushrn2_nv8hi_uuus (__a, __b, __c);
+ __builtin_aarch64_st3_lanedi ((__builtin_aarch64_simd_di *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
+vst3_lane_u8 (uint8_t *__ptr, uint8x8x3_t __val, const int __lane)
{
- return __builtin_aarch64_ushrn2_nv4si_uuus (__a, __b, __c);
+ __builtin_aarch64_st3_lanev8qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
+vst3_lane_u16 (uint16_t *__ptr, uint16x4x3_t __val, const int __lane)
{
- return __builtin_aarch64_ushrn2_nv2di_uuus (__a, __b, __c);
+ __builtin_aarch64_st3_lanev4hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline poly8x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsli_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
+vst3_lane_u32 (uint32_t *__ptr, uint32x2x3_t __val, const int __lane)
{
- return __builtin_aarch64_ssli_nv8qi_ppps (__a, __b, __c);
+ __builtin_aarch64_st3_lanev2si_sus ((__builtin_aarch64_simd_si *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline poly16x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsli_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
+vst3_lane_u64 (uint64_t *__ptr, uint64x1x3_t __val, const int __lane)
{
- return __builtin_aarch64_ssli_nv4hi_ppps (__a, __b, __c);
+ __builtin_aarch64_st3_lanedi_sus ((__builtin_aarch64_simd_di *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline poly8x16_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsliq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
+vst3q_lane_f16 (float16_t *__ptr, float16x8x3_t __val, const int __lane)
{
- return __builtin_aarch64_ssli_nv16qi_ppps (__a, __b, __c);
+ __builtin_aarch64_st3_lanev8hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline poly16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsliq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
+vst3q_lane_f32 (float32_t *__ptr, float32x4x3_t __val, const int __lane)
{
- return __builtin_aarch64_ssli_nv8hi_ppps (__a, __b, __c);
+ __builtin_aarch64_st3_lanev4sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline poly8x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsri_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
+vst3q_lane_f64 (float64_t *__ptr, float64x2x3_t __val, const int __lane)
{
- return __builtin_aarch64_ssri_nv8qi_ppps (__a, __b, __c);
+ __builtin_aarch64_st3_lanev2df ((__builtin_aarch64_simd_df *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline poly16x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsri_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
+vst3q_lane_p8 (poly8_t *__ptr, poly8x16x3_t __val, const int __lane)
{
- return __builtin_aarch64_ssri_nv4hi_ppps (__a, __b, __c);
+ __builtin_aarch64_st3_lanev16qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline poly64x1_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsri_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
+vst3q_lane_p16 (poly16_t *__ptr, poly16x8x3_t __val, const int __lane)
{
- return (poly64x1_t) __builtin_aarch64_ssri_ndi_ppps (__a[0], __b[0], __c);
+ __builtin_aarch64_st3_lanev8hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline poly8x16_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsriq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
+vst3q_lane_p64 (poly64_t *__ptr, poly64x2x3_t __val, const int __lane)
{
- return __builtin_aarch64_ssri_nv16qi_ppps (__a, __b, __c);
+ __builtin_aarch64_st3_lanev2di_sps ((__builtin_aarch64_simd_di *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline poly16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsriq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
+vst3q_lane_s8 (int8_t *__ptr, int8x16x3_t __val, const int __lane)
{
- return __builtin_aarch64_ssri_nv8hi_ppps (__a, __b, __c);
+ __builtin_aarch64_st3_lanev16qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline poly64x2_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsriq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
+vst3q_lane_s16 (int16_t *__ptr, int16x8x3_t __val, const int __lane)
{
- return __builtin_aarch64_ssri_nv2di_ppps (__a, __b, __c);
+ __builtin_aarch64_st3_lanev8hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtst_p8 (poly8x8_t __a, poly8x8_t __b)
+vst3q_lane_s32 (int32_t *__ptr, int32x4x3_t __val, const int __lane)
{
- return (uint8x8_t) ((((uint8x8_t) __a) & ((uint8x8_t) __b))
- != 0);
+ __builtin_aarch64_st3_lanev4si ((__builtin_aarch64_simd_si *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtst_p16 (poly16x4_t __a, poly16x4_t __b)
+vst3q_lane_s64 (int64_t *__ptr, int64x2x3_t __val, const int __lane)
{
- return (uint16x4_t) ((((uint16x4_t) __a) & ((uint16x4_t) __b))
- != 0);
+ __builtin_aarch64_st3_lanev2di ((__builtin_aarch64_simd_di *) __ptr, __val,
+ __lane);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtst_p64 (poly64x1_t __a, poly64x1_t __b)
+vst3q_lane_u8 (uint8_t *__ptr, uint8x16x3_t __val, const int __lane)
{
- return (uint64x1_t) ((__a & __b) != __AARCH64_INT64_C (0));
+ __builtin_aarch64_st3_lanev16qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtstq_p8 (poly8x16_t __a, poly8x16_t __b)
+vst3q_lane_u16 (uint16_t *__ptr, uint16x8x3_t __val, const int __lane)
{
- return (uint8x16_t) ((((uint8x16_t) __a) & ((uint8x16_t) __b))
- != 0);
+ __builtin_aarch64_st3_lanev8hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtstq_p16 (poly16x8_t __a, poly16x8_t __b)
+vst3q_lane_u32 (uint32_t *__ptr, uint32x4x3_t __val, const int __lane)
{
- return (uint16x8_t) ((((uint16x8_t) __a) & ((uint16x8_t) __b))
- != 0);
+ __builtin_aarch64_st3_lanev4si_sus ((__builtin_aarch64_simd_si *) __ptr,
+ __val, __lane);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtstq_p64 (poly64x2_t __a, poly64x2_t __b)
+vst3q_lane_u64 (uint64_t *__ptr, uint64x2x3_t __val, const int __lane)
{
- return (uint64x2_t) ((((uint64x2_t) __a) & ((uint64x2_t) __b))
- != __AARCH64_INT64_C (0));
+ __builtin_aarch64_st3_lanev2di_sus ((__builtin_aarch64_simd_di *) __ptr,
+ __val, __lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_f16 (float16_t *__ptr, float16x4x2_t __val, const int __lane)
+vst4_lane_f16 (float16_t *__ptr, float16x4x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev4hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
+ __builtin_aarch64_st4_lanev4hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_f32 (float32_t *__ptr, float32x2x2_t __val, const int __lane)
+vst4_lane_f32 (float32_t *__ptr, float32x2x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev2sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
+ __builtin_aarch64_st4_lanev2sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_f64 (float64_t *__ptr, float64x1x2_t __val, const int __lane)
+vst4_lane_f64 (float64_t *__ptr, float64x1x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanedf ((__builtin_aarch64_simd_df *) __ptr, __val,
+ __builtin_aarch64_st4_lanedf ((__builtin_aarch64_simd_df *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_p8 (poly8_t *__ptr, poly8x8x2_t __val, const int __lane)
+vst4_lane_p8 (poly8_t *__ptr, poly8x8x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev8qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
+ __builtin_aarch64_st4_lanev8qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
__val, __lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_p16 (poly16_t *__ptr, poly16x4x2_t __val, const int __lane)
+vst4_lane_p16 (poly16_t *__ptr, poly16x4x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev4hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
+ __builtin_aarch64_st4_lanev4hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
__val, __lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_p64 (poly64_t *__ptr, poly64x1x2_t __val, const int __lane)
+vst4_lane_p64 (poly64_t *__ptr, poly64x1x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanedi_sps ((__builtin_aarch64_simd_di *) __ptr,
- __val, __lane);
+ __builtin_aarch64_st4_lanedi_sps ((__builtin_aarch64_simd_di *) __ptr, __val,
+ __lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_s8 (int8_t *__ptr, int8x8x2_t __val, const int __lane)
+vst4_lane_s8 (int8_t *__ptr, int8x8x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev8qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
+ __builtin_aarch64_st4_lanev8qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_s16 (int16_t *__ptr, int16x4x2_t __val, const int __lane)
+vst4_lane_s16 (int16_t *__ptr, int16x4x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev4hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
+ __builtin_aarch64_st4_lanev4hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_s32 (int32_t *__ptr, int32x2x2_t __val, const int __lane)
+vst4_lane_s32 (int32_t *__ptr, int32x2x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev2si ((__builtin_aarch64_simd_si *) __ptr, __val,
+ __builtin_aarch64_st4_lanev2si ((__builtin_aarch64_simd_si *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_s64 (int64_t *__ptr, int64x1x2_t __val, const int __lane)
+vst4_lane_s64 (int64_t *__ptr, int64x1x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanedi ((__builtin_aarch64_simd_di *) __ptr, __val,
+ __builtin_aarch64_st4_lanedi ((__builtin_aarch64_simd_di *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_u8 (uint8_t *__ptr, uint8x8x2_t __val, const int __lane)
+vst4_lane_u8 (uint8_t *__ptr, uint8x8x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev8qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
+ __builtin_aarch64_st4_lanev8qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
__val, __lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_u16 (uint16_t *__ptr, uint16x4x2_t __val, const int __lane)
+vst4_lane_u16 (uint16_t *__ptr, uint16x4x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev4hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
+ __builtin_aarch64_st4_lanev4hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
__val, __lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_u32 (uint32_t *__ptr, uint32x2x2_t __val, const int __lane)
+vst4_lane_u32 (uint32_t *__ptr, uint32x2x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev2si_sus ((__builtin_aarch64_simd_si *) __ptr,
+ __builtin_aarch64_st4_lanev2si_sus ((__builtin_aarch64_simd_si *) __ptr,
__val, __lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2_lane_u64 (uint64_t *__ptr, uint64x1x2_t __val, const int __lane)
+vst4_lane_u64 (uint64_t *__ptr, uint64x1x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanedi_sus ((__builtin_aarch64_simd_di *) __ptr, __val,
+ __builtin_aarch64_st4_lanedi_sus ((__builtin_aarch64_simd_di *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_f16 (float16_t *__ptr, float16x8x2_t __val, const int __lane)
+vst4q_lane_f16 (float16_t *__ptr, float16x8x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev8hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
+ __builtin_aarch64_st4_lanev8hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_f32 (float32_t *__ptr, float32x4x2_t __val, const int __lane)
+vst4q_lane_f32 (float32_t *__ptr, float32x4x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev4sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
+ __builtin_aarch64_st4_lanev4sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_f64 (float64_t *__ptr, float64x2x2_t __val, const int __lane)
+vst4q_lane_f64 (float64_t *__ptr, float64x2x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev2df ((__builtin_aarch64_simd_df *) __ptr, __val,
+ __builtin_aarch64_st4_lanev2df ((__builtin_aarch64_simd_df *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_p8 (poly8_t *__ptr, poly8x16x2_t __val, const int __lane)
+vst4q_lane_p8 (poly8_t *__ptr, poly8x16x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev16qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
+ __builtin_aarch64_st4_lanev16qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
__val, __lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_p16 (poly16_t *__ptr, poly16x8x2_t __val, const int __lane)
+vst4q_lane_p16 (poly16_t *__ptr, poly16x8x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev8hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
+ __builtin_aarch64_st4_lanev8hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
__val, __lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_p64 (poly64_t *__ptr, poly64x2x2_t __val, const int __lane)
+vst4q_lane_p64 (poly64_t *__ptr, poly64x2x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev2di_sps ((__builtin_aarch64_simd_di *) __ptr,
+ __builtin_aarch64_st4_lanev2di_sps ((__builtin_aarch64_simd_di *) __ptr,
__val, __lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_s8 (int8_t *__ptr, int8x16x2_t __val, const int __lane)
+vst4q_lane_s8 (int8_t *__ptr, int8x16x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev16qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
+ __builtin_aarch64_st4_lanev16qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_s16 (int16_t *__ptr, int16x8x2_t __val, const int __lane)
+vst4q_lane_s16 (int16_t *__ptr, int16x8x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev8hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
+ __builtin_aarch64_st4_lanev8hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_s32 (int32_t *__ptr, int32x4x2_t __val, const int __lane)
+vst4q_lane_s32 (int32_t *__ptr, int32x4x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev4si ((__builtin_aarch64_simd_si *) __ptr, __val,
+ __builtin_aarch64_st4_lanev4si ((__builtin_aarch64_simd_si *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_s64 (int64_t *__ptr, int64x2x2_t __val, const int __lane)
+vst4q_lane_s64 (int64_t *__ptr, int64x2x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev2di ((__builtin_aarch64_simd_di *) __ptr, __val,
+ __builtin_aarch64_st4_lanev2di ((__builtin_aarch64_simd_di *) __ptr, __val,
__lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_u8 (uint8_t *__ptr, uint8x16x2_t __val, const int __lane)
+vst4q_lane_u8 (uint8_t *__ptr, uint8x16x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev16qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
+ __builtin_aarch64_st4_lanev16qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
__val, __lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_u16 (uint16_t *__ptr, uint16x8x2_t __val, const int __lane)
+vst4q_lane_u16 (uint16_t *__ptr, uint16x8x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev8hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
+ __builtin_aarch64_st4_lanev8hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
__val, __lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_u32 (uint32_t *__ptr, uint32x4x2_t __val, const int __lane)
+vst4q_lane_u32 (uint32_t *__ptr, uint32x4x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev4si_sus ((__builtin_aarch64_simd_si *) __ptr,
+ __builtin_aarch64_st4_lanev4si_sus ((__builtin_aarch64_simd_si *) __ptr,
__val, __lane);
}
__extension__ extern __inline void
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst2q_lane_u64 (uint64_t *__ptr, uint64x2x2_t __val, const int __lane)
+vst4q_lane_u64 (uint64_t *__ptr, uint64x2x4_t __val, const int __lane)
{
- __builtin_aarch64_st2_lanev2di_sus ((__builtin_aarch64_simd_di *) __ptr,
+ __builtin_aarch64_st4_lanev2di_sus ((__builtin_aarch64_simd_di *) __ptr,
__val, __lane);
}
-__extension__ extern __inline void
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_f16 (float16_t *__ptr, float16x4x3_t __val, const int __lane)
+vaddlv_s32 (int32x2_t __a)
{
- __builtin_aarch64_st3_lanev4hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_saddlvv2si (__a);
}
-__extension__ extern __inline void
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_f32 (float32_t *__ptr, float32x2x3_t __val, const int __lane)
+vaddlv_u32 (uint32x2_t __a)
{
- __builtin_aarch64_st3_lanev2sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_uaddlvv2si_uu (__a);
}
-__extension__ extern __inline void
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_f64 (float64_t *__ptr, float64x1x3_t __val, const int __lane)
+vqdmulh_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
{
- __builtin_aarch64_st3_lanedf ((__builtin_aarch64_simd_df *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_sqdmulh_laneqv4hi (__a, __b, __c);
}
-__extension__ extern __inline void
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_p8 (poly8_t *__ptr, poly8x8x3_t __val, const int __lane)
+vqdmulh_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
{
- __builtin_aarch64_st3_lanev8qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
- __val, __lane);
+ return __builtin_aarch64_sqdmulh_laneqv2si (__a, __b, __c);
}
-__extension__ extern __inline void
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_p16 (poly16_t *__ptr, poly16x4x3_t __val, const int __lane)
+vqdmulhq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
{
- __builtin_aarch64_st3_lanev4hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
- __val, __lane);
+ return __builtin_aarch64_sqdmulh_laneqv8hi (__a, __b, __c);
}
-__extension__ extern __inline void
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_p64 (poly64_t *__ptr, poly64x1x3_t __val, const int __lane)
+vqdmulhq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
{
- __builtin_aarch64_st3_lanedi_sps ((__builtin_aarch64_simd_di *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_sqdmulh_laneqv4si (__a, __b, __c);
}
-__extension__ extern __inline void
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_s8 (int8_t *__ptr, int8x8x3_t __val, const int __lane)
+vqrdmulh_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
{
- __builtin_aarch64_st3_lanev8qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_sqrdmulh_laneqv4hi (__a, __b, __c);
}
-__extension__ extern __inline void
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_s16 (int16_t *__ptr, int16x4x3_t __val, const int __lane)
+vqrdmulh_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
{
- __builtin_aarch64_st3_lanev4hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_sqrdmulh_laneqv2si (__a, __b, __c);
}
-__extension__ extern __inline void
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_s32 (int32_t *__ptr, int32x2x3_t __val, const int __lane)
+vqrdmulhq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
{
- __builtin_aarch64_st3_lanev2si ((__builtin_aarch64_simd_si *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_sqrdmulh_laneqv8hi (__a, __b, __c);
}
-__extension__ extern __inline void
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_s64 (int64_t *__ptr, int64x1x3_t __val, const int __lane)
+vqrdmulhq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
{
- __builtin_aarch64_st3_lanedi ((__builtin_aarch64_simd_di *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_sqrdmulh_laneqv4si (__a, __b, __c);
}
-__extension__ extern __inline void
+/* Table intrinsics. */
+
+__extension__ extern __inline poly8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_u8 (uint8_t *__ptr, uint8x8x3_t __val, const int __lane)
+vqtbl1_p8 (poly8x16_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st3_lanev8qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
- __val, __lane);
+ return __builtin_aarch64_qtbl1v8qi_ppu (__tab, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_u16 (uint16_t *__ptr, uint16x4x3_t __val, const int __lane)
+vqtbl1_s8 (int8x16_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st3_lanev4hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
- __val, __lane);
+ return __builtin_aarch64_qtbl1v8qi_ssu (__tab, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_u32 (uint32_t *__ptr, uint32x2x3_t __val, const int __lane)
+vqtbl1_u8 (uint8x16_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st3_lanev2si_sus ((__builtin_aarch64_simd_si *) __ptr,
- __val, __lane);
+ return __builtin_aarch64_qtbl1v8qi_uuu (__tab, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline poly8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3_lane_u64 (uint64_t *__ptr, uint64x1x3_t __val, const int __lane)
+vqtbl1q_p8 (poly8x16_t __tab, uint8x16_t __idx)
{
- __builtin_aarch64_st3_lanedi_sus ((__builtin_aarch64_simd_di *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_qtbl1v16qi_ppu (__tab, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_f16 (float16_t *__ptr, float16x8x3_t __val, const int __lane)
+vqtbl1q_s8 (int8x16_t __tab, uint8x16_t __idx)
{
- __builtin_aarch64_st3_lanev8hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_qtbl1v16qi_ssu (__tab, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_f32 (float32_t *__ptr, float32x4x3_t __val, const int __lane)
+vqtbl1q_u8 (uint8x16_t __tab, uint8x16_t __idx)
{
- __builtin_aarch64_st3_lanev4sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_qtbl1v16qi_uuu (__tab, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_f64 (float64_t *__ptr, float64x2x3_t __val, const int __lane)
+vqtbx1_s8 (int8x8_t __r, int8x16_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st3_lanev2df ((__builtin_aarch64_simd_df *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_qtbx1v8qi_sssu (__r, __tab, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_p8 (poly8_t *__ptr, poly8x16x3_t __val, const int __lane)
+vqtbx1_u8 (uint8x8_t __r, uint8x16_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st3_lanev16qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
- __val, __lane);
+ return __builtin_aarch64_qtbx1v8qi_uuuu (__r, __tab, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline poly8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_p16 (poly16_t *__ptr, poly16x8x3_t __val, const int __lane)
+vqtbx1_p8 (poly8x8_t __r, poly8x16_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st3_lanev8hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
- __val, __lane);
+ return __builtin_aarch64_qtbx1v8qi_pppu (__r, __tab, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_p64 (poly64_t *__ptr, poly64x2x3_t __val, const int __lane)
+vqtbx1q_s8 (int8x16_t __r, int8x16_t __tab, uint8x16_t __idx)
{
- __builtin_aarch64_st3_lanev2di_sps ((__builtin_aarch64_simd_di *) __ptr,
- __val, __lane);
+ return __builtin_aarch64_qtbx1v16qi_sssu (__r, __tab, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_s8 (int8_t *__ptr, int8x16x3_t __val, const int __lane)
+vqtbx1q_u8 (uint8x16_t __r, uint8x16_t __tab, uint8x16_t __idx)
{
- __builtin_aarch64_st3_lanev16qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_qtbx1v16qi_uuuu (__r, __tab, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline poly8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_s16 (int16_t *__ptr, int16x8x3_t __val, const int __lane)
+vqtbx1q_p8 (poly8x16_t __r, poly8x16_t __tab, uint8x16_t __idx)
{
- __builtin_aarch64_st3_lanev8hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_qtbx1v16qi_pppu (__r, __tab, __idx);
}
-__extension__ extern __inline void
+/* V7 legacy table intrinsics. */
+
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_s32 (int32_t *__ptr, int32x4x3_t __val, const int __lane)
+vtbl1_s8 (int8x8_t __tab, int8x8_t __idx)
{
- __builtin_aarch64_st3_lanev4si ((__builtin_aarch64_simd_si *) __ptr, __val,
- __lane);
+ int8x16_t __temp = vcombine_s8 (__tab,
+ vcreate_s8 (__AARCH64_UINT64_C (0x0)));
+ return __builtin_aarch64_qtbl1v8qi (__temp, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_s64 (int64_t *__ptr, int64x2x3_t __val, const int __lane)
+vtbl1_u8 (uint8x8_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st3_lanev2di ((__builtin_aarch64_simd_di *) __ptr, __val,
- __lane);
+ uint8x16_t __temp = vcombine_u8 (__tab,
+ vcreate_u8 (__AARCH64_UINT64_C (0x0)));
+ return __builtin_aarch64_qtbl1v8qi_uuu (__temp, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline poly8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_u8 (uint8_t *__ptr, uint8x16x3_t __val, const int __lane)
+vtbl1_p8 (poly8x8_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st3_lanev16qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
- __val, __lane);
+ poly8x16_t __temp = vcombine_p8 (__tab,
+ vcreate_p8 (__AARCH64_UINT64_C (0x0)));
+ return __builtin_aarch64_qtbl1v8qi_ppu (__temp, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_u16 (uint16_t *__ptr, uint16x8x3_t __val, const int __lane)
+vtbl2_s8 (int8x8x2_t __tab, int8x8_t __idx)
{
- __builtin_aarch64_st3_lanev8hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
- __val, __lane);
+ int8x16_t __temp = vcombine_s8 (__tab.val[0], __tab.val[1]);
+ return __builtin_aarch64_qtbl1v8qi (__temp, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_u32 (uint32_t *__ptr, uint32x4x3_t __val, const int __lane)
+vtbl2_u8 (uint8x8x2_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st3_lanev4si_sus ((__builtin_aarch64_simd_si *) __ptr,
- __val, __lane);
+ uint8x16_t __temp = vcombine_u8 (__tab.val[0], __tab.val[1]);
+ return __builtin_aarch64_qtbl1v8qi_uuu (__temp, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline poly8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst3q_lane_u64 (uint64_t *__ptr, uint64x2x3_t __val, const int __lane)
+vtbl2_p8 (poly8x8x2_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st3_lanev2di_sus ((__builtin_aarch64_simd_di *) __ptr,
- __val, __lane);
+ poly8x16_t __temp = vcombine_p8 (__tab.val[0], __tab.val[1]);
+ return __builtin_aarch64_qtbl1v8qi_ppu (__temp, __idx);
}
-__extension__ extern __inline void
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_f16 (float16_t *__ptr, float16x4x4_t __val, const int __lane)
-{
- __builtin_aarch64_st4_lanev4hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
- __lane);
-}
-
-__extension__ extern __inline void
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_f32 (float32_t *__ptr, float32x2x4_t __val, const int __lane)
-{
- __builtin_aarch64_st4_lanev2sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
- __lane);
-}
-
-__extension__ extern __inline void
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_f64 (float64_t *__ptr, float64x1x4_t __val, const int __lane)
-{
- __builtin_aarch64_st4_lanedf ((__builtin_aarch64_simd_df *) __ptr, __val,
- __lane);
-}
-
-__extension__ extern __inline void
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_p8 (poly8_t *__ptr, poly8x8x4_t __val, const int __lane)
-{
- __builtin_aarch64_st4_lanev8qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
- __val, __lane);
-}
-
-__extension__ extern __inline void
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_p16 (poly16_t *__ptr, poly16x4x4_t __val, const int __lane)
-{
- __builtin_aarch64_st4_lanev4hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
- __val, __lane);
-}
-
-__extension__ extern __inline void
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_p64 (poly64_t *__ptr, poly64x1x4_t __val, const int __lane)
-{
- __builtin_aarch64_st4_lanedi_sps ((__builtin_aarch64_simd_di *) __ptr, __val,
- __lane);
-}
-
-__extension__ extern __inline void
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_s8 (int8_t *__ptr, int8x8x4_t __val, const int __lane)
-{
- __builtin_aarch64_st4_lanev8qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
- __lane);
-}
-
-__extension__ extern __inline void
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_s16 (int16_t *__ptr, int16x4x4_t __val, const int __lane)
-{
- __builtin_aarch64_st4_lanev4hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
- __lane);
-}
-
-__extension__ extern __inline void
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_s32 (int32_t *__ptr, int32x2x4_t __val, const int __lane)
+vtbl3_s8 (int8x8x3_t __tab, int8x8_t __idx)
{
- __builtin_aarch64_st4_lanev2si ((__builtin_aarch64_simd_si *) __ptr, __val,
- __lane);
+ int8x16x2_t __temp;
+ __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
+ __temp.val[1] = vcombine_s8 (__tab.val[2],
+ vcreate_s8 (__AARCH64_UINT64_C (0x0)));
+ return __builtin_aarch64_qtbl2v8qi (__temp, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_s64 (int64_t *__ptr, int64x1x4_t __val, const int __lane)
+vtbl3_u8 (uint8x8x3_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st4_lanedi ((__builtin_aarch64_simd_di *) __ptr, __val,
- __lane);
+ uint8x16x2_t __temp;
+ __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
+ __temp.val[1] = vcombine_u8 (__tab.val[2],
+ vcreate_u8 (__AARCH64_UINT64_C (0x0)));
+ return __builtin_aarch64_qtbl2v8qi_uuu (__temp, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline poly8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_u8 (uint8_t *__ptr, uint8x8x4_t __val, const int __lane)
+vtbl3_p8 (poly8x8x3_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st4_lanev8qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
- __val, __lane);
+ poly8x16x2_t __temp;
+ __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
+ __temp.val[1] = vcombine_p8 (__tab.val[2],
+ vcreate_p8 (__AARCH64_UINT64_C (0x0)));
+ return __builtin_aarch64_qtbl2v8qi_ppu (__temp, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_u16 (uint16_t *__ptr, uint16x4x4_t __val, const int __lane)
+vtbl4_s8 (int8x8x4_t __tab, int8x8_t __idx)
{
- __builtin_aarch64_st4_lanev4hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
- __val, __lane);
+ int8x16x2_t __temp;
+ __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
+ __temp.val[1] = vcombine_s8 (__tab.val[2], __tab.val[3]);
+ return __builtin_aarch64_qtbl2v8qi (__temp, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_u32 (uint32_t *__ptr, uint32x2x4_t __val, const int __lane)
+vtbl4_u8 (uint8x8x4_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st4_lanev2si_sus ((__builtin_aarch64_simd_si *) __ptr,
- __val, __lane);
+ uint8x16x2_t __temp;
+ __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
+ __temp.val[1] = vcombine_u8 (__tab.val[2], __tab.val[3]);
+ return __builtin_aarch64_qtbl2v8qi_uuu (__temp, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline poly8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4_lane_u64 (uint64_t *__ptr, uint64x1x4_t __val, const int __lane)
+vtbl4_p8 (poly8x8x4_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st4_lanedi_sus ((__builtin_aarch64_simd_di *) __ptr, __val,
- __lane);
+ poly8x16x2_t __temp;
+ __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
+ __temp.val[1] = vcombine_p8 (__tab.val[2], __tab.val[3]);
+ return __builtin_aarch64_qtbl2v8qi_ppu (__temp, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_f16 (float16_t *__ptr, float16x8x4_t __val, const int __lane)
+vtbx2_s8 (int8x8_t __r, int8x8x2_t __tab, int8x8_t __idx)
{
- __builtin_aarch64_st4_lanev8hf ((__builtin_aarch64_simd_hf *) __ptr, __val,
- __lane);
+ int8x16_t __temp = vcombine_s8 (__tab.val[0], __tab.val[1]);
+ return __builtin_aarch64_qtbx1v8qi (__r, __temp, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_f32 (float32_t *__ptr, float32x4x4_t __val, const int __lane)
+vtbx2_u8 (uint8x8_t __r, uint8x8x2_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st4_lanev4sf ((__builtin_aarch64_simd_sf *) __ptr, __val,
- __lane);
+ uint8x16_t __temp = vcombine_u8 (__tab.val[0], __tab.val[1]);
+ return __builtin_aarch64_qtbx1v8qi_uuuu (__r, __temp, __idx);
}
-__extension__ extern __inline void
+__extension__ extern __inline poly8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_f64 (float64_t *__ptr, float64x2x4_t __val, const int __lane)
+vtbx2_p8 (poly8x8_t __r, poly8x8x2_t __tab, uint8x8_t __idx)
{
- __builtin_aarch64_st4_lanev2df ((__builtin_aarch64_simd_df *) __ptr, __val,
- __lane);
+ poly8x16_t __temp = vcombine_p8 (__tab.val[0], __tab.val[1]);
+ return __builtin_aarch64_qtbx1v8qi_pppu (__r, __temp, __idx);
}
-__extension__ extern __inline void
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_p8 (poly8_t *__ptr, poly8x16x4_t __val, const int __lane)
-{
- __builtin_aarch64_st4_lanev16qi_sps ((__builtin_aarch64_simd_qi *) __ptr,
- __val, __lane);
-}
+/* End of temporary inline asm. */
-__extension__ extern __inline void
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_p16 (poly16_t *__ptr, poly16x8x4_t __val, const int __lane)
-{
- __builtin_aarch64_st4_lanev8hi_sps ((__builtin_aarch64_simd_hi *) __ptr,
- __val, __lane);
-}
+/* Start of optimal implementations in approved order. */
-__extension__ extern __inline void
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_p64 (poly64_t *__ptr, poly64x2x4_t __val, const int __lane)
-{
- __builtin_aarch64_st4_lanev2di_sps ((__builtin_aarch64_simd_di *) __ptr,
- __val, __lane);
-}
+/* vabd. */
-__extension__ extern __inline void
+__extension__ extern __inline float32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_s8 (int8_t *__ptr, int8x16x4_t __val, const int __lane)
+vabds_f32 (float32_t __a, float32_t __b)
{
- __builtin_aarch64_st4_lanev16qi ((__builtin_aarch64_simd_qi *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_fabdsf (__a, __b);
}
-__extension__ extern __inline void
+__extension__ extern __inline float64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_s16 (int16_t *__ptr, int16x8x4_t __val, const int __lane)
+vabdd_f64 (float64_t __a, float64_t __b)
{
- __builtin_aarch64_st4_lanev8hi ((__builtin_aarch64_simd_hi *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_fabddf (__a, __b);
}
-__extension__ extern __inline void
+__extension__ extern __inline float32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_s32 (int32_t *__ptr, int32x4x4_t __val, const int __lane)
+vabd_f32 (float32x2_t __a, float32x2_t __b)
{
- __builtin_aarch64_st4_lanev4si ((__builtin_aarch64_simd_si *) __ptr, __val,
- __lane);
+ return __builtin_aarch64_fabdv2sf (__a, __b);
}
-__extension__ extern __inline void
+__extension__ extern __inline float64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_s64 (int64_t *__ptr, int64x2x4_t __val, const int __lane)
+vabd_f64 (float64x1_t __a, float64x1_t __b)
{
- __builtin_aarch64_st4_lanev2di ((__builtin_aarch64_simd_di *) __ptr, __val,
- __lane);
+ return (float64x1_t) {vabdd_f64 (vget_lane_f64 (__a, 0),
+ vget_lane_f64 (__b, 0))};
}
-__extension__ extern __inline void
+__extension__ extern __inline float32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_u8 (uint8_t *__ptr, uint8x16x4_t __val, const int __lane)
+vabdq_f32 (float32x4_t __a, float32x4_t __b)
{
- __builtin_aarch64_st4_lanev16qi_sus ((__builtin_aarch64_simd_qi *) __ptr,
- __val, __lane);
+ return __builtin_aarch64_fabdv4sf (__a, __b);
}
-__extension__ extern __inline void
+__extension__ extern __inline float64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_u16 (uint16_t *__ptr, uint16x8x4_t __val, const int __lane)
+vabdq_f64 (float64x2_t __a, float64x2_t __b)
{
- __builtin_aarch64_st4_lanev8hi_sus ((__builtin_aarch64_simd_hi *) __ptr,
- __val, __lane);
+ return __builtin_aarch64_fabdv2df (__a, __b);
}
-__extension__ extern __inline void
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_u32 (uint32_t *__ptr, uint32x4x4_t __val, const int __lane)
-{
- __builtin_aarch64_st4_lanev4si_sus ((__builtin_aarch64_simd_si *) __ptr,
- __val, __lane);
-}
+/* vabs */
-__extension__ extern __inline void
+__extension__ extern __inline float32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vst4q_lane_u64 (uint64_t *__ptr, uint64x2x4_t __val, const int __lane)
+vabs_f32 (float32x2_t __a)
{
- __builtin_aarch64_st4_lanev2di_sus ((__builtin_aarch64_simd_di *) __ptr,
- __val, __lane);
+ return __builtin_aarch64_absv2sf (__a);
}
-__extension__ extern __inline int64_t
+__extension__ extern __inline float64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddlv_s32 (int32x2_t __a)
+vabs_f64 (float64x1_t __a)
{
- return __builtin_aarch64_saddlvv2si (__a);
+ return (float64x1_t) {__builtin_fabs (__a[0])};
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddlv_u32 (uint32x2_t __a)
+vabs_s8 (int8x8_t __a)
{
- return __builtin_aarch64_uaddlvv2si_uu (__a);
+ return __builtin_aarch64_absv8qi (__a);
}
__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqdmulh_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
-{
- return __builtin_aarch64_sqdmulh_laneqv4hi (__a, __b, __c);
-}
-
-__extension__ extern __inline int32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqdmulh_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
+vabs_s16 (int16x4_t __a)
{
- return __builtin_aarch64_sqdmulh_laneqv2si (__a, __b, __c);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqdmulhq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
-{
- return __builtin_aarch64_sqdmulh_laneqv8hi (__a, __b, __c);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqdmulhq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
-{
- return __builtin_aarch64_sqdmulh_laneqv4si (__a, __b, __c);
-}
-
-__extension__ extern __inline int16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmulh_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
-{
- return __builtin_aarch64_sqrdmulh_laneqv4hi (__a, __b, __c);
-}
-
-__extension__ extern __inline int32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmulh_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
-{
- return __builtin_aarch64_sqrdmulh_laneqv2si (__a, __b, __c);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmulhq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
-{
- return __builtin_aarch64_sqrdmulh_laneqv8hi (__a, __b, __c);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmulhq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
-{
- return __builtin_aarch64_sqrdmulh_laneqv4si (__a, __b, __c);
-}
-
-/* Table intrinsics. */
-
-__extension__ extern __inline poly8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqtbl1_p8 (poly8x16_t __tab, uint8x8_t __idx)
-{
- return __builtin_aarch64_qtbl1v8qi_ppu (__tab, __idx);
-}
-
-__extension__ extern __inline int8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqtbl1_s8 (int8x16_t __tab, uint8x8_t __idx)
-{
- return __builtin_aarch64_qtbl1v8qi_ssu (__tab, __idx);
-}
-
-__extension__ extern __inline uint8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqtbl1_u8 (uint8x16_t __tab, uint8x8_t __idx)
-{
- return __builtin_aarch64_qtbl1v8qi_uuu (__tab, __idx);
-}
-
-__extension__ extern __inline poly8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqtbl1q_p8 (poly8x16_t __tab, uint8x16_t __idx)
-{
- return __builtin_aarch64_qtbl1v16qi_ppu (__tab, __idx);
-}
-
-__extension__ extern __inline int8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqtbl1q_s8 (int8x16_t __tab, uint8x16_t __idx)
-{
- return __builtin_aarch64_qtbl1v16qi_ssu (__tab, __idx);
-}
-
-__extension__ extern __inline uint8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqtbl1q_u8 (uint8x16_t __tab, uint8x16_t __idx)
-{
- return __builtin_aarch64_qtbl1v16qi_uuu (__tab, __idx);
-}
-
-__extension__ extern __inline int8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqtbx1_s8 (int8x8_t __r, int8x16_t __tab, uint8x8_t __idx)
-{
- return __builtin_aarch64_qtbx1v8qi_sssu (__r, __tab, __idx);
-}
-
-__extension__ extern __inline uint8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqtbx1_u8 (uint8x8_t __r, uint8x16_t __tab, uint8x8_t __idx)
-{
- return __builtin_aarch64_qtbx1v8qi_uuuu (__r, __tab, __idx);
-}
-
-__extension__ extern __inline poly8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqtbx1_p8 (poly8x8_t __r, poly8x16_t __tab, uint8x8_t __idx)
-{
- return __builtin_aarch64_qtbx1v8qi_pppu (__r, __tab, __idx);
-}
-
-__extension__ extern __inline int8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqtbx1q_s8 (int8x16_t __r, int8x16_t __tab, uint8x16_t __idx)
-{
- return __builtin_aarch64_qtbx1v16qi_sssu (__r, __tab, __idx);
-}
-
-__extension__ extern __inline uint8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqtbx1q_u8 (uint8x16_t __r, uint8x16_t __tab, uint8x16_t __idx)
-{
- return __builtin_aarch64_qtbx1v16qi_uuuu (__r, __tab, __idx);
-}
-
-__extension__ extern __inline poly8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqtbx1q_p8 (poly8x16_t __r, poly8x16_t __tab, uint8x16_t __idx)
-{
- return __builtin_aarch64_qtbx1v16qi_pppu (__r, __tab, __idx);
-}
-
-/* V7 legacy table intrinsics. */
-
-__extension__ extern __inline int8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbl1_s8 (int8x8_t __tab, int8x8_t __idx)
-{
- int8x16_t __temp = vcombine_s8 (__tab,
- vcreate_s8 (__AARCH64_UINT64_C (0x0)));
- return __builtin_aarch64_qtbl1v8qi (__temp, __idx);
-}
-
-__extension__ extern __inline uint8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbl1_u8 (uint8x8_t __tab, uint8x8_t __idx)
-{
- uint8x16_t __temp = vcombine_u8 (__tab,
- vcreate_u8 (__AARCH64_UINT64_C (0x0)));
- return __builtin_aarch64_qtbl1v8qi_uuu (__temp, __idx);
-}
-
-__extension__ extern __inline poly8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbl1_p8 (poly8x8_t __tab, uint8x8_t __idx)
-{
- poly8x16_t __temp = vcombine_p8 (__tab,
- vcreate_p8 (__AARCH64_UINT64_C (0x0)));
- return __builtin_aarch64_qtbl1v8qi_ppu (__temp, __idx);
-}
-
-__extension__ extern __inline int8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbl2_s8 (int8x8x2_t __tab, int8x8_t __idx)
-{
- int8x16_t __temp = vcombine_s8 (__tab.val[0], __tab.val[1]);
- return __builtin_aarch64_qtbl1v8qi (__temp, __idx);
-}
-
-__extension__ extern __inline uint8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbl2_u8 (uint8x8x2_t __tab, uint8x8_t __idx)
-{
- uint8x16_t __temp = vcombine_u8 (__tab.val[0], __tab.val[1]);
- return __builtin_aarch64_qtbl1v8qi_uuu (__temp, __idx);
-}
-
-__extension__ extern __inline poly8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbl2_p8 (poly8x8x2_t __tab, uint8x8_t __idx)
-{
- poly8x16_t __temp = vcombine_p8 (__tab.val[0], __tab.val[1]);
- return __builtin_aarch64_qtbl1v8qi_ppu (__temp, __idx);
-}
-
-__extension__ extern __inline int8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbl3_s8 (int8x8x3_t __tab, int8x8_t __idx)
-{
- int8x16x2_t __temp;
- __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
- __temp.val[1] = vcombine_s8 (__tab.val[2],
- vcreate_s8 (__AARCH64_UINT64_C (0x0)));
- return __builtin_aarch64_qtbl2v8qi (__temp, __idx);
-}
-
-__extension__ extern __inline uint8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbl3_u8 (uint8x8x3_t __tab, uint8x8_t __idx)
-{
- uint8x16x2_t __temp;
- __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
- __temp.val[1] = vcombine_u8 (__tab.val[2],
- vcreate_u8 (__AARCH64_UINT64_C (0x0)));
- return __builtin_aarch64_qtbl2v8qi_uuu (__temp, __idx);
-}
-
-__extension__ extern __inline poly8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbl3_p8 (poly8x8x3_t __tab, uint8x8_t __idx)
-{
- poly8x16x2_t __temp;
- __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
- __temp.val[1] = vcombine_p8 (__tab.val[2],
- vcreate_p8 (__AARCH64_UINT64_C (0x0)));
- return __builtin_aarch64_qtbl2v8qi_ppu (__temp, __idx);
-}
-
-__extension__ extern __inline int8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbl4_s8 (int8x8x4_t __tab, int8x8_t __idx)
-{
- int8x16x2_t __temp;
- __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
- __temp.val[1] = vcombine_s8 (__tab.val[2], __tab.val[3]);
- return __builtin_aarch64_qtbl2v8qi (__temp, __idx);
-}
-
-__extension__ extern __inline uint8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbl4_u8 (uint8x8x4_t __tab, uint8x8_t __idx)
-{
- uint8x16x2_t __temp;
- __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
- __temp.val[1] = vcombine_u8 (__tab.val[2], __tab.val[3]);
- return __builtin_aarch64_qtbl2v8qi_uuu (__temp, __idx);
-}
-
-__extension__ extern __inline poly8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbl4_p8 (poly8x8x4_t __tab, uint8x8_t __idx)
-{
- poly8x16x2_t __temp;
- __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
- __temp.val[1] = vcombine_p8 (__tab.val[2], __tab.val[3]);
- return __builtin_aarch64_qtbl2v8qi_ppu (__temp, __idx);
-}
-
-__extension__ extern __inline int8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbx2_s8 (int8x8_t __r, int8x8x2_t __tab, int8x8_t __idx)
-{
- int8x16_t __temp = vcombine_s8 (__tab.val[0], __tab.val[1]);
- return __builtin_aarch64_qtbx1v8qi (__r, __temp, __idx);
-}
-
-__extension__ extern __inline uint8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbx2_u8 (uint8x8_t __r, uint8x8x2_t __tab, uint8x8_t __idx)
-{
- uint8x16_t __temp = vcombine_u8 (__tab.val[0], __tab.val[1]);
- return __builtin_aarch64_qtbx1v8qi_uuuu (__r, __temp, __idx);
-}
-
-__extension__ extern __inline poly8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vtbx2_p8 (poly8x8_t __r, poly8x8x2_t __tab, uint8x8_t __idx)
-{
- poly8x16_t __temp = vcombine_p8 (__tab.val[0], __tab.val[1]);
- return __builtin_aarch64_qtbx1v8qi_pppu (__r, __temp, __idx);
-}
-
-/* End of temporary inline asm. */
-
-/* Start of optimal implementations in approved order. */
-
-/* vabd. */
-
-__extension__ extern __inline float32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabds_f32 (float32_t __a, float32_t __b)
-{
- return __builtin_aarch64_fabdsf (__a, __b);
-}
-
-__extension__ extern __inline float64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdd_f64 (float64_t __a, float64_t __b)
-{
- return __builtin_aarch64_fabddf (__a, __b);
-}
-
-__extension__ extern __inline float32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabd_f32 (float32x2_t __a, float32x2_t __b)
-{
- return __builtin_aarch64_fabdv2sf (__a, __b);
-}
-
-__extension__ extern __inline float64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabd_f64 (float64x1_t __a, float64x1_t __b)
-{
- return (float64x1_t) {vabdd_f64 (vget_lane_f64 (__a, 0),
- vget_lane_f64 (__b, 0))};
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdq_f32 (float32x4_t __a, float32x4_t __b)
-{
- return __builtin_aarch64_fabdv4sf (__a, __b);
-}
-
-__extension__ extern __inline float64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabdq_f64 (float64x2_t __a, float64x2_t __b)
-{
- return __builtin_aarch64_fabdv2df (__a, __b);
-}
-
-/* vabs */
-
-__extension__ extern __inline float32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabs_f32 (float32x2_t __a)
-{
- return __builtin_aarch64_absv2sf (__a);
-}
-
-__extension__ extern __inline float64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabs_f64 (float64x1_t __a)
-{
- return (float64x1_t) {__builtin_fabs (__a[0])};
-}
-
-__extension__ extern __inline int8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabs_s8 (int8x8_t __a)
-{
- return __builtin_aarch64_absv8qi (__a);
-}
-
-__extension__ extern __inline int16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabs_s16 (int16x4_t __a)
-{
- return __builtin_aarch64_absv4hi (__a);
-}
-
-__extension__ extern __inline int32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabs_s32 (int32x2_t __a)
-{
- return __builtin_aarch64_absv2si (__a);
-}
-
-__extension__ extern __inline int64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabs_s64 (int64x1_t __a)
-{
- return (int64x1_t) {__builtin_aarch64_absdi (__a[0])};
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabsq_f32 (float32x4_t __a)
-{
- return __builtin_aarch64_absv4sf (__a);
-}
-
-__extension__ extern __inline float64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabsq_f64 (float64x2_t __a)
-{
- return __builtin_aarch64_absv2df (__a);
-}
-
-__extension__ extern __inline int8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabsq_s8 (int8x16_t __a)
-{
- return __builtin_aarch64_absv16qi (__a);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabsq_s16 (int16x8_t __a)
-{
- return __builtin_aarch64_absv8hi (__a);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabsq_s32 (int32x4_t __a)
-{
- return __builtin_aarch64_absv4si (__a);
-}
-
-__extension__ extern __inline int64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabsq_s64 (int64x2_t __a)
-{
- return __builtin_aarch64_absv2di (__a);
-}
-
-/* Try to avoid moving between integer and vector registers.
- For why the cast to unsigned is needed check the vnegd_s64 intrinsic.
- There is a testcase related to this issue:
- gcc.target/aarch64/vabsd_s64.c. */
-
-__extension__ extern __inline int64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vabsd_s64 (int64_t __a)
-{
- return __a < 0 ? - (uint64_t) __a : __a;
-}
-
-/* vadd */
-
-__extension__ extern __inline int64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddd_s64 (int64_t __a, int64_t __b)
-{
- return __a + __b;
-}
-
-__extension__ extern __inline uint64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddd_u64 (uint64_t __a, uint64_t __b)
-{
- return __a + __b;
-}
-
-/* vaddv */
-
-__extension__ extern __inline int8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddv_s8 (int8x8_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v8qi (__a);
-}
-
-__extension__ extern __inline int16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddv_s16 (int16x4_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v4hi (__a);
-}
-
-__extension__ extern __inline int32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddv_s32 (int32x2_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v2si (__a);
-}
-
-__extension__ extern __inline uint8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddv_u8 (uint8x8_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v8qi_uu (__a);
-}
-
-__extension__ extern __inline uint16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddv_u16 (uint16x4_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v4hi_uu (__a);
-}
-
-__extension__ extern __inline uint32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddv_u32 (uint32x2_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v2si_uu (__a);
-}
-
-__extension__ extern __inline int8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddvq_s8 (int8x16_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v16qi (__a);
-}
-
-__extension__ extern __inline int16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddvq_s16 (int16x8_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v8hi (__a);
-}
-
-__extension__ extern __inline int32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddvq_s32 (int32x4_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v4si (__a);
-}
-
-__extension__ extern __inline int64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddvq_s64 (int64x2_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v2di (__a);
-}
-
-__extension__ extern __inline uint8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddvq_u8 (uint8x16_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v16qi_uu (__a);
-}
-
-__extension__ extern __inline uint16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddvq_u16 (uint16x8_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v8hi_uu (__a);
-}
-
-__extension__ extern __inline uint32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddvq_u32 (uint32x4_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v4si_uu (__a);
-}
-
-__extension__ extern __inline uint64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddvq_u64 (uint64x2_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v2di_uu (__a);
-}
-
-__extension__ extern __inline float32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddv_f32 (float32x2_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v2sf (__a);
-}
-
-__extension__ extern __inline float32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddvq_f32 (float32x4_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v4sf (__a);
-}
-
-__extension__ extern __inline float64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaddvq_f64 (float64x2_t __a)
-{
- return __builtin_aarch64_reduc_plus_scal_v2df (__a);
-}
-
-/* vbsl */
-
-__extension__ extern __inline float16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_f16 (uint16x4_t __a, float16x4_t __b, float16x4_t __c)
-{
- return __builtin_aarch64_simd_bslv4hf_suss (__a, __b, __c);
-}
-
-__extension__ extern __inline float32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c)
-{
- return __builtin_aarch64_simd_bslv2sf_suss (__a, __b, __c);
-}
-
-__extension__ extern __inline float64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_f64 (uint64x1_t __a, float64x1_t __b, float64x1_t __c)
-{
- return (float64x1_t)
- { __builtin_aarch64_simd_bsldf_suss (__a[0], __b[0], __c[0]) };
-}
-
-__extension__ extern __inline poly8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c)
-{
- return __builtin_aarch64_simd_bslv8qi_pupp (__a, __b, __c);
-}
-
-__extension__ extern __inline poly16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c)
-{
- return __builtin_aarch64_simd_bslv4hi_pupp (__a, __b, __c);
-}
-__extension__ extern __inline poly64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_p64 (uint64x1_t __a, poly64x1_t __b, poly64x1_t __c)
-{
- return (poly64x1_t)
- {__builtin_aarch64_simd_bsldi_pupp (__a[0], __b[0], __c[0])};
-}
-
-__extension__ extern __inline int8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c)
-{
- return __builtin_aarch64_simd_bslv8qi_suss (__a, __b, __c);
-}
-
-__extension__ extern __inline int16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c)
-{
- return __builtin_aarch64_simd_bslv4hi_suss (__a, __b, __c);
-}
-
-__extension__ extern __inline int32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c)
-{
- return __builtin_aarch64_simd_bslv2si_suss (__a, __b, __c);
-}
-
-__extension__ extern __inline int64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c)
-{
- return (int64x1_t)
- {__builtin_aarch64_simd_bsldi_suss (__a[0], __b[0], __c[0])};
-}
-
-__extension__ extern __inline uint8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
-{
- return __builtin_aarch64_simd_bslv8qi_uuuu (__a, __b, __c);
-}
-
-__extension__ extern __inline uint16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
-{
- return __builtin_aarch64_simd_bslv4hi_uuuu (__a, __b, __c);
-}
-
-__extension__ extern __inline uint32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
-{
- return __builtin_aarch64_simd_bslv2si_uuuu (__a, __b, __c);
-}
-
-__extension__ extern __inline uint64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c)
-{
- return (uint64x1_t)
- {__builtin_aarch64_simd_bsldi_uuuu (__a[0], __b[0], __c[0])};
-}
-
-__extension__ extern __inline float16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_f16 (uint16x8_t __a, float16x8_t __b, float16x8_t __c)
-{
- return __builtin_aarch64_simd_bslv8hf_suss (__a, __b, __c);
-}
-
-__extension__ extern __inline float32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c)
-{
- return __builtin_aarch64_simd_bslv4sf_suss (__a, __b, __c);
-}
-
-__extension__ extern __inline float64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_f64 (uint64x2_t __a, float64x2_t __b, float64x2_t __c)
-{
- return __builtin_aarch64_simd_bslv2df_suss (__a, __b, __c);
-}
-
-__extension__ extern __inline poly8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c)
-{
- return __builtin_aarch64_simd_bslv16qi_pupp (__a, __b, __c);
-}
-
-__extension__ extern __inline poly16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c)
-{
- return __builtin_aarch64_simd_bslv8hi_pupp (__a, __b, __c);
-}
-
-__extension__ extern __inline int8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c)
-{
- return __builtin_aarch64_simd_bslv16qi_suss (__a, __b, __c);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c)
-{
- return __builtin_aarch64_simd_bslv8hi_suss (__a, __b, __c);
-}
-
-__extension__ extern __inline poly64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_p64 (uint64x2_t __a, poly64x2_t __b, poly64x2_t __c)
-{
- return __builtin_aarch64_simd_bslv2di_pupp (__a, __b, __c);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c)
-{
- return __builtin_aarch64_simd_bslv4si_suss (__a, __b, __c);
-}
-
-__extension__ extern __inline int64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c)
-{
- return __builtin_aarch64_simd_bslv2di_suss (__a, __b, __c);
-}
-
-__extension__ extern __inline uint8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
-{
- return __builtin_aarch64_simd_bslv16qi_uuuu (__a, __b, __c);
-}
-
-__extension__ extern __inline uint16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
-{
- return __builtin_aarch64_simd_bslv8hi_uuuu (__a, __b, __c);
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
-{
- return __builtin_aarch64_simd_bslv4si_uuuu (__a, __b, __c);
-}
-
-__extension__ extern __inline uint64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
-{
- return __builtin_aarch64_simd_bslv2di_uuuu (__a, __b, __c);
-}
-
-/* ARMv8.1-A intrinsics. */
-#pragma GCC push_options
-#pragma GCC target ("+nothing+rdma")
-
-__extension__ extern __inline int16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlah_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
-{
- return __builtin_aarch64_sqrdmlahv4hi (__a, __b, __c);
-}
-
-__extension__ extern __inline int32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlah_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
-{
- return __builtin_aarch64_sqrdmlahv2si (__a, __b, __c);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlahq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
-{
- return __builtin_aarch64_sqrdmlahv8hi (__a, __b, __c);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlahq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
-{
- return __builtin_aarch64_sqrdmlahv4si (__a, __b, __c);
-}
-
-__extension__ extern __inline int16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlsh_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
-{
- return __builtin_aarch64_sqrdmlshv4hi (__a, __b, __c);
-}
-
-__extension__ extern __inline int32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlsh_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
-{
- return __builtin_aarch64_sqrdmlshv2si (__a, __b, __c);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlshq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
-{
- return __builtin_aarch64_sqrdmlshv8hi (__a, __b, __c);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlshq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
-{
- return __builtin_aarch64_sqrdmlshv4si (__a, __b, __c);
-}
-
-__extension__ extern __inline int16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlah_laneq_s16 (int16x4_t __a, int16x4_t __b, int16x8_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlah_laneqv4hi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlah_laneq_s32 (int32x2_t __a, int32x2_t __b, int32x4_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlah_laneqv2si (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlahq_laneq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlah_laneqv8hi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlahq_laneq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlah_laneqv4si (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlsh_laneq_s16 (int16x4_t __a, int16x4_t __b, int16x8_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlsh_laneqv4hi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlsh_laneq_s32 (int32x2_t __a, int32x2_t __b, int32x4_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlsh_laneqv2si (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlshq_laneq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlsh_laneqv8hi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlshq_laneq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlsh_laneqv4si (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlah_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlah_lanev4hi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlah_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlah_lanev2si (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlahq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlah_lanev8hi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlahq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlah_lanev4si (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlahh_s16 (int16_t __a, int16_t __b, int16_t __c)
-{
- return (int16_t) __builtin_aarch64_sqrdmlahhi (__a, __b, __c);
-}
-
-__extension__ extern __inline int16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlahh_lane_s16 (int16_t __a, int16_t __b, int16x4_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlah_lanehi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlahh_laneq_s16 (int16_t __a, int16_t __b, int16x8_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlah_laneqhi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlahs_s32 (int32_t __a, int32_t __b, int32_t __c)
-{
- return (int32_t) __builtin_aarch64_sqrdmlahsi (__a, __b, __c);
-}
-
-__extension__ extern __inline int32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlahs_lane_s32 (int32_t __a, int32_t __b, int32x2_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlah_lanesi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlahs_laneq_s32 (int32_t __a, int32_t __b, int32x4_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlah_laneqsi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlsh_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlsh_lanev4hi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlsh_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlsh_lanev2si (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlshq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlsh_lanev8hi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlshq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlsh_lanev4si (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlshh_s16 (int16_t __a, int16_t __b, int16_t __c)
-{
- return (int16_t) __builtin_aarch64_sqrdmlshhi (__a, __b, __c);
-}
-
-__extension__ extern __inline int16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlshh_lane_s16 (int16_t __a, int16_t __b, int16x4_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlsh_lanehi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlshh_laneq_s16 (int16_t __a, int16_t __b, int16x8_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlsh_laneqhi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlshs_s32 (int32_t __a, int32_t __b, int32_t __c)
-{
- return (int32_t) __builtin_aarch64_sqrdmlshsi (__a, __b, __c);
-}
-
-__extension__ extern __inline int32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlshs_lane_s32 (int32_t __a, int32_t __b, int32x2_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlsh_lanesi (__a, __b, __c, __d);
-}
-
-__extension__ extern __inline int32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vqrdmlshs_laneq_s32 (int32_t __a, int32_t __b, int32x4_t __c, const int __d)
-{
- return __builtin_aarch64_sqrdmlsh_laneqsi (__a, __b, __c, __d);
-}
-#pragma GCC pop_options
-
-#pragma GCC push_options
-#pragma GCC target ("+nothing+aes")
-/* vaes */
-
-__extension__ extern __inline uint8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaeseq_u8 (uint8x16_t data, uint8x16_t key)
-{
- return __builtin_aarch64_crypto_aesev16qi_uuu (data, key);
-}
-
-__extension__ extern __inline uint8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaesdq_u8 (uint8x16_t data, uint8x16_t key)
-{
- return __builtin_aarch64_crypto_aesdv16qi_uuu (data, key);
-}
-
-__extension__ extern __inline uint8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaesmcq_u8 (uint8x16_t data)
-{
- return __builtin_aarch64_crypto_aesmcv16qi_uu (data);
-}
-
-__extension__ extern __inline uint8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vaesimcq_u8 (uint8x16_t data)
-{
- return __builtin_aarch64_crypto_aesimcv16qi_uu (data);
-}
-
-__extension__ extern __inline poly128_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_p64 (poly64_t __a, poly64_t __b)
-{
- return
- __builtin_aarch64_crypto_pmulldi_ppp (__a, __b);
-}
-
-__extension__ extern __inline poly128_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vmull_high_p64 (poly64x2_t __a, poly64x2_t __b)
-{
- return __builtin_aarch64_crypto_pmullv2di_ppp (__a, __b);
-}
-
-#pragma GCC pop_options
-
-/* vcage */
-
-__extension__ extern __inline uint64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcage_f64 (float64x1_t __a, float64x1_t __b)
-{
- return vcreate_u64 (__builtin_aarch64_facgedf_uss (__a[0], __b[0]));
-}
-
-__extension__ extern __inline uint32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcages_f32 (float32_t __a, float32_t __b)
-{
- return __builtin_aarch64_facgesf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcage_f32 (float32x2_t __a, float32x2_t __b)
-{
- return __builtin_aarch64_facgev2sf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcageq_f32 (float32x4_t __a, float32x4_t __b)
-{
- return __builtin_aarch64_facgev4sf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcaged_f64 (float64_t __a, float64_t __b)
-{
- return __builtin_aarch64_facgedf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcageq_f64 (float64x2_t __a, float64x2_t __b)
-{
- return __builtin_aarch64_facgev2df_uss (__a, __b);
-}
-
-/* vcagt */
-
-__extension__ extern __inline uint32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcagts_f32 (float32_t __a, float32_t __b)
-{
- return __builtin_aarch64_facgtsf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcagt_f32 (float32x2_t __a, float32x2_t __b)
-{
- return __builtin_aarch64_facgtv2sf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcagt_f64 (float64x1_t __a, float64x1_t __b)
-{
- return vcreate_u64 (__builtin_aarch64_facgtdf_uss (__a[0], __b[0]));
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcagtq_f32 (float32x4_t __a, float32x4_t __b)
-{
- return __builtin_aarch64_facgtv4sf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcagtd_f64 (float64_t __a, float64_t __b)
-{
- return __builtin_aarch64_facgtdf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcagtq_f64 (float64x2_t __a, float64x2_t __b)
-{
- return __builtin_aarch64_facgtv2df_uss (__a, __b);
-}
-
-/* vcale */
-
-__extension__ extern __inline uint32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcale_f32 (float32x2_t __a, float32x2_t __b)
-{
- return __builtin_aarch64_faclev2sf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcale_f64 (float64x1_t __a, float64x1_t __b)
-{
- return vcreate_u64 (__builtin_aarch64_facledf_uss (__a[0], __b[0]));
-}
-
-__extension__ extern __inline uint64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcaled_f64 (float64_t __a, float64_t __b)
-{
- return __builtin_aarch64_facledf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcales_f32 (float32_t __a, float32_t __b)
-{
- return __builtin_aarch64_faclesf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcaleq_f32 (float32x4_t __a, float32x4_t __b)
-{
- return __builtin_aarch64_faclev4sf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcaleq_f64 (float64x2_t __a, float64x2_t __b)
-{
- return __builtin_aarch64_faclev2df_uss (__a, __b);
-}
-
-/* vcalt */
-
-__extension__ extern __inline uint32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcalt_f32 (float32x2_t __a, float32x2_t __b)
-{
- return __builtin_aarch64_facltv2sf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcalt_f64 (float64x1_t __a, float64x1_t __b)
-{
- return vcreate_u64 (__builtin_aarch64_facltdf_uss (__a[0], __b[0]));
-}
-
-__extension__ extern __inline uint64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcaltd_f64 (float64_t __a, float64_t __b)
-{
- return __builtin_aarch64_facltdf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcaltq_f32 (float32x4_t __a, float32x4_t __b)
-{
- return __builtin_aarch64_facltv4sf_uss (__a, __b);
-}
-
-__extension__ extern __inline uint64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcaltq_f64 (float64x2_t __a, float64x2_t __b)
-{
- return __builtin_aarch64_facltv2df_uss (__a, __b);
-}
-
-__extension__ extern __inline uint32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcalts_f32 (float32_t __a, float32_t __b)
-{
- return __builtin_aarch64_facltsf_uss (__a, __b);
-}
-
-/* vceq - vector. */
-
-__extension__ extern __inline uint32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceq_f32 (float32x2_t __a, float32x2_t __b)
-{
- return (uint32x2_t) (__a == __b);
-}
-
-__extension__ extern __inline uint64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceq_f64 (float64x1_t __a, float64x1_t __b)
-{
- return (uint64x1_t) (__a == __b);
-}
-
-__extension__ extern __inline uint8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceq_p8 (poly8x8_t __a, poly8x8_t __b)
-{
- return (uint8x8_t) (__a == __b);
-}
-
-__extension__ extern __inline uint64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceq_p64 (poly64x1_t __a, poly64x1_t __b)
-{
- return (uint64x1_t) (__a == __b);
-}
-
-__extension__ extern __inline uint8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceq_s8 (int8x8_t __a, int8x8_t __b)
-{
- return (uint8x8_t) (__a == __b);
-}
-
-__extension__ extern __inline uint16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceq_s16 (int16x4_t __a, int16x4_t __b)
-{
- return (uint16x4_t) (__a == __b);
-}
-
-__extension__ extern __inline uint32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceq_s32 (int32x2_t __a, int32x2_t __b)
-{
- return (uint32x2_t) (__a == __b);
-}
-
-__extension__ extern __inline uint64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceq_s64 (int64x1_t __a, int64x1_t __b)
-{
- return (uint64x1_t) (__a == __b);
-}
-
-__extension__ extern __inline uint8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceq_u8 (uint8x8_t __a, uint8x8_t __b)
-{
- return (__a == __b);
-}
-
-__extension__ extern __inline uint16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceq_u16 (uint16x4_t __a, uint16x4_t __b)
-{
- return (__a == __b);
-}
-
-__extension__ extern __inline uint32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceq_u32 (uint32x2_t __a, uint32x2_t __b)
-{
- return (__a == __b);
-}
-
-__extension__ extern __inline uint64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceq_u64 (uint64x1_t __a, uint64x1_t __b)
-{
- return (__a == __b);
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqq_f32 (float32x4_t __a, float32x4_t __b)
-{
- return (uint32x4_t) (__a == __b);
+ return __builtin_aarch64_absv4hi (__a);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqq_f64 (float64x2_t __a, float64x2_t __b)
+vabs_s32 (int32x2_t __a)
{
- return (uint64x2_t) (__a == __b);
+ return __builtin_aarch64_absv2si (__a);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline int64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqq_p8 (poly8x16_t __a, poly8x16_t __b)
+vabs_s64 (int64x1_t __a)
{
- return (uint8x16_t) (__a == __b);
+ return (int64x1_t) {__builtin_aarch64_absdi (__a[0])};
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline float32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqq_s8 (int8x16_t __a, int8x16_t __b)
+vabsq_f32 (float32x4_t __a)
{
- return (uint8x16_t) (__a == __b);
+ return __builtin_aarch64_absv4sf (__a);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline float64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqq_s16 (int16x8_t __a, int16x8_t __b)
+vabsq_f64 (float64x2_t __a)
{
- return (uint16x8_t) (__a == __b);
+ return __builtin_aarch64_absv2df (__a);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqq_s32 (int32x4_t __a, int32x4_t __b)
+vabsq_s8 (int8x16_t __a)
{
- return (uint32x4_t) (__a == __b);
+ return __builtin_aarch64_absv16qi (__a);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqq_s64 (int64x2_t __a, int64x2_t __b)
+vabsq_s16 (int16x8_t __a)
{
- return (uint64x2_t) (__a == __b);
+ return __builtin_aarch64_absv8hi (__a);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqq_u8 (uint8x16_t __a, uint8x16_t __b)
+vabsq_s32 (int32x4_t __a)
{
- return (__a == __b);
+ return __builtin_aarch64_absv4si (__a);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqq_u16 (uint16x8_t __a, uint16x8_t __b)
+vabsq_s64 (int64x2_t __a)
{
- return (__a == __b);
+ return __builtin_aarch64_absv2di (__a);
}
-__extension__ extern __inline uint32x4_t
+/* Try to avoid moving between integer and vector registers.
+ For why the cast to unsigned is needed check the vnegd_s64 intrinsic.
+ There is a testcase related to this issue:
+ gcc.target/aarch64/vabsd_s64.c. */
+
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
+vabsd_s64 (int64_t __a)
{
- return (__a == __b);
+ return __a < 0 ? - (uint64_t) __a : __a;
}
-__extension__ extern __inline uint64x2_t
+/* vadd */
+
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqq_u64 (uint64x2_t __a, uint64x2_t __b)
+vaddd_s64 (int64_t __a, int64_t __b)
{
- return (__a == __b);
+ return __a + __b;
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqq_p64 (poly64x2_t __a, poly64x2_t __b)
+vaddd_u64 (uint64_t __a, uint64_t __b)
{
- return (__a == __b);
+ return __a + __b;
}
-/* vceq - scalar. */
+/* vaddv */
-__extension__ extern __inline uint32_t
+__extension__ extern __inline int8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqs_f32 (float32_t __a, float32_t __b)
+vaddv_s8 (int8x8_t __a)
{
- return __a == __b ? -1 : 0;
+ return __builtin_aarch64_reduc_plus_scal_v8qi (__a);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline int16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqd_s64 (int64_t __a, int64_t __b)
+vaddv_s16 (int16x4_t __a)
{
- return __a == __b ? -1ll : 0ll;
+ return __builtin_aarch64_reduc_plus_scal_v4hi (__a);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqd_u64 (uint64_t __a, uint64_t __b)
+vaddv_s32 (int32x2_t __a)
{
- return __a == __b ? -1ll : 0ll;
+ return __builtin_aarch64_reduc_plus_scal_v2si (__a);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline uint8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqd_f64 (float64_t __a, float64_t __b)
+vaddv_u8 (uint8x8_t __a)
{
- return __a == __b ? -1ll : 0ll;
+ return __builtin_aarch64_reduc_plus_scal_v8qi_uu (__a);
}
-/* vceqz - vector. */
-
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqz_f32 (float32x2_t __a)
+vaddv_u16 (uint16x4_t __a)
{
- return (uint32x2_t) (__a == 0.0f);
+ return __builtin_aarch64_reduc_plus_scal_v4hi_uu (__a);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqz_f64 (float64x1_t __a)
+vaddv_u32 (uint32x2_t __a)
{
- return (uint64x1_t) (__a == (float64x1_t) {0.0});
+ return __builtin_aarch64_reduc_plus_scal_v2si_uu (__a);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline int8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqz_p8 (poly8x8_t __a)
+vaddvq_s8 (int8x16_t __a)
{
- return (uint8x8_t) (__a == 0);
+ return __builtin_aarch64_reduc_plus_scal_v16qi (__a);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline int16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqz_s8 (int8x8_t __a)
+vaddvq_s16 (int16x8_t __a)
{
- return (uint8x8_t) (__a == 0);
+ return __builtin_aarch64_reduc_plus_scal_v8hi (__a);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqz_s16 (int16x4_t __a)
+vaddvq_s32 (int32x4_t __a)
{
- return (uint16x4_t) (__a == 0);
+ return __builtin_aarch64_reduc_plus_scal_v4si (__a);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqz_s32 (int32x2_t __a)
+vaddvq_s64 (int64x2_t __a)
{
- return (uint32x2_t) (__a == 0);
+ return __builtin_aarch64_reduc_plus_scal_v2di (__a);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline uint8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqz_s64 (int64x1_t __a)
+vaddvq_u8 (uint8x16_t __a)
{
- return (uint64x1_t) (__a == __AARCH64_INT64_C (0));
+ return __builtin_aarch64_reduc_plus_scal_v16qi_uu (__a);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline uint16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqz_u8 (uint8x8_t __a)
+vaddvq_u16 (uint16x8_t __a)
{
- return (__a == 0);
+ return __builtin_aarch64_reduc_plus_scal_v8hi_uu (__a);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqz_u16 (uint16x4_t __a)
+vaddvq_u32 (uint32x4_t __a)
{
- return (__a == 0);
+ return __builtin_aarch64_reduc_plus_scal_v4si_uu (__a);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqz_u32 (uint32x2_t __a)
+vaddvq_u64 (uint64x2_t __a)
{
- return (__a == 0);
+ return __builtin_aarch64_reduc_plus_scal_v2di_uu (__a);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline float32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqz_u64 (uint64x1_t __a)
+vaddv_f32 (float32x2_t __a)
{
- return (__a == __AARCH64_UINT64_C (0));
+ return __builtin_aarch64_reduc_plus_scal_v2sf (__a);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline float32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqz_p64 (poly64x1_t __a)
+vaddvq_f32 (float32x4_t __a)
{
- return (__a == __AARCH64_UINT64_C (0));
+ return __builtin_aarch64_reduc_plus_scal_v4sf (__a);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline float64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzq_f32 (float32x4_t __a)
+vaddvq_f64 (float64x2_t __a)
{
- return (uint32x4_t) (__a == 0.0f);
+ return __builtin_aarch64_reduc_plus_scal_v2df (__a);
}
-__extension__ extern __inline uint64x2_t
+/* vbsl */
+
+__extension__ extern __inline float16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzq_f64 (float64x2_t __a)
+vbsl_f16 (uint16x4_t __a, float16x4_t __b, float16x4_t __c)
{
- return (uint64x2_t) (__a == 0.0f);
+ return __builtin_aarch64_simd_bslv4hf_suss (__a, __b, __c);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline float32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzq_p8 (poly8x16_t __a)
+vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c)
{
- return (uint8x16_t) (__a == 0);
+ return __builtin_aarch64_simd_bslv2sf_suss (__a, __b, __c);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline float64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzq_s8 (int8x16_t __a)
+vbsl_f64 (uint64x1_t __a, float64x1_t __b, float64x1_t __c)
{
- return (uint8x16_t) (__a == 0);
+ return (float64x1_t)
+ { __builtin_aarch64_simd_bsldf_suss (__a[0], __b[0], __c[0]) };
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline poly8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzq_s16 (int16x8_t __a)
+vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c)
{
- return (uint16x8_t) (__a == 0);
+ return __builtin_aarch64_simd_bslv8qi_pupp (__a, __b, __c);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline poly16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzq_s32 (int32x4_t __a)
+vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c)
{
- return (uint32x4_t) (__a == 0);
+ return __builtin_aarch64_simd_bslv4hi_pupp (__a, __b, __c);
+}
+__extension__ extern __inline poly64x1_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vbsl_p64 (uint64x1_t __a, poly64x1_t __b, poly64x1_t __c)
+{
+ return (poly64x1_t)
+ {__builtin_aarch64_simd_bsldi_pupp (__a[0], __b[0], __c[0])};
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzq_s64 (int64x2_t __a)
+vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c)
{
- return (uint64x2_t) (__a == __AARCH64_INT64_C (0));
+ return __builtin_aarch64_simd_bslv8qi_suss (__a, __b, __c);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzq_u8 (uint8x16_t __a)
+vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c)
{
- return (__a == 0);
+ return __builtin_aarch64_simd_bslv4hi_suss (__a, __b, __c);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzq_u16 (uint16x8_t __a)
+vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c)
{
- return (__a == 0);
+ return __builtin_aarch64_simd_bslv2si_suss (__a, __b, __c);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzq_u32 (uint32x4_t __a)
+vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c)
{
- return (__a == 0);
+ return (int64x1_t)
+ {__builtin_aarch64_simd_bsldi_suss (__a[0], __b[0], __c[0])};
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzq_u64 (uint64x2_t __a)
+vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
{
- return (__a == __AARCH64_UINT64_C (0));
+ return __builtin_aarch64_simd_bslv8qi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzq_p64 (poly64x2_t __a)
+vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
{
- return (__a == __AARCH64_UINT64_C (0));
+ return __builtin_aarch64_simd_bslv4hi_uuuu (__a, __b, __c);
}
-/* vceqz - scalar. */
-
-__extension__ extern __inline uint32_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzs_f32 (float32_t __a)
+vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
{
- return __a == 0.0f ? -1 : 0;
+ return __builtin_aarch64_simd_bslv2si_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzd_s64 (int64_t __a)
+vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c)
{
- return __a == 0 ? -1ll : 0ll;
+ return (uint64x1_t)
+ {__builtin_aarch64_simd_bsldi_uuuu (__a[0], __b[0], __c[0])};
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline float16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzd_u64 (uint64_t __a)
+vbslq_f16 (uint16x8_t __a, float16x8_t __b, float16x8_t __c)
{
- return __a == 0 ? -1ll : 0ll;
+ return __builtin_aarch64_simd_bslv8hf_suss (__a, __b, __c);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline float32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vceqzd_f64 (float64_t __a)
+vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c)
{
- return __a == 0.0 ? -1ll : 0ll;
+ return __builtin_aarch64_simd_bslv4sf_suss (__a, __b, __c);
}
-/* vcge - vector. */
-
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline float64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcge_f32 (float32x2_t __a, float32x2_t __b)
+vbslq_f64 (uint64x2_t __a, float64x2_t __b, float64x2_t __c)
{
- return (uint32x2_t) (__a >= __b);
+ return __builtin_aarch64_simd_bslv2df_suss (__a, __b, __c);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline poly8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcge_f64 (float64x1_t __a, float64x1_t __b)
+vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c)
{
- return (uint64x1_t) (__a >= __b);
+ return __builtin_aarch64_simd_bslv16qi_pupp (__a, __b, __c);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline poly16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcge_s8 (int8x8_t __a, int8x8_t __b)
+vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c)
{
- return (uint8x8_t) (__a >= __b);
+ return __builtin_aarch64_simd_bslv8hi_pupp (__a, __b, __c);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcge_s16 (int16x4_t __a, int16x4_t __b)
+vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c)
{
- return (uint16x4_t) (__a >= __b);
+ return __builtin_aarch64_simd_bslv16qi_suss (__a, __b, __c);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcge_s32 (int32x2_t __a, int32x2_t __b)
+vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c)
{
- return (uint32x2_t) (__a >= __b);
+ return __builtin_aarch64_simd_bslv8hi_suss (__a, __b, __c);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline poly64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcge_s64 (int64x1_t __a, int64x1_t __b)
+vbslq_p64 (uint64x2_t __a, poly64x2_t __b, poly64x2_t __c)
{
- return (uint64x1_t) (__a >= __b);
+ return __builtin_aarch64_simd_bslv2di_pupp (__a, __b, __c);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcge_u8 (uint8x8_t __a, uint8x8_t __b)
+vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c)
{
- return (__a >= __b);
+ return __builtin_aarch64_simd_bslv4si_suss (__a, __b, __c);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcge_u16 (uint16x4_t __a, uint16x4_t __b)
+vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c)
{
- return (__a >= __b);
+ return __builtin_aarch64_simd_bslv2di_suss (__a, __b, __c);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcge_u32 (uint32x2_t __a, uint32x2_t __b)
+vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
{
- return (__a >= __b);
+ return __builtin_aarch64_simd_bslv16qi_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcge_u64 (uint64x1_t __a, uint64x1_t __b)
+vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
{
- return (__a >= __b);
+ return __builtin_aarch64_simd_bslv8hi_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgeq_f32 (float32x4_t __a, float32x4_t __b)
+vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
{
- return (uint32x4_t) (__a >= __b);
+ return __builtin_aarch64_simd_bslv4si_uuuu (__a, __b, __c);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgeq_f64 (float64x2_t __a, float64x2_t __b)
+vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
{
- return (uint64x2_t) (__a >= __b);
+ return __builtin_aarch64_simd_bslv2di_uuuu (__a, __b, __c);
}
-__extension__ extern __inline uint8x16_t
+/* ARMv8.1-A intrinsics. */
+#pragma GCC push_options
+#pragma GCC target ("+nothing+rdma")
+
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgeq_s8 (int8x16_t __a, int8x16_t __b)
+vqrdmlah_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
{
- return (uint8x16_t) (__a >= __b);
+ return __builtin_aarch64_sqrdmlahv4hi (__a, __b, __c);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgeq_s16 (int16x8_t __a, int16x8_t __b)
+vqrdmlah_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
{
- return (uint16x8_t) (__a >= __b);
+ return __builtin_aarch64_sqrdmlahv2si (__a, __b, __c);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgeq_s32 (int32x4_t __a, int32x4_t __b)
+vqrdmlahq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
{
- return (uint32x4_t) (__a >= __b);
+ return __builtin_aarch64_sqrdmlahv8hi (__a, __b, __c);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgeq_s64 (int64x2_t __a, int64x2_t __b)
+vqrdmlahq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
{
- return (uint64x2_t) (__a >= __b);
+ return __builtin_aarch64_sqrdmlahv4si (__a, __b, __c);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgeq_u8 (uint8x16_t __a, uint8x16_t __b)
+vqrdmlsh_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
{
- return (__a >= __b);
+ return __builtin_aarch64_sqrdmlshv4hi (__a, __b, __c);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgeq_u16 (uint16x8_t __a, uint16x8_t __b)
+vqrdmlsh_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
{
- return (__a >= __b);
+ return __builtin_aarch64_sqrdmlshv2si (__a, __b, __c);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgeq_u32 (uint32x4_t __a, uint32x4_t __b)
+vqrdmlshq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
{
- return (__a >= __b);
+ return __builtin_aarch64_sqrdmlshv8hi (__a, __b, __c);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgeq_u64 (uint64x2_t __a, uint64x2_t __b)
+vqrdmlshq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
{
- return (__a >= __b);
+ return __builtin_aarch64_sqrdmlshv4si (__a, __b, __c);
}
-/* vcge - scalar. */
-
-__extension__ extern __inline uint32_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcges_f32 (float32_t __a, float32_t __b)
+vqrdmlah_laneq_s16 (int16x4_t __a, int16x4_t __b, int16x8_t __c, const int __d)
{
- return __a >= __b ? -1 : 0;
+ return __builtin_aarch64_sqrdmlah_laneqv4hi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcged_s64 (int64_t __a, int64_t __b)
+vqrdmlah_laneq_s32 (int32x2_t __a, int32x2_t __b, int32x4_t __c, const int __d)
{
- return __a >= __b ? -1ll : 0ll;
+ return __builtin_aarch64_sqrdmlah_laneqv2si (__a, __b, __c, __d);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcged_u64 (uint64_t __a, uint64_t __b)
+vqrdmlahq_laneq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c, const int __d)
{
- return __a >= __b ? -1ll : 0ll;
+ return __builtin_aarch64_sqrdmlah_laneqv8hi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcged_f64 (float64_t __a, float64_t __b)
+vqrdmlahq_laneq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c, const int __d)
{
- return __a >= __b ? -1ll : 0ll;
+ return __builtin_aarch64_sqrdmlah_laneqv4si (__a, __b, __c, __d);
}
-/* vcgez - vector. */
-
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgez_f32 (float32x2_t __a)
+vqrdmlsh_laneq_s16 (int16x4_t __a, int16x4_t __b, int16x8_t __c, const int __d)
{
- return (uint32x2_t) (__a >= 0.0f);
+ return __builtin_aarch64_sqrdmlsh_laneqv4hi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgez_f64 (float64x1_t __a)
+vqrdmlsh_laneq_s32 (int32x2_t __a, int32x2_t __b, int32x4_t __c, const int __d)
{
- return (uint64x1_t) (__a[0] >= (float64x1_t) {0.0});
+ return __builtin_aarch64_sqrdmlsh_laneqv2si (__a, __b, __c, __d);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgez_s8 (int8x8_t __a)
+vqrdmlshq_laneq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c, const int __d)
{
- return (uint8x8_t) (__a >= 0);
+ return __builtin_aarch64_sqrdmlsh_laneqv8hi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgez_s16 (int16x4_t __a)
+vqrdmlshq_laneq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c, const int __d)
{
- return (uint16x4_t) (__a >= 0);
+ return __builtin_aarch64_sqrdmlsh_laneqv4si (__a, __b, __c, __d);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgez_s32 (int32x2_t __a)
+vqrdmlah_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
{
- return (uint32x2_t) (__a >= 0);
+ return __builtin_aarch64_sqrdmlah_lanev4hi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgez_s64 (int64x1_t __a)
+vqrdmlah_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
{
- return (uint64x1_t) (__a >= __AARCH64_INT64_C (0));
+ return __builtin_aarch64_sqrdmlah_lanev2si (__a, __b, __c, __d);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgezq_f32 (float32x4_t __a)
+vqrdmlahq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
{
- return (uint32x4_t) (__a >= 0.0f);
+ return __builtin_aarch64_sqrdmlah_lanev8hi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgezq_f64 (float64x2_t __a)
+vqrdmlahq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
{
- return (uint64x2_t) (__a >= 0.0);
+ return __builtin_aarch64_sqrdmlah_lanev4si (__a, __b, __c, __d);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline int16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgezq_s8 (int8x16_t __a)
+vqrdmlahh_s16 (int16_t __a, int16_t __b, int16_t __c)
{
- return (uint8x16_t) (__a >= 0);
+ return (int16_t) __builtin_aarch64_sqrdmlahhi (__a, __b, __c);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline int16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgezq_s16 (int16x8_t __a)
+vqrdmlahh_lane_s16 (int16_t __a, int16_t __b, int16x4_t __c, const int __d)
{
- return (uint16x8_t) (__a >= 0);
+ return __builtin_aarch64_sqrdmlah_lanehi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgezq_s32 (int32x4_t __a)
+vqrdmlahh_laneq_s16 (int16_t __a, int16_t __b, int16x8_t __c, const int __d)
{
- return (uint32x4_t) (__a >= 0);
+ return __builtin_aarch64_sqrdmlah_laneqhi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgezq_s64 (int64x2_t __a)
+vqrdmlahs_s32 (int32_t __a, int32_t __b, int32_t __c)
{
- return (uint64x2_t) (__a >= __AARCH64_INT64_C (0));
+ return (int32_t) __builtin_aarch64_sqrdmlahsi (__a, __b, __c);
}
-/* vcgez - scalar. */
-
-__extension__ extern __inline uint32_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgezs_f32 (float32_t __a)
+vqrdmlahs_lane_s32 (int32_t __a, int32_t __b, int32x2_t __c, const int __d)
{
- return __a >= 0.0f ? -1 : 0;
+ return __builtin_aarch64_sqrdmlah_lanesi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgezd_s64 (int64_t __a)
+vqrdmlahs_laneq_s32 (int32_t __a, int32_t __b, int32x4_t __c, const int __d)
{
- return __a >= 0 ? -1ll : 0ll;
+ return __builtin_aarch64_sqrdmlah_laneqsi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgezd_f64 (float64_t __a)
+vqrdmlsh_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
{
- return __a >= 0.0 ? -1ll : 0ll;
+ return __builtin_aarch64_sqrdmlsh_lanev4hi (__a, __b, __c, __d);
}
-/* vcgt - vector. */
-
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgt_f32 (float32x2_t __a, float32x2_t __b)
+vqrdmlsh_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
{
- return (uint32x2_t) (__a > __b);
+ return __builtin_aarch64_sqrdmlsh_lanev2si (__a, __b, __c, __d);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgt_f64 (float64x1_t __a, float64x1_t __b)
+vqrdmlshq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
{
- return (uint64x1_t) (__a > __b);
+ return __builtin_aarch64_sqrdmlsh_lanev8hi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgt_s8 (int8x8_t __a, int8x8_t __b)
+vqrdmlshq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
{
- return (uint8x8_t) (__a > __b);
+ return __builtin_aarch64_sqrdmlsh_lanev4si (__a, __b, __c, __d);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline int16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgt_s16 (int16x4_t __a, int16x4_t __b)
+vqrdmlshh_s16 (int16_t __a, int16_t __b, int16_t __c)
{
- return (uint16x4_t) (__a > __b);
+ return (int16_t) __builtin_aarch64_sqrdmlshhi (__a, __b, __c);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline int16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgt_s32 (int32x2_t __a, int32x2_t __b)
+vqrdmlshh_lane_s16 (int16_t __a, int16_t __b, int16x4_t __c, const int __d)
{
- return (uint32x2_t) (__a > __b);
+ return __builtin_aarch64_sqrdmlsh_lanehi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline int16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgt_s64 (int64x1_t __a, int64x1_t __b)
+vqrdmlshh_laneq_s16 (int16_t __a, int16_t __b, int16x8_t __c, const int __d)
{
- return (uint64x1_t) (__a > __b);
+ return __builtin_aarch64_sqrdmlsh_laneqhi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgt_u8 (uint8x8_t __a, uint8x8_t __b)
+vqrdmlshs_s32 (int32_t __a, int32_t __b, int32_t __c)
{
- return (__a > __b);
+ return (int32_t) __builtin_aarch64_sqrdmlshsi (__a, __b, __c);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgt_u16 (uint16x4_t __a, uint16x4_t __b)
+vqrdmlshs_lane_s32 (int32_t __a, int32_t __b, int32x2_t __c, const int __d)
{
- return (__a > __b);
+ return __builtin_aarch64_sqrdmlsh_lanesi (__a, __b, __c, __d);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgt_u32 (uint32x2_t __a, uint32x2_t __b)
+vqrdmlshs_laneq_s32 (int32_t __a, int32_t __b, int32x4_t __c, const int __d)
{
- return (__a > __b);
+ return __builtin_aarch64_sqrdmlsh_laneqsi (__a, __b, __c, __d);
}
+#pragma GCC pop_options
-__extension__ extern __inline uint64x1_t
+#pragma GCC push_options
+#pragma GCC target ("+nothing+aes")
+/* vaes */
+
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgt_u64 (uint64x1_t __a, uint64x1_t __b)
+vaeseq_u8 (uint8x16_t data, uint8x16_t key)
{
- return (__a > __b);
+ return __builtin_aarch64_crypto_aesev16qi_uuu (data, key);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtq_f32 (float32x4_t __a, float32x4_t __b)
+vaesdq_u8 (uint8x16_t data, uint8x16_t key)
{
- return (uint32x4_t) (__a > __b);
+ return __builtin_aarch64_crypto_aesdv16qi_uuu (data, key);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtq_f64 (float64x2_t __a, float64x2_t __b)
+vaesmcq_u8 (uint8x16_t data)
{
- return (uint64x2_t) (__a > __b);
+ return __builtin_aarch64_crypto_aesmcv16qi_uu (data);
}
__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtq_s8 (int8x16_t __a, int8x16_t __b)
+vaesimcq_u8 (uint8x16_t data)
{
- return (uint8x16_t) (__a > __b);
+ return __builtin_aarch64_crypto_aesimcv16qi_uu (data);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline poly128_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtq_s16 (int16x8_t __a, int16x8_t __b)
+vmull_p64 (poly64_t __a, poly64_t __b)
{
- return (uint16x8_t) (__a > __b);
+ return
+ __builtin_aarch64_crypto_pmulldi_ppp (__a, __b);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline poly128_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtq_s32 (int32x4_t __a, int32x4_t __b)
+vmull_high_p64 (poly64x2_t __a, poly64x2_t __b)
{
- return (uint32x4_t) (__a > __b);
+ return __builtin_aarch64_crypto_pmullv2di_ppp (__a, __b);
}
-__extension__ extern __inline uint64x2_t
+#pragma GCC pop_options
+
+/* vcage */
+
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtq_s64 (int64x2_t __a, int64x2_t __b)
+vcage_f64 (float64x1_t __a, float64x1_t __b)
{
- return (uint64x2_t) (__a > __b);
+ return vcreate_u64 (__builtin_aarch64_facgedf_uss (__a[0], __b[0]));
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtq_u8 (uint8x16_t __a, uint8x16_t __b)
+vcages_f32 (float32_t __a, float32_t __b)
{
- return (__a > __b);
+ return __builtin_aarch64_facgesf_uss (__a, __b);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtq_u16 (uint16x8_t __a, uint16x8_t __b)
+vcage_f32 (float32x2_t __a, float32x2_t __b)
{
- return (__a > __b);
+ return __builtin_aarch64_facgev2sf_uss (__a, __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtq_u32 (uint32x4_t __a, uint32x4_t __b)
+vcageq_f32 (float32x4_t __a, float32x4_t __b)
{
- return (__a > __b);
+ return __builtin_aarch64_facgev4sf_uss (__a, __b);
+}
+
+__extension__ extern __inline uint64_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vcaged_f64 (float64_t __a, float64_t __b)
+{
+ return __builtin_aarch64_facgedf_uss (__a, __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtq_u64 (uint64x2_t __a, uint64x2_t __b)
+vcageq_f64 (float64x2_t __a, float64x2_t __b)
{
- return (__a > __b);
+ return __builtin_aarch64_facgev2df_uss (__a, __b);
}
-/* vcgt - scalar. */
+/* vcagt */
__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgts_f32 (float32_t __a, float32_t __b)
+vcagts_f32 (float32_t __a, float32_t __b)
{
- return __a > __b ? -1 : 0;
+ return __builtin_aarch64_facgtsf_uss (__a, __b);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtd_s64 (int64_t __a, int64_t __b)
+vcagt_f32 (float32x2_t __a, float32x2_t __b)
{
- return __a > __b ? -1ll : 0ll;
+ return __builtin_aarch64_facgtv2sf_uss (__a, __b);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtd_u64 (uint64_t __a, uint64_t __b)
+vcagt_f64 (float64x1_t __a, float64x1_t __b)
{
- return __a > __b ? -1ll : 0ll;
+ return vcreate_u64 (__builtin_aarch64_facgtdf_uss (__a[0], __b[0]));
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtd_f64 (float64_t __a, float64_t __b)
+vcagtq_f32 (float32x4_t __a, float32x4_t __b)
{
- return __a > __b ? -1ll : 0ll;
+ return __builtin_aarch64_facgtv4sf_uss (__a, __b);
}
-/* vcgtz - vector. */
-
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtz_f32 (float32x2_t __a)
+vcagtd_f64 (float64_t __a, float64_t __b)
{
- return (uint32x2_t) (__a > 0.0f);
+ return __builtin_aarch64_facgtdf_uss (__a, __b);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtz_f64 (float64x1_t __a)
+vcagtq_f64 (float64x2_t __a, float64x2_t __b)
{
- return (uint64x1_t) (__a > (float64x1_t) {0.0});
+ return __builtin_aarch64_facgtv2df_uss (__a, __b);
}
-__extension__ extern __inline uint8x8_t
+/* vcale */
+
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtz_s8 (int8x8_t __a)
+vcale_f32 (float32x2_t __a, float32x2_t __b)
{
- return (uint8x8_t) (__a > 0);
+ return __builtin_aarch64_faclev2sf_uss (__a, __b);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtz_s16 (int16x4_t __a)
+vcale_f64 (float64x1_t __a, float64x1_t __b)
{
- return (uint16x4_t) (__a > 0);
+ return vcreate_u64 (__builtin_aarch64_facledf_uss (__a[0], __b[0]));
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtz_s32 (int32x2_t __a)
+vcaled_f64 (float64_t __a, float64_t __b)
{
- return (uint32x2_t) (__a > 0);
+ return __builtin_aarch64_facledf_uss (__a, __b);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtz_s64 (int64x1_t __a)
+vcales_f32 (float32_t __a, float32_t __b)
{
- return (uint64x1_t) (__a > __AARCH64_INT64_C (0));
+ return __builtin_aarch64_faclesf_uss (__a, __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtzq_f32 (float32x4_t __a)
+vcaleq_f32 (float32x4_t __a, float32x4_t __b)
{
- return (uint32x4_t) (__a > 0.0f);
+ return __builtin_aarch64_faclev4sf_uss (__a, __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtzq_f64 (float64x2_t __a)
+vcaleq_f64 (float64x2_t __a, float64x2_t __b)
{
- return (uint64x2_t) (__a > 0.0);
+ return __builtin_aarch64_faclev2df_uss (__a, __b);
}
-__extension__ extern __inline uint8x16_t
+/* vcalt */
+
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtzq_s8 (int8x16_t __a)
+vcalt_f32 (float32x2_t __a, float32x2_t __b)
{
- return (uint8x16_t) (__a > 0);
+ return __builtin_aarch64_facltv2sf_uss (__a, __b);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtzq_s16 (int16x8_t __a)
+vcalt_f64 (float64x1_t __a, float64x1_t __b)
{
- return (uint16x8_t) (__a > 0);
+ return vcreate_u64 (__builtin_aarch64_facltdf_uss (__a[0], __b[0]));
+}
+
+__extension__ extern __inline uint64_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vcaltd_f64 (float64_t __a, float64_t __b)
+{
+ return __builtin_aarch64_facltdf_uss (__a, __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtzq_s32 (int32x4_t __a)
+vcaltq_f32 (float32x4_t __a, float32x4_t __b)
{
- return (uint32x4_t) (__a > 0);
+ return __builtin_aarch64_facltv4sf_uss (__a, __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtzq_s64 (int64x2_t __a)
+vcaltq_f64 (float64x2_t __a, float64x2_t __b)
{
- return (uint64x2_t) (__a > __AARCH64_INT64_C (0));
+ return __builtin_aarch64_facltv2df_uss (__a, __b);
}
-/* vcgtz - scalar. */
-
__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtzs_f32 (float32_t __a)
+vcalts_f32 (float32_t __a, float32_t __b)
{
- return __a > 0.0f ? -1 : 0;
+ return __builtin_aarch64_facltsf_uss (__a, __b);
}
-__extension__ extern __inline uint64_t
+/* vceq - vector. */
+
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtzd_s64 (int64_t __a)
+vceq_f32 (float32x2_t __a, float32x2_t __b)
{
- return __a > 0 ? -1ll : 0ll;
+ return (uint32x2_t) (__a == __b);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcgtzd_f64 (float64_t __a)
+vceq_f64 (float64x1_t __a, float64x1_t __b)
{
- return __a > 0.0 ? -1ll : 0ll;
+ return (uint64x1_t) (__a == __b);
}
-/* vcle - vector. */
-
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcle_f32 (float32x2_t __a, float32x2_t __b)
+vceq_p8 (poly8x8_t __a, poly8x8_t __b)
{
- return (uint32x2_t) (__a <= __b);
+ return (uint8x8_t) (__a == __b);
}
__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcle_f64 (float64x1_t __a, float64x1_t __b)
+vceq_p64 (poly64x1_t __a, poly64x1_t __b)
{
- return (uint64x1_t) (__a <= __b);
+ return (uint64x1_t) (__a == __b);
}
__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcle_s8 (int8x8_t __a, int8x8_t __b)
+vceq_s8 (int8x8_t __a, int8x8_t __b)
{
- return (uint8x8_t) (__a <= __b);
+ return (uint8x8_t) (__a == __b);
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcle_s16 (int16x4_t __a, int16x4_t __b)
+vceq_s16 (int16x4_t __a, int16x4_t __b)
{
- return (uint16x4_t) (__a <= __b);
+ return (uint16x4_t) (__a == __b);
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcle_s32 (int32x2_t __a, int32x2_t __b)
+vceq_s32 (int32x2_t __a, int32x2_t __b)
{
- return (uint32x2_t) (__a <= __b);
+ return (uint32x2_t) (__a == __b);
}
__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcle_s64 (int64x1_t __a, int64x1_t __b)
+vceq_s64 (int64x1_t __a, int64x1_t __b)
{
- return (uint64x1_t) (__a <= __b);
+ return (uint64x1_t) (__a == __b);
}
__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcle_u8 (uint8x8_t __a, uint8x8_t __b)
+vceq_u8 (uint8x8_t __a, uint8x8_t __b)
{
- return (__a <= __b);
+ return (__a == __b);
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcle_u16 (uint16x4_t __a, uint16x4_t __b)
+vceq_u16 (uint16x4_t __a, uint16x4_t __b)
{
- return (__a <= __b);
+ return (__a == __b);
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcle_u32 (uint32x2_t __a, uint32x2_t __b)
+vceq_u32 (uint32x2_t __a, uint32x2_t __b)
{
- return (__a <= __b);
+ return (__a == __b);
}
__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcle_u64 (uint64x1_t __a, uint64x1_t __b)
+vceq_u64 (uint64x1_t __a, uint64x1_t __b)
{
- return (__a <= __b);
+ return (__a == __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcleq_f32 (float32x4_t __a, float32x4_t __b)
+vceqq_f32 (float32x4_t __a, float32x4_t __b)
{
- return (uint32x4_t) (__a <= __b);
+ return (uint32x4_t) (__a == __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcleq_f64 (float64x2_t __a, float64x2_t __b)
+vceqq_f64 (float64x2_t __a, float64x2_t __b)
{
- return (uint64x2_t) (__a <= __b);
+ return (uint64x2_t) (__a == __b);
}
__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcleq_s8 (int8x16_t __a, int8x16_t __b)
+vceqq_p8 (poly8x16_t __a, poly8x16_t __b)
{
- return (uint8x16_t) (__a <= __b);
+ return (uint8x16_t) (__a == __b);
+}
+
+__extension__ extern __inline uint8x16_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqq_s8 (int8x16_t __a, int8x16_t __b)
+{
+ return (uint8x16_t) (__a == __b);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcleq_s16 (int16x8_t __a, int16x8_t __b)
+vceqq_s16 (int16x8_t __a, int16x8_t __b)
{
- return (uint16x8_t) (__a <= __b);
+ return (uint16x8_t) (__a == __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcleq_s32 (int32x4_t __a, int32x4_t __b)
+vceqq_s32 (int32x4_t __a, int32x4_t __b)
{
- return (uint32x4_t) (__a <= __b);
+ return (uint32x4_t) (__a == __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcleq_s64 (int64x2_t __a, int64x2_t __b)
+vceqq_s64 (int64x2_t __a, int64x2_t __b)
{
- return (uint64x2_t) (__a <= __b);
+ return (uint64x2_t) (__a == __b);
}
__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcleq_u8 (uint8x16_t __a, uint8x16_t __b)
+vceqq_u8 (uint8x16_t __a, uint8x16_t __b)
{
- return (__a <= __b);
+ return (__a == __b);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcleq_u16 (uint16x8_t __a, uint16x8_t __b)
+vceqq_u16 (uint16x8_t __a, uint16x8_t __b)
{
- return (__a <= __b);
+ return (__a == __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcleq_u32 (uint32x4_t __a, uint32x4_t __b)
+vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
{
- return (__a <= __b);
+ return (__a == __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcleq_u64 (uint64x2_t __a, uint64x2_t __b)
+vceqq_u64 (uint64x2_t __a, uint64x2_t __b)
{
- return (__a <= __b);
+ return (__a == __b);
}
-/* vcle - scalar. */
+__extension__ extern __inline uint64x2_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqq_p64 (poly64x2_t __a, poly64x2_t __b)
+{
+ return (__a == __b);
+}
+
+/* vceq - scalar. */
__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcles_f32 (float32_t __a, float32_t __b)
+vceqs_f32 (float32_t __a, float32_t __b)
{
- return __a <= __b ? -1 : 0;
+ return __a == __b ? -1 : 0;
}
__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcled_s64 (int64_t __a, int64_t __b)
+vceqd_s64 (int64_t __a, int64_t __b)
{
- return __a <= __b ? -1ll : 0ll;
+ return __a == __b ? -1ll : 0ll;
}
__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcled_u64 (uint64_t __a, uint64_t __b)
+vceqd_u64 (uint64_t __a, uint64_t __b)
{
- return __a <= __b ? -1ll : 0ll;
+ return __a == __b ? -1ll : 0ll;
}
__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcled_f64 (float64_t __a, float64_t __b)
+vceqd_f64 (float64_t __a, float64_t __b)
{
- return __a <= __b ? -1ll : 0ll;
+ return __a == __b ? -1ll : 0ll;
}
-/* vclez - vector. */
+/* vceqz - vector. */
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclez_f32 (float32x2_t __a)
+vceqz_f32 (float32x2_t __a)
{
- return (uint32x2_t) (__a <= 0.0f);
+ return (uint32x2_t) (__a == 0.0f);
}
__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclez_f64 (float64x1_t __a)
+vceqz_f64 (float64x1_t __a)
{
- return (uint64x1_t) (__a <= (float64x1_t) {0.0});
+ return (uint64x1_t) (__a == (float64x1_t) {0.0});
}
__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclez_s8 (int8x8_t __a)
+vceqz_p8 (poly8x8_t __a)
{
- return (uint8x8_t) (__a <= 0);
+ return (uint8x8_t) (__a == 0);
+}
+
+__extension__ extern __inline uint8x8_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqz_s8 (int8x8_t __a)
+{
+ return (uint8x8_t) (__a == 0);
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclez_s16 (int16x4_t __a)
+vceqz_s16 (int16x4_t __a)
{
- return (uint16x4_t) (__a <= 0);
+ return (uint16x4_t) (__a == 0);
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclez_s32 (int32x2_t __a)
+vceqz_s32 (int32x2_t __a)
{
- return (uint32x2_t) (__a <= 0);
+ return (uint32x2_t) (__a == 0);
}
__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclez_s64 (int64x1_t __a)
+vceqz_s64 (int64x1_t __a)
{
- return (uint64x1_t) (__a <= __AARCH64_INT64_C (0));
+ return (uint64x1_t) (__a == __AARCH64_INT64_C (0));
+}
+
+__extension__ extern __inline uint8x8_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqz_u8 (uint8x8_t __a)
+{
+ return (__a == 0);
+}
+
+__extension__ extern __inline uint16x4_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqz_u16 (uint16x4_t __a)
+{
+ return (__a == 0);
+}
+
+__extension__ extern __inline uint32x2_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqz_u32 (uint32x2_t __a)
+{
+ return (__a == 0);
+}
+
+__extension__ extern __inline uint64x1_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqz_u64 (uint64x1_t __a)
+{
+ return (__a == __AARCH64_UINT64_C (0));
+}
+
+__extension__ extern __inline uint64x1_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqz_p64 (poly64x1_t __a)
+{
+ return (__a == __AARCH64_UINT64_C (0));
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclezq_f32 (float32x4_t __a)
+vceqzq_f32 (float32x4_t __a)
{
- return (uint32x4_t) (__a <= 0.0f);
+ return (uint32x4_t) (__a == 0.0f);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclezq_f64 (float64x2_t __a)
+vceqzq_f64 (float64x2_t __a)
{
- return (uint64x2_t) (__a <= 0.0);
+ return (uint64x2_t) (__a == 0.0f);
}
__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclezq_s8 (int8x16_t __a)
+vceqzq_p8 (poly8x16_t __a)
{
- return (uint8x16_t) (__a <= 0);
+ return (uint8x16_t) (__a == 0);
+}
+
+__extension__ extern __inline uint8x16_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqzq_s8 (int8x16_t __a)
+{
+ return (uint8x16_t) (__a == 0);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclezq_s16 (int16x8_t __a)
+vceqzq_s16 (int16x8_t __a)
{
- return (uint16x8_t) (__a <= 0);
+ return (uint16x8_t) (__a == 0);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclezq_s32 (int32x4_t __a)
+vceqzq_s32 (int32x4_t __a)
+{
+ return (uint32x4_t) (__a == 0);
+}
+
+__extension__ extern __inline uint64x2_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqzq_s64 (int64x2_t __a)
+{
+ return (uint64x2_t) (__a == __AARCH64_INT64_C (0));
+}
+
+__extension__ extern __inline uint8x16_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqzq_u8 (uint8x16_t __a)
+{
+ return (__a == 0);
+}
+
+__extension__ extern __inline uint16x8_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqzq_u16 (uint16x8_t __a)
+{
+ return (__a == 0);
+}
+
+__extension__ extern __inline uint32x4_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqzq_u32 (uint32x4_t __a)
+{
+ return (__a == 0);
+}
+
+__extension__ extern __inline uint64x2_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqzq_u64 (uint64x2_t __a)
{
- return (uint32x4_t) (__a <= 0);
+ return (__a == __AARCH64_UINT64_C (0));
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclezq_s64 (int64x2_t __a)
+vceqzq_p64 (poly64x2_t __a)
{
- return (uint64x2_t) (__a <= __AARCH64_INT64_C (0));
+ return (__a == __AARCH64_UINT64_C (0));
}
-/* vclez - scalar. */
+/* vceqz - scalar. */
__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclezs_f32 (float32_t __a)
+vceqzs_f32 (float32_t __a)
{
- return __a <= 0.0f ? -1 : 0;
+ return __a == 0.0f ? -1 : 0;
}
__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclezd_s64 (int64_t __a)
+vceqzd_s64 (int64_t __a)
{
- return __a <= 0 ? -1ll : 0ll;
+ return __a == 0 ? -1ll : 0ll;
}
__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclezd_f64 (float64_t __a)
+vceqzd_u64 (uint64_t __a)
{
- return __a <= 0.0 ? -1ll : 0ll;
+ return __a == 0 ? -1ll : 0ll;
}
-/* vclt - vector. */
+__extension__ extern __inline uint64_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vceqzd_f64 (float64_t __a)
+{
+ return __a == 0.0 ? -1ll : 0ll;
+}
+
+/* vcge - vector. */
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclt_f32 (float32x2_t __a, float32x2_t __b)
+vcge_f32 (float32x2_t __a, float32x2_t __b)
{
- return (uint32x2_t) (__a < __b);
+ return (uint32x2_t) (__a >= __b);
}
__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclt_f64 (float64x1_t __a, float64x1_t __b)
+vcge_f64 (float64x1_t __a, float64x1_t __b)
{
- return (uint64x1_t) (__a < __b);
+ return (uint64x1_t) (__a >= __b);
}
__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclt_s8 (int8x8_t __a, int8x8_t __b)
+vcge_s8 (int8x8_t __a, int8x8_t __b)
{
- return (uint8x8_t) (__a < __b);
+ return (uint8x8_t) (__a >= __b);
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclt_s16 (int16x4_t __a, int16x4_t __b)
+vcge_s16 (int16x4_t __a, int16x4_t __b)
{
- return (uint16x4_t) (__a < __b);
+ return (uint16x4_t) (__a >= __b);
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclt_s32 (int32x2_t __a, int32x2_t __b)
+vcge_s32 (int32x2_t __a, int32x2_t __b)
{
- return (uint32x2_t) (__a < __b);
+ return (uint32x2_t) (__a >= __b);
}
__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclt_s64 (int64x1_t __a, int64x1_t __b)
+vcge_s64 (int64x1_t __a, int64x1_t __b)
{
- return (uint64x1_t) (__a < __b);
+ return (uint64x1_t) (__a >= __b);
}
__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclt_u8 (uint8x8_t __a, uint8x8_t __b)
+vcge_u8 (uint8x8_t __a, uint8x8_t __b)
{
- return (__a < __b);
+ return (__a >= __b);
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclt_u16 (uint16x4_t __a, uint16x4_t __b)
+vcge_u16 (uint16x4_t __a, uint16x4_t __b)
{
- return (__a < __b);
+ return (__a >= __b);
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclt_u32 (uint32x2_t __a, uint32x2_t __b)
+vcge_u32 (uint32x2_t __a, uint32x2_t __b)
{
- return (__a < __b);
+ return (__a >= __b);
}
__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclt_u64 (uint64x1_t __a, uint64x1_t __b)
+vcge_u64 (uint64x1_t __a, uint64x1_t __b)
{
- return (__a < __b);
+ return (__a >= __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltq_f32 (float32x4_t __a, float32x4_t __b)
+vcgeq_f32 (float32x4_t __a, float32x4_t __b)
{
- return (uint32x4_t) (__a < __b);
+ return (uint32x4_t) (__a >= __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltq_f64 (float64x2_t __a, float64x2_t __b)
+vcgeq_f64 (float64x2_t __a, float64x2_t __b)
{
- return (uint64x2_t) (__a < __b);
+ return (uint64x2_t) (__a >= __b);
}
__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltq_s8 (int8x16_t __a, int8x16_t __b)
+vcgeq_s8 (int8x16_t __a, int8x16_t __b)
{
- return (uint8x16_t) (__a < __b);
+ return (uint8x16_t) (__a >= __b);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltq_s16 (int16x8_t __a, int16x8_t __b)
+vcgeq_s16 (int16x8_t __a, int16x8_t __b)
{
- return (uint16x8_t) (__a < __b);
+ return (uint16x8_t) (__a >= __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltq_s32 (int32x4_t __a, int32x4_t __b)
+vcgeq_s32 (int32x4_t __a, int32x4_t __b)
{
- return (uint32x4_t) (__a < __b);
+ return (uint32x4_t) (__a >= __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltq_s64 (int64x2_t __a, int64x2_t __b)
+vcgeq_s64 (int64x2_t __a, int64x2_t __b)
{
- return (uint64x2_t) (__a < __b);
+ return (uint64x2_t) (__a >= __b);
}
__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltq_u8 (uint8x16_t __a, uint8x16_t __b)
+vcgeq_u8 (uint8x16_t __a, uint8x16_t __b)
{
- return (__a < __b);
+ return (__a >= __b);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltq_u16 (uint16x8_t __a, uint16x8_t __b)
+vcgeq_u16 (uint16x8_t __a, uint16x8_t __b)
{
- return (__a < __b);
+ return (__a >= __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltq_u32 (uint32x4_t __a, uint32x4_t __b)
+vcgeq_u32 (uint32x4_t __a, uint32x4_t __b)
{
- return (__a < __b);
+ return (__a >= __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltq_u64 (uint64x2_t __a, uint64x2_t __b)
+vcgeq_u64 (uint64x2_t __a, uint64x2_t __b)
{
- return (__a < __b);
+ return (__a >= __b);
}
-/* vclt - scalar. */
+/* vcge - scalar. */
__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclts_f32 (float32_t __a, float32_t __b)
+vcges_f32 (float32_t __a, float32_t __b)
{
- return __a < __b ? -1 : 0;
+ return __a >= __b ? -1 : 0;
}
__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltd_s64 (int64_t __a, int64_t __b)
+vcged_s64 (int64_t __a, int64_t __b)
{
- return __a < __b ? -1ll : 0ll;
+ return __a >= __b ? -1ll : 0ll;
}
__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltd_u64 (uint64_t __a, uint64_t __b)
+vcged_u64 (uint64_t __a, uint64_t __b)
{
- return __a < __b ? -1ll : 0ll;
+ return __a >= __b ? -1ll : 0ll;
}
__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltd_f64 (float64_t __a, float64_t __b)
+vcged_f64 (float64_t __a, float64_t __b)
{
- return __a < __b ? -1ll : 0ll;
+ return __a >= __b ? -1ll : 0ll;
}
-/* vcltz - vector. */
+/* vcgez - vector. */
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltz_f32 (float32x2_t __a)
+vcgez_f32 (float32x2_t __a)
{
- return (uint32x2_t) (__a < 0.0f);
+ return (uint32x2_t) (__a >= 0.0f);
}
__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltz_f64 (float64x1_t __a)
+vcgez_f64 (float64x1_t __a)
{
- return (uint64x1_t) (__a < (float64x1_t) {0.0});
+ return (uint64x1_t) (__a[0] >= (float64x1_t) {0.0});
}
__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltz_s8 (int8x8_t __a)
+vcgez_s8 (int8x8_t __a)
{
- return (uint8x8_t) (__a < 0);
+ return (uint8x8_t) (__a >= 0);
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltz_s16 (int16x4_t __a)
+vcgez_s16 (int16x4_t __a)
{
- return (uint16x4_t) (__a < 0);
+ return (uint16x4_t) (__a >= 0);
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltz_s32 (int32x2_t __a)
+vcgez_s32 (int32x2_t __a)
{
- return (uint32x2_t) (__a < 0);
+ return (uint32x2_t) (__a >= 0);
}
__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltz_s64 (int64x1_t __a)
+vcgez_s64 (int64x1_t __a)
{
- return (uint64x1_t) (__a < __AARCH64_INT64_C (0));
+ return (uint64x1_t) (__a >= __AARCH64_INT64_C (0));
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltzq_f32 (float32x4_t __a)
+vcgezq_f32 (float32x4_t __a)
{
- return (uint32x4_t) (__a < 0.0f);
+ return (uint32x4_t) (__a >= 0.0f);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltzq_f64 (float64x2_t __a)
+vcgezq_f64 (float64x2_t __a)
{
- return (uint64x2_t) (__a < 0.0);
+ return (uint64x2_t) (__a >= 0.0);
}
__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltzq_s8 (int8x16_t __a)
-{
- return (uint8x16_t) (__a < 0);
-}
-
-__extension__ extern __inline uint16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltzq_s16 (int16x8_t __a)
-{
- return (uint16x8_t) (__a < 0);
-}
-
-__extension__ extern __inline uint32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltzq_s32 (int32x4_t __a)
-{
- return (uint32x4_t) (__a < 0);
-}
-
-__extension__ extern __inline uint64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltzq_s64 (int64x2_t __a)
-{
- return (uint64x2_t) (__a < __AARCH64_INT64_C (0));
-}
-
-/* vcltz - scalar. */
-
-__extension__ extern __inline uint32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltzs_f32 (float32_t __a)
-{
- return __a < 0.0f ? -1 : 0;
-}
-
-__extension__ extern __inline uint64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltzd_s64 (int64_t __a)
-{
- return __a < 0 ? -1ll : 0ll;
-}
-
-__extension__ extern __inline uint64_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcltzd_f64 (float64_t __a)
-{
- return __a < 0.0 ? -1ll : 0ll;
-}
-
-/* vcls. */
-
-__extension__ extern __inline int8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcls_s8 (int8x8_t __a)
-{
- return __builtin_aarch64_clrsbv8qi (__a);
-}
-
-__extension__ extern __inline int16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcls_s16 (int16x4_t __a)
-{
- return __builtin_aarch64_clrsbv4hi (__a);
-}
-
-__extension__ extern __inline int32x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcls_s32 (int32x2_t __a)
-{
- return __builtin_aarch64_clrsbv2si (__a);
-}
-
-__extension__ extern __inline int8x16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclsq_s8 (int8x16_t __a)
-{
- return __builtin_aarch64_clrsbv16qi (__a);
-}
-
-__extension__ extern __inline int16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclsq_s16 (int16x8_t __a)
-{
- return __builtin_aarch64_clrsbv8hi (__a);
-}
-
-__extension__ extern __inline int32x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclsq_s32 (int32x4_t __a)
-{
- return __builtin_aarch64_clrsbv4si (__a);
-}
-
-__extension__ extern __inline int8x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcls_u8 (uint8x8_t __a)
+vcgezq_s8 (int8x16_t __a)
{
- return __builtin_aarch64_clrsbv8qi ((int8x8_t) __a);
+ return (uint8x16_t) (__a >= 0);
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcls_u16 (uint16x4_t __a)
+vcgezq_s16 (int16x8_t __a)
{
- return __builtin_aarch64_clrsbv4hi ((int16x4_t) __a);
+ return (uint16x8_t) (__a >= 0);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcls_u32 (uint32x2_t __a)
+vcgezq_s32 (int32x4_t __a)
{
- return __builtin_aarch64_clrsbv2si ((int32x2_t) __a);
+ return (uint32x4_t) (__a >= 0);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclsq_u8 (uint8x16_t __a)
+vcgezq_s64 (int64x2_t __a)
{
- return __builtin_aarch64_clrsbv16qi ((int8x16_t) __a);
+ return (uint64x2_t) (__a >= __AARCH64_INT64_C (0));
}
-__extension__ extern __inline int16x8_t
+/* vcgez - scalar. */
+
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclsq_u16 (uint16x8_t __a)
+vcgezs_f32 (float32_t __a)
{
- return __builtin_aarch64_clrsbv8hi ((int16x8_t) __a);
+ return __a >= 0.0f ? -1 : 0;
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclsq_u32 (uint32x4_t __a)
+vcgezd_s64 (int64_t __a)
{
- return __builtin_aarch64_clrsbv4si ((int32x4_t) __a);
+ return __a >= 0 ? -1ll : 0ll;
}
-/* vclz. */
-
-__extension__ extern __inline int8x8_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclz_s8 (int8x8_t __a)
+vcgezd_f64 (float64_t __a)
{
- return __builtin_aarch64_clzv8qi (__a);
+ return __a >= 0.0 ? -1ll : 0ll;
}
-__extension__ extern __inline int16x4_t
+/* vcgt - vector. */
+
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclz_s16 (int16x4_t __a)
+vcgt_f32 (float32x2_t __a, float32x2_t __b)
{
- return __builtin_aarch64_clzv4hi (__a);
+ return (uint32x2_t) (__a > __b);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclz_s32 (int32x2_t __a)
+vcgt_f64 (float64x1_t __a, float64x1_t __b)
{
- return __builtin_aarch64_clzv2si (__a);
+ return (uint64x1_t) (__a > __b);
}
__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclz_u8 (uint8x8_t __a)
+vcgt_s8 (int8x8_t __a, int8x8_t __b)
{
- return (uint8x8_t)__builtin_aarch64_clzv8qi ((int8x8_t)__a);
+ return (uint8x8_t) (__a > __b);
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclz_u16 (uint16x4_t __a)
+vcgt_s16 (int16x4_t __a, int16x4_t __b)
{
- return (uint16x4_t)__builtin_aarch64_clzv4hi ((int16x4_t)__a);
+ return (uint16x4_t) (__a > __b);
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclz_u32 (uint32x2_t __a)
+vcgt_s32 (int32x2_t __a, int32x2_t __b)
{
- return (uint32x2_t)__builtin_aarch64_clzv2si ((int32x2_t)__a);
+ return (uint32x2_t) (__a > __b);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclzq_s8 (int8x16_t __a)
+vcgt_s64 (int64x1_t __a, int64x1_t __b)
{
- return __builtin_aarch64_clzv16qi (__a);
+ return (uint64x1_t) (__a > __b);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclzq_s16 (int16x8_t __a)
+vcgt_u8 (uint8x8_t __a, uint8x8_t __b)
{
- return __builtin_aarch64_clzv8hi (__a);
+ return (__a > __b);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclzq_s32 (int32x4_t __a)
+vcgt_u16 (uint16x4_t __a, uint16x4_t __b)
{
- return __builtin_aarch64_clzv4si (__a);
+ return (__a > __b);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclzq_u8 (uint8x16_t __a)
+vcgt_u32 (uint32x2_t __a, uint32x2_t __b)
{
- return (uint8x16_t)__builtin_aarch64_clzv16qi ((int8x16_t)__a);
+ return (__a > __b);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclzq_u16 (uint16x8_t __a)
+vcgt_u64 (uint64x1_t __a, uint64x1_t __b)
{
- return (uint16x8_t)__builtin_aarch64_clzv8hi ((int16x8_t)__a);
+ return (__a > __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vclzq_u32 (uint32x4_t __a)
+vcgtq_f32 (float32x4_t __a, float32x4_t __b)
{
- return (uint32x4_t)__builtin_aarch64_clzv4si ((int32x4_t)__a);
+ return (uint32x4_t) (__a > __b);
}
-/* vcnt. */
-
-__extension__ extern __inline poly8x8_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcnt_p8 (poly8x8_t __a)
+vcgtq_f64 (float64x2_t __a, float64x2_t __b)
{
- return (poly8x8_t) __builtin_aarch64_popcountv8qi ((int8x8_t) __a);
+ return (uint64x2_t) (__a > __b);
}
-__extension__ extern __inline int8x8_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcnt_s8 (int8x8_t __a)
+vcgtq_s8 (int8x16_t __a, int8x16_t __b)
{
- return __builtin_aarch64_popcountv8qi (__a);
+ return (uint8x16_t) (__a > __b);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcnt_u8 (uint8x8_t __a)
+vcgtq_s16 (int16x8_t __a, int16x8_t __b)
{
- return (uint8x8_t) __builtin_aarch64_popcountv8qi ((int8x8_t) __a);
+ return (uint16x8_t) (__a > __b);
}
-__extension__ extern __inline poly8x16_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcntq_p8 (poly8x16_t __a)
+vcgtq_s32 (int32x4_t __a, int32x4_t __b)
{
- return (poly8x16_t) __builtin_aarch64_popcountv16qi ((int8x16_t) __a);
+ return (uint32x4_t) (__a > __b);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcntq_s8 (int8x16_t __a)
+vcgtq_s64 (int64x2_t __a, int64x2_t __b)
{
- return __builtin_aarch64_popcountv16qi (__a);
+ return (uint64x2_t) (__a > __b);
}
__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcntq_u8 (uint8x16_t __a)
+vcgtq_u8 (uint8x16_t __a, uint8x16_t __b)
{
- return (uint8x16_t) __builtin_aarch64_popcountv16qi ((int8x16_t) __a);
+ return (__a > __b);
}
-/* vcopy_lane. */
-
-__extension__ extern __inline float32x2_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_f32 (float32x2_t __a, const int __lane1,
- float32x2_t __b, const int __lane2)
+vcgtq_u16 (uint16x8_t __a, uint16x8_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (__a > __b);
}
-__extension__ extern __inline float64x1_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_f64 (float64x1_t __a, const int __lane1,
- float64x1_t __b, const int __lane2)
+vcgtq_u32 (uint32x4_t __a, uint32x4_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (__a > __b);
}
-__extension__ extern __inline poly8x8_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_p8 (poly8x8_t __a, const int __lane1,
- poly8x8_t __b, const int __lane2)
+vcgtq_u64 (uint64x2_t __a, uint64x2_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (__a > __b);
}
-__extension__ extern __inline poly16x4_t
+/* vcgt - scalar. */
+
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_p16 (poly16x4_t __a, const int __lane1,
- poly16x4_t __b, const int __lane2)
+vcgts_f32 (float32_t __a, float32_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return __a > __b ? -1 : 0;
}
-__extension__ extern __inline poly64x1_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_p64 (poly64x1_t __a, const int __lane1,
- poly64x1_t __b, const int __lane2)
+vcgtd_s64 (int64_t __a, int64_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return __a > __b ? -1ll : 0ll;
}
-__extension__ extern __inline int8x8_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_s8 (int8x8_t __a, const int __lane1,
- int8x8_t __b, const int __lane2)
+vcgtd_u64 (uint64_t __a, uint64_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return __a > __b ? -1ll : 0ll;
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_s16 (int16x4_t __a, const int __lane1,
- int16x4_t __b, const int __lane2)
+vcgtd_f64 (float64_t __a, float64_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return __a > __b ? -1ll : 0ll;
}
-__extension__ extern __inline int32x2_t
+/* vcgtz - vector. */
+
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_s32 (int32x2_t __a, const int __lane1,
- int32x2_t __b, const int __lane2)
+vcgtz_f32 (float32x2_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint32x2_t) (__a > 0.0f);
}
-__extension__ extern __inline int64x1_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_s64 (int64x1_t __a, const int __lane1,
- int64x1_t __b, const int __lane2)
+vcgtz_f64 (float64x1_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint64x1_t) (__a > (float64x1_t) {0.0});
}
__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_u8 (uint8x8_t __a, const int __lane1,
- uint8x8_t __b, const int __lane2)
+vcgtz_s8 (int8x8_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint8x8_t) (__a > 0);
}
__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_u16 (uint16x4_t __a, const int __lane1,
- uint16x4_t __b, const int __lane2)
+vcgtz_s16 (int16x4_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint16x4_t) (__a > 0);
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_u32 (uint32x2_t __a, const int __lane1,
- uint32x2_t __b, const int __lane2)
+vcgtz_s32 (int32x2_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint32x2_t) (__a > 0);
}
__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_u64 (uint64x1_t __a, const int __lane1,
- uint64x1_t __b, const int __lane2)
+vcgtz_s64 (int64x1_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint64x1_t) (__a > __AARCH64_INT64_C (0));
}
-/* vcopy_laneq. */
-
-__extension__ extern __inline float32x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_f32 (float32x2_t __a, const int __lane1,
- float32x4_t __b, const int __lane2)
+vcgtzq_f32 (float32x4_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint32x4_t) (__a > 0.0f);
}
-__extension__ extern __inline float64x1_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_f64 (float64x1_t __a, const int __lane1,
- float64x2_t __b, const int __lane2)
+vcgtzq_f64 (float64x2_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint64x2_t) (__a > 0.0);
}
-__extension__ extern __inline poly8x8_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_p8 (poly8x8_t __a, const int __lane1,
- poly8x16_t __b, const int __lane2)
+vcgtzq_s8 (int8x16_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint8x16_t) (__a > 0);
}
-__extension__ extern __inline poly16x4_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_p16 (poly16x4_t __a, const int __lane1,
- poly16x8_t __b, const int __lane2)
+vcgtzq_s16 (int16x8_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint16x8_t) (__a > 0);
}
-__extension__ extern __inline poly64x1_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_p64 (poly64x1_t __a, const int __lane1,
- poly64x2_t __b, const int __lane2)
+vcgtzq_s32 (int32x4_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint32x4_t) (__a > 0);
}
-__extension__ extern __inline int8x8_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_s8 (int8x8_t __a, const int __lane1,
- int8x16_t __b, const int __lane2)
+vcgtzq_s64 (int64x2_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint64x2_t) (__a > __AARCH64_INT64_C (0));
}
-__extension__ extern __inline int16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_s16 (int16x4_t __a, const int __lane1,
- int16x8_t __b, const int __lane2)
-{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
-}
+/* vcgtz - scalar. */
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_s32 (int32x2_t __a, const int __lane1,
- int32x4_t __b, const int __lane2)
+vcgtzs_f32 (float32_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return __a > 0.0f ? -1 : 0;
}
-__extension__ extern __inline int64x1_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_s64 (int64x1_t __a, const int __lane1,
- int64x2_t __b, const int __lane2)
+vcgtzd_s64 (int64_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return __a > 0 ? -1ll : 0ll;
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_u8 (uint8x8_t __a, const int __lane1,
- uint8x16_t __b, const int __lane2)
+vcgtzd_f64 (float64_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return __a > 0.0 ? -1ll : 0ll;
}
-__extension__ extern __inline uint16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_u16 (uint16x4_t __a, const int __lane1,
- uint16x8_t __b, const int __lane2)
-{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
-}
+/* vcle - vector. */
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_u32 (uint32x2_t __a, const int __lane1,
- uint32x4_t __b, const int __lane2)
+vcle_f32 (float32x2_t __a, float32x2_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint32x2_t) (__a <= __b);
}
__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_u64 (uint64x1_t __a, const int __lane1,
- uint64x2_t __b, const int __lane2)
+vcle_f64 (float64x1_t __a, float64x1_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint64x1_t) (__a <= __b);
}
-/* vcopyq_lane. */
+__extension__ extern __inline uint8x8_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vcle_s8 (int8x8_t __a, int8x8_t __b)
+{
+ return (uint8x8_t) (__a <= __b);
+}
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_f32 (float32x4_t __a, const int __lane1,
- float32x2_t __b, const int __lane2)
+vcle_s16 (int16x4_t __a, int16x4_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint16x4_t) (__a <= __b);
}
-__extension__ extern __inline float64x2_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_f64 (float64x2_t __a, const int __lane1,
- float64x1_t __b, const int __lane2)
+vcle_s32 (int32x2_t __a, int32x2_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint32x2_t) (__a <= __b);
}
-__extension__ extern __inline poly8x16_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_p8 (poly8x16_t __a, const int __lane1,
- poly8x8_t __b, const int __lane2)
+vcle_s64 (int64x1_t __a, int64x1_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint64x1_t) (__a <= __b);
}
-__extension__ extern __inline poly16x8_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_p16 (poly16x8_t __a, const int __lane1,
- poly16x4_t __b, const int __lane2)
+vcle_u8 (uint8x8_t __a, uint8x8_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (__a <= __b);
}
-__extension__ extern __inline poly64x2_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_p64 (poly64x2_t __a, const int __lane1,
- poly64x1_t __b, const int __lane2)
+vcle_u16 (uint16x4_t __a, uint16x4_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (__a <= __b);
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_s8 (int8x16_t __a, const int __lane1,
- int8x8_t __b, const int __lane2)
+vcle_u32 (uint32x2_t __a, uint32x2_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (__a <= __b);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_s16 (int16x8_t __a, const int __lane1,
- int16x4_t __b, const int __lane2)
+vcle_u64 (uint64x1_t __a, uint64x1_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (__a <= __b);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_s32 (int32x4_t __a, const int __lane1,
- int32x2_t __b, const int __lane2)
+vcleq_f32 (float32x4_t __a, float32x4_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint32x4_t) (__a <= __b);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_s64 (int64x2_t __a, const int __lane1,
- int64x1_t __b, const int __lane2)
+vcleq_f64 (float64x2_t __a, float64x2_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint64x2_t) (__a <= __b);
}
__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_u8 (uint8x16_t __a, const int __lane1,
- uint8x8_t __b, const int __lane2)
+vcleq_s8 (int8x16_t __a, int8x16_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint8x16_t) (__a <= __b);
}
__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_u16 (uint16x8_t __a, const int __lane1,
- uint16x4_t __b, const int __lane2)
+vcleq_s16 (int16x8_t __a, int16x8_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint16x8_t) (__a <= __b);
}
__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_u32 (uint32x4_t __a, const int __lane1,
- uint32x2_t __b, const int __lane2)
+vcleq_s32 (int32x4_t __a, int32x4_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint32x4_t) (__a <= __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_u64 (uint64x2_t __a, const int __lane1,
- uint64x1_t __b, const int __lane2)
+vcleq_s64 (int64x2_t __a, int64x2_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint64x2_t) (__a <= __b);
}
-/* vcopyq_laneq. */
-
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_f32 (float32x4_t __a, const int __lane1,
- float32x4_t __b, const int __lane2)
+vcleq_u8 (uint8x16_t __a, uint8x16_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (__a <= __b);
}
-__extension__ extern __inline float64x2_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_f64 (float64x2_t __a, const int __lane1,
- float64x2_t __b, const int __lane2)
+vcleq_u16 (uint16x8_t __a, uint16x8_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (__a <= __b);
}
-__extension__ extern __inline poly8x16_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_p8 (poly8x16_t __a, const int __lane1,
- poly8x16_t __b, const int __lane2)
+vcleq_u32 (uint32x4_t __a, uint32x4_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (__a <= __b);
}
-__extension__ extern __inline poly16x8_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_p16 (poly16x8_t __a, const int __lane1,
- poly16x8_t __b, const int __lane2)
+vcleq_u64 (uint64x2_t __a, uint64x2_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (__a <= __b);
}
-__extension__ extern __inline poly64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_p64 (poly64x2_t __a, const int __lane1,
- poly64x2_t __b, const int __lane2)
-{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
-}
+/* vcle - scalar. */
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_s8 (int8x16_t __a, const int __lane1,
- int8x16_t __b, const int __lane2)
+vcles_f32 (float32_t __a, float32_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return __a <= __b ? -1 : 0;
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_s16 (int16x8_t __a, const int __lane1,
- int16x8_t __b, const int __lane2)
+vcled_s64 (int64_t __a, int64_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return __a <= __b ? -1ll : 0ll;
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_s32 (int32x4_t __a, const int __lane1,
- int32x4_t __b, const int __lane2)
+vcled_u64 (uint64_t __a, uint64_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return __a <= __b ? -1ll : 0ll;
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_s64 (int64x2_t __a, const int __lane1,
- int64x2_t __b, const int __lane2)
+vcled_f64 (float64_t __a, float64_t __b)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return __a <= __b ? -1ll : 0ll;
}
-__extension__ extern __inline uint8x16_t
+/* vclez - vector. */
+
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_u8 (uint8x16_t __a, const int __lane1,
- uint8x16_t __b, const int __lane2)
+vclez_f32 (float32x2_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint32x2_t) (__a <= 0.0f);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_u16 (uint16x8_t __a, const int __lane1,
- uint16x8_t __b, const int __lane2)
+vclez_f64 (float64x1_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint64x1_t) (__a <= (float64x1_t) {0.0});
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_u32 (uint32x4_t __a, const int __lane1,
- uint32x4_t __b, const int __lane2)
+vclez_s8 (int8x8_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint8x8_t) (__a <= 0);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_u64 (uint64x2_t __a, const int __lane1,
- uint64x2_t __b, const int __lane2)
+vclez_s16 (int16x4_t __a)
{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
+ return (uint16x4_t) (__a <= 0);
}
-/* vcvt (double -> float). */
-
-__extension__ extern __inline float16x4_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_f16_f32 (float32x4_t __a)
+vclez_s32 (int32x2_t __a)
{
- return __builtin_aarch64_float_truncate_lo_v4hf (__a);
+ return (uint32x2_t) (__a <= 0);
}
-__extension__ extern __inline float16x8_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_high_f16_f32 (float16x4_t __a, float32x4_t __b)
+vclez_s64 (int64x1_t __a)
{
- return __builtin_aarch64_float_truncate_hi_v8hf (__a, __b);
+ return (uint64x1_t) (__a <= __AARCH64_INT64_C (0));
}
-__extension__ extern __inline float32x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_f32_f64 (float64x2_t __a)
+vclezq_f32 (float32x4_t __a)
{
- return __builtin_aarch64_float_truncate_lo_v2sf (__a);
+ return (uint32x4_t) (__a <= 0.0f);
}
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_high_f32_f64 (float32x2_t __a, float64x2_t __b)
+vclezq_f64 (float64x2_t __a)
{
- return __builtin_aarch64_float_truncate_hi_v4sf (__a, __b);
+ return (uint64x2_t) (__a <= 0.0);
}
-/* vcvt (float -> double). */
-
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_f32_f16 (float16x4_t __a)
+vclezq_s8 (int8x16_t __a)
{
- return __builtin_aarch64_float_extend_lo_v4sf (__a);
+ return (uint8x16_t) (__a <= 0);
}
-__extension__ extern __inline float64x2_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_f64_f32 (float32x2_t __a)
+vclezq_s16 (int16x8_t __a)
{
-
- return __builtin_aarch64_float_extend_lo_v2df (__a);
+ return (uint16x8_t) (__a <= 0);
}
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_high_f32_f16 (float16x8_t __a)
+vclezq_s32 (int32x4_t __a)
{
- return __builtin_aarch64_vec_unpacks_hi_v8hf (__a);
+ return (uint32x4_t) (__a <= 0);
}
-__extension__ extern __inline float64x2_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_high_f64_f32 (float32x4_t __a)
+vclezq_s64 (int64x2_t __a)
{
- return __builtin_aarch64_vec_unpacks_hi_v4sf (__a);
+ return (uint64x2_t) (__a <= __AARCH64_INT64_C (0));
}
-/* vcvt (<u>fixed-point -> float). */
+/* vclez - scalar. */
-__extension__ extern __inline float64_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtd_n_f64_s64 (int64_t __a, const int __b)
+vclezs_f32 (float32_t __a)
{
- return __builtin_aarch64_scvtfdi (__a, __b);
+ return __a <= 0.0f ? -1 : 0;
}
-__extension__ extern __inline float64_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtd_n_f64_u64 (uint64_t __a, const int __b)
+vclezd_s64 (int64_t __a)
{
- return __builtin_aarch64_ucvtfdi_sus (__a, __b);
+ return __a <= 0 ? -1ll : 0ll;
}
-__extension__ extern __inline float32_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvts_n_f32_s32 (int32_t __a, const int __b)
+vclezd_f64 (float64_t __a)
{
- return __builtin_aarch64_scvtfsi (__a, __b);
+ return __a <= 0.0 ? -1ll : 0ll;
}
-__extension__ extern __inline float32_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvts_n_f32_u32 (uint32_t __a, const int __b)
-{
- return __builtin_aarch64_ucvtfsi_sus (__a, __b);
-}
+/* vclt - vector. */
-__extension__ extern __inline float32x2_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_n_f32_s32 (int32x2_t __a, const int __b)
+vclt_f32 (float32x2_t __a, float32x2_t __b)
{
- return __builtin_aarch64_scvtfv2si (__a, __b);
+ return (uint32x2_t) (__a < __b);
}
-__extension__ extern __inline float32x2_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_n_f32_u32 (uint32x2_t __a, const int __b)
+vclt_f64 (float64x1_t __a, float64x1_t __b)
{
- return __builtin_aarch64_ucvtfv2si_sus (__a, __b);
+ return (uint64x1_t) (__a < __b);
}
-__extension__ extern __inline float64x1_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_n_f64_s64 (int64x1_t __a, const int __b)
+vclt_s8 (int8x8_t __a, int8x8_t __b)
{
- return (float64x1_t)
- { __builtin_aarch64_scvtfdi (vget_lane_s64 (__a, 0), __b) };
+ return (uint8x8_t) (__a < __b);
}
-__extension__ extern __inline float64x1_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_n_f64_u64 (uint64x1_t __a, const int __b)
+vclt_s16 (int16x4_t __a, int16x4_t __b)
{
- return (float64x1_t)
- { __builtin_aarch64_ucvtfdi_sus (vget_lane_u64 (__a, 0), __b) };
+ return (uint16x4_t) (__a < __b);
}
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_n_f32_s32 (int32x4_t __a, const int __b)
+vclt_s32 (int32x2_t __a, int32x2_t __b)
{
- return __builtin_aarch64_scvtfv4si (__a, __b);
+ return (uint32x2_t) (__a < __b);
}
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_n_f32_u32 (uint32x4_t __a, const int __b)
+vclt_s64 (int64x1_t __a, int64x1_t __b)
{
- return __builtin_aarch64_ucvtfv4si_sus (__a, __b);
+ return (uint64x1_t) (__a < __b);
}
-__extension__ extern __inline float64x2_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_n_f64_s64 (int64x2_t __a, const int __b)
+vclt_u8 (uint8x8_t __a, uint8x8_t __b)
{
- return __builtin_aarch64_scvtfv2di (__a, __b);
+ return (__a < __b);
}
-__extension__ extern __inline float64x2_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_n_f64_u64 (uint64x2_t __a, const int __b)
+vclt_u16 (uint16x4_t __a, uint16x4_t __b)
{
- return __builtin_aarch64_ucvtfv2di_sus (__a, __b);
+ return (__a < __b);
}
-/* vcvt (float -> <u>fixed-point). */
-
-__extension__ extern __inline int64_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtd_n_s64_f64 (float64_t __a, const int __b)
+vclt_u32 (uint32x2_t __a, uint32x2_t __b)
{
- return __builtin_aarch64_fcvtzsdf (__a, __b);
+ return (__a < __b);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtd_n_u64_f64 (float64_t __a, const int __b)
+vclt_u64 (uint64x1_t __a, uint64x1_t __b)
{
- return __builtin_aarch64_fcvtzudf_uss (__a, __b);
+ return (__a < __b);
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvts_n_s32_f32 (float32_t __a, const int __b)
+vcltq_f32 (float32x4_t __a, float32x4_t __b)
{
- return __builtin_aarch64_fcvtzssf (__a, __b);
+ return (uint32x4_t) (__a < __b);
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvts_n_u32_f32 (float32_t __a, const int __b)
+vcltq_f64 (float64x2_t __a, float64x2_t __b)
{
- return __builtin_aarch64_fcvtzusf_uss (__a, __b);
+ return (uint64x2_t) (__a < __b);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_n_s32_f32 (float32x2_t __a, const int __b)
+vcltq_s8 (int8x16_t __a, int8x16_t __b)
{
- return __builtin_aarch64_fcvtzsv2sf (__a, __b);
+ return (uint8x16_t) (__a < __b);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_n_u32_f32 (float32x2_t __a, const int __b)
+vcltq_s16 (int16x8_t __a, int16x8_t __b)
{
- return __builtin_aarch64_fcvtzuv2sf_uss (__a, __b);
+ return (uint16x8_t) (__a < __b);
}
-__extension__ extern __inline int64x1_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_n_s64_f64 (float64x1_t __a, const int __b)
+vcltq_s32 (int32x4_t __a, int32x4_t __b)
{
- return (int64x1_t)
- { __builtin_aarch64_fcvtzsdf (vget_lane_f64 (__a, 0), __b) };
+ return (uint32x4_t) (__a < __b);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_n_u64_f64 (float64x1_t __a, const int __b)
+vcltq_s64 (int64x2_t __a, int64x2_t __b)
{
- return (uint64x1_t)
- { __builtin_aarch64_fcvtzudf_uss (vget_lane_f64 (__a, 0), __b) };
+ return (uint64x2_t) (__a < __b);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_n_s32_f32 (float32x4_t __a, const int __b)
+vcltq_u8 (uint8x16_t __a, uint8x16_t __b)
{
- return __builtin_aarch64_fcvtzsv4sf (__a, __b);
+ return (__a < __b);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_n_u32_f32 (float32x4_t __a, const int __b)
+vcltq_u16 (uint16x8_t __a, uint16x8_t __b)
{
- return __builtin_aarch64_fcvtzuv4sf_uss (__a, __b);
+ return (__a < __b);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_n_s64_f64 (float64x2_t __a, const int __b)
+vcltq_u32 (uint32x4_t __a, uint32x4_t __b)
{
- return __builtin_aarch64_fcvtzsv2df (__a, __b);
+ return (__a < __b);
}
__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_n_u64_f64 (float64x2_t __a, const int __b)
+vcltq_u64 (uint64x2_t __a, uint64x2_t __b)
{
- return __builtin_aarch64_fcvtzuv2df_uss (__a, __b);
+ return (__a < __b);
}
-/* vcvt (<u>int -> float) */
+/* vclt - scalar. */
-__extension__ extern __inline float64_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtd_f64_s64 (int64_t __a)
+vclts_f32 (float32_t __a, float32_t __b)
{
- return (float64_t) __a;
+ return __a < __b ? -1 : 0;
}
-__extension__ extern __inline float64_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtd_f64_u64 (uint64_t __a)
+vcltd_s64 (int64_t __a, int64_t __b)
{
- return (float64_t) __a;
+ return __a < __b ? -1ll : 0ll;
}
-__extension__ extern __inline float32_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvts_f32_s32 (int32_t __a)
+vcltd_u64 (uint64_t __a, uint64_t __b)
{
- return (float32_t) __a;
+ return __a < __b ? -1ll : 0ll;
}
-__extension__ extern __inline float32_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvts_f32_u32 (uint32_t __a)
+vcltd_f64 (float64_t __a, float64_t __b)
{
- return (float32_t) __a;
+ return __a < __b ? -1ll : 0ll;
}
-__extension__ extern __inline float32x2_t
+/* vcltz - vector. */
+
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_f32_s32 (int32x2_t __a)
+vcltz_f32 (float32x2_t __a)
{
- return __builtin_aarch64_floatv2siv2sf (__a);
+ return (uint32x2_t) (__a < 0.0f);
}
-__extension__ extern __inline float32x2_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_f32_u32 (uint32x2_t __a)
+vcltz_f64 (float64x1_t __a)
{
- return __builtin_aarch64_floatunsv2siv2sf ((int32x2_t) __a);
+ return (uint64x1_t) (__a < (float64x1_t) {0.0});
}
-__extension__ extern __inline float64x1_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_f64_s64 (int64x1_t __a)
+vcltz_s8 (int8x8_t __a)
{
- return (float64x1_t) { vget_lane_s64 (__a, 0) };
+ return (uint8x8_t) (__a < 0);
}
-__extension__ extern __inline float64x1_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_f64_u64 (uint64x1_t __a)
+vcltz_s16 (int16x4_t __a)
{
- return (float64x1_t) { vget_lane_u64 (__a, 0) };
+ return (uint16x4_t) (__a < 0);
}
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_f32_s32 (int32x4_t __a)
+vcltz_s32 (int32x2_t __a)
{
- return __builtin_aarch64_floatv4siv4sf (__a);
+ return (uint32x2_t) (__a < 0);
}
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_f32_u32 (uint32x4_t __a)
+vcltz_s64 (int64x1_t __a)
{
- return __builtin_aarch64_floatunsv4siv4sf ((int32x4_t) __a);
+ return (uint64x1_t) (__a < __AARCH64_INT64_C (0));
}
-__extension__ extern __inline float64x2_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_f64_s64 (int64x2_t __a)
+vcltzq_f32 (float32x4_t __a)
{
- return __builtin_aarch64_floatv2div2df (__a);
+ return (uint32x4_t) (__a < 0.0f);
}
-__extension__ extern __inline float64x2_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_f64_u64 (uint64x2_t __a)
+vcltzq_f64 (float64x2_t __a)
{
- return __builtin_aarch64_floatunsv2div2df ((int64x2_t) __a);
+ return (uint64x2_t) (__a < 0.0);
}
-/* vcvt (float -> <u>int) */
+__extension__ extern __inline uint8x16_t
+__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
+vcltzq_s8 (int8x16_t __a)
+{
+ return (uint8x16_t) (__a < 0);
+}
-__extension__ extern __inline int64_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtd_s64_f64 (float64_t __a)
+vcltzq_s16 (int16x8_t __a)
{
- return (int64_t) __a;
+ return (uint16x8_t) (__a < 0);
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtd_s32_f64 (float64_t __a)
+vcltzq_s32 (int32x4_t __a)
{
- return (int32_t) __a;
+ return (uint32x4_t) (__a < 0);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtd_u64_f64 (float64_t __a)
+vcltzq_s64 (int64x2_t __a)
{
- return (uint64_t) __a;
+ return (uint64x2_t) (__a < __AARCH64_INT64_C (0));
}
+/* vcltz - scalar. */
+
__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtd_u32_f64 (float64_t __a)
+vcltzs_f32 (float32_t __a)
{
- return (uint32_t) __a;
+ return __a < 0.0f ? -1 : 0;
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvts_s32_f32 (float32_t __a)
+vcltzd_s64 (int64_t __a)
{
- return (int32_t) __a;
+ return __a < 0 ? -1ll : 0ll;
}
-__extension__ extern __inline int64_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvts_s64_f32 (float32_t __a)
+vcltzd_f64 (float64_t __a)
{
- return (int64_t) __a;
+ return __a < 0.0 ? -1ll : 0ll;
}
-__extension__ extern __inline uint32_t
+/* vcls. */
+
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvts_u32_f32 (float32_t __a)
+vcls_s8 (int8x8_t __a)
{
- return (uint32_t) __a;
+ return __builtin_aarch64_clrsbv8qi (__a);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvts_u64_f32 (float32_t __a)
+vcls_s16 (int16x4_t __a)
{
- return (uint64_t) __a;
+ return __builtin_aarch64_clrsbv4hi (__a);
}
__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_s32_f32 (float32x2_t __a)
+vcls_s32 (int32x2_t __a)
{
- return __builtin_aarch64_lbtruncv2sfv2si (__a);
+ return __builtin_aarch64_clrsbv2si (__a);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_u32_f32 (float32x2_t __a)
+vclsq_s8 (int8x16_t __a)
{
- return __builtin_aarch64_lbtruncuv2sfv2si_us (__a);
+ return __builtin_aarch64_clrsbv16qi (__a);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_s32_f32 (float32x4_t __a)
+vclsq_s16 (int16x8_t __a)
{
- return __builtin_aarch64_lbtruncv4sfv4si (__a);
+ return __builtin_aarch64_clrsbv8hi (__a);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_u32_f32 (float32x4_t __a)
+vclsq_s32 (int32x4_t __a)
{
- return __builtin_aarch64_lbtruncuv4sfv4si_us (__a);
+ return __builtin_aarch64_clrsbv4si (__a);
}
-__extension__ extern __inline int64x1_t
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_s64_f64 (float64x1_t __a)
+vcls_u8 (uint8x8_t __a)
{
- return (int64x1_t) {vcvtd_s64_f64 (__a[0])};
+ return __builtin_aarch64_clrsbv8qi ((int8x8_t) __a);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvt_u64_f64 (float64x1_t __a)
+vcls_u16 (uint16x4_t __a)
{
- return (uint64x1_t) {vcvtd_u64_f64 (__a[0])};
+ return __builtin_aarch64_clrsbv4hi ((int16x4_t) __a);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_s64_f64 (float64x2_t __a)
+vcls_u32 (uint32x2_t __a)
{
- return __builtin_aarch64_lbtruncv2dfv2di (__a);
+ return __builtin_aarch64_clrsbv2si ((int32x2_t) __a);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtq_u64_f64 (float64x2_t __a)
+vclsq_u8 (uint8x16_t __a)
{
- return __builtin_aarch64_lbtruncuv2dfv2di_us (__a);
+ return __builtin_aarch64_clrsbv16qi ((int8x16_t) __a);
}
-/* vcvta */
-
-__extension__ extern __inline int64_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtad_s64_f64 (float64_t __a)
+vclsq_u16 (uint16x8_t __a)
{
- return __builtin_aarch64_lrounddfdi (__a);
+ return __builtin_aarch64_clrsbv8hi ((int16x8_t) __a);
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtad_s32_f64 (float64_t __a)
+vclsq_u32 (uint32x4_t __a)
{
- return __builtin_aarch64_lrounddfsi (__a);
+ return __builtin_aarch64_clrsbv4si ((int32x4_t) __a);
}
-__extension__ extern __inline uint64_t
+/* vclz. */
+
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtad_u64_f64 (float64_t __a)
+vclz_s8 (int8x8_t __a)
{
- return __builtin_aarch64_lroundudfdi_us (__a);
+ return __builtin_aarch64_clzv8qi (__a);
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline int16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtad_u32_f64 (float64_t __a)
+vclz_s16 (int16x4_t __a)
{
- return __builtin_aarch64_lroundudfsi_us (__a);
+ return __builtin_aarch64_clzv4hi (__a);
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtas_s32_f32 (float32_t __a)
+vclz_s32 (int32x2_t __a)
{
- return __builtin_aarch64_lroundsfsi (__a);
+ return __builtin_aarch64_clzv2si (__a);
}
-__extension__ extern __inline int64_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtas_s64_f32 (float32_t __a)
+vclz_u8 (uint8x8_t __a)
{
- return __builtin_aarch64_lroundsfdi (__a);
+ return (uint8x8_t)__builtin_aarch64_clzv8qi ((int8x8_t)__a);
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline uint16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtas_u32_f32 (float32_t __a)
+vclz_u16 (uint16x4_t __a)
{
- return __builtin_aarch64_lroundusfsi_us (__a);
+ return (uint16x4_t)__builtin_aarch64_clzv4hi ((int16x4_t)__a);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtas_u64_f32 (float32_t __a)
+vclz_u32 (uint32x2_t __a)
{
- return __builtin_aarch64_lroundusfdi_us (__a);
+ return (uint32x2_t)__builtin_aarch64_clzv2si ((int32x2_t)__a);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvta_s32_f32 (float32x2_t __a)
+vclzq_s8 (int8x16_t __a)
{
- return __builtin_aarch64_lroundv2sfv2si (__a);
+ return __builtin_aarch64_clzv16qi (__a);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline int16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvta_u32_f32 (float32x2_t __a)
+vclzq_s16 (int16x8_t __a)
{
- return __builtin_aarch64_lrounduv2sfv2si_us (__a);
+ return __builtin_aarch64_clzv8hi (__a);
}
__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtaq_s32_f32 (float32x4_t __a)
+vclzq_s32 (int32x4_t __a)
{
- return __builtin_aarch64_lroundv4sfv4si (__a);
+ return __builtin_aarch64_clzv4si (__a);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtaq_u32_f32 (float32x4_t __a)
+vclzq_u8 (uint8x16_t __a)
{
- return __builtin_aarch64_lrounduv4sfv4si_us (__a);
+ return (uint8x16_t)__builtin_aarch64_clzv16qi ((int8x16_t)__a);
}
-__extension__ extern __inline int64x1_t
+__extension__ extern __inline uint16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvta_s64_f64 (float64x1_t __a)
+vclzq_u16 (uint16x8_t __a)
{
- return (int64x1_t) {vcvtad_s64_f64 (__a[0])};
+ return (uint16x8_t)__builtin_aarch64_clzv8hi ((int16x8_t)__a);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvta_u64_f64 (float64x1_t __a)
+vclzq_u32 (uint32x4_t __a)
{
- return (uint64x1_t) {vcvtad_u64_f64 (__a[0])};
+ return (uint32x4_t)__builtin_aarch64_clzv4si ((int32x4_t)__a);
}
-__extension__ extern __inline int64x2_t
+/* vcnt. */
+
+__extension__ extern __inline poly8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtaq_s64_f64 (float64x2_t __a)
+vcnt_p8 (poly8x8_t __a)
{
- return __builtin_aarch64_lroundv2dfv2di (__a);
+ return (poly8x8_t) __builtin_aarch64_popcountv8qi ((int8x8_t) __a);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtaq_u64_f64 (float64x2_t __a)
+vcnt_s8 (int8x8_t __a)
{
- return __builtin_aarch64_lrounduv2dfv2di_us (__a);
+ return __builtin_aarch64_popcountv8qi (__a);
}
-/* vcvtm */
-
-__extension__ extern __inline int64_t
+__extension__ extern __inline uint8x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtmd_s64_f64 (float64_t __a)
+vcnt_u8 (uint8x8_t __a)
{
- return __builtin_llfloor (__a);
+ return (uint8x8_t) __builtin_aarch64_popcountv8qi ((int8x8_t) __a);
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline poly8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtmd_s32_f64 (float64_t __a)
+vcntq_p8 (poly8x16_t __a)
{
- return __builtin_aarch64_lfloordfsi (__a);
+ return (poly8x16_t) __builtin_aarch64_popcountv16qi ((int8x16_t) __a);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline int8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtmd_u64_f64 (float64_t __a)
+vcntq_s8 (int8x16_t __a)
{
- return __builtin_aarch64_lfloorudfdi_us (__a);
+ return __builtin_aarch64_popcountv16qi (__a);
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline uint8x16_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtmd_u32_f64 (float64_t __a)
+vcntq_u8 (uint8x16_t __a)
{
- return __builtin_aarch64_lfloorudfsi_us (__a);
+ return (uint8x16_t) __builtin_aarch64_popcountv16qi ((int8x16_t) __a);
}
-__extension__ extern __inline int32_t
+/* vcvt (double -> float). */
+
+__extension__ extern __inline float16x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtms_s32_f32 (float32_t __a)
+vcvt_f16_f32 (float32x4_t __a)
{
- return __builtin_ifloorf (__a);
+ return __builtin_aarch64_float_truncate_lo_v4hf (__a);
}
-__extension__ extern __inline int64_t
+__extension__ extern __inline float16x8_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtms_s64_f32 (float32_t __a)
+vcvt_high_f16_f32 (float16x4_t __a, float32x4_t __b)
{
- return __builtin_aarch64_lfloorsfdi (__a);
+ return __builtin_aarch64_float_truncate_hi_v8hf (__a, __b);
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline float32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtms_u32_f32 (float32_t __a)
+vcvt_f32_f64 (float64x2_t __a)
{
- return __builtin_aarch64_lfloorusfsi_us (__a);
+ return __builtin_aarch64_float_truncate_lo_v2sf (__a);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline float32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtms_u64_f32 (float32_t __a)
+vcvt_high_f32_f64 (float32x2_t __a, float64x2_t __b)
{
- return __builtin_aarch64_lfloorusfdi_us (__a);
+ return __builtin_aarch64_float_truncate_hi_v4sf (__a, __b);
}
-__extension__ extern __inline int32x2_t
+/* vcvt (float -> double). */
+
+__extension__ extern __inline float32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtm_s32_f32 (float32x2_t __a)
+vcvt_f32_f16 (float16x4_t __a)
{
- return __builtin_aarch64_lfloorv2sfv2si (__a);
+ return __builtin_aarch64_float_extend_lo_v4sf (__a);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline float64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtm_u32_f32 (float32x2_t __a)
+vcvt_f64_f32 (float32x2_t __a)
{
- return __builtin_aarch64_lflooruv2sfv2si_us (__a);
+
+ return __builtin_aarch64_float_extend_lo_v2df (__a);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline float32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtmq_s32_f32 (float32x4_t __a)
+vcvt_high_f32_f16 (float16x8_t __a)
{
- return __builtin_aarch64_lfloorv4sfv4si (__a);
+ return __builtin_aarch64_vec_unpacks_hi_v8hf (__a);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline float64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtmq_u32_f32 (float32x4_t __a)
+vcvt_high_f64_f32 (float32x4_t __a)
{
- return __builtin_aarch64_lflooruv4sfv4si_us (__a);
+ return __builtin_aarch64_vec_unpacks_hi_v4sf (__a);
}
-__extension__ extern __inline int64x1_t
+/* vcvt (<u>fixed-point -> float). */
+
+__extension__ extern __inline float64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtm_s64_f64 (float64x1_t __a)
+vcvtd_n_f64_s64 (int64_t __a, const int __b)
{
- return (int64x1_t) {vcvtmd_s64_f64 (__a[0])};
+ return __builtin_aarch64_scvtfdi (__a, __b);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline float64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtm_u64_f64 (float64x1_t __a)
+vcvtd_n_f64_u64 (uint64_t __a, const int __b)
{
- return (uint64x1_t) {vcvtmd_u64_f64 (__a[0])};
+ return __builtin_aarch64_ucvtfdi_sus (__a, __b);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline float32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtmq_s64_f64 (float64x2_t __a)
+vcvts_n_f32_s32 (int32_t __a, const int __b)
{
- return __builtin_aarch64_lfloorv2dfv2di (__a);
+ return __builtin_aarch64_scvtfsi (__a, __b);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline float32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtmq_u64_f64 (float64x2_t __a)
+vcvts_n_f32_u32 (uint32_t __a, const int __b)
{
- return __builtin_aarch64_lflooruv2dfv2di_us (__a);
+ return __builtin_aarch64_ucvtfsi_sus (__a, __b);
}
-/* vcvtn */
-
-__extension__ extern __inline int64_t
+__extension__ extern __inline float32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtnd_s64_f64 (float64_t __a)
+vcvt_n_f32_s32 (int32x2_t __a, const int __b)
{
- return __builtin_aarch64_lfrintndfdi (__a);
+ return __builtin_aarch64_scvtfv2si (__a, __b);
}
-__extension__ extern __inline int64_t
+__extension__ extern __inline float32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtnd_s32_f64 (float64_t __a)
+vcvt_n_f32_u32 (uint32x2_t __a, const int __b)
{
- return __builtin_aarch64_lfrintndfsi (__a);
+ return __builtin_aarch64_ucvtfv2si_sus (__a, __b);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline float64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtnd_u64_f64 (float64_t __a)
+vcvt_n_f64_s64 (int64x1_t __a, const int __b)
{
- return __builtin_aarch64_lfrintnudfdi_us (__a);
+ return (float64x1_t)
+ { __builtin_aarch64_scvtfdi (vget_lane_s64 (__a, 0), __b) };
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline float64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtnd_u32_f64 (float64_t __a)
+vcvt_n_f64_u64 (uint64x1_t __a, const int __b)
{
- return __builtin_aarch64_lfrintnudfsi_us (__a);
+ return (float64x1_t)
+ { __builtin_aarch64_ucvtfdi_sus (vget_lane_u64 (__a, 0), __b) };
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline float32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtns_s32_f32 (float32_t __a)
+vcvtq_n_f32_s32 (int32x4_t __a, const int __b)
{
- return __builtin_aarch64_lfrintnsfsi (__a);
+ return __builtin_aarch64_scvtfv4si (__a, __b);
}
-__extension__ extern __inline int64_t
+__extension__ extern __inline float32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtns_s64_f32 (float32_t __a)
+vcvtq_n_f32_u32 (uint32x4_t __a, const int __b)
{
- return __builtin_aarch64_lfrintnsfdi (__a);
+ return __builtin_aarch64_ucvtfv4si_sus (__a, __b);
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline float64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtns_u32_f32 (float32_t __a)
+vcvtq_n_f64_s64 (int64x2_t __a, const int __b)
{
- return __builtin_aarch64_lfrintnusfsi_us (__a);
+ return __builtin_aarch64_scvtfv2di (__a, __b);
}
-__extension__ extern __inline uint64_t
+
+__extension__ extern __inline float64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtns_u64_f32 (float32_t __a)
+vcvtq_n_f64_u64 (uint64x2_t __a, const int __b)
{
- return __builtin_aarch64_lfrintnusfdi_us (__a);
+ return __builtin_aarch64_ucvtfv2di_sus (__a, __b);
}
-__extension__ extern __inline int32x2_t
+/* vcvt (float -> <u>fixed-point). */
+
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtn_s32_f32 (float32x2_t __a)
+vcvtd_n_s64_f64 (float64_t __a, const int __b)
{
- return __builtin_aarch64_lfrintnv2sfv2si (__a);
+ return __builtin_aarch64_fcvtzsdf (__a, __b);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtn_u32_f32 (float32x2_t __a)
+vcvtd_n_u64_f64 (float64_t __a, const int __b)
{
- return __builtin_aarch64_lfrintnuv2sfv2si_us (__a);
+ return __builtin_aarch64_fcvtzudf_uss (__a, __b);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtnq_s32_f32 (float32x4_t __a)
+vcvts_n_s32_f32 (float32_t __a, const int __b)
{
- return __builtin_aarch64_lfrintnv4sfv4si (__a);
+ return __builtin_aarch64_fcvtzssf (__a, __b);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtnq_u32_f32 (float32x4_t __a)
+vcvts_n_u32_f32 (float32_t __a, const int __b)
{
- return __builtin_aarch64_lfrintnuv4sfv4si_us (__a);
+ return __builtin_aarch64_fcvtzusf_uss (__a, __b);
}
-__extension__ extern __inline int64x1_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtn_s64_f64 (float64x1_t __a)
+vcvt_n_s32_f32 (float32x2_t __a, const int __b)
{
- return (int64x1_t) {vcvtnd_s64_f64 (__a[0])};
+ return __builtin_aarch64_fcvtzsv2sf (__a, __b);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtn_u64_f64 (float64x1_t __a)
+vcvt_n_u32_f32 (float32x2_t __a, const int __b)
{
- return (uint64x1_t) {vcvtnd_u64_f64 (__a[0])};
+ return __builtin_aarch64_fcvtzuv2sf_uss (__a, __b);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline int64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtnq_s64_f64 (float64x2_t __a)
+vcvt_n_s64_f64 (float64x1_t __a, const int __b)
{
- return __builtin_aarch64_lfrintnv2dfv2di (__a);
+ return (int64x1_t)
+ { __builtin_aarch64_fcvtzsdf (vget_lane_f64 (__a, 0), __b) };
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtnq_u64_f64 (float64x2_t __a)
+vcvt_n_u64_f64 (float64x1_t __a, const int __b)
{
- return __builtin_aarch64_lfrintnuv2dfv2di_us (__a);
+ return (uint64x1_t)
+ { __builtin_aarch64_fcvtzudf_uss (vget_lane_f64 (__a, 0), __b) };
}
-/* vcvtp */
-
-__extension__ extern __inline int64_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtpd_s64_f64 (float64_t __a)
+vcvtq_n_s32_f32 (float32x4_t __a, const int __b)
{
- return __builtin_llceil (__a);
+ return __builtin_aarch64_fcvtzsv4sf (__a, __b);
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtpd_s32_f64 (float64_t __a)
+vcvtq_n_u32_f32 (float32x4_t __a, const int __b)
{
- return __builtin_aarch64_lceildfsi (__a);
+ return __builtin_aarch64_fcvtzuv4sf_uss (__a, __b);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtpd_u64_f64 (float64_t __a)
+vcvtq_n_s64_f64 (float64x2_t __a, const int __b)
{
- return __builtin_aarch64_lceiludfdi_us (__a);
+ return __builtin_aarch64_fcvtzsv2df (__a, __b);
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtpd_u32_f64 (float64_t __a)
+vcvtq_n_u64_f64 (float64x2_t __a, const int __b)
{
- return __builtin_aarch64_lceiludfsi_us (__a);
+ return __builtin_aarch64_fcvtzuv2df_uss (__a, __b);
}
-__extension__ extern __inline int32_t
+/* vcvt (<u>int -> float) */
+
+__extension__ extern __inline float64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtps_s32_f32 (float32_t __a)
+vcvtd_f64_s64 (int64_t __a)
{
- return __builtin_iceilf (__a);
+ return (float64_t) __a;
}
-__extension__ extern __inline int64_t
+__extension__ extern __inline float64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtps_s64_f32 (float32_t __a)
+vcvtd_f64_u64 (uint64_t __a)
{
- return __builtin_aarch64_lceilsfdi (__a);
+ return (float64_t) __a;
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline float32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtps_u32_f32 (float32_t __a)
+vcvts_f32_s32 (int32_t __a)
{
- return __builtin_aarch64_lceilusfsi_us (__a);
+ return (float32_t) __a;
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline float32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtps_u64_f32 (float32_t __a)
+vcvts_f32_u32 (uint32_t __a)
{
- return __builtin_aarch64_lceilusfdi_us (__a);
+ return (float32_t) __a;
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline float32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtp_s32_f32 (float32x2_t __a)
+vcvt_f32_s32 (int32x2_t __a)
{
- return __builtin_aarch64_lceilv2sfv2si (__a);
+ return __builtin_aarch64_floatv2siv2sf (__a);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline float32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtp_u32_f32 (float32x2_t __a)
+vcvt_f32_u32 (uint32x2_t __a)
{
- return __builtin_aarch64_lceiluv2sfv2si_us (__a);
+ return __builtin_aarch64_floatunsv2siv2sf ((int32x2_t) __a);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline float64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtpq_s32_f32 (float32x4_t __a)
+vcvt_f64_s64 (int64x1_t __a)
{
- return __builtin_aarch64_lceilv4sfv4si (__a);
+ return (float64x1_t) { vget_lane_s64 (__a, 0) };
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline float64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtpq_u32_f32 (float32x4_t __a)
+vcvt_f64_u64 (uint64x1_t __a)
{
- return __builtin_aarch64_lceiluv4sfv4si_us (__a);
+ return (float64x1_t) { vget_lane_u64 (__a, 0) };
}
-__extension__ extern __inline int64x1_t
+__extension__ extern __inline float32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtp_s64_f64 (float64x1_t __a)
+vcvtq_f32_s32 (int32x4_t __a)
{
- return (int64x1_t) {vcvtpd_s64_f64 (__a[0])};
+ return __builtin_aarch64_floatv4siv4sf (__a);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline float32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtp_u64_f64 (float64x1_t __a)
+vcvtq_f32_u32 (uint32x4_t __a)
{
- return (uint64x1_t) {vcvtpd_u64_f64 (__a[0])};
+ return __builtin_aarch64_floatunsv4siv4sf ((int32x4_t) __a);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline float64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtpq_s64_f64 (float64x2_t __a)
+vcvtq_f64_s64 (int64x2_t __a)
{
- return __builtin_aarch64_lceilv2dfv2di (__a);
+ return __builtin_aarch64_floatv2div2df (__a);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline float64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcvtpq_u64_f64 (float64x2_t __a)
+vcvtq_f64_u64 (uint64x2_t __a)
{
- return __builtin_aarch64_lceiluv2dfv2di_us (__a);
+ return __builtin_aarch64_floatunsv2div2df ((int64x2_t) __a);
}
-/* vdup_lane */
+/* vcvt (float -> <u>int) */
-__extension__ extern __inline float16x4_t
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_f16 (float16x4_t __a, const int __b)
+vcvtd_s64_f64 (float64_t __a)
{
- return __aarch64_vdup_lane_f16 (__a, __b);
+ return (int64_t) __a;
}
-__extension__ extern __inline float32x2_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_f32 (float32x2_t __a, const int __b)
+vcvtd_s32_f64 (float64_t __a)
{
- return __aarch64_vdup_lane_f32 (__a, __b);
+ return (int32_t) __a;
}
-__extension__ extern __inline float64x1_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_f64 (float64x1_t __a, const int __b)
+vcvtd_u64_f64 (float64_t __a)
{
- return __aarch64_vdup_lane_f64 (__a, __b);
+ return (uint64_t) __a;
}
-__extension__ extern __inline poly8x8_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_p8 (poly8x8_t __a, const int __b)
+vcvtd_u32_f64 (float64_t __a)
{
- return __aarch64_vdup_lane_p8 (__a, __b);
+ return (uint32_t) __a;
}
-__extension__ extern __inline poly16x4_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_p16 (poly16x4_t __a, const int __b)
+vcvts_s32_f32 (float32_t __a)
{
- return __aarch64_vdup_lane_p16 (__a, __b);
+ return (int32_t) __a;
}
-__extension__ extern __inline poly64x1_t
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_p64 (poly64x1_t __a, const int __b)
+vcvts_s64_f32 (float32_t __a)
{
- return __aarch64_vdup_lane_p64 (__a, __b);
+ return (int64_t) __a;
}
-__extension__ extern __inline int8x8_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_s8 (int8x8_t __a, const int __b)
+vcvts_u32_f32 (float32_t __a)
{
- return __aarch64_vdup_lane_s8 (__a, __b);
+ return (uint32_t) __a;
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_s16 (int16x4_t __a, const int __b)
+vcvts_u64_f32 (float32_t __a)
{
- return __aarch64_vdup_lane_s16 (__a, __b);
+ return (uint64_t) __a;
}
__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_s32 (int32x2_t __a, const int __b)
+vcvt_s32_f32 (float32x2_t __a)
{
- return __aarch64_vdup_lane_s32 (__a, __b);
+ return __builtin_aarch64_lbtruncv2sfv2si (__a);
}
-__extension__ extern __inline int64x1_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_s64 (int64x1_t __a, const int __b)
+vcvt_u32_f32 (float32x2_t __a)
{
- return __aarch64_vdup_lane_s64 (__a, __b);
+ return __builtin_aarch64_lbtruncuv2sfv2si_us (__a);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_u8 (uint8x8_t __a, const int __b)
+vcvtq_s32_f32 (float32x4_t __a)
{
- return __aarch64_vdup_lane_u8 (__a, __b);
+ return __builtin_aarch64_lbtruncv4sfv4si (__a);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_u16 (uint16x4_t __a, const int __b)
+vcvtq_u32_f32 (float32x4_t __a)
{
- return __aarch64_vdup_lane_u16 (__a, __b);
+ return __builtin_aarch64_lbtruncuv4sfv4si_us (__a);
}
-__extension__ extern __inline uint32x2_t
+__extension__ extern __inline int64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_u32 (uint32x2_t __a, const int __b)
+vcvt_s64_f64 (float64x1_t __a)
{
- return __aarch64_vdup_lane_u32 (__a, __b);
+ return (int64x1_t) {vcvtd_s64_f64 (__a[0])};
}
__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_u64 (uint64x1_t __a, const int __b)
+vcvt_u64_f64 (float64x1_t __a)
{
- return __aarch64_vdup_lane_u64 (__a, __b);
+ return (uint64x1_t) {vcvtd_u64_f64 (__a[0])};
}
-/* vdup_laneq */
-
-__extension__ extern __inline float16x4_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_f16 (float16x8_t __a, const int __b)
+vcvtq_s64_f64 (float64x2_t __a)
{
- return __aarch64_vdup_laneq_f16 (__a, __b);
+ return __builtin_aarch64_lbtruncv2dfv2di (__a);
}
-__extension__ extern __inline float32x2_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_f32 (float32x4_t __a, const int __b)
+vcvtq_u64_f64 (float64x2_t __a)
{
- return __aarch64_vdup_laneq_f32 (__a, __b);
+ return __builtin_aarch64_lbtruncuv2dfv2di_us (__a);
}
-__extension__ extern __inline float64x1_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_f64 (float64x2_t __a, const int __b)
-{
- return __aarch64_vdup_laneq_f64 (__a, __b);
-}
+/* vcvta */
-__extension__ extern __inline poly8x8_t
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_p8 (poly8x16_t __a, const int __b)
+vcvtad_s64_f64 (float64_t __a)
{
- return __aarch64_vdup_laneq_p8 (__a, __b);
+ return __builtin_aarch64_lrounddfdi (__a);
}
-__extension__ extern __inline poly16x4_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_p16 (poly16x8_t __a, const int __b)
+vcvtad_s32_f64 (float64_t __a)
{
- return __aarch64_vdup_laneq_p16 (__a, __b);
+ return __builtin_aarch64_lrounddfsi (__a);
}
-__extension__ extern __inline poly64x1_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_p64 (poly64x2_t __a, const int __b)
+vcvtad_u64_f64 (float64_t __a)
{
- return __aarch64_vdup_laneq_p64 (__a, __b);
+ return __builtin_aarch64_lroundudfdi_us (__a);
}
-__extension__ extern __inline int8x8_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_s8 (int8x16_t __a, const int __b)
+vcvtad_u32_f64 (float64_t __a)
{
- return __aarch64_vdup_laneq_s8 (__a, __b);
+ return __builtin_aarch64_lroundudfsi_us (__a);
}
-__extension__ extern __inline int16x4_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_s16 (int16x8_t __a, const int __b)
+vcvtas_s32_f32 (float32_t __a)
{
- return __aarch64_vdup_laneq_s16 (__a, __b);
+ return __builtin_aarch64_lroundsfsi (__a);
}
-__extension__ extern __inline int32x2_t
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_s32 (int32x4_t __a, const int __b)
+vcvtas_s64_f32 (float32_t __a)
{
- return __aarch64_vdup_laneq_s32 (__a, __b);
+ return __builtin_aarch64_lroundsfdi (__a);
}
-__extension__ extern __inline int64x1_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_s64 (int64x2_t __a, const int __b)
+vcvtas_u32_f32 (float32_t __a)
{
- return __aarch64_vdup_laneq_s64 (__a, __b);
+ return __builtin_aarch64_lroundusfsi_us (__a);
}
-__extension__ extern __inline uint8x8_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_u8 (uint8x16_t __a, const int __b)
+vcvtas_u64_f32 (float32_t __a)
{
- return __aarch64_vdup_laneq_u8 (__a, __b);
+ return __builtin_aarch64_lroundusfdi_us (__a);
}
-__extension__ extern __inline uint16x4_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_u16 (uint16x8_t __a, const int __b)
+vcvta_s32_f32 (float32x2_t __a)
{
- return __aarch64_vdup_laneq_u16 (__a, __b);
+ return __builtin_aarch64_lroundv2sfv2si (__a);
}
__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_u32 (uint32x4_t __a, const int __b)
+vcvta_u32_f32 (float32x2_t __a)
{
- return __aarch64_vdup_laneq_u32 (__a, __b);
+ return __builtin_aarch64_lrounduv2sfv2si_us (__a);
}
-__extension__ extern __inline uint64x1_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_u64 (uint64x2_t __a, const int __b)
+vcvtaq_s32_f32 (float32x4_t __a)
{
- return __aarch64_vdup_laneq_u64 (__a, __b);
+ return __builtin_aarch64_lroundv4sfv4si (__a);
}
-/* vdupq_lane */
-
-__extension__ extern __inline float16x8_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_f16 (float16x4_t __a, const int __b)
+vcvtaq_u32_f32 (float32x4_t __a)
{
- return __aarch64_vdupq_lane_f16 (__a, __b);
+ return __builtin_aarch64_lrounduv4sfv4si_us (__a);
}
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline int64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_f32 (float32x2_t __a, const int __b)
+vcvta_s64_f64 (float64x1_t __a)
{
- return __aarch64_vdupq_lane_f32 (__a, __b);
+ return (int64x1_t) {vcvtad_s64_f64 (__a[0])};
}
-__extension__ extern __inline float64x2_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_f64 (float64x1_t __a, const int __b)
+vcvta_u64_f64 (float64x1_t __a)
{
- return __aarch64_vdupq_lane_f64 (__a, __b);
+ return (uint64x1_t) {vcvtad_u64_f64 (__a[0])};
}
-__extension__ extern __inline poly8x16_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_p8 (poly8x8_t __a, const int __b)
+vcvtaq_s64_f64 (float64x2_t __a)
{
- return __aarch64_vdupq_lane_p8 (__a, __b);
+ return __builtin_aarch64_lroundv2dfv2di (__a);
}
-__extension__ extern __inline poly16x8_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_p16 (poly16x4_t __a, const int __b)
+vcvtaq_u64_f64 (float64x2_t __a)
{
- return __aarch64_vdupq_lane_p16 (__a, __b);
+ return __builtin_aarch64_lrounduv2dfv2di_us (__a);
}
-__extension__ extern __inline poly64x2_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_p64 (poly64x1_t __a, const int __b)
-{
- return __aarch64_vdupq_lane_p64 (__a, __b);
-}
+/* vcvtm */
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_s8 (int8x8_t __a, const int __b)
+vcvtmd_s64_f64 (float64_t __a)
{
- return __aarch64_vdupq_lane_s8 (__a, __b);
+ return __builtin_llfloor (__a);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_s16 (int16x4_t __a, const int __b)
+vcvtmd_s32_f64 (float64_t __a)
{
- return __aarch64_vdupq_lane_s16 (__a, __b);
+ return __builtin_aarch64_lfloordfsi (__a);
}
-__extension__ extern __inline int32x4_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_s32 (int32x2_t __a, const int __b)
+vcvtmd_u64_f64 (float64_t __a)
{
- return __aarch64_vdupq_lane_s32 (__a, __b);
+ return __builtin_aarch64_lfloorudfdi_us (__a);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_s64 (int64x1_t __a, const int __b)
+vcvtmd_u32_f64 (float64_t __a)
{
- return __aarch64_vdupq_lane_s64 (__a, __b);
+ return __builtin_aarch64_lfloorudfsi_us (__a);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_u8 (uint8x8_t __a, const int __b)
+vcvtms_s32_f32 (float32_t __a)
{
- return __aarch64_vdupq_lane_u8 (__a, __b);
+ return __builtin_ifloorf (__a);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_u16 (uint16x4_t __a, const int __b)
+vcvtms_s64_f32 (float32_t __a)
{
- return __aarch64_vdupq_lane_u16 (__a, __b);
+ return __builtin_aarch64_lfloorsfdi (__a);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_u32 (uint32x2_t __a, const int __b)
+vcvtms_u32_f32 (float32_t __a)
{
- return __aarch64_vdupq_lane_u32 (__a, __b);
+ return __builtin_aarch64_lfloorusfsi_us (__a);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_u64 (uint64x1_t __a, const int __b)
+vcvtms_u64_f32 (float32_t __a)
{
- return __aarch64_vdupq_lane_u64 (__a, __b);
+ return __builtin_aarch64_lfloorusfdi_us (__a);
}
-/* vdupq_laneq */
-
-__extension__ extern __inline float16x8_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_f16 (float16x8_t __a, const int __b)
+vcvtm_s32_f32 (float32x2_t __a)
{
- return __aarch64_vdupq_laneq_f16 (__a, __b);
+ return __builtin_aarch64_lfloorv2sfv2si (__a);
}
-__extension__ extern __inline float32x4_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_f32 (float32x4_t __a, const int __b)
+vcvtm_u32_f32 (float32x2_t __a)
{
- return __aarch64_vdupq_laneq_f32 (__a, __b);
+ return __builtin_aarch64_lflooruv2sfv2si_us (__a);
}
-__extension__ extern __inline float64x2_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_f64 (float64x2_t __a, const int __b)
+vcvtmq_s32_f32 (float32x4_t __a)
{
- return __aarch64_vdupq_laneq_f64 (__a, __b);
+ return __builtin_aarch64_lfloorv4sfv4si (__a);
}
-__extension__ extern __inline poly8x16_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_p8 (poly8x16_t __a, const int __b)
+vcvtmq_u32_f32 (float32x4_t __a)
{
- return __aarch64_vdupq_laneq_p8 (__a, __b);
+ return __builtin_aarch64_lflooruv4sfv4si_us (__a);
}
-__extension__ extern __inline poly16x8_t
+__extension__ extern __inline int64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_p16 (poly16x8_t __a, const int __b)
+vcvtm_s64_f64 (float64x1_t __a)
{
- return __aarch64_vdupq_laneq_p16 (__a, __b);
+ return (int64x1_t) {vcvtmd_s64_f64 (__a[0])};
}
-__extension__ extern __inline poly64x2_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_p64 (poly64x2_t __a, const int __b)
+vcvtm_u64_f64 (float64x1_t __a)
{
- return __aarch64_vdupq_laneq_p64 (__a, __b);
+ return (uint64x1_t) {vcvtmd_u64_f64 (__a[0])};
}
-__extension__ extern __inline int8x16_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_s8 (int8x16_t __a, const int __b)
+vcvtmq_s64_f64 (float64x2_t __a)
{
- return __aarch64_vdupq_laneq_s8 (__a, __b);
+ return __builtin_aarch64_lfloorv2dfv2di (__a);
}
-__extension__ extern __inline int16x8_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_s16 (int16x8_t __a, const int __b)
+vcvtmq_u64_f64 (float64x2_t __a)
{
- return __aarch64_vdupq_laneq_s16 (__a, __b);
+ return __builtin_aarch64_lflooruv2dfv2di_us (__a);
}
-__extension__ extern __inline int32x4_t
+/* vcvtn */
+
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_s32 (int32x4_t __a, const int __b)
+vcvtnd_s64_f64 (float64_t __a)
{
- return __aarch64_vdupq_laneq_s32 (__a, __b);
+ return __builtin_aarch64_lfrintndfdi (__a);
}
-__extension__ extern __inline int64x2_t
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_s64 (int64x2_t __a, const int __b)
+vcvtnd_s32_f64 (float64_t __a)
{
- return __aarch64_vdupq_laneq_s64 (__a, __b);
+ return __builtin_aarch64_lfrintndfsi (__a);
}
-__extension__ extern __inline uint8x16_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_u8 (uint8x16_t __a, const int __b)
+vcvtnd_u64_f64 (float64_t __a)
{
- return __aarch64_vdupq_laneq_u8 (__a, __b);
+ return __builtin_aarch64_lfrintnudfdi_us (__a);
}
-__extension__ extern __inline uint16x8_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_u16 (uint16x8_t __a, const int __b)
+vcvtnd_u32_f64 (float64_t __a)
{
- return __aarch64_vdupq_laneq_u16 (__a, __b);
+ return __builtin_aarch64_lfrintnudfsi_us (__a);
}
-__extension__ extern __inline uint32x4_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_u32 (uint32x4_t __a, const int __b)
+vcvtns_s32_f32 (float32_t __a)
{
- return __aarch64_vdupq_laneq_u32 (__a, __b);
+ return __builtin_aarch64_lfrintnsfsi (__a);
}
-__extension__ extern __inline uint64x2_t
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_u64 (uint64x2_t __a, const int __b)
+vcvtns_s64_f32 (float32_t __a)
{
- return __aarch64_vdupq_laneq_u64 (__a, __b);
+ return __builtin_aarch64_lfrintnsfdi (__a);
}
-/* vdupb_lane */
-__extension__ extern __inline poly8_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupb_lane_p8 (poly8x8_t __a, const int __b)
+vcvtns_u32_f32 (float32_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lfrintnusfsi_us (__a);
}
-
-__extension__ extern __inline int8_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupb_lane_s8 (int8x8_t __a, const int __b)
+vcvtns_u64_f32 (float32_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lfrintnusfdi_us (__a);
}
-__extension__ extern __inline uint8_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupb_lane_u8 (uint8x8_t __a, const int __b)
+vcvtn_s32_f32 (float32x2_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lfrintnv2sfv2si (__a);
}
-/* vduph_lane */
-
-__extension__ extern __inline float16_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vduph_lane_f16 (float16x4_t __a, const int __b)
+vcvtn_u32_f32 (float32x2_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lfrintnuv2sfv2si_us (__a);
}
-__extension__ extern __inline poly16_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vduph_lane_p16 (poly16x4_t __a, const int __b)
+vcvtnq_s32_f32 (float32x4_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lfrintnv4sfv4si (__a);
}
-__extension__ extern __inline int16_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vduph_lane_s16 (int16x4_t __a, const int __b)
+vcvtnq_u32_f32 (float32x4_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lfrintnuv4sfv4si_us (__a);
}
-__extension__ extern __inline uint16_t
+__extension__ extern __inline int64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vduph_lane_u16 (uint16x4_t __a, const int __b)
+vcvtn_s64_f64 (float64x1_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return (int64x1_t) {vcvtnd_s64_f64 (__a[0])};
}
-/* vdups_lane */
-
-__extension__ extern __inline float32_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdups_lane_f32 (float32x2_t __a, const int __b)
+vcvtn_u64_f64 (float64x1_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return (uint64x1_t) {vcvtnd_u64_f64 (__a[0])};
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdups_lane_s32 (int32x2_t __a, const int __b)
+vcvtnq_s64_f64 (float64x2_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lfrintnv2dfv2di (__a);
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdups_lane_u32 (uint32x2_t __a, const int __b)
+vcvtnq_u64_f64 (float64x2_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lfrintnuv2dfv2di_us (__a);
}
-/* vdupd_lane */
-__extension__ extern __inline float64_t
+/* vcvtp */
+
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupd_lane_f64 (float64x1_t __a, const int __b)
+vcvtpd_s64_f64 (float64_t __a)
{
- __AARCH64_LANE_CHECK (__a, __b);
- return __a[0];
+ return __builtin_llceil (__a);
}
-__extension__ extern __inline int64_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupd_lane_s64 (int64x1_t __a, const int __b)
+vcvtpd_s32_f64 (float64_t __a)
{
- __AARCH64_LANE_CHECK (__a, __b);
- return __a[0];
+ return __builtin_aarch64_lceildfsi (__a);
}
__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupd_lane_u64 (uint64x1_t __a, const int __b)
+vcvtpd_u64_f64 (float64_t __a)
{
- __AARCH64_LANE_CHECK (__a, __b);
- return __a[0];
+ return __builtin_aarch64_lceiludfdi_us (__a);
}
-/* vdupb_laneq */
-__extension__ extern __inline poly8_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupb_laneq_p8 (poly8x16_t __a, const int __b)
+vcvtpd_u32_f64 (float64_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lceiludfsi_us (__a);
}
-__extension__ extern __inline int8_t
+__extension__ extern __inline int32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupb_laneq_s8 (int8x16_t __a, const int __b)
+vcvtps_s32_f32 (float32_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_iceilf (__a);
}
-__extension__ extern __inline uint8_t
+__extension__ extern __inline int64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupb_laneq_u8 (uint8x16_t __a, const int __b)
+vcvtps_s64_f32 (float32_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lceilsfdi (__a);
}
-/* vduph_laneq */
-
-__extension__ extern __inline float16_t
+__extension__ extern __inline uint32_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vduph_laneq_f16 (float16x8_t __a, const int __b)
+vcvtps_u32_f32 (float32_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lceilusfsi_us (__a);
}
-__extension__ extern __inline poly16_t
+__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vduph_laneq_p16 (poly16x8_t __a, const int __b)
+vcvtps_u64_f32 (float32_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lceilusfdi_us (__a);
}
-__extension__ extern __inline int16_t
+__extension__ extern __inline int32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vduph_laneq_s16 (int16x8_t __a, const int __b)
+vcvtp_s32_f32 (float32x2_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lceilv2sfv2si (__a);
}
-__extension__ extern __inline uint16_t
+__extension__ extern __inline uint32x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vduph_laneq_u16 (uint16x8_t __a, const int __b)
+vcvtp_u32_f32 (float32x2_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lceiluv2sfv2si_us (__a);
}
-/* vdups_laneq */
-
-__extension__ extern __inline float32_t
+__extension__ extern __inline int32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdups_laneq_f32 (float32x4_t __a, const int __b)
+vcvtpq_s32_f32 (float32x4_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lceilv4sfv4si (__a);
}
-__extension__ extern __inline int32_t
+__extension__ extern __inline uint32x4_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdups_laneq_s32 (int32x4_t __a, const int __b)
+vcvtpq_u32_f32 (float32x4_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lceiluv4sfv4si_us (__a);
}
-__extension__ extern __inline uint32_t
+__extension__ extern __inline int64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdups_laneq_u32 (uint32x4_t __a, const int __b)
+vcvtp_s64_f64 (float64x1_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return (int64x1_t) {vcvtpd_s64_f64 (__a[0])};
}
-/* vdupd_laneq */
-__extension__ extern __inline float64_t
+__extension__ extern __inline uint64x1_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupd_laneq_f64 (float64x2_t __a, const int __b)
+vcvtp_u64_f64 (float64x1_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return (uint64x1_t) {vcvtpd_u64_f64 (__a[0])};
}
-__extension__ extern __inline int64_t
+__extension__ extern __inline int64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupd_laneq_s64 (int64x2_t __a, const int __b)
+vcvtpq_s64_f64 (float64x2_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lceilv2dfv2di (__a);
}
-__extension__ extern __inline uint64_t
+__extension__ extern __inline uint64x2_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupd_laneq_u64 (uint64x2_t __a, const int __b)
+vcvtpq_u64_f64 (float64x2_t __a)
{
- return __aarch64_vget_lane_any (__a, __b);
+ return __builtin_aarch64_lceiluv2dfv2di_us (__a);
}
/* vext */
#pragma GCC push_options
#pragma GCC target ("+nothing+bf16")
-__extension__ extern __inline bfloat16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vset_lane_bf16 (bfloat16_t __elem, bfloat16x4_t __vec, const int __index)
-{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
-}
-
-__extension__ extern __inline bfloat16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vsetq_lane_bf16 (bfloat16_t __elem, bfloat16x8_t __vec, const int __index)
-{
- return __aarch64_vset_lane_any (__elem, __vec, __index);
-}
-
-__extension__ extern __inline bfloat16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vget_lane_bf16 (bfloat16x4_t __a, const int __b)
-{
- return __aarch64_vget_lane_any (__a, __b);
-}
-
-__extension__ extern __inline bfloat16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vgetq_lane_bf16 (bfloat16x8_t __a, const int __b)
-{
- return __aarch64_vget_lane_any (__a, __b);
-}
-
-__extension__ extern __inline bfloat16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_lane_bf16 (bfloat16x4_t __a, const int __b)
-{
- return vdup_n_bf16 (__aarch64_vget_lane_any (__a, __b));
-}
-
-__extension__ extern __inline bfloat16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdup_laneq_bf16 (bfloat16x8_t __a, const int __b)
-{
- return vdup_n_bf16 (__aarch64_vget_lane_any (__a, __b));
-}
-
-__extension__ extern __inline bfloat16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_lane_bf16 (bfloat16x4_t __a, const int __b)
-{
- return vdupq_n_bf16 (__aarch64_vget_lane_any (__a, __b));
-}
-
-__extension__ extern __inline bfloat16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vdupq_laneq_bf16 (bfloat16x8_t __a, const int __b)
-{
- return vdupq_n_bf16 (__aarch64_vget_lane_any (__a, __b));
-}
-
-__extension__ extern __inline bfloat16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vduph_lane_bf16 (bfloat16x4_t __a, const int __b)
-{
- return __aarch64_vget_lane_any (__a, __b);
-}
-
-__extension__ extern __inline bfloat16_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vduph_laneq_bf16 (bfloat16x8_t __a, const int __b)
-{
- return __aarch64_vget_lane_any (__a, __b);
-}
-
/* vld */
__extension__ extern __inline bfloat16x4_t
return __builtin_aarch64_bfcvtn2v8bf (__inactive, __a);
}
-__extension__ extern __inline bfloat16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_lane_bf16 (bfloat16x4_t __a, const int __lane1,
- bfloat16x4_t __b, const int __lane2)
-{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
-}
-
-__extension__ extern __inline bfloat16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_lane_bf16 (bfloat16x8_t __a, const int __lane1,
- bfloat16x4_t __b, const int __lane2)
-{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
-}
-
-__extension__ extern __inline bfloat16x4_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopy_laneq_bf16 (bfloat16x4_t __a, const int __lane1,
- bfloat16x8_t __b, const int __lane2)
-{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
-}
-
-__extension__ extern __inline bfloat16x8_t
-__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
-vcopyq_laneq_bf16 (bfloat16x8_t __a, const int __lane1,
- bfloat16x8_t __b, const int __lane2)
-{
- return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
- __a, __lane1);
-}
-
__extension__ extern __inline bfloat16x4x2_t
__attribute__ ((__always_inline__, __gnu_inline__,__artificial__))
vld2_lane_bf16 (const bfloat16_t * __ptr, bfloat16x4x2_t __b, const int __c)
#undef __aarch64_vdup_lane_f16
#undef __aarch64_vdup_lane_f32
#undef __aarch64_vdup_lane_f64
-#undef __aarch64_vdup_lane_p8
-#undef __aarch64_vdup_lane_p16
-#undef __aarch64_vdup_lane_s8
-#undef __aarch64_vdup_lane_s16
-#undef __aarch64_vdup_lane_s32
-#undef __aarch64_vdup_lane_s64
-#undef __aarch64_vdup_lane_u8
-#undef __aarch64_vdup_lane_u16
-#undef __aarch64_vdup_lane_u32
-#undef __aarch64_vdup_lane_u64
#undef __aarch64_vdup_laneq_f16
#undef __aarch64_vdup_laneq_f32
#undef __aarch64_vdup_laneq_f64
-#undef __aarch64_vdup_laneq_p8
-#undef __aarch64_vdup_laneq_p16
-#undef __aarch64_vdup_laneq_s8
-#undef __aarch64_vdup_laneq_s16
-#undef __aarch64_vdup_laneq_s32
-#undef __aarch64_vdup_laneq_s64
-#undef __aarch64_vdup_laneq_u8
-#undef __aarch64_vdup_laneq_u16
-#undef __aarch64_vdup_laneq_u32
-#undef __aarch64_vdup_laneq_u64
#undef __aarch64_vdupq_lane_f16
#undef __aarch64_vdupq_lane_f32
#undef __aarch64_vdupq_lane_f64
-#undef __aarch64_vdupq_lane_p8
-#undef __aarch64_vdupq_lane_p16
-#undef __aarch64_vdupq_lane_s8
-#undef __aarch64_vdupq_lane_s16
-#undef __aarch64_vdupq_lane_s32
-#undef __aarch64_vdupq_lane_s64
-#undef __aarch64_vdupq_lane_u8
-#undef __aarch64_vdupq_lane_u16
-#undef __aarch64_vdupq_lane_u32
-#undef __aarch64_vdupq_lane_u64
#undef __aarch64_vdupq_laneq_f16
#undef __aarch64_vdupq_laneq_f32
#undef __aarch64_vdupq_laneq_f64
-#undef __aarch64_vdupq_laneq_p8
-#undef __aarch64_vdupq_laneq_p16
-#undef __aarch64_vdupq_laneq_s8
-#undef __aarch64_vdupq_laneq_s16
-#undef __aarch64_vdupq_laneq_s32
-#undef __aarch64_vdupq_laneq_s64
-#undef __aarch64_vdupq_laneq_u8
-#undef __aarch64_vdupq_laneq_u16
-#undef __aarch64_vdupq_laneq_u32
-#undef __aarch64_vdupq_laneq_u64
#endif