xref: /aosp_15_r20/prebuilts/clang-tools/linux-x86/clang-headers/arm_cde.h (revision bed243d3d9cd544cfb038bfa7be843dedc6e6bf7)
1*bed243d3SAndroid Build Coastguard Worker /*===---- arm_cde.h - ARM CDE intrinsics -----------------------------------===
2*bed243d3SAndroid Build Coastguard Worker  *
3*bed243d3SAndroid Build Coastguard Worker  *
4*bed243d3SAndroid Build Coastguard Worker  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5*bed243d3SAndroid Build Coastguard Worker  * See https://llvm.org/LICENSE.txt for license information.
6*bed243d3SAndroid Build Coastguard Worker  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7*bed243d3SAndroid Build Coastguard Worker  *
8*bed243d3SAndroid Build Coastguard Worker  *===-----------------------------------------------------------------------===
9*bed243d3SAndroid Build Coastguard Worker  */
10*bed243d3SAndroid Build Coastguard Worker 
11*bed243d3SAndroid Build Coastguard Worker #ifndef __ARM_CDE_H
12*bed243d3SAndroid Build Coastguard Worker #define __ARM_CDE_H
13*bed243d3SAndroid Build Coastguard Worker 
14*bed243d3SAndroid Build Coastguard Worker #if !__ARM_FEATURE_CDE
15*bed243d3SAndroid Build Coastguard Worker #error "CDE support not enabled"
16*bed243d3SAndroid Build Coastguard Worker #endif
17*bed243d3SAndroid Build Coastguard Worker 
18*bed243d3SAndroid Build Coastguard Worker #include <stdint.h>
19*bed243d3SAndroid Build Coastguard Worker 
20*bed243d3SAndroid Build Coastguard Worker #ifdef __cplusplus
21*bed243d3SAndroid Build Coastguard Worker extern "C" {
22*bed243d3SAndroid Build Coastguard Worker #endif
23*bed243d3SAndroid Build Coastguard Worker 
24*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx1)))
25*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_cx1(int, uint32_t);
26*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx1a)))
27*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_cx1a(int, uint32_t, uint32_t);
28*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx1d)))
29*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_cx1d(int, uint32_t);
30*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx1da)))
31*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_cx1da(int, uint64_t, uint32_t);
32*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx2)))
33*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_cx2(int, uint32_t, uint32_t);
34*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx2a)))
35*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_cx2a(int, uint32_t, uint32_t, uint32_t);
36*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx2d)))
37*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_cx2d(int, uint32_t, uint32_t);
38*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx2da)))
39*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_cx2da(int, uint64_t, uint32_t, uint32_t);
40*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx3)))
41*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_cx3(int, uint32_t, uint32_t, uint32_t);
42*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx3a)))
43*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_cx3a(int, uint32_t, uint32_t, uint32_t, uint32_t);
44*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx3d)))
45*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_cx3d(int, uint32_t, uint32_t, uint32_t);
46*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx3da)))
47*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_cx3da(int, uint64_t, uint32_t, uint32_t, uint32_t);
48*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1_u32)))
49*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_vcx1_u32(int, uint32_t);
50*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1a_u32)))
51*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_vcx1a_u32(int, uint32_t, uint32_t);
52*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1d_u64)))
53*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_vcx1d_u64(int, uint32_t);
54*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1da_u64)))
55*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_vcx1da_u64(int, uint64_t, uint32_t);
56*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx2_u32)))
57*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_vcx2_u32(int, uint32_t, uint32_t);
58*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx2a_u32)))
59*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_vcx2a_u32(int, uint32_t, uint32_t, uint32_t);
60*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx2d_u64)))
61*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_vcx2d_u64(int, uint64_t, uint32_t);
62*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx2da_u64)))
63*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_vcx2da_u64(int, uint64_t, uint64_t, uint32_t);
64*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx3_u32)))
65*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_vcx3_u32(int, uint32_t, uint32_t, uint32_t);
66*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx3a_u32)))
67*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_vcx3a_u32(int, uint32_t, uint32_t, uint32_t, uint32_t);
68*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx3d_u64)))
69*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_vcx3d_u64(int, uint64_t, uint64_t, uint32_t);
70*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx3da_u64)))
71*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_vcx3da_u64(int, uint64_t, uint64_t, uint64_t, uint32_t);
72*bed243d3SAndroid Build Coastguard Worker 
73*bed243d3SAndroid Build Coastguard Worker #if __ARM_FEATURE_MVE
74*bed243d3SAndroid Build Coastguard Worker 
75*bed243d3SAndroid Build Coastguard Worker typedef uint16_t mve_pred16_t;
76*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(8), __clang_arm_mve_strict_polymorphism)) int16_t int16x8_t;
77*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(4), __clang_arm_mve_strict_polymorphism)) int32_t int32x4_t;
78*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(2), __clang_arm_mve_strict_polymorphism)) int64_t int64x2_t;
79*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(16), __clang_arm_mve_strict_polymorphism)) int8_t int8x16_t;
80*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(8), __clang_arm_mve_strict_polymorphism)) uint16_t uint16x8_t;
81*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(4), __clang_arm_mve_strict_polymorphism)) uint32_t uint32x4_t;
82*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(2), __clang_arm_mve_strict_polymorphism)) uint64_t uint64x2_t;
83*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(16), __clang_arm_mve_strict_polymorphism)) uint8_t uint8x16_t;
84*bed243d3SAndroid Build Coastguard Worker 
85*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_s16)))
86*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx1q_m(int, int16x8_t, uint32_t, mve_pred16_t);
87*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_s32)))
88*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx1q_m(int, int32x4_t, uint32_t, mve_pred16_t);
89*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_s64)))
90*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx1q_m(int, int64x2_t, uint32_t, mve_pred16_t);
91*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_s8)))
92*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx1q_m(int, int8x16_t, uint32_t, mve_pred16_t);
93*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_u16)))
94*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx1q_m(int, uint16x8_t, uint32_t, mve_pred16_t);
95*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_u32)))
96*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx1q_m(int, uint32x4_t, uint32_t, mve_pred16_t);
97*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_u64)))
98*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx1q_m(int, uint64x2_t, uint32_t, mve_pred16_t);
99*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_u8)))
100*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx1q_m(int, uint8x16_t, uint32_t, mve_pred16_t);
101*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_u8)))
102*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx1q_u8(int, uint32_t);
103*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_s16)))
104*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx1qa_m(int, int16x8_t, uint32_t, mve_pred16_t);
105*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_s32)))
106*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx1qa_m(int, int32x4_t, uint32_t, mve_pred16_t);
107*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_s64)))
108*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx1qa_m(int, int64x2_t, uint32_t, mve_pred16_t);
109*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_s8)))
110*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx1qa_m(int, int8x16_t, uint32_t, mve_pred16_t);
111*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_u16)))
112*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx1qa_m(int, uint16x8_t, uint32_t, mve_pred16_t);
113*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_u32)))
114*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx1qa_m(int, uint32x4_t, uint32_t, mve_pred16_t);
115*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_u64)))
116*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx1qa_m(int, uint64x2_t, uint32_t, mve_pred16_t);
117*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_u8)))
118*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx1qa_m(int, uint8x16_t, uint32_t, mve_pred16_t);
119*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_s16)))
120*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx1qa(int, int16x8_t, uint32_t);
121*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_s32)))
122*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx1qa(int, int32x4_t, uint32_t);
123*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_s64)))
124*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx1qa(int, int64x2_t, uint32_t);
125*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_s8)))
126*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx1qa(int, int8x16_t, uint32_t);
127*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_u16)))
128*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx1qa(int, uint16x8_t, uint32_t);
129*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_u32)))
130*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx1qa(int, uint32x4_t, uint32_t);
131*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_u64)))
132*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx1qa(int, uint64x2_t, uint32_t);
133*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_u8)))
134*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx1qa(int, uint8x16_t, uint32_t);
135*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_s16)))
136*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx2q_m_impl(int, int16x8_t, uint8x16_t, uint32_t, mve_pred16_t);
137*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_s32)))
138*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx2q_m_impl(int, int32x4_t, uint8x16_t, uint32_t, mve_pred16_t);
139*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_s64)))
140*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx2q_m_impl(int, int64x2_t, uint8x16_t, uint32_t, mve_pred16_t);
141*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_s8)))
142*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx2q_m_impl(int, int8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
143*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_u16)))
144*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx2q_m_impl(int, uint16x8_t, uint8x16_t, uint32_t, mve_pred16_t);
145*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_u32)))
146*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx2q_m_impl(int, uint32x4_t, uint8x16_t, uint32_t, mve_pred16_t);
147*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_u64)))
148*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx2q_m_impl(int, uint64x2_t, uint8x16_t, uint32_t, mve_pred16_t);
149*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_u8)))
150*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_m_impl(int, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
151*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_s16)))
152*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx2q(int, int16x8_t, uint32_t);
153*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_s32)))
154*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx2q(int, int32x4_t, uint32_t);
155*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_s64)))
156*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx2q(int, int64x2_t, uint32_t);
157*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_s8)))
158*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx2q(int, int8x16_t, uint32_t);
159*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u16)))
160*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx2q(int, uint16x8_t, uint32_t);
161*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u32)))
162*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx2q(int, uint32x4_t, uint32_t);
163*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u64)))
164*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx2q(int, uint64x2_t, uint32_t);
165*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8)))
166*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q(int, uint8x16_t, uint32_t);
167*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_s16)))
168*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, int16x8_t, uint32_t);
169*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_s32)))
170*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, int32x4_t, uint32_t);
171*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_s64)))
172*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, int64x2_t, uint32_t);
173*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_s8)))
174*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, int8x16_t, uint32_t);
175*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_u16)))
176*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, uint16x8_t, uint32_t);
177*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_u32)))
178*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, uint32x4_t, uint32_t);
179*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_u64)))
180*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, uint64x2_t, uint32_t);
181*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_u8)))
182*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, uint8x16_t, uint32_t);
183*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_s16)))
184*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx2qa_impl(int, int16x8_t, uint8x16_t, uint32_t);
185*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_s32)))
186*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx2qa_impl(int, int32x4_t, uint8x16_t, uint32_t);
187*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_s64)))
188*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx2qa_impl(int, int64x2_t, uint8x16_t, uint32_t);
189*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_s8)))
190*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx2qa_impl(int, int8x16_t, uint8x16_t, uint32_t);
191*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_u16)))
192*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx2qa_impl(int, uint16x8_t, uint8x16_t, uint32_t);
193*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_u32)))
194*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx2qa_impl(int, uint32x4_t, uint8x16_t, uint32_t);
195*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_u64)))
196*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx2qa_impl(int, uint64x2_t, uint8x16_t, uint32_t);
197*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_u8)))
198*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2qa_impl(int, uint8x16_t, uint8x16_t, uint32_t);
199*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_s16)))
200*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx2qa_m_impl(int, int16x8_t, uint8x16_t, uint32_t, mve_pred16_t);
201*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_s32)))
202*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx2qa_m_impl(int, int32x4_t, uint8x16_t, uint32_t, mve_pred16_t);
203*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_s64)))
204*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx2qa_m_impl(int, int64x2_t, uint8x16_t, uint32_t, mve_pred16_t);
205*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_s8)))
206*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx2qa_m_impl(int, int8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
207*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_u16)))
208*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx2qa_m_impl(int, uint16x8_t, uint8x16_t, uint32_t, mve_pred16_t);
209*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_u32)))
210*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx2qa_m_impl(int, uint32x4_t, uint8x16_t, uint32_t, mve_pred16_t);
211*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_u64)))
212*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx2qa_m_impl(int, uint64x2_t, uint8x16_t, uint32_t, mve_pred16_t);
213*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_u8)))
214*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2qa_m_impl(int, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
215*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_s16)))
216*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx3q_impl(int, int16x8_t, uint8x16_t, uint32_t);
217*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_s32)))
218*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx3q_impl(int, int32x4_t, uint8x16_t, uint32_t);
219*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_s64)))
220*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx3q_impl(int, int64x2_t, uint8x16_t, uint32_t);
221*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_s8)))
222*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx3q_impl(int, int8x16_t, uint8x16_t, uint32_t);
223*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_u16)))
224*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx3q_impl(int, uint16x8_t, uint8x16_t, uint32_t);
225*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_u32)))
226*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx3q_impl(int, uint32x4_t, uint8x16_t, uint32_t);
227*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_u64)))
228*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx3q_impl(int, uint64x2_t, uint8x16_t, uint32_t);
229*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_u8)))
230*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_impl(int, uint8x16_t, uint8x16_t, uint32_t);
231*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_s16)))
232*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx3q_m_impl(int, int16x8_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
233*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_s32)))
234*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx3q_m_impl(int, int32x4_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
235*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_s64)))
236*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx3q_m_impl(int, int64x2_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
237*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_s8)))
238*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx3q_m_impl(int, int8x16_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
239*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_u16)))
240*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx3q_m_impl(int, uint16x8_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
241*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_u32)))
242*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx3q_m_impl(int, uint32x4_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
243*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_u64)))
244*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx3q_m_impl(int, uint64x2_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
245*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_u8)))
246*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_m_impl(int, uint8x16_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
247*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_s16)))
248*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, int16x8_t, uint8x16_t, uint32_t);
249*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_s32)))
250*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, int32x4_t, uint8x16_t, uint32_t);
251*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_s64)))
252*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, int64x2_t, uint8x16_t, uint32_t);
253*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_s8)))
254*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, int8x16_t, uint8x16_t, uint32_t);
255*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_u16)))
256*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, uint16x8_t, uint8x16_t, uint32_t);
257*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_u32)))
258*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, uint32x4_t, uint8x16_t, uint32_t);
259*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_u64)))
260*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, uint64x2_t, uint8x16_t, uint32_t);
261*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_u8)))
262*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, uint8x16_t, uint8x16_t, uint32_t);
263*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_s16)))
264*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx3qa_impl(int, int16x8_t, uint8x16_t, uint8x16_t, uint32_t);
265*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_s32)))
266*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx3qa_impl(int, int32x4_t, uint8x16_t, uint8x16_t, uint32_t);
267*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_s64)))
268*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx3qa_impl(int, int64x2_t, uint8x16_t, uint8x16_t, uint32_t);
269*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_s8)))
270*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx3qa_impl(int, int8x16_t, uint8x16_t, uint8x16_t, uint32_t);
271*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_u16)))
272*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx3qa_impl(int, uint16x8_t, uint8x16_t, uint8x16_t, uint32_t);
273*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_u32)))
274*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx3qa_impl(int, uint32x4_t, uint8x16_t, uint8x16_t, uint32_t);
275*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_u64)))
276*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx3qa_impl(int, uint64x2_t, uint8x16_t, uint8x16_t, uint32_t);
277*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_u8)))
278*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3qa_impl(int, uint8x16_t, uint8x16_t, uint8x16_t, uint32_t);
279*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_s16)))
280*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx3qa_m_impl(int, int16x8_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
281*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_s32)))
282*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx3qa_m_impl(int, int32x4_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
283*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_s64)))
284*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx3qa_m_impl(int, int64x2_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
285*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_s8)))
286*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx3qa_m_impl(int, int8x16_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
287*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_u16)))
288*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx3qa_m_impl(int, uint16x8_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
289*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_u32)))
290*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx3qa_m_impl(int, uint32x4_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
291*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_u64)))
292*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx3qa_m_impl(int, uint64x2_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
293*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_u8)))
294*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3qa_m_impl(int, uint8x16_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
295*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_s16_u8)))
296*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vreinterpretq_s16_u8(uint8x16_t);
297*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_s32_u8)))
298*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vreinterpretq_s32_u8(uint8x16_t);
299*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_s64_u8)))
300*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vreinterpretq_s64_u8(uint8x16_t);
301*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_s8_u8)))
302*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vreinterpretq_s8_u8(uint8x16_t);
303*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u16_u8)))
304*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vreinterpretq_u16_u8(uint8x16_t);
305*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u32_u8)))
306*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vreinterpretq_u32_u8(uint8x16_t);
307*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u64_u8)))
308*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vreinterpretq_u64_u8(uint8x16_t);
309*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_s16)))
310*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(int16x8_t);
311*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_s32)))
312*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(int32x4_t);
313*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_s64)))
314*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(int64x2_t);
315*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_s8)))
316*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(int8x16_t);
317*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_u16)))
318*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(uint16x8_t);
319*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_u32)))
320*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(uint32x4_t);
321*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_u64)))
322*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(uint64x2_t);
323*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vreinterpretq_u8_u8)))
324*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(uint8x16_t);
325*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx2q_m(cp, inactive, n, imm, pred) __arm_vcx2q_m_impl((cp), (inactive), __arm_vreinterpretq_u8(n), (imm), (pred))
326*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx2qa(cp, acc, n, imm) __arm_vcx2qa_impl((cp), (acc), __arm_vreinterpretq_u8(n), (imm))
327*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx2qa_m(cp, acc, n, imm, pred) __arm_vcx2qa_m_impl((cp), (acc), __arm_vreinterpretq_u8(n), (imm), (pred))
328*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx3q(cp, n, m, imm) __arm_vcx3q_impl((cp), (n), __arm_vreinterpretq_u8(m), (imm))
329*bed243d3SAndroid Build Coastguard Worker #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*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx3q_u8(cp, n, m, imm) __arm_vcx3q_u8_impl((cp), (n), __arm_vreinterpretq_u8(m), (imm))
331*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx3qa(cp, acc, n, m, imm) __arm_vcx3qa_impl((cp), (acc), __arm_vreinterpretq_u8(n), __arm_vreinterpretq_u8(m), (imm))
332*bed243d3SAndroid Build Coastguard Worker #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))
333*bed243d3SAndroid Build Coastguard Worker 
334*bed243d3SAndroid Build Coastguard Worker #endif /* __ARM_FEATURE_MVE */
335*bed243d3SAndroid Build Coastguard Worker 
336*bed243d3SAndroid Build Coastguard Worker #if __ARM_FEATURE_MVE & 2
337*bed243d3SAndroid Build Coastguard Worker 
338*bed243d3SAndroid Build Coastguard Worker typedef __fp16 float16_t;
339*bed243d3SAndroid Build Coastguard Worker typedef float float32_t;
340*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(8), __clang_arm_mve_strict_polymorphism)) float16_t float16x8_t;
341*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(4), __clang_arm_mve_strict_polymorphism)) float32_t float32x4_t;
342*bed243d3SAndroid Build Coastguard Worker 
343*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_f16)))
344*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx1q_m(int, float16x8_t, uint32_t, mve_pred16_t);
345*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_f32)))
346*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx1q_m(int, float32x4_t, uint32_t, mve_pred16_t);
347*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_f16)))
348*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx1qa(int, float16x8_t, uint32_t);
349*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_f32)))
350*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx1qa(int, float32x4_t, uint32_t);
351*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_f16)))
352*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx1qa_m(int, float16x8_t, uint32_t, mve_pred16_t);
353*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_f32)))
354*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx1qa_m(int, float32x4_t, uint32_t, mve_pred16_t);
355*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_f16)))
356*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx2q(int, float16x8_t, uint32_t);
357*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_f32)))
358*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx2q(int, float32x4_t, uint32_t);
359*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_f16)))
360*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx2q_m_impl(int, float16x8_t, uint8x16_t, uint32_t, mve_pred16_t);
361*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_f32)))
362*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx2q_m_impl(int, float32x4_t, uint8x16_t, uint32_t, mve_pred16_t);
363*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_f16)))
364*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, float16x8_t, uint32_t);
365*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_f32)))
366*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, float32x4_t, uint32_t);
367*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_f16)))
368*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx2qa_impl(int, float16x8_t, uint8x16_t, uint32_t);
369*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_f32)))
370*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx2qa_impl(int, float32x4_t, uint8x16_t, uint32_t);
371*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_f16)))
372*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx2qa_m_impl(int, float16x8_t, uint8x16_t, uint32_t, mve_pred16_t);
373*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_f32)))
374*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx2qa_m_impl(int, float32x4_t, uint8x16_t, uint32_t, mve_pred16_t);
375*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_f16)))
376*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx3q_impl(int, float16x8_t, uint8x16_t, uint32_t);
377*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_f32)))
378*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx3q_impl(int, float32x4_t, uint8x16_t, uint32_t);
379*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_f16)))
380*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx3q_m_impl(int, float16x8_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
381*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_f32)))
382*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx3q_m_impl(int, float32x4_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
383*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_f16)))
384*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, float16x8_t, uint8x16_t, uint32_t);
385*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_f32)))
386*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, float32x4_t, uint8x16_t, uint32_t);
387*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_f16)))
388*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx3qa_impl(int, float16x8_t, uint8x16_t, uint8x16_t, uint32_t);
389*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_f32)))
390*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx3qa_impl(int, float32x4_t, uint8x16_t, uint8x16_t, uint32_t);
391*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_f16)))
392*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx3qa_m_impl(int, float16x8_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
393*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_f32)))
394*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx3qa_m_impl(int, float32x4_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t);
395*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_f16_u8)))
396*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vreinterpretq_f16_u8(uint8x16_t);
397*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_f32_u8)))
398*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vreinterpretq_f32_u8(uint8x16_t);
399*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_f16)))
400*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(float16x8_t);
401*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_f32)))
402*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(float32x4_t);
403*bed243d3SAndroid Build Coastguard Worker 
404*bed243d3SAndroid Build Coastguard Worker #endif /* __ARM_FEATURE_MVE & 2 */
405*bed243d3SAndroid Build Coastguard Worker 
406*bed243d3SAndroid Build Coastguard Worker #ifdef __cplusplus
407*bed243d3SAndroid Build Coastguard Worker } /* extern "C" */
408*bed243d3SAndroid Build Coastguard Worker #endif
409*bed243d3SAndroid Build Coastguard Worker 
410*bed243d3SAndroid Build Coastguard Worker #endif /* __ARM_CDE_H */
411