14 #if !__ARM_FEATURE_CDE
15 #error "CDE support not enabled"
24 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx1)))
26 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx1a)))
28 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx1d)))
30 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx1da)))
32 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx2)))
34 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx2a)))
36 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx2d)))
38 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx2da)))
40 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx3)))
42 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx3a)))
44 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx3d)))
46 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx3da)))
48 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1_u32)))
50 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1a_u32)))
52 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1d_u64)))
54 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1da_u64)))
56 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx2_u32)))
58 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx2a_u32)))
60 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx2d_u64)))
62 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx2da_u64)))
64 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx3_u32)))
66 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx3a_u32)))
68 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx3d_u64)))
70 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx3da_u64)))
101 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_u8)))
295 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_s16_u8)))
297 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_s32_u8)))
299 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_s64_u8)))
301 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_s8_u8)))
303 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u16_u8)))
305 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u32_u8)))
307 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u64_u8)))
325 #define __arm_vcx2q_m(cp, inactive, n, imm, pred) __arm_vcx2q_m_impl((cp), (inactive), __arm_vreinterpretq_u8(n), (imm), (pred))
326 #define __arm_vcx2qa(cp, acc, n, imm) __arm_vcx2qa_impl((cp), (acc), __arm_vreinterpretq_u8(n), (imm))
327 #define __arm_vcx2qa_m(cp, acc, n, imm, pred) __arm_vcx2qa_m_impl((cp), (acc), __arm_vreinterpretq_u8(n), (imm), (pred))
328 #define __arm_vcx3q(cp, n, m, imm) __arm_vcx3q_impl((cp), (n), __arm_vreinterpretq_u8(m), (imm))
329 #define __arm_vcx3q_m(cp, inactive, n, m, imm, pred) __arm_vcx3q_m_impl((cp), (inactive), __arm_vreinterpretq_u8(n), __arm_vreinterpretq_u8(m), (imm), (pred))
330 #define __arm_vcx3q_u8(cp, n, m, imm) __arm_vcx3q_u8_impl((cp), (n), __arm_vreinterpretq_u8(m), (imm))
331 #define __arm_vcx3qa(cp, acc, n, m, imm) __arm_vcx3qa_impl((cp), (acc), __arm_vreinterpretq_u8(n), __arm_vreinterpretq_u8(m), (imm))
332 #define __arm_vcx3qa_m(cp, acc, n, m, imm, pred) __arm_vcx3qa_m_impl((cp), (acc), __arm_vreinterpretq_u8(n), __arm_vreinterpretq_u8(m), (imm), (pred))
336 #if __ARM_FEATURE_MVE & 2
339 typedef float float32_t;
340 typedef __attribute__((__neon_vector_type__(8), __clang_arm_mve_strict_polymorphism))
float16_t float16x8_t;
341 typedef __attribute__((__neon_vector_type__(4), __clang_arm_mve_strict_polymorphism)) float32_t float32x4_t;
348 float16x8_t __arm_vcx1qa(
int, float16x8_t,
uint32_t);
350 float32x4_t __arm_vcx1qa(
int, float32x4_t,
uint32_t);
356 float16x8_t __arm_vcx2q(
int, float16x8_t,
uint32_t);
358 float32x4_t __arm_vcx2q(
int, float32x4_t,
uint32_t);
395 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_f16_u8)))
396 float16x8_t __arm_vreinterpretq_f16_u8(
uint8x16_t);
397 static __inline__
__attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_f32_u8)))
398 float32x4_t __arm_vreinterpretq_f32_u8(
uint8x16_t);
400 uint8x16_t __arm_vreinterpretq_u8(float16x8_t);
402 uint8x16_t __arm_vreinterpretq_u8(float32x4_t);
static __inline__ uint32_t
static __inline__ uint64_t
static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx1))) uint32_t __arm_cx1(int
static __inline__ int32_t
static __inline__ uint8x16_t
static __inline__ int8x16_t
static __inline__ uint64x2_t
static __inline__ uint16x8_t
static __inline__ uint32x4_t
static __inline__ int16x8_t
static __inline__ int32x4_t
static __inline__ uint8_t
static __inline__ int64x2_t
static __inline__ int16_t
static __inline__ uint16_t
static _Argument_type_is_not_arithmetic __overloadable__