Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(231)

Side by Side Diff: third_party/asan/asan_clang_Linux/lib/clang/3.0/include/arm_neon.h

Issue 8404033: New ASan binaries for Linux (r946) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 /*===---- arm_neon.h - ARM Neon intrinsics ---------------------------------===
2 *
3 * Permission is hereby granted, free of charge, to any person obtaining a copy
4 * of this software and associated documentation files (the "Software"), to deal
5 * in the Software without restriction, including without limitation the rights
6 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 * copies of the Software, and to permit persons to whom the Software is
8 * furnished to do so, subject to the following conditions:
9 *
10 * The above copyright notice and this permission notice shall be included in
11 * all copies or substantial portions of the Software.
12 *
13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 * THE SOFTWARE.
20 *
21 *===-----------------------------------------------------------------------===
22 */
23
24 #ifndef __ARM_NEON_H
25 #define __ARM_NEON_H
26
27 #ifndef __ARM_NEON__
28 #error "NEON support not enabled"
29 #endif
30
31 #include <stdint.h>
32
33 typedef float float32_t;
34 typedef int8_t poly8_t;
35 typedef int16_t poly16_t;
36 typedef uint16_t float16_t;
37 typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
38 typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
39 typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
40 typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
41 typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
42 typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
43 typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t;
44 typedef __attribute__((neon_vector_type(2))) int64_t int64x2_t;
45 typedef __attribute__((neon_vector_type(8))) uint8_t uint8x8_t;
46 typedef __attribute__((neon_vector_type(16))) uint8_t uint8x16_t;
47 typedef __attribute__((neon_vector_type(4))) uint16_t uint16x4_t;
48 typedef __attribute__((neon_vector_type(8))) uint16_t uint16x8_t;
49 typedef __attribute__((neon_vector_type(2))) uint32_t uint32x2_t;
50 typedef __attribute__((neon_vector_type(4))) uint32_t uint32x4_t;
51 typedef __attribute__((neon_vector_type(1))) uint64_t uint64x1_t;
52 typedef __attribute__((neon_vector_type(2))) uint64_t uint64x2_t;
53 typedef __attribute__((neon_vector_type(4))) float16_t float16x4_t;
54 typedef __attribute__((neon_vector_type(8))) float16_t float16x8_t;
55 typedef __attribute__((neon_vector_type(2))) float32_t float32x2_t;
56 typedef __attribute__((neon_vector_type(4))) float32_t float32x4_t;
57 typedef __attribute__((neon_polyvector_type(8))) poly8_t poly8x8_t;
58 typedef __attribute__((neon_polyvector_type(16))) poly8_t poly8x16_t;
59 typedef __attribute__((neon_polyvector_type(4))) poly16_t poly16x4_t;
60 typedef __attribute__((neon_polyvector_type(8))) poly16_t poly16x8_t;
61
62 typedef struct int8x8x2_t {
63 int8x8_t val[2];
64 } int8x8x2_t;
65
66 typedef struct int8x16x2_t {
67 int8x16_t val[2];
68 } int8x16x2_t;
69
70 typedef struct int16x4x2_t {
71 int16x4_t val[2];
72 } int16x4x2_t;
73
74 typedef struct int16x8x2_t {
75 int16x8_t val[2];
76 } int16x8x2_t;
77
78 typedef struct int32x2x2_t {
79 int32x2_t val[2];
80 } int32x2x2_t;
81
82 typedef struct int32x4x2_t {
83 int32x4_t val[2];
84 } int32x4x2_t;
85
86 typedef struct int64x1x2_t {
87 int64x1_t val[2];
88 } int64x1x2_t;
89
90 typedef struct int64x2x2_t {
91 int64x2_t val[2];
92 } int64x2x2_t;
93
94 typedef struct uint8x8x2_t {
95 uint8x8_t val[2];
96 } uint8x8x2_t;
97
98 typedef struct uint8x16x2_t {
99 uint8x16_t val[2];
100 } uint8x16x2_t;
101
102 typedef struct uint16x4x2_t {
103 uint16x4_t val[2];
104 } uint16x4x2_t;
105
106 typedef struct uint16x8x2_t {
107 uint16x8_t val[2];
108 } uint16x8x2_t;
109
110 typedef struct uint32x2x2_t {
111 uint32x2_t val[2];
112 } uint32x2x2_t;
113
114 typedef struct uint32x4x2_t {
115 uint32x4_t val[2];
116 } uint32x4x2_t;
117
118 typedef struct uint64x1x2_t {
119 uint64x1_t val[2];
120 } uint64x1x2_t;
121
122 typedef struct uint64x2x2_t {
123 uint64x2_t val[2];
124 } uint64x2x2_t;
125
126 typedef struct float16x4x2_t {
127 float16x4_t val[2];
128 } float16x4x2_t;
129
130 typedef struct float16x8x2_t {
131 float16x8_t val[2];
132 } float16x8x2_t;
133
134 typedef struct float32x2x2_t {
135 float32x2_t val[2];
136 } float32x2x2_t;
137
138 typedef struct float32x4x2_t {
139 float32x4_t val[2];
140 } float32x4x2_t;
141
142 typedef struct poly8x8x2_t {
143 poly8x8_t val[2];
144 } poly8x8x2_t;
145
146 typedef struct poly8x16x2_t {
147 poly8x16_t val[2];
148 } poly8x16x2_t;
149
150 typedef struct poly16x4x2_t {
151 poly16x4_t val[2];
152 } poly16x4x2_t;
153
154 typedef struct poly16x8x2_t {
155 poly16x8_t val[2];
156 } poly16x8x2_t;
157
158 typedef struct int8x8x3_t {
159 int8x8_t val[3];
160 } int8x8x3_t;
161
162 typedef struct int8x16x3_t {
163 int8x16_t val[3];
164 } int8x16x3_t;
165
166 typedef struct int16x4x3_t {
167 int16x4_t val[3];
168 } int16x4x3_t;
169
170 typedef struct int16x8x3_t {
171 int16x8_t val[3];
172 } int16x8x3_t;
173
174 typedef struct int32x2x3_t {
175 int32x2_t val[3];
176 } int32x2x3_t;
177
178 typedef struct int32x4x3_t {
179 int32x4_t val[3];
180 } int32x4x3_t;
181
182 typedef struct int64x1x3_t {
183 int64x1_t val[3];
184 } int64x1x3_t;
185
186 typedef struct int64x2x3_t {
187 int64x2_t val[3];
188 } int64x2x3_t;
189
190 typedef struct uint8x8x3_t {
191 uint8x8_t val[3];
192 } uint8x8x3_t;
193
194 typedef struct uint8x16x3_t {
195 uint8x16_t val[3];
196 } uint8x16x3_t;
197
198 typedef struct uint16x4x3_t {
199 uint16x4_t val[3];
200 } uint16x4x3_t;
201
202 typedef struct uint16x8x3_t {
203 uint16x8_t val[3];
204 } uint16x8x3_t;
205
206 typedef struct uint32x2x3_t {
207 uint32x2_t val[3];
208 } uint32x2x3_t;
209
210 typedef struct uint32x4x3_t {
211 uint32x4_t val[3];
212 } uint32x4x3_t;
213
214 typedef struct uint64x1x3_t {
215 uint64x1_t val[3];
216 } uint64x1x3_t;
217
218 typedef struct uint64x2x3_t {
219 uint64x2_t val[3];
220 } uint64x2x3_t;
221
222 typedef struct float16x4x3_t {
223 float16x4_t val[3];
224 } float16x4x3_t;
225
226 typedef struct float16x8x3_t {
227 float16x8_t val[3];
228 } float16x8x3_t;
229
230 typedef struct float32x2x3_t {
231 float32x2_t val[3];
232 } float32x2x3_t;
233
234 typedef struct float32x4x3_t {
235 float32x4_t val[3];
236 } float32x4x3_t;
237
238 typedef struct poly8x8x3_t {
239 poly8x8_t val[3];
240 } poly8x8x3_t;
241
242 typedef struct poly8x16x3_t {
243 poly8x16_t val[3];
244 } poly8x16x3_t;
245
246 typedef struct poly16x4x3_t {
247 poly16x4_t val[3];
248 } poly16x4x3_t;
249
250 typedef struct poly16x8x3_t {
251 poly16x8_t val[3];
252 } poly16x8x3_t;
253
254 typedef struct int8x8x4_t {
255 int8x8_t val[4];
256 } int8x8x4_t;
257
258 typedef struct int8x16x4_t {
259 int8x16_t val[4];
260 } int8x16x4_t;
261
262 typedef struct int16x4x4_t {
263 int16x4_t val[4];
264 } int16x4x4_t;
265
266 typedef struct int16x8x4_t {
267 int16x8_t val[4];
268 } int16x8x4_t;
269
270 typedef struct int32x2x4_t {
271 int32x2_t val[4];
272 } int32x2x4_t;
273
274 typedef struct int32x4x4_t {
275 int32x4_t val[4];
276 } int32x4x4_t;
277
278 typedef struct int64x1x4_t {
279 int64x1_t val[4];
280 } int64x1x4_t;
281
282 typedef struct int64x2x4_t {
283 int64x2_t val[4];
284 } int64x2x4_t;
285
286 typedef struct uint8x8x4_t {
287 uint8x8_t val[4];
288 } uint8x8x4_t;
289
290 typedef struct uint8x16x4_t {
291 uint8x16_t val[4];
292 } uint8x16x4_t;
293
294 typedef struct uint16x4x4_t {
295 uint16x4_t val[4];
296 } uint16x4x4_t;
297
298 typedef struct uint16x8x4_t {
299 uint16x8_t val[4];
300 } uint16x8x4_t;
301
302 typedef struct uint32x2x4_t {
303 uint32x2_t val[4];
304 } uint32x2x4_t;
305
306 typedef struct uint32x4x4_t {
307 uint32x4_t val[4];
308 } uint32x4x4_t;
309
310 typedef struct uint64x1x4_t {
311 uint64x1_t val[4];
312 } uint64x1x4_t;
313
314 typedef struct uint64x2x4_t {
315 uint64x2_t val[4];
316 } uint64x2x4_t;
317
318 typedef struct float16x4x4_t {
319 float16x4_t val[4];
320 } float16x4x4_t;
321
322 typedef struct float16x8x4_t {
323 float16x8_t val[4];
324 } float16x8x4_t;
325
326 typedef struct float32x2x4_t {
327 float32x2_t val[4];
328 } float32x2x4_t;
329
330 typedef struct float32x4x4_t {
331 float32x4_t val[4];
332 } float32x4x4_t;
333
334 typedef struct poly8x8x4_t {
335 poly8x8_t val[4];
336 } poly8x8x4_t;
337
338 typedef struct poly8x16x4_t {
339 poly8x16_t val[4];
340 } poly8x16x4_t;
341
342 typedef struct poly16x4x4_t {
343 poly16x4_t val[4];
344 } poly16x4x4_t;
345
346 typedef struct poly16x8x4_t {
347 poly16x8_t val[4];
348 } poly16x8x4_t;
349
350 #define __ai static __attribute__((__always_inline__))
351
352 __ai int16x8_t vmovl_s8(int8x8_t __a) { \
353 return (int16x8_t)__builtin_neon_vmovl_v(__a, 17); }
354 __ai int32x4_t vmovl_s16(int16x4_t __a) { \
355 return (int32x4_t)__builtin_neon_vmovl_v((int8x8_t)__a, 18); }
356 __ai int64x2_t vmovl_s32(int32x2_t __a) { \
357 return (int64x2_t)__builtin_neon_vmovl_v((int8x8_t)__a, 19); }
358 __ai uint16x8_t vmovl_u8(uint8x8_t __a) { \
359 return (uint16x8_t)__builtin_neon_vmovl_v((int8x8_t)__a, 25); }
360 __ai uint32x4_t vmovl_u16(uint16x4_t __a) { \
361 return (uint32x4_t)__builtin_neon_vmovl_v((int8x8_t)__a, 26); }
362 __ai uint64x2_t vmovl_u32(uint32x2_t __a) { \
363 return (uint64x2_t)__builtin_neon_vmovl_v((int8x8_t)__a, 27); }
364
365 __ai int16x8_t vmull_s8(int8x8_t __a, int8x8_t __b) { \
366 return (int16x8_t)__builtin_neon_vmull_v(__a, __b, 17); }
367 __ai int32x4_t vmull_s16(int16x4_t __a, int16x4_t __b) { \
368 return (int32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 18); }
369 __ai int64x2_t vmull_s32(int32x2_t __a, int32x2_t __b) { \
370 return (int64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 19); }
371 __ai uint16x8_t vmull_u8(uint8x8_t __a, uint8x8_t __b) { \
372 return (uint16x8_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 25); }
373 __ai uint32x4_t vmull_u16(uint16x4_t __a, uint16x4_t __b) { \
374 return (uint32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 26); }
375 __ai uint64x2_t vmull_u32(uint32x2_t __a, uint32x2_t __b) { \
376 return (uint64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 27); }
377 __ai poly16x8_t vmull_p8(poly8x8_t __a, poly8x8_t __b) { \
378 return (poly16x8_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 22); }
379
380 __ai int8x8_t vabd_s8(int8x8_t __a, int8x8_t __b) { \
381 return (int8x8_t)__builtin_neon_vabd_v(__a, __b, 0); }
382 __ai int16x4_t vabd_s16(int16x4_t __a, int16x4_t __b) { \
383 return (int16x4_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 1); }
384 __ai int32x2_t vabd_s32(int32x2_t __a, int32x2_t __b) { \
385 return (int32x2_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 2); }
386 __ai uint8x8_t vabd_u8(uint8x8_t __a, uint8x8_t __b) { \
387 return (uint8x8_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 8); }
388 __ai uint16x4_t vabd_u16(uint16x4_t __a, uint16x4_t __b) { \
389 return (uint16x4_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 9); }
390 __ai uint32x2_t vabd_u32(uint32x2_t __a, uint32x2_t __b) { \
391 return (uint32x2_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 10); }
392 __ai float32x2_t vabd_f32(float32x2_t __a, float32x2_t __b) { \
393 return (float32x2_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 4); }
394 __ai int8x16_t vabdq_s8(int8x16_t __a, int8x16_t __b) { \
395 return (int8x16_t)__builtin_neon_vabdq_v(__a, __b, 16); }
396 __ai int16x8_t vabdq_s16(int16x8_t __a, int16x8_t __b) { \
397 return (int16x8_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 17); }
398 __ai int32x4_t vabdq_s32(int32x4_t __a, int32x4_t __b) { \
399 return (int32x4_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 18); }
400 __ai uint8x16_t vabdq_u8(uint8x16_t __a, uint8x16_t __b) { \
401 return (uint8x16_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 24); }
402 __ai uint16x8_t vabdq_u16(uint16x8_t __a, uint16x8_t __b) { \
403 return (uint16x8_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 25); }
404 __ai uint32x4_t vabdq_u32(uint32x4_t __a, uint32x4_t __b) { \
405 return (uint32x4_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 26); }
406 __ai float32x4_t vabdq_f32(float32x4_t __a, float32x4_t __b) { \
407 return (float32x4_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 20) ; }
408
409 __ai int8x8_t vaba_s8(int8x8_t __a, int8x8_t __b, int8x8_t __c) { \
410 return __a + vabd_s8(__b, __c); }
411 __ai int16x4_t vaba_s16(int16x4_t __a, int16x4_t __b, int16x4_t __c) { \
412 return __a + vabd_s16(__b, __c); }
413 __ai int32x2_t vaba_s32(int32x2_t __a, int32x2_t __b, int32x2_t __c) { \
414 return __a + vabd_s32(__b, __c); }
415 __ai uint8x8_t vaba_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { \
416 return __a + vabd_u8(__b, __c); }
417 __ai uint16x4_t vaba_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) { \
418 return __a + vabd_u16(__b, __c); }
419 __ai uint32x2_t vaba_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) { \
420 return __a + vabd_u32(__b, __c); }
421 __ai int8x16_t vabaq_s8(int8x16_t __a, int8x16_t __b, int8x16_t __c) { \
422 return __a + vabdq_s8(__b, __c); }
423 __ai int16x8_t vabaq_s16(int16x8_t __a, int16x8_t __b, int16x8_t __c) { \
424 return __a + vabdq_s16(__b, __c); }
425 __ai int32x4_t vabaq_s32(int32x4_t __a, int32x4_t __b, int32x4_t __c) { \
426 return __a + vabdq_s32(__b, __c); }
427 __ai uint8x16_t vabaq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) { \
428 return __a + vabdq_u8(__b, __c); }
429 __ai uint16x8_t vabaq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) { \
430 return __a + vabdq_u16(__b, __c); }
431 __ai uint32x4_t vabaq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { \
432 return __a + vabdq_u32(__b, __c); }
433
434 __ai int16x8_t vabal_s8(int16x8_t __a, int8x8_t __b, int8x8_t __c) { \
435 return __a + (int16x8_t)vmovl_u8((uint8x8_t)vabd_s8(__b, __c)); }
436 __ai int32x4_t vabal_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) { \
437 return __a + (int32x4_t)vmovl_u16((uint16x4_t)vabd_s16(__b, __c)); }
438 __ai int64x2_t vabal_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) { \
439 return __a + (int64x2_t)vmovl_u32((uint32x2_t)vabd_s32(__b, __c)); }
440 __ai uint16x8_t vabal_u8(uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) { \
441 return __a + vmovl_u8(vabd_u8(__b, __c)); }
442 __ai uint32x4_t vabal_u16(uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) { \
443 return __a + vmovl_u16(vabd_u16(__b, __c)); }
444 __ai uint64x2_t vabal_u32(uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) { \
445 return __a + vmovl_u32(vabd_u32(__b, __c)); }
446
447 __ai int16x8_t vabdl_s8(int8x8_t __a, int8x8_t __b) { \
448 return (int16x8_t)vmovl_u8((uint8x8_t)vabd_s8(__a, __b)); }
449 __ai int32x4_t vabdl_s16(int16x4_t __a, int16x4_t __b) { \
450 return (int32x4_t)vmovl_u16((uint16x4_t)vabd_s16(__a, __b)); }
451 __ai int64x2_t vabdl_s32(int32x2_t __a, int32x2_t __b) { \
452 return (int64x2_t)vmovl_u32((uint32x2_t)vabd_s32(__a, __b)); }
453 __ai uint16x8_t vabdl_u8(uint8x8_t __a, uint8x8_t __b) { \
454 return vmovl_u8(vabd_u8(__a, __b)); }
455 __ai uint32x4_t vabdl_u16(uint16x4_t __a, uint16x4_t __b) { \
456 return vmovl_u16(vabd_u16(__a, __b)); }
457 __ai uint64x2_t vabdl_u32(uint32x2_t __a, uint32x2_t __b) { \
458 return vmovl_u32(vabd_u32(__a, __b)); }
459
460 __ai int8x8_t vabs_s8(int8x8_t __a) { \
461 return (int8x8_t)__builtin_neon_vabs_v(__a, 0); }
462 __ai int16x4_t vabs_s16(int16x4_t __a) { \
463 return (int16x4_t)__builtin_neon_vabs_v((int8x8_t)__a, 1); }
464 __ai int32x2_t vabs_s32(int32x2_t __a) { \
465 return (int32x2_t)__builtin_neon_vabs_v((int8x8_t)__a, 2); }
466 __ai float32x2_t vabs_f32(float32x2_t __a) { \
467 return (float32x2_t)__builtin_neon_vabs_v((int8x8_t)__a, 4); }
468 __ai int8x16_t vabsq_s8(int8x16_t __a) { \
469 return (int8x16_t)__builtin_neon_vabsq_v(__a, 16); }
470 __ai int16x8_t vabsq_s16(int16x8_t __a) { \
471 return (int16x8_t)__builtin_neon_vabsq_v((int8x16_t)__a, 17); }
472 __ai int32x4_t vabsq_s32(int32x4_t __a) { \
473 return (int32x4_t)__builtin_neon_vabsq_v((int8x16_t)__a, 18); }
474 __ai float32x4_t vabsq_f32(float32x4_t __a) { \
475 return (float32x4_t)__builtin_neon_vabsq_v((int8x16_t)__a, 20); }
476
477 __ai int8x8_t vadd_s8(int8x8_t __a, int8x8_t __b) { \
478 return __a + __b; }
479 __ai int16x4_t vadd_s16(int16x4_t __a, int16x4_t __b) { \
480 return __a + __b; }
481 __ai int32x2_t vadd_s32(int32x2_t __a, int32x2_t __b) { \
482 return __a + __b; }
483 __ai int64x1_t vadd_s64(int64x1_t __a, int64x1_t __b) { \
484 return __a + __b; }
485 __ai float32x2_t vadd_f32(float32x2_t __a, float32x2_t __b) { \
486 return __a + __b; }
487 __ai uint8x8_t vadd_u8(uint8x8_t __a, uint8x8_t __b) { \
488 return __a + __b; }
489 __ai uint16x4_t vadd_u16(uint16x4_t __a, uint16x4_t __b) { \
490 return __a + __b; }
491 __ai uint32x2_t vadd_u32(uint32x2_t __a, uint32x2_t __b) { \
492 return __a + __b; }
493 __ai uint64x1_t vadd_u64(uint64x1_t __a, uint64x1_t __b) { \
494 return __a + __b; }
495 __ai int8x16_t vaddq_s8(int8x16_t __a, int8x16_t __b) { \
496 return __a + __b; }
497 __ai int16x8_t vaddq_s16(int16x8_t __a, int16x8_t __b) { \
498 return __a + __b; }
499 __ai int32x4_t vaddq_s32(int32x4_t __a, int32x4_t __b) { \
500 return __a + __b; }
501 __ai int64x2_t vaddq_s64(int64x2_t __a, int64x2_t __b) { \
502 return __a + __b; }
503 __ai float32x4_t vaddq_f32(float32x4_t __a, float32x4_t __b) { \
504 return __a + __b; }
505 __ai uint8x16_t vaddq_u8(uint8x16_t __a, uint8x16_t __b) { \
506 return __a + __b; }
507 __ai uint16x8_t vaddq_u16(uint16x8_t __a, uint16x8_t __b) { \
508 return __a + __b; }
509 __ai uint32x4_t vaddq_u32(uint32x4_t __a, uint32x4_t __b) { \
510 return __a + __b; }
511 __ai uint64x2_t vaddq_u64(uint64x2_t __a, uint64x2_t __b) { \
512 return __a + __b; }
513
514 __ai int8x8_t vaddhn_s16(int16x8_t __a, int16x8_t __b) { \
515 return (int8x8_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 0); }
516 __ai int16x4_t vaddhn_s32(int32x4_t __a, int32x4_t __b) { \
517 return (int16x4_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 1); }
518 __ai int32x2_t vaddhn_s64(int64x2_t __a, int64x2_t __b) { \
519 return (int32x2_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 2); }
520 __ai uint8x8_t vaddhn_u16(uint16x8_t __a, uint16x8_t __b) { \
521 return (uint8x8_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 8); }
522 __ai uint16x4_t vaddhn_u32(uint32x4_t __a, uint32x4_t __b) { \
523 return (uint16x4_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 9); }
524 __ai uint32x2_t vaddhn_u64(uint64x2_t __a, uint64x2_t __b) { \
525 return (uint32x2_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 10) ; }
526
527 __ai int16x8_t vaddl_s8(int8x8_t __a, int8x8_t __b) { \
528 return vmovl_s8(__a) + vmovl_s8(__b); }
529 __ai int32x4_t vaddl_s16(int16x4_t __a, int16x4_t __b) { \
530 return vmovl_s16(__a) + vmovl_s16(__b); }
531 __ai int64x2_t vaddl_s32(int32x2_t __a, int32x2_t __b) { \
532 return vmovl_s32(__a) + vmovl_s32(__b); }
533 __ai uint16x8_t vaddl_u8(uint8x8_t __a, uint8x8_t __b) { \
534 return vmovl_u8(__a) + vmovl_u8(__b); }
535 __ai uint32x4_t vaddl_u16(uint16x4_t __a, uint16x4_t __b) { \
536 return vmovl_u16(__a) + vmovl_u16(__b); }
537 __ai uint64x2_t vaddl_u32(uint32x2_t __a, uint32x2_t __b) { \
538 return vmovl_u32(__a) + vmovl_u32(__b); }
539
540 __ai int16x8_t vaddw_s8(int16x8_t __a, int8x8_t __b) { \
541 return __a + vmovl_s8(__b); }
542 __ai int32x4_t vaddw_s16(int32x4_t __a, int16x4_t __b) { \
543 return __a + vmovl_s16(__b); }
544 __ai int64x2_t vaddw_s32(int64x2_t __a, int32x2_t __b) { \
545 return __a + vmovl_s32(__b); }
546 __ai uint16x8_t vaddw_u8(uint16x8_t __a, uint8x8_t __b) { \
547 return __a + vmovl_u8(__b); }
548 __ai uint32x4_t vaddw_u16(uint32x4_t __a, uint16x4_t __b) { \
549 return __a + vmovl_u16(__b); }
550 __ai uint64x2_t vaddw_u32(uint64x2_t __a, uint32x2_t __b) { \
551 return __a + vmovl_u32(__b); }
552
553 __ai int8x8_t vand_s8(int8x8_t __a, int8x8_t __b) { \
554 return __a & __b; }
555 __ai int16x4_t vand_s16(int16x4_t __a, int16x4_t __b) { \
556 return __a & __b; }
557 __ai int32x2_t vand_s32(int32x2_t __a, int32x2_t __b) { \
558 return __a & __b; }
559 __ai int64x1_t vand_s64(int64x1_t __a, int64x1_t __b) { \
560 return __a & __b; }
561 __ai uint8x8_t vand_u8(uint8x8_t __a, uint8x8_t __b) { \
562 return __a & __b; }
563 __ai uint16x4_t vand_u16(uint16x4_t __a, uint16x4_t __b) { \
564 return __a & __b; }
565 __ai uint32x2_t vand_u32(uint32x2_t __a, uint32x2_t __b) { \
566 return __a & __b; }
567 __ai uint64x1_t vand_u64(uint64x1_t __a, uint64x1_t __b) { \
568 return __a & __b; }
569 __ai int8x16_t vandq_s8(int8x16_t __a, int8x16_t __b) { \
570 return __a & __b; }
571 __ai int16x8_t vandq_s16(int16x8_t __a, int16x8_t __b) { \
572 return __a & __b; }
573 __ai int32x4_t vandq_s32(int32x4_t __a, int32x4_t __b) { \
574 return __a & __b; }
575 __ai int64x2_t vandq_s64(int64x2_t __a, int64x2_t __b) { \
576 return __a & __b; }
577 __ai uint8x16_t vandq_u8(uint8x16_t __a, uint8x16_t __b) { \
578 return __a & __b; }
579 __ai uint16x8_t vandq_u16(uint16x8_t __a, uint16x8_t __b) { \
580 return __a & __b; }
581 __ai uint32x4_t vandq_u32(uint32x4_t __a, uint32x4_t __b) { \
582 return __a & __b; }
583 __ai uint64x2_t vandq_u64(uint64x2_t __a, uint64x2_t __b) { \
584 return __a & __b; }
585
586 __ai int8x8_t vbic_s8(int8x8_t __a, int8x8_t __b) { \
587 return __a & ~__b; }
588 __ai int16x4_t vbic_s16(int16x4_t __a, int16x4_t __b) { \
589 return __a & ~__b; }
590 __ai int32x2_t vbic_s32(int32x2_t __a, int32x2_t __b) { \
591 return __a & ~__b; }
592 __ai int64x1_t vbic_s64(int64x1_t __a, int64x1_t __b) { \
593 return __a & ~__b; }
594 __ai uint8x8_t vbic_u8(uint8x8_t __a, uint8x8_t __b) { \
595 return __a & ~__b; }
596 __ai uint16x4_t vbic_u16(uint16x4_t __a, uint16x4_t __b) { \
597 return __a & ~__b; }
598 __ai uint32x2_t vbic_u32(uint32x2_t __a, uint32x2_t __b) { \
599 return __a & ~__b; }
600 __ai uint64x1_t vbic_u64(uint64x1_t __a, uint64x1_t __b) { \
601 return __a & ~__b; }
602 __ai int8x16_t vbicq_s8(int8x16_t __a, int8x16_t __b) { \
603 return __a & ~__b; }
604 __ai int16x8_t vbicq_s16(int16x8_t __a, int16x8_t __b) { \
605 return __a & ~__b; }
606 __ai int32x4_t vbicq_s32(int32x4_t __a, int32x4_t __b) { \
607 return __a & ~__b; }
608 __ai int64x2_t vbicq_s64(int64x2_t __a, int64x2_t __b) { \
609 return __a & ~__b; }
610 __ai uint8x16_t vbicq_u8(uint8x16_t __a, uint8x16_t __b) { \
611 return __a & ~__b; }
612 __ai uint16x8_t vbicq_u16(uint16x8_t __a, uint16x8_t __b) { \
613 return __a & ~__b; }
614 __ai uint32x4_t vbicq_u32(uint32x4_t __a, uint32x4_t __b) { \
615 return __a & ~__b; }
616 __ai uint64x2_t vbicq_u64(uint64x2_t __a, uint64x2_t __b) { \
617 return __a & ~__b; }
618
619 __ai int8x8_t vbsl_s8(uint8x8_t __a, int8x8_t __b, int8x8_t __c) { \
620 return (int8x8_t)((__a & (uint8x8_t)__b) | (~__a & (uint8x8_t)__c)); }
621 __ai int16x4_t vbsl_s16(uint16x4_t __a, int16x4_t __b, int16x4_t __c) { \
622 return (int16x4_t)((__a & (uint16x4_t)__b) | (~__a & (uint16x4_t)__c)); }
623 __ai int32x2_t vbsl_s32(uint32x2_t __a, int32x2_t __b, int32x2_t __c) { \
624 return (int32x2_t)((__a & (uint32x2_t)__b) | (~__a & (uint32x2_t)__c)); }
625 __ai int64x1_t vbsl_s64(uint64x1_t __a, int64x1_t __b, int64x1_t __c) { \
626 return (int64x1_t)((__a & (uint64x1_t)__b) | (~__a & (uint64x1_t)__c)); }
627 __ai uint8x8_t vbsl_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { \
628 return (uint8x8_t)((__a & (uint8x8_t)__b) | (~__a & (uint8x8_t)__c)); }
629 __ai uint16x4_t vbsl_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) { \
630 return (uint16x4_t)((__a & (uint16x4_t)__b) | (~__a & (uint16x4_t)__c)); }
631 __ai uint32x2_t vbsl_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) { \
632 return (uint32x2_t)((__a & (uint32x2_t)__b) | (~__a & (uint32x2_t)__c)); }
633 __ai uint64x1_t vbsl_u64(uint64x1_t __a, uint64x1_t __b, uint64x1_t __c) { \
634 return (uint64x1_t)((__a & (uint64x1_t)__b) | (~__a & (uint64x1_t)__c)); }
635 __ai float32x2_t vbsl_f32(uint32x2_t __a, float32x2_t __b, float32x2_t __c) { \
636 return (float32x2_t)((__a & (uint32x2_t)__b) | (~__a & (uint32x2_t)__c)); }
637 __ai poly8x8_t vbsl_p8(uint8x8_t __a, poly8x8_t __b, poly8x8_t __c) { \
638 return (poly8x8_t)((__a & (uint8x8_t)__b) | (~__a & (uint8x8_t)__c)); }
639 __ai poly16x4_t vbsl_p16(uint16x4_t __a, poly16x4_t __b, poly16x4_t __c) { \
640 return (poly16x4_t)((__a & (uint16x4_t)__b) | (~__a & (uint16x4_t)__c)); }
641 __ai int8x16_t vbslq_s8(uint8x16_t __a, int8x16_t __b, int8x16_t __c) { \
642 return (int8x16_t)((__a & (uint8x16_t)__b) | (~__a & (uint8x16_t)__c)); }
643 __ai int16x8_t vbslq_s16(uint16x8_t __a, int16x8_t __b, int16x8_t __c) { \
644 return (int16x8_t)((__a & (uint16x8_t)__b) | (~__a & (uint16x8_t)__c)); }
645 __ai int32x4_t vbslq_s32(uint32x4_t __a, int32x4_t __b, int32x4_t __c) { \
646 return (int32x4_t)((__a & (uint32x4_t)__b) | (~__a & (uint32x4_t)__c)); }
647 __ai int64x2_t vbslq_s64(uint64x2_t __a, int64x2_t __b, int64x2_t __c) { \
648 return (int64x2_t)((__a & (uint64x2_t)__b) | (~__a & (uint64x2_t)__c)); }
649 __ai uint8x16_t vbslq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) { \
650 return (uint8x16_t)((__a & (uint8x16_t)__b) | (~__a & (uint8x16_t)__c)); }
651 __ai uint16x8_t vbslq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) { \
652 return (uint16x8_t)((__a & (uint16x8_t)__b) | (~__a & (uint16x8_t)__c)); }
653 __ai uint32x4_t vbslq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { \
654 return (uint32x4_t)((__a & (uint32x4_t)__b) | (~__a & (uint32x4_t)__c)); }
655 __ai uint64x2_t vbslq_u64(uint64x2_t __a, uint64x2_t __b, uint64x2_t __c) { \
656 return (uint64x2_t)((__a & (uint64x2_t)__b) | (~__a & (uint64x2_t)__c)); }
657 __ai float32x4_t vbslq_f32(uint32x4_t __a, float32x4_t __b, float32x4_t __c) { \
658 return (float32x4_t)((__a & (uint32x4_t)__b) | (~__a & (uint32x4_t)__c)); }
659 __ai poly8x16_t vbslq_p8(uint8x16_t __a, poly8x16_t __b, poly8x16_t __c) { \
660 return (poly8x16_t)((__a & (uint8x16_t)__b) | (~__a & (uint8x16_t)__c)); }
661 __ai poly16x8_t vbslq_p16(uint16x8_t __a, poly16x8_t __b, poly16x8_t __c) { \
662 return (poly16x8_t)((__a & (uint16x8_t)__b) | (~__a & (uint16x8_t)__c)); }
663
664 __ai uint32x2_t vcage_f32(float32x2_t __a, float32x2_t __b) { \
665 return (uint32x2_t)__builtin_neon_vcage_v((int8x8_t)__a, (int8x8_t)__b, 10); }
666 __ai uint32x4_t vcageq_f32(float32x4_t __a, float32x4_t __b) { \
667 return (uint32x4_t)__builtin_neon_vcageq_v((int8x16_t)__a, (int8x16_t)__b, 26) ; }
668
669 __ai uint32x2_t vcagt_f32(float32x2_t __a, float32x2_t __b) { \
670 return (uint32x2_t)__builtin_neon_vcagt_v((int8x8_t)__a, (int8x8_t)__b, 10); }
671 __ai uint32x4_t vcagtq_f32(float32x4_t __a, float32x4_t __b) { \
672 return (uint32x4_t)__builtin_neon_vcagtq_v((int8x16_t)__a, (int8x16_t)__b, 26) ; }
673
674 __ai uint32x2_t vcale_f32(float32x2_t __a, float32x2_t __b) { \
675 return (uint32x2_t)__builtin_neon_vcale_v((int8x8_t)__a, (int8x8_t)__b, 10); }
676 __ai uint32x4_t vcaleq_f32(float32x4_t __a, float32x4_t __b) { \
677 return (uint32x4_t)__builtin_neon_vcaleq_v((int8x16_t)__a, (int8x16_t)__b, 26) ; }
678
679 __ai uint32x2_t vcalt_f32(float32x2_t __a, float32x2_t __b) { \
680 return (uint32x2_t)__builtin_neon_vcalt_v((int8x8_t)__a, (int8x8_t)__b, 10); }
681 __ai uint32x4_t vcaltq_f32(float32x4_t __a, float32x4_t __b) { \
682 return (uint32x4_t)__builtin_neon_vcaltq_v((int8x16_t)__a, (int8x16_t)__b, 26) ; }
683
684 __ai uint8x8_t vceq_s8(int8x8_t __a, int8x8_t __b) { \
685 return (uint8x8_t)(__a == __b); }
686 __ai uint16x4_t vceq_s16(int16x4_t __a, int16x4_t __b) { \
687 return (uint16x4_t)(__a == __b); }
688 __ai uint32x2_t vceq_s32(int32x2_t __a, int32x2_t __b) { \
689 return (uint32x2_t)(__a == __b); }
690 __ai uint32x2_t vceq_f32(float32x2_t __a, float32x2_t __b) { \
691 return (uint32x2_t)(__a == __b); }
692 __ai uint8x8_t vceq_u8(uint8x8_t __a, uint8x8_t __b) { \
693 return (uint8x8_t)(__a == __b); }
694 __ai uint16x4_t vceq_u16(uint16x4_t __a, uint16x4_t __b) { \
695 return (uint16x4_t)(__a == __b); }
696 __ai uint32x2_t vceq_u32(uint32x2_t __a, uint32x2_t __b) { \
697 return (uint32x2_t)(__a == __b); }
698 __ai uint8x8_t vceq_p8(poly8x8_t __a, poly8x8_t __b) { \
699 return (uint8x8_t)(__a == __b); }
700 __ai uint8x16_t vceqq_s8(int8x16_t __a, int8x16_t __b) { \
701 return (uint8x16_t)(__a == __b); }
702 __ai uint16x8_t vceqq_s16(int16x8_t __a, int16x8_t __b) { \
703 return (uint16x8_t)(__a == __b); }
704 __ai uint32x4_t vceqq_s32(int32x4_t __a, int32x4_t __b) { \
705 return (uint32x4_t)(__a == __b); }
706 __ai uint32x4_t vceqq_f32(float32x4_t __a, float32x4_t __b) { \
707 return (uint32x4_t)(__a == __b); }
708 __ai uint8x16_t vceqq_u8(uint8x16_t __a, uint8x16_t __b) { \
709 return (uint8x16_t)(__a == __b); }
710 __ai uint16x8_t vceqq_u16(uint16x8_t __a, uint16x8_t __b) { \
711 return (uint16x8_t)(__a == __b); }
712 __ai uint32x4_t vceqq_u32(uint32x4_t __a, uint32x4_t __b) { \
713 return (uint32x4_t)(__a == __b); }
714 __ai uint8x16_t vceqq_p8(poly8x16_t __a, poly8x16_t __b) { \
715 return (uint8x16_t)(__a == __b); }
716
717 __ai uint8x8_t vcge_s8(int8x8_t __a, int8x8_t __b) { \
718 return (uint8x8_t)(__a >= __b); }
719 __ai uint16x4_t vcge_s16(int16x4_t __a, int16x4_t __b) { \
720 return (uint16x4_t)(__a >= __b); }
721 __ai uint32x2_t vcge_s32(int32x2_t __a, int32x2_t __b) { \
722 return (uint32x2_t)(__a >= __b); }
723 __ai uint32x2_t vcge_f32(float32x2_t __a, float32x2_t __b) { \
724 return (uint32x2_t)(__a >= __b); }
725 __ai uint8x8_t vcge_u8(uint8x8_t __a, uint8x8_t __b) { \
726 return (uint8x8_t)(__a >= __b); }
727 __ai uint16x4_t vcge_u16(uint16x4_t __a, uint16x4_t __b) { \
728 return (uint16x4_t)(__a >= __b); }
729 __ai uint32x2_t vcge_u32(uint32x2_t __a, uint32x2_t __b) { \
730 return (uint32x2_t)(__a >= __b); }
731 __ai uint8x16_t vcgeq_s8(int8x16_t __a, int8x16_t __b) { \
732 return (uint8x16_t)(__a >= __b); }
733 __ai uint16x8_t vcgeq_s16(int16x8_t __a, int16x8_t __b) { \
734 return (uint16x8_t)(__a >= __b); }
735 __ai uint32x4_t vcgeq_s32(int32x4_t __a, int32x4_t __b) { \
736 return (uint32x4_t)(__a >= __b); }
737 __ai uint32x4_t vcgeq_f32(float32x4_t __a, float32x4_t __b) { \
738 return (uint32x4_t)(__a >= __b); }
739 __ai uint8x16_t vcgeq_u8(uint8x16_t __a, uint8x16_t __b) { \
740 return (uint8x16_t)(__a >= __b); }
741 __ai uint16x8_t vcgeq_u16(uint16x8_t __a, uint16x8_t __b) { \
742 return (uint16x8_t)(__a >= __b); }
743 __ai uint32x4_t vcgeq_u32(uint32x4_t __a, uint32x4_t __b) { \
744 return (uint32x4_t)(__a >= __b); }
745
746 __ai uint8x8_t vcgt_s8(int8x8_t __a, int8x8_t __b) { \
747 return (uint8x8_t)(__a > __b); }
748 __ai uint16x4_t vcgt_s16(int16x4_t __a, int16x4_t __b) { \
749 return (uint16x4_t)(__a > __b); }
750 __ai uint32x2_t vcgt_s32(int32x2_t __a, int32x2_t __b) { \
751 return (uint32x2_t)(__a > __b); }
752 __ai uint32x2_t vcgt_f32(float32x2_t __a, float32x2_t __b) { \
753 return (uint32x2_t)(__a > __b); }
754 __ai uint8x8_t vcgt_u8(uint8x8_t __a, uint8x8_t __b) { \
755 return (uint8x8_t)(__a > __b); }
756 __ai uint16x4_t vcgt_u16(uint16x4_t __a, uint16x4_t __b) { \
757 return (uint16x4_t)(__a > __b); }
758 __ai uint32x2_t vcgt_u32(uint32x2_t __a, uint32x2_t __b) { \
759 return (uint32x2_t)(__a > __b); }
760 __ai uint8x16_t vcgtq_s8(int8x16_t __a, int8x16_t __b) { \
761 return (uint8x16_t)(__a > __b); }
762 __ai uint16x8_t vcgtq_s16(int16x8_t __a, int16x8_t __b) { \
763 return (uint16x8_t)(__a > __b); }
764 __ai uint32x4_t vcgtq_s32(int32x4_t __a, int32x4_t __b) { \
765 return (uint32x4_t)(__a > __b); }
766 __ai uint32x4_t vcgtq_f32(float32x4_t __a, float32x4_t __b) { \
767 return (uint32x4_t)(__a > __b); }
768 __ai uint8x16_t vcgtq_u8(uint8x16_t __a, uint8x16_t __b) { \
769 return (uint8x16_t)(__a > __b); }
770 __ai uint16x8_t vcgtq_u16(uint16x8_t __a, uint16x8_t __b) { \
771 return (uint16x8_t)(__a > __b); }
772 __ai uint32x4_t vcgtq_u32(uint32x4_t __a, uint32x4_t __b) { \
773 return (uint32x4_t)(__a > __b); }
774
775 __ai uint8x8_t vcle_s8(int8x8_t __a, int8x8_t __b) { \
776 return (uint8x8_t)(__a <= __b); }
777 __ai uint16x4_t vcle_s16(int16x4_t __a, int16x4_t __b) { \
778 return (uint16x4_t)(__a <= __b); }
779 __ai uint32x2_t vcle_s32(int32x2_t __a, int32x2_t __b) { \
780 return (uint32x2_t)(__a <= __b); }
781 __ai uint32x2_t vcle_f32(float32x2_t __a, float32x2_t __b) { \
782 return (uint32x2_t)(__a <= __b); }
783 __ai uint8x8_t vcle_u8(uint8x8_t __a, uint8x8_t __b) { \
784 return (uint8x8_t)(__a <= __b); }
785 __ai uint16x4_t vcle_u16(uint16x4_t __a, uint16x4_t __b) { \
786 return (uint16x4_t)(__a <= __b); }
787 __ai uint32x2_t vcle_u32(uint32x2_t __a, uint32x2_t __b) { \
788 return (uint32x2_t)(__a <= __b); }
789 __ai uint8x16_t vcleq_s8(int8x16_t __a, int8x16_t __b) { \
790 return (uint8x16_t)(__a <= __b); }
791 __ai uint16x8_t vcleq_s16(int16x8_t __a, int16x8_t __b) { \
792 return (uint16x8_t)(__a <= __b); }
793 __ai uint32x4_t vcleq_s32(int32x4_t __a, int32x4_t __b) { \
794 return (uint32x4_t)(__a <= __b); }
795 __ai uint32x4_t vcleq_f32(float32x4_t __a, float32x4_t __b) { \
796 return (uint32x4_t)(__a <= __b); }
797 __ai uint8x16_t vcleq_u8(uint8x16_t __a, uint8x16_t __b) { \
798 return (uint8x16_t)(__a <= __b); }
799 __ai uint16x8_t vcleq_u16(uint16x8_t __a, uint16x8_t __b) { \
800 return (uint16x8_t)(__a <= __b); }
801 __ai uint32x4_t vcleq_u32(uint32x4_t __a, uint32x4_t __b) { \
802 return (uint32x4_t)(__a <= __b); }
803
804 __ai int8x8_t vcls_s8(int8x8_t __a) { \
805 return (int8x8_t)__builtin_neon_vcls_v(__a, 0); }
806 __ai int16x4_t vcls_s16(int16x4_t __a) { \
807 return (int16x4_t)__builtin_neon_vcls_v((int8x8_t)__a, 1); }
808 __ai int32x2_t vcls_s32(int32x2_t __a) { \
809 return (int32x2_t)__builtin_neon_vcls_v((int8x8_t)__a, 2); }
810 __ai int8x16_t vclsq_s8(int8x16_t __a) { \
811 return (int8x16_t)__builtin_neon_vclsq_v(__a, 16); }
812 __ai int16x8_t vclsq_s16(int16x8_t __a) { \
813 return (int16x8_t)__builtin_neon_vclsq_v((int8x16_t)__a, 17); }
814 __ai int32x4_t vclsq_s32(int32x4_t __a) { \
815 return (int32x4_t)__builtin_neon_vclsq_v((int8x16_t)__a, 18); }
816
817 __ai uint8x8_t vclt_s8(int8x8_t __a, int8x8_t __b) { \
818 return (uint8x8_t)(__a < __b); }
819 __ai uint16x4_t vclt_s16(int16x4_t __a, int16x4_t __b) { \
820 return (uint16x4_t)(__a < __b); }
821 __ai uint32x2_t vclt_s32(int32x2_t __a, int32x2_t __b) { \
822 return (uint32x2_t)(__a < __b); }
823 __ai uint32x2_t vclt_f32(float32x2_t __a, float32x2_t __b) { \
824 return (uint32x2_t)(__a < __b); }
825 __ai uint8x8_t vclt_u8(uint8x8_t __a, uint8x8_t __b) { \
826 return (uint8x8_t)(__a < __b); }
827 __ai uint16x4_t vclt_u16(uint16x4_t __a, uint16x4_t __b) { \
828 return (uint16x4_t)(__a < __b); }
829 __ai uint32x2_t vclt_u32(uint32x2_t __a, uint32x2_t __b) { \
830 return (uint32x2_t)(__a < __b); }
831 __ai uint8x16_t vcltq_s8(int8x16_t __a, int8x16_t __b) { \
832 return (uint8x16_t)(__a < __b); }
833 __ai uint16x8_t vcltq_s16(int16x8_t __a, int16x8_t __b) { \
834 return (uint16x8_t)(__a < __b); }
835 __ai uint32x4_t vcltq_s32(int32x4_t __a, int32x4_t __b) { \
836 return (uint32x4_t)(__a < __b); }
837 __ai uint32x4_t vcltq_f32(float32x4_t __a, float32x4_t __b) { \
838 return (uint32x4_t)(__a < __b); }
839 __ai uint8x16_t vcltq_u8(uint8x16_t __a, uint8x16_t __b) { \
840 return (uint8x16_t)(__a < __b); }
841 __ai uint16x8_t vcltq_u16(uint16x8_t __a, uint16x8_t __b) { \
842 return (uint16x8_t)(__a < __b); }
843 __ai uint32x4_t vcltq_u32(uint32x4_t __a, uint32x4_t __b) { \
844 return (uint32x4_t)(__a < __b); }
845
846 __ai int8x8_t vclz_s8(int8x8_t __a) { \
847 return (int8x8_t)__builtin_neon_vclz_v(__a, 0); }
848 __ai int16x4_t vclz_s16(int16x4_t __a) { \
849 return (int16x4_t)__builtin_neon_vclz_v((int8x8_t)__a, 1); }
850 __ai int32x2_t vclz_s32(int32x2_t __a) { \
851 return (int32x2_t)__builtin_neon_vclz_v((int8x8_t)__a, 2); }
852 __ai uint8x8_t vclz_u8(uint8x8_t __a) { \
853 return (uint8x8_t)__builtin_neon_vclz_v((int8x8_t)__a, 8); }
854 __ai uint16x4_t vclz_u16(uint16x4_t __a) { \
855 return (uint16x4_t)__builtin_neon_vclz_v((int8x8_t)__a, 9); }
856 __ai uint32x2_t vclz_u32(uint32x2_t __a) { \
857 return (uint32x2_t)__builtin_neon_vclz_v((int8x8_t)__a, 10); }
858 __ai int8x16_t vclzq_s8(int8x16_t __a) { \
859 return (int8x16_t)__builtin_neon_vclzq_v(__a, 16); }
860 __ai int16x8_t vclzq_s16(int16x8_t __a) { \
861 return (int16x8_t)__builtin_neon_vclzq_v((int8x16_t)__a, 17); }
862 __ai int32x4_t vclzq_s32(int32x4_t __a) { \
863 return (int32x4_t)__builtin_neon_vclzq_v((int8x16_t)__a, 18); }
864 __ai uint8x16_t vclzq_u8(uint8x16_t __a) { \
865 return (uint8x16_t)__builtin_neon_vclzq_v((int8x16_t)__a, 24); }
866 __ai uint16x8_t vclzq_u16(uint16x8_t __a) { \
867 return (uint16x8_t)__builtin_neon_vclzq_v((int8x16_t)__a, 25); }
868 __ai uint32x4_t vclzq_u32(uint32x4_t __a) { \
869 return (uint32x4_t)__builtin_neon_vclzq_v((int8x16_t)__a, 26); }
870
871 __ai uint8x8_t vcnt_u8(uint8x8_t __a) { \
872 return (uint8x8_t)__builtin_neon_vcnt_v((int8x8_t)__a, 8); }
873 __ai int8x8_t vcnt_s8(int8x8_t __a) { \
874 return (int8x8_t)__builtin_neon_vcnt_v(__a, 0); }
875 __ai poly8x8_t vcnt_p8(poly8x8_t __a) { \
876 return (poly8x8_t)__builtin_neon_vcnt_v((int8x8_t)__a, 5); }
877 __ai uint8x16_t vcntq_u8(uint8x16_t __a) { \
878 return (uint8x16_t)__builtin_neon_vcntq_v((int8x16_t)__a, 24); }
879 __ai int8x16_t vcntq_s8(int8x16_t __a) { \
880 return (int8x16_t)__builtin_neon_vcntq_v(__a, 16); }
881 __ai poly8x16_t vcntq_p8(poly8x16_t __a) { \
882 return (poly8x16_t)__builtin_neon_vcntq_v((int8x16_t)__a, 21); }
883
884 __ai int8x16_t vcombine_s8(int8x8_t __a, int8x8_t __b) { \
885 return (int8x16_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1 ); }
886 __ai int16x8_t vcombine_s16(int16x4_t __a, int16x4_t __b) { \
887 return (int16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1 ); }
888 __ai int32x4_t vcombine_s32(int32x2_t __a, int32x2_t __b) { \
889 return (int32x4_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1 ); }
890 __ai int64x2_t vcombine_s64(int64x1_t __a, int64x1_t __b) { \
891 return (int64x2_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1 ); }
892 __ai float16x8_t vcombine_f16(float16x4_t __a, float16x4_t __b) { \
893 return (float16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
894 __ai float32x4_t vcombine_f32(float32x2_t __a, float32x2_t __b) { \
895 return (float32x4_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
896 __ai uint8x16_t vcombine_u8(uint8x8_t __a, uint8x8_t __b) { \
897 return (uint8x16_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
898 __ai uint16x8_t vcombine_u16(uint16x4_t __a, uint16x4_t __b) { \
899 return (uint16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
900 __ai uint32x4_t vcombine_u32(uint32x2_t __a, uint32x2_t __b) { \
901 return (uint32x4_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
902 __ai uint64x2_t vcombine_u64(uint64x1_t __a, uint64x1_t __b) { \
903 return (uint64x2_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
904 __ai poly8x16_t vcombine_p8(poly8x8_t __a, poly8x8_t __b) { \
905 return (poly8x16_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
906 __ai poly16x8_t vcombine_p16(poly16x4_t __a, poly16x4_t __b) { \
907 return (poly16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
908
909 __ai int8x8_t vcreate_s8(uint64_t __a) { \
910 return (int8x8_t)__a; }
911 __ai int16x4_t vcreate_s16(uint64_t __a) { \
912 return (int16x4_t)__a; }
913 __ai int32x2_t vcreate_s32(uint64_t __a) { \
914 return (int32x2_t)__a; }
915 __ai float16x4_t vcreate_f16(uint64_t __a) { \
916 return (float16x4_t)__a; }
917 __ai float32x2_t vcreate_f32(uint64_t __a) { \
918 return (float32x2_t)__a; }
919 __ai uint8x8_t vcreate_u8(uint64_t __a) { \
920 return (uint8x8_t)__a; }
921 __ai uint16x4_t vcreate_u16(uint64_t __a) { \
922 return (uint16x4_t)__a; }
923 __ai uint32x2_t vcreate_u32(uint64_t __a) { \
924 return (uint32x2_t)__a; }
925 __ai uint64x1_t vcreate_u64(uint64_t __a) { \
926 return (uint64x1_t)__a; }
927 __ai poly8x8_t vcreate_p8(uint64_t __a) { \
928 return (poly8x8_t)__a; }
929 __ai poly16x4_t vcreate_p16(uint64_t __a) { \
930 return (poly16x4_t)__a; }
931 __ai int64x1_t vcreate_s64(uint64_t __a) { \
932 return (int64x1_t)__a; }
933
934 __ai float16x4_t vcvt_f16_f32(float32x4_t __a) { \
935 return (float16x4_t)__builtin_neon_vcvt_f16_v((int8x16_t)__a, 7); }
936
937 __ai float32x2_t vcvt_f32_s32(int32x2_t __a) { \
938 return (float32x2_t)__builtin_neon_vcvt_f32_v((int8x8_t)__a, 2); }
939 __ai float32x2_t vcvt_f32_u32(uint32x2_t __a) { \
940 return (float32x2_t)__builtin_neon_vcvt_f32_v((int8x8_t)__a, 10); }
941 __ai float32x4_t vcvtq_f32_s32(int32x4_t __a) { \
942 return (float32x4_t)__builtin_neon_vcvtq_f32_v((int8x16_t)__a, 18); }
943 __ai float32x4_t vcvtq_f32_u32(uint32x4_t __a) { \
944 return (float32x4_t)__builtin_neon_vcvtq_f32_v((int8x16_t)__a, 26); }
945
946 __ai float32x4_t vcvt_f32_f16(float16x4_t __a) { \
947 return (float32x4_t)__builtin_neon_vcvt_f32_f16((int8x8_t)__a, 7); }
948
949 #define vcvt_n_f32_s32(a, __b) __extension__ ({ \
950 int32x2_t __a = (a); \
951 (float32x2_t)__builtin_neon_vcvt_n_f32_v((int8x8_t)__a, __b, 2); })
952 #define vcvt_n_f32_u32(a, __b) __extension__ ({ \
953 uint32x2_t __a = (a); \
954 (float32x2_t)__builtin_neon_vcvt_n_f32_v((int8x8_t)__a, __b, 10); })
955 #define vcvtq_n_f32_s32(a, __b) __extension__ ({ \
956 int32x4_t __a = (a); \
957 (float32x4_t)__builtin_neon_vcvtq_n_f32_v((int8x16_t)__a, __b, 18); })
958 #define vcvtq_n_f32_u32(a, __b) __extension__ ({ \
959 uint32x4_t __a = (a); \
960 (float32x4_t)__builtin_neon_vcvtq_n_f32_v((int8x16_t)__a, __b, 26); })
961
962 #define vcvt_n_s32_f32(a, __b) __extension__ ({ \
963 float32x2_t __a = (a); \
964 (int32x2_t)__builtin_neon_vcvt_n_s32_v((int8x8_t)__a, __b, 2); })
965 #define vcvtq_n_s32_f32(a, __b) __extension__ ({ \
966 float32x4_t __a = (a); \
967 (int32x4_t)__builtin_neon_vcvtq_n_s32_v((int8x16_t)__a, __b, 18); })
968
969 #define vcvt_n_u32_f32(a, __b) __extension__ ({ \
970 float32x2_t __a = (a); \
971 (uint32x2_t)__builtin_neon_vcvt_n_u32_v((int8x8_t)__a, __b, 10); })
972 #define vcvtq_n_u32_f32(a, __b) __extension__ ({ \
973 float32x4_t __a = (a); \
974 (uint32x4_t)__builtin_neon_vcvtq_n_u32_v((int8x16_t)__a, __b, 26); })
975
976 __ai int32x2_t vcvt_s32_f32(float32x2_t __a) { \
977 return (int32x2_t)__builtin_neon_vcvt_s32_v((int8x8_t)__a, 2); }
978 __ai int32x4_t vcvtq_s32_f32(float32x4_t __a) { \
979 return (int32x4_t)__builtin_neon_vcvtq_s32_v((int8x16_t)__a, 18); }
980
981 __ai uint32x2_t vcvt_u32_f32(float32x2_t __a) { \
982 return (uint32x2_t)__builtin_neon_vcvt_u32_v((int8x8_t)__a, 10); }
983 __ai uint32x4_t vcvtq_u32_f32(float32x4_t __a) { \
984 return (uint32x4_t)__builtin_neon_vcvtq_u32_v((int8x16_t)__a, 26); }
985
986 #define vdup_lane_u8(a, __b) __extension__ ({ \
987 uint8x8_t __a = (a); \
988 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
989 #define vdup_lane_u16(a, __b) __extension__ ({ \
990 uint16x4_t __a = (a); \
991 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
992 #define vdup_lane_u32(a, __b) __extension__ ({ \
993 uint32x2_t __a = (a); \
994 __builtin_shufflevector(__a, __a, __b, __b); })
995 #define vdup_lane_s8(a, __b) __extension__ ({ \
996 int8x8_t __a = (a); \
997 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
998 #define vdup_lane_s16(a, __b) __extension__ ({ \
999 int16x4_t __a = (a); \
1000 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
1001 #define vdup_lane_s32(a, __b) __extension__ ({ \
1002 int32x2_t __a = (a); \
1003 __builtin_shufflevector(__a, __a, __b, __b); })
1004 #define vdup_lane_p8(a, __b) __extension__ ({ \
1005 poly8x8_t __a = (a); \
1006 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
1007 #define vdup_lane_p16(a, __b) __extension__ ({ \
1008 poly16x4_t __a = (a); \
1009 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
1010 #define vdup_lane_f32(a, __b) __extension__ ({ \
1011 float32x2_t __a = (a); \
1012 __builtin_shufflevector(__a, __a, __b, __b); })
1013 #define vdupq_lane_u8(a, __b) __extension__ ({ \
1014 uint8x8_t __a = (a); \
1015 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b); })
1016 #define vdupq_lane_u16(a, __b) __extension__ ({ \
1017 uint16x4_t __a = (a); \
1018 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
1019 #define vdupq_lane_u32(a, __b) __extension__ ({ \
1020 uint32x2_t __a = (a); \
1021 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
1022 #define vdupq_lane_s8(a, __b) __extension__ ({ \
1023 int8x8_t __a = (a); \
1024 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b); })
1025 #define vdupq_lane_s16(a, __b) __extension__ ({ \
1026 int16x4_t __a = (a); \
1027 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
1028 #define vdupq_lane_s32(a, __b) __extension__ ({ \
1029 int32x2_t __a = (a); \
1030 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
1031 #define vdupq_lane_p8(a, __b) __extension__ ({ \
1032 poly8x8_t __a = (a); \
1033 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b); })
1034 #define vdupq_lane_p16(a, __b) __extension__ ({ \
1035 poly16x4_t __a = (a); \
1036 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
1037 #define vdupq_lane_f32(a, __b) __extension__ ({ \
1038 float32x2_t __a = (a); \
1039 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
1040 #define vdup_lane_s64(a, __b) __extension__ ({ \
1041 int64x1_t __a = (a); \
1042 __builtin_shufflevector(__a, __a, __b); })
1043 #define vdup_lane_u64(a, __b) __extension__ ({ \
1044 uint64x1_t __a = (a); \
1045 __builtin_shufflevector(__a, __a, __b); })
1046 #define vdupq_lane_s64(a, __b) __extension__ ({ \
1047 int64x1_t __a = (a); \
1048 __builtin_shufflevector(__a, __a, __b, __b); })
1049 #define vdupq_lane_u64(a, __b) __extension__ ({ \
1050 uint64x1_t __a = (a); \
1051 __builtin_shufflevector(__a, __a, __b, __b); })
1052
1053 __ai uint8x8_t vdup_n_u8(uint8_t __a) { \
1054 return (uint8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
1055 __ai uint16x4_t vdup_n_u16(uint16_t __a) { \
1056 return (uint16x4_t){ __a, __a, __a, __a }; }
1057 __ai uint32x2_t vdup_n_u32(uint32_t __a) { \
1058 return (uint32x2_t){ __a, __a }; }
1059 __ai int8x8_t vdup_n_s8(int8_t __a) { \
1060 return (int8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
1061 __ai int16x4_t vdup_n_s16(int16_t __a) { \
1062 return (int16x4_t){ __a, __a, __a, __a }; }
1063 __ai int32x2_t vdup_n_s32(int32_t __a) { \
1064 return (int32x2_t){ __a, __a }; }
1065 __ai poly8x8_t vdup_n_p8(poly8_t __a) { \
1066 return (poly8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
1067 __ai poly16x4_t vdup_n_p16(poly16_t __a) { \
1068 return (poly16x4_t){ __a, __a, __a, __a }; }
1069 __ai float32x2_t vdup_n_f32(float32_t __a) { \
1070 return (float32x2_t){ __a, __a }; }
1071 __ai uint8x16_t vdupq_n_u8(uint8_t __a) { \
1072 return (uint8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __ a, __a, __a, __a, __a }; }
1073 __ai uint16x8_t vdupq_n_u16(uint16_t __a) { \
1074 return (uint16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
1075 __ai uint32x4_t vdupq_n_u32(uint32_t __a) { \
1076 return (uint32x4_t){ __a, __a, __a, __a }; }
1077 __ai int8x16_t vdupq_n_s8(int8_t __a) { \
1078 return (int8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a , __a, __a, __a, __a }; }
1079 __ai int16x8_t vdupq_n_s16(int16_t __a) { \
1080 return (int16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
1081 __ai int32x4_t vdupq_n_s32(int32_t __a) { \
1082 return (int32x4_t){ __a, __a, __a, __a }; }
1083 __ai poly8x16_t vdupq_n_p8(poly8_t __a) { \
1084 return (poly8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __ a, __a, __a, __a, __a }; }
1085 __ai poly16x8_t vdupq_n_p16(poly16_t __a) { \
1086 return (poly16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
1087 __ai float32x4_t vdupq_n_f32(float32_t __a) { \
1088 return (float32x4_t){ __a, __a, __a, __a }; }
1089 __ai int64x1_t vdup_n_s64(int64_t __a) { \
1090 return (int64x1_t){ __a }; }
1091 __ai uint64x1_t vdup_n_u64(uint64_t __a) { \
1092 return (uint64x1_t){ __a }; }
1093 __ai int64x2_t vdupq_n_s64(int64_t __a) { \
1094 return (int64x2_t){ __a, __a }; }
1095 __ai uint64x2_t vdupq_n_u64(uint64_t __a) { \
1096 return (uint64x2_t){ __a, __a }; }
1097
1098 __ai int8x8_t veor_s8(int8x8_t __a, int8x8_t __b) { \
1099 return __a ^ __b; }
1100 __ai int16x4_t veor_s16(int16x4_t __a, int16x4_t __b) { \
1101 return __a ^ __b; }
1102 __ai int32x2_t veor_s32(int32x2_t __a, int32x2_t __b) { \
1103 return __a ^ __b; }
1104 __ai int64x1_t veor_s64(int64x1_t __a, int64x1_t __b) { \
1105 return __a ^ __b; }
1106 __ai uint8x8_t veor_u8(uint8x8_t __a, uint8x8_t __b) { \
1107 return __a ^ __b; }
1108 __ai uint16x4_t veor_u16(uint16x4_t __a, uint16x4_t __b) { \
1109 return __a ^ __b; }
1110 __ai uint32x2_t veor_u32(uint32x2_t __a, uint32x2_t __b) { \
1111 return __a ^ __b; }
1112 __ai uint64x1_t veor_u64(uint64x1_t __a, uint64x1_t __b) { \
1113 return __a ^ __b; }
1114 __ai int8x16_t veorq_s8(int8x16_t __a, int8x16_t __b) { \
1115 return __a ^ __b; }
1116 __ai int16x8_t veorq_s16(int16x8_t __a, int16x8_t __b) { \
1117 return __a ^ __b; }
1118 __ai int32x4_t veorq_s32(int32x4_t __a, int32x4_t __b) { \
1119 return __a ^ __b; }
1120 __ai int64x2_t veorq_s64(int64x2_t __a, int64x2_t __b) { \
1121 return __a ^ __b; }
1122 __ai uint8x16_t veorq_u8(uint8x16_t __a, uint8x16_t __b) { \
1123 return __a ^ __b; }
1124 __ai uint16x8_t veorq_u16(uint16x8_t __a, uint16x8_t __b) { \
1125 return __a ^ __b; }
1126 __ai uint32x4_t veorq_u32(uint32x4_t __a, uint32x4_t __b) { \
1127 return __a ^ __b; }
1128 __ai uint64x2_t veorq_u64(uint64x2_t __a, uint64x2_t __b) { \
1129 return __a ^ __b; }
1130
1131 #define vext_s8(a, b, __c) __extension__ ({ \
1132 int8x8_t __a = (a); int8x8_t __b = (b); \
1133 (int8x8_t)__builtin_neon_vext_v(__a, __b, __c, 0); })
1134 #define vext_u8(a, b, __c) __extension__ ({ \
1135 uint8x8_t __a = (a); uint8x8_t __b = (b); \
1136 (uint8x8_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 8); })
1137 #define vext_p8(a, b, __c) __extension__ ({ \
1138 poly8x8_t __a = (a); poly8x8_t __b = (b); \
1139 (poly8x8_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 5); })
1140 #define vext_s16(a, b, __c) __extension__ ({ \
1141 int16x4_t __a = (a); int16x4_t __b = (b); \
1142 (int16x4_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); })
1143 #define vext_u16(a, b, __c) __extension__ ({ \
1144 uint16x4_t __a = (a); uint16x4_t __b = (b); \
1145 (uint16x4_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 9); })
1146 #define vext_p16(a, b, __c) __extension__ ({ \
1147 poly16x4_t __a = (a); poly16x4_t __b = (b); \
1148 (poly16x4_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 6); })
1149 #define vext_s32(a, b, __c) __extension__ ({ \
1150 int32x2_t __a = (a); int32x2_t __b = (b); \
1151 (int32x2_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); })
1152 #define vext_u32(a, b, __c) __extension__ ({ \
1153 uint32x2_t __a = (a); uint32x2_t __b = (b); \
1154 (uint32x2_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 10); })
1155 #define vext_s64(a, b, __c) __extension__ ({ \
1156 int64x1_t __a = (a); int64x1_t __b = (b); \
1157 (int64x1_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); })
1158 #define vext_u64(a, b, __c) __extension__ ({ \
1159 uint64x1_t __a = (a); uint64x1_t __b = (b); \
1160 (uint64x1_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 11); })
1161 #define vext_f32(a, b, __c) __extension__ ({ \
1162 float32x2_t __a = (a); float32x2_t __b = (b); \
1163 (float32x2_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 4); })
1164 #define vextq_s8(a, b, __c) __extension__ ({ \
1165 int8x16_t __a = (a); int8x16_t __b = (b); \
1166 (int8x16_t)__builtin_neon_vextq_v(__a, __b, __c, 16); })
1167 #define vextq_u8(a, b, __c) __extension__ ({ \
1168 uint8x16_t __a = (a); uint8x16_t __b = (b); \
1169 (uint8x16_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 24); } )
1170 #define vextq_p8(a, b, __c) __extension__ ({ \
1171 poly8x16_t __a = (a); poly8x16_t __b = (b); \
1172 (poly8x16_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 21); } )
1173 #define vextq_s16(a, b, __c) __extension__ ({ \
1174 int16x8_t __a = (a); int16x8_t __b = (b); \
1175 (int16x8_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 17); })
1176 #define vextq_u16(a, b, __c) __extension__ ({ \
1177 uint16x8_t __a = (a); uint16x8_t __b = (b); \
1178 (uint16x8_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 25); } )
1179 #define vextq_p16(a, b, __c) __extension__ ({ \
1180 poly16x8_t __a = (a); poly16x8_t __b = (b); \
1181 (poly16x8_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 22); } )
1182 #define vextq_s32(a, b, __c) __extension__ ({ \
1183 int32x4_t __a = (a); int32x4_t __b = (b); \
1184 (int32x4_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 18); })
1185 #define vextq_u32(a, b, __c) __extension__ ({ \
1186 uint32x4_t __a = (a); uint32x4_t __b = (b); \
1187 (uint32x4_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 26); } )
1188 #define vextq_s64(a, b, __c) __extension__ ({ \
1189 int64x2_t __a = (a); int64x2_t __b = (b); \
1190 (int64x2_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 19); })
1191 #define vextq_u64(a, b, __c) __extension__ ({ \
1192 uint64x2_t __a = (a); uint64x2_t __b = (b); \
1193 (uint64x2_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 27); } )
1194 #define vextq_f32(a, b, __c) __extension__ ({ \
1195 float32x4_t __a = (a); float32x4_t __b = (b); \
1196 (float32x4_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 20); })
1197
1198 __ai int8x8_t vget_high_s8(int8x16_t __a) { \
1199 return (int8x8_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 1); }
1200 __ai int16x4_t vget_high_s16(int16x8_t __a) { \
1201 return (int16x4_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 1); }
1202 __ai int32x2_t vget_high_s32(int32x4_t __a) { \
1203 return (int32x2_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 1); }
1204 __ai int64x1_t vget_high_s64(int64x2_t __a) { \
1205 return (int64x1_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 1); }
1206 __ai float16x4_t vget_high_f16(float16x8_t __a) { \
1207 return (float16x4_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 1) ; }
1208 __ai float32x2_t vget_high_f32(float32x4_t __a) { \
1209 return (float32x2_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 1) ; }
1210 __ai uint8x8_t vget_high_u8(uint8x16_t __a) { \
1211 return (uint8x8_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 1); }
1212 __ai uint16x4_t vget_high_u16(uint16x8_t __a) { \
1213 return (uint16x4_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 1); }
1214 __ai uint32x2_t vget_high_u32(uint32x4_t __a) { \
1215 return (uint32x2_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 1); }
1216 __ai uint64x1_t vget_high_u64(uint64x2_t __a) { \
1217 return (uint64x1_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 1); }
1218 __ai poly8x8_t vget_high_p8(poly8x16_t __a) { \
1219 return (poly8x8_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 1); }
1220 __ai poly16x4_t vget_high_p16(poly16x8_t __a) { \
1221 return (poly16x4_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 1); }
1222
1223 #define vget_lane_u8(a, __b) __extension__ ({ \
1224 uint8x8_t __a = (a); \
1225 (uint8_t)__builtin_neon_vget_lane_i8((int8x8_t)__a, __b); })
1226 #define vget_lane_u16(a, __b) __extension__ ({ \
1227 uint16x4_t __a = (a); \
1228 (uint16_t)__builtin_neon_vget_lane_i16((int16x4_t)__a, __b); })
1229 #define vget_lane_u32(a, __b) __extension__ ({ \
1230 uint32x2_t __a = (a); \
1231 (uint32_t)__builtin_neon_vget_lane_i32((int32x2_t)__a, __b); })
1232 #define vget_lane_s8(a, __b) __extension__ ({ \
1233 int8x8_t __a = (a); \
1234 (int8_t)__builtin_neon_vget_lane_i8(__a, __b); })
1235 #define vget_lane_s16(a, __b) __extension__ ({ \
1236 int16x4_t __a = (a); \
1237 (int16_t)__builtin_neon_vget_lane_i16(__a, __b); })
1238 #define vget_lane_s32(a, __b) __extension__ ({ \
1239 int32x2_t __a = (a); \
1240 (int32_t)__builtin_neon_vget_lane_i32(__a, __b); })
1241 #define vget_lane_p8(a, __b) __extension__ ({ \
1242 poly8x8_t __a = (a); \
1243 (poly8_t)__builtin_neon_vget_lane_i8((int8x8_t)__a, __b); })
1244 #define vget_lane_p16(a, __b) __extension__ ({ \
1245 poly16x4_t __a = (a); \
1246 (poly16_t)__builtin_neon_vget_lane_i16((int16x4_t)__a, __b); })
1247 #define vget_lane_f32(a, __b) __extension__ ({ \
1248 float32x2_t __a = (a); \
1249 (float32_t)__builtin_neon_vget_lane_f32(__a, __b); })
1250 #define vgetq_lane_u8(a, __b) __extension__ ({ \
1251 uint8x16_t __a = (a); \
1252 (uint8_t)__builtin_neon_vgetq_lane_i8((int8x16_t)__a, __b); })
1253 #define vgetq_lane_u16(a, __b) __extension__ ({ \
1254 uint16x8_t __a = (a); \
1255 (uint16_t)__builtin_neon_vgetq_lane_i16((int16x8_t)__a, __b); })
1256 #define vgetq_lane_u32(a, __b) __extension__ ({ \
1257 uint32x4_t __a = (a); \
1258 (uint32_t)__builtin_neon_vgetq_lane_i32((int32x4_t)__a, __b); })
1259 #define vgetq_lane_s8(a, __b) __extension__ ({ \
1260 int8x16_t __a = (a); \
1261 (int8_t)__builtin_neon_vgetq_lane_i8(__a, __b); })
1262 #define vgetq_lane_s16(a, __b) __extension__ ({ \
1263 int16x8_t __a = (a); \
1264 (int16_t)__builtin_neon_vgetq_lane_i16(__a, __b); })
1265 #define vgetq_lane_s32(a, __b) __extension__ ({ \
1266 int32x4_t __a = (a); \
1267 (int32_t)__builtin_neon_vgetq_lane_i32(__a, __b); })
1268 #define vgetq_lane_p8(a, __b) __extension__ ({ \
1269 poly8x16_t __a = (a); \
1270 (poly8_t)__builtin_neon_vgetq_lane_i8((int8x16_t)__a, __b); })
1271 #define vgetq_lane_p16(a, __b) __extension__ ({ \
1272 poly16x8_t __a = (a); \
1273 (poly16_t)__builtin_neon_vgetq_lane_i16((int16x8_t)__a, __b); })
1274 #define vgetq_lane_f32(a, __b) __extension__ ({ \
1275 float32x4_t __a = (a); \
1276 (float32_t)__builtin_neon_vgetq_lane_f32(__a, __b); })
1277 #define vget_lane_s64(a, __b) __extension__ ({ \
1278 int64x1_t __a = (a); \
1279 (int64_t)__builtin_neon_vget_lane_i64(__a, __b); })
1280 #define vget_lane_u64(a, __b) __extension__ ({ \
1281 uint64x1_t __a = (a); \
1282 (uint64_t)__builtin_neon_vget_lane_i64((int64x1_t)__a, __b); })
1283 #define vgetq_lane_s64(a, __b) __extension__ ({ \
1284 int64x2_t __a = (a); \
1285 (int64_t)__builtin_neon_vgetq_lane_i64(__a, __b); })
1286 #define vgetq_lane_u64(a, __b) __extension__ ({ \
1287 uint64x2_t __a = (a); \
1288 (uint64_t)__builtin_neon_vgetq_lane_i64((int64x2_t)__a, __b); })
1289
1290 __ai int8x8_t vget_low_s8(int8x16_t __a) { \
1291 return (int8x8_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 0); }
1292 __ai int16x4_t vget_low_s16(int16x8_t __a) { \
1293 return (int16x4_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 0); }
1294 __ai int32x2_t vget_low_s32(int32x4_t __a) { \
1295 return (int32x2_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 0); }
1296 __ai int64x1_t vget_low_s64(int64x2_t __a) { \
1297 return (int64x1_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 0); }
1298 __ai float16x4_t vget_low_f16(float16x8_t __a) { \
1299 return (float16x4_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 0) ; }
1300 __ai float32x2_t vget_low_f32(float32x4_t __a) { \
1301 return (float32x2_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 0) ; }
1302 __ai uint8x8_t vget_low_u8(uint8x16_t __a) { \
1303 return (uint8x8_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 0); }
1304 __ai uint16x4_t vget_low_u16(uint16x8_t __a) { \
1305 return (uint16x4_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 0); }
1306 __ai uint32x2_t vget_low_u32(uint32x4_t __a) { \
1307 return (uint32x2_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 0); }
1308 __ai uint64x1_t vget_low_u64(uint64x2_t __a) { \
1309 return (uint64x1_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 0); }
1310 __ai poly8x8_t vget_low_p8(poly8x16_t __a) { \
1311 return (poly8x8_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 0); }
1312 __ai poly16x4_t vget_low_p16(poly16x8_t __a) { \
1313 return (poly16x4_t)__builtin_shufflevector((int64x2_t)__a, (int64x2_t)__a, 0); }
1314
1315 __ai int8x8_t vhadd_s8(int8x8_t __a, int8x8_t __b) { \
1316 return (int8x8_t)__builtin_neon_vhadd_v(__a, __b, 0); }
1317 __ai int16x4_t vhadd_s16(int16x4_t __a, int16x4_t __b) { \
1318 return (int16x4_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 1); }
1319 __ai int32x2_t vhadd_s32(int32x2_t __a, int32x2_t __b) { \
1320 return (int32x2_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 2); }
1321 __ai uint8x8_t vhadd_u8(uint8x8_t __a, uint8x8_t __b) { \
1322 return (uint8x8_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 8); }
1323 __ai uint16x4_t vhadd_u16(uint16x4_t __a, uint16x4_t __b) { \
1324 return (uint16x4_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 9); }
1325 __ai uint32x2_t vhadd_u32(uint32x2_t __a, uint32x2_t __b) { \
1326 return (uint32x2_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 10); }
1327 __ai int8x16_t vhaddq_s8(int8x16_t __a, int8x16_t __b) { \
1328 return (int8x16_t)__builtin_neon_vhaddq_v(__a, __b, 16); }
1329 __ai int16x8_t vhaddq_s16(int16x8_t __a, int16x8_t __b) { \
1330 return (int16x8_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 17); }
1331 __ai int32x4_t vhaddq_s32(int32x4_t __a, int32x4_t __b) { \
1332 return (int32x4_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 18); }
1333 __ai uint8x16_t vhaddq_u8(uint8x16_t __a, uint8x16_t __b) { \
1334 return (uint8x16_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 24) ; }
1335 __ai uint16x8_t vhaddq_u16(uint16x8_t __a, uint16x8_t __b) { \
1336 return (uint16x8_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 25) ; }
1337 __ai uint32x4_t vhaddq_u32(uint32x4_t __a, uint32x4_t __b) { \
1338 return (uint32x4_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 26) ; }
1339
1340 __ai int8x8_t vhsub_s8(int8x8_t __a, int8x8_t __b) { \
1341 return (int8x8_t)__builtin_neon_vhsub_v(__a, __b, 0); }
1342 __ai int16x4_t vhsub_s16(int16x4_t __a, int16x4_t __b) { \
1343 return (int16x4_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 1); }
1344 __ai int32x2_t vhsub_s32(int32x2_t __a, int32x2_t __b) { \
1345 return (int32x2_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 2); }
1346 __ai uint8x8_t vhsub_u8(uint8x8_t __a, uint8x8_t __b) { \
1347 return (uint8x8_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 8); }
1348 __ai uint16x4_t vhsub_u16(uint16x4_t __a, uint16x4_t __b) { \
1349 return (uint16x4_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 9); }
1350 __ai uint32x2_t vhsub_u32(uint32x2_t __a, uint32x2_t __b) { \
1351 return (uint32x2_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 10); }
1352 __ai int8x16_t vhsubq_s8(int8x16_t __a, int8x16_t __b) { \
1353 return (int8x16_t)__builtin_neon_vhsubq_v(__a, __b, 16); }
1354 __ai int16x8_t vhsubq_s16(int16x8_t __a, int16x8_t __b) { \
1355 return (int16x8_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 17); }
1356 __ai int32x4_t vhsubq_s32(int32x4_t __a, int32x4_t __b) { \
1357 return (int32x4_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 18); }
1358 __ai uint8x16_t vhsubq_u8(uint8x16_t __a, uint8x16_t __b) { \
1359 return (uint8x16_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 24) ; }
1360 __ai uint16x8_t vhsubq_u16(uint16x8_t __a, uint16x8_t __b) { \
1361 return (uint16x8_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 25) ; }
1362 __ai uint32x4_t vhsubq_u32(uint32x4_t __a, uint32x4_t __b) { \
1363 return (uint32x4_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 26) ; }
1364
1365 #define vld1q_u8(__a) __extension__ ({ \
1366 (uint8x16_t)__builtin_neon_vld1q_v(__a, 24); })
1367 #define vld1q_u16(__a) __extension__ ({ \
1368 (uint16x8_t)__builtin_neon_vld1q_v(__a, 25); })
1369 #define vld1q_u32(__a) __extension__ ({ \
1370 (uint32x4_t)__builtin_neon_vld1q_v(__a, 26); })
1371 #define vld1q_u64(__a) __extension__ ({ \
1372 (uint64x2_t)__builtin_neon_vld1q_v(__a, 27); })
1373 #define vld1q_s8(__a) __extension__ ({ \
1374 (int8x16_t)__builtin_neon_vld1q_v(__a, 16); })
1375 #define vld1q_s16(__a) __extension__ ({ \
1376 (int16x8_t)__builtin_neon_vld1q_v(__a, 17); })
1377 #define vld1q_s32(__a) __extension__ ({ \
1378 (int32x4_t)__builtin_neon_vld1q_v(__a, 18); })
1379 #define vld1q_s64(__a) __extension__ ({ \
1380 (int64x2_t)__builtin_neon_vld1q_v(__a, 19); })
1381 #define vld1q_f16(__a) __extension__ ({ \
1382 (float16x8_t)__builtin_neon_vld1q_v(__a, 23); })
1383 #define vld1q_f32(__a) __extension__ ({ \
1384 (float32x4_t)__builtin_neon_vld1q_v(__a, 20); })
1385 #define vld1q_p8(__a) __extension__ ({ \
1386 (poly8x16_t)__builtin_neon_vld1q_v(__a, 21); })
1387 #define vld1q_p16(__a) __extension__ ({ \
1388 (poly16x8_t)__builtin_neon_vld1q_v(__a, 22); })
1389 #define vld1_u8(__a) __extension__ ({ \
1390 (uint8x8_t)__builtin_neon_vld1_v(__a, 8); })
1391 #define vld1_u16(__a) __extension__ ({ \
1392 (uint16x4_t)__builtin_neon_vld1_v(__a, 9); })
1393 #define vld1_u32(__a) __extension__ ({ \
1394 (uint32x2_t)__builtin_neon_vld1_v(__a, 10); })
1395 #define vld1_u64(__a) __extension__ ({ \
1396 (uint64x1_t)__builtin_neon_vld1_v(__a, 11); })
1397 #define vld1_s8(__a) __extension__ ({ \
1398 (int8x8_t)__builtin_neon_vld1_v(__a, 0); })
1399 #define vld1_s16(__a) __extension__ ({ \
1400 (int16x4_t)__builtin_neon_vld1_v(__a, 1); })
1401 #define vld1_s32(__a) __extension__ ({ \
1402 (int32x2_t)__builtin_neon_vld1_v(__a, 2); })
1403 #define vld1_s64(__a) __extension__ ({ \
1404 (int64x1_t)__builtin_neon_vld1_v(__a, 3); })
1405 #define vld1_f16(__a) __extension__ ({ \
1406 (float16x4_t)__builtin_neon_vld1_v(__a, 7); })
1407 #define vld1_f32(__a) __extension__ ({ \
1408 (float32x2_t)__builtin_neon_vld1_v(__a, 4); })
1409 #define vld1_p8(__a) __extension__ ({ \
1410 (poly8x8_t)__builtin_neon_vld1_v(__a, 5); })
1411 #define vld1_p16(__a) __extension__ ({ \
1412 (poly16x4_t)__builtin_neon_vld1_v(__a, 6); })
1413
1414 #define vld1q_dup_u8(__a) __extension__ ({ \
1415 (uint8x16_t)__builtin_neon_vld1q_dup_v(__a, 24); })
1416 #define vld1q_dup_u16(__a) __extension__ ({ \
1417 (uint16x8_t)__builtin_neon_vld1q_dup_v(__a, 25); })
1418 #define vld1q_dup_u32(__a) __extension__ ({ \
1419 (uint32x4_t)__builtin_neon_vld1q_dup_v(__a, 26); })
1420 #define vld1q_dup_u64(__a) __extension__ ({ \
1421 (uint64x2_t)__builtin_neon_vld1q_dup_v(__a, 27); })
1422 #define vld1q_dup_s8(__a) __extension__ ({ \
1423 (int8x16_t)__builtin_neon_vld1q_dup_v(__a, 16); })
1424 #define vld1q_dup_s16(__a) __extension__ ({ \
1425 (int16x8_t)__builtin_neon_vld1q_dup_v(__a, 17); })
1426 #define vld1q_dup_s32(__a) __extension__ ({ \
1427 (int32x4_t)__builtin_neon_vld1q_dup_v(__a, 18); })
1428 #define vld1q_dup_s64(__a) __extension__ ({ \
1429 (int64x2_t)__builtin_neon_vld1q_dup_v(__a, 19); })
1430 #define vld1q_dup_f16(__a) __extension__ ({ \
1431 (float16x8_t)__builtin_neon_vld1q_dup_v(__a, 23); })
1432 #define vld1q_dup_f32(__a) __extension__ ({ \
1433 (float32x4_t)__builtin_neon_vld1q_dup_v(__a, 20); })
1434 #define vld1q_dup_p8(__a) __extension__ ({ \
1435 (poly8x16_t)__builtin_neon_vld1q_dup_v(__a, 21); })
1436 #define vld1q_dup_p16(__a) __extension__ ({ \
1437 (poly16x8_t)__builtin_neon_vld1q_dup_v(__a, 22); })
1438 #define vld1_dup_u8(__a) __extension__ ({ \
1439 (uint8x8_t)__builtin_neon_vld1_dup_v(__a, 8); })
1440 #define vld1_dup_u16(__a) __extension__ ({ \
1441 (uint16x4_t)__builtin_neon_vld1_dup_v(__a, 9); })
1442 #define vld1_dup_u32(__a) __extension__ ({ \
1443 (uint32x2_t)__builtin_neon_vld1_dup_v(__a, 10); })
1444 #define vld1_dup_u64(__a) __extension__ ({ \
1445 (uint64x1_t)__builtin_neon_vld1_dup_v(__a, 11); })
1446 #define vld1_dup_s8(__a) __extension__ ({ \
1447 (int8x8_t)__builtin_neon_vld1_dup_v(__a, 0); })
1448 #define vld1_dup_s16(__a) __extension__ ({ \
1449 (int16x4_t)__builtin_neon_vld1_dup_v(__a, 1); })
1450 #define vld1_dup_s32(__a) __extension__ ({ \
1451 (int32x2_t)__builtin_neon_vld1_dup_v(__a, 2); })
1452 #define vld1_dup_s64(__a) __extension__ ({ \
1453 (int64x1_t)__builtin_neon_vld1_dup_v(__a, 3); })
1454 #define vld1_dup_f16(__a) __extension__ ({ \
1455 (float16x4_t)__builtin_neon_vld1_dup_v(__a, 7); })
1456 #define vld1_dup_f32(__a) __extension__ ({ \
1457 (float32x2_t)__builtin_neon_vld1_dup_v(__a, 4); })
1458 #define vld1_dup_p8(__a) __extension__ ({ \
1459 (poly8x8_t)__builtin_neon_vld1_dup_v(__a, 5); })
1460 #define vld1_dup_p16(__a) __extension__ ({ \
1461 (poly16x4_t)__builtin_neon_vld1_dup_v(__a, 6); })
1462
1463 #define vld1q_lane_u8(__a, b, __c) __extension__ ({ \
1464 uint8x16_t __b = (b); \
1465 (uint8x16_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 24); })
1466 #define vld1q_lane_u16(__a, b, __c) __extension__ ({ \
1467 uint16x8_t __b = (b); \
1468 (uint16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 25); })
1469 #define vld1q_lane_u32(__a, b, __c) __extension__ ({ \
1470 uint32x4_t __b = (b); \
1471 (uint32x4_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 26); })
1472 #define vld1q_lane_u64(__a, b, __c) __extension__ ({ \
1473 uint64x2_t __b = (b); \
1474 (uint64x2_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 27); })
1475 #define vld1q_lane_s8(__a, b, __c) __extension__ ({ \
1476 int8x16_t __b = (b); \
1477 (int8x16_t)__builtin_neon_vld1q_lane_v(__a, __b, __c, 16); })
1478 #define vld1q_lane_s16(__a, b, __c) __extension__ ({ \
1479 int16x8_t __b = (b); \
1480 (int16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 17); })
1481 #define vld1q_lane_s32(__a, b, __c) __extension__ ({ \
1482 int32x4_t __b = (b); \
1483 (int32x4_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 18); })
1484 #define vld1q_lane_s64(__a, b, __c) __extension__ ({ \
1485 int64x2_t __b = (b); \
1486 (int64x2_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 19); })
1487 #define vld1q_lane_f16(__a, b, __c) __extension__ ({ \
1488 float16x8_t __b = (b); \
1489 (float16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 23); })
1490 #define vld1q_lane_f32(__a, b, __c) __extension__ ({ \
1491 float32x4_t __b = (b); \
1492 (float32x4_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 20); })
1493 #define vld1q_lane_p8(__a, b, __c) __extension__ ({ \
1494 poly8x16_t __b = (b); \
1495 (poly8x16_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 21); })
1496 #define vld1q_lane_p16(__a, b, __c) __extension__ ({ \
1497 poly16x8_t __b = (b); \
1498 (poly16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 22); })
1499 #define vld1_lane_u8(__a, b, __c) __extension__ ({ \
1500 uint8x8_t __b = (b); \
1501 (uint8x8_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 8); })
1502 #define vld1_lane_u16(__a, b, __c) __extension__ ({ \
1503 uint16x4_t __b = (b); \
1504 (uint16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 9); })
1505 #define vld1_lane_u32(__a, b, __c) __extension__ ({ \
1506 uint32x2_t __b = (b); \
1507 (uint32x2_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 10); })
1508 #define vld1_lane_u64(__a, b, __c) __extension__ ({ \
1509 uint64x1_t __b = (b); \
1510 (uint64x1_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 11); })
1511 #define vld1_lane_s8(__a, b, __c) __extension__ ({ \
1512 int8x8_t __b = (b); \
1513 (int8x8_t)__builtin_neon_vld1_lane_v(__a, __b, __c, 0); })
1514 #define vld1_lane_s16(__a, b, __c) __extension__ ({ \
1515 int16x4_t __b = (b); \
1516 (int16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 1); })
1517 #define vld1_lane_s32(__a, b, __c) __extension__ ({ \
1518 int32x2_t __b = (b); \
1519 (int32x2_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 2); })
1520 #define vld1_lane_s64(__a, b, __c) __extension__ ({ \
1521 int64x1_t __b = (b); \
1522 (int64x1_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 3); })
1523 #define vld1_lane_f16(__a, b, __c) __extension__ ({ \
1524 float16x4_t __b = (b); \
1525 (float16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 7); })
1526 #define vld1_lane_f32(__a, b, __c) __extension__ ({ \
1527 float32x2_t __b = (b); \
1528 (float32x2_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 4); })
1529 #define vld1_lane_p8(__a, b, __c) __extension__ ({ \
1530 poly8x8_t __b = (b); \
1531 (poly8x8_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 5); })
1532 #define vld1_lane_p16(__a, b, __c) __extension__ ({ \
1533 poly16x4_t __b = (b); \
1534 (poly16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 6); })
1535
1536 #define vld2q_u8(__a) __extension__ ({ \
1537 uint8x16x2_t r; __builtin_neon_vld2q_v(&r, __a, 24); r; })
1538 #define vld2q_u16(__a) __extension__ ({ \
1539 uint16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 25); r; })
1540 #define vld2q_u32(__a) __extension__ ({ \
1541 uint32x4x2_t r; __builtin_neon_vld2q_v(&r, __a, 26); r; })
1542 #define vld2q_s8(__a) __extension__ ({ \
1543 int8x16x2_t r; __builtin_neon_vld2q_v(&r, __a, 16); r; })
1544 #define vld2q_s16(__a) __extension__ ({ \
1545 int16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 17); r; })
1546 #define vld2q_s32(__a) __extension__ ({ \
1547 int32x4x2_t r; __builtin_neon_vld2q_v(&r, __a, 18); r; })
1548 #define vld2q_f16(__a) __extension__ ({ \
1549 float16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 23); r; })
1550 #define vld2q_f32(__a) __extension__ ({ \
1551 float32x4x2_t r; __builtin_neon_vld2q_v(&r, __a, 20); r; })
1552 #define vld2q_p8(__a) __extension__ ({ \
1553 poly8x16x2_t r; __builtin_neon_vld2q_v(&r, __a, 21); r; })
1554 #define vld2q_p16(__a) __extension__ ({ \
1555 poly16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 22); r; })
1556 #define vld2_u8(__a) __extension__ ({ \
1557 uint8x8x2_t r; __builtin_neon_vld2_v(&r, __a, 8); r; })
1558 #define vld2_u16(__a) __extension__ ({ \
1559 uint16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 9); r; })
1560 #define vld2_u32(__a) __extension__ ({ \
1561 uint32x2x2_t r; __builtin_neon_vld2_v(&r, __a, 10); r; })
1562 #define vld2_u64(__a) __extension__ ({ \
1563 uint64x1x2_t r; __builtin_neon_vld2_v(&r, __a, 11); r; })
1564 #define vld2_s8(__a) __extension__ ({ \
1565 int8x8x2_t r; __builtin_neon_vld2_v(&r, __a, 0); r; })
1566 #define vld2_s16(__a) __extension__ ({ \
1567 int16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 1); r; })
1568 #define vld2_s32(__a) __extension__ ({ \
1569 int32x2x2_t r; __builtin_neon_vld2_v(&r, __a, 2); r; })
1570 #define vld2_s64(__a) __extension__ ({ \
1571 int64x1x2_t r; __builtin_neon_vld2_v(&r, __a, 3); r; })
1572 #define vld2_f16(__a) __extension__ ({ \
1573 float16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 7); r; })
1574 #define vld2_f32(__a) __extension__ ({ \
1575 float32x2x2_t r; __builtin_neon_vld2_v(&r, __a, 4); r; })
1576 #define vld2_p8(__a) __extension__ ({ \
1577 poly8x8x2_t r; __builtin_neon_vld2_v(&r, __a, 5); r; })
1578 #define vld2_p16(__a) __extension__ ({ \
1579 poly16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 6); r; })
1580
1581 #define vld2_dup_u8(__a) __extension__ ({ \
1582 uint8x8x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 8); r; })
1583 #define vld2_dup_u16(__a) __extension__ ({ \
1584 uint16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 9); r; })
1585 #define vld2_dup_u32(__a) __extension__ ({ \
1586 uint32x2x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 10); r; })
1587 #define vld2_dup_u64(__a) __extension__ ({ \
1588 uint64x1x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 11); r; })
1589 #define vld2_dup_s8(__a) __extension__ ({ \
1590 int8x8x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 0); r; })
1591 #define vld2_dup_s16(__a) __extension__ ({ \
1592 int16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 1); r; })
1593 #define vld2_dup_s32(__a) __extension__ ({ \
1594 int32x2x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 2); r; })
1595 #define vld2_dup_s64(__a) __extension__ ({ \
1596 int64x1x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 3); r; })
1597 #define vld2_dup_f16(__a) __extension__ ({ \
1598 float16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 7); r; })
1599 #define vld2_dup_f32(__a) __extension__ ({ \
1600 float32x2x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 4); r; })
1601 #define vld2_dup_p8(__a) __extension__ ({ \
1602 poly8x8x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 5); r; })
1603 #define vld2_dup_p16(__a) __extension__ ({ \
1604 poly16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 6); r; })
1605
1606 #define vld2q_lane_u16(__a, b, __c) __extension__ ({ \
1607 uint16x8x2_t __b = (b); \
1608 uint16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], __c, 25); r; })
1609 #define vld2q_lane_u32(__a, b, __c) __extension__ ({ \
1610 uint32x4x2_t __b = (b); \
1611 uint32x4x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], __c, 26); r; })
1612 #define vld2q_lane_s16(__a, b, __c) __extension__ ({ \
1613 int16x8x2_t __b = (b); \
1614 int16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in t8x16_t)__b.val[1], __c, 17); r; })
1615 #define vld2q_lane_s32(__a, b, __c) __extension__ ({ \
1616 int32x4x2_t __b = (b); \
1617 int32x4x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in t8x16_t)__b.val[1], __c, 18); r; })
1618 #define vld2q_lane_f16(__a, b, __c) __extension__ ({ \
1619 float16x8x2_t __b = (b); \
1620 float16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], ( int8x16_t)__b.val[1], __c, 23); r; })
1621 #define vld2q_lane_f32(__a, b, __c) __extension__ ({ \
1622 float32x4x2_t __b = (b); \
1623 float32x4x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], ( int8x16_t)__b.val[1], __c, 20); r; })
1624 #define vld2q_lane_p16(__a, b, __c) __extension__ ({ \
1625 poly16x8x2_t __b = (b); \
1626 poly16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], __c, 22); r; })
1627 #define vld2_lane_u8(__a, b, __c) __extension__ ({ \
1628 uint8x8x2_t __b = (b); \
1629 uint8x8x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], __c, 8); r; })
1630 #define vld2_lane_u16(__a, b, __c) __extension__ ({ \
1631 uint16x4x2_t __b = (b); \
1632 uint16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], __c, 9); r; })
1633 #define vld2_lane_u32(__a, b, __c) __extension__ ({ \
1634 uint32x2x2_t __b = (b); \
1635 uint32x2x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], __c, 10); r; })
1636 #define vld2_lane_s8(__a, b, __c) __extension__ ({ \
1637 int8x8x2_t __b = (b); \
1638 int8x8x2_t r; __builtin_neon_vld2_lane_v(&r, __a, __b.val[0], __b.val[1], __c, 0); r; })
1639 #define vld2_lane_s16(__a, b, __c) __extension__ ({ \
1640 int16x4x2_t __b = (b); \
1641 int16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], __c, 1); r; })
1642 #define vld2_lane_s32(__a, b, __c) __extension__ ({ \
1643 int32x2x2_t __b = (b); \
1644 int32x2x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], __c, 2); r; })
1645 #define vld2_lane_f16(__a, b, __c) __extension__ ({ \
1646 float16x4x2_t __b = (b); \
1647 float16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (in t8x8_t)__b.val[1], __c, 7); r; })
1648 #define vld2_lane_f32(__a, b, __c) __extension__ ({ \
1649 float32x2x2_t __b = (b); \
1650 float32x2x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (in t8x8_t)__b.val[1], __c, 4); r; })
1651 #define vld2_lane_p8(__a, b, __c) __extension__ ({ \
1652 poly8x8x2_t __b = (b); \
1653 poly8x8x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], __c, 5); r; })
1654 #define vld2_lane_p16(__a, b, __c) __extension__ ({ \
1655 poly16x4x2_t __b = (b); \
1656 poly16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], __c, 6); r; })
1657
1658 #define vld3q_u8(__a) __extension__ ({ \
1659 uint8x16x3_t r; __builtin_neon_vld3q_v(&r, __a, 24); r; })
1660 #define vld3q_u16(__a) __extension__ ({ \
1661 uint16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 25); r; })
1662 #define vld3q_u32(__a) __extension__ ({ \
1663 uint32x4x3_t r; __builtin_neon_vld3q_v(&r, __a, 26); r; })
1664 #define vld3q_s8(__a) __extension__ ({ \
1665 int8x16x3_t r; __builtin_neon_vld3q_v(&r, __a, 16); r; })
1666 #define vld3q_s16(__a) __extension__ ({ \
1667 int16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 17); r; })
1668 #define vld3q_s32(__a) __extension__ ({ \
1669 int32x4x3_t r; __builtin_neon_vld3q_v(&r, __a, 18); r; })
1670 #define vld3q_f16(__a) __extension__ ({ \
1671 float16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 23); r; })
1672 #define vld3q_f32(__a) __extension__ ({ \
1673 float32x4x3_t r; __builtin_neon_vld3q_v(&r, __a, 20); r; })
1674 #define vld3q_p8(__a) __extension__ ({ \
1675 poly8x16x3_t r; __builtin_neon_vld3q_v(&r, __a, 21); r; })
1676 #define vld3q_p16(__a) __extension__ ({ \
1677 poly16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 22); r; })
1678 #define vld3_u8(__a) __extension__ ({ \
1679 uint8x8x3_t r; __builtin_neon_vld3_v(&r, __a, 8); r; })
1680 #define vld3_u16(__a) __extension__ ({ \
1681 uint16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 9); r; })
1682 #define vld3_u32(__a) __extension__ ({ \
1683 uint32x2x3_t r; __builtin_neon_vld3_v(&r, __a, 10); r; })
1684 #define vld3_u64(__a) __extension__ ({ \
1685 uint64x1x3_t r; __builtin_neon_vld3_v(&r, __a, 11); r; })
1686 #define vld3_s8(__a) __extension__ ({ \
1687 int8x8x3_t r; __builtin_neon_vld3_v(&r, __a, 0); r; })
1688 #define vld3_s16(__a) __extension__ ({ \
1689 int16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 1); r; })
1690 #define vld3_s32(__a) __extension__ ({ \
1691 int32x2x3_t r; __builtin_neon_vld3_v(&r, __a, 2); r; })
1692 #define vld3_s64(__a) __extension__ ({ \
1693 int64x1x3_t r; __builtin_neon_vld3_v(&r, __a, 3); r; })
1694 #define vld3_f16(__a) __extension__ ({ \
1695 float16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 7); r; })
1696 #define vld3_f32(__a) __extension__ ({ \
1697 float32x2x3_t r; __builtin_neon_vld3_v(&r, __a, 4); r; })
1698 #define vld3_p8(__a) __extension__ ({ \
1699 poly8x8x3_t r; __builtin_neon_vld3_v(&r, __a, 5); r; })
1700 #define vld3_p16(__a) __extension__ ({ \
1701 poly16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 6); r; })
1702
1703 #define vld3_dup_u8(__a) __extension__ ({ \
1704 uint8x8x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 8); r; })
1705 #define vld3_dup_u16(__a) __extension__ ({ \
1706 uint16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 9); r; })
1707 #define vld3_dup_u32(__a) __extension__ ({ \
1708 uint32x2x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 10); r; })
1709 #define vld3_dup_u64(__a) __extension__ ({ \
1710 uint64x1x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 11); r; })
1711 #define vld3_dup_s8(__a) __extension__ ({ \
1712 int8x8x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 0); r; })
1713 #define vld3_dup_s16(__a) __extension__ ({ \
1714 int16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 1); r; })
1715 #define vld3_dup_s32(__a) __extension__ ({ \
1716 int32x2x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 2); r; })
1717 #define vld3_dup_s64(__a) __extension__ ({ \
1718 int64x1x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 3); r; })
1719 #define vld3_dup_f16(__a) __extension__ ({ \
1720 float16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 7); r; })
1721 #define vld3_dup_f32(__a) __extension__ ({ \
1722 float32x2x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 4); r; })
1723 #define vld3_dup_p8(__a) __extension__ ({ \
1724 poly8x8x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 5); r; })
1725 #define vld3_dup_p16(__a) __extension__ ({ \
1726 poly16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 6); r; })
1727
1728 #define vld3q_lane_u16(__a, b, __c) __extension__ ({ \
1729 uint16x8x3_t __b = (b); \
1730 uint16x8x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 25); r; })
1731 #define vld3q_lane_u32(__a, b, __c) __extension__ ({ \
1732 uint32x4x3_t __b = (b); \
1733 uint32x4x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 26); r; })
1734 #define vld3q_lane_s16(__a, b, __c) __extension__ ({ \
1735 int16x8x3_t __b = (b); \
1736 int16x8x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in t8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 17); r; })
1737 #define vld3q_lane_s32(__a, b, __c) __extension__ ({ \
1738 int32x4x3_t __b = (b); \
1739 int32x4x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in t8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 18); r; })
1740 #define vld3q_lane_f16(__a, b, __c) __extension__ ({ \
1741 float16x8x3_t __b = (b); \
1742 float16x8x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], ( int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 23); r; })
1743 #define vld3q_lane_f32(__a, b, __c) __extension__ ({ \
1744 float32x4x3_t __b = (b); \
1745 float32x4x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], ( int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 20); r; })
1746 #define vld3q_lane_p16(__a, b, __c) __extension__ ({ \
1747 poly16x8x3_t __b = (b); \
1748 poly16x8x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 22); r; })
1749 #define vld3_lane_u8(__a, b, __c) __extension__ ({ \
1750 uint8x8x3_t __b = (b); \
1751 uint8x8x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 8); r; })
1752 #define vld3_lane_u16(__a, b, __c) __extension__ ({ \
1753 uint16x4x3_t __b = (b); \
1754 uint16x4x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 9); r; })
1755 #define vld3_lane_u32(__a, b, __c) __extension__ ({ \
1756 uint32x2x3_t __b = (b); \
1757 uint32x2x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 10); r; })
1758 #define vld3_lane_s8(__a, b, __c) __extension__ ({ \
1759 int8x8x3_t __b = (b); \
1760 int8x8x3_t r; __builtin_neon_vld3_lane_v(&r, __a, __b.val[0], __b.val[1], __b. val[2], __c, 0); r; })
1761 #define vld3_lane_s16(__a, b, __c) __extension__ ({ \
1762 int16x4x3_t __b = (b); \
1763 int16x4x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 1); r; })
1764 #define vld3_lane_s32(__a, b, __c) __extension__ ({ \
1765 int32x2x3_t __b = (b); \
1766 int32x2x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 2); r; })
1767 #define vld3_lane_f16(__a, b, __c) __extension__ ({ \
1768 float16x4x3_t __b = (b); \
1769 float16x4x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (in t8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 7); r; })
1770 #define vld3_lane_f32(__a, b, __c) __extension__ ({ \
1771 float32x2x3_t __b = (b); \
1772 float32x2x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (in t8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 4); r; })
1773 #define vld3_lane_p8(__a, b, __c) __extension__ ({ \
1774 poly8x8x3_t __b = (b); \
1775 poly8x8x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 5); r; })
1776 #define vld3_lane_p16(__a, b, __c) __extension__ ({ \
1777 poly16x4x3_t __b = (b); \
1778 poly16x4x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 6); r; })
1779
1780 #define vld4q_u8(__a) __extension__ ({ \
1781 uint8x16x4_t r; __builtin_neon_vld4q_v(&r, __a, 24); r; })
1782 #define vld4q_u16(__a) __extension__ ({ \
1783 uint16x8x4_t r; __builtin_neon_vld4q_v(&r, __a, 25); r; })
1784 #define vld4q_u32(__a) __extension__ ({ \
1785 uint32x4x4_t r; __builtin_neon_vld4q_v(&r, __a, 26); r; })
1786 #define vld4q_s8(__a) __extension__ ({ \
1787 int8x16x4_t r; __builtin_neon_vld4q_v(&r, __a, 16); r; })
1788 #define vld4q_s16(__a) __extension__ ({ \
1789 int16x8x4_t r; __builtin_neon_vld4q_v(&r, __a, 17); r; })
1790 #define vld4q_s32(__a) __extension__ ({ \
1791 int32x4x4_t r; __builtin_neon_vld4q_v(&r, __a, 18); r; })
1792 #define vld4q_f16(__a) __extension__ ({ \
1793 float16x8x4_t r; __builtin_neon_vld4q_v(&r, __a, 23); r; })
1794 #define vld4q_f32(__a) __extension__ ({ \
1795 float32x4x4_t r; __builtin_neon_vld4q_v(&r, __a, 20); r; })
1796 #define vld4q_p8(__a) __extension__ ({ \
1797 poly8x16x4_t r; __builtin_neon_vld4q_v(&r, __a, 21); r; })
1798 #define vld4q_p16(__a) __extension__ ({ \
1799 poly16x8x4_t r; __builtin_neon_vld4q_v(&r, __a, 22); r; })
1800 #define vld4_u8(__a) __extension__ ({ \
1801 uint8x8x4_t r; __builtin_neon_vld4_v(&r, __a, 8); r; })
1802 #define vld4_u16(__a) __extension__ ({ \
1803 uint16x4x4_t r; __builtin_neon_vld4_v(&r, __a, 9); r; })
1804 #define vld4_u32(__a) __extension__ ({ \
1805 uint32x2x4_t r; __builtin_neon_vld4_v(&r, __a, 10); r; })
1806 #define vld4_u64(__a) __extension__ ({ \
1807 uint64x1x4_t r; __builtin_neon_vld4_v(&r, __a, 11); r; })
1808 #define vld4_s8(__a) __extension__ ({ \
1809 int8x8x4_t r; __builtin_neon_vld4_v(&r, __a, 0); r; })
1810 #define vld4_s16(__a) __extension__ ({ \
1811 int16x4x4_t r; __builtin_neon_vld4_v(&r, __a, 1); r; })
1812 #define vld4_s32(__a) __extension__ ({ \
1813 int32x2x4_t r; __builtin_neon_vld4_v(&r, __a, 2); r; })
1814 #define vld4_s64(__a) __extension__ ({ \
1815 int64x1x4_t r; __builtin_neon_vld4_v(&r, __a, 3); r; })
1816 #define vld4_f16(__a) __extension__ ({ \
1817 float16x4x4_t r; __builtin_neon_vld4_v(&r, __a, 7); r; })
1818 #define vld4_f32(__a) __extension__ ({ \
1819 float32x2x4_t r; __builtin_neon_vld4_v(&r, __a, 4); r; })
1820 #define vld4_p8(__a) __extension__ ({ \
1821 poly8x8x4_t r; __builtin_neon_vld4_v(&r, __a, 5); r; })
1822 #define vld4_p16(__a) __extension__ ({ \
1823 poly16x4x4_t r; __builtin_neon_vld4_v(&r, __a, 6); r; })
1824
1825 #define vld4_dup_u8(__a) __extension__ ({ \
1826 uint8x8x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 8); r; })
1827 #define vld4_dup_u16(__a) __extension__ ({ \
1828 uint16x4x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 9); r; })
1829 #define vld4_dup_u32(__a) __extension__ ({ \
1830 uint32x2x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 10); r; })
1831 #define vld4_dup_u64(__a) __extension__ ({ \
1832 uint64x1x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 11); r; })
1833 #define vld4_dup_s8(__a) __extension__ ({ \
1834 int8x8x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 0); r; })
1835 #define vld4_dup_s16(__a) __extension__ ({ \
1836 int16x4x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 1); r; })
1837 #define vld4_dup_s32(__a) __extension__ ({ \
1838 int32x2x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 2); r; })
1839 #define vld4_dup_s64(__a) __extension__ ({ \
1840 int64x1x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 3); r; })
1841 #define vld4_dup_f16(__a) __extension__ ({ \
1842 float16x4x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 7); r; })
1843 #define vld4_dup_f32(__a) __extension__ ({ \
1844 float32x2x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 4); r; })
1845 #define vld4_dup_p8(__a) __extension__ ({ \
1846 poly8x8x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 5); r; })
1847 #define vld4_dup_p16(__a) __extension__ ({ \
1848 poly16x4x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 6); r; })
1849
1850 #define vld4q_lane_u16(__a, b, __c) __extension__ ({ \
1851 uint16x8x4_t __b = (b); \
1852 uint16x8x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 25); r; })
1853 #define vld4q_lane_u32(__a, b, __c) __extension__ ({ \
1854 uint32x4x4_t __b = (b); \
1855 uint32x4x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 26); r; })
1856 #define vld4q_lane_s16(__a, b, __c) __extension__ ({ \
1857 int16x8x4_t __b = (b); \
1858 int16x8x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in t8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 17); r; } )
1859 #define vld4q_lane_s32(__a, b, __c) __extension__ ({ \
1860 int32x4x4_t __b = (b); \
1861 int32x4x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in t8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 18); r; } )
1862 #define vld4q_lane_f16(__a, b, __c) __extension__ ({ \
1863 float16x8x4_t __b = (b); \
1864 float16x8x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], ( int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 23); r; })
1865 #define vld4q_lane_f32(__a, b, __c) __extension__ ({ \
1866 float32x4x4_t __b = (b); \
1867 float32x4x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], ( int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 20); r; })
1868 #define vld4q_lane_p16(__a, b, __c) __extension__ ({ \
1869 poly16x8x4_t __b = (b); \
1870 poly16x8x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 22); r; })
1871 #define vld4_lane_u8(__a, b, __c) __extension__ ({ \
1872 uint8x8x4_t __b = (b); \
1873 uint8x8x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 8); r; })
1874 #define vld4_lane_u16(__a, b, __c) __extension__ ({ \
1875 uint16x4x4_t __b = (b); \
1876 uint16x4x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 9); r; })
1877 #define vld4_lane_u32(__a, b, __c) __extension__ ({ \
1878 uint32x2x4_t __b = (b); \
1879 uint32x2x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 10); r; })
1880 #define vld4_lane_s8(__a, b, __c) __extension__ ({ \
1881 int8x8x4_t __b = (b); \
1882 int8x8x4_t r; __builtin_neon_vld4_lane_v(&r, __a, __b.val[0], __b.val[1], __b. val[2], __b.val[3], __c, 0); r; })
1883 #define vld4_lane_s16(__a, b, __c) __extension__ ({ \
1884 int16x4x4_t __b = (b); \
1885 int16x4x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 1); r; })
1886 #define vld4_lane_s32(__a, b, __c) __extension__ ({ \
1887 int32x2x4_t __b = (b); \
1888 int32x2x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 2); r; })
1889 #define vld4_lane_f16(__a, b, __c) __extension__ ({ \
1890 float16x4x4_t __b = (b); \
1891 float16x4x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (in t8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 7); r; })
1892 #define vld4_lane_f32(__a, b, __c) __extension__ ({ \
1893 float32x2x4_t __b = (b); \
1894 float32x2x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (in t8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 4); r; })
1895 #define vld4_lane_p8(__a, b, __c) __extension__ ({ \
1896 poly8x8x4_t __b = (b); \
1897 poly8x8x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 5); r; })
1898 #define vld4_lane_p16(__a, b, __c) __extension__ ({ \
1899 poly16x4x4_t __b = (b); \
1900 poly16x4x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 6); r; })
1901
1902 __ai int8x8_t vmax_s8(int8x8_t __a, int8x8_t __b) { \
1903 return (int8x8_t)__builtin_neon_vmax_v(__a, __b, 0); }
1904 __ai int16x4_t vmax_s16(int16x4_t __a, int16x4_t __b) { \
1905 return (int16x4_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 1); }
1906 __ai int32x2_t vmax_s32(int32x2_t __a, int32x2_t __b) { \
1907 return (int32x2_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 2); }
1908 __ai uint8x8_t vmax_u8(uint8x8_t __a, uint8x8_t __b) { \
1909 return (uint8x8_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 8); }
1910 __ai uint16x4_t vmax_u16(uint16x4_t __a, uint16x4_t __b) { \
1911 return (uint16x4_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 9); }
1912 __ai uint32x2_t vmax_u32(uint32x2_t __a, uint32x2_t __b) { \
1913 return (uint32x2_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 10); }
1914 __ai float32x2_t vmax_f32(float32x2_t __a, float32x2_t __b) { \
1915 return (float32x2_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 4); }
1916 __ai int8x16_t vmaxq_s8(int8x16_t __a, int8x16_t __b) { \
1917 return (int8x16_t)__builtin_neon_vmaxq_v(__a, __b, 16); }
1918 __ai int16x8_t vmaxq_s16(int16x8_t __a, int16x8_t __b) { \
1919 return (int16x8_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 17); }
1920 __ai int32x4_t vmaxq_s32(int32x4_t __a, int32x4_t __b) { \
1921 return (int32x4_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 18); }
1922 __ai uint8x16_t vmaxq_u8(uint8x16_t __a, uint8x16_t __b) { \
1923 return (uint8x16_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 24); }
1924 __ai uint16x8_t vmaxq_u16(uint16x8_t __a, uint16x8_t __b) { \
1925 return (uint16x8_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 25); }
1926 __ai uint32x4_t vmaxq_u32(uint32x4_t __a, uint32x4_t __b) { \
1927 return (uint32x4_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 26); }
1928 __ai float32x4_t vmaxq_f32(float32x4_t __a, float32x4_t __b) { \
1929 return (float32x4_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 20) ; }
1930
1931 __ai int8x8_t vmin_s8(int8x8_t __a, int8x8_t __b) { \
1932 return (int8x8_t)__builtin_neon_vmin_v(__a, __b, 0); }
1933 __ai int16x4_t vmin_s16(int16x4_t __a, int16x4_t __b) { \
1934 return (int16x4_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 1); }
1935 __ai int32x2_t vmin_s32(int32x2_t __a, int32x2_t __b) { \
1936 return (int32x2_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 2); }
1937 __ai uint8x8_t vmin_u8(uint8x8_t __a, uint8x8_t __b) { \
1938 return (uint8x8_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 8); }
1939 __ai uint16x4_t vmin_u16(uint16x4_t __a, uint16x4_t __b) { \
1940 return (uint16x4_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 9); }
1941 __ai uint32x2_t vmin_u32(uint32x2_t __a, uint32x2_t __b) { \
1942 return (uint32x2_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 10); }
1943 __ai float32x2_t vmin_f32(float32x2_t __a, float32x2_t __b) { \
1944 return (float32x2_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 4); }
1945 __ai int8x16_t vminq_s8(int8x16_t __a, int8x16_t __b) { \
1946 return (int8x16_t)__builtin_neon_vminq_v(__a, __b, 16); }
1947 __ai int16x8_t vminq_s16(int16x8_t __a, int16x8_t __b) { \
1948 return (int16x8_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 17); }
1949 __ai int32x4_t vminq_s32(int32x4_t __a, int32x4_t __b) { \
1950 return (int32x4_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 18); }
1951 __ai uint8x16_t vminq_u8(uint8x16_t __a, uint8x16_t __b) { \
1952 return (uint8x16_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 24); }
1953 __ai uint16x8_t vminq_u16(uint16x8_t __a, uint16x8_t __b) { \
1954 return (uint16x8_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 25); }
1955 __ai uint32x4_t vminq_u32(uint32x4_t __a, uint32x4_t __b) { \
1956 return (uint32x4_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 26); }
1957 __ai float32x4_t vminq_f32(float32x4_t __a, float32x4_t __b) { \
1958 return (float32x4_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 20) ; }
1959
1960 __ai int8x8_t vmla_s8(int8x8_t __a, int8x8_t __b, int8x8_t __c) { \
1961 return __a + (__b * __c); }
1962 __ai int16x4_t vmla_s16(int16x4_t __a, int16x4_t __b, int16x4_t __c) { \
1963 return __a + (__b * __c); }
1964 __ai int32x2_t vmla_s32(int32x2_t __a, int32x2_t __b, int32x2_t __c) { \
1965 return __a + (__b * __c); }
1966 __ai float32x2_t vmla_f32(float32x2_t __a, float32x2_t __b, float32x2_t __c) { \
1967 return __a + (__b * __c); }
1968 __ai uint8x8_t vmla_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { \
1969 return __a + (__b * __c); }
1970 __ai uint16x4_t vmla_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) { \
1971 return __a + (__b * __c); }
1972 __ai uint32x2_t vmla_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) { \
1973 return __a + (__b * __c); }
1974 __ai int8x16_t vmlaq_s8(int8x16_t __a, int8x16_t __b, int8x16_t __c) { \
1975 return __a + (__b * __c); }
1976 __ai int16x8_t vmlaq_s16(int16x8_t __a, int16x8_t __b, int16x8_t __c) { \
1977 return __a + (__b * __c); }
1978 __ai int32x4_t vmlaq_s32(int32x4_t __a, int32x4_t __b, int32x4_t __c) { \
1979 return __a + (__b * __c); }
1980 __ai float32x4_t vmlaq_f32(float32x4_t __a, float32x4_t __b, float32x4_t __c) { \
1981 return __a + (__b * __c); }
1982 __ai uint8x16_t vmlaq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) { \
1983 return __a + (__b * __c); }
1984 __ai uint16x8_t vmlaq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) { \
1985 return __a + (__b * __c); }
1986 __ai uint32x4_t vmlaq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { \
1987 return __a + (__b * __c); }
1988
1989 __ai int16x8_t vmlal_s8(int16x8_t __a, int8x8_t __b, int8x8_t __c) { \
1990 return __a + vmull_s8(__b, __c); }
1991 __ai int32x4_t vmlal_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) { \
1992 return __a + vmull_s16(__b, __c); }
1993 __ai int64x2_t vmlal_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) { \
1994 return __a + vmull_s32(__b, __c); }
1995 __ai uint16x8_t vmlal_u8(uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) { \
1996 return __a + vmull_u8(__b, __c); }
1997 __ai uint32x4_t vmlal_u16(uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) { \
1998 return __a + vmull_u16(__b, __c); }
1999 __ai uint64x2_t vmlal_u32(uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) { \
2000 return __a + vmull_u32(__b, __c); }
2001
2002 #define vmlal_lane_s16(a, b, c, __d) __extension__ ({ \
2003 int32x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \
2004 __a + vmull_s16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); } )
2005 #define vmlal_lane_s32(a, b, c, __d) __extension__ ({ \
2006 int64x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \
2007 __a + vmull_s32(__b, __builtin_shufflevector(__c, __c, __d, __d)); })
2008 #define vmlal_lane_u16(a, b, c, __d) __extension__ ({ \
2009 uint32x4_t __a = (a); uint16x4_t __b = (b); uint16x4_t __c = (c); \
2010 __a + vmull_u16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); } )
2011 #define vmlal_lane_u32(a, b, c, __d) __extension__ ({ \
2012 uint64x2_t __a = (a); uint32x2_t __b = (b); uint32x2_t __c = (c); \
2013 __a + vmull_u32(__b, __builtin_shufflevector(__c, __c, __d, __d)); })
2014
2015 __ai int32x4_t vmlal_n_s16(int32x4_t __a, int16x4_t __b, int16_t __c) { \
2016 return __a + vmull_s16(__b, (int16x4_t){ __c, __c, __c, __c }); }
2017 __ai int64x2_t vmlal_n_s32(int64x2_t __a, int32x2_t __b, int32_t __c) { \
2018 return __a + vmull_s32(__b, (int32x2_t){ __c, __c }); }
2019 __ai uint32x4_t vmlal_n_u16(uint32x4_t __a, uint16x4_t __b, uint16_t __c) { \
2020 return __a + vmull_u16(__b, (uint16x4_t){ __c, __c, __c, __c }); }
2021 __ai uint64x2_t vmlal_n_u32(uint64x2_t __a, uint32x2_t __b, uint32_t __c) { \
2022 return __a + vmull_u32(__b, (uint32x2_t){ __c, __c }); }
2023
2024 #define vmla_lane_s16(a, b, c, __d) __extension__ ({ \
2025 int16x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \
2026 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
2027 #define vmla_lane_s32(a, b, c, __d) __extension__ ({ \
2028 int32x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \
2029 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
2030 #define vmla_lane_u16(a, b, c, __d) __extension__ ({ \
2031 uint16x4_t __a = (a); uint16x4_t __b = (b); uint16x4_t __c = (c); \
2032 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
2033 #define vmla_lane_u32(a, b, c, __d) __extension__ ({ \
2034 uint32x2_t __a = (a); uint32x2_t __b = (b); uint32x2_t __c = (c); \
2035 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
2036 #define vmla_lane_f32(a, b, c, __d) __extension__ ({ \
2037 float32x2_t __a = (a); float32x2_t __b = (b); float32x2_t __c = (c); \
2038 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
2039 #define vmlaq_lane_s16(a, b, c, __d) __extension__ ({ \
2040 int16x8_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \
2041 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _ _d, __d)); })
2042 #define vmlaq_lane_s32(a, b, c, __d) __extension__ ({ \
2043 int32x4_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \
2044 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
2045 #define vmlaq_lane_u16(a, b, c, __d) __extension__ ({ \
2046 uint16x8_t __a = (a); uint16x8_t __b = (b); uint16x4_t __c = (c); \
2047 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _ _d, __d)); })
2048 #define vmlaq_lane_u32(a, b, c, __d) __extension__ ({ \
2049 uint32x4_t __a = (a); uint32x4_t __b = (b); uint32x2_t __c = (c); \
2050 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
2051 #define vmlaq_lane_f32(a, b, c, __d) __extension__ ({ \
2052 float32x4_t __a = (a); float32x4_t __b = (b); float32x2_t __c = (c); \
2053 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
2054
2055 __ai int16x4_t vmla_n_s16(int16x4_t __a, int16x4_t __b, int16_t __c) { \
2056 return __a + (__b * (int16x4_t){ __c, __c, __c, __c }); }
2057 __ai int32x2_t vmla_n_s32(int32x2_t __a, int32x2_t __b, int32_t __c) { \
2058 return __a + (__b * (int32x2_t){ __c, __c }); }
2059 __ai uint16x4_t vmla_n_u16(uint16x4_t __a, uint16x4_t __b, uint16_t __c) { \
2060 return __a + (__b * (uint16x4_t){ __c, __c, __c, __c }); }
2061 __ai uint32x2_t vmla_n_u32(uint32x2_t __a, uint32x2_t __b, uint32_t __c) { \
2062 return __a + (__b * (uint32x2_t){ __c, __c }); }
2063 __ai float32x2_t vmla_n_f32(float32x2_t __a, float32x2_t __b, float32_t __c) { \
2064 return __a + (__b * (float32x2_t){ __c, __c }); }
2065 __ai int16x8_t vmlaq_n_s16(int16x8_t __a, int16x8_t __b, int16_t __c) { \
2066 return __a + (__b * (int16x8_t){ __c, __c, __c, __c, __c, __c, __c, __c }); }
2067 __ai int32x4_t vmlaq_n_s32(int32x4_t __a, int32x4_t __b, int32_t __c) { \
2068 return __a + (__b * (int32x4_t){ __c, __c, __c, __c }); }
2069 __ai uint16x8_t vmlaq_n_u16(uint16x8_t __a, uint16x8_t __b, uint16_t __c) { \
2070 return __a + (__b * (uint16x8_t){ __c, __c, __c, __c, __c, __c, __c, __c }); }
2071 __ai uint32x4_t vmlaq_n_u32(uint32x4_t __a, uint32x4_t __b, uint32_t __c) { \
2072 return __a + (__b * (uint32x4_t){ __c, __c, __c, __c }); }
2073 __ai float32x4_t vmlaq_n_f32(float32x4_t __a, float32x4_t __b, float32_t __c) { \
2074 return __a + (__b * (float32x4_t){ __c, __c, __c, __c }); }
2075
2076 __ai int8x8_t vmls_s8(int8x8_t __a, int8x8_t __b, int8x8_t __c) { \
2077 return __a - (__b * __c); }
2078 __ai int16x4_t vmls_s16(int16x4_t __a, int16x4_t __b, int16x4_t __c) { \
2079 return __a - (__b * __c); }
2080 __ai int32x2_t vmls_s32(int32x2_t __a, int32x2_t __b, int32x2_t __c) { \
2081 return __a - (__b * __c); }
2082 __ai float32x2_t vmls_f32(float32x2_t __a, float32x2_t __b, float32x2_t __c) { \
2083 return __a - (__b * __c); }
2084 __ai uint8x8_t vmls_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { \
2085 return __a - (__b * __c); }
2086 __ai uint16x4_t vmls_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) { \
2087 return __a - (__b * __c); }
2088 __ai uint32x2_t vmls_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) { \
2089 return __a - (__b * __c); }
2090 __ai int8x16_t vmlsq_s8(int8x16_t __a, int8x16_t __b, int8x16_t __c) { \
2091 return __a - (__b * __c); }
2092 __ai int16x8_t vmlsq_s16(int16x8_t __a, int16x8_t __b, int16x8_t __c) { \
2093 return __a - (__b * __c); }
2094 __ai int32x4_t vmlsq_s32(int32x4_t __a, int32x4_t __b, int32x4_t __c) { \
2095 return __a - (__b * __c); }
2096 __ai float32x4_t vmlsq_f32(float32x4_t __a, float32x4_t __b, float32x4_t __c) { \
2097 return __a - (__b * __c); }
2098 __ai uint8x16_t vmlsq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) { \
2099 return __a - (__b * __c); }
2100 __ai uint16x8_t vmlsq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) { \
2101 return __a - (__b * __c); }
2102 __ai uint32x4_t vmlsq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { \
2103 return __a - (__b * __c); }
2104
2105 __ai int16x8_t vmlsl_s8(int16x8_t __a, int8x8_t __b, int8x8_t __c) { \
2106 return __a - vmull_s8(__b, __c); }
2107 __ai int32x4_t vmlsl_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) { \
2108 return __a - vmull_s16(__b, __c); }
2109 __ai int64x2_t vmlsl_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) { \
2110 return __a - vmull_s32(__b, __c); }
2111 __ai uint16x8_t vmlsl_u8(uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) { \
2112 return __a - vmull_u8(__b, __c); }
2113 __ai uint32x4_t vmlsl_u16(uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) { \
2114 return __a - vmull_u16(__b, __c); }
2115 __ai uint64x2_t vmlsl_u32(uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) { \
2116 return __a - vmull_u32(__b, __c); }
2117
2118 #define vmlsl_lane_s16(a, b, c, __d) __extension__ ({ \
2119 int32x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \
2120 __a - vmull_s16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); } )
2121 #define vmlsl_lane_s32(a, b, c, __d) __extension__ ({ \
2122 int64x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \
2123 __a - vmull_s32(__b, __builtin_shufflevector(__c, __c, __d, __d)); })
2124 #define vmlsl_lane_u16(a, b, c, __d) __extension__ ({ \
2125 uint32x4_t __a = (a); uint16x4_t __b = (b); uint16x4_t __c = (c); \
2126 __a - vmull_u16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); } )
2127 #define vmlsl_lane_u32(a, b, c, __d) __extension__ ({ \
2128 uint64x2_t __a = (a); uint32x2_t __b = (b); uint32x2_t __c = (c); \
2129 __a - vmull_u32(__b, __builtin_shufflevector(__c, __c, __d, __d)); })
2130
2131 __ai int32x4_t vmlsl_n_s16(int32x4_t __a, int16x4_t __b, int16_t __c) { \
2132 return __a - vmull_s16(__b, (int16x4_t){ __c, __c, __c, __c }); }
2133 __ai int64x2_t vmlsl_n_s32(int64x2_t __a, int32x2_t __b, int32_t __c) { \
2134 return __a - vmull_s32(__b, (int32x2_t){ __c, __c }); }
2135 __ai uint32x4_t vmlsl_n_u16(uint32x4_t __a, uint16x4_t __b, uint16_t __c) { \
2136 return __a - vmull_u16(__b, (uint16x4_t){ __c, __c, __c, __c }); }
2137 __ai uint64x2_t vmlsl_n_u32(uint64x2_t __a, uint32x2_t __b, uint32_t __c) { \
2138 return __a - vmull_u32(__b, (uint32x2_t){ __c, __c }); }
2139
2140 #define vmls_lane_s16(a, b, c, __d) __extension__ ({ \
2141 int16x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \
2142 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
2143 #define vmls_lane_s32(a, b, c, __d) __extension__ ({ \
2144 int32x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \
2145 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
2146 #define vmls_lane_u16(a, b, c, __d) __extension__ ({ \
2147 uint16x4_t __a = (a); uint16x4_t __b = (b); uint16x4_t __c = (c); \
2148 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
2149 #define vmls_lane_u32(a, b, c, __d) __extension__ ({ \
2150 uint32x2_t __a = (a); uint32x2_t __b = (b); uint32x2_t __c = (c); \
2151 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
2152 #define vmls_lane_f32(a, b, c, __d) __extension__ ({ \
2153 float32x2_t __a = (a); float32x2_t __b = (b); float32x2_t __c = (c); \
2154 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
2155 #define vmlsq_lane_s16(a, b, c, __d) __extension__ ({ \
2156 int16x8_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \
2157 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _ _d, __d)); })
2158 #define vmlsq_lane_s32(a, b, c, __d) __extension__ ({ \
2159 int32x4_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \
2160 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
2161 #define vmlsq_lane_u16(a, b, c, __d) __extension__ ({ \
2162 uint16x8_t __a = (a); uint16x8_t __b = (b); uint16x4_t __c = (c); \
2163 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _ _d, __d)); })
2164 #define vmlsq_lane_u32(a, b, c, __d) __extension__ ({ \
2165 uint32x4_t __a = (a); uint32x4_t __b = (b); uint32x2_t __c = (c); \
2166 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
2167 #define vmlsq_lane_f32(a, b, c, __d) __extension__ ({ \
2168 float32x4_t __a = (a); float32x4_t __b = (b); float32x2_t __c = (c); \
2169 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
2170
2171 __ai int16x4_t vmls_n_s16(int16x4_t __a, int16x4_t __b, int16_t __c) { \
2172 return __a - (__b * (int16x4_t){ __c, __c, __c, __c }); }
2173 __ai int32x2_t vmls_n_s32(int32x2_t __a, int32x2_t __b, int32_t __c) { \
2174 return __a - (__b * (int32x2_t){ __c, __c }); }
2175 __ai uint16x4_t vmls_n_u16(uint16x4_t __a, uint16x4_t __b, uint16_t __c) { \
2176 return __a - (__b * (uint16x4_t){ __c, __c, __c, __c }); }
2177 __ai uint32x2_t vmls_n_u32(uint32x2_t __a, uint32x2_t __b, uint32_t __c) { \
2178 return __a - (__b * (uint32x2_t){ __c, __c }); }
2179 __ai float32x2_t vmls_n_f32(float32x2_t __a, float32x2_t __b, float32_t __c) { \
2180 return __a - (__b * (float32x2_t){ __c, __c }); }
2181 __ai int16x8_t vmlsq_n_s16(int16x8_t __a, int16x8_t __b, int16_t __c) { \
2182 return __a - (__b * (int16x8_t){ __c, __c, __c, __c, __c, __c, __c, __c }); }
2183 __ai int32x4_t vmlsq_n_s32(int32x4_t __a, int32x4_t __b, int32_t __c) { \
2184 return __a - (__b * (int32x4_t){ __c, __c, __c, __c }); }
2185 __ai uint16x8_t vmlsq_n_u16(uint16x8_t __a, uint16x8_t __b, uint16_t __c) { \
2186 return __a - (__b * (uint16x8_t){ __c, __c, __c, __c, __c, __c, __c, __c }); }
2187 __ai uint32x4_t vmlsq_n_u32(uint32x4_t __a, uint32x4_t __b, uint32_t __c) { \
2188 return __a - (__b * (uint32x4_t){ __c, __c, __c, __c }); }
2189 __ai float32x4_t vmlsq_n_f32(float32x4_t __a, float32x4_t __b, float32_t __c) { \
2190 return __a - (__b * (float32x4_t){ __c, __c, __c, __c }); }
2191
2192 __ai int8x8_t vmovn_s16(int16x8_t __a) { \
2193 return (int8x8_t)__builtin_neon_vmovn_v((int8x16_t)__a, 0); }
2194 __ai int16x4_t vmovn_s32(int32x4_t __a) { \
2195 return (int16x4_t)__builtin_neon_vmovn_v((int8x16_t)__a, 1); }
2196 __ai int32x2_t vmovn_s64(int64x2_t __a) { \
2197 return (int32x2_t)__builtin_neon_vmovn_v((int8x16_t)__a, 2); }
2198 __ai uint8x8_t vmovn_u16(uint16x8_t __a) { \
2199 return (uint8x8_t)__builtin_neon_vmovn_v((int8x16_t)__a, 8); }
2200 __ai uint16x4_t vmovn_u32(uint32x4_t __a) { \
2201 return (uint16x4_t)__builtin_neon_vmovn_v((int8x16_t)__a, 9); }
2202 __ai uint32x2_t vmovn_u64(uint64x2_t __a) { \
2203 return (uint32x2_t)__builtin_neon_vmovn_v((int8x16_t)__a, 10); }
2204
2205 __ai uint8x8_t vmov_n_u8(uint8_t __a) { \
2206 return (uint8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
2207 __ai uint16x4_t vmov_n_u16(uint16_t __a) { \
2208 return (uint16x4_t){ __a, __a, __a, __a }; }
2209 __ai uint32x2_t vmov_n_u32(uint32_t __a) { \
2210 return (uint32x2_t){ __a, __a }; }
2211 __ai int8x8_t vmov_n_s8(int8_t __a) { \
2212 return (int8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
2213 __ai int16x4_t vmov_n_s16(int16_t __a) { \
2214 return (int16x4_t){ __a, __a, __a, __a }; }
2215 __ai int32x2_t vmov_n_s32(int32_t __a) { \
2216 return (int32x2_t){ __a, __a }; }
2217 __ai poly8x8_t vmov_n_p8(poly8_t __a) { \
2218 return (poly8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
2219 __ai poly16x4_t vmov_n_p16(poly16_t __a) { \
2220 return (poly16x4_t){ __a, __a, __a, __a }; }
2221 __ai float32x2_t vmov_n_f32(float32_t __a) { \
2222 return (float32x2_t){ __a, __a }; }
2223 __ai uint8x16_t vmovq_n_u8(uint8_t __a) { \
2224 return (uint8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __ a, __a, __a, __a, __a }; }
2225 __ai uint16x8_t vmovq_n_u16(uint16_t __a) { \
2226 return (uint16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
2227 __ai uint32x4_t vmovq_n_u32(uint32_t __a) { \
2228 return (uint32x4_t){ __a, __a, __a, __a }; }
2229 __ai int8x16_t vmovq_n_s8(int8_t __a) { \
2230 return (int8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a , __a, __a, __a, __a }; }
2231 __ai int16x8_t vmovq_n_s16(int16_t __a) { \
2232 return (int16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
2233 __ai int32x4_t vmovq_n_s32(int32_t __a) { \
2234 return (int32x4_t){ __a, __a, __a, __a }; }
2235 __ai poly8x16_t vmovq_n_p8(poly8_t __a) { \
2236 return (poly8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __ a, __a, __a, __a, __a }; }
2237 __ai poly16x8_t vmovq_n_p16(poly16_t __a) { \
2238 return (poly16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
2239 __ai float32x4_t vmovq_n_f32(float32_t __a) { \
2240 return (float32x4_t){ __a, __a, __a, __a }; }
2241 __ai int64x1_t vmov_n_s64(int64_t __a) { \
2242 return (int64x1_t){ __a }; }
2243 __ai uint64x1_t vmov_n_u64(uint64_t __a) { \
2244 return (uint64x1_t){ __a }; }
2245 __ai int64x2_t vmovq_n_s64(int64_t __a) { \
2246 return (int64x2_t){ __a, __a }; }
2247 __ai uint64x2_t vmovq_n_u64(uint64_t __a) { \
2248 return (uint64x2_t){ __a, __a }; }
2249
2250 __ai int8x8_t vmul_s8(int8x8_t __a, int8x8_t __b) { \
2251 return __a * __b; }
2252 __ai int16x4_t vmul_s16(int16x4_t __a, int16x4_t __b) { \
2253 return __a * __b; }
2254 __ai int32x2_t vmul_s32(int32x2_t __a, int32x2_t __b) { \
2255 return __a * __b; }
2256 __ai float32x2_t vmul_f32(float32x2_t __a, float32x2_t __b) { \
2257 return __a * __b; }
2258 __ai uint8x8_t vmul_u8(uint8x8_t __a, uint8x8_t __b) { \
2259 return __a * __b; }
2260 __ai uint16x4_t vmul_u16(uint16x4_t __a, uint16x4_t __b) { \
2261 return __a * __b; }
2262 __ai uint32x2_t vmul_u32(uint32x2_t __a, uint32x2_t __b) { \
2263 return __a * __b; }
2264 __ai int8x16_t vmulq_s8(int8x16_t __a, int8x16_t __b) { \
2265 return __a * __b; }
2266 __ai int16x8_t vmulq_s16(int16x8_t __a, int16x8_t __b) { \
2267 return __a * __b; }
2268 __ai int32x4_t vmulq_s32(int32x4_t __a, int32x4_t __b) { \
2269 return __a * __b; }
2270 __ai float32x4_t vmulq_f32(float32x4_t __a, float32x4_t __b) { \
2271 return __a * __b; }
2272 __ai uint8x16_t vmulq_u8(uint8x16_t __a, uint8x16_t __b) { \
2273 return __a * __b; }
2274 __ai uint16x8_t vmulq_u16(uint16x8_t __a, uint16x8_t __b) { \
2275 return __a * __b; }
2276 __ai uint32x4_t vmulq_u32(uint32x4_t __a, uint32x4_t __b) { \
2277 return __a * __b; }
2278
2279 #define vmull_lane_s16(a, b, __c) __extension__ ({ \
2280 int16x4_t __a = (a); int16x4_t __b = (b); \
2281 vmull_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
2282 #define vmull_lane_s32(a, b, __c) __extension__ ({ \
2283 int32x2_t __a = (a); int32x2_t __b = (b); \
2284 vmull_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
2285 #define vmull_lane_u16(a, b, __c) __extension__ ({ \
2286 uint16x4_t __a = (a); uint16x4_t __b = (b); \
2287 vmull_u16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
2288 #define vmull_lane_u32(a, b, __c) __extension__ ({ \
2289 uint32x2_t __a = (a); uint32x2_t __b = (b); \
2290 vmull_u32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
2291
2292 __ai int32x4_t vmull_n_s16(int16x4_t __a, int16_t __b) { \
2293 return (int32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)(int16x4_t){ __b, __b, __b, __b }, 18); }
2294 __ai int64x2_t vmull_n_s32(int32x2_t __a, int32_t __b) { \
2295 return (int64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)(int32x2_t){ __b, __b }, 19); }
2296 __ai uint32x4_t vmull_n_u16(uint16x4_t __a, uint16_t __b) { \
2297 return (uint32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)(uint16x4_t ){ __b, __b, __b, __b }, 26); }
2298 __ai uint64x2_t vmull_n_u32(uint32x2_t __a, uint32_t __b) { \
2299 return (uint64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)(uint32x2_t ){ __b, __b }, 27); }
2300
2301 __ai poly8x8_t vmul_p8(poly8x8_t __a, poly8x8_t __b) { \
2302 return (poly8x8_t)__builtin_neon_vmul_v((int8x8_t)__a, (int8x8_t)__b, 5); }
2303 __ai poly8x16_t vmulq_p8(poly8x16_t __a, poly8x16_t __b) { \
2304 return (poly8x16_t)__builtin_neon_vmulq_v((int8x16_t)__a, (int8x16_t)__b, 21); }
2305
2306 #define vmul_lane_s16(a, b, __c) __extension__ ({ \
2307 int16x4_t __a = (a); int16x4_t __b = (b); \
2308 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
2309 #define vmul_lane_s32(a, b, __c) __extension__ ({ \
2310 int32x2_t __a = (a); int32x2_t __b = (b); \
2311 __a * __builtin_shufflevector(__b, __b, __c, __c); })
2312 #define vmul_lane_f32(a, b, __c) __extension__ ({ \
2313 float32x2_t __a = (a); float32x2_t __b = (b); \
2314 __a * __builtin_shufflevector(__b, __b, __c, __c); })
2315 #define vmul_lane_u16(a, b, __c) __extension__ ({ \
2316 uint16x4_t __a = (a); uint16x4_t __b = (b); \
2317 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
2318 #define vmul_lane_u32(a, b, __c) __extension__ ({ \
2319 uint32x2_t __a = (a); uint32x2_t __b = (b); \
2320 __a * __builtin_shufflevector(__b, __b, __c, __c); })
2321 #define vmulq_lane_s16(a, b, __c) __extension__ ({ \
2322 int16x8_t __a = (a); int16x4_t __b = (b); \
2323 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, __c, __c, __c ); })
2324 #define vmulq_lane_s32(a, b, __c) __extension__ ({ \
2325 int32x4_t __a = (a); int32x2_t __b = (b); \
2326 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
2327 #define vmulq_lane_f32(a, b, __c) __extension__ ({ \
2328 float32x4_t __a = (a); float32x2_t __b = (b); \
2329 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
2330 #define vmulq_lane_u16(a, b, __c) __extension__ ({ \
2331 uint16x8_t __a = (a); uint16x4_t __b = (b); \
2332 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, __c, __c, __c ); })
2333 #define vmulq_lane_u32(a, b, __c) __extension__ ({ \
2334 uint32x4_t __a = (a); uint32x2_t __b = (b); \
2335 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
2336
2337 __ai int16x4_t vmul_n_s16(int16x4_t __a, int16_t __b) { \
2338 return __a * (int16x4_t){ __b, __b, __b, __b }; }
2339 __ai int32x2_t vmul_n_s32(int32x2_t __a, int32_t __b) { \
2340 return __a * (int32x2_t){ __b, __b }; }
2341 __ai float32x2_t vmul_n_f32(float32x2_t __a, float32_t __b) { \
2342 return __a * (float32x2_t){ __b, __b }; }
2343 __ai uint16x4_t vmul_n_u16(uint16x4_t __a, uint16_t __b) { \
2344 return __a * (uint16x4_t){ __b, __b, __b, __b }; }
2345 __ai uint32x2_t vmul_n_u32(uint32x2_t __a, uint32_t __b) { \
2346 return __a * (uint32x2_t){ __b, __b }; }
2347 __ai int16x8_t vmulq_n_s16(int16x8_t __a, int16_t __b) { \
2348 return __a * (int16x8_t){ __b, __b, __b, __b, __b, __b, __b, __b }; }
2349 __ai int32x4_t vmulq_n_s32(int32x4_t __a, int32_t __b) { \
2350 return __a * (int32x4_t){ __b, __b, __b, __b }; }
2351 __ai float32x4_t vmulq_n_f32(float32x4_t __a, float32_t __b) { \
2352 return __a * (float32x4_t){ __b, __b, __b, __b }; }
2353 __ai uint16x8_t vmulq_n_u16(uint16x8_t __a, uint16_t __b) { \
2354 return __a * (uint16x8_t){ __b, __b, __b, __b, __b, __b, __b, __b }; }
2355 __ai uint32x4_t vmulq_n_u32(uint32x4_t __a, uint32_t __b) { \
2356 return __a * (uint32x4_t){ __b, __b, __b, __b }; }
2357
2358 __ai int8x8_t vmvn_s8(int8x8_t __a) { \
2359 return ~__a; }
2360 __ai int16x4_t vmvn_s16(int16x4_t __a) { \
2361 return ~__a; }
2362 __ai int32x2_t vmvn_s32(int32x2_t __a) { \
2363 return ~__a; }
2364 __ai uint8x8_t vmvn_u8(uint8x8_t __a) { \
2365 return ~__a; }
2366 __ai uint16x4_t vmvn_u16(uint16x4_t __a) { \
2367 return ~__a; }
2368 __ai uint32x2_t vmvn_u32(uint32x2_t __a) { \
2369 return ~__a; }
2370 __ai poly8x8_t vmvn_p8(poly8x8_t __a) { \
2371 return ~__a; }
2372 __ai int8x16_t vmvnq_s8(int8x16_t __a) { \
2373 return ~__a; }
2374 __ai int16x8_t vmvnq_s16(int16x8_t __a) { \
2375 return ~__a; }
2376 __ai int32x4_t vmvnq_s32(int32x4_t __a) { \
2377 return ~__a; }
2378 __ai uint8x16_t vmvnq_u8(uint8x16_t __a) { \
2379 return ~__a; }
2380 __ai uint16x8_t vmvnq_u16(uint16x8_t __a) { \
2381 return ~__a; }
2382 __ai uint32x4_t vmvnq_u32(uint32x4_t __a) { \
2383 return ~__a; }
2384 __ai poly8x16_t vmvnq_p8(poly8x16_t __a) { \
2385 return ~__a; }
2386
2387 __ai int8x8_t vneg_s8(int8x8_t __a) { \
2388 return -__a; }
2389 __ai int16x4_t vneg_s16(int16x4_t __a) { \
2390 return -__a; }
2391 __ai int32x2_t vneg_s32(int32x2_t __a) { \
2392 return -__a; }
2393 __ai float32x2_t vneg_f32(float32x2_t __a) { \
2394 return -__a; }
2395 __ai int8x16_t vnegq_s8(int8x16_t __a) { \
2396 return -__a; }
2397 __ai int16x8_t vnegq_s16(int16x8_t __a) { \
2398 return -__a; }
2399 __ai int32x4_t vnegq_s32(int32x4_t __a) { \
2400 return -__a; }
2401 __ai float32x4_t vnegq_f32(float32x4_t __a) { \
2402 return -__a; }
2403
2404 __ai int8x8_t vorn_s8(int8x8_t __a, int8x8_t __b) { \
2405 return __a | ~__b; }
2406 __ai int16x4_t vorn_s16(int16x4_t __a, int16x4_t __b) { \
2407 return __a | ~__b; }
2408 __ai int32x2_t vorn_s32(int32x2_t __a, int32x2_t __b) { \
2409 return __a | ~__b; }
2410 __ai int64x1_t vorn_s64(int64x1_t __a, int64x1_t __b) { \
2411 return __a | ~__b; }
2412 __ai uint8x8_t vorn_u8(uint8x8_t __a, uint8x8_t __b) { \
2413 return __a | ~__b; }
2414 __ai uint16x4_t vorn_u16(uint16x4_t __a, uint16x4_t __b) { \
2415 return __a | ~__b; }
2416 __ai uint32x2_t vorn_u32(uint32x2_t __a, uint32x2_t __b) { \
2417 return __a | ~__b; }
2418 __ai uint64x1_t vorn_u64(uint64x1_t __a, uint64x1_t __b) { \
2419 return __a | ~__b; }
2420 __ai int8x16_t vornq_s8(int8x16_t __a, int8x16_t __b) { \
2421 return __a | ~__b; }
2422 __ai int16x8_t vornq_s16(int16x8_t __a, int16x8_t __b) { \
2423 return __a | ~__b; }
2424 __ai int32x4_t vornq_s32(int32x4_t __a, int32x4_t __b) { \
2425 return __a | ~__b; }
2426 __ai int64x2_t vornq_s64(int64x2_t __a, int64x2_t __b) { \
2427 return __a | ~__b; }
2428 __ai uint8x16_t vornq_u8(uint8x16_t __a, uint8x16_t __b) { \
2429 return __a | ~__b; }
2430 __ai uint16x8_t vornq_u16(uint16x8_t __a, uint16x8_t __b) { \
2431 return __a | ~__b; }
2432 __ai uint32x4_t vornq_u32(uint32x4_t __a, uint32x4_t __b) { \
2433 return __a | ~__b; }
2434 __ai uint64x2_t vornq_u64(uint64x2_t __a, uint64x2_t __b) { \
2435 return __a | ~__b; }
2436
2437 __ai int8x8_t vorr_s8(int8x8_t __a, int8x8_t __b) { \
2438 return __a | __b; }
2439 __ai int16x4_t vorr_s16(int16x4_t __a, int16x4_t __b) { \
2440 return __a | __b; }
2441 __ai int32x2_t vorr_s32(int32x2_t __a, int32x2_t __b) { \
2442 return __a | __b; }
2443 __ai int64x1_t vorr_s64(int64x1_t __a, int64x1_t __b) { \
2444 return __a | __b; }
2445 __ai uint8x8_t vorr_u8(uint8x8_t __a, uint8x8_t __b) { \
2446 return __a | __b; }
2447 __ai uint16x4_t vorr_u16(uint16x4_t __a, uint16x4_t __b) { \
2448 return __a | __b; }
2449 __ai uint32x2_t vorr_u32(uint32x2_t __a, uint32x2_t __b) { \
2450 return __a | __b; }
2451 __ai uint64x1_t vorr_u64(uint64x1_t __a, uint64x1_t __b) { \
2452 return __a | __b; }
2453 __ai int8x16_t vorrq_s8(int8x16_t __a, int8x16_t __b) { \
2454 return __a | __b; }
2455 __ai int16x8_t vorrq_s16(int16x8_t __a, int16x8_t __b) { \
2456 return __a | __b; }
2457 __ai int32x4_t vorrq_s32(int32x4_t __a, int32x4_t __b) { \
2458 return __a | __b; }
2459 __ai int64x2_t vorrq_s64(int64x2_t __a, int64x2_t __b) { \
2460 return __a | __b; }
2461 __ai uint8x16_t vorrq_u8(uint8x16_t __a, uint8x16_t __b) { \
2462 return __a | __b; }
2463 __ai uint16x8_t vorrq_u16(uint16x8_t __a, uint16x8_t __b) { \
2464 return __a | __b; }
2465 __ai uint32x4_t vorrq_u32(uint32x4_t __a, uint32x4_t __b) { \
2466 return __a | __b; }
2467 __ai uint64x2_t vorrq_u64(uint64x2_t __a, uint64x2_t __b) { \
2468 return __a | __b; }
2469
2470 __ai int16x4_t vpadal_s8(int16x4_t __a, int8x8_t __b) { \
2471 return (int16x4_t)__builtin_neon_vpadal_v((int8x8_t)__a, __b, 1); }
2472 __ai int32x2_t vpadal_s16(int32x2_t __a, int16x4_t __b) { \
2473 return (int32x2_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 2); }
2474 __ai int64x1_t vpadal_s32(int64x1_t __a, int32x2_t __b) { \
2475 return (int64x1_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 3); }
2476 __ai uint16x4_t vpadal_u8(uint16x4_t __a, uint8x8_t __b) { \
2477 return (uint16x4_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 9); }
2478 __ai uint32x2_t vpadal_u16(uint32x2_t __a, uint16x4_t __b) { \
2479 return (uint32x2_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 10); }
2480 __ai uint64x1_t vpadal_u32(uint64x1_t __a, uint32x2_t __b) { \
2481 return (uint64x1_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 11); }
2482 __ai int16x8_t vpadalq_s8(int16x8_t __a, int8x16_t __b) { \
2483 return (int16x8_t)__builtin_neon_vpadalq_v((int8x16_t)__a, __b, 17); }
2484 __ai int32x4_t vpadalq_s16(int32x4_t __a, int16x8_t __b) { \
2485 return (int32x4_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 18) ; }
2486 __ai int64x2_t vpadalq_s32(int64x2_t __a, int32x4_t __b) { \
2487 return (int64x2_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 19) ; }
2488 __ai uint16x8_t vpadalq_u8(uint16x8_t __a, uint8x16_t __b) { \
2489 return (uint16x8_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 25 ); }
2490 __ai uint32x4_t vpadalq_u16(uint32x4_t __a, uint16x8_t __b) { \
2491 return (uint32x4_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 26 ); }
2492 __ai uint64x2_t vpadalq_u32(uint64x2_t __a, uint32x4_t __b) { \
2493 return (uint64x2_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 27 ); }
2494
2495 __ai int8x8_t vpadd_s8(int8x8_t __a, int8x8_t __b) { \
2496 return (int8x8_t)__builtin_neon_vpadd_v(__a, __b, 0); }
2497 __ai int16x4_t vpadd_s16(int16x4_t __a, int16x4_t __b) { \
2498 return (int16x4_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 1); }
2499 __ai int32x2_t vpadd_s32(int32x2_t __a, int32x2_t __b) { \
2500 return (int32x2_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 2); }
2501 __ai uint8x8_t vpadd_u8(uint8x8_t __a, uint8x8_t __b) { \
2502 return (uint8x8_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 8); }
2503 __ai uint16x4_t vpadd_u16(uint16x4_t __a, uint16x4_t __b) { \
2504 return (uint16x4_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 9); }
2505 __ai uint32x2_t vpadd_u32(uint32x2_t __a, uint32x2_t __b) { \
2506 return (uint32x2_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 10); }
2507 __ai float32x2_t vpadd_f32(float32x2_t __a, float32x2_t __b) { \
2508 return (float32x2_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 4); }
2509
2510 __ai int16x4_t vpaddl_s8(int8x8_t __a) { \
2511 return (int16x4_t)__builtin_neon_vpaddl_v(__a, 1); }
2512 __ai int32x2_t vpaddl_s16(int16x4_t __a) { \
2513 return (int32x2_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 2); }
2514 __ai int64x1_t vpaddl_s32(int32x2_t __a) { \
2515 return (int64x1_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 3); }
2516 __ai uint16x4_t vpaddl_u8(uint8x8_t __a) { \
2517 return (uint16x4_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 9); }
2518 __ai uint32x2_t vpaddl_u16(uint16x4_t __a) { \
2519 return (uint32x2_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 10); }
2520 __ai uint64x1_t vpaddl_u32(uint32x2_t __a) { \
2521 return (uint64x1_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 11); }
2522 __ai int16x8_t vpaddlq_s8(int8x16_t __a) { \
2523 return (int16x8_t)__builtin_neon_vpaddlq_v(__a, 17); }
2524 __ai int32x4_t vpaddlq_s16(int16x8_t __a) { \
2525 return (int32x4_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 18); }
2526 __ai int64x2_t vpaddlq_s32(int32x4_t __a) { \
2527 return (int64x2_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 19); }
2528 __ai uint16x8_t vpaddlq_u8(uint8x16_t __a) { \
2529 return (uint16x8_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 25); }
2530 __ai uint32x4_t vpaddlq_u16(uint16x8_t __a) { \
2531 return (uint32x4_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 26); }
2532 __ai uint64x2_t vpaddlq_u32(uint32x4_t __a) { \
2533 return (uint64x2_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 27); }
2534
2535 __ai int8x8_t vpmax_s8(int8x8_t __a, int8x8_t __b) { \
2536 return (int8x8_t)__builtin_neon_vpmax_v(__a, __b, 0); }
2537 __ai int16x4_t vpmax_s16(int16x4_t __a, int16x4_t __b) { \
2538 return (int16x4_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 1); }
2539 __ai int32x2_t vpmax_s32(int32x2_t __a, int32x2_t __b) { \
2540 return (int32x2_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 2); }
2541 __ai uint8x8_t vpmax_u8(uint8x8_t __a, uint8x8_t __b) { \
2542 return (uint8x8_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 8); }
2543 __ai uint16x4_t vpmax_u16(uint16x4_t __a, uint16x4_t __b) { \
2544 return (uint16x4_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 9); }
2545 __ai uint32x2_t vpmax_u32(uint32x2_t __a, uint32x2_t __b) { \
2546 return (uint32x2_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 10); }
2547 __ai float32x2_t vpmax_f32(float32x2_t __a, float32x2_t __b) { \
2548 return (float32x2_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 4); }
2549
2550 __ai int8x8_t vpmin_s8(int8x8_t __a, int8x8_t __b) { \
2551 return (int8x8_t)__builtin_neon_vpmin_v(__a, __b, 0); }
2552 __ai int16x4_t vpmin_s16(int16x4_t __a, int16x4_t __b) { \
2553 return (int16x4_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 1); }
2554 __ai int32x2_t vpmin_s32(int32x2_t __a, int32x2_t __b) { \
2555 return (int32x2_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 2); }
2556 __ai uint8x8_t vpmin_u8(uint8x8_t __a, uint8x8_t __b) { \
2557 return (uint8x8_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 8); }
2558 __ai uint16x4_t vpmin_u16(uint16x4_t __a, uint16x4_t __b) { \
2559 return (uint16x4_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 9); }
2560 __ai uint32x2_t vpmin_u32(uint32x2_t __a, uint32x2_t __b) { \
2561 return (uint32x2_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 10); }
2562 __ai float32x2_t vpmin_f32(float32x2_t __a, float32x2_t __b) { \
2563 return (float32x2_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 4); }
2564
2565 __ai int8x8_t vqabs_s8(int8x8_t __a) { \
2566 return (int8x8_t)__builtin_neon_vqabs_v(__a, 0); }
2567 __ai int16x4_t vqabs_s16(int16x4_t __a) { \
2568 return (int16x4_t)__builtin_neon_vqabs_v((int8x8_t)__a, 1); }
2569 __ai int32x2_t vqabs_s32(int32x2_t __a) { \
2570 return (int32x2_t)__builtin_neon_vqabs_v((int8x8_t)__a, 2); }
2571 __ai int8x16_t vqabsq_s8(int8x16_t __a) { \
2572 return (int8x16_t)__builtin_neon_vqabsq_v(__a, 16); }
2573 __ai int16x8_t vqabsq_s16(int16x8_t __a) { \
2574 return (int16x8_t)__builtin_neon_vqabsq_v((int8x16_t)__a, 17); }
2575 __ai int32x4_t vqabsq_s32(int32x4_t __a) { \
2576 return (int32x4_t)__builtin_neon_vqabsq_v((int8x16_t)__a, 18); }
2577
2578 __ai int8x8_t vqadd_s8(int8x8_t __a, int8x8_t __b) { \
2579 return (int8x8_t)__builtin_neon_vqadd_v(__a, __b, 0); }
2580 __ai int16x4_t vqadd_s16(int16x4_t __a, int16x4_t __b) { \
2581 return (int16x4_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 1); }
2582 __ai int32x2_t vqadd_s32(int32x2_t __a, int32x2_t __b) { \
2583 return (int32x2_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 2); }
2584 __ai int64x1_t vqadd_s64(int64x1_t __a, int64x1_t __b) { \
2585 return (int64x1_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 3); }
2586 __ai uint8x8_t vqadd_u8(uint8x8_t __a, uint8x8_t __b) { \
2587 return (uint8x8_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 8); }
2588 __ai uint16x4_t vqadd_u16(uint16x4_t __a, uint16x4_t __b) { \
2589 return (uint16x4_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 9); }
2590 __ai uint32x2_t vqadd_u32(uint32x2_t __a, uint32x2_t __b) { \
2591 return (uint32x2_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 10); }
2592 __ai uint64x1_t vqadd_u64(uint64x1_t __a, uint64x1_t __b) { \
2593 return (uint64x1_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 11); }
2594 __ai int8x16_t vqaddq_s8(int8x16_t __a, int8x16_t __b) { \
2595 return (int8x16_t)__builtin_neon_vqaddq_v(__a, __b, 16); }
2596 __ai int16x8_t vqaddq_s16(int16x8_t __a, int16x8_t __b) { \
2597 return (int16x8_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 17); }
2598 __ai int32x4_t vqaddq_s32(int32x4_t __a, int32x4_t __b) { \
2599 return (int32x4_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 18); }
2600 __ai int64x2_t vqaddq_s64(int64x2_t __a, int64x2_t __b) { \
2601 return (int64x2_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 19); }
2602 __ai uint8x16_t vqaddq_u8(uint8x16_t __a, uint8x16_t __b) { \
2603 return (uint8x16_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 24) ; }
2604 __ai uint16x8_t vqaddq_u16(uint16x8_t __a, uint16x8_t __b) { \
2605 return (uint16x8_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 25) ; }
2606 __ai uint32x4_t vqaddq_u32(uint32x4_t __a, uint32x4_t __b) { \
2607 return (uint32x4_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 26) ; }
2608 __ai uint64x2_t vqaddq_u64(uint64x2_t __a, uint64x2_t __b) { \
2609 return (uint64x2_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 27) ; }
2610
2611 __ai int32x4_t vqdmlal_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) { \
2612 return (int32x4_t)__builtin_neon_vqdmlal_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)__c, 18); }
2613 __ai int64x2_t vqdmlal_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) { \
2614 return (int64x2_t)__builtin_neon_vqdmlal_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)__c, 19); }
2615
2616 #define vqdmlal_lane_s16(a, b, c, __d) __extension__ ({ \
2617 int32x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \
2618 vqdmlal_s16(__a, __b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
2619 #define vqdmlal_lane_s32(a, b, c, __d) __extension__ ({ \
2620 int64x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \
2621 vqdmlal_s32(__a, __b, __builtin_shufflevector(__c, __c, __d, __d)); })
2622
2623 __ai int32x4_t vqdmlal_n_s16(int32x4_t __a, int16x4_t __b, int16_t __c) { \
2624 return (int32x4_t)__builtin_neon_vqdmlal_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)(int16x4_t){ __c, __c, __c, __c }, 18); }
2625 __ai int64x2_t vqdmlal_n_s32(int64x2_t __a, int32x2_t __b, int32_t __c) { \
2626 return (int64x2_t)__builtin_neon_vqdmlal_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)(int32x2_t){ __c, __c }, 19); }
2627
2628 __ai int32x4_t vqdmlsl_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) { \
2629 return (int32x4_t)__builtin_neon_vqdmlsl_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)__c, 18); }
2630 __ai int64x2_t vqdmlsl_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) { \
2631 return (int64x2_t)__builtin_neon_vqdmlsl_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)__c, 19); }
2632
2633 #define vqdmlsl_lane_s16(a, b, c, __d) __extension__ ({ \
2634 int32x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \
2635 vqdmlsl_s16(__a, __b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
2636 #define vqdmlsl_lane_s32(a, b, c, __d) __extension__ ({ \
2637 int64x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \
2638 vqdmlsl_s32(__a, __b, __builtin_shufflevector(__c, __c, __d, __d)); })
2639
2640 __ai int32x4_t vqdmlsl_n_s16(int32x4_t __a, int16x4_t __b, int16_t __c) { \
2641 return (int32x4_t)__builtin_neon_vqdmlsl_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)(int16x4_t){ __c, __c, __c, __c }, 18); }
2642 __ai int64x2_t vqdmlsl_n_s32(int64x2_t __a, int32x2_t __b, int32_t __c) { \
2643 return (int64x2_t)__builtin_neon_vqdmlsl_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)(int32x2_t){ __c, __c }, 19); }
2644
2645 __ai int16x4_t vqdmulh_s16(int16x4_t __a, int16x4_t __b) { \
2646 return (int16x4_t)__builtin_neon_vqdmulh_v((int8x8_t)__a, (int8x8_t)__b, 1); }
2647 __ai int32x2_t vqdmulh_s32(int32x2_t __a, int32x2_t __b) { \
2648 return (int32x2_t)__builtin_neon_vqdmulh_v((int8x8_t)__a, (int8x8_t)__b, 2); }
2649 __ai int16x8_t vqdmulhq_s16(int16x8_t __a, int16x8_t __b) { \
2650 return (int16x8_t)__builtin_neon_vqdmulhq_v((int8x16_t)__a, (int8x16_t)__b, 17 ); }
2651 __ai int32x4_t vqdmulhq_s32(int32x4_t __a, int32x4_t __b) { \
2652 return (int32x4_t)__builtin_neon_vqdmulhq_v((int8x16_t)__a, (int8x16_t)__b, 18 ); }
2653
2654 #define vqdmulh_lane_s16(a, b, __c) __extension__ ({ \
2655 int16x4_t __a = (a); int16x4_t __b = (b); \
2656 vqdmulh_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
2657 #define vqdmulh_lane_s32(a, b, __c) __extension__ ({ \
2658 int32x2_t __a = (a); int32x2_t __b = (b); \
2659 vqdmulh_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
2660 #define vqdmulhq_lane_s16(a, b, __c) __extension__ ({ \
2661 int16x8_t __a = (a); int16x4_t __b = (b); \
2662 vqdmulhq_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, _ _c, __c, __c)); })
2663 #define vqdmulhq_lane_s32(a, b, __c) __extension__ ({ \
2664 int32x4_t __a = (a); int32x2_t __b = (b); \
2665 vqdmulhq_s32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
2666
2667 __ai int16x4_t vqdmulh_n_s16(int16x4_t __a, int16_t __b) { \
2668 return (int16x4_t)__builtin_neon_vqdmulh_v((int8x8_t)__a, (int8x8_t)(int16x4_t ){ __b, __b, __b, __b }, 1); }
2669 __ai int32x2_t vqdmulh_n_s32(int32x2_t __a, int32_t __b) { \
2670 return (int32x2_t)__builtin_neon_vqdmulh_v((int8x8_t)__a, (int8x8_t)(int32x2_t ){ __b, __b }, 2); }
2671 __ai int16x8_t vqdmulhq_n_s16(int16x8_t __a, int16_t __b) { \
2672 return (int16x8_t)__builtin_neon_vqdmulhq_v((int8x16_t)__a, (int8x16_t)(int16x 8_t){ __b, __b, __b, __b, __b, __b, __b, __b }, 17); }
2673 __ai int32x4_t vqdmulhq_n_s32(int32x4_t __a, int32_t __b) { \
2674 return (int32x4_t)__builtin_neon_vqdmulhq_v((int8x16_t)__a, (int8x16_t)(int32x 4_t){ __b, __b, __b, __b }, 18); }
2675
2676 __ai int32x4_t vqdmull_s16(int16x4_t __a, int16x4_t __b) { \
2677 return (int32x4_t)__builtin_neon_vqdmull_v((int8x8_t)__a, (int8x8_t)__b, 18); }
2678 __ai int64x2_t vqdmull_s32(int32x2_t __a, int32x2_t __b) { \
2679 return (int64x2_t)__builtin_neon_vqdmull_v((int8x8_t)__a, (int8x8_t)__b, 19); }
2680
2681 #define vqdmull_lane_s16(a, b, __c) __extension__ ({ \
2682 int16x4_t __a = (a); int16x4_t __b = (b); \
2683 vqdmull_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
2684 #define vqdmull_lane_s32(a, b, __c) __extension__ ({ \
2685 int32x2_t __a = (a); int32x2_t __b = (b); \
2686 vqdmull_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
2687
2688 __ai int32x4_t vqdmull_n_s16(int16x4_t __a, int16_t __b) { \
2689 return (int32x4_t)__builtin_neon_vqdmull_v((int8x8_t)__a, (int8x8_t)(int16x4_t ){ __b, __b, __b, __b }, 18); }
2690 __ai int64x2_t vqdmull_n_s32(int32x2_t __a, int32_t __b) { \
2691 return (int64x2_t)__builtin_neon_vqdmull_v((int8x8_t)__a, (int8x8_t)(int32x2_t ){ __b, __b }, 19); }
2692
2693 __ai int8x8_t vqmovn_s16(int16x8_t __a) { \
2694 return (int8x8_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 0); }
2695 __ai int16x4_t vqmovn_s32(int32x4_t __a) { \
2696 return (int16x4_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 1); }
2697 __ai int32x2_t vqmovn_s64(int64x2_t __a) { \
2698 return (int32x2_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 2); }
2699 __ai uint8x8_t vqmovn_u16(uint16x8_t __a) { \
2700 return (uint8x8_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 8); }
2701 __ai uint16x4_t vqmovn_u32(uint32x4_t __a) { \
2702 return (uint16x4_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 9); }
2703 __ai uint32x2_t vqmovn_u64(uint64x2_t __a) { \
2704 return (uint32x2_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 10); }
2705
2706 __ai uint8x8_t vqmovun_s16(int16x8_t __a) { \
2707 return (uint8x8_t)__builtin_neon_vqmovun_v((int8x16_t)__a, 8); }
2708 __ai uint16x4_t vqmovun_s32(int32x4_t __a) { \
2709 return (uint16x4_t)__builtin_neon_vqmovun_v((int8x16_t)__a, 9); }
2710 __ai uint32x2_t vqmovun_s64(int64x2_t __a) { \
2711 return (uint32x2_t)__builtin_neon_vqmovun_v((int8x16_t)__a, 10); }
2712
2713 __ai int8x8_t vqneg_s8(int8x8_t __a) { \
2714 return (int8x8_t)__builtin_neon_vqneg_v(__a, 0); }
2715 __ai int16x4_t vqneg_s16(int16x4_t __a) { \
2716 return (int16x4_t)__builtin_neon_vqneg_v((int8x8_t)__a, 1); }
2717 __ai int32x2_t vqneg_s32(int32x2_t __a) { \
2718 return (int32x2_t)__builtin_neon_vqneg_v((int8x8_t)__a, 2); }
2719 __ai int8x16_t vqnegq_s8(int8x16_t __a) { \
2720 return (int8x16_t)__builtin_neon_vqnegq_v(__a, 16); }
2721 __ai int16x8_t vqnegq_s16(int16x8_t __a) { \
2722 return (int16x8_t)__builtin_neon_vqnegq_v((int8x16_t)__a, 17); }
2723 __ai int32x4_t vqnegq_s32(int32x4_t __a) { \
2724 return (int32x4_t)__builtin_neon_vqnegq_v((int8x16_t)__a, 18); }
2725
2726 __ai int16x4_t vqrdmulh_s16(int16x4_t __a, int16x4_t __b) { \
2727 return (int16x4_t)__builtin_neon_vqrdmulh_v((int8x8_t)__a, (int8x8_t)__b, 1); }
2728 __ai int32x2_t vqrdmulh_s32(int32x2_t __a, int32x2_t __b) { \
2729 return (int32x2_t)__builtin_neon_vqrdmulh_v((int8x8_t)__a, (int8x8_t)__b, 2); }
2730 __ai int16x8_t vqrdmulhq_s16(int16x8_t __a, int16x8_t __b) { \
2731 return (int16x8_t)__builtin_neon_vqrdmulhq_v((int8x16_t)__a, (int8x16_t)__b, 1 7); }
2732 __ai int32x4_t vqrdmulhq_s32(int32x4_t __a, int32x4_t __b) { \
2733 return (int32x4_t)__builtin_neon_vqrdmulhq_v((int8x16_t)__a, (int8x16_t)__b, 1 8); }
2734
2735 #define vqrdmulh_lane_s16(a, b, __c) __extension__ ({ \
2736 int16x4_t __a = (a); int16x4_t __b = (b); \
2737 vqrdmulh_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
2738 #define vqrdmulh_lane_s32(a, b, __c) __extension__ ({ \
2739 int32x2_t __a = (a); int32x2_t __b = (b); \
2740 vqrdmulh_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
2741 #define vqrdmulhq_lane_s16(a, b, __c) __extension__ ({ \
2742 int16x8_t __a = (a); int16x4_t __b = (b); \
2743 vqrdmulhq_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, __c, __c, __c)); })
2744 #define vqrdmulhq_lane_s32(a, b, __c) __extension__ ({ \
2745 int32x4_t __a = (a); int32x2_t __b = (b); \
2746 vqrdmulhq_s32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
2747
2748 __ai int16x4_t vqrdmulh_n_s16(int16x4_t __a, int16_t __b) { \
2749 return (int16x4_t)__builtin_neon_vqrdmulh_v((int8x8_t)__a, (int8x8_t)(int16x4_ t){ __b, __b, __b, __b }, 1); }
2750 __ai int32x2_t vqrdmulh_n_s32(int32x2_t __a, int32_t __b) { \
2751 return (int32x2_t)__builtin_neon_vqrdmulh_v((int8x8_t)__a, (int8x8_t)(int32x2_ t){ __b, __b }, 2); }
2752 __ai int16x8_t vqrdmulhq_n_s16(int16x8_t __a, int16_t __b) { \
2753 return (int16x8_t)__builtin_neon_vqrdmulhq_v((int8x16_t)__a, (int8x16_t)(int16 x8_t){ __b, __b, __b, __b, __b, __b, __b, __b }, 17); }
2754 __ai int32x4_t vqrdmulhq_n_s32(int32x4_t __a, int32_t __b) { \
2755 return (int32x4_t)__builtin_neon_vqrdmulhq_v((int8x16_t)__a, (int8x16_t)(int32 x4_t){ __b, __b, __b, __b }, 18); }
2756
2757 __ai int8x8_t vqrshl_s8(int8x8_t __a, int8x8_t __b) { \
2758 return (int8x8_t)__builtin_neon_vqrshl_v(__a, __b, 0); }
2759 __ai int16x4_t vqrshl_s16(int16x4_t __a, int16x4_t __b) { \
2760 return (int16x4_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 1); }
2761 __ai int32x2_t vqrshl_s32(int32x2_t __a, int32x2_t __b) { \
2762 return (int32x2_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 2); }
2763 __ai int64x1_t vqrshl_s64(int64x1_t __a, int64x1_t __b) { \
2764 return (int64x1_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 3); }
2765 __ai uint8x8_t vqrshl_u8(uint8x8_t __a, int8x8_t __b) { \
2766 return (uint8x8_t)__builtin_neon_vqrshl_v((int8x8_t)__a, __b, 8); }
2767 __ai uint16x4_t vqrshl_u16(uint16x4_t __a, int16x4_t __b) { \
2768 return (uint16x4_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 9); }
2769 __ai uint32x2_t vqrshl_u32(uint32x2_t __a, int32x2_t __b) { \
2770 return (uint32x2_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 10); }
2771 __ai uint64x1_t vqrshl_u64(uint64x1_t __a, int64x1_t __b) { \
2772 return (uint64x1_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 11); }
2773 __ai int8x16_t vqrshlq_s8(int8x16_t __a, int8x16_t __b) { \
2774 return (int8x16_t)__builtin_neon_vqrshlq_v(__a, __b, 16); }
2775 __ai int16x8_t vqrshlq_s16(int16x8_t __a, int16x8_t __b) { \
2776 return (int16x8_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 17) ; }
2777 __ai int32x4_t vqrshlq_s32(int32x4_t __a, int32x4_t __b) { \
2778 return (int32x4_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 18) ; }
2779 __ai int64x2_t vqrshlq_s64(int64x2_t __a, int64x2_t __b) { \
2780 return (int64x2_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 19) ; }
2781 __ai uint8x16_t vqrshlq_u8(uint8x16_t __a, int8x16_t __b) { \
2782 return (uint8x16_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, __b, 24); }
2783 __ai uint16x8_t vqrshlq_u16(uint16x8_t __a, int16x8_t __b) { \
2784 return (uint16x8_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 25 ); }
2785 __ai uint32x4_t vqrshlq_u32(uint32x4_t __a, int32x4_t __b) { \
2786 return (uint32x4_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 26 ); }
2787 __ai uint64x2_t vqrshlq_u64(uint64x2_t __a, int64x2_t __b) { \
2788 return (uint64x2_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 27 ); }
2789
2790 #define vqrshrn_n_s16(a, __b) __extension__ ({ \
2791 int16x8_t __a = (a); \
2792 (int8x8_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 0); })
2793 #define vqrshrn_n_s32(a, __b) __extension__ ({ \
2794 int32x4_t __a = (a); \
2795 (int16x4_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 1); })
2796 #define vqrshrn_n_s64(a, __b) __extension__ ({ \
2797 int64x2_t __a = (a); \
2798 (int32x2_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 2); })
2799 #define vqrshrn_n_u16(a, __b) __extension__ ({ \
2800 uint16x8_t __a = (a); \
2801 (uint8x8_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 8); })
2802 #define vqrshrn_n_u32(a, __b) __extension__ ({ \
2803 uint32x4_t __a = (a); \
2804 (uint16x4_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 9); })
2805 #define vqrshrn_n_u64(a, __b) __extension__ ({ \
2806 uint64x2_t __a = (a); \
2807 (uint32x2_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 10); })
2808
2809 #define vqrshrun_n_s16(a, __b) __extension__ ({ \
2810 int16x8_t __a = (a); \
2811 (uint8x8_t)__builtin_neon_vqrshrun_n_v((int8x16_t)__a, __b, 8); })
2812 #define vqrshrun_n_s32(a, __b) __extension__ ({ \
2813 int32x4_t __a = (a); \
2814 (uint16x4_t)__builtin_neon_vqrshrun_n_v((int8x16_t)__a, __b, 9); })
2815 #define vqrshrun_n_s64(a, __b) __extension__ ({ \
2816 int64x2_t __a = (a); \
2817 (uint32x2_t)__builtin_neon_vqrshrun_n_v((int8x16_t)__a, __b, 10); })
2818
2819 __ai int8x8_t vqshl_s8(int8x8_t __a, int8x8_t __b) { \
2820 return (int8x8_t)__builtin_neon_vqshl_v(__a, __b, 0); }
2821 __ai int16x4_t vqshl_s16(int16x4_t __a, int16x4_t __b) { \
2822 return (int16x4_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 1); }
2823 __ai int32x2_t vqshl_s32(int32x2_t __a, int32x2_t __b) { \
2824 return (int32x2_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 2); }
2825 __ai int64x1_t vqshl_s64(int64x1_t __a, int64x1_t __b) { \
2826 return (int64x1_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 3); }
2827 __ai uint8x8_t vqshl_u8(uint8x8_t __a, int8x8_t __b) { \
2828 return (uint8x8_t)__builtin_neon_vqshl_v((int8x8_t)__a, __b, 8); }
2829 __ai uint16x4_t vqshl_u16(uint16x4_t __a, int16x4_t __b) { \
2830 return (uint16x4_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 9); }
2831 __ai uint32x2_t vqshl_u32(uint32x2_t __a, int32x2_t __b) { \
2832 return (uint32x2_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 10); }
2833 __ai uint64x1_t vqshl_u64(uint64x1_t __a, int64x1_t __b) { \
2834 return (uint64x1_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 11); }
2835 __ai int8x16_t vqshlq_s8(int8x16_t __a, int8x16_t __b) { \
2836 return (int8x16_t)__builtin_neon_vqshlq_v(__a, __b, 16); }
2837 __ai int16x8_t vqshlq_s16(int16x8_t __a, int16x8_t __b) { \
2838 return (int16x8_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 17); }
2839 __ai int32x4_t vqshlq_s32(int32x4_t __a, int32x4_t __b) { \
2840 return (int32x4_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 18); }
2841 __ai int64x2_t vqshlq_s64(int64x2_t __a, int64x2_t __b) { \
2842 return (int64x2_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 19); }
2843 __ai uint8x16_t vqshlq_u8(uint8x16_t __a, int8x16_t __b) { \
2844 return (uint8x16_t)__builtin_neon_vqshlq_v((int8x16_t)__a, __b, 24); }
2845 __ai uint16x8_t vqshlq_u16(uint16x8_t __a, int16x8_t __b) { \
2846 return (uint16x8_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 25) ; }
2847 __ai uint32x4_t vqshlq_u32(uint32x4_t __a, int32x4_t __b) { \
2848 return (uint32x4_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 26) ; }
2849 __ai uint64x2_t vqshlq_u64(uint64x2_t __a, int64x2_t __b) { \
2850 return (uint64x2_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 27) ; }
2851
2852 #define vqshlu_n_s8(a, __b) __extension__ ({ \
2853 int8x8_t __a = (a); \
2854 (uint8x8_t)__builtin_neon_vqshlu_n_v(__a, __b, 8); })
2855 #define vqshlu_n_s16(a, __b) __extension__ ({ \
2856 int16x4_t __a = (a); \
2857 (uint16x4_t)__builtin_neon_vqshlu_n_v((int8x8_t)__a, __b, 9); })
2858 #define vqshlu_n_s32(a, __b) __extension__ ({ \
2859 int32x2_t __a = (a); \
2860 (uint32x2_t)__builtin_neon_vqshlu_n_v((int8x8_t)__a, __b, 10); })
2861 #define vqshlu_n_s64(a, __b) __extension__ ({ \
2862 int64x1_t __a = (a); \
2863 (uint64x1_t)__builtin_neon_vqshlu_n_v((int8x8_t)__a, __b, 11); })
2864 #define vqshluq_n_s8(a, __b) __extension__ ({ \
2865 int8x16_t __a = (a); \
2866 (uint8x16_t)__builtin_neon_vqshluq_n_v(__a, __b, 24); })
2867 #define vqshluq_n_s16(a, __b) __extension__ ({ \
2868 int16x8_t __a = (a); \
2869 (uint16x8_t)__builtin_neon_vqshluq_n_v((int8x16_t)__a, __b, 25); })
2870 #define vqshluq_n_s32(a, __b) __extension__ ({ \
2871 int32x4_t __a = (a); \
2872 (uint32x4_t)__builtin_neon_vqshluq_n_v((int8x16_t)__a, __b, 26); })
2873 #define vqshluq_n_s64(a, __b) __extension__ ({ \
2874 int64x2_t __a = (a); \
2875 (uint64x2_t)__builtin_neon_vqshluq_n_v((int8x16_t)__a, __b, 27); })
2876
2877 #define vqshl_n_s8(a, __b) __extension__ ({ \
2878 int8x8_t __a = (a); \
2879 (int8x8_t)__builtin_neon_vqshl_n_v(__a, __b, 0); })
2880 #define vqshl_n_s16(a, __b) __extension__ ({ \
2881 int16x4_t __a = (a); \
2882 (int16x4_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 1); })
2883 #define vqshl_n_s32(a, __b) __extension__ ({ \
2884 int32x2_t __a = (a); \
2885 (int32x2_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 2); })
2886 #define vqshl_n_s64(a, __b) __extension__ ({ \
2887 int64x1_t __a = (a); \
2888 (int64x1_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 3); })
2889 #define vqshl_n_u8(a, __b) __extension__ ({ \
2890 uint8x8_t __a = (a); \
2891 (uint8x8_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 8); })
2892 #define vqshl_n_u16(a, __b) __extension__ ({ \
2893 uint16x4_t __a = (a); \
2894 (uint16x4_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 9); })
2895 #define vqshl_n_u32(a, __b) __extension__ ({ \
2896 uint32x2_t __a = (a); \
2897 (uint32x2_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 10); })
2898 #define vqshl_n_u64(a, __b) __extension__ ({ \
2899 uint64x1_t __a = (a); \
2900 (uint64x1_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 11); })
2901 #define vqshlq_n_s8(a, __b) __extension__ ({ \
2902 int8x16_t __a = (a); \
2903 (int8x16_t)__builtin_neon_vqshlq_n_v(__a, __b, 16); })
2904 #define vqshlq_n_s16(a, __b) __extension__ ({ \
2905 int16x8_t __a = (a); \
2906 (int16x8_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 17); })
2907 #define vqshlq_n_s32(a, __b) __extension__ ({ \
2908 int32x4_t __a = (a); \
2909 (int32x4_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 18); })
2910 #define vqshlq_n_s64(a, __b) __extension__ ({ \
2911 int64x2_t __a = (a); \
2912 (int64x2_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 19); })
2913 #define vqshlq_n_u8(a, __b) __extension__ ({ \
2914 uint8x16_t __a = (a); \
2915 (uint8x16_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 24); })
2916 #define vqshlq_n_u16(a, __b) __extension__ ({ \
2917 uint16x8_t __a = (a); \
2918 (uint16x8_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 25); })
2919 #define vqshlq_n_u32(a, __b) __extension__ ({ \
2920 uint32x4_t __a = (a); \
2921 (uint32x4_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 26); })
2922 #define vqshlq_n_u64(a, __b) __extension__ ({ \
2923 uint64x2_t __a = (a); \
2924 (uint64x2_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 27); })
2925
2926 #define vqshrn_n_s16(a, __b) __extension__ ({ \
2927 int16x8_t __a = (a); \
2928 (int8x8_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 0); })
2929 #define vqshrn_n_s32(a, __b) __extension__ ({ \
2930 int32x4_t __a = (a); \
2931 (int16x4_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 1); })
2932 #define vqshrn_n_s64(a, __b) __extension__ ({ \
2933 int64x2_t __a = (a); \
2934 (int32x2_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 2); })
2935 #define vqshrn_n_u16(a, __b) __extension__ ({ \
2936 uint16x8_t __a = (a); \
2937 (uint8x8_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 8); })
2938 #define vqshrn_n_u32(a, __b) __extension__ ({ \
2939 uint32x4_t __a = (a); \
2940 (uint16x4_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 9); })
2941 #define vqshrn_n_u64(a, __b) __extension__ ({ \
2942 uint64x2_t __a = (a); \
2943 (uint32x2_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 10); })
2944
2945 #define vqshrun_n_s16(a, __b) __extension__ ({ \
2946 int16x8_t __a = (a); \
2947 (uint8x8_t)__builtin_neon_vqshrun_n_v((int8x16_t)__a, __b, 8); })
2948 #define vqshrun_n_s32(a, __b) __extension__ ({ \
2949 int32x4_t __a = (a); \
2950 (uint16x4_t)__builtin_neon_vqshrun_n_v((int8x16_t)__a, __b, 9); })
2951 #define vqshrun_n_s64(a, __b) __extension__ ({ \
2952 int64x2_t __a = (a); \
2953 (uint32x2_t)__builtin_neon_vqshrun_n_v((int8x16_t)__a, __b, 10); })
2954
2955 __ai int8x8_t vqsub_s8(int8x8_t __a, int8x8_t __b) { \
2956 return (int8x8_t)__builtin_neon_vqsub_v(__a, __b, 0); }
2957 __ai int16x4_t vqsub_s16(int16x4_t __a, int16x4_t __b) { \
2958 return (int16x4_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 1); }
2959 __ai int32x2_t vqsub_s32(int32x2_t __a, int32x2_t __b) { \
2960 return (int32x2_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 2); }
2961 __ai int64x1_t vqsub_s64(int64x1_t __a, int64x1_t __b) { \
2962 return (int64x1_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 3); }
2963 __ai uint8x8_t vqsub_u8(uint8x8_t __a, uint8x8_t __b) { \
2964 return (uint8x8_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 8); }
2965 __ai uint16x4_t vqsub_u16(uint16x4_t __a, uint16x4_t __b) { \
2966 return (uint16x4_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 9); }
2967 __ai uint32x2_t vqsub_u32(uint32x2_t __a, uint32x2_t __b) { \
2968 return (uint32x2_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 10); }
2969 __ai uint64x1_t vqsub_u64(uint64x1_t __a, uint64x1_t __b) { \
2970 return (uint64x1_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 11); }
2971 __ai int8x16_t vqsubq_s8(int8x16_t __a, int8x16_t __b) { \
2972 return (int8x16_t)__builtin_neon_vqsubq_v(__a, __b, 16); }
2973 __ai int16x8_t vqsubq_s16(int16x8_t __a, int16x8_t __b) { \
2974 return (int16x8_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 17); }
2975 __ai int32x4_t vqsubq_s32(int32x4_t __a, int32x4_t __b) { \
2976 return (int32x4_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 18); }
2977 __ai int64x2_t vqsubq_s64(int64x2_t __a, int64x2_t __b) { \
2978 return (int64x2_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 19); }
2979 __ai uint8x16_t vqsubq_u8(uint8x16_t __a, uint8x16_t __b) { \
2980 return (uint8x16_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 24) ; }
2981 __ai uint16x8_t vqsubq_u16(uint16x8_t __a, uint16x8_t __b) { \
2982 return (uint16x8_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 25) ; }
2983 __ai uint32x4_t vqsubq_u32(uint32x4_t __a, uint32x4_t __b) { \
2984 return (uint32x4_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 26) ; }
2985 __ai uint64x2_t vqsubq_u64(uint64x2_t __a, uint64x2_t __b) { \
2986 return (uint64x2_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 27) ; }
2987
2988 __ai int8x8_t vraddhn_s16(int16x8_t __a, int16x8_t __b) { \
2989 return (int8x8_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 0); }
2990 __ai int16x4_t vraddhn_s32(int32x4_t __a, int32x4_t __b) { \
2991 return (int16x4_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 1); }
2992 __ai int32x2_t vraddhn_s64(int64x2_t __a, int64x2_t __b) { \
2993 return (int32x2_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 2); }
2994 __ai uint8x8_t vraddhn_u16(uint16x8_t __a, uint16x8_t __b) { \
2995 return (uint8x8_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 8); }
2996 __ai uint16x4_t vraddhn_u32(uint32x4_t __a, uint32x4_t __b) { \
2997 return (uint16x4_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 9) ; }
2998 __ai uint32x2_t vraddhn_u64(uint64x2_t __a, uint64x2_t __b) { \
2999 return (uint32x2_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 10 ); }
3000
3001 __ai float32x2_t vrecpe_f32(float32x2_t __a) { \
3002 return (float32x2_t)__builtin_neon_vrecpe_v((int8x8_t)__a, 4); }
3003 __ai uint32x2_t vrecpe_u32(uint32x2_t __a) { \
3004 return (uint32x2_t)__builtin_neon_vrecpe_v((int8x8_t)__a, 10); }
3005 __ai float32x4_t vrecpeq_f32(float32x4_t __a) { \
3006 return (float32x4_t)__builtin_neon_vrecpeq_v((int8x16_t)__a, 20); }
3007 __ai uint32x4_t vrecpeq_u32(uint32x4_t __a) { \
3008 return (uint32x4_t)__builtin_neon_vrecpeq_v((int8x16_t)__a, 26); }
3009
3010 __ai float32x2_t vrecps_f32(float32x2_t __a, float32x2_t __b) { \
3011 return (float32x2_t)__builtin_neon_vrecps_v((int8x8_t)__a, (int8x8_t)__b, 4); }
3012 __ai float32x4_t vrecpsq_f32(float32x4_t __a, float32x4_t __b) { \
3013 return (float32x4_t)__builtin_neon_vrecpsq_v((int8x16_t)__a, (int8x16_t)__b, 2 0); }
3014
3015 __ai int8x8_t vreinterpret_s8_s16(int16x4_t __a) { \
3016 return (int8x8_t)__a; }
3017 __ai int8x8_t vreinterpret_s8_s32(int32x2_t __a) { \
3018 return (int8x8_t)__a; }
3019 __ai int8x8_t vreinterpret_s8_s64(int64x1_t __a) { \
3020 return (int8x8_t)__a; }
3021 __ai int8x8_t vreinterpret_s8_u8(uint8x8_t __a) { \
3022 return (int8x8_t)__a; }
3023 __ai int8x8_t vreinterpret_s8_u16(uint16x4_t __a) { \
3024 return (int8x8_t)__a; }
3025 __ai int8x8_t vreinterpret_s8_u32(uint32x2_t __a) { \
3026 return (int8x8_t)__a; }
3027 __ai int8x8_t vreinterpret_s8_u64(uint64x1_t __a) { \
3028 return (int8x8_t)__a; }
3029 __ai int8x8_t vreinterpret_s8_f16(float16x4_t __a) { \
3030 return (int8x8_t)__a; }
3031 __ai int8x8_t vreinterpret_s8_f32(float32x2_t __a) { \
3032 return (int8x8_t)__a; }
3033 __ai int8x8_t vreinterpret_s8_p8(poly8x8_t __a) { \
3034 return (int8x8_t)__a; }
3035 __ai int8x8_t vreinterpret_s8_p16(poly16x4_t __a) { \
3036 return (int8x8_t)__a; }
3037 __ai int16x4_t vreinterpret_s16_s8(int8x8_t __a) { \
3038 return (int16x4_t)__a; }
3039 __ai int16x4_t vreinterpret_s16_s32(int32x2_t __a) { \
3040 return (int16x4_t)__a; }
3041 __ai int16x4_t vreinterpret_s16_s64(int64x1_t __a) { \
3042 return (int16x4_t)__a; }
3043 __ai int16x4_t vreinterpret_s16_u8(uint8x8_t __a) { \
3044 return (int16x4_t)__a; }
3045 __ai int16x4_t vreinterpret_s16_u16(uint16x4_t __a) { \
3046 return (int16x4_t)__a; }
3047 __ai int16x4_t vreinterpret_s16_u32(uint32x2_t __a) { \
3048 return (int16x4_t)__a; }
3049 __ai int16x4_t vreinterpret_s16_u64(uint64x1_t __a) { \
3050 return (int16x4_t)__a; }
3051 __ai int16x4_t vreinterpret_s16_f16(float16x4_t __a) { \
3052 return (int16x4_t)__a; }
3053 __ai int16x4_t vreinterpret_s16_f32(float32x2_t __a) { \
3054 return (int16x4_t)__a; }
3055 __ai int16x4_t vreinterpret_s16_p8(poly8x8_t __a) { \
3056 return (int16x4_t)__a; }
3057 __ai int16x4_t vreinterpret_s16_p16(poly16x4_t __a) { \
3058 return (int16x4_t)__a; }
3059 __ai int32x2_t vreinterpret_s32_s8(int8x8_t __a) { \
3060 return (int32x2_t)__a; }
3061 __ai int32x2_t vreinterpret_s32_s16(int16x4_t __a) { \
3062 return (int32x2_t)__a; }
3063 __ai int32x2_t vreinterpret_s32_s64(int64x1_t __a) { \
3064 return (int32x2_t)__a; }
3065 __ai int32x2_t vreinterpret_s32_u8(uint8x8_t __a) { \
3066 return (int32x2_t)__a; }
3067 __ai int32x2_t vreinterpret_s32_u16(uint16x4_t __a) { \
3068 return (int32x2_t)__a; }
3069 __ai int32x2_t vreinterpret_s32_u32(uint32x2_t __a) { \
3070 return (int32x2_t)__a; }
3071 __ai int32x2_t vreinterpret_s32_u64(uint64x1_t __a) { \
3072 return (int32x2_t)__a; }
3073 __ai int32x2_t vreinterpret_s32_f16(float16x4_t __a) { \
3074 return (int32x2_t)__a; }
3075 __ai int32x2_t vreinterpret_s32_f32(float32x2_t __a) { \
3076 return (int32x2_t)__a; }
3077 __ai int32x2_t vreinterpret_s32_p8(poly8x8_t __a) { \
3078 return (int32x2_t)__a; }
3079 __ai int32x2_t vreinterpret_s32_p16(poly16x4_t __a) { \
3080 return (int32x2_t)__a; }
3081 __ai int64x1_t vreinterpret_s64_s8(int8x8_t __a) { \
3082 return (int64x1_t)__a; }
3083 __ai int64x1_t vreinterpret_s64_s16(int16x4_t __a) { \
3084 return (int64x1_t)__a; }
3085 __ai int64x1_t vreinterpret_s64_s32(int32x2_t __a) { \
3086 return (int64x1_t)__a; }
3087 __ai int64x1_t vreinterpret_s64_u8(uint8x8_t __a) { \
3088 return (int64x1_t)__a; }
3089 __ai int64x1_t vreinterpret_s64_u16(uint16x4_t __a) { \
3090 return (int64x1_t)__a; }
3091 __ai int64x1_t vreinterpret_s64_u32(uint32x2_t __a) { \
3092 return (int64x1_t)__a; }
3093 __ai int64x1_t vreinterpret_s64_u64(uint64x1_t __a) { \
3094 return (int64x1_t)__a; }
3095 __ai int64x1_t vreinterpret_s64_f16(float16x4_t __a) { \
3096 return (int64x1_t)__a; }
3097 __ai int64x1_t vreinterpret_s64_f32(float32x2_t __a) { \
3098 return (int64x1_t)__a; }
3099 __ai int64x1_t vreinterpret_s64_p8(poly8x8_t __a) { \
3100 return (int64x1_t)__a; }
3101 __ai int64x1_t vreinterpret_s64_p16(poly16x4_t __a) { \
3102 return (int64x1_t)__a; }
3103 __ai uint8x8_t vreinterpret_u8_s8(int8x8_t __a) { \
3104 return (uint8x8_t)__a; }
3105 __ai uint8x8_t vreinterpret_u8_s16(int16x4_t __a) { \
3106 return (uint8x8_t)__a; }
3107 __ai uint8x8_t vreinterpret_u8_s32(int32x2_t __a) { \
3108 return (uint8x8_t)__a; }
3109 __ai uint8x8_t vreinterpret_u8_s64(int64x1_t __a) { \
3110 return (uint8x8_t)__a; }
3111 __ai uint8x8_t vreinterpret_u8_u16(uint16x4_t __a) { \
3112 return (uint8x8_t)__a; }
3113 __ai uint8x8_t vreinterpret_u8_u32(uint32x2_t __a) { \
3114 return (uint8x8_t)__a; }
3115 __ai uint8x8_t vreinterpret_u8_u64(uint64x1_t __a) { \
3116 return (uint8x8_t)__a; }
3117 __ai uint8x8_t vreinterpret_u8_f16(float16x4_t __a) { \
3118 return (uint8x8_t)__a; }
3119 __ai uint8x8_t vreinterpret_u8_f32(float32x2_t __a) { \
3120 return (uint8x8_t)__a; }
3121 __ai uint8x8_t vreinterpret_u8_p8(poly8x8_t __a) { \
3122 return (uint8x8_t)__a; }
3123 __ai uint8x8_t vreinterpret_u8_p16(poly16x4_t __a) { \
3124 return (uint8x8_t)__a; }
3125 __ai uint16x4_t vreinterpret_u16_s8(int8x8_t __a) { \
3126 return (uint16x4_t)__a; }
3127 __ai uint16x4_t vreinterpret_u16_s16(int16x4_t __a) { \
3128 return (uint16x4_t)__a; }
3129 __ai uint16x4_t vreinterpret_u16_s32(int32x2_t __a) { \
3130 return (uint16x4_t)__a; }
3131 __ai uint16x4_t vreinterpret_u16_s64(int64x1_t __a) { \
3132 return (uint16x4_t)__a; }
3133 __ai uint16x4_t vreinterpret_u16_u8(uint8x8_t __a) { \
3134 return (uint16x4_t)__a; }
3135 __ai uint16x4_t vreinterpret_u16_u32(uint32x2_t __a) { \
3136 return (uint16x4_t)__a; }
3137 __ai uint16x4_t vreinterpret_u16_u64(uint64x1_t __a) { \
3138 return (uint16x4_t)__a; }
3139 __ai uint16x4_t vreinterpret_u16_f16(float16x4_t __a) { \
3140 return (uint16x4_t)__a; }
3141 __ai uint16x4_t vreinterpret_u16_f32(float32x2_t __a) { \
3142 return (uint16x4_t)__a; }
3143 __ai uint16x4_t vreinterpret_u16_p8(poly8x8_t __a) { \
3144 return (uint16x4_t)__a; }
3145 __ai uint16x4_t vreinterpret_u16_p16(poly16x4_t __a) { \
3146 return (uint16x4_t)__a; }
3147 __ai uint32x2_t vreinterpret_u32_s8(int8x8_t __a) { \
3148 return (uint32x2_t)__a; }
3149 __ai uint32x2_t vreinterpret_u32_s16(int16x4_t __a) { \
3150 return (uint32x2_t)__a; }
3151 __ai uint32x2_t vreinterpret_u32_s32(int32x2_t __a) { \
3152 return (uint32x2_t)__a; }
3153 __ai uint32x2_t vreinterpret_u32_s64(int64x1_t __a) { \
3154 return (uint32x2_t)__a; }
3155 __ai uint32x2_t vreinterpret_u32_u8(uint8x8_t __a) { \
3156 return (uint32x2_t)__a; }
3157 __ai uint32x2_t vreinterpret_u32_u16(uint16x4_t __a) { \
3158 return (uint32x2_t)__a; }
3159 __ai uint32x2_t vreinterpret_u32_u64(uint64x1_t __a) { \
3160 return (uint32x2_t)__a; }
3161 __ai uint32x2_t vreinterpret_u32_f16(float16x4_t __a) { \
3162 return (uint32x2_t)__a; }
3163 __ai uint32x2_t vreinterpret_u32_f32(float32x2_t __a) { \
3164 return (uint32x2_t)__a; }
3165 __ai uint32x2_t vreinterpret_u32_p8(poly8x8_t __a) { \
3166 return (uint32x2_t)__a; }
3167 __ai uint32x2_t vreinterpret_u32_p16(poly16x4_t __a) { \
3168 return (uint32x2_t)__a; }
3169 __ai uint64x1_t vreinterpret_u64_s8(int8x8_t __a) { \
3170 return (uint64x1_t)__a; }
3171 __ai uint64x1_t vreinterpret_u64_s16(int16x4_t __a) { \
3172 return (uint64x1_t)__a; }
3173 __ai uint64x1_t vreinterpret_u64_s32(int32x2_t __a) { \
3174 return (uint64x1_t)__a; }
3175 __ai uint64x1_t vreinterpret_u64_s64(int64x1_t __a) { \
3176 return (uint64x1_t)__a; }
3177 __ai uint64x1_t vreinterpret_u64_u8(uint8x8_t __a) { \
3178 return (uint64x1_t)__a; }
3179 __ai uint64x1_t vreinterpret_u64_u16(uint16x4_t __a) { \
3180 return (uint64x1_t)__a; }
3181 __ai uint64x1_t vreinterpret_u64_u32(uint32x2_t __a) { \
3182 return (uint64x1_t)__a; }
3183 __ai uint64x1_t vreinterpret_u64_f16(float16x4_t __a) { \
3184 return (uint64x1_t)__a; }
3185 __ai uint64x1_t vreinterpret_u64_f32(float32x2_t __a) { \
3186 return (uint64x1_t)__a; }
3187 __ai uint64x1_t vreinterpret_u64_p8(poly8x8_t __a) { \
3188 return (uint64x1_t)__a; }
3189 __ai uint64x1_t vreinterpret_u64_p16(poly16x4_t __a) { \
3190 return (uint64x1_t)__a; }
3191 __ai float16x4_t vreinterpret_f16_s8(int8x8_t __a) { \
3192 return (float16x4_t)__a; }
3193 __ai float16x4_t vreinterpret_f16_s16(int16x4_t __a) { \
3194 return (float16x4_t)__a; }
3195 __ai float16x4_t vreinterpret_f16_s32(int32x2_t __a) { \
3196 return (float16x4_t)__a; }
3197 __ai float16x4_t vreinterpret_f16_s64(int64x1_t __a) { \
3198 return (float16x4_t)__a; }
3199 __ai float16x4_t vreinterpret_f16_u8(uint8x8_t __a) { \
3200 return (float16x4_t)__a; }
3201 __ai float16x4_t vreinterpret_f16_u16(uint16x4_t __a) { \
3202 return (float16x4_t)__a; }
3203 __ai float16x4_t vreinterpret_f16_u32(uint32x2_t __a) { \
3204 return (float16x4_t)__a; }
3205 __ai float16x4_t vreinterpret_f16_u64(uint64x1_t __a) { \
3206 return (float16x4_t)__a; }
3207 __ai float16x4_t vreinterpret_f16_f32(float32x2_t __a) { \
3208 return (float16x4_t)__a; }
3209 __ai float16x4_t vreinterpret_f16_p8(poly8x8_t __a) { \
3210 return (float16x4_t)__a; }
3211 __ai float16x4_t vreinterpret_f16_p16(poly16x4_t __a) { \
3212 return (float16x4_t)__a; }
3213 __ai float32x2_t vreinterpret_f32_s8(int8x8_t __a) { \
3214 return (float32x2_t)__a; }
3215 __ai float32x2_t vreinterpret_f32_s16(int16x4_t __a) { \
3216 return (float32x2_t)__a; }
3217 __ai float32x2_t vreinterpret_f32_s32(int32x2_t __a) { \
3218 return (float32x2_t)__a; }
3219 __ai float32x2_t vreinterpret_f32_s64(int64x1_t __a) { \
3220 return (float32x2_t)__a; }
3221 __ai float32x2_t vreinterpret_f32_u8(uint8x8_t __a) { \
3222 return (float32x2_t)__a; }
3223 __ai float32x2_t vreinterpret_f32_u16(uint16x4_t __a) { \
3224 return (float32x2_t)__a; }
3225 __ai float32x2_t vreinterpret_f32_u32(uint32x2_t __a) { \
3226 return (float32x2_t)__a; }
3227 __ai float32x2_t vreinterpret_f32_u64(uint64x1_t __a) { \
3228 return (float32x2_t)__a; }
3229 __ai float32x2_t vreinterpret_f32_f16(float16x4_t __a) { \
3230 return (float32x2_t)__a; }
3231 __ai float32x2_t vreinterpret_f32_p8(poly8x8_t __a) { \
3232 return (float32x2_t)__a; }
3233 __ai float32x2_t vreinterpret_f32_p16(poly16x4_t __a) { \
3234 return (float32x2_t)__a; }
3235 __ai poly8x8_t vreinterpret_p8_s8(int8x8_t __a) { \
3236 return (poly8x8_t)__a; }
3237 __ai poly8x8_t vreinterpret_p8_s16(int16x4_t __a) { \
3238 return (poly8x8_t)__a; }
3239 __ai poly8x8_t vreinterpret_p8_s32(int32x2_t __a) { \
3240 return (poly8x8_t)__a; }
3241 __ai poly8x8_t vreinterpret_p8_s64(int64x1_t __a) { \
3242 return (poly8x8_t)__a; }
3243 __ai poly8x8_t vreinterpret_p8_u8(uint8x8_t __a) { \
3244 return (poly8x8_t)__a; }
3245 __ai poly8x8_t vreinterpret_p8_u16(uint16x4_t __a) { \
3246 return (poly8x8_t)__a; }
3247 __ai poly8x8_t vreinterpret_p8_u32(uint32x2_t __a) { \
3248 return (poly8x8_t)__a; }
3249 __ai poly8x8_t vreinterpret_p8_u64(uint64x1_t __a) { \
3250 return (poly8x8_t)__a; }
3251 __ai poly8x8_t vreinterpret_p8_f16(float16x4_t __a) { \
3252 return (poly8x8_t)__a; }
3253 __ai poly8x8_t vreinterpret_p8_f32(float32x2_t __a) { \
3254 return (poly8x8_t)__a; }
3255 __ai poly8x8_t vreinterpret_p8_p16(poly16x4_t __a) { \
3256 return (poly8x8_t)__a; }
3257 __ai poly16x4_t vreinterpret_p16_s8(int8x8_t __a) { \
3258 return (poly16x4_t)__a; }
3259 __ai poly16x4_t vreinterpret_p16_s16(int16x4_t __a) { \
3260 return (poly16x4_t)__a; }
3261 __ai poly16x4_t vreinterpret_p16_s32(int32x2_t __a) { \
3262 return (poly16x4_t)__a; }
3263 __ai poly16x4_t vreinterpret_p16_s64(int64x1_t __a) { \
3264 return (poly16x4_t)__a; }
3265 __ai poly16x4_t vreinterpret_p16_u8(uint8x8_t __a) { \
3266 return (poly16x4_t)__a; }
3267 __ai poly16x4_t vreinterpret_p16_u16(uint16x4_t __a) { \
3268 return (poly16x4_t)__a; }
3269 __ai poly16x4_t vreinterpret_p16_u32(uint32x2_t __a) { \
3270 return (poly16x4_t)__a; }
3271 __ai poly16x4_t vreinterpret_p16_u64(uint64x1_t __a) { \
3272 return (poly16x4_t)__a; }
3273 __ai poly16x4_t vreinterpret_p16_f16(float16x4_t __a) { \
3274 return (poly16x4_t)__a; }
3275 __ai poly16x4_t vreinterpret_p16_f32(float32x2_t __a) { \
3276 return (poly16x4_t)__a; }
3277 __ai poly16x4_t vreinterpret_p16_p8(poly8x8_t __a) { \
3278 return (poly16x4_t)__a; }
3279 __ai int8x16_t vreinterpretq_s8_s16(int16x8_t __a) { \
3280 return (int8x16_t)__a; }
3281 __ai int8x16_t vreinterpretq_s8_s32(int32x4_t __a) { \
3282 return (int8x16_t)__a; }
3283 __ai int8x16_t vreinterpretq_s8_s64(int64x2_t __a) { \
3284 return (int8x16_t)__a; }
3285 __ai int8x16_t vreinterpretq_s8_u8(uint8x16_t __a) { \
3286 return (int8x16_t)__a; }
3287 __ai int8x16_t vreinterpretq_s8_u16(uint16x8_t __a) { \
3288 return (int8x16_t)__a; }
3289 __ai int8x16_t vreinterpretq_s8_u32(uint32x4_t __a) { \
3290 return (int8x16_t)__a; }
3291 __ai int8x16_t vreinterpretq_s8_u64(uint64x2_t __a) { \
3292 return (int8x16_t)__a; }
3293 __ai int8x16_t vreinterpretq_s8_f16(float16x8_t __a) { \
3294 return (int8x16_t)__a; }
3295 __ai int8x16_t vreinterpretq_s8_f32(float32x4_t __a) { \
3296 return (int8x16_t)__a; }
3297 __ai int8x16_t vreinterpretq_s8_p8(poly8x16_t __a) { \
3298 return (int8x16_t)__a; }
3299 __ai int8x16_t vreinterpretq_s8_p16(poly16x8_t __a) { \
3300 return (int8x16_t)__a; }
3301 __ai int16x8_t vreinterpretq_s16_s8(int8x16_t __a) { \
3302 return (int16x8_t)__a; }
3303 __ai int16x8_t vreinterpretq_s16_s32(int32x4_t __a) { \
3304 return (int16x8_t)__a; }
3305 __ai int16x8_t vreinterpretq_s16_s64(int64x2_t __a) { \
3306 return (int16x8_t)__a; }
3307 __ai int16x8_t vreinterpretq_s16_u8(uint8x16_t __a) { \
3308 return (int16x8_t)__a; }
3309 __ai int16x8_t vreinterpretq_s16_u16(uint16x8_t __a) { \
3310 return (int16x8_t)__a; }
3311 __ai int16x8_t vreinterpretq_s16_u32(uint32x4_t __a) { \
3312 return (int16x8_t)__a; }
3313 __ai int16x8_t vreinterpretq_s16_u64(uint64x2_t __a) { \
3314 return (int16x8_t)__a; }
3315 __ai int16x8_t vreinterpretq_s16_f16(float16x8_t __a) { \
3316 return (int16x8_t)__a; }
3317 __ai int16x8_t vreinterpretq_s16_f32(float32x4_t __a) { \
3318 return (int16x8_t)__a; }
3319 __ai int16x8_t vreinterpretq_s16_p8(poly8x16_t __a) { \
3320 return (int16x8_t)__a; }
3321 __ai int16x8_t vreinterpretq_s16_p16(poly16x8_t __a) { \
3322 return (int16x8_t)__a; }
3323 __ai int32x4_t vreinterpretq_s32_s8(int8x16_t __a) { \
3324 return (int32x4_t)__a; }
3325 __ai int32x4_t vreinterpretq_s32_s16(int16x8_t __a) { \
3326 return (int32x4_t)__a; }
3327 __ai int32x4_t vreinterpretq_s32_s64(int64x2_t __a) { \
3328 return (int32x4_t)__a; }
3329 __ai int32x4_t vreinterpretq_s32_u8(uint8x16_t __a) { \
3330 return (int32x4_t)__a; }
3331 __ai int32x4_t vreinterpretq_s32_u16(uint16x8_t __a) { \
3332 return (int32x4_t)__a; }
3333 __ai int32x4_t vreinterpretq_s32_u32(uint32x4_t __a) { \
3334 return (int32x4_t)__a; }
3335 __ai int32x4_t vreinterpretq_s32_u64(uint64x2_t __a) { \
3336 return (int32x4_t)__a; }
3337 __ai int32x4_t vreinterpretq_s32_f16(float16x8_t __a) { \
3338 return (int32x4_t)__a; }
3339 __ai int32x4_t vreinterpretq_s32_f32(float32x4_t __a) { \
3340 return (int32x4_t)__a; }
3341 __ai int32x4_t vreinterpretq_s32_p8(poly8x16_t __a) { \
3342 return (int32x4_t)__a; }
3343 __ai int32x4_t vreinterpretq_s32_p16(poly16x8_t __a) { \
3344 return (int32x4_t)__a; }
3345 __ai int64x2_t vreinterpretq_s64_s8(int8x16_t __a) { \
3346 return (int64x2_t)__a; }
3347 __ai int64x2_t vreinterpretq_s64_s16(int16x8_t __a) { \
3348 return (int64x2_t)__a; }
3349 __ai int64x2_t vreinterpretq_s64_s32(int32x4_t __a) { \
3350 return (int64x2_t)__a; }
3351 __ai int64x2_t vreinterpretq_s64_u8(uint8x16_t __a) { \
3352 return (int64x2_t)__a; }
3353 __ai int64x2_t vreinterpretq_s64_u16(uint16x8_t __a) { \
3354 return (int64x2_t)__a; }
3355 __ai int64x2_t vreinterpretq_s64_u32(uint32x4_t __a) { \
3356 return (int64x2_t)__a; }
3357 __ai int64x2_t vreinterpretq_s64_u64(uint64x2_t __a) { \
3358 return (int64x2_t)__a; }
3359 __ai int64x2_t vreinterpretq_s64_f16(float16x8_t __a) { \
3360 return (int64x2_t)__a; }
3361 __ai int64x2_t vreinterpretq_s64_f32(float32x4_t __a) { \
3362 return (int64x2_t)__a; }
3363 __ai int64x2_t vreinterpretq_s64_p8(poly8x16_t __a) { \
3364 return (int64x2_t)__a; }
3365 __ai int64x2_t vreinterpretq_s64_p16(poly16x8_t __a) { \
3366 return (int64x2_t)__a; }
3367 __ai uint8x16_t vreinterpretq_u8_s8(int8x16_t __a) { \
3368 return (uint8x16_t)__a; }
3369 __ai uint8x16_t vreinterpretq_u8_s16(int16x8_t __a) { \
3370 return (uint8x16_t)__a; }
3371 __ai uint8x16_t vreinterpretq_u8_s32(int32x4_t __a) { \
3372 return (uint8x16_t)__a; }
3373 __ai uint8x16_t vreinterpretq_u8_s64(int64x2_t __a) { \
3374 return (uint8x16_t)__a; }
3375 __ai uint8x16_t vreinterpretq_u8_u16(uint16x8_t __a) { \
3376 return (uint8x16_t)__a; }
3377 __ai uint8x16_t vreinterpretq_u8_u32(uint32x4_t __a) { \
3378 return (uint8x16_t)__a; }
3379 __ai uint8x16_t vreinterpretq_u8_u64(uint64x2_t __a) { \
3380 return (uint8x16_t)__a; }
3381 __ai uint8x16_t vreinterpretq_u8_f16(float16x8_t __a) { \
3382 return (uint8x16_t)__a; }
3383 __ai uint8x16_t vreinterpretq_u8_f32(float32x4_t __a) { \
3384 return (uint8x16_t)__a; }
3385 __ai uint8x16_t vreinterpretq_u8_p8(poly8x16_t __a) { \
3386 return (uint8x16_t)__a; }
3387 __ai uint8x16_t vreinterpretq_u8_p16(poly16x8_t __a) { \
3388 return (uint8x16_t)__a; }
3389 __ai uint16x8_t vreinterpretq_u16_s8(int8x16_t __a) { \
3390 return (uint16x8_t)__a; }
3391 __ai uint16x8_t vreinterpretq_u16_s16(int16x8_t __a) { \
3392 return (uint16x8_t)__a; }
3393 __ai uint16x8_t vreinterpretq_u16_s32(int32x4_t __a) { \
3394 return (uint16x8_t)__a; }
3395 __ai uint16x8_t vreinterpretq_u16_s64(int64x2_t __a) { \
3396 return (uint16x8_t)__a; }
3397 __ai uint16x8_t vreinterpretq_u16_u8(uint8x16_t __a) { \
3398 return (uint16x8_t)__a; }
3399 __ai uint16x8_t vreinterpretq_u16_u32(uint32x4_t __a) { \
3400 return (uint16x8_t)__a; }
3401 __ai uint16x8_t vreinterpretq_u16_u64(uint64x2_t __a) { \
3402 return (uint16x8_t)__a; }
3403 __ai uint16x8_t vreinterpretq_u16_f16(float16x8_t __a) { \
3404 return (uint16x8_t)__a; }
3405 __ai uint16x8_t vreinterpretq_u16_f32(float32x4_t __a) { \
3406 return (uint16x8_t)__a; }
3407 __ai uint16x8_t vreinterpretq_u16_p8(poly8x16_t __a) { \
3408 return (uint16x8_t)__a; }
3409 __ai uint16x8_t vreinterpretq_u16_p16(poly16x8_t __a) { \
3410 return (uint16x8_t)__a; }
3411 __ai uint32x4_t vreinterpretq_u32_s8(int8x16_t __a) { \
3412 return (uint32x4_t)__a; }
3413 __ai uint32x4_t vreinterpretq_u32_s16(int16x8_t __a) { \
3414 return (uint32x4_t)__a; }
3415 __ai uint32x4_t vreinterpretq_u32_s32(int32x4_t __a) { \
3416 return (uint32x4_t)__a; }
3417 __ai uint32x4_t vreinterpretq_u32_s64(int64x2_t __a) { \
3418 return (uint32x4_t)__a; }
3419 __ai uint32x4_t vreinterpretq_u32_u8(uint8x16_t __a) { \
3420 return (uint32x4_t)__a; }
3421 __ai uint32x4_t vreinterpretq_u32_u16(uint16x8_t __a) { \
3422 return (uint32x4_t)__a; }
3423 __ai uint32x4_t vreinterpretq_u32_u64(uint64x2_t __a) { \
3424 return (uint32x4_t)__a; }
3425 __ai uint32x4_t vreinterpretq_u32_f16(float16x8_t __a) { \
3426 return (uint32x4_t)__a; }
3427 __ai uint32x4_t vreinterpretq_u32_f32(float32x4_t __a) { \
3428 return (uint32x4_t)__a; }
3429 __ai uint32x4_t vreinterpretq_u32_p8(poly8x16_t __a) { \
3430 return (uint32x4_t)__a; }
3431 __ai uint32x4_t vreinterpretq_u32_p16(poly16x8_t __a) { \
3432 return (uint32x4_t)__a; }
3433 __ai uint64x2_t vreinterpretq_u64_s8(int8x16_t __a) { \
3434 return (uint64x2_t)__a; }
3435 __ai uint64x2_t vreinterpretq_u64_s16(int16x8_t __a) { \
3436 return (uint64x2_t)__a; }
3437 __ai uint64x2_t vreinterpretq_u64_s32(int32x4_t __a) { \
3438 return (uint64x2_t)__a; }
3439 __ai uint64x2_t vreinterpretq_u64_s64(int64x2_t __a) { \
3440 return (uint64x2_t)__a; }
3441 __ai uint64x2_t vreinterpretq_u64_u8(uint8x16_t __a) { \
3442 return (uint64x2_t)__a; }
3443 __ai uint64x2_t vreinterpretq_u64_u16(uint16x8_t __a) { \
3444 return (uint64x2_t)__a; }
3445 __ai uint64x2_t vreinterpretq_u64_u32(uint32x4_t __a) { \
3446 return (uint64x2_t)__a; }
3447 __ai uint64x2_t vreinterpretq_u64_f16(float16x8_t __a) { \
3448 return (uint64x2_t)__a; }
3449 __ai uint64x2_t vreinterpretq_u64_f32(float32x4_t __a) { \
3450 return (uint64x2_t)__a; }
3451 __ai uint64x2_t vreinterpretq_u64_p8(poly8x16_t __a) { \
3452 return (uint64x2_t)__a; }
3453 __ai uint64x2_t vreinterpretq_u64_p16(poly16x8_t __a) { \
3454 return (uint64x2_t)__a; }
3455 __ai float16x8_t vreinterpretq_f16_s8(int8x16_t __a) { \
3456 return (float16x8_t)__a; }
3457 __ai float16x8_t vreinterpretq_f16_s16(int16x8_t __a) { \
3458 return (float16x8_t)__a; }
3459 __ai float16x8_t vreinterpretq_f16_s32(int32x4_t __a) { \
3460 return (float16x8_t)__a; }
3461 __ai float16x8_t vreinterpretq_f16_s64(int64x2_t __a) { \
3462 return (float16x8_t)__a; }
3463 __ai float16x8_t vreinterpretq_f16_u8(uint8x16_t __a) { \
3464 return (float16x8_t)__a; }
3465 __ai float16x8_t vreinterpretq_f16_u16(uint16x8_t __a) { \
3466 return (float16x8_t)__a; }
3467 __ai float16x8_t vreinterpretq_f16_u32(uint32x4_t __a) { \
3468 return (float16x8_t)__a; }
3469 __ai float16x8_t vreinterpretq_f16_u64(uint64x2_t __a) { \
3470 return (float16x8_t)__a; }
3471 __ai float16x8_t vreinterpretq_f16_f32(float32x4_t __a) { \
3472 return (float16x8_t)__a; }
3473 __ai float16x8_t vreinterpretq_f16_p8(poly8x16_t __a) { \
3474 return (float16x8_t)__a; }
3475 __ai float16x8_t vreinterpretq_f16_p16(poly16x8_t __a) { \
3476 return (float16x8_t)__a; }
3477 __ai float32x4_t vreinterpretq_f32_s8(int8x16_t __a) { \
3478 return (float32x4_t)__a; }
3479 __ai float32x4_t vreinterpretq_f32_s16(int16x8_t __a) { \
3480 return (float32x4_t)__a; }
3481 __ai float32x4_t vreinterpretq_f32_s32(int32x4_t __a) { \
3482 return (float32x4_t)__a; }
3483 __ai float32x4_t vreinterpretq_f32_s64(int64x2_t __a) { \
3484 return (float32x4_t)__a; }
3485 __ai float32x4_t vreinterpretq_f32_u8(uint8x16_t __a) { \
3486 return (float32x4_t)__a; }
3487 __ai float32x4_t vreinterpretq_f32_u16(uint16x8_t __a) { \
3488 return (float32x4_t)__a; }
3489 __ai float32x4_t vreinterpretq_f32_u32(uint32x4_t __a) { \
3490 return (float32x4_t)__a; }
3491 __ai float32x4_t vreinterpretq_f32_u64(uint64x2_t __a) { \
3492 return (float32x4_t)__a; }
3493 __ai float32x4_t vreinterpretq_f32_f16(float16x8_t __a) { \
3494 return (float32x4_t)__a; }
3495 __ai float32x4_t vreinterpretq_f32_p8(poly8x16_t __a) { \
3496 return (float32x4_t)__a; }
3497 __ai float32x4_t vreinterpretq_f32_p16(poly16x8_t __a) { \
3498 return (float32x4_t)__a; }
3499 __ai poly8x16_t vreinterpretq_p8_s8(int8x16_t __a) { \
3500 return (poly8x16_t)__a; }
3501 __ai poly8x16_t vreinterpretq_p8_s16(int16x8_t __a) { \
3502 return (poly8x16_t)__a; }
3503 __ai poly8x16_t vreinterpretq_p8_s32(int32x4_t __a) { \
3504 return (poly8x16_t)__a; }
3505 __ai poly8x16_t vreinterpretq_p8_s64(int64x2_t __a) { \
3506 return (poly8x16_t)__a; }
3507 __ai poly8x16_t vreinterpretq_p8_u8(uint8x16_t __a) { \
3508 return (poly8x16_t)__a; }
3509 __ai poly8x16_t vreinterpretq_p8_u16(uint16x8_t __a) { \
3510 return (poly8x16_t)__a; }
3511 __ai poly8x16_t vreinterpretq_p8_u32(uint32x4_t __a) { \
3512 return (poly8x16_t)__a; }
3513 __ai poly8x16_t vreinterpretq_p8_u64(uint64x2_t __a) { \
3514 return (poly8x16_t)__a; }
3515 __ai poly8x16_t vreinterpretq_p8_f16(float16x8_t __a) { \
3516 return (poly8x16_t)__a; }
3517 __ai poly8x16_t vreinterpretq_p8_f32(float32x4_t __a) { \
3518 return (poly8x16_t)__a; }
3519 __ai poly8x16_t vreinterpretq_p8_p16(poly16x8_t __a) { \
3520 return (poly8x16_t)__a; }
3521 __ai poly16x8_t vreinterpretq_p16_s8(int8x16_t __a) { \
3522 return (poly16x8_t)__a; }
3523 __ai poly16x8_t vreinterpretq_p16_s16(int16x8_t __a) { \
3524 return (poly16x8_t)__a; }
3525 __ai poly16x8_t vreinterpretq_p16_s32(int32x4_t __a) { \
3526 return (poly16x8_t)__a; }
3527 __ai poly16x8_t vreinterpretq_p16_s64(int64x2_t __a) { \
3528 return (poly16x8_t)__a; }
3529 __ai poly16x8_t vreinterpretq_p16_u8(uint8x16_t __a) { \
3530 return (poly16x8_t)__a; }
3531 __ai poly16x8_t vreinterpretq_p16_u16(uint16x8_t __a) { \
3532 return (poly16x8_t)__a; }
3533 __ai poly16x8_t vreinterpretq_p16_u32(uint32x4_t __a) { \
3534 return (poly16x8_t)__a; }
3535 __ai poly16x8_t vreinterpretq_p16_u64(uint64x2_t __a) { \
3536 return (poly16x8_t)__a; }
3537 __ai poly16x8_t vreinterpretq_p16_f16(float16x8_t __a) { \
3538 return (poly16x8_t)__a; }
3539 __ai poly16x8_t vreinterpretq_p16_f32(float32x4_t __a) { \
3540 return (poly16x8_t)__a; }
3541 __ai poly16x8_t vreinterpretq_p16_p8(poly8x16_t __a) { \
3542 return (poly16x8_t)__a; }
3543
3544 __ai int8x8_t vrev16_s8(int8x8_t __a) { \
3545 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); }
3546 __ai uint8x8_t vrev16_u8(uint8x8_t __a) { \
3547 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); }
3548 __ai poly8x8_t vrev16_p8(poly8x8_t __a) { \
3549 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); }
3550 __ai int8x16_t vrev16q_s8(int8x16_t __a) { \
3551 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14); }
3552 __ai uint8x16_t vrev16q_u8(uint8x16_t __a) { \
3553 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14); }
3554 __ai poly8x16_t vrev16q_p8(poly8x16_t __a) { \
3555 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14); }
3556
3557 __ai int8x8_t vrev32_s8(int8x8_t __a) { \
3558 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); }
3559 __ai int16x4_t vrev32_s16(int16x4_t __a) { \
3560 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); }
3561 __ai uint8x8_t vrev32_u8(uint8x8_t __a) { \
3562 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); }
3563 __ai uint16x4_t vrev32_u16(uint16x4_t __a) { \
3564 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); }
3565 __ai poly8x8_t vrev32_p8(poly8x8_t __a) { \
3566 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); }
3567 __ai poly16x4_t vrev32_p16(poly16x4_t __a) { \
3568 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); }
3569 __ai int8x16_t vrev32q_s8(int8x16_t __a) { \
3570 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12); }
3571 __ai int16x8_t vrev32q_s16(int16x8_t __a) { \
3572 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); }
3573 __ai uint8x16_t vrev32q_u8(uint8x16_t __a) { \
3574 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12); }
3575 __ai uint16x8_t vrev32q_u16(uint16x8_t __a) { \
3576 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); }
3577 __ai poly8x16_t vrev32q_p8(poly8x16_t __a) { \
3578 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12); }
3579 __ai poly16x8_t vrev32q_p16(poly16x8_t __a) { \
3580 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); }
3581
3582 __ai int8x8_t vrev64_s8(int8x8_t __a) { \
3583 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0); }
3584 __ai int16x4_t vrev64_s16(int16x4_t __a) { \
3585 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0); }
3586 __ai int32x2_t vrev64_s32(int32x2_t __a) { \
3587 return __builtin_shufflevector(__a, __a, 1, 0); }
3588 __ai uint8x8_t vrev64_u8(uint8x8_t __a) { \
3589 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0); }
3590 __ai uint16x4_t vrev64_u16(uint16x4_t __a) { \
3591 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0); }
3592 __ai uint32x2_t vrev64_u32(uint32x2_t __a) { \
3593 return __builtin_shufflevector(__a, __a, 1, 0); }
3594 __ai poly8x8_t vrev64_p8(poly8x8_t __a) { \
3595 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0); }
3596 __ai poly16x4_t vrev64_p16(poly16x4_t __a) { \
3597 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0); }
3598 __ai float32x2_t vrev64_f32(float32x2_t __a) { \
3599 return __builtin_shufflevector(__a, __a, 1, 0); }
3600 __ai int8x16_t vrev64q_s8(int8x16_t __a) { \
3601 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 1 2, 11, 10, 9, 8); }
3602 __ai int16x8_t vrev64q_s16(int16x8_t __a) { \
3603 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); }
3604 __ai int32x4_t vrev64q_s32(int32x4_t __a) { \
3605 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); }
3606 __ai uint8x16_t vrev64q_u8(uint8x16_t __a) { \
3607 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 1 2, 11, 10, 9, 8); }
3608 __ai uint16x8_t vrev64q_u16(uint16x8_t __a) { \
3609 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); }
3610 __ai uint32x4_t vrev64q_u32(uint32x4_t __a) { \
3611 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); }
3612 __ai poly8x16_t vrev64q_p8(poly8x16_t __a) { \
3613 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 1 2, 11, 10, 9, 8); }
3614 __ai poly16x8_t vrev64q_p16(poly16x8_t __a) { \
3615 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); }
3616 __ai float32x4_t vrev64q_f32(float32x4_t __a) { \
3617 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); }
3618
3619 __ai int8x8_t vrhadd_s8(int8x8_t __a, int8x8_t __b) { \
3620 return (int8x8_t)__builtin_neon_vrhadd_v(__a, __b, 0); }
3621 __ai int16x4_t vrhadd_s16(int16x4_t __a, int16x4_t __b) { \
3622 return (int16x4_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 1); }
3623 __ai int32x2_t vrhadd_s32(int32x2_t __a, int32x2_t __b) { \
3624 return (int32x2_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 2); }
3625 __ai uint8x8_t vrhadd_u8(uint8x8_t __a, uint8x8_t __b) { \
3626 return (uint8x8_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 8); }
3627 __ai uint16x4_t vrhadd_u16(uint16x4_t __a, uint16x4_t __b) { \
3628 return (uint16x4_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 9); }
3629 __ai uint32x2_t vrhadd_u32(uint32x2_t __a, uint32x2_t __b) { \
3630 return (uint32x2_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 10); }
3631 __ai int8x16_t vrhaddq_s8(int8x16_t __a, int8x16_t __b) { \
3632 return (int8x16_t)__builtin_neon_vrhaddq_v(__a, __b, 16); }
3633 __ai int16x8_t vrhaddq_s16(int16x8_t __a, int16x8_t __b) { \
3634 return (int16x8_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 17) ; }
3635 __ai int32x4_t vrhaddq_s32(int32x4_t __a, int32x4_t __b) { \
3636 return (int32x4_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 18) ; }
3637 __ai uint8x16_t vrhaddq_u8(uint8x16_t __a, uint8x16_t __b) { \
3638 return (uint8x16_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 24 ); }
3639 __ai uint16x8_t vrhaddq_u16(uint16x8_t __a, uint16x8_t __b) { \
3640 return (uint16x8_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 25 ); }
3641 __ai uint32x4_t vrhaddq_u32(uint32x4_t __a, uint32x4_t __b) { \
3642 return (uint32x4_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 26 ); }
3643
3644 __ai int8x8_t vrshl_s8(int8x8_t __a, int8x8_t __b) { \
3645 return (int8x8_t)__builtin_neon_vrshl_v(__a, __b, 0); }
3646 __ai int16x4_t vrshl_s16(int16x4_t __a, int16x4_t __b) { \
3647 return (int16x4_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 1); }
3648 __ai int32x2_t vrshl_s32(int32x2_t __a, int32x2_t __b) { \
3649 return (int32x2_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 2); }
3650 __ai int64x1_t vrshl_s64(int64x1_t __a, int64x1_t __b) { \
3651 return (int64x1_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 3); }
3652 __ai uint8x8_t vrshl_u8(uint8x8_t __a, int8x8_t __b) { \
3653 return (uint8x8_t)__builtin_neon_vrshl_v((int8x8_t)__a, __b, 8); }
3654 __ai uint16x4_t vrshl_u16(uint16x4_t __a, int16x4_t __b) { \
3655 return (uint16x4_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 9); }
3656 __ai uint32x2_t vrshl_u32(uint32x2_t __a, int32x2_t __b) { \
3657 return (uint32x2_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 10); }
3658 __ai uint64x1_t vrshl_u64(uint64x1_t __a, int64x1_t __b) { \
3659 return (uint64x1_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 11); }
3660 __ai int8x16_t vrshlq_s8(int8x16_t __a, int8x16_t __b) { \
3661 return (int8x16_t)__builtin_neon_vrshlq_v(__a, __b, 16); }
3662 __ai int16x8_t vrshlq_s16(int16x8_t __a, int16x8_t __b) { \
3663 return (int16x8_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 17); }
3664 __ai int32x4_t vrshlq_s32(int32x4_t __a, int32x4_t __b) { \
3665 return (int32x4_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 18); }
3666 __ai int64x2_t vrshlq_s64(int64x2_t __a, int64x2_t __b) { \
3667 return (int64x2_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 19); }
3668 __ai uint8x16_t vrshlq_u8(uint8x16_t __a, int8x16_t __b) { \
3669 return (uint8x16_t)__builtin_neon_vrshlq_v((int8x16_t)__a, __b, 24); }
3670 __ai uint16x8_t vrshlq_u16(uint16x8_t __a, int16x8_t __b) { \
3671 return (uint16x8_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 25) ; }
3672 __ai uint32x4_t vrshlq_u32(uint32x4_t __a, int32x4_t __b) { \
3673 return (uint32x4_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 26) ; }
3674 __ai uint64x2_t vrshlq_u64(uint64x2_t __a, int64x2_t __b) { \
3675 return (uint64x2_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 27) ; }
3676
3677 #define vrshrn_n_s16(a, __b) __extension__ ({ \
3678 int16x8_t __a = (a); \
3679 (int8x8_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 0); })
3680 #define vrshrn_n_s32(a, __b) __extension__ ({ \
3681 int32x4_t __a = (a); \
3682 (int16x4_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 1); })
3683 #define vrshrn_n_s64(a, __b) __extension__ ({ \
3684 int64x2_t __a = (a); \
3685 (int32x2_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 2); })
3686 #define vrshrn_n_u16(a, __b) __extension__ ({ \
3687 uint16x8_t __a = (a); \
3688 (uint8x8_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 8); })
3689 #define vrshrn_n_u32(a, __b) __extension__ ({ \
3690 uint32x4_t __a = (a); \
3691 (uint16x4_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 9); })
3692 #define vrshrn_n_u64(a, __b) __extension__ ({ \
3693 uint64x2_t __a = (a); \
3694 (uint32x2_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 10); })
3695
3696 #define vrshr_n_s8(a, __b) __extension__ ({ \
3697 int8x8_t __a = (a); \
3698 (int8x8_t)__builtin_neon_vrshr_n_v(__a, __b, 0); })
3699 #define vrshr_n_s16(a, __b) __extension__ ({ \
3700 int16x4_t __a = (a); \
3701 (int16x4_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 1); })
3702 #define vrshr_n_s32(a, __b) __extension__ ({ \
3703 int32x2_t __a = (a); \
3704 (int32x2_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 2); })
3705 #define vrshr_n_s64(a, __b) __extension__ ({ \
3706 int64x1_t __a = (a); \
3707 (int64x1_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 3); })
3708 #define vrshr_n_u8(a, __b) __extension__ ({ \
3709 uint8x8_t __a = (a); \
3710 (uint8x8_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 8); })
3711 #define vrshr_n_u16(a, __b) __extension__ ({ \
3712 uint16x4_t __a = (a); \
3713 (uint16x4_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 9); })
3714 #define vrshr_n_u32(a, __b) __extension__ ({ \
3715 uint32x2_t __a = (a); \
3716 (uint32x2_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 10); })
3717 #define vrshr_n_u64(a, __b) __extension__ ({ \
3718 uint64x1_t __a = (a); \
3719 (uint64x1_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 11); })
3720 #define vrshrq_n_s8(a, __b) __extension__ ({ \
3721 int8x16_t __a = (a); \
3722 (int8x16_t)__builtin_neon_vrshrq_n_v(__a, __b, 16); })
3723 #define vrshrq_n_s16(a, __b) __extension__ ({ \
3724 int16x8_t __a = (a); \
3725 (int16x8_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 17); })
3726 #define vrshrq_n_s32(a, __b) __extension__ ({ \
3727 int32x4_t __a = (a); \
3728 (int32x4_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 18); })
3729 #define vrshrq_n_s64(a, __b) __extension__ ({ \
3730 int64x2_t __a = (a); \
3731 (int64x2_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 19); })
3732 #define vrshrq_n_u8(a, __b) __extension__ ({ \
3733 uint8x16_t __a = (a); \
3734 (uint8x16_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 24); })
3735 #define vrshrq_n_u16(a, __b) __extension__ ({ \
3736 uint16x8_t __a = (a); \
3737 (uint16x8_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 25); })
3738 #define vrshrq_n_u32(a, __b) __extension__ ({ \
3739 uint32x4_t __a = (a); \
3740 (uint32x4_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 26); })
3741 #define vrshrq_n_u64(a, __b) __extension__ ({ \
3742 uint64x2_t __a = (a); \
3743 (uint64x2_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 27); })
3744
3745 __ai float32x2_t vrsqrte_f32(float32x2_t __a) { \
3746 return (float32x2_t)__builtin_neon_vrsqrte_v((int8x8_t)__a, 4); }
3747 __ai uint32x2_t vrsqrte_u32(uint32x2_t __a) { \
3748 return (uint32x2_t)__builtin_neon_vrsqrte_v((int8x8_t)__a, 10); }
3749 __ai float32x4_t vrsqrteq_f32(float32x4_t __a) { \
3750 return (float32x4_t)__builtin_neon_vrsqrteq_v((int8x16_t)__a, 20); }
3751 __ai uint32x4_t vrsqrteq_u32(uint32x4_t __a) { \
3752 return (uint32x4_t)__builtin_neon_vrsqrteq_v((int8x16_t)__a, 26); }
3753
3754 __ai float32x2_t vrsqrts_f32(float32x2_t __a, float32x2_t __b) { \
3755 return (float32x2_t)__builtin_neon_vrsqrts_v((int8x8_t)__a, (int8x8_t)__b, 4); }
3756 __ai float32x4_t vrsqrtsq_f32(float32x4_t __a, float32x4_t __b) { \
3757 return (float32x4_t)__builtin_neon_vrsqrtsq_v((int8x16_t)__a, (int8x16_t)__b, 20); }
3758
3759 #define vrsra_n_s8(a, b, __c) __extension__ ({ \
3760 int8x8_t __a = (a); int8x8_t __b = (b); \
3761 (int8x8_t)__builtin_neon_vrsra_n_v(__a, __b, __c, 0); })
3762 #define vrsra_n_s16(a, b, __c) __extension__ ({ \
3763 int16x4_t __a = (a); int16x4_t __b = (b); \
3764 (int16x4_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); })
3765 #define vrsra_n_s32(a, b, __c) __extension__ ({ \
3766 int32x2_t __a = (a); int32x2_t __b = (b); \
3767 (int32x2_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); })
3768 #define vrsra_n_s64(a, b, __c) __extension__ ({ \
3769 int64x1_t __a = (a); int64x1_t __b = (b); \
3770 (int64x1_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); })
3771 #define vrsra_n_u8(a, b, __c) __extension__ ({ \
3772 uint8x8_t __a = (a); uint8x8_t __b = (b); \
3773 (uint8x8_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 8); })
3774 #define vrsra_n_u16(a, b, __c) __extension__ ({ \
3775 uint16x4_t __a = (a); uint16x4_t __b = (b); \
3776 (uint16x4_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 9); })
3777 #define vrsra_n_u32(a, b, __c) __extension__ ({ \
3778 uint32x2_t __a = (a); uint32x2_t __b = (b); \
3779 (uint32x2_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 10); } )
3780 #define vrsra_n_u64(a, b, __c) __extension__ ({ \
3781 uint64x1_t __a = (a); uint64x1_t __b = (b); \
3782 (uint64x1_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 11); } )
3783 #define vrsraq_n_s8(a, b, __c) __extension__ ({ \
3784 int8x16_t __a = (a); int8x16_t __b = (b); \
3785 (int8x16_t)__builtin_neon_vrsraq_n_v(__a, __b, __c, 16); })
3786 #define vrsraq_n_s16(a, b, __c) __extension__ ({ \
3787 int16x8_t __a = (a); int16x8_t __b = (b); \
3788 (int16x8_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 17); })
3789 #define vrsraq_n_s32(a, b, __c) __extension__ ({ \
3790 int32x4_t __a = (a); int32x4_t __b = (b); \
3791 (int32x4_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 18); })
3792 #define vrsraq_n_s64(a, b, __c) __extension__ ({ \
3793 int64x2_t __a = (a); int64x2_t __b = (b); \
3794 (int64x2_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 19); })
3795 #define vrsraq_n_u8(a, b, __c) __extension__ ({ \
3796 uint8x16_t __a = (a); uint8x16_t __b = (b); \
3797 (uint8x16_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 24) ; })
3798 #define vrsraq_n_u16(a, b, __c) __extension__ ({ \
3799 uint16x8_t __a = (a); uint16x8_t __b = (b); \
3800 (uint16x8_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 25) ; })
3801 #define vrsraq_n_u32(a, b, __c) __extension__ ({ \
3802 uint32x4_t __a = (a); uint32x4_t __b = (b); \
3803 (uint32x4_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 26) ; })
3804 #define vrsraq_n_u64(a, b, __c) __extension__ ({ \
3805 uint64x2_t __a = (a); uint64x2_t __b = (b); \
3806 (uint64x2_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 27) ; })
3807
3808 __ai int8x8_t vrsubhn_s16(int16x8_t __a, int16x8_t __b) { \
3809 return (int8x8_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 0); }
3810 __ai int16x4_t vrsubhn_s32(int32x4_t __a, int32x4_t __b) { \
3811 return (int16x4_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 1); }
3812 __ai int32x2_t vrsubhn_s64(int64x2_t __a, int64x2_t __b) { \
3813 return (int32x2_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 2); }
3814 __ai uint8x8_t vrsubhn_u16(uint16x8_t __a, uint16x8_t __b) { \
3815 return (uint8x8_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 8); }
3816 __ai uint16x4_t vrsubhn_u32(uint32x4_t __a, uint32x4_t __b) { \
3817 return (uint16x4_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 9) ; }
3818 __ai uint32x2_t vrsubhn_u64(uint64x2_t __a, uint64x2_t __b) { \
3819 return (uint32x2_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 10 ); }
3820
3821 #define vset_lane_u8(a, b, __c) __extension__ ({ \
3822 uint8_t __a = (a); uint8x8_t __b = (b); \
3823 (uint8x8_t)__builtin_neon_vset_lane_i8(__a, (int8x8_t)__b, __c); })
3824 #define vset_lane_u16(a, b, __c) __extension__ ({ \
3825 uint16_t __a = (a); uint16x4_t __b = (b); \
3826 (uint16x4_t)__builtin_neon_vset_lane_i16(__a, (int16x4_t)__b, __c); })
3827 #define vset_lane_u32(a, b, __c) __extension__ ({ \
3828 uint32_t __a = (a); uint32x2_t __b = (b); \
3829 (uint32x2_t)__builtin_neon_vset_lane_i32(__a, (int32x2_t)__b, __c); })
3830 #define vset_lane_s8(a, b, __c) __extension__ ({ \
3831 int8_t __a = (a); int8x8_t __b = (b); \
3832 (int8x8_t)__builtin_neon_vset_lane_i8(__a, __b, __c); })
3833 #define vset_lane_s16(a, b, __c) __extension__ ({ \
3834 int16_t __a = (a); int16x4_t __b = (b); \
3835 (int16x4_t)__builtin_neon_vset_lane_i16(__a, __b, __c); })
3836 #define vset_lane_s32(a, b, __c) __extension__ ({ \
3837 int32_t __a = (a); int32x2_t __b = (b); \
3838 (int32x2_t)__builtin_neon_vset_lane_i32(__a, __b, __c); })
3839 #define vset_lane_p8(a, b, __c) __extension__ ({ \
3840 poly8_t __a = (a); poly8x8_t __b = (b); \
3841 (poly8x8_t)__builtin_neon_vset_lane_i8(__a, (int8x8_t)__b, __c); })
3842 #define vset_lane_p16(a, b, __c) __extension__ ({ \
3843 poly16_t __a = (a); poly16x4_t __b = (b); \
3844 (poly16x4_t)__builtin_neon_vset_lane_i16(__a, (int16x4_t)__b, __c); })
3845 #define vset_lane_f32(a, b, __c) __extension__ ({ \
3846 float32_t __a = (a); float32x2_t __b = (b); \
3847 (float32x2_t)__builtin_neon_vset_lane_f32(__a, __b, __c); })
3848 #define vsetq_lane_u8(a, b, __c) __extension__ ({ \
3849 uint8_t __a = (a); uint8x16_t __b = (b); \
3850 (uint8x16_t)__builtin_neon_vsetq_lane_i8(__a, (int8x16_t)__b, __c); })
3851 #define vsetq_lane_u16(a, b, __c) __extension__ ({ \
3852 uint16_t __a = (a); uint16x8_t __b = (b); \
3853 (uint16x8_t)__builtin_neon_vsetq_lane_i16(__a, (int16x8_t)__b, __c); })
3854 #define vsetq_lane_u32(a, b, __c) __extension__ ({ \
3855 uint32_t __a = (a); uint32x4_t __b = (b); \
3856 (uint32x4_t)__builtin_neon_vsetq_lane_i32(__a, (int32x4_t)__b, __c); })
3857 #define vsetq_lane_s8(a, b, __c) __extension__ ({ \
3858 int8_t __a = (a); int8x16_t __b = (b); \
3859 (int8x16_t)__builtin_neon_vsetq_lane_i8(__a, __b, __c); })
3860 #define vsetq_lane_s16(a, b, __c) __extension__ ({ \
3861 int16_t __a = (a); int16x8_t __b = (b); \
3862 (int16x8_t)__builtin_neon_vsetq_lane_i16(__a, __b, __c); })
3863 #define vsetq_lane_s32(a, b, __c) __extension__ ({ \
3864 int32_t __a = (a); int32x4_t __b = (b); \
3865 (int32x4_t)__builtin_neon_vsetq_lane_i32(__a, __b, __c); })
3866 #define vsetq_lane_p8(a, b, __c) __extension__ ({ \
3867 poly8_t __a = (a); poly8x16_t __b = (b); \
3868 (poly8x16_t)__builtin_neon_vsetq_lane_i8(__a, (int8x16_t)__b, __c); })
3869 #define vsetq_lane_p16(a, b, __c) __extension__ ({ \
3870 poly16_t __a = (a); poly16x8_t __b = (b); \
3871 (poly16x8_t)__builtin_neon_vsetq_lane_i16(__a, (int16x8_t)__b, __c); })
3872 #define vsetq_lane_f32(a, b, __c) __extension__ ({ \
3873 float32_t __a = (a); float32x4_t __b = (b); \
3874 (float32x4_t)__builtin_neon_vsetq_lane_f32(__a, __b, __c); })
3875 #define vset_lane_s64(a, b, __c) __extension__ ({ \
3876 int64_t __a = (a); int64x1_t __b = (b); \
3877 (int64x1_t)__builtin_neon_vset_lane_i64(__a, __b, __c); })
3878 #define vset_lane_u64(a, b, __c) __extension__ ({ \
3879 uint64_t __a = (a); uint64x1_t __b = (b); \
3880 (uint64x1_t)__builtin_neon_vset_lane_i64(__a, (int64x1_t)__b, __c); })
3881 #define vsetq_lane_s64(a, b, __c) __extension__ ({ \
3882 int64_t __a = (a); int64x2_t __b = (b); \
3883 (int64x2_t)__builtin_neon_vsetq_lane_i64(__a, __b, __c); })
3884 #define vsetq_lane_u64(a, b, __c) __extension__ ({ \
3885 uint64_t __a = (a); uint64x2_t __b = (b); \
3886 (uint64x2_t)__builtin_neon_vsetq_lane_i64(__a, (int64x2_t)__b, __c); })
3887
3888 __ai int8x8_t vshl_s8(int8x8_t __a, int8x8_t __b) { \
3889 return (int8x8_t)__builtin_neon_vshl_v(__a, __b, 0); }
3890 __ai int16x4_t vshl_s16(int16x4_t __a, int16x4_t __b) { \
3891 return (int16x4_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 1); }
3892 __ai int32x2_t vshl_s32(int32x2_t __a, int32x2_t __b) { \
3893 return (int32x2_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 2); }
3894 __ai int64x1_t vshl_s64(int64x1_t __a, int64x1_t __b) { \
3895 return (int64x1_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 3); }
3896 __ai uint8x8_t vshl_u8(uint8x8_t __a, int8x8_t __b) { \
3897 return (uint8x8_t)__builtin_neon_vshl_v((int8x8_t)__a, __b, 8); }
3898 __ai uint16x4_t vshl_u16(uint16x4_t __a, int16x4_t __b) { \
3899 return (uint16x4_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 9); }
3900 __ai uint32x2_t vshl_u32(uint32x2_t __a, int32x2_t __b) { \
3901 return (uint32x2_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 10); }
3902 __ai uint64x1_t vshl_u64(uint64x1_t __a, int64x1_t __b) { \
3903 return (uint64x1_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 11); }
3904 __ai int8x16_t vshlq_s8(int8x16_t __a, int8x16_t __b) { \
3905 return (int8x16_t)__builtin_neon_vshlq_v(__a, __b, 16); }
3906 __ai int16x8_t vshlq_s16(int16x8_t __a, int16x8_t __b) { \
3907 return (int16x8_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 17); }
3908 __ai int32x4_t vshlq_s32(int32x4_t __a, int32x4_t __b) { \
3909 return (int32x4_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 18); }
3910 __ai int64x2_t vshlq_s64(int64x2_t __a, int64x2_t __b) { \
3911 return (int64x2_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 19); }
3912 __ai uint8x16_t vshlq_u8(uint8x16_t __a, int8x16_t __b) { \
3913 return (uint8x16_t)__builtin_neon_vshlq_v((int8x16_t)__a, __b, 24); }
3914 __ai uint16x8_t vshlq_u16(uint16x8_t __a, int16x8_t __b) { \
3915 return (uint16x8_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 25); }
3916 __ai uint32x4_t vshlq_u32(uint32x4_t __a, int32x4_t __b) { \
3917 return (uint32x4_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 26); }
3918 __ai uint64x2_t vshlq_u64(uint64x2_t __a, int64x2_t __b) { \
3919 return (uint64x2_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 27); }
3920
3921 #define vshll_n_s8(a, __b) __extension__ ({ \
3922 int8x8_t __a = (a); \
3923 (int16x8_t)__builtin_neon_vshll_n_v(__a, __b, 17); })
3924 #define vshll_n_s16(a, __b) __extension__ ({ \
3925 int16x4_t __a = (a); \
3926 (int32x4_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 18); })
3927 #define vshll_n_s32(a, __b) __extension__ ({ \
3928 int32x2_t __a = (a); \
3929 (int64x2_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 19); })
3930 #define vshll_n_u8(a, __b) __extension__ ({ \
3931 uint8x8_t __a = (a); \
3932 (uint16x8_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 25); })
3933 #define vshll_n_u16(a, __b) __extension__ ({ \
3934 uint16x4_t __a = (a); \
3935 (uint32x4_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 26); })
3936 #define vshll_n_u32(a, __b) __extension__ ({ \
3937 uint32x2_t __a = (a); \
3938 (uint64x2_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 27); })
3939
3940 #define vshl_n_s8(a, __b) __extension__ ({ \
3941 int8x8_t __a = (a); \
3942 (int8x8_t)__builtin_neon_vshl_n_v(__a, __b, 0); })
3943 #define vshl_n_s16(a, __b) __extension__ ({ \
3944 int16x4_t __a = (a); \
3945 (int16x4_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 1); })
3946 #define vshl_n_s32(a, __b) __extension__ ({ \
3947 int32x2_t __a = (a); \
3948 (int32x2_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 2); })
3949 #define vshl_n_s64(a, __b) __extension__ ({ \
3950 int64x1_t __a = (a); \
3951 (int64x1_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 3); })
3952 #define vshl_n_u8(a, __b) __extension__ ({ \
3953 uint8x8_t __a = (a); \
3954 (uint8x8_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 8); })
3955 #define vshl_n_u16(a, __b) __extension__ ({ \
3956 uint16x4_t __a = (a); \
3957 (uint16x4_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 9); })
3958 #define vshl_n_u32(a, __b) __extension__ ({ \
3959 uint32x2_t __a = (a); \
3960 (uint32x2_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 10); })
3961 #define vshl_n_u64(a, __b) __extension__ ({ \
3962 uint64x1_t __a = (a); \
3963 (uint64x1_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 11); })
3964 #define vshlq_n_s8(a, __b) __extension__ ({ \
3965 int8x16_t __a = (a); \
3966 (int8x16_t)__builtin_neon_vshlq_n_v(__a, __b, 16); })
3967 #define vshlq_n_s16(a, __b) __extension__ ({ \
3968 int16x8_t __a = (a); \
3969 (int16x8_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 17); })
3970 #define vshlq_n_s32(a, __b) __extension__ ({ \
3971 int32x4_t __a = (a); \
3972 (int32x4_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 18); })
3973 #define vshlq_n_s64(a, __b) __extension__ ({ \
3974 int64x2_t __a = (a); \
3975 (int64x2_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 19); })
3976 #define vshlq_n_u8(a, __b) __extension__ ({ \
3977 uint8x16_t __a = (a); \
3978 (uint8x16_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 24); })
3979 #define vshlq_n_u16(a, __b) __extension__ ({ \
3980 uint16x8_t __a = (a); \
3981 (uint16x8_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 25); })
3982 #define vshlq_n_u32(a, __b) __extension__ ({ \
3983 uint32x4_t __a = (a); \
3984 (uint32x4_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 26); })
3985 #define vshlq_n_u64(a, __b) __extension__ ({ \
3986 uint64x2_t __a = (a); \
3987 (uint64x2_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 27); })
3988
3989 #define vshrn_n_s16(a, __b) __extension__ ({ \
3990 int16x8_t __a = (a); \
3991 (int8x8_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 0); })
3992 #define vshrn_n_s32(a, __b) __extension__ ({ \
3993 int32x4_t __a = (a); \
3994 (int16x4_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 1); })
3995 #define vshrn_n_s64(a, __b) __extension__ ({ \
3996 int64x2_t __a = (a); \
3997 (int32x2_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 2); })
3998 #define vshrn_n_u16(a, __b) __extension__ ({ \
3999 uint16x8_t __a = (a); \
4000 (uint8x8_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 8); })
4001 #define vshrn_n_u32(a, __b) __extension__ ({ \
4002 uint32x4_t __a = (a); \
4003 (uint16x4_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 9); })
4004 #define vshrn_n_u64(a, __b) __extension__ ({ \
4005 uint64x2_t __a = (a); \
4006 (uint32x2_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 10); })
4007
4008 #define vshr_n_s8(a, __b) __extension__ ({ \
4009 int8x8_t __a = (a); \
4010 (int8x8_t)__builtin_neon_vshr_n_v(__a, __b, 0); })
4011 #define vshr_n_s16(a, __b) __extension__ ({ \
4012 int16x4_t __a = (a); \
4013 (int16x4_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 1); })
4014 #define vshr_n_s32(a, __b) __extension__ ({ \
4015 int32x2_t __a = (a); \
4016 (int32x2_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 2); })
4017 #define vshr_n_s64(a, __b) __extension__ ({ \
4018 int64x1_t __a = (a); \
4019 (int64x1_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 3); })
4020 #define vshr_n_u8(a, __b) __extension__ ({ \
4021 uint8x8_t __a = (a); \
4022 (uint8x8_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 8); })
4023 #define vshr_n_u16(a, __b) __extension__ ({ \
4024 uint16x4_t __a = (a); \
4025 (uint16x4_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 9); })
4026 #define vshr_n_u32(a, __b) __extension__ ({ \
4027 uint32x2_t __a = (a); \
4028 (uint32x2_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 10); })
4029 #define vshr_n_u64(a, __b) __extension__ ({ \
4030 uint64x1_t __a = (a); \
4031 (uint64x1_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 11); })
4032 #define vshrq_n_s8(a, __b) __extension__ ({ \
4033 int8x16_t __a = (a); \
4034 (int8x16_t)__builtin_neon_vshrq_n_v(__a, __b, 16); })
4035 #define vshrq_n_s16(a, __b) __extension__ ({ \
4036 int16x8_t __a = (a); \
4037 (int16x8_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 17); })
4038 #define vshrq_n_s32(a, __b) __extension__ ({ \
4039 int32x4_t __a = (a); \
4040 (int32x4_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 18); })
4041 #define vshrq_n_s64(a, __b) __extension__ ({ \
4042 int64x2_t __a = (a); \
4043 (int64x2_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 19); })
4044 #define vshrq_n_u8(a, __b) __extension__ ({ \
4045 uint8x16_t __a = (a); \
4046 (uint8x16_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 24); })
4047 #define vshrq_n_u16(a, __b) __extension__ ({ \
4048 uint16x8_t __a = (a); \
4049 (uint16x8_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 25); })
4050 #define vshrq_n_u32(a, __b) __extension__ ({ \
4051 uint32x4_t __a = (a); \
4052 (uint32x4_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 26); })
4053 #define vshrq_n_u64(a, __b) __extension__ ({ \
4054 uint64x2_t __a = (a); \
4055 (uint64x2_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 27); })
4056
4057 #define vsli_n_s8(a, b, __c) __extension__ ({ \
4058 int8x8_t __a = (a); int8x8_t __b = (b); \
4059 (int8x8_t)__builtin_neon_vsli_n_v(__a, __b, __c, 0); })
4060 #define vsli_n_s16(a, b, __c) __extension__ ({ \
4061 int16x4_t __a = (a); int16x4_t __b = (b); \
4062 (int16x4_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); })
4063 #define vsli_n_s32(a, b, __c) __extension__ ({ \
4064 int32x2_t __a = (a); int32x2_t __b = (b); \
4065 (int32x2_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); })
4066 #define vsli_n_s64(a, b, __c) __extension__ ({ \
4067 int64x1_t __a = (a); int64x1_t __b = (b); \
4068 (int64x1_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); })
4069 #define vsli_n_u8(a, b, __c) __extension__ ({ \
4070 uint8x8_t __a = (a); uint8x8_t __b = (b); \
4071 (uint8x8_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 8); })
4072 #define vsli_n_u16(a, b, __c) __extension__ ({ \
4073 uint16x4_t __a = (a); uint16x4_t __b = (b); \
4074 (uint16x4_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 9); })
4075 #define vsli_n_u32(a, b, __c) __extension__ ({ \
4076 uint32x2_t __a = (a); uint32x2_t __b = (b); \
4077 (uint32x2_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 10); })
4078 #define vsli_n_u64(a, b, __c) __extension__ ({ \
4079 uint64x1_t __a = (a); uint64x1_t __b = (b); \
4080 (uint64x1_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 11); })
4081 #define vsli_n_p8(a, b, __c) __extension__ ({ \
4082 poly8x8_t __a = (a); poly8x8_t __b = (b); \
4083 (poly8x8_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 5); })
4084 #define vsli_n_p16(a, b, __c) __extension__ ({ \
4085 poly16x4_t __a = (a); poly16x4_t __b = (b); \
4086 (poly16x4_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 6); })
4087 #define vsliq_n_s8(a, b, __c) __extension__ ({ \
4088 int8x16_t __a = (a); int8x16_t __b = (b); \
4089 (int8x16_t)__builtin_neon_vsliq_n_v(__a, __b, __c, 16); })
4090 #define vsliq_n_s16(a, b, __c) __extension__ ({ \
4091 int16x8_t __a = (a); int16x8_t __b = (b); \
4092 (int16x8_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 17); })
4093 #define vsliq_n_s32(a, b, __c) __extension__ ({ \
4094 int32x4_t __a = (a); int32x4_t __b = (b); \
4095 (int32x4_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 18); })
4096 #define vsliq_n_s64(a, b, __c) __extension__ ({ \
4097 int64x2_t __a = (a); int64x2_t __b = (b); \
4098 (int64x2_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 19); })
4099 #define vsliq_n_u8(a, b, __c) __extension__ ({ \
4100 uint8x16_t __a = (a); uint8x16_t __b = (b); \
4101 (uint8x16_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 24); })
4102 #define vsliq_n_u16(a, b, __c) __extension__ ({ \
4103 uint16x8_t __a = (a); uint16x8_t __b = (b); \
4104 (uint16x8_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 25); })
4105 #define vsliq_n_u32(a, b, __c) __extension__ ({ \
4106 uint32x4_t __a = (a); uint32x4_t __b = (b); \
4107 (uint32x4_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 26); })
4108 #define vsliq_n_u64(a, b, __c) __extension__ ({ \
4109 uint64x2_t __a = (a); uint64x2_t __b = (b); \
4110 (uint64x2_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 27); })
4111 #define vsliq_n_p8(a, b, __c) __extension__ ({ \
4112 poly8x16_t __a = (a); poly8x16_t __b = (b); \
4113 (poly8x16_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 21); })
4114 #define vsliq_n_p16(a, b, __c) __extension__ ({ \
4115 poly16x8_t __a = (a); poly16x8_t __b = (b); \
4116 (poly16x8_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 22); })
4117
4118 #define vsra_n_s8(a, b, __c) __extension__ ({ \
4119 int8x8_t __a = (a); int8x8_t __b = (b); \
4120 (int8x8_t)__builtin_neon_vsra_n_v(__a, __b, __c, 0); })
4121 #define vsra_n_s16(a, b, __c) __extension__ ({ \
4122 int16x4_t __a = (a); int16x4_t __b = (b); \
4123 (int16x4_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); })
4124 #define vsra_n_s32(a, b, __c) __extension__ ({ \
4125 int32x2_t __a = (a); int32x2_t __b = (b); \
4126 (int32x2_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); })
4127 #define vsra_n_s64(a, b, __c) __extension__ ({ \
4128 int64x1_t __a = (a); int64x1_t __b = (b); \
4129 (int64x1_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); })
4130 #define vsra_n_u8(a, b, __c) __extension__ ({ \
4131 uint8x8_t __a = (a); uint8x8_t __b = (b); \
4132 (uint8x8_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 8); })
4133 #define vsra_n_u16(a, b, __c) __extension__ ({ \
4134 uint16x4_t __a = (a); uint16x4_t __b = (b); \
4135 (uint16x4_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 9); })
4136 #define vsra_n_u32(a, b, __c) __extension__ ({ \
4137 uint32x2_t __a = (a); uint32x2_t __b = (b); \
4138 (uint32x2_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 10); })
4139 #define vsra_n_u64(a, b, __c) __extension__ ({ \
4140 uint64x1_t __a = (a); uint64x1_t __b = (b); \
4141 (uint64x1_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 11); })
4142 #define vsraq_n_s8(a, b, __c) __extension__ ({ \
4143 int8x16_t __a = (a); int8x16_t __b = (b); \
4144 (int8x16_t)__builtin_neon_vsraq_n_v(__a, __b, __c, 16); })
4145 #define vsraq_n_s16(a, b, __c) __extension__ ({ \
4146 int16x8_t __a = (a); int16x8_t __b = (b); \
4147 (int16x8_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 17); })
4148 #define vsraq_n_s32(a, b, __c) __extension__ ({ \
4149 int32x4_t __a = (a); int32x4_t __b = (b); \
4150 (int32x4_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 18); })
4151 #define vsraq_n_s64(a, b, __c) __extension__ ({ \
4152 int64x2_t __a = (a); int64x2_t __b = (b); \
4153 (int64x2_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 19); })
4154 #define vsraq_n_u8(a, b, __c) __extension__ ({ \
4155 uint8x16_t __a = (a); uint8x16_t __b = (b); \
4156 (uint8x16_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 24); })
4157 #define vsraq_n_u16(a, b, __c) __extension__ ({ \
4158 uint16x8_t __a = (a); uint16x8_t __b = (b); \
4159 (uint16x8_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 25); })
4160 #define vsraq_n_u32(a, b, __c) __extension__ ({ \
4161 uint32x4_t __a = (a); uint32x4_t __b = (b); \
4162 (uint32x4_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 26); })
4163 #define vsraq_n_u64(a, b, __c) __extension__ ({ \
4164 uint64x2_t __a = (a); uint64x2_t __b = (b); \
4165 (uint64x2_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 27); })
4166
4167 #define vsri_n_s8(a, b, __c) __extension__ ({ \
4168 int8x8_t __a = (a); int8x8_t __b = (b); \
4169 (int8x8_t)__builtin_neon_vsri_n_v(__a, __b, __c, 0); })
4170 #define vsri_n_s16(a, b, __c) __extension__ ({ \
4171 int16x4_t __a = (a); int16x4_t __b = (b); \
4172 (int16x4_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); })
4173 #define vsri_n_s32(a, b, __c) __extension__ ({ \
4174 int32x2_t __a = (a); int32x2_t __b = (b); \
4175 (int32x2_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); })
4176 #define vsri_n_s64(a, b, __c) __extension__ ({ \
4177 int64x1_t __a = (a); int64x1_t __b = (b); \
4178 (int64x1_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); })
4179 #define vsri_n_u8(a, b, __c) __extension__ ({ \
4180 uint8x8_t __a = (a); uint8x8_t __b = (b); \
4181 (uint8x8_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 8); })
4182 #define vsri_n_u16(a, b, __c) __extension__ ({ \
4183 uint16x4_t __a = (a); uint16x4_t __b = (b); \
4184 (uint16x4_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 9); })
4185 #define vsri_n_u32(a, b, __c) __extension__ ({ \
4186 uint32x2_t __a = (a); uint32x2_t __b = (b); \
4187 (uint32x2_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 10); })
4188 #define vsri_n_u64(a, b, __c) __extension__ ({ \
4189 uint64x1_t __a = (a); uint64x1_t __b = (b); \
4190 (uint64x1_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 11); })
4191 #define vsri_n_p8(a, b, __c) __extension__ ({ \
4192 poly8x8_t __a = (a); poly8x8_t __b = (b); \
4193 (poly8x8_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 5); })
4194 #define vsri_n_p16(a, b, __c) __extension__ ({ \
4195 poly16x4_t __a = (a); poly16x4_t __b = (b); \
4196 (poly16x4_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 6); })
4197 #define vsriq_n_s8(a, b, __c) __extension__ ({ \
4198 int8x16_t __a = (a); int8x16_t __b = (b); \
4199 (int8x16_t)__builtin_neon_vsriq_n_v(__a, __b, __c, 16); })
4200 #define vsriq_n_s16(a, b, __c) __extension__ ({ \
4201 int16x8_t __a = (a); int16x8_t __b = (b); \
4202 (int16x8_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 17); })
4203 #define vsriq_n_s32(a, b, __c) __extension__ ({ \
4204 int32x4_t __a = (a); int32x4_t __b = (b); \
4205 (int32x4_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 18); })
4206 #define vsriq_n_s64(a, b, __c) __extension__ ({ \
4207 int64x2_t __a = (a); int64x2_t __b = (b); \
4208 (int64x2_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 19); })
4209 #define vsriq_n_u8(a, b, __c) __extension__ ({ \
4210 uint8x16_t __a = (a); uint8x16_t __b = (b); \
4211 (uint8x16_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 24); })
4212 #define vsriq_n_u16(a, b, __c) __extension__ ({ \
4213 uint16x8_t __a = (a); uint16x8_t __b = (b); \
4214 (uint16x8_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 25); })
4215 #define vsriq_n_u32(a, b, __c) __extension__ ({ \
4216 uint32x4_t __a = (a); uint32x4_t __b = (b); \
4217 (uint32x4_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 26); })
4218 #define vsriq_n_u64(a, b, __c) __extension__ ({ \
4219 uint64x2_t __a = (a); uint64x2_t __b = (b); \
4220 (uint64x2_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 27); })
4221 #define vsriq_n_p8(a, b, __c) __extension__ ({ \
4222 poly8x16_t __a = (a); poly8x16_t __b = (b); \
4223 (poly8x16_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 21); })
4224 #define vsriq_n_p16(a, b, __c) __extension__ ({ \
4225 poly16x8_t __a = (a); poly16x8_t __b = (b); \
4226 (poly16x8_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 22); })
4227
4228 #define vst1q_u8(__a, b) __extension__ ({ \
4229 uint8x16_t __b = (b); \
4230 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 24); })
4231 #define vst1q_u16(__a, b) __extension__ ({ \
4232 uint16x8_t __b = (b); \
4233 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 25); })
4234 #define vst1q_u32(__a, b) __extension__ ({ \
4235 uint32x4_t __b = (b); \
4236 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 26); })
4237 #define vst1q_u64(__a, b) __extension__ ({ \
4238 uint64x2_t __b = (b); \
4239 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 27); })
4240 #define vst1q_s8(__a, b) __extension__ ({ \
4241 int8x16_t __b = (b); \
4242 __builtin_neon_vst1q_v(__a, __b, 16); })
4243 #define vst1q_s16(__a, b) __extension__ ({ \
4244 int16x8_t __b = (b); \
4245 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 17); })
4246 #define vst1q_s32(__a, b) __extension__ ({ \
4247 int32x4_t __b = (b); \
4248 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 18); })
4249 #define vst1q_s64(__a, b) __extension__ ({ \
4250 int64x2_t __b = (b); \
4251 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 19); })
4252 #define vst1q_f16(__a, b) __extension__ ({ \
4253 float16x8_t __b = (b); \
4254 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 23); })
4255 #define vst1q_f32(__a, b) __extension__ ({ \
4256 float32x4_t __b = (b); \
4257 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 20); })
4258 #define vst1q_p8(__a, b) __extension__ ({ \
4259 poly8x16_t __b = (b); \
4260 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 21); })
4261 #define vst1q_p16(__a, b) __extension__ ({ \
4262 poly16x8_t __b = (b); \
4263 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 22); })
4264 #define vst1_u8(__a, b) __extension__ ({ \
4265 uint8x8_t __b = (b); \
4266 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 8); })
4267 #define vst1_u16(__a, b) __extension__ ({ \
4268 uint16x4_t __b = (b); \
4269 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 9); })
4270 #define vst1_u32(__a, b) __extension__ ({ \
4271 uint32x2_t __b = (b); \
4272 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 10); })
4273 #define vst1_u64(__a, b) __extension__ ({ \
4274 uint64x1_t __b = (b); \
4275 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 11); })
4276 #define vst1_s8(__a, b) __extension__ ({ \
4277 int8x8_t __b = (b); \
4278 __builtin_neon_vst1_v(__a, __b, 0); })
4279 #define vst1_s16(__a, b) __extension__ ({ \
4280 int16x4_t __b = (b); \
4281 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 1); })
4282 #define vst1_s32(__a, b) __extension__ ({ \
4283 int32x2_t __b = (b); \
4284 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 2); })
4285 #define vst1_s64(__a, b) __extension__ ({ \
4286 int64x1_t __b = (b); \
4287 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 3); })
4288 #define vst1_f16(__a, b) __extension__ ({ \
4289 float16x4_t __b = (b); \
4290 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 7); })
4291 #define vst1_f32(__a, b) __extension__ ({ \
4292 float32x2_t __b = (b); \
4293 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 4); })
4294 #define vst1_p8(__a, b) __extension__ ({ \
4295 poly8x8_t __b = (b); \
4296 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 5); })
4297 #define vst1_p16(__a, b) __extension__ ({ \
4298 poly16x4_t __b = (b); \
4299 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 6); })
4300
4301 #define vst1q_lane_u8(__a, b, __c) __extension__ ({ \
4302 uint8x16_t __b = (b); \
4303 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 24); })
4304 #define vst1q_lane_u16(__a, b, __c) __extension__ ({ \
4305 uint16x8_t __b = (b); \
4306 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 25); })
4307 #define vst1q_lane_u32(__a, b, __c) __extension__ ({ \
4308 uint32x4_t __b = (b); \
4309 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 26); })
4310 #define vst1q_lane_u64(__a, b, __c) __extension__ ({ \
4311 uint64x2_t __b = (b); \
4312 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 27); })
4313 #define vst1q_lane_s8(__a, b, __c) __extension__ ({ \
4314 int8x16_t __b = (b); \
4315 __builtin_neon_vst1q_lane_v(__a, __b, __c, 16); })
4316 #define vst1q_lane_s16(__a, b, __c) __extension__ ({ \
4317 int16x8_t __b = (b); \
4318 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 17); })
4319 #define vst1q_lane_s32(__a, b, __c) __extension__ ({ \
4320 int32x4_t __b = (b); \
4321 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 18); })
4322 #define vst1q_lane_s64(__a, b, __c) __extension__ ({ \
4323 int64x2_t __b = (b); \
4324 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 19); })
4325 #define vst1q_lane_f16(__a, b, __c) __extension__ ({ \
4326 float16x8_t __b = (b); \
4327 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 23); })
4328 #define vst1q_lane_f32(__a, b, __c) __extension__ ({ \
4329 float32x4_t __b = (b); \
4330 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 20); })
4331 #define vst1q_lane_p8(__a, b, __c) __extension__ ({ \
4332 poly8x16_t __b = (b); \
4333 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 21); })
4334 #define vst1q_lane_p16(__a, b, __c) __extension__ ({ \
4335 poly16x8_t __b = (b); \
4336 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 22); })
4337 #define vst1_lane_u8(__a, b, __c) __extension__ ({ \
4338 uint8x8_t __b = (b); \
4339 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 8); })
4340 #define vst1_lane_u16(__a, b, __c) __extension__ ({ \
4341 uint16x4_t __b = (b); \
4342 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 9); })
4343 #define vst1_lane_u32(__a, b, __c) __extension__ ({ \
4344 uint32x2_t __b = (b); \
4345 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 10); })
4346 #define vst1_lane_u64(__a, b, __c) __extension__ ({ \
4347 uint64x1_t __b = (b); \
4348 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 11); })
4349 #define vst1_lane_s8(__a, b, __c) __extension__ ({ \
4350 int8x8_t __b = (b); \
4351 __builtin_neon_vst1_lane_v(__a, __b, __c, 0); })
4352 #define vst1_lane_s16(__a, b, __c) __extension__ ({ \
4353 int16x4_t __b = (b); \
4354 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 1); })
4355 #define vst1_lane_s32(__a, b, __c) __extension__ ({ \
4356 int32x2_t __b = (b); \
4357 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 2); })
4358 #define vst1_lane_s64(__a, b, __c) __extension__ ({ \
4359 int64x1_t __b = (b); \
4360 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 3); })
4361 #define vst1_lane_f16(__a, b, __c) __extension__ ({ \
4362 float16x4_t __b = (b); \
4363 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 7); })
4364 #define vst1_lane_f32(__a, b, __c) __extension__ ({ \
4365 float32x2_t __b = (b); \
4366 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 4); })
4367 #define vst1_lane_p8(__a, b, __c) __extension__ ({ \
4368 poly8x8_t __b = (b); \
4369 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 5); })
4370 #define vst1_lane_p16(__a, b, __c) __extension__ ({ \
4371 poly16x4_t __b = (b); \
4372 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 6); })
4373
4374 #define vst2q_u8(__a, b) __extension__ ({ \
4375 uint8x16x2_t __b = (b); \
4376 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 24); })
4377 #define vst2q_u16(__a, b) __extension__ ({ \
4378 uint16x8x2_t __b = (b); \
4379 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 25); })
4380 #define vst2q_u32(__a, b) __extension__ ({ \
4381 uint32x4x2_t __b = (b); \
4382 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 26); })
4383 #define vst2q_s8(__a, b) __extension__ ({ \
4384 int8x16x2_t __b = (b); \
4385 __builtin_neon_vst2q_v(__a, __b.val[0], __b.val[1], 16); })
4386 #define vst2q_s16(__a, b) __extension__ ({ \
4387 int16x8x2_t __b = (b); \
4388 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 17); })
4389 #define vst2q_s32(__a, b) __extension__ ({ \
4390 int32x4x2_t __b = (b); \
4391 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 18); })
4392 #define vst2q_f16(__a, b) __extension__ ({ \
4393 float16x8x2_t __b = (b); \
4394 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 23); })
4395 #define vst2q_f32(__a, b) __extension__ ({ \
4396 float32x4x2_t __b = (b); \
4397 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 20); })
4398 #define vst2q_p8(__a, b) __extension__ ({ \
4399 poly8x16x2_t __b = (b); \
4400 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 21); })
4401 #define vst2q_p16(__a, b) __extension__ ({ \
4402 poly16x8x2_t __b = (b); \
4403 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 22); })
4404 #define vst2_u8(__a, b) __extension__ ({ \
4405 uint8x8x2_t __b = (b); \
4406 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 8); })
4407 #define vst2_u16(__a, b) __extension__ ({ \
4408 uint16x4x2_t __b = (b); \
4409 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 9); })
4410 #define vst2_u32(__a, b) __extension__ ({ \
4411 uint32x2x2_t __b = (b); \
4412 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 10); })
4413 #define vst2_u64(__a, b) __extension__ ({ \
4414 uint64x1x2_t __b = (b); \
4415 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 11); })
4416 #define vst2_s8(__a, b) __extension__ ({ \
4417 int8x8x2_t __b = (b); \
4418 __builtin_neon_vst2_v(__a, __b.val[0], __b.val[1], 0); })
4419 #define vst2_s16(__a, b) __extension__ ({ \
4420 int16x4x2_t __b = (b); \
4421 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 1); })
4422 #define vst2_s32(__a, b) __extension__ ({ \
4423 int32x2x2_t __b = (b); \
4424 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 2); })
4425 #define vst2_s64(__a, b) __extension__ ({ \
4426 int64x1x2_t __b = (b); \
4427 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 3); })
4428 #define vst2_f16(__a, b) __extension__ ({ \
4429 float16x4x2_t __b = (b); \
4430 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 7); })
4431 #define vst2_f32(__a, b) __extension__ ({ \
4432 float32x2x2_t __b = (b); \
4433 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 4); })
4434 #define vst2_p8(__a, b) __extension__ ({ \
4435 poly8x8x2_t __b = (b); \
4436 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 5); })
4437 #define vst2_p16(__a, b) __extension__ ({ \
4438 poly16x4x2_t __b = (b); \
4439 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 6); })
4440
4441 #define vst2q_lane_u16(__a, b, __c) __extension__ ({ \
4442 uint16x8x2_t __b = (b); \
4443 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 25); })
4444 #define vst2q_lane_u32(__a, b, __c) __extension__ ({ \
4445 uint32x4x2_t __b = (b); \
4446 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 26); })
4447 #define vst2q_lane_s16(__a, b, __c) __extension__ ({ \
4448 int16x8x2_t __b = (b); \
4449 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 17); })
4450 #define vst2q_lane_s32(__a, b, __c) __extension__ ({ \
4451 int32x4x2_t __b = (b); \
4452 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 18); })
4453 #define vst2q_lane_f16(__a, b, __c) __extension__ ({ \
4454 float16x8x2_t __b = (b); \
4455 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 23); })
4456 #define vst2q_lane_f32(__a, b, __c) __extension__ ({ \
4457 float32x4x2_t __b = (b); \
4458 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 20); })
4459 #define vst2q_lane_p16(__a, b, __c) __extension__ ({ \
4460 poly16x8x2_t __b = (b); \
4461 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 22); })
4462 #define vst2_lane_u8(__a, b, __c) __extension__ ({ \
4463 uint8x8x2_t __b = (b); \
4464 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 8); })
4465 #define vst2_lane_u16(__a, b, __c) __extension__ ({ \
4466 uint16x4x2_t __b = (b); \
4467 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 9); })
4468 #define vst2_lane_u32(__a, b, __c) __extension__ ({ \
4469 uint32x2x2_t __b = (b); \
4470 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 10); })
4471 #define vst2_lane_s8(__a, b, __c) __extension__ ({ \
4472 int8x8x2_t __b = (b); \
4473 __builtin_neon_vst2_lane_v(__a, __b.val[0], __b.val[1], __c, 0); })
4474 #define vst2_lane_s16(__a, b, __c) __extension__ ({ \
4475 int16x4x2_t __b = (b); \
4476 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 1); })
4477 #define vst2_lane_s32(__a, b, __c) __extension__ ({ \
4478 int32x2x2_t __b = (b); \
4479 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 2); })
4480 #define vst2_lane_f16(__a, b, __c) __extension__ ({ \
4481 float16x4x2_t __b = (b); \
4482 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 7); })
4483 #define vst2_lane_f32(__a, b, __c) __extension__ ({ \
4484 float32x2x2_t __b = (b); \
4485 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 4); })
4486 #define vst2_lane_p8(__a, b, __c) __extension__ ({ \
4487 poly8x8x2_t __b = (b); \
4488 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 5); })
4489 #define vst2_lane_p16(__a, b, __c) __extension__ ({ \
4490 poly16x4x2_t __b = (b); \
4491 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 6); })
4492
4493 #define vst3q_u8(__a, b) __extension__ ({ \
4494 uint8x16x3_t __b = (b); \
4495 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 24); })
4496 #define vst3q_u16(__a, b) __extension__ ({ \
4497 uint16x8x3_t __b = (b); \
4498 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 25); })
4499 #define vst3q_u32(__a, b) __extension__ ({ \
4500 uint32x4x3_t __b = (b); \
4501 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 26); })
4502 #define vst3q_s8(__a, b) __extension__ ({ \
4503 int8x16x3_t __b = (b); \
4504 __builtin_neon_vst3q_v(__a, __b.val[0], __b.val[1], __b.val[2], 16); })
4505 #define vst3q_s16(__a, b) __extension__ ({ \
4506 int16x8x3_t __b = (b); \
4507 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 17); })
4508 #define vst3q_s32(__a, b) __extension__ ({ \
4509 int32x4x3_t __b = (b); \
4510 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 18); })
4511 #define vst3q_f16(__a, b) __extension__ ({ \
4512 float16x8x3_t __b = (b); \
4513 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 23); })
4514 #define vst3q_f32(__a, b) __extension__ ({ \
4515 float32x4x3_t __b = (b); \
4516 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 20); })
4517 #define vst3q_p8(__a, b) __extension__ ({ \
4518 poly8x16x3_t __b = (b); \
4519 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 21); })
4520 #define vst3q_p16(__a, b) __extension__ ({ \
4521 poly16x8x3_t __b = (b); \
4522 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 22); })
4523 #define vst3_u8(__a, b) __extension__ ({ \
4524 uint8x8x3_t __b = (b); \
4525 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 8); })
4526 #define vst3_u16(__a, b) __extension__ ({ \
4527 uint16x4x3_t __b = (b); \
4528 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 9); })
4529 #define vst3_u32(__a, b) __extension__ ({ \
4530 uint32x2x3_t __b = (b); \
4531 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 10); })
4532 #define vst3_u64(__a, b) __extension__ ({ \
4533 uint64x1x3_t __b = (b); \
4534 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 11); })
4535 #define vst3_s8(__a, b) __extension__ ({ \
4536 int8x8x3_t __b = (b); \
4537 __builtin_neon_vst3_v(__a, __b.val[0], __b.val[1], __b.val[2], 0); })
4538 #define vst3_s16(__a, b) __extension__ ({ \
4539 int16x4x3_t __b = (b); \
4540 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 1); })
4541 #define vst3_s32(__a, b) __extension__ ({ \
4542 int32x2x3_t __b = (b); \
4543 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 2); })
4544 #define vst3_s64(__a, b) __extension__ ({ \
4545 int64x1x3_t __b = (b); \
4546 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 3); })
4547 #define vst3_f16(__a, b) __extension__ ({ \
4548 float16x4x3_t __b = (b); \
4549 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 7); })
4550 #define vst3_f32(__a, b) __extension__ ({ \
4551 float32x2x3_t __b = (b); \
4552 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 4); })
4553 #define vst3_p8(__a, b) __extension__ ({ \
4554 poly8x8x3_t __b = (b); \
4555 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 5); })
4556 #define vst3_p16(__a, b) __extension__ ({ \
4557 poly16x4x3_t __b = (b); \
4558 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 6); })
4559
4560 #define vst3q_lane_u16(__a, b, __c) __extension__ ({ \
4561 uint16x8x3_t __b = (b); \
4562 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 25); })
4563 #define vst3q_lane_u32(__a, b, __c) __extension__ ({ \
4564 uint32x4x3_t __b = (b); \
4565 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 26); })
4566 #define vst3q_lane_s16(__a, b, __c) __extension__ ({ \
4567 int16x8x3_t __b = (b); \
4568 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 17); })
4569 #define vst3q_lane_s32(__a, b, __c) __extension__ ({ \
4570 int32x4x3_t __b = (b); \
4571 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 18); })
4572 #define vst3q_lane_f16(__a, b, __c) __extension__ ({ \
4573 float16x8x3_t __b = (b); \
4574 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 23); })
4575 #define vst3q_lane_f32(__a, b, __c) __extension__ ({ \
4576 float32x4x3_t __b = (b); \
4577 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 20); })
4578 #define vst3q_lane_p16(__a, b, __c) __extension__ ({ \
4579 poly16x8x3_t __b = (b); \
4580 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 22); })
4581 #define vst3_lane_u8(__a, b, __c) __extension__ ({ \
4582 uint8x8x3_t __b = (b); \
4583 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 8); })
4584 #define vst3_lane_u16(__a, b, __c) __extension__ ({ \
4585 uint16x4x3_t __b = (b); \
4586 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 9); })
4587 #define vst3_lane_u32(__a, b, __c) __extension__ ({ \
4588 uint32x2x3_t __b = (b); \
4589 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 10); })
4590 #define vst3_lane_s8(__a, b, __c) __extension__ ({ \
4591 int8x8x3_t __b = (b); \
4592 __builtin_neon_vst3_lane_v(__a, __b.val[0], __b.val[1], __b.val[2], __c, 0); } )
4593 #define vst3_lane_s16(__a, b, __c) __extension__ ({ \
4594 int16x4x3_t __b = (b); \
4595 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 1); })
4596 #define vst3_lane_s32(__a, b, __c) __extension__ ({ \
4597 int32x2x3_t __b = (b); \
4598 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 2); })
4599 #define vst3_lane_f16(__a, b, __c) __extension__ ({ \
4600 float16x4x3_t __b = (b); \
4601 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 7); })
4602 #define vst3_lane_f32(__a, b, __c) __extension__ ({ \
4603 float32x2x3_t __b = (b); \
4604 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 4); })
4605 #define vst3_lane_p8(__a, b, __c) __extension__ ({ \
4606 poly8x8x3_t __b = (b); \
4607 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 5); })
4608 #define vst3_lane_p16(__a, b, __c) __extension__ ({ \
4609 poly16x4x3_t __b = (b); \
4610 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 6); })
4611
4612 #define vst4q_u8(__a, b) __extension__ ({ \
4613 uint8x16x4_t __b = (b); \
4614 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], (int8x16_t)__b.val[3], 24); })
4615 #define vst4q_u16(__a, b) __extension__ ({ \
4616 uint16x8x4_t __b = (b); \
4617 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], (int8x16_t)__b.val[3], 25); })
4618 #define vst4q_u32(__a, b) __extension__ ({ \
4619 uint32x4x4_t __b = (b); \
4620 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], (int8x16_t)__b.val[3], 26); })
4621 #define vst4q_s8(__a, b) __extension__ ({ \
4622 int8x16x4_t __b = (b); \
4623 __builtin_neon_vst4q_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3], 16 ); })
4624 #define vst4q_s16(__a, b) __extension__ ({ \
4625 int16x8x4_t __b = (b); \
4626 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], (int8x16_t)__b.val[3], 17); })
4627 #define vst4q_s32(__a, b) __extension__ ({ \
4628 int32x4x4_t __b = (b); \
4629 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], (int8x16_t)__b.val[3], 18); })
4630 #define vst4q_f16(__a, b) __extension__ ({ \
4631 float16x8x4_t __b = (b); \
4632 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], (int8x16_t)__b.val[3], 23); })
4633 #define vst4q_f32(__a, b) __extension__ ({ \
4634 float32x4x4_t __b = (b); \
4635 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], (int8x16_t)__b.val[3], 20); })
4636 #define vst4q_p8(__a, b) __extension__ ({ \
4637 poly8x16x4_t __b = (b); \
4638 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], (int8x16_t)__b.val[3], 21); })
4639 #define vst4q_p16(__a, b) __extension__ ({ \
4640 poly16x8x4_t __b = (b); \
4641 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], (int8x16_t)__b.val[3], 22); })
4642 #define vst4_u8(__a, b) __extension__ ({ \
4643 uint8x8x4_t __b = (b); \
4644 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], (int8x8_t)__b.val[3], 8); })
4645 #define vst4_u16(__a, b) __extension__ ({ \
4646 uint16x4x4_t __b = (b); \
4647 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], (int8x8_t)__b.val[3], 9); })
4648 #define vst4_u32(__a, b) __extension__ ({ \
4649 uint32x2x4_t __b = (b); \
4650 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], (int8x8_t)__b.val[3], 10); })
4651 #define vst4_u64(__a, b) __extension__ ({ \
4652 uint64x1x4_t __b = (b); \
4653 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], (int8x8_t)__b.val[3], 11); })
4654 #define vst4_s8(__a, b) __extension__ ({ \
4655 int8x8x4_t __b = (b); \
4656 __builtin_neon_vst4_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3], 0); })
4657 #define vst4_s16(__a, b) __extension__ ({ \
4658 int16x4x4_t __b = (b); \
4659 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], (int8x8_t)__b.val[3], 1); })
4660 #define vst4_s32(__a, b) __extension__ ({ \
4661 int32x2x4_t __b = (b); \
4662 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], (int8x8_t)__b.val[3], 2); })
4663 #define vst4_s64(__a, b) __extension__ ({ \
4664 int64x1x4_t __b = (b); \
4665 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], (int8x8_t)__b.val[3], 3); })
4666 #define vst4_f16(__a, b) __extension__ ({ \
4667 float16x4x4_t __b = (b); \
4668 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], (int8x8_t)__b.val[3], 7); })
4669 #define vst4_f32(__a, b) __extension__ ({ \
4670 float32x2x4_t __b = (b); \
4671 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], (int8x8_t)__b.val[3], 4); })
4672 #define vst4_p8(__a, b) __extension__ ({ \
4673 poly8x8x4_t __b = (b); \
4674 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], (int8x8_t)__b.val[3], 5); })
4675 #define vst4_p16(__a, b) __extension__ ({ \
4676 poly16x4x4_t __b = (b); \
4677 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], (int8x8_t)__b.val[3], 6); })
4678
4679 #define vst4q_lane_u16(__a, b, __c) __extension__ ({ \
4680 uint16x8x4_t __b = (b); \
4681 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 25); })
4682 #define vst4q_lane_u32(__a, b, __c) __extension__ ({ \
4683 uint32x4x4_t __b = (b); \
4684 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 26); })
4685 #define vst4q_lane_s16(__a, b, __c) __extension__ ({ \
4686 int16x8x4_t __b = (b); \
4687 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 17); })
4688 #define vst4q_lane_s32(__a, b, __c) __extension__ ({ \
4689 int32x4x4_t __b = (b); \
4690 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 18); })
4691 #define vst4q_lane_f16(__a, b, __c) __extension__ ({ \
4692 float16x8x4_t __b = (b); \
4693 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 23); })
4694 #define vst4q_lane_f32(__a, b, __c) __extension__ ({ \
4695 float32x4x4_t __b = (b); \
4696 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 20); })
4697 #define vst4q_lane_p16(__a, b, __c) __extension__ ({ \
4698 poly16x8x4_t __b = (b); \
4699 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 22); })
4700 #define vst4_lane_u8(__a, b, __c) __extension__ ({ \
4701 uint8x8x4_t __b = (b); \
4702 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 8); })
4703 #define vst4_lane_u16(__a, b, __c) __extension__ ({ \
4704 uint16x4x4_t __b = (b); \
4705 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 9); })
4706 #define vst4_lane_u32(__a, b, __c) __extension__ ({ \
4707 uint32x2x4_t __b = (b); \
4708 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 10); })
4709 #define vst4_lane_s8(__a, b, __c) __extension__ ({ \
4710 int8x8x4_t __b = (b); \
4711 __builtin_neon_vst4_lane_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3] , __c, 0); })
4712 #define vst4_lane_s16(__a, b, __c) __extension__ ({ \
4713 int16x4x4_t __b = (b); \
4714 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 1); })
4715 #define vst4_lane_s32(__a, b, __c) __extension__ ({ \
4716 int32x2x4_t __b = (b); \
4717 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 2); })
4718 #define vst4_lane_f16(__a, b, __c) __extension__ ({ \
4719 float16x4x4_t __b = (b); \
4720 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 7); })
4721 #define vst4_lane_f32(__a, b, __c) __extension__ ({ \
4722 float32x2x4_t __b = (b); \
4723 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 4); })
4724 #define vst4_lane_p8(__a, b, __c) __extension__ ({ \
4725 poly8x8x4_t __b = (b); \
4726 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 5); })
4727 #define vst4_lane_p16(__a, b, __c) __extension__ ({ \
4728 poly16x4x4_t __b = (b); \
4729 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 6); })
4730
4731 __ai int8x8_t vsub_s8(int8x8_t __a, int8x8_t __b) { \
4732 return __a - __b; }
4733 __ai int16x4_t vsub_s16(int16x4_t __a, int16x4_t __b) { \
4734 return __a - __b; }
4735 __ai int32x2_t vsub_s32(int32x2_t __a, int32x2_t __b) { \
4736 return __a - __b; }
4737 __ai int64x1_t vsub_s64(int64x1_t __a, int64x1_t __b) { \
4738 return __a - __b; }
4739 __ai float32x2_t vsub_f32(float32x2_t __a, float32x2_t __b) { \
4740 return __a - __b; }
4741 __ai uint8x8_t vsub_u8(uint8x8_t __a, uint8x8_t __b) { \
4742 return __a - __b; }
4743 __ai uint16x4_t vsub_u16(uint16x4_t __a, uint16x4_t __b) { \
4744 return __a - __b; }
4745 __ai uint32x2_t vsub_u32(uint32x2_t __a, uint32x2_t __b) { \
4746 return __a - __b; }
4747 __ai uint64x1_t vsub_u64(uint64x1_t __a, uint64x1_t __b) { \
4748 return __a - __b; }
4749 __ai int8x16_t vsubq_s8(int8x16_t __a, int8x16_t __b) { \
4750 return __a - __b; }
4751 __ai int16x8_t vsubq_s16(int16x8_t __a, int16x8_t __b) { \
4752 return __a - __b; }
4753 __ai int32x4_t vsubq_s32(int32x4_t __a, int32x4_t __b) { \
4754 return __a - __b; }
4755 __ai int64x2_t vsubq_s64(int64x2_t __a, int64x2_t __b) { \
4756 return __a - __b; }
4757 __ai float32x4_t vsubq_f32(float32x4_t __a, float32x4_t __b) { \
4758 return __a - __b; }
4759 __ai uint8x16_t vsubq_u8(uint8x16_t __a, uint8x16_t __b) { \
4760 return __a - __b; }
4761 __ai uint16x8_t vsubq_u16(uint16x8_t __a, uint16x8_t __b) { \
4762 return __a - __b; }
4763 __ai uint32x4_t vsubq_u32(uint32x4_t __a, uint32x4_t __b) { \
4764 return __a - __b; }
4765 __ai uint64x2_t vsubq_u64(uint64x2_t __a, uint64x2_t __b) { \
4766 return __a - __b; }
4767
4768 __ai int8x8_t vsubhn_s16(int16x8_t __a, int16x8_t __b) { \
4769 return (int8x8_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 0); }
4770 __ai int16x4_t vsubhn_s32(int32x4_t __a, int32x4_t __b) { \
4771 return (int16x4_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 1); }
4772 __ai int32x2_t vsubhn_s64(int64x2_t __a, int64x2_t __b) { \
4773 return (int32x2_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 2); }
4774 __ai uint8x8_t vsubhn_u16(uint16x8_t __a, uint16x8_t __b) { \
4775 return (uint8x8_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 8); }
4776 __ai uint16x4_t vsubhn_u32(uint32x4_t __a, uint32x4_t __b) { \
4777 return (uint16x4_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 9); }
4778 __ai uint32x2_t vsubhn_u64(uint64x2_t __a, uint64x2_t __b) { \
4779 return (uint32x2_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 10) ; }
4780
4781 __ai int16x8_t vsubl_s8(int8x8_t __a, int8x8_t __b) { \
4782 return vmovl_s8(__a) - vmovl_s8(__b); }
4783 __ai int32x4_t vsubl_s16(int16x4_t __a, int16x4_t __b) { \
4784 return vmovl_s16(__a) - vmovl_s16(__b); }
4785 __ai int64x2_t vsubl_s32(int32x2_t __a, int32x2_t __b) { \
4786 return vmovl_s32(__a) - vmovl_s32(__b); }
4787 __ai uint16x8_t vsubl_u8(uint8x8_t __a, uint8x8_t __b) { \
4788 return vmovl_u8(__a) - vmovl_u8(__b); }
4789 __ai uint32x4_t vsubl_u16(uint16x4_t __a, uint16x4_t __b) { \
4790 return vmovl_u16(__a) - vmovl_u16(__b); }
4791 __ai uint64x2_t vsubl_u32(uint32x2_t __a, uint32x2_t __b) { \
4792 return vmovl_u32(__a) - vmovl_u32(__b); }
4793
4794 __ai int16x8_t vsubw_s8(int16x8_t __a, int8x8_t __b) { \
4795 return __a - vmovl_s8(__b); }
4796 __ai int32x4_t vsubw_s16(int32x4_t __a, int16x4_t __b) { \
4797 return __a - vmovl_s16(__b); }
4798 __ai int64x2_t vsubw_s32(int64x2_t __a, int32x2_t __b) { \
4799 return __a - vmovl_s32(__b); }
4800 __ai uint16x8_t vsubw_u8(uint16x8_t __a, uint8x8_t __b) { \
4801 return __a - vmovl_u8(__b); }
4802 __ai uint32x4_t vsubw_u16(uint32x4_t __a, uint16x4_t __b) { \
4803 return __a - vmovl_u16(__b); }
4804 __ai uint64x2_t vsubw_u32(uint64x2_t __a, uint32x2_t __b) { \
4805 return __a - vmovl_u32(__b); }
4806
4807 __ai uint8x8_t vtbl1_u8(uint8x8_t __a, uint8x8_t __b) { \
4808 return (uint8x8_t)__builtin_neon_vtbl1_v((int8x8_t)__a, (int8x8_t)__b, 8); }
4809 __ai int8x8_t vtbl1_s8(int8x8_t __a, int8x8_t __b) { \
4810 return (int8x8_t)__builtin_neon_vtbl1_v(__a, __b, 0); }
4811 __ai poly8x8_t vtbl1_p8(poly8x8_t __a, uint8x8_t __b) { \
4812 return (poly8x8_t)__builtin_neon_vtbl1_v((int8x8_t)__a, (int8x8_t)__b, 5); }
4813
4814 __ai uint8x8_t vtbl2_u8(uint8x8x2_t __a, uint8x8_t __b) { \
4815 return (uint8x8_t)__builtin_neon_vtbl2_v((int8x8_t)__a.val[0], (int8x8_t)__a.v al[1], (int8x8_t)__b, 8); }
4816 __ai int8x8_t vtbl2_s8(int8x8x2_t __a, int8x8_t __b) { \
4817 return (int8x8_t)__builtin_neon_vtbl2_v(__a.val[0], __a.val[1], __b, 0); }
4818 __ai poly8x8_t vtbl2_p8(poly8x8x2_t __a, uint8x8_t __b) { \
4819 return (poly8x8_t)__builtin_neon_vtbl2_v((int8x8_t)__a.val[0], (int8x8_t)__a.v al[1], (int8x8_t)__b, 5); }
4820
4821 __ai uint8x8_t vtbl3_u8(uint8x8x3_t __a, uint8x8_t __b) { \
4822 return (uint8x8_t)__builtin_neon_vtbl3_v((int8x8_t)__a.val[0], (int8x8_t)__a.v al[1], (int8x8_t)__a.val[2], (int8x8_t)__b, 8); }
4823 __ai int8x8_t vtbl3_s8(int8x8x3_t __a, int8x8_t __b) { \
4824 return (int8x8_t)__builtin_neon_vtbl3_v(__a.val[0], __a.val[1], __a.val[2], __ b, 0); }
4825 __ai poly8x8_t vtbl3_p8(poly8x8x3_t __a, uint8x8_t __b) { \
4826 return (poly8x8_t)__builtin_neon_vtbl3_v((int8x8_t)__a.val[0], (int8x8_t)__a.v al[1], (int8x8_t)__a.val[2], (int8x8_t)__b, 5); }
4827
4828 __ai uint8x8_t vtbl4_u8(uint8x8x4_t __a, uint8x8_t __b) { \
4829 return (uint8x8_t)__builtin_neon_vtbl4_v((int8x8_t)__a.val[0], (int8x8_t)__a.v al[1], (int8x8_t)__a.val[2], (int8x8_t)__a.val[3], (int8x8_t)__b, 8); }
4830 __ai int8x8_t vtbl4_s8(int8x8x4_t __a, int8x8_t __b) { \
4831 return (int8x8_t)__builtin_neon_vtbl4_v(__a.val[0], __a.val[1], __a.val[2], __ a.val[3], __b, 0); }
4832 __ai poly8x8_t vtbl4_p8(poly8x8x4_t __a, uint8x8_t __b) { \
4833 return (poly8x8_t)__builtin_neon_vtbl4_v((int8x8_t)__a.val[0], (int8x8_t)__a.v al[1], (int8x8_t)__a.val[2], (int8x8_t)__a.val[3], (int8x8_t)__b, 5); }
4834
4835 __ai uint8x8_t vtbx1_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { \
4836 return (uint8x8_t)__builtin_neon_vtbx1_v((int8x8_t)__a, (int8x8_t)__b, (int8x8 _t)__c, 8); }
4837 __ai int8x8_t vtbx1_s8(int8x8_t __a, int8x8_t __b, int8x8_t __c) { \
4838 return (int8x8_t)__builtin_neon_vtbx1_v(__a, __b, __c, 0); }
4839 __ai poly8x8_t vtbx1_p8(poly8x8_t __a, poly8x8_t __b, uint8x8_t __c) { \
4840 return (poly8x8_t)__builtin_neon_vtbx1_v((int8x8_t)__a, (int8x8_t)__b, (int8x8 _t)__c, 5); }
4841
4842 __ai uint8x8_t vtbx2_u8(uint8x8_t __a, uint8x8x2_t __b, uint8x8_t __c) { \
4843 return (uint8x8_t)__builtin_neon_vtbx2_v((int8x8_t)__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__c, 8); }
4844 __ai int8x8_t vtbx2_s8(int8x8_t __a, int8x8x2_t __b, int8x8_t __c) { \
4845 return (int8x8_t)__builtin_neon_vtbx2_v(__a, __b.val[0], __b.val[1], __c, 0); }
4846 __ai poly8x8_t vtbx2_p8(poly8x8_t __a, poly8x8x2_t __b, uint8x8_t __c) { \
4847 return (poly8x8_t)__builtin_neon_vtbx2_v((int8x8_t)__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__c, 5); }
4848
4849 __ai uint8x8_t vtbx3_u8(uint8x8_t __a, uint8x8x3_t __b, uint8x8_t __c) { \
4850 return (uint8x8_t)__builtin_neon_vtbx3_v((int8x8_t)__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__c, 8); }
4851 __ai int8x8_t vtbx3_s8(int8x8_t __a, int8x8x3_t __b, int8x8_t __c) { \
4852 return (int8x8_t)__builtin_neon_vtbx3_v(__a, __b.val[0], __b.val[1], __b.val[2 ], __c, 0); }
4853 __ai poly8x8_t vtbx3_p8(poly8x8_t __a, poly8x8x3_t __b, uint8x8_t __c) { \
4854 return (poly8x8_t)__builtin_neon_vtbx3_v((int8x8_t)__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__c, 5); }
4855
4856 __ai uint8x8_t vtbx4_u8(uint8x8_t __a, uint8x8x4_t __b, uint8x8_t __c) { \
4857 return (uint8x8_t)__builtin_neon_vtbx4_v((int8x8_t)__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], (int8x8_t)__c, 8); }
4858 __ai int8x8_t vtbx4_s8(int8x8_t __a, int8x8x4_t __b, int8x8_t __c) { \
4859 return (int8x8_t)__builtin_neon_vtbx4_v(__a, __b.val[0], __b.val[1], __b.val[2 ], __b.val[3], __c, 0); }
4860 __ai poly8x8_t vtbx4_p8(poly8x8_t __a, poly8x8x4_t __b, uint8x8_t __c) { \
4861 return (poly8x8_t)__builtin_neon_vtbx4_v((int8x8_t)__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], (int8x8_t)__c, 5); }
4862
4863 __ai int8x8x2_t vtrn_s8(int8x8_t __a, int8x8_t __b) { \
4864 int8x8x2_t r; __builtin_neon_vtrn_v(&r, __a, __b, 0); return r; }
4865 __ai int16x4x2_t vtrn_s16(int16x4_t __a, int16x4_t __b) { \
4866 int16x4x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 1); ret urn r; }
4867 __ai int32x2x2_t vtrn_s32(int32x2_t __a, int32x2_t __b) { \
4868 int32x2x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 2); ret urn r; }
4869 __ai uint8x8x2_t vtrn_u8(uint8x8_t __a, uint8x8_t __b) { \
4870 uint8x8x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 8); ret urn r; }
4871 __ai uint16x4x2_t vtrn_u16(uint16x4_t __a, uint16x4_t __b) { \
4872 uint16x4x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 9); re turn r; }
4873 __ai uint32x2x2_t vtrn_u32(uint32x2_t __a, uint32x2_t __b) { \
4874 uint32x2x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 10); r eturn r; }
4875 __ai float32x2x2_t vtrn_f32(float32x2_t __a, float32x2_t __b) { \
4876 float32x2x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 4); r eturn r; }
4877 __ai poly8x8x2_t vtrn_p8(poly8x8_t __a, poly8x8_t __b) { \
4878 poly8x8x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 5); ret urn r; }
4879 __ai poly16x4x2_t vtrn_p16(poly16x4_t __a, poly16x4_t __b) { \
4880 poly16x4x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 6); re turn r; }
4881 __ai int8x16x2_t vtrnq_s8(int8x16_t __a, int8x16_t __b) { \
4882 int8x16x2_t r; __builtin_neon_vtrnq_v(&r, __a, __b, 16); return r; }
4883 __ai int16x8x2_t vtrnq_s16(int16x8_t __a, int16x8_t __b) { \
4884 int16x8x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 17); return r; }
4885 __ai int32x4x2_t vtrnq_s32(int32x4_t __a, int32x4_t __b) { \
4886 int32x4x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 18); return r; }
4887 __ai uint8x16x2_t vtrnq_u8(uint8x16_t __a, uint8x16_t __b) { \
4888 uint8x16x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 24) ; return r; }
4889 __ai uint16x8x2_t vtrnq_u16(uint16x8_t __a, uint16x8_t __b) { \
4890 uint16x8x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 25) ; return r; }
4891 __ai uint32x4x2_t vtrnq_u32(uint32x4_t __a, uint32x4_t __b) { \
4892 uint32x4x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 26) ; return r; }
4893 __ai float32x4x2_t vtrnq_f32(float32x4_t __a, float32x4_t __b) { \
4894 float32x4x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 20 ); return r; }
4895 __ai poly8x16x2_t vtrnq_p8(poly8x16_t __a, poly8x16_t __b) { \
4896 poly8x16x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 21) ; return r; }
4897 __ai poly16x8x2_t vtrnq_p16(poly16x8_t __a, poly16x8_t __b) { \
4898 poly16x8x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 22) ; return r; }
4899
4900 __ai uint8x8_t vtst_s8(int8x8_t __a, int8x8_t __b) { \
4901 return (uint8x8_t)__builtin_neon_vtst_v(__a, __b, 8); }
4902 __ai uint16x4_t vtst_s16(int16x4_t __a, int16x4_t __b) { \
4903 return (uint16x4_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 9); }
4904 __ai uint32x2_t vtst_s32(int32x2_t __a, int32x2_t __b) { \
4905 return (uint32x2_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 10); }
4906 __ai uint8x8_t vtst_u8(uint8x8_t __a, uint8x8_t __b) { \
4907 return (uint8x8_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 8); }
4908 __ai uint16x4_t vtst_u16(uint16x4_t __a, uint16x4_t __b) { \
4909 return (uint16x4_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 9); }
4910 __ai uint32x2_t vtst_u32(uint32x2_t __a, uint32x2_t __b) { \
4911 return (uint32x2_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 10); }
4912 __ai uint8x8_t vtst_p8(poly8x8_t __a, poly8x8_t __b) { \
4913 return (uint8x8_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 8); }
4914 __ai uint8x16_t vtstq_s8(int8x16_t __a, int8x16_t __b) { \
4915 return (uint8x16_t)__builtin_neon_vtstq_v(__a, __b, 24); }
4916 __ai uint16x8_t vtstq_s16(int16x8_t __a, int16x8_t __b) { \
4917 return (uint16x8_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 25); }
4918 __ai uint32x4_t vtstq_s32(int32x4_t __a, int32x4_t __b) { \
4919 return (uint32x4_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 26); }
4920 __ai uint8x16_t vtstq_u8(uint8x16_t __a, uint8x16_t __b) { \
4921 return (uint8x16_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 24); }
4922 __ai uint16x8_t vtstq_u16(uint16x8_t __a, uint16x8_t __b) { \
4923 return (uint16x8_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 25); }
4924 __ai uint32x4_t vtstq_u32(uint32x4_t __a, uint32x4_t __b) { \
4925 return (uint32x4_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 26); }
4926 __ai uint8x16_t vtstq_p8(poly8x16_t __a, poly8x16_t __b) { \
4927 return (uint8x16_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 24); }
4928
4929 __ai int8x8x2_t vuzp_s8(int8x8_t __a, int8x8_t __b) { \
4930 int8x8x2_t r; __builtin_neon_vuzp_v(&r, __a, __b, 0); return r; }
4931 __ai int16x4x2_t vuzp_s16(int16x4_t __a, int16x4_t __b) { \
4932 int16x4x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 1); ret urn r; }
4933 __ai int32x2x2_t vuzp_s32(int32x2_t __a, int32x2_t __b) { \
4934 int32x2x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 2); ret urn r; }
4935 __ai uint8x8x2_t vuzp_u8(uint8x8_t __a, uint8x8_t __b) { \
4936 uint8x8x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 8); ret urn r; }
4937 __ai uint16x4x2_t vuzp_u16(uint16x4_t __a, uint16x4_t __b) { \
4938 uint16x4x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 9); re turn r; }
4939 __ai uint32x2x2_t vuzp_u32(uint32x2_t __a, uint32x2_t __b) { \
4940 uint32x2x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 10); r eturn r; }
4941 __ai float32x2x2_t vuzp_f32(float32x2_t __a, float32x2_t __b) { \
4942 float32x2x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 4); r eturn r; }
4943 __ai poly8x8x2_t vuzp_p8(poly8x8_t __a, poly8x8_t __b) { \
4944 poly8x8x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 5); ret urn r; }
4945 __ai poly16x4x2_t vuzp_p16(poly16x4_t __a, poly16x4_t __b) { \
4946 poly16x4x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 6); re turn r; }
4947 __ai int8x16x2_t vuzpq_s8(int8x16_t __a, int8x16_t __b) { \
4948 int8x16x2_t r; __builtin_neon_vuzpq_v(&r, __a, __b, 16); return r; }
4949 __ai int16x8x2_t vuzpq_s16(int16x8_t __a, int16x8_t __b) { \
4950 int16x8x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 17); return r; }
4951 __ai int32x4x2_t vuzpq_s32(int32x4_t __a, int32x4_t __b) { \
4952 int32x4x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 18); return r; }
4953 __ai uint8x16x2_t vuzpq_u8(uint8x16_t __a, uint8x16_t __b) { \
4954 uint8x16x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 24) ; return r; }
4955 __ai uint16x8x2_t vuzpq_u16(uint16x8_t __a, uint16x8_t __b) { \
4956 uint16x8x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 25) ; return r; }
4957 __ai uint32x4x2_t vuzpq_u32(uint32x4_t __a, uint32x4_t __b) { \
4958 uint32x4x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 26) ; return r; }
4959 __ai float32x4x2_t vuzpq_f32(float32x4_t __a, float32x4_t __b) { \
4960 float32x4x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 20 ); return r; }
4961 __ai poly8x16x2_t vuzpq_p8(poly8x16_t __a, poly8x16_t __b) { \
4962 poly8x16x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 21) ; return r; }
4963 __ai poly16x8x2_t vuzpq_p16(poly16x8_t __a, poly16x8_t __b) { \
4964 poly16x8x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 22) ; return r; }
4965
4966 __ai int8x8x2_t vzip_s8(int8x8_t __a, int8x8_t __b) { \
4967 int8x8x2_t r; __builtin_neon_vzip_v(&r, __a, __b, 0); return r; }
4968 __ai int16x4x2_t vzip_s16(int16x4_t __a, int16x4_t __b) { \
4969 int16x4x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 1); ret urn r; }
4970 __ai int32x2x2_t vzip_s32(int32x2_t __a, int32x2_t __b) { \
4971 int32x2x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 2); ret urn r; }
4972 __ai uint8x8x2_t vzip_u8(uint8x8_t __a, uint8x8_t __b) { \
4973 uint8x8x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 8); ret urn r; }
4974 __ai uint16x4x2_t vzip_u16(uint16x4_t __a, uint16x4_t __b) { \
4975 uint16x4x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 9); re turn r; }
4976 __ai uint32x2x2_t vzip_u32(uint32x2_t __a, uint32x2_t __b) { \
4977 uint32x2x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 10); r eturn r; }
4978 __ai float32x2x2_t vzip_f32(float32x2_t __a, float32x2_t __b) { \
4979 float32x2x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 4); r eturn r; }
4980 __ai poly8x8x2_t vzip_p8(poly8x8_t __a, poly8x8_t __b) { \
4981 poly8x8x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 5); ret urn r; }
4982 __ai poly16x4x2_t vzip_p16(poly16x4_t __a, poly16x4_t __b) { \
4983 poly16x4x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 6); re turn r; }
4984 __ai int8x16x2_t vzipq_s8(int8x16_t __a, int8x16_t __b) { \
4985 int8x16x2_t r; __builtin_neon_vzipq_v(&r, __a, __b, 16); return r; }
4986 __ai int16x8x2_t vzipq_s16(int16x8_t __a, int16x8_t __b) { \
4987 int16x8x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 17); return r; }
4988 __ai int32x4x2_t vzipq_s32(int32x4_t __a, int32x4_t __b) { \
4989 int32x4x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 18); return r; }
4990 __ai uint8x16x2_t vzipq_u8(uint8x16_t __a, uint8x16_t __b) { \
4991 uint8x16x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 24) ; return r; }
4992 __ai uint16x8x2_t vzipq_u16(uint16x8_t __a, uint16x8_t __b) { \
4993 uint16x8x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 25) ; return r; }
4994 __ai uint32x4x2_t vzipq_u32(uint32x4_t __a, uint32x4_t __b) { \
4995 uint32x4x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 26) ; return r; }
4996 __ai float32x4x2_t vzipq_f32(float32x4_t __a, float32x4_t __b) { \
4997 float32x4x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 20 ); return r; }
4998 __ai poly8x16x2_t vzipq_p8(poly8x16_t __a, poly8x16_t __b) { \
4999 poly8x16x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 21) ; return r; }
5000 __ai poly16x8x2_t vzipq_p16(poly16x8_t __a, poly16x8_t __b) { \
5001 poly16x8x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 22) ; return r; }
5002
5003 #undef __ai
5004
5005 #endif /* __ARM_NEON_H */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698