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

Side by Side Diff: Linux_x64/lib/clang/3.5.0/include/arm_neon.h

Issue 228113004: roll llvm-allocated-type 186332:204777. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/llvm-allocated-type/
Patch Set: Created 6 years, 8 months 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
Property Changes:
Added: svn:eol-style
+ LF
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 #if !defined(__ARM_NEON)
28 #error "NEON support not enabled"
29 #endif
30
31 #include <stdint.h>
32
33 typedef float float32_t;
34 typedef __fp16 float16_t;
35 #ifdef __aarch64__
36 typedef double float64_t;
37 #endif
38
39 #ifdef __aarch64__
40 typedef uint8_t poly8_t;
41 typedef uint16_t poly16_t;
42 typedef uint64_t poly64_t;
43 typedef __uint128_t poly128_t;
44 #else
45 typedef int8_t poly8_t;
46 typedef int16_t poly16_t;
47 #endif
48 typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
49 typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
50 typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
51 typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
52 typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
53 typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
54 typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t;
55 typedef __attribute__((neon_vector_type(2))) int64_t int64x2_t;
56 typedef __attribute__((neon_vector_type(8))) uint8_t uint8x8_t;
57 typedef __attribute__((neon_vector_type(16))) uint8_t uint8x16_t;
58 typedef __attribute__((neon_vector_type(4))) uint16_t uint16x4_t;
59 typedef __attribute__((neon_vector_type(8))) uint16_t uint16x8_t;
60 typedef __attribute__((neon_vector_type(2))) uint32_t uint32x2_t;
61 typedef __attribute__((neon_vector_type(4))) uint32_t uint32x4_t;
62 typedef __attribute__((neon_vector_type(1))) uint64_t uint64x1_t;
63 typedef __attribute__((neon_vector_type(2))) uint64_t uint64x2_t;
64 typedef __attribute__((neon_vector_type(4))) float16_t float16x4_t;
65 typedef __attribute__((neon_vector_type(8))) float16_t float16x8_t;
66 typedef __attribute__((neon_vector_type(2))) float32_t float32x2_t;
67 typedef __attribute__((neon_vector_type(4))) float32_t float32x4_t;
68 #ifdef __aarch64__
69 typedef __attribute__((neon_vector_type(1))) float64_t float64x1_t;
70 typedef __attribute__((neon_vector_type(2))) float64_t float64x2_t;
71 #endif
72 typedef __attribute__((neon_polyvector_type(8))) poly8_t poly8x8_t;
73 typedef __attribute__((neon_polyvector_type(16))) poly8_t poly8x16_t;
74 typedef __attribute__((neon_polyvector_type(4))) poly16_t poly16x4_t;
75 typedef __attribute__((neon_polyvector_type(8))) poly16_t poly16x8_t;
76 #ifdef __aarch64__
77 typedef __attribute__((neon_polyvector_type(1))) poly64_t poly64x1_t;
78 typedef __attribute__((neon_polyvector_type(2))) poly64_t poly64x2_t;
79 #endif
80
81 typedef struct int8x8x2_t {
82 int8x8_t val[2];
83 } int8x8x2_t;
84
85 typedef struct int8x16x2_t {
86 int8x16_t val[2];
87 } int8x16x2_t;
88
89 typedef struct int16x4x2_t {
90 int16x4_t val[2];
91 } int16x4x2_t;
92
93 typedef struct int16x8x2_t {
94 int16x8_t val[2];
95 } int16x8x2_t;
96
97 typedef struct int32x2x2_t {
98 int32x2_t val[2];
99 } int32x2x2_t;
100
101 typedef struct int32x4x2_t {
102 int32x4_t val[2];
103 } int32x4x2_t;
104
105 typedef struct int64x1x2_t {
106 int64x1_t val[2];
107 } int64x1x2_t;
108
109 typedef struct int64x2x2_t {
110 int64x2_t val[2];
111 } int64x2x2_t;
112
113 typedef struct uint8x8x2_t {
114 uint8x8_t val[2];
115 } uint8x8x2_t;
116
117 typedef struct uint8x16x2_t {
118 uint8x16_t val[2];
119 } uint8x16x2_t;
120
121 typedef struct uint16x4x2_t {
122 uint16x4_t val[2];
123 } uint16x4x2_t;
124
125 typedef struct uint16x8x2_t {
126 uint16x8_t val[2];
127 } uint16x8x2_t;
128
129 typedef struct uint32x2x2_t {
130 uint32x2_t val[2];
131 } uint32x2x2_t;
132
133 typedef struct uint32x4x2_t {
134 uint32x4_t val[2];
135 } uint32x4x2_t;
136
137 typedef struct uint64x1x2_t {
138 uint64x1_t val[2];
139 } uint64x1x2_t;
140
141 typedef struct uint64x2x2_t {
142 uint64x2_t val[2];
143 } uint64x2x2_t;
144
145 typedef struct float16x4x2_t {
146 float16x4_t val[2];
147 } float16x4x2_t;
148
149 typedef struct float16x8x2_t {
150 float16x8_t val[2];
151 } float16x8x2_t;
152
153 typedef struct float32x2x2_t {
154 float32x2_t val[2];
155 } float32x2x2_t;
156
157 typedef struct float32x4x2_t {
158 float32x4_t val[2];
159 } float32x4x2_t;
160
161 #ifdef __aarch64__
162 typedef struct float64x1x2_t {
163 float64x1_t val[2];
164 } float64x1x2_t;
165
166 typedef struct float64x2x2_t {
167 float64x2_t val[2];
168 } float64x2x2_t;
169
170 #endif
171 typedef struct poly8x8x2_t {
172 poly8x8_t val[2];
173 } poly8x8x2_t;
174
175 typedef struct poly8x16x2_t {
176 poly8x16_t val[2];
177 } poly8x16x2_t;
178
179 typedef struct poly16x4x2_t {
180 poly16x4_t val[2];
181 } poly16x4x2_t;
182
183 typedef struct poly16x8x2_t {
184 poly16x8_t val[2];
185 } poly16x8x2_t;
186
187 #ifdef __aarch64__
188 typedef struct poly64x1x2_t {
189 poly64x1_t val[2];
190 } poly64x1x2_t;
191
192 typedef struct poly64x2x2_t {
193 poly64x2_t val[2];
194 } poly64x2x2_t;
195
196 #endif
197 typedef struct int8x8x3_t {
198 int8x8_t val[3];
199 } int8x8x3_t;
200
201 typedef struct int8x16x3_t {
202 int8x16_t val[3];
203 } int8x16x3_t;
204
205 typedef struct int16x4x3_t {
206 int16x4_t val[3];
207 } int16x4x3_t;
208
209 typedef struct int16x8x3_t {
210 int16x8_t val[3];
211 } int16x8x3_t;
212
213 typedef struct int32x2x3_t {
214 int32x2_t val[3];
215 } int32x2x3_t;
216
217 typedef struct int32x4x3_t {
218 int32x4_t val[3];
219 } int32x4x3_t;
220
221 typedef struct int64x1x3_t {
222 int64x1_t val[3];
223 } int64x1x3_t;
224
225 typedef struct int64x2x3_t {
226 int64x2_t val[3];
227 } int64x2x3_t;
228
229 typedef struct uint8x8x3_t {
230 uint8x8_t val[3];
231 } uint8x8x3_t;
232
233 typedef struct uint8x16x3_t {
234 uint8x16_t val[3];
235 } uint8x16x3_t;
236
237 typedef struct uint16x4x3_t {
238 uint16x4_t val[3];
239 } uint16x4x3_t;
240
241 typedef struct uint16x8x3_t {
242 uint16x8_t val[3];
243 } uint16x8x3_t;
244
245 typedef struct uint32x2x3_t {
246 uint32x2_t val[3];
247 } uint32x2x3_t;
248
249 typedef struct uint32x4x3_t {
250 uint32x4_t val[3];
251 } uint32x4x3_t;
252
253 typedef struct uint64x1x3_t {
254 uint64x1_t val[3];
255 } uint64x1x3_t;
256
257 typedef struct uint64x2x3_t {
258 uint64x2_t val[3];
259 } uint64x2x3_t;
260
261 typedef struct float16x4x3_t {
262 float16x4_t val[3];
263 } float16x4x3_t;
264
265 typedef struct float16x8x3_t {
266 float16x8_t val[3];
267 } float16x8x3_t;
268
269 typedef struct float32x2x3_t {
270 float32x2_t val[3];
271 } float32x2x3_t;
272
273 typedef struct float32x4x3_t {
274 float32x4_t val[3];
275 } float32x4x3_t;
276
277 #ifdef __aarch64__
278 typedef struct float64x1x3_t {
279 float64x1_t val[3];
280 } float64x1x3_t;
281
282 typedef struct float64x2x3_t {
283 float64x2_t val[3];
284 } float64x2x3_t;
285
286 #endif
287 typedef struct poly8x8x3_t {
288 poly8x8_t val[3];
289 } poly8x8x3_t;
290
291 typedef struct poly8x16x3_t {
292 poly8x16_t val[3];
293 } poly8x16x3_t;
294
295 typedef struct poly16x4x3_t {
296 poly16x4_t val[3];
297 } poly16x4x3_t;
298
299 typedef struct poly16x8x3_t {
300 poly16x8_t val[3];
301 } poly16x8x3_t;
302
303 #ifdef __aarch64__
304 typedef struct poly64x1x3_t {
305 poly64x1_t val[3];
306 } poly64x1x3_t;
307
308 typedef struct poly64x2x3_t {
309 poly64x2_t val[3];
310 } poly64x2x3_t;
311
312 #endif
313 typedef struct int8x8x4_t {
314 int8x8_t val[4];
315 } int8x8x4_t;
316
317 typedef struct int8x16x4_t {
318 int8x16_t val[4];
319 } int8x16x4_t;
320
321 typedef struct int16x4x4_t {
322 int16x4_t val[4];
323 } int16x4x4_t;
324
325 typedef struct int16x8x4_t {
326 int16x8_t val[4];
327 } int16x8x4_t;
328
329 typedef struct int32x2x4_t {
330 int32x2_t val[4];
331 } int32x2x4_t;
332
333 typedef struct int32x4x4_t {
334 int32x4_t val[4];
335 } int32x4x4_t;
336
337 typedef struct int64x1x4_t {
338 int64x1_t val[4];
339 } int64x1x4_t;
340
341 typedef struct int64x2x4_t {
342 int64x2_t val[4];
343 } int64x2x4_t;
344
345 typedef struct uint8x8x4_t {
346 uint8x8_t val[4];
347 } uint8x8x4_t;
348
349 typedef struct uint8x16x4_t {
350 uint8x16_t val[4];
351 } uint8x16x4_t;
352
353 typedef struct uint16x4x4_t {
354 uint16x4_t val[4];
355 } uint16x4x4_t;
356
357 typedef struct uint16x8x4_t {
358 uint16x8_t val[4];
359 } uint16x8x4_t;
360
361 typedef struct uint32x2x4_t {
362 uint32x2_t val[4];
363 } uint32x2x4_t;
364
365 typedef struct uint32x4x4_t {
366 uint32x4_t val[4];
367 } uint32x4x4_t;
368
369 typedef struct uint64x1x4_t {
370 uint64x1_t val[4];
371 } uint64x1x4_t;
372
373 typedef struct uint64x2x4_t {
374 uint64x2_t val[4];
375 } uint64x2x4_t;
376
377 typedef struct float16x4x4_t {
378 float16x4_t val[4];
379 } float16x4x4_t;
380
381 typedef struct float16x8x4_t {
382 float16x8_t val[4];
383 } float16x8x4_t;
384
385 typedef struct float32x2x4_t {
386 float32x2_t val[4];
387 } float32x2x4_t;
388
389 typedef struct float32x4x4_t {
390 float32x4_t val[4];
391 } float32x4x4_t;
392
393 #ifdef __aarch64__
394 typedef struct float64x1x4_t {
395 float64x1_t val[4];
396 } float64x1x4_t;
397
398 typedef struct float64x2x4_t {
399 float64x2_t val[4];
400 } float64x2x4_t;
401
402 #endif
403 typedef struct poly8x8x4_t {
404 poly8x8_t val[4];
405 } poly8x8x4_t;
406
407 typedef struct poly8x16x4_t {
408 poly8x16_t val[4];
409 } poly8x16x4_t;
410
411 typedef struct poly16x4x4_t {
412 poly16x4_t val[4];
413 } poly16x4x4_t;
414
415 typedef struct poly16x8x4_t {
416 poly16x8_t val[4];
417 } poly16x8x4_t;
418
419 #ifdef __aarch64__
420 typedef struct poly64x1x4_t {
421 poly64x1_t val[4];
422 } poly64x1x4_t;
423
424 typedef struct poly64x2x4_t {
425 poly64x2_t val[4];
426 } poly64x2x4_t;
427
428 #endif
429
430 #define __ai static inline __attribute__((__always_inline__, __nodebug__))
431
432 __ai float32x2_t vfma_f32(float32x2_t __a, float32x2_t __b, float32x2_t __c) {
433 return (float32x2_t)__builtin_neon_vfma_v((int8x8_t)__a, (int8x8_t)__b, (int8x 8_t)__c, 9); }
434 __ai float32x4_t vfmaq_f32(float32x4_t __a, float32x4_t __b, float32x4_t __c) {
435 return (float32x4_t)__builtin_neon_vfmaq_v((int8x16_t)__a, (int8x16_t)__b, (in t8x16_t)__c, 41); }
436
437 __ai int8x8_t vqmovn_s16(int16x8_t __a) {
438 return (int8x8_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 0); }
439 __ai int16x4_t vqmovn_s32(int32x4_t __a) {
440 return (int16x4_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 1); }
441 __ai int32x2_t vqmovn_s64(int64x2_t __a) {
442 return (int32x2_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 2); }
443 __ai uint8x8_t vqmovn_u16(uint16x8_t __a) {
444 return (uint8x8_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 16); }
445 __ai uint16x4_t vqmovn_u32(uint32x4_t __a) {
446 return (uint16x4_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 17); }
447 __ai uint32x2_t vqmovn_u64(uint64x2_t __a) {
448 return (uint32x2_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 18); }
449
450 __ai uint8x8_t vqmovun_s16(int16x8_t __a) {
451 return (uint8x8_t)__builtin_neon_vqmovun_v((int8x16_t)__a, 16); }
452 __ai uint16x4_t vqmovun_s32(int32x4_t __a) {
453 return (uint16x4_t)__builtin_neon_vqmovun_v((int8x16_t)__a, 17); }
454 __ai uint32x2_t vqmovun_s64(int64x2_t __a) {
455 return (uint32x2_t)__builtin_neon_vqmovun_v((int8x16_t)__a, 18); }
456
457 __ai int8x8_t vabd_s8(int8x8_t __a, int8x8_t __b) {
458 return (int8x8_t)__builtin_neon_vabd_v(__a, __b, 0); }
459 __ai int16x4_t vabd_s16(int16x4_t __a, int16x4_t __b) {
460 return (int16x4_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 1); }
461 __ai int32x2_t vabd_s32(int32x2_t __a, int32x2_t __b) {
462 return (int32x2_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 2); }
463 __ai uint8x8_t vabd_u8(uint8x8_t __a, uint8x8_t __b) {
464 return (uint8x8_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 16); }
465 __ai uint16x4_t vabd_u16(uint16x4_t __a, uint16x4_t __b) {
466 return (uint16x4_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 17); }
467 __ai uint32x2_t vabd_u32(uint32x2_t __a, uint32x2_t __b) {
468 return (uint32x2_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 18); }
469 __ai float32x2_t vabd_f32(float32x2_t __a, float32x2_t __b) {
470 return (float32x2_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 9); }
471 __ai int8x16_t vabdq_s8(int8x16_t __a, int8x16_t __b) {
472 return (int8x16_t)__builtin_neon_vabdq_v(__a, __b, 32); }
473 __ai int16x8_t vabdq_s16(int16x8_t __a, int16x8_t __b) {
474 return (int16x8_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
475 __ai int32x4_t vabdq_s32(int32x4_t __a, int32x4_t __b) {
476 return (int32x4_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
477 __ai uint8x16_t vabdq_u8(uint8x16_t __a, uint8x16_t __b) {
478 return (uint8x16_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 48); }
479 __ai uint16x8_t vabdq_u16(uint16x8_t __a, uint16x8_t __b) {
480 return (uint16x8_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 49); }
481 __ai uint32x4_t vabdq_u32(uint32x4_t __a, uint32x4_t __b) {
482 return (uint32x4_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 50); }
483 __ai float32x4_t vabdq_f32(float32x4_t __a, float32x4_t __b) {
484 return (float32x4_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 41) ; }
485
486 __ai int16x8_t vmovl_s8(int8x8_t __a) {
487 return (int16x8_t)__builtin_neon_vmovl_v(__a, 33); }
488 __ai int32x4_t vmovl_s16(int16x4_t __a) {
489 return (int32x4_t)__builtin_neon_vmovl_v((int8x8_t)__a, 34); }
490 __ai int64x2_t vmovl_s32(int32x2_t __a) {
491 return (int64x2_t)__builtin_neon_vmovl_v((int8x8_t)__a, 35); }
492 __ai uint16x8_t vmovl_u8(uint8x8_t __a) {
493 return (uint16x8_t)__builtin_neon_vmovl_v((int8x8_t)__a, 49); }
494 __ai uint32x4_t vmovl_u16(uint16x4_t __a) {
495 return (uint32x4_t)__builtin_neon_vmovl_v((int8x8_t)__a, 50); }
496 __ai uint64x2_t vmovl_u32(uint32x2_t __a) {
497 return (uint64x2_t)__builtin_neon_vmovl_v((int8x8_t)__a, 51); }
498
499 __ai int16x8_t vabdl_s8(int8x8_t __a, int8x8_t __b) {
500 return (int16x8_t)vmovl_u8((uint8x8_t)vabd_s8(__a, __b)); }
501 __ai int32x4_t vabdl_s16(int16x4_t __a, int16x4_t __b) {
502 return (int32x4_t)vmovl_u16((uint16x4_t)vabd_s16(__a, __b)); }
503 __ai int64x2_t vabdl_s32(int32x2_t __a, int32x2_t __b) {
504 return (int64x2_t)vmovl_u32((uint32x2_t)vabd_s32(__a, __b)); }
505 __ai uint16x8_t vabdl_u8(uint8x8_t __a, uint8x8_t __b) {
506 return vmovl_u8(vabd_u8(__a, __b)); }
507 __ai uint32x4_t vabdl_u16(uint16x4_t __a, uint16x4_t __b) {
508 return vmovl_u16(vabd_u16(__a, __b)); }
509 __ai uint64x2_t vabdl_u32(uint32x2_t __a, uint32x2_t __b) {
510 return vmovl_u32(vabd_u32(__a, __b)); }
511
512 __ai int8x8_t vget_high_s8(int8x16_t __a) {
513 return __builtin_shufflevector(__a, __a, 8, 9, 10, 11, 12, 13, 14, 15); }
514 __ai int16x4_t vget_high_s16(int16x8_t __a) {
515 return __builtin_shufflevector(__a, __a, 4, 5, 6, 7); }
516 __ai int32x2_t vget_high_s32(int32x4_t __a) {
517 return __builtin_shufflevector(__a, __a, 2, 3); }
518 __ai int64x1_t vget_high_s64(int64x2_t __a) {
519 return __builtin_shufflevector(__a, __a, 1); }
520 __ai float16x4_t vget_high_f16(float16x8_t __a) {
521 return __builtin_shufflevector(__a, __a, 4, 5, 6, 7); }
522 __ai float32x2_t vget_high_f32(float32x4_t __a) {
523 return __builtin_shufflevector(__a, __a, 2, 3); }
524 __ai uint8x8_t vget_high_u8(uint8x16_t __a) {
525 return __builtin_shufflevector(__a, __a, 8, 9, 10, 11, 12, 13, 14, 15); }
526 __ai uint16x4_t vget_high_u16(uint16x8_t __a) {
527 return __builtin_shufflevector(__a, __a, 4, 5, 6, 7); }
528 __ai uint32x2_t vget_high_u32(uint32x4_t __a) {
529 return __builtin_shufflevector(__a, __a, 2, 3); }
530 __ai uint64x1_t vget_high_u64(uint64x2_t __a) {
531 return __builtin_shufflevector(__a, __a, 1); }
532 __ai poly8x8_t vget_high_p8(poly8x16_t __a) {
533 return __builtin_shufflevector(__a, __a, 8, 9, 10, 11, 12, 13, 14, 15); }
534 __ai poly16x4_t vget_high_p16(poly16x8_t __a) {
535 return __builtin_shufflevector(__a, __a, 4, 5, 6, 7); }
536
537 __ai int8x16_t vcombine_s8(int8x8_t __a, int8x8_t __b) {
538 return (int8x16_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1 ); }
539 __ai int16x8_t vcombine_s16(int16x4_t __a, int16x4_t __b) {
540 return (int16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1 ); }
541 __ai int32x4_t vcombine_s32(int32x2_t __a, int32x2_t __b) {
542 return (int32x4_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1 ); }
543 __ai int64x2_t vcombine_s64(int64x1_t __a, int64x1_t __b) {
544 return (int64x2_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1 ); }
545 __ai float16x8_t vcombine_f16(float16x4_t __a, float16x4_t __b) {
546 return (float16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
547 __ai float32x4_t vcombine_f32(float32x2_t __a, float32x2_t __b) {
548 return (float32x4_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
549 __ai uint8x16_t vcombine_u8(uint8x8_t __a, uint8x8_t __b) {
550 return (uint8x16_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
551 __ai uint16x8_t vcombine_u16(uint16x4_t __a, uint16x4_t __b) {
552 return (uint16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
553 __ai uint32x4_t vcombine_u32(uint32x2_t __a, uint32x2_t __b) {
554 return (uint32x4_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
555 __ai uint64x2_t vcombine_u64(uint64x1_t __a, uint64x1_t __b) {
556 return (uint64x2_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
557 __ai poly8x16_t vcombine_p8(poly8x8_t __a, poly8x8_t __b) {
558 return (poly8x16_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
559 __ai poly16x8_t vcombine_p16(poly16x4_t __a, poly16x4_t __b) {
560 return (poly16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
561
562 #define vshll_n_s8(a, __b) __extension__ ({ \
563 int8x8_t __a = (a); \
564 (int16x8_t)__builtin_neon_vshll_n_v(__a, __b, 33); })
565 #define vshll_n_s16(a, __b) __extension__ ({ \
566 int16x4_t __a = (a); \
567 (int32x4_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 34); })
568 #define vshll_n_s32(a, __b) __extension__ ({ \
569 int32x2_t __a = (a); \
570 (int64x2_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 35); })
571 #define vshll_n_u8(a, __b) __extension__ ({ \
572 uint8x8_t __a = (a); \
573 (uint16x8_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 49); })
574 #define vshll_n_u16(a, __b) __extension__ ({ \
575 uint16x4_t __a = (a); \
576 (uint32x4_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 50); })
577 #define vshll_n_u32(a, __b) __extension__ ({ \
578 uint32x2_t __a = (a); \
579 (uint64x2_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 51); })
580
581 #if defined(__aarch64__)
582 __ai int16x8_t vmovl_high_s8(int8x16_t __a) {
583 int8x8_t __a1 = vget_high_s8(__a);
584 return (int16x8_t)vshll_n_s8(__a1, 0); }
585 __ai int32x4_t vmovl_high_s16(int16x8_t __a) {
586 int16x4_t __a1 = vget_high_s16(__a);
587 return (int32x4_t)vshll_n_s16(__a1, 0); }
588 __ai int64x2_t vmovl_high_s32(int32x4_t __a) {
589 int32x2_t __a1 = vget_high_s32(__a);
590 return (int64x2_t)vshll_n_s32(__a1, 0); }
591 __ai uint16x8_t vmovl_high_u8(uint8x16_t __a) {
592 uint8x8_t __a1 = vget_high_u8(__a);
593 return (uint16x8_t)vshll_n_u8(__a1, 0); }
594 __ai uint32x4_t vmovl_high_u16(uint16x8_t __a) {
595 uint16x4_t __a1 = vget_high_u16(__a);
596 return (uint32x4_t)vshll_n_u16(__a1, 0); }
597 __ai uint64x2_t vmovl_high_u32(uint32x4_t __a) {
598 uint32x2_t __a1 = vget_high_u32(__a);
599 return (uint64x2_t)vshll_n_u32(__a1, 0); }
600
601 #endif
602
603 __ai int16x8_t vmull_s8(int8x8_t __a, int8x8_t __b) {
604 return (int16x8_t)__builtin_neon_vmull_v(__a, __b, 33); }
605 __ai int32x4_t vmull_s16(int16x4_t __a, int16x4_t __b) {
606 return (int32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 34); }
607 __ai int64x2_t vmull_s32(int32x2_t __a, int32x2_t __b) {
608 return (int64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 35); }
609 __ai uint16x8_t vmull_u8(uint8x8_t __a, uint8x8_t __b) {
610 return (uint16x8_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 49); }
611 __ai uint32x4_t vmull_u16(uint16x4_t __a, uint16x4_t __b) {
612 return (uint32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 50); }
613 __ai uint64x2_t vmull_u32(uint32x2_t __a, uint32x2_t __b) {
614 return (uint64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 51); }
615 __ai poly16x8_t vmull_p8(poly8x8_t __a, poly8x8_t __b) {
616 return (poly16x8_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 37); }
617
618 __ai int32x4_t vmlal_n_s16(int32x4_t __a, int16x4_t __b, int16_t __c) {
619 return __a + vmull_s16(__b, (int16x4_t){ __c, __c, __c, __c }); }
620 __ai int64x2_t vmlal_n_s32(int64x2_t __a, int32x2_t __b, int32_t __c) {
621 return __a + vmull_s32(__b, (int32x2_t){ __c, __c }); }
622 __ai uint32x4_t vmlal_n_u16(uint32x4_t __a, uint16x4_t __b, uint16_t __c) {
623 return __a + vmull_u16(__b, (uint16x4_t){ __c, __c, __c, __c }); }
624 __ai uint64x2_t vmlal_n_u32(uint64x2_t __a, uint32x2_t __b, uint32_t __c) {
625 return __a + vmull_u32(__b, (uint32x2_t){ __c, __c }); }
626
627 __ai int32x4_t vmlsl_n_s16(int32x4_t __a, int16x4_t __b, int16_t __c) {
628 return __a - vmull_s16(__b, (int16x4_t){ __c, __c, __c, __c }); }
629 __ai int64x2_t vmlsl_n_s32(int64x2_t __a, int32x2_t __b, int32_t __c) {
630 return __a - vmull_s32(__b, (int32x2_t){ __c, __c }); }
631 __ai uint32x4_t vmlsl_n_u16(uint32x4_t __a, uint16x4_t __b, uint16_t __c) {
632 return __a - vmull_u16(__b, (uint16x4_t){ __c, __c, __c, __c }); }
633 __ai uint64x2_t vmlsl_n_u32(uint64x2_t __a, uint32x2_t __b, uint32_t __c) {
634 return __a - vmull_u32(__b, (uint32x2_t){ __c, __c }); }
635
636 __ai int32x4_t vmull_n_s16(int16x4_t __a, int16_t __b) {
637 return (int32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)(int16x4_t){ __b, __b, __b, __b }, 34); }
638 __ai int64x2_t vmull_n_s32(int32x2_t __a, int32_t __b) {
639 return (int64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)(int32x2_t){ __b, __b }, 35); }
640 __ai uint32x4_t vmull_n_u16(uint16x4_t __a, uint16_t __b) {
641 return (uint32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)(uint16x4_t ){ __b, __b, __b, __b }, 50); }
642 __ai uint64x2_t vmull_n_u32(uint32x2_t __a, uint32_t __b) {
643 return (uint64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)(uint32x2_t ){ __b, __b }, 51); }
644
645 #if defined(__aarch64__)
646 __ai poly128_t vmull_p64(poly64_t __a, poly64_t __b) {
647 return (poly128_t)__builtin_neon_vmull_p64(__a, __b); }
648
649 #endif
650
651 __ai int32x4_t vqdmlal_n_s16(int32x4_t __a, int16x4_t __b, int16_t __c) {
652 return (int32x4_t)__builtin_neon_vqdmlal_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)(int16x4_t){ __c, __c, __c, __c }, 34); }
653 __ai int64x2_t vqdmlal_n_s32(int64x2_t __a, int32x2_t __b, int32_t __c) {
654 return (int64x2_t)__builtin_neon_vqdmlal_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)(int32x2_t){ __c, __c }, 35); }
655
656 __ai int32x4_t vqdmlsl_n_s16(int32x4_t __a, int16x4_t __b, int16_t __c) {
657 return (int32x4_t)__builtin_neon_vqdmlsl_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)(int16x4_t){ __c, __c, __c, __c }, 34); }
658 __ai int64x2_t vqdmlsl_n_s32(int64x2_t __a, int32x2_t __b, int32_t __c) {
659 return (int64x2_t)__builtin_neon_vqdmlsl_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)(int32x2_t){ __c, __c }, 35); }
660
661 __ai int32x4_t vqdmull_n_s16(int16x4_t __a, int16_t __b) {
662 return (int32x4_t)__builtin_neon_vqdmull_v((int8x8_t)__a, (int8x8_t)(int16x4_t ){ __b, __b, __b, __b }, 34); }
663 __ai int64x2_t vqdmull_n_s32(int32x2_t __a, int32_t __b) {
664 return (int64x2_t)__builtin_neon_vqdmull_v((int8x8_t)__a, (int8x8_t)(int32x2_t ){ __b, __b }, 35); }
665
666 #if defined(__aarch64__)
667 __ai float64x1_t vabd_f64(float64x1_t __a, float64x1_t __b) {
668 return (float64x1_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 10); }
669 __ai float64x2_t vabdq_f64(float64x2_t __a, float64x2_t __b) {
670 return (float64x2_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 42) ; }
671
672 __ai float64x1_t vabs_f64(float64x1_t __a) {
673 return (float64x1_t)__builtin_neon_vabs_v((int8x8_t)__a, 10); }
674 __ai float64x2_t vabsq_f64(float64x2_t __a) {
675 return (float64x2_t)__builtin_neon_vabsq_v((int8x16_t)__a, 42); }
676 __ai int64x1_t vabs_s64(int64x1_t __a) {
677 return (int64x1_t)__builtin_neon_vabs_v((int8x8_t)__a, 3); }
678 __ai int64x2_t vabsq_s64(int64x2_t __a) {
679 return (int64x2_t)__builtin_neon_vabsq_v((int8x16_t)__a, 35); }
680
681 __ai float64x1_t vadd_f64(float64x1_t __a, float64x1_t __b) {
682 return __a + __b; }
683 __ai float64x2_t vaddq_f64(float64x2_t __a, float64x2_t __b) {
684 return __a + __b; }
685
686 __ai int8x16_t vpaddq_s8(int8x16_t __a, int8x16_t __b) {
687 return (int8x16_t)__builtin_neon_vpaddq_v(__a, __b, 32); }
688 __ai int16x8_t vpaddq_s16(int16x8_t __a, int16x8_t __b) {
689 return (int16x8_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
690 __ai int32x4_t vpaddq_s32(int32x4_t __a, int32x4_t __b) {
691 return (int32x4_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
692 __ai int64x2_t vpaddq_s64(int64x2_t __a, int64x2_t __b) {
693 return (int64x2_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 35); }
694 __ai uint8x16_t vpaddq_u8(uint8x16_t __a, uint8x16_t __b) {
695 return (uint8x16_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 48) ; }
696 __ai uint16x8_t vpaddq_u16(uint16x8_t __a, uint16x8_t __b) {
697 return (uint16x8_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 49) ; }
698 __ai uint32x4_t vpaddq_u32(uint32x4_t __a, uint32x4_t __b) {
699 return (uint32x4_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 50) ; }
700 __ai uint64x2_t vpaddq_u64(uint64x2_t __a, uint64x2_t __b) {
701 return (uint64x2_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 51) ; }
702 __ai float32x4_t vpaddq_f32(float32x4_t __a, float32x4_t __b) {
703 return (float32x4_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 41 ); }
704 __ai float64x2_t vpaddq_f64(float64x2_t __a, float64x2_t __b) {
705 return (float64x2_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 42 ); }
706
707 #endif
708
709 #if __ARM_FEATURE_CRYPTO
710 __ai uint8x16_t vaesdq_u8(uint8x16_t __a, uint8x16_t __b) {
711 return (uint8x16_t)__builtin_neon_vaesdq_v((int8x16_t)__a, (int8x16_t)__b, 48) ; }
712
713 __ai uint8x16_t vaeseq_u8(uint8x16_t __a, uint8x16_t __b) {
714 return (uint8x16_t)__builtin_neon_vaeseq_v((int8x16_t)__a, (int8x16_t)__b, 48) ; }
715
716 __ai uint8x16_t vaesimcq_u8(uint8x16_t __a) {
717 return (uint8x16_t)__builtin_neon_vaesimcq_v((int8x16_t)__a, 48); }
718
719 __ai uint8x16_t vaesmcq_u8(uint8x16_t __a) {
720 return (uint8x16_t)__builtin_neon_vaesmcq_v((int8x16_t)__a, 48); }
721
722 #endif
723
724 #if defined(__aarch64__)
725 __ai float64x1_t vbsl_f64(uint64x1_t __a, float64x1_t __b, float64x1_t __c) {
726 return (float64x1_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x 8_t)__c, 10); }
727 __ai poly64x1_t vbsl_p64(uint64x1_t __a, poly64x1_t __b, poly64x1_t __c) {
728 return (poly64x1_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8 _t)__c, 6); }
729 __ai float64x2_t vbslq_f64(uint64x2_t __a, float64x2_t __b, float64x2_t __c) {
730 return (float64x2_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (in t8x16_t)__c, 42); }
731 __ai poly64x2_t vbslq_p64(uint64x2_t __a, poly64x2_t __b, poly64x2_t __c) {
732 return (poly64x2_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int 8x16_t)__c, 38); }
733
734 __ai uint64x1_t vceq_s64(int64x1_t __a, int64x1_t __b) {
735 return (uint64x1_t)(__a == __b); }
736 __ai uint64x1_t vceq_u64(uint64x1_t __a, uint64x1_t __b) {
737 return (uint64x1_t)(__a == __b); }
738 __ai uint64x1_t vceq_f64(float64x1_t __a, float64x1_t __b) {
739 return (uint64x1_t)(__a == __b); }
740 __ai uint64x2_t vceqq_f64(float64x2_t __a, float64x2_t __b) {
741 return (uint64x2_t)(__a == __b); }
742 __ai uint64x2_t vceqq_s64(int64x2_t __a, int64x2_t __b) {
743 return (uint64x2_t)(__a == __b); }
744 __ai uint64x2_t vceqq_u64(uint64x2_t __a, uint64x2_t __b) {
745 return (uint64x2_t)(__a == __b); }
746 __ai uint64x1_t vceq_p64(poly64x1_t __a, poly64x1_t __b) {
747 return (uint64x1_t)(__a == __b); }
748 __ai uint64x2_t vceqq_p64(poly64x2_t __a, poly64x2_t __b) {
749 return (uint64x2_t)(__a == __b); }
750
751 __ai uint64x1_t vcge_s64(int64x1_t __a, int64x1_t __b) {
752 return (uint64x1_t)(__a >= __b); }
753 __ai uint64x1_t vcge_u64(uint64x1_t __a, uint64x1_t __b) {
754 return (uint64x1_t)(__a >= __b); }
755 __ai uint64x1_t vcge_f64(float64x1_t __a, float64x1_t __b) {
756 return (uint64x1_t)(__a >= __b); }
757 __ai uint64x2_t vcgeq_f64(float64x2_t __a, float64x2_t __b) {
758 return (uint64x2_t)(__a >= __b); }
759 __ai uint64x2_t vcgeq_s64(int64x2_t __a, int64x2_t __b) {
760 return (uint64x2_t)(__a >= __b); }
761 __ai uint64x2_t vcgeq_u64(uint64x2_t __a, uint64x2_t __b) {
762 return (uint64x2_t)(__a >= __b); }
763
764 __ai uint64x1_t vcgt_s64(int64x1_t __a, int64x1_t __b) {
765 return (uint64x1_t)(__a > __b); }
766 __ai uint64x1_t vcgt_u64(uint64x1_t __a, uint64x1_t __b) {
767 return (uint64x1_t)(__a > __b); }
768 __ai uint64x1_t vcgt_f64(float64x1_t __a, float64x1_t __b) {
769 return (uint64x1_t)(__a > __b); }
770 __ai uint64x2_t vcgtq_f64(float64x2_t __a, float64x2_t __b) {
771 return (uint64x2_t)(__a > __b); }
772 __ai uint64x2_t vcgtq_s64(int64x2_t __a, int64x2_t __b) {
773 return (uint64x2_t)(__a > __b); }
774 __ai uint64x2_t vcgtq_u64(uint64x2_t __a, uint64x2_t __b) {
775 return (uint64x2_t)(__a > __b); }
776
777 __ai uint64x1_t vcle_s64(int64x1_t __a, int64x1_t __b) {
778 return (uint64x1_t)(__a <= __b); }
779 __ai uint64x1_t vcle_u64(uint64x1_t __a, uint64x1_t __b) {
780 return (uint64x1_t)(__a <= __b); }
781 __ai uint64x1_t vcle_f64(float64x1_t __a, float64x1_t __b) {
782 return (uint64x1_t)(__a <= __b); }
783 __ai uint64x2_t vcleq_f64(float64x2_t __a, float64x2_t __b) {
784 return (uint64x2_t)(__a <= __b); }
785 __ai uint64x2_t vcleq_s64(int64x2_t __a, int64x2_t __b) {
786 return (uint64x2_t)(__a <= __b); }
787 __ai uint64x2_t vcleq_u64(uint64x2_t __a, uint64x2_t __b) {
788 return (uint64x2_t)(__a <= __b); }
789
790 __ai uint64x1_t vclt_s64(int64x1_t __a, int64x1_t __b) {
791 return (uint64x1_t)(__a < __b); }
792 __ai uint64x1_t vclt_u64(uint64x1_t __a, uint64x1_t __b) {
793 return (uint64x1_t)(__a < __b); }
794 __ai uint64x1_t vclt_f64(float64x1_t __a, float64x1_t __b) {
795 return (uint64x1_t)(__a < __b); }
796 __ai uint64x2_t vcltq_f64(float64x2_t __a, float64x2_t __b) {
797 return (uint64x2_t)(__a < __b); }
798 __ai uint64x2_t vcltq_s64(int64x2_t __a, int64x2_t __b) {
799 return (uint64x2_t)(__a < __b); }
800 __ai uint64x2_t vcltq_u64(uint64x2_t __a, uint64x2_t __b) {
801 return (uint64x2_t)(__a < __b); }
802
803 __ai uint8x8_t vceqz_s8(int8x8_t __a) {
804 return (uint8x8_t)__builtin_neon_vceqz_v(__a, 16); }
805 __ai uint16x4_t vceqz_s16(int16x4_t __a) {
806 return (uint16x4_t)__builtin_neon_vceqz_v((int8x8_t)__a, 17); }
807 __ai uint32x2_t vceqz_s32(int32x2_t __a) {
808 return (uint32x2_t)__builtin_neon_vceqz_v((int8x8_t)__a, 18); }
809 __ai uint64x1_t vceqz_s64(int64x1_t __a) {
810 return (uint64x1_t)__builtin_neon_vceqz_v((int8x8_t)__a, 19); }
811 __ai uint32x2_t vceqz_f32(float32x2_t __a) {
812 return (uint32x2_t)__builtin_neon_vceqz_v((int8x8_t)__a, 18); }
813 __ai uint8x8_t vceqz_u8(uint8x8_t __a) {
814 return (uint8x8_t)__builtin_neon_vceqz_v((int8x8_t)__a, 16); }
815 __ai uint16x4_t vceqz_u16(uint16x4_t __a) {
816 return (uint16x4_t)__builtin_neon_vceqz_v((int8x8_t)__a, 17); }
817 __ai uint32x2_t vceqz_u32(uint32x2_t __a) {
818 return (uint32x2_t)__builtin_neon_vceqz_v((int8x8_t)__a, 18); }
819 __ai uint64x1_t vceqz_u64(uint64x1_t __a) {
820 return (uint64x1_t)__builtin_neon_vceqz_v((int8x8_t)__a, 19); }
821 __ai uint8x8_t vceqz_p8(poly8x8_t __a) {
822 return (uint8x8_t)__builtin_neon_vceqz_v((int8x8_t)__a, 16); }
823 __ai uint16x4_t vceqz_p16(poly16x4_t __a) {
824 return (uint16x4_t)__builtin_neon_vceqz_v((int8x8_t)__a, 17); }
825 __ai uint64x1_t vceqz_p64(poly64x1_t __a) {
826 return (uint64x1_t)__builtin_neon_vceqz_v((int8x8_t)__a, 19); }
827 __ai uint8x16_t vceqzq_s8(int8x16_t __a) {
828 return (uint8x16_t)__builtin_neon_vceqzq_v(__a, 48); }
829 __ai uint16x8_t vceqzq_s16(int16x8_t __a) {
830 return (uint16x8_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 49); }
831 __ai uint32x4_t vceqzq_s32(int32x4_t __a) {
832 return (uint32x4_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 50); }
833 __ai uint64x2_t vceqzq_s64(int64x2_t __a) {
834 return (uint64x2_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 51); }
835 __ai uint32x4_t vceqzq_f32(float32x4_t __a) {
836 return (uint32x4_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 50); }
837 __ai uint8x16_t vceqzq_u8(uint8x16_t __a) {
838 return (uint8x16_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 48); }
839 __ai uint16x8_t vceqzq_u16(uint16x8_t __a) {
840 return (uint16x8_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 49); }
841 __ai uint32x4_t vceqzq_u32(uint32x4_t __a) {
842 return (uint32x4_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 50); }
843 __ai uint64x2_t vceqzq_u64(uint64x2_t __a) {
844 return (uint64x2_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 51); }
845 __ai uint8x16_t vceqzq_p8(poly8x16_t __a) {
846 return (uint8x16_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 48); }
847 __ai uint16x8_t vceqzq_p16(poly16x8_t __a) {
848 return (uint16x8_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 49); }
849 __ai uint64x1_t vceqz_f64(float64x1_t __a) {
850 return (uint64x1_t)__builtin_neon_vceqz_v((int8x8_t)__a, 19); }
851 __ai uint64x2_t vceqzq_f64(float64x2_t __a) {
852 return (uint64x2_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 51); }
853 __ai uint64x2_t vceqzq_p64(poly64x2_t __a) {
854 return (uint64x2_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 51); }
855
856 __ai uint8x8_t vcgez_s8(int8x8_t __a) {
857 return (uint8x8_t)__builtin_neon_vcgez_v(__a, 16); }
858 __ai uint16x4_t vcgez_s16(int16x4_t __a) {
859 return (uint16x4_t)__builtin_neon_vcgez_v((int8x8_t)__a, 17); }
860 __ai uint32x2_t vcgez_s32(int32x2_t __a) {
861 return (uint32x2_t)__builtin_neon_vcgez_v((int8x8_t)__a, 18); }
862 __ai uint64x1_t vcgez_s64(int64x1_t __a) {
863 return (uint64x1_t)__builtin_neon_vcgez_v((int8x8_t)__a, 19); }
864 __ai uint32x2_t vcgez_f32(float32x2_t __a) {
865 return (uint32x2_t)__builtin_neon_vcgez_v((int8x8_t)__a, 18); }
866 __ai uint64x1_t vcgez_f64(float64x1_t __a) {
867 return (uint64x1_t)__builtin_neon_vcgez_v((int8x8_t)__a, 19); }
868 __ai uint8x16_t vcgezq_s8(int8x16_t __a) {
869 return (uint8x16_t)__builtin_neon_vcgezq_v(__a, 48); }
870 __ai uint16x8_t vcgezq_s16(int16x8_t __a) {
871 return (uint16x8_t)__builtin_neon_vcgezq_v((int8x16_t)__a, 49); }
872 __ai uint32x4_t vcgezq_s32(int32x4_t __a) {
873 return (uint32x4_t)__builtin_neon_vcgezq_v((int8x16_t)__a, 50); }
874 __ai uint64x2_t vcgezq_s64(int64x2_t __a) {
875 return (uint64x2_t)__builtin_neon_vcgezq_v((int8x16_t)__a, 51); }
876 __ai uint32x4_t vcgezq_f32(float32x4_t __a) {
877 return (uint32x4_t)__builtin_neon_vcgezq_v((int8x16_t)__a, 50); }
878 __ai uint64x2_t vcgezq_f64(float64x2_t __a) {
879 return (uint64x2_t)__builtin_neon_vcgezq_v((int8x16_t)__a, 51); }
880
881 __ai uint8x8_t vcgtz_s8(int8x8_t __a) {
882 return (uint8x8_t)__builtin_neon_vcgtz_v(__a, 16); }
883 __ai uint16x4_t vcgtz_s16(int16x4_t __a) {
884 return (uint16x4_t)__builtin_neon_vcgtz_v((int8x8_t)__a, 17); }
885 __ai uint32x2_t vcgtz_s32(int32x2_t __a) {
886 return (uint32x2_t)__builtin_neon_vcgtz_v((int8x8_t)__a, 18); }
887 __ai uint64x1_t vcgtz_s64(int64x1_t __a) {
888 return (uint64x1_t)__builtin_neon_vcgtz_v((int8x8_t)__a, 19); }
889 __ai uint32x2_t vcgtz_f32(float32x2_t __a) {
890 return (uint32x2_t)__builtin_neon_vcgtz_v((int8x8_t)__a, 18); }
891 __ai uint64x1_t vcgtz_f64(float64x1_t __a) {
892 return (uint64x1_t)__builtin_neon_vcgtz_v((int8x8_t)__a, 19); }
893 __ai uint8x16_t vcgtzq_s8(int8x16_t __a) {
894 return (uint8x16_t)__builtin_neon_vcgtzq_v(__a, 48); }
895 __ai uint16x8_t vcgtzq_s16(int16x8_t __a) {
896 return (uint16x8_t)__builtin_neon_vcgtzq_v((int8x16_t)__a, 49); }
897 __ai uint32x4_t vcgtzq_s32(int32x4_t __a) {
898 return (uint32x4_t)__builtin_neon_vcgtzq_v((int8x16_t)__a, 50); }
899 __ai uint64x2_t vcgtzq_s64(int64x2_t __a) {
900 return (uint64x2_t)__builtin_neon_vcgtzq_v((int8x16_t)__a, 51); }
901 __ai uint32x4_t vcgtzq_f32(float32x4_t __a) {
902 return (uint32x4_t)__builtin_neon_vcgtzq_v((int8x16_t)__a, 50); }
903 __ai uint64x2_t vcgtzq_f64(float64x2_t __a) {
904 return (uint64x2_t)__builtin_neon_vcgtzq_v((int8x16_t)__a, 51); }
905
906 __ai uint8x8_t vclez_s8(int8x8_t __a) {
907 return (uint8x8_t)__builtin_neon_vclez_v(__a, 16); }
908 __ai uint16x4_t vclez_s16(int16x4_t __a) {
909 return (uint16x4_t)__builtin_neon_vclez_v((int8x8_t)__a, 17); }
910 __ai uint32x2_t vclez_s32(int32x2_t __a) {
911 return (uint32x2_t)__builtin_neon_vclez_v((int8x8_t)__a, 18); }
912 __ai uint64x1_t vclez_s64(int64x1_t __a) {
913 return (uint64x1_t)__builtin_neon_vclez_v((int8x8_t)__a, 19); }
914 __ai uint32x2_t vclez_f32(float32x2_t __a) {
915 return (uint32x2_t)__builtin_neon_vclez_v((int8x8_t)__a, 18); }
916 __ai uint64x1_t vclez_f64(float64x1_t __a) {
917 return (uint64x1_t)__builtin_neon_vclez_v((int8x8_t)__a, 19); }
918 __ai uint8x16_t vclezq_s8(int8x16_t __a) {
919 return (uint8x16_t)__builtin_neon_vclezq_v(__a, 48); }
920 __ai uint16x8_t vclezq_s16(int16x8_t __a) {
921 return (uint16x8_t)__builtin_neon_vclezq_v((int8x16_t)__a, 49); }
922 __ai uint32x4_t vclezq_s32(int32x4_t __a) {
923 return (uint32x4_t)__builtin_neon_vclezq_v((int8x16_t)__a, 50); }
924 __ai uint64x2_t vclezq_s64(int64x2_t __a) {
925 return (uint64x2_t)__builtin_neon_vclezq_v((int8x16_t)__a, 51); }
926 __ai uint32x4_t vclezq_f32(float32x4_t __a) {
927 return (uint32x4_t)__builtin_neon_vclezq_v((int8x16_t)__a, 50); }
928 __ai uint64x2_t vclezq_f64(float64x2_t __a) {
929 return (uint64x2_t)__builtin_neon_vclezq_v((int8x16_t)__a, 51); }
930
931 __ai uint8x8_t vcltz_s8(int8x8_t __a) {
932 return (uint8x8_t)__builtin_neon_vcltz_v(__a, 16); }
933 __ai uint16x4_t vcltz_s16(int16x4_t __a) {
934 return (uint16x4_t)__builtin_neon_vcltz_v((int8x8_t)__a, 17); }
935 __ai uint32x2_t vcltz_s32(int32x2_t __a) {
936 return (uint32x2_t)__builtin_neon_vcltz_v((int8x8_t)__a, 18); }
937 __ai uint64x1_t vcltz_s64(int64x1_t __a) {
938 return (uint64x1_t)__builtin_neon_vcltz_v((int8x8_t)__a, 19); }
939 __ai uint32x2_t vcltz_f32(float32x2_t __a) {
940 return (uint32x2_t)__builtin_neon_vcltz_v((int8x8_t)__a, 18); }
941 __ai uint64x1_t vcltz_f64(float64x1_t __a) {
942 return (uint64x1_t)__builtin_neon_vcltz_v((int8x8_t)__a, 19); }
943 __ai uint8x16_t vcltzq_s8(int8x16_t __a) {
944 return (uint8x16_t)__builtin_neon_vcltzq_v(__a, 48); }
945 __ai uint16x8_t vcltzq_s16(int16x8_t __a) {
946 return (uint16x8_t)__builtin_neon_vcltzq_v((int8x16_t)__a, 49); }
947 __ai uint32x4_t vcltzq_s32(int32x4_t __a) {
948 return (uint32x4_t)__builtin_neon_vcltzq_v((int8x16_t)__a, 50); }
949 __ai uint64x2_t vcltzq_s64(int64x2_t __a) {
950 return (uint64x2_t)__builtin_neon_vcltzq_v((int8x16_t)__a, 51); }
951 __ai uint32x4_t vcltzq_f32(float32x4_t __a) {
952 return (uint32x4_t)__builtin_neon_vcltzq_v((int8x16_t)__a, 50); }
953 __ai uint64x2_t vcltzq_f64(float64x2_t __a) {
954 return (uint64x2_t)__builtin_neon_vcltzq_v((int8x16_t)__a, 51); }
955
956 __ai uint64x1_t vtst_s64(int64x1_t __a, int64x1_t __b) {
957 return (uint64x1_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 19); }
958 __ai uint64x1_t vtst_u64(uint64x1_t __a, uint64x1_t __b) {
959 return (uint64x1_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 19); }
960 __ai uint64x1_t vtst_p64(poly64x1_t __a, poly64x1_t __b) {
961 return (uint64x1_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 19); }
962 __ai uint64x2_t vtstq_s64(int64x2_t __a, int64x2_t __b) {
963 return (uint64x2_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 51); }
964 __ai uint64x2_t vtstq_u64(uint64x2_t __a, uint64x2_t __b) {
965 return (uint64x2_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 51); }
966 __ai uint64x2_t vtstq_p64(poly64x2_t __a, poly64x2_t __b) {
967 return (uint64x2_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 51); }
968
969 __ai float64x2_t vcombine_f64(float64x1_t __a, float64x1_t __b) {
970 return (float64x2_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
971 __ai poly64x2_t vcombine_p64(poly64x1_t __a, poly64x1_t __b) {
972 return (poly64x2_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1); }
973
974 #define vcopyq_lane_s8(a, __b, c, __d) __extension__ ({ \
975 int8x16_t __a = (a); int8x8_t __c = (c); \
976 int8x16_t __a1 = __a; \
977 int8x8_t __c1 = __c; \
978 int8_t __c2 = vget_lane_s8(__c1, __d); \
979 vsetq_lane_s8(__c2, __a1, __b); })
980 #define vcopyq_lane_s16(a, __b, c, __d) __extension__ ({ \
981 int16x8_t __a = (a); int16x4_t __c = (c); \
982 int16x8_t __a1 = __a; \
983 int16x4_t __c1 = __c; \
984 int16_t __c2 = vget_lane_s16(__c1, __d); \
985 vsetq_lane_s16(__c2, __a1, __b); })
986 #define vcopyq_lane_s32(a, __b, c, __d) __extension__ ({ \
987 int32x4_t __a = (a); int32x2_t __c = (c); \
988 int32x4_t __a1 = __a; \
989 int32x2_t __c1 = __c; \
990 int32_t __c2 = vget_lane_s32(__c1, __d); \
991 vsetq_lane_s32(__c2, __a1, __b); })
992 #define vcopyq_lane_s64(a, __b, c, __d) __extension__ ({ \
993 int64x2_t __a = (a); int64x1_t __c = (c); \
994 int64x2_t __a1 = __a; \
995 int64x1_t __c1 = __c; \
996 int64_t __c2 = vget_lane_s64(__c1, __d); \
997 vsetq_lane_s64(__c2, __a1, __b); })
998 #define vcopyq_lane_u8(a, __b, c, __d) __extension__ ({ \
999 uint8x16_t __a = (a); uint8x8_t __c = (c); \
1000 uint8x16_t __a1 = __a; \
1001 uint8x8_t __c1 = __c; \
1002 uint8_t __c2 = vget_lane_u8(__c1, __d); \
1003 vsetq_lane_u8(__c2, __a1, __b); })
1004 #define vcopyq_lane_u16(a, __b, c, __d) __extension__ ({ \
1005 uint16x8_t __a = (a); uint16x4_t __c = (c); \
1006 uint16x8_t __a1 = __a; \
1007 uint16x4_t __c1 = __c; \
1008 uint16_t __c2 = vget_lane_u16(__c1, __d); \
1009 vsetq_lane_u16(__c2, __a1, __b); })
1010 #define vcopyq_lane_u32(a, __b, c, __d) __extension__ ({ \
1011 uint32x4_t __a = (a); uint32x2_t __c = (c); \
1012 uint32x4_t __a1 = __a; \
1013 uint32x2_t __c1 = __c; \
1014 uint32_t __c2 = vget_lane_u32(__c1, __d); \
1015 vsetq_lane_u32(__c2, __a1, __b); })
1016 #define vcopyq_lane_u64(a, __b, c, __d) __extension__ ({ \
1017 uint64x2_t __a = (a); uint64x1_t __c = (c); \
1018 uint64x2_t __a1 = __a; \
1019 uint64x1_t __c1 = __c; \
1020 uint64_t __c2 = vget_lane_u64(__c1, __d); \
1021 vsetq_lane_u64(__c2, __a1, __b); })
1022 #define vcopyq_lane_p8(a, __b, c, __d) __extension__ ({ \
1023 poly8x16_t __a = (a); poly8x8_t __c = (c); \
1024 poly8x16_t __a1 = __a; \
1025 poly8x8_t __c1 = __c; \
1026 poly8_t __c2 = vget_lane_p8(__c1, __d); \
1027 vsetq_lane_p8(__c2, __a1, __b); })
1028 #define vcopyq_lane_p16(a, __b, c, __d) __extension__ ({ \
1029 poly16x8_t __a = (a); poly16x4_t __c = (c); \
1030 poly16x8_t __a1 = __a; \
1031 poly16x4_t __c1 = __c; \
1032 poly16_t __c2 = vget_lane_p16(__c1, __d); \
1033 vsetq_lane_p16(__c2, __a1, __b); })
1034 #define vcopyq_lane_f32(a, __b, c, __d) __extension__ ({ \
1035 float32x4_t __a = (a); float32x2_t __c = (c); \
1036 float32x4_t __a1 = __a; \
1037 float32x2_t __c1 = __c; \
1038 float32_t __c2 = vget_lane_f32(__c1, __d); \
1039 vsetq_lane_f32(__c2, __a1, __b); })
1040 #define vcopyq_lane_f64(a, __b, c, __d) __extension__ ({ \
1041 float64x2_t __a = (a); float64x1_t __c = (c); \
1042 float64x2_t __a1 = __a; \
1043 float64x1_t __c1 = __c; \
1044 float64_t __c2 = vget_lane_f64(__c1, __d); \
1045 vsetq_lane_f64(__c2, __a1, __b); })
1046 #define vcopyq_lane_p64(a, __b, c, __d) __extension__ ({ \
1047 poly64x2_t __a = (a); poly64x1_t __c = (c); \
1048 poly64x2_t __a1 = __a; \
1049 poly64x1_t __c1 = __c; \
1050 poly64_t __c2 = vget_lane_p64(__c1, __d); \
1051 vsetq_lane_p64(__c2, __a1, __b); })
1052
1053 #define vcopyq_laneq_s8(a, __b, c, __d) __extension__ ({ \
1054 int8x16_t __a = (a); int8x16_t __c = (c); \
1055 int8x16_t __a1 = __a; \
1056 int8x16_t __c1 = __c; \
1057 int8_t __c2 = vgetq_lane_s8(__c1, __d); \
1058 vsetq_lane_s8(__c2, __a1, __b); })
1059 #define vcopyq_laneq_s16(a, __b, c, __d) __extension__ ({ \
1060 int16x8_t __a = (a); int16x8_t __c = (c); \
1061 int16x8_t __a1 = __a; \
1062 int16x8_t __c1 = __c; \
1063 int16_t __c2 = vgetq_lane_s16(__c1, __d); \
1064 vsetq_lane_s16(__c2, __a1, __b); })
1065 #define vcopyq_laneq_s32(a, __b, c, __d) __extension__ ({ \
1066 int32x4_t __a = (a); int32x4_t __c = (c); \
1067 int32x4_t __a1 = __a; \
1068 int32x4_t __c1 = __c; \
1069 int32_t __c2 = vgetq_lane_s32(__c1, __d); \
1070 vsetq_lane_s32(__c2, __a1, __b); })
1071 #define vcopyq_laneq_s64(a, __b, c, __d) __extension__ ({ \
1072 int64x2_t __a = (a); int64x2_t __c = (c); \
1073 int64x2_t __a1 = __a; \
1074 int64x2_t __c1 = __c; \
1075 int64_t __c2 = vgetq_lane_s64(__c1, __d); \
1076 vsetq_lane_s64(__c2, __a1, __b); })
1077 #define vcopyq_laneq_u8(a, __b, c, __d) __extension__ ({ \
1078 uint8x16_t __a = (a); uint8x16_t __c = (c); \
1079 uint8x16_t __a1 = __a; \
1080 uint8x16_t __c1 = __c; \
1081 uint8_t __c2 = vgetq_lane_u8(__c1, __d); \
1082 vsetq_lane_u8(__c2, __a1, __b); })
1083 #define vcopyq_laneq_u16(a, __b, c, __d) __extension__ ({ \
1084 uint16x8_t __a = (a); uint16x8_t __c = (c); \
1085 uint16x8_t __a1 = __a; \
1086 uint16x8_t __c1 = __c; \
1087 uint16_t __c2 = vgetq_lane_u16(__c1, __d); \
1088 vsetq_lane_u16(__c2, __a1, __b); })
1089 #define vcopyq_laneq_u32(a, __b, c, __d) __extension__ ({ \
1090 uint32x4_t __a = (a); uint32x4_t __c = (c); \
1091 uint32x4_t __a1 = __a; \
1092 uint32x4_t __c1 = __c; \
1093 uint32_t __c2 = vgetq_lane_u32(__c1, __d); \
1094 vsetq_lane_u32(__c2, __a1, __b); })
1095 #define vcopyq_laneq_u64(a, __b, c, __d) __extension__ ({ \
1096 uint64x2_t __a = (a); uint64x2_t __c = (c); \
1097 uint64x2_t __a1 = __a; \
1098 uint64x2_t __c1 = __c; \
1099 uint64_t __c2 = vgetq_lane_u64(__c1, __d); \
1100 vsetq_lane_u64(__c2, __a1, __b); })
1101 #define vcopyq_laneq_p8(a, __b, c, __d) __extension__ ({ \
1102 poly8x16_t __a = (a); poly8x16_t __c = (c); \
1103 poly8x16_t __a1 = __a; \
1104 poly8x16_t __c1 = __c; \
1105 poly8_t __c2 = vgetq_lane_p8(__c1, __d); \
1106 vsetq_lane_p8(__c2, __a1, __b); })
1107 #define vcopyq_laneq_p16(a, __b, c, __d) __extension__ ({ \
1108 poly16x8_t __a = (a); poly16x8_t __c = (c); \
1109 poly16x8_t __a1 = __a; \
1110 poly16x8_t __c1 = __c; \
1111 poly16_t __c2 = vgetq_lane_p16(__c1, __d); \
1112 vsetq_lane_p16(__c2, __a1, __b); })
1113 #define vcopyq_laneq_f32(a, __b, c, __d) __extension__ ({ \
1114 float32x4_t __a = (a); float32x4_t __c = (c); \
1115 float32x4_t __a1 = __a; \
1116 float32x4_t __c1 = __c; \
1117 float32_t __c2 = vgetq_lane_f32(__c1, __d); \
1118 vsetq_lane_f32(__c2, __a1, __b); })
1119 #define vcopyq_laneq_f64(a, __b, c, __d) __extension__ ({ \
1120 float64x2_t __a = (a); float64x2_t __c = (c); \
1121 float64x2_t __a1 = __a; \
1122 float64x2_t __c1 = __c; \
1123 float64_t __c2 = vgetq_lane_f64(__c1, __d); \
1124 vsetq_lane_f64(__c2, __a1, __b); })
1125 #define vcopyq_laneq_p64(a, __b, c, __d) __extension__ ({ \
1126 poly64x2_t __a = (a); poly64x2_t __c = (c); \
1127 poly64x2_t __a1 = __a; \
1128 poly64x2_t __c1 = __c; \
1129 poly64_t __c2 = vgetq_lane_p64(__c1, __d); \
1130 vsetq_lane_p64(__c2, __a1, __b); })
1131
1132 #define vcopy_lane_s8(a, __b, c, __d) __extension__ ({ \
1133 int8x8_t __a = (a); int8x8_t __c = (c); \
1134 int8x8_t __a1 = __a; \
1135 int8x8_t __c1 = __c; \
1136 int8_t __c2 = vget_lane_s8(__c1, __d); \
1137 vset_lane_s8(__c2, __a1, __b); })
1138 #define vcopy_lane_s16(a, __b, c, __d) __extension__ ({ \
1139 int16x4_t __a = (a); int16x4_t __c = (c); \
1140 int16x4_t __a1 = __a; \
1141 int16x4_t __c1 = __c; \
1142 int16_t __c2 = vget_lane_s16(__c1, __d); \
1143 vset_lane_s16(__c2, __a1, __b); })
1144 #define vcopy_lane_s32(a, __b, c, __d) __extension__ ({ \
1145 int32x2_t __a = (a); int32x2_t __c = (c); \
1146 int32x2_t __a1 = __a; \
1147 int32x2_t __c1 = __c; \
1148 int32_t __c2 = vget_lane_s32(__c1, __d); \
1149 vset_lane_s32(__c2, __a1, __b); })
1150 #define vcopy_lane_s64(a, __b, c, __d) __extension__ ({ \
1151 int64x1_t __a = (a); int64x1_t __c = (c); \
1152 int64x1_t __a1 = __a; \
1153 int64x1_t __c1 = __c; \
1154 int64_t __c2 = vget_lane_s64(__c1, __d); \
1155 vset_lane_s64(__c2, __a1, __b); })
1156 #define vcopy_lane_u8(a, __b, c, __d) __extension__ ({ \
1157 uint8x8_t __a = (a); uint8x8_t __c = (c); \
1158 uint8x8_t __a1 = __a; \
1159 uint8x8_t __c1 = __c; \
1160 uint8_t __c2 = vget_lane_u8(__c1, __d); \
1161 vset_lane_u8(__c2, __a1, __b); })
1162 #define vcopy_lane_u16(a, __b, c, __d) __extension__ ({ \
1163 uint16x4_t __a = (a); uint16x4_t __c = (c); \
1164 uint16x4_t __a1 = __a; \
1165 uint16x4_t __c1 = __c; \
1166 uint16_t __c2 = vget_lane_u16(__c1, __d); \
1167 vset_lane_u16(__c2, __a1, __b); })
1168 #define vcopy_lane_u32(a, __b, c, __d) __extension__ ({ \
1169 uint32x2_t __a = (a); uint32x2_t __c = (c); \
1170 uint32x2_t __a1 = __a; \
1171 uint32x2_t __c1 = __c; \
1172 uint32_t __c2 = vget_lane_u32(__c1, __d); \
1173 vset_lane_u32(__c2, __a1, __b); })
1174 #define vcopy_lane_u64(a, __b, c, __d) __extension__ ({ \
1175 uint64x1_t __a = (a); uint64x1_t __c = (c); \
1176 uint64x1_t __a1 = __a; \
1177 uint64x1_t __c1 = __c; \
1178 uint64_t __c2 = vget_lane_u64(__c1, __d); \
1179 vset_lane_u64(__c2, __a1, __b); })
1180 #define vcopy_lane_p8(a, __b, c, __d) __extension__ ({ \
1181 poly8x8_t __a = (a); poly8x8_t __c = (c); \
1182 poly8x8_t __a1 = __a; \
1183 poly8x8_t __c1 = __c; \
1184 poly8_t __c2 = vget_lane_p8(__c1, __d); \
1185 vset_lane_p8(__c2, __a1, __b); })
1186 #define vcopy_lane_p16(a, __b, c, __d) __extension__ ({ \
1187 poly16x4_t __a = (a); poly16x4_t __c = (c); \
1188 poly16x4_t __a1 = __a; \
1189 poly16x4_t __c1 = __c; \
1190 poly16_t __c2 = vget_lane_p16(__c1, __d); \
1191 vset_lane_p16(__c2, __a1, __b); })
1192 #define vcopy_lane_p64(a, __b, c, __d) __extension__ ({ \
1193 poly64x1_t __a = (a); poly64x1_t __c = (c); \
1194 poly64x1_t __a1 = __a; \
1195 poly64x1_t __c1 = __c; \
1196 poly64_t __c2 = vget_lane_p64(__c1, __d); \
1197 vset_lane_p64(__c2, __a1, __b); })
1198 #define vcopy_lane_f32(a, __b, c, __d) __extension__ ({ \
1199 float32x2_t __a = (a); float32x2_t __c = (c); \
1200 float32x2_t __a1 = __a; \
1201 float32x2_t __c1 = __c; \
1202 float32_t __c2 = vget_lane_f32(__c1, __d); \
1203 vset_lane_f32(__c2, __a1, __b); })
1204 #define vcopy_lane_f64(a, __b, c, __d) __extension__ ({ \
1205 float64x1_t __a = (a); float64x1_t __c = (c); \
1206 float64x1_t __a1 = __a; \
1207 float64x1_t __c1 = __c; \
1208 float64_t __c2 = vget_lane_f64(__c1, __d); \
1209 vset_lane_f64(__c2, __a1, __b); })
1210
1211 #define vcopy_laneq_s8(a, __b, c, __d) __extension__ ({ \
1212 int8x8_t __a = (a); int8x16_t __c = (c); \
1213 int8x8_t __a1 = __a; \
1214 int8x16_t __c1 = __c; \
1215 int8_t __c2 = vgetq_lane_s8(__c1, __d); \
1216 vset_lane_s8(__c2, __a1, __b); })
1217 #define vcopy_laneq_s16(a, __b, c, __d) __extension__ ({ \
1218 int16x4_t __a = (a); int16x8_t __c = (c); \
1219 int16x4_t __a1 = __a; \
1220 int16x8_t __c1 = __c; \
1221 int16_t __c2 = vgetq_lane_s16(__c1, __d); \
1222 vset_lane_s16(__c2, __a1, __b); })
1223 #define vcopy_laneq_s32(a, __b, c, __d) __extension__ ({ \
1224 int32x2_t __a = (a); int32x4_t __c = (c); \
1225 int32x2_t __a1 = __a; \
1226 int32x4_t __c1 = __c; \
1227 int32_t __c2 = vgetq_lane_s32(__c1, __d); \
1228 vset_lane_s32(__c2, __a1, __b); })
1229 #define vcopy_laneq_s64(a, __b, c, __d) __extension__ ({ \
1230 int64x1_t __a = (a); int64x2_t __c = (c); \
1231 int64x1_t __a1 = __a; \
1232 int64x2_t __c1 = __c; \
1233 int64_t __c2 = vgetq_lane_s64(__c1, __d); \
1234 vset_lane_s64(__c2, __a1, __b); })
1235 #define vcopy_laneq_p8(a, __b, c, __d) __extension__ ({ \
1236 poly8x8_t __a = (a); poly8x16_t __c = (c); \
1237 poly8x8_t __a1 = __a; \
1238 poly8x16_t __c1 = __c; \
1239 poly8_t __c2 = vgetq_lane_p8(__c1, __d); \
1240 vset_lane_p8(__c2, __a1, __b); })
1241 #define vcopy_laneq_p16(a, __b, c, __d) __extension__ ({ \
1242 poly16x4_t __a = (a); poly16x8_t __c = (c); \
1243 poly16x4_t __a1 = __a; \
1244 poly16x8_t __c1 = __c; \
1245 poly16_t __c2 = vgetq_lane_p16(__c1, __d); \
1246 vset_lane_p16(__c2, __a1, __b); })
1247 #define vcopy_laneq_p64(a, __b, c, __d) __extension__ ({ \
1248 poly64x1_t __a = (a); poly64x2_t __c = (c); \
1249 poly64x1_t __a1 = __a; \
1250 poly64x2_t __c1 = __c; \
1251 poly64_t __c2 = vgetq_lane_p64(__c1, __d); \
1252 vset_lane_p64(__c2, __a1, __b); })
1253 #define vcopy_laneq_u8(a, __b, c, __d) __extension__ ({ \
1254 uint8x8_t __a = (a); uint8x16_t __c = (c); \
1255 uint8x8_t __a1 = __a; \
1256 uint8x16_t __c1 = __c; \
1257 uint8_t __c2 = vgetq_lane_u8(__c1, __d); \
1258 vset_lane_u8(__c2, __a1, __b); })
1259 #define vcopy_laneq_u16(a, __b, c, __d) __extension__ ({ \
1260 uint16x4_t __a = (a); uint16x8_t __c = (c); \
1261 uint16x4_t __a1 = __a; \
1262 uint16x8_t __c1 = __c; \
1263 uint16_t __c2 = vgetq_lane_u16(__c1, __d); \
1264 vset_lane_u16(__c2, __a1, __b); })
1265 #define vcopy_laneq_u32(a, __b, c, __d) __extension__ ({ \
1266 uint32x2_t __a = (a); uint32x4_t __c = (c); \
1267 uint32x2_t __a1 = __a; \
1268 uint32x4_t __c1 = __c; \
1269 uint32_t __c2 = vgetq_lane_u32(__c1, __d); \
1270 vset_lane_u32(__c2, __a1, __b); })
1271 #define vcopy_laneq_u64(a, __b, c, __d) __extension__ ({ \
1272 uint64x1_t __a = (a); uint64x2_t __c = (c); \
1273 uint64x1_t __a1 = __a; \
1274 uint64x2_t __c1 = __c; \
1275 uint64_t __c2 = vgetq_lane_u64(__c1, __d); \
1276 vset_lane_u64(__c2, __a1, __b); })
1277 #define vcopy_laneq_f32(a, __b, c, __d) __extension__ ({ \
1278 float32x2_t __a = (a); float32x4_t __c = (c); \
1279 float32x2_t __a1 = __a; \
1280 float32x4_t __c1 = __c; \
1281 float32_t __c2 = vgetq_lane_f32(__c1, __d); \
1282 vset_lane_f32(__c2, __a1, __b); })
1283 #define vcopy_laneq_f64(a, __b, c, __d) __extension__ ({ \
1284 float64x1_t __a = (a); float64x2_t __c = (c); \
1285 float64x1_t __a1 = __a; \
1286 float64x2_t __c1 = __c; \
1287 float64_t __c2 = vgetq_lane_f64(__c1, __d); \
1288 vset_lane_f64(__c2, __a1, __b); })
1289
1290 __ai float64x1_t vcreate_f64(uint64_t __a) {
1291 return (float64x1_t)__a; }
1292 __ai poly64x1_t vcreate_p64(uint64_t __a) {
1293 return (poly64x1_t)__a; }
1294
1295 #define vcvt_n_f64_s64(a, __b) __extension__ ({ \
1296 int64x1_t __a = (a); \
1297 (float64x1_t)__builtin_neon_vcvt_n_f64_v((int8x8_t)__a, __b, 3); })
1298 #define vcvt_n_f64_u64(a, __b) __extension__ ({ \
1299 uint64x1_t __a = (a); \
1300 (float64x1_t)__builtin_neon_vcvt_n_f64_v((int8x8_t)__a, __b, 19); })
1301 #define vcvtq_n_f64_s64(a, __b) __extension__ ({ \
1302 int64x2_t __a = (a); \
1303 (float64x2_t)__builtin_neon_vcvtq_n_f64_v((int8x16_t)__a, __b, 35); })
1304 #define vcvtq_n_f64_u64(a, __b) __extension__ ({ \
1305 uint64x2_t __a = (a); \
1306 (float64x2_t)__builtin_neon_vcvtq_n_f64_v((int8x16_t)__a, __b, 51); })
1307
1308 __ai float64x1_t vdup_n_f64(float64_t __a) {
1309 return (float64x1_t){ __a }; }
1310 __ai float64x2_t vdupq_n_f64(float64_t __a) {
1311 return (float64x2_t){ __a, __a }; }
1312 __ai poly64x1_t vdup_n_p64(poly64_t __a) {
1313 return (poly64x1_t){ __a }; }
1314 __ai poly64x2_t vdupq_n_p64(poly64_t __a) {
1315 return (poly64x2_t){ __a, __a }; }
1316
1317 __ai uint64x1_t vcage_f64(float64x1_t __a, float64x1_t __b) {
1318 return (uint64x1_t)__builtin_neon_vcage_v((int8x8_t)__a, (int8x8_t)__b, 19); }
1319 __ai uint64x2_t vcageq_f64(float64x2_t __a, float64x2_t __b) {
1320 return (uint64x2_t)__builtin_neon_vcageq_v((int8x16_t)__a, (int8x16_t)__b, 51) ; }
1321
1322 __ai uint64x1_t vcagt_f64(float64x1_t __a, float64x1_t __b) {
1323 return (uint64x1_t)__builtin_neon_vcagt_v((int8x8_t)__a, (int8x8_t)__b, 19); }
1324 __ai uint64x2_t vcagtq_f64(float64x2_t __a, float64x2_t __b) {
1325 return (uint64x2_t)__builtin_neon_vcagtq_v((int8x16_t)__a, (int8x16_t)__b, 51) ; }
1326
1327 __ai uint64x1_t vcale_f64(float64x1_t __a, float64x1_t __b) {
1328 return (uint64x1_t)__builtin_neon_vcale_v((int8x8_t)__a, (int8x8_t)__b, 19); }
1329 __ai uint64x2_t vcaleq_f64(float64x2_t __a, float64x2_t __b) {
1330 return (uint64x2_t)__builtin_neon_vcaleq_v((int8x16_t)__a, (int8x16_t)__b, 51) ; }
1331
1332 __ai uint64x1_t vcalt_f64(float64x1_t __a, float64x1_t __b) {
1333 return (uint64x1_t)__builtin_neon_vcalt_v((int8x8_t)__a, (int8x8_t)__b, 19); }
1334 __ai uint64x2_t vcaltq_f64(float64x2_t __a, float64x2_t __b) {
1335 return (uint64x2_t)__builtin_neon_vcaltq_v((int8x16_t)__a, (int8x16_t)__b, 51) ; }
1336
1337 #endif
1338
1339 #if __ARM_ARCH >= 8
1340 __ai int32x2_t vcvta_s32_f32(float32x2_t __a) {
1341 return (int32x2_t)__builtin_neon_vcvta_s32_v((int8x8_t)__a, 2); }
1342 __ai int32x4_t vcvtaq_s32_f32(float32x4_t __a) {
1343 return (int32x4_t)__builtin_neon_vcvtaq_s32_v((int8x16_t)__a, 34); }
1344
1345 #endif
1346
1347 #if __ARM_ARCH >= 8 && defined(__aarch64__)
1348 __ai int64x1_t vcvta_s64_f64(float64x1_t __a) {
1349 return (int64x1_t)__builtin_neon_vcvta_s64_v((int8x8_t)__a, 3); }
1350 __ai int64x2_t vcvtaq_s64_f64(float64x2_t __a) {
1351 return (int64x2_t)__builtin_neon_vcvtaq_s64_v((int8x16_t)__a, 35); }
1352
1353 #endif
1354
1355 #if __ARM_ARCH >= 8
1356 __ai uint32x2_t vcvta_u32_f32(float32x2_t __a) {
1357 return (uint32x2_t)__builtin_neon_vcvta_u32_v((int8x8_t)__a, 18); }
1358 __ai uint32x4_t vcvtaq_u32_f32(float32x4_t __a) {
1359 return (uint32x4_t)__builtin_neon_vcvtaq_u32_v((int8x16_t)__a, 50); }
1360
1361 #endif
1362
1363 #if __ARM_ARCH >= 8 && defined(__aarch64__)
1364 __ai uint64x1_t vcvta_u64_f64(float64x1_t __a) {
1365 return (uint64x1_t)__builtin_neon_vcvta_u64_v((int8x8_t)__a, 19); }
1366 __ai uint64x2_t vcvtaq_u64_f64(float64x2_t __a) {
1367 return (uint64x2_t)__builtin_neon_vcvtaq_u64_v((int8x16_t)__a, 51); }
1368
1369 #endif
1370
1371 #if __ARM_ARCH >= 8
1372 __ai int32x2_t vcvtm_s32_f32(float32x2_t __a) {
1373 return (int32x2_t)__builtin_neon_vcvtm_s32_v((int8x8_t)__a, 2); }
1374 __ai int32x4_t vcvtmq_s32_f32(float32x4_t __a) {
1375 return (int32x4_t)__builtin_neon_vcvtmq_s32_v((int8x16_t)__a, 34); }
1376
1377 #endif
1378
1379 #if __ARM_ARCH >= 8 && defined(__aarch64__)
1380 __ai int64x1_t vcvtm_s64_f64(float64x1_t __a) {
1381 return (int64x1_t)__builtin_neon_vcvtm_s64_v((int8x8_t)__a, 3); }
1382 __ai int64x2_t vcvtmq_s64_f64(float64x2_t __a) {
1383 return (int64x2_t)__builtin_neon_vcvtmq_s64_v((int8x16_t)__a, 35); }
1384
1385 #endif
1386
1387 #if __ARM_ARCH >= 8
1388 __ai uint32x2_t vcvtm_u32_f32(float32x2_t __a) {
1389 return (uint32x2_t)__builtin_neon_vcvtm_u32_v((int8x8_t)__a, 18); }
1390 __ai uint32x4_t vcvtmq_u32_f32(float32x4_t __a) {
1391 return (uint32x4_t)__builtin_neon_vcvtmq_u32_v((int8x16_t)__a, 50); }
1392
1393 #endif
1394
1395 #if __ARM_ARCH >= 8 && defined(__aarch64__)
1396 __ai uint64x1_t vcvtm_u64_f64(float64x1_t __a) {
1397 return (uint64x1_t)__builtin_neon_vcvtm_u64_v((int8x8_t)__a, 19); }
1398 __ai uint64x2_t vcvtmq_u64_f64(float64x2_t __a) {
1399 return (uint64x2_t)__builtin_neon_vcvtmq_u64_v((int8x16_t)__a, 51); }
1400
1401 #endif
1402
1403 #if __ARM_ARCH >= 8
1404 __ai int32x2_t vcvtn_s32_f32(float32x2_t __a) {
1405 return (int32x2_t)__builtin_neon_vcvtn_s32_v((int8x8_t)__a, 2); }
1406 __ai int32x4_t vcvtnq_s32_f32(float32x4_t __a) {
1407 return (int32x4_t)__builtin_neon_vcvtnq_s32_v((int8x16_t)__a, 34); }
1408
1409 #endif
1410
1411 #if __ARM_ARCH >= 8 && defined(__aarch64__)
1412 __ai int64x1_t vcvtn_s64_f64(float64x1_t __a) {
1413 return (int64x1_t)__builtin_neon_vcvtn_s64_v((int8x8_t)__a, 3); }
1414 __ai int64x2_t vcvtnq_s64_f64(float64x2_t __a) {
1415 return (int64x2_t)__builtin_neon_vcvtnq_s64_v((int8x16_t)__a, 35); }
1416
1417 #endif
1418
1419 #if __ARM_ARCH >= 8
1420 __ai uint32x2_t vcvtn_u32_f32(float32x2_t __a) {
1421 return (uint32x2_t)__builtin_neon_vcvtn_u32_v((int8x8_t)__a, 18); }
1422 __ai uint32x4_t vcvtnq_u32_f32(float32x4_t __a) {
1423 return (uint32x4_t)__builtin_neon_vcvtnq_u32_v((int8x16_t)__a, 50); }
1424
1425 #endif
1426
1427 #if __ARM_ARCH >= 8 && defined(__aarch64__)
1428 __ai uint64x1_t vcvtn_u64_f64(float64x1_t __a) {
1429 return (uint64x1_t)__builtin_neon_vcvtn_u64_v((int8x8_t)__a, 19); }
1430 __ai uint64x2_t vcvtnq_u64_f64(float64x2_t __a) {
1431 return (uint64x2_t)__builtin_neon_vcvtnq_u64_v((int8x16_t)__a, 51); }
1432
1433 #endif
1434
1435 #if __ARM_ARCH >= 8
1436 __ai int32x2_t vcvtp_s32_f32(float32x2_t __a) {
1437 return (int32x2_t)__builtin_neon_vcvtp_s32_v((int8x8_t)__a, 2); }
1438 __ai int32x4_t vcvtpq_s32_f32(float32x4_t __a) {
1439 return (int32x4_t)__builtin_neon_vcvtpq_s32_v((int8x16_t)__a, 34); }
1440
1441 #endif
1442
1443 #if __ARM_ARCH >= 8 && defined(__aarch64__)
1444 __ai int64x1_t vcvtp_s64_f64(float64x1_t __a) {
1445 return (int64x1_t)__builtin_neon_vcvtp_s64_v((int8x8_t)__a, 3); }
1446 __ai int64x2_t vcvtpq_s64_f64(float64x2_t __a) {
1447 return (int64x2_t)__builtin_neon_vcvtpq_s64_v((int8x16_t)__a, 35); }
1448
1449 #endif
1450
1451 #if __ARM_ARCH >= 8
1452 __ai uint32x2_t vcvtp_u32_f32(float32x2_t __a) {
1453 return (uint32x2_t)__builtin_neon_vcvtp_u32_v((int8x8_t)__a, 18); }
1454 __ai uint32x4_t vcvtpq_u32_f32(float32x4_t __a) {
1455 return (uint32x4_t)__builtin_neon_vcvtpq_u32_v((int8x16_t)__a, 50); }
1456
1457 #endif
1458
1459 #if __ARM_ARCH >= 8 && defined(__aarch64__)
1460 __ai uint64x1_t vcvtp_u64_f64(float64x1_t __a) {
1461 return (uint64x1_t)__builtin_neon_vcvtp_u64_v((int8x8_t)__a, 19); }
1462 __ai uint64x2_t vcvtpq_u64_f64(float64x2_t __a) {
1463 return (uint64x2_t)__builtin_neon_vcvtpq_u64_v((int8x16_t)__a, 51); }
1464
1465 #endif
1466
1467 #if defined(__aarch64__)
1468 #define vcvt_n_s64_f64(a, __b) __extension__ ({ \
1469 float64x1_t __a = (a); \
1470 (int64x1_t)__builtin_neon_vcvt_n_s64_v((int8x8_t)__a, __b, 3); })
1471 #define vcvtq_n_s64_f64(a, __b) __extension__ ({ \
1472 float64x2_t __a = (a); \
1473 (int64x2_t)__builtin_neon_vcvtq_n_s64_v((int8x16_t)__a, __b, 35); })
1474
1475 #define vcvt_n_u64_f64(a, __b) __extension__ ({ \
1476 float64x1_t __a = (a); \
1477 (uint64x1_t)__builtin_neon_vcvt_n_u64_v((int8x8_t)__a, __b, 19); })
1478 #define vcvtq_n_u64_f64(a, __b) __extension__ ({ \
1479 float64x2_t __a = (a); \
1480 (uint64x2_t)__builtin_neon_vcvtq_n_u64_v((int8x16_t)__a, __b, 51); })
1481
1482 __ai float32x2_t vdiv_f32(float32x2_t __a, float32x2_t __b) {
1483 return __a / __b; }
1484 __ai float64x1_t vdiv_f64(float64x1_t __a, float64x1_t __b) {
1485 return __a / __b; }
1486 __ai float32x4_t vdivq_f32(float32x4_t __a, float32x4_t __b) {
1487 return __a / __b; }
1488 __ai float64x2_t vdivq_f64(float64x2_t __a, float64x2_t __b) {
1489 return __a / __b; }
1490
1491 __ai float32x2_t vmaxnm_f32(float32x2_t __a, float32x2_t __b) {
1492 return (float32x2_t)__builtin_neon_vmaxnm_v((int8x8_t)__a, (int8x8_t)__b, 9); }
1493 __ai float64x1_t vmaxnm_f64(float64x1_t __a, float64x1_t __b) {
1494 return (float64x1_t)__builtin_neon_vmaxnm_v((int8x8_t)__a, (int8x8_t)__b, 10); }
1495 __ai float32x4_t vmaxnmq_f32(float32x4_t __a, float32x4_t __b) {
1496 return (float32x4_t)__builtin_neon_vmaxnmq_v((int8x16_t)__a, (int8x16_t)__b, 4 1); }
1497 __ai float64x2_t vmaxnmq_f64(float64x2_t __a, float64x2_t __b) {
1498 return (float64x2_t)__builtin_neon_vmaxnmq_v((int8x16_t)__a, (int8x16_t)__b, 4 2); }
1499
1500 __ai float32x2_t vpmaxnm_f32(float32x2_t __a, float32x2_t __b) {
1501 return (float32x2_t)__builtin_neon_vpmaxnm_v((int8x8_t)__a, (int8x8_t)__b, 9); }
1502 __ai float32x4_t vpmaxnmq_f32(float32x4_t __a, float32x4_t __b) {
1503 return (float32x4_t)__builtin_neon_vpmaxnmq_v((int8x16_t)__a, (int8x16_t)__b, 41); }
1504 __ai float64x2_t vpmaxnmq_f64(float64x2_t __a, float64x2_t __b) {
1505 return (float64x2_t)__builtin_neon_vpmaxnmq_v((int8x16_t)__a, (int8x16_t)__b, 42); }
1506
1507 __ai float32_t vmaxnmv_f32(float32x2_t __a) {
1508 return (float32_t)__builtin_neon_vmaxnmv_f32(__a); }
1509 __ai float32_t vmaxnmvq_f32(float32x4_t __a) {
1510 return (float32_t)__builtin_neon_vmaxnmvq_f32(__a); }
1511 __ai float64_t vmaxnmvq_f64(float64x2_t __a) {
1512 return (float64_t)__builtin_neon_vmaxnmvq_f64(__a); }
1513
1514 __ai float32x2_t vminnm_f32(float32x2_t __a, float32x2_t __b) {
1515 return (float32x2_t)__builtin_neon_vminnm_v((int8x8_t)__a, (int8x8_t)__b, 9); }
1516 __ai float64x1_t vminnm_f64(float64x1_t __a, float64x1_t __b) {
1517 return (float64x1_t)__builtin_neon_vminnm_v((int8x8_t)__a, (int8x8_t)__b, 10); }
1518 __ai float32x4_t vminnmq_f32(float32x4_t __a, float32x4_t __b) {
1519 return (float32x4_t)__builtin_neon_vminnmq_v((int8x16_t)__a, (int8x16_t)__b, 4 1); }
1520 __ai float64x2_t vminnmq_f64(float64x2_t __a, float64x2_t __b) {
1521 return (float64x2_t)__builtin_neon_vminnmq_v((int8x16_t)__a, (int8x16_t)__b, 4 2); }
1522
1523 __ai float32x2_t vpminnm_f32(float32x2_t __a, float32x2_t __b) {
1524 return (float32x2_t)__builtin_neon_vpminnm_v((int8x8_t)__a, (int8x8_t)__b, 9); }
1525 __ai float32x4_t vpminnmq_f32(float32x4_t __a, float32x4_t __b) {
1526 return (float32x4_t)__builtin_neon_vpminnmq_v((int8x16_t)__a, (int8x16_t)__b, 41); }
1527 __ai float64x2_t vpminnmq_f64(float64x2_t __a, float64x2_t __b) {
1528 return (float64x2_t)__builtin_neon_vpminnmq_v((int8x16_t)__a, (int8x16_t)__b, 42); }
1529
1530 __ai float32_t vminnmv_f32(float32x2_t __a) {
1531 return (float32_t)__builtin_neon_vminnmv_f32(__a); }
1532 __ai float32_t vminnmvq_f32(float32x4_t __a) {
1533 return (float32_t)__builtin_neon_vminnmvq_f32(__a); }
1534 __ai float64_t vminnmvq_f64(float64x2_t __a) {
1535 return (float64_t)__builtin_neon_vminnmvq_f64(__a); }
1536
1537 __ai float64x1_t vfma_f64(float64x1_t __a, float64x1_t __b, float64x1_t __c) {
1538 return (float64x1_t)__builtin_neon_vfma_v((int8x8_t)__a, (int8x8_t)__b, (int8x 8_t)__c, 10); }
1539 __ai float64x2_t vfmaq_f64(float64x2_t __a, float64x2_t __b, float64x2_t __c) {
1540 return (float64x2_t)__builtin_neon_vfmaq_v((int8x16_t)__a, (int8x16_t)__b, (in t8x16_t)__c, 42); }
1541
1542 __ai float32x2_t vfma_n_f32(float32x2_t __a, float32x2_t __b, float32_t __c) {
1543 return vfma_f32(__a, __b, (float32x2_t){ __c, __c }); }
1544 __ai float32x4_t vfmaq_n_f32(float32x4_t __a, float32x4_t __b, float32_t __c) {
1545 return vfmaq_f32(__a, __b, (float32x4_t){ __c, __c, __c, __c }); }
1546 __ai float64x2_t vfmaq_n_f64(float64x2_t __a, float64x2_t __b, float64_t __c) {
1547 return vfmaq_f64(__a, __b, (float64x2_t){ __c, __c }); }
1548
1549 __ai float32x2_t vfms_f32(float32x2_t __a, float32x2_t __b, float32x2_t __c) {
1550 return (float32x2_t)__builtin_neon_vfms_v((int8x8_t)__a, (int8x8_t)__b, (int8x 8_t)__c, 9); }
1551 __ai float64x1_t vfms_f64(float64x1_t __a, float64x1_t __b, float64x1_t __c) {
1552 return (float64x1_t)__builtin_neon_vfms_v((int8x8_t)__a, (int8x8_t)__b, (int8x 8_t)__c, 10); }
1553 __ai float32x4_t vfmsq_f32(float32x4_t __a, float32x4_t __b, float32x4_t __c) {
1554 return (float32x4_t)__builtin_neon_vfmsq_v((int8x16_t)__a, (int8x16_t)__b, (in t8x16_t)__c, 41); }
1555 __ai float64x2_t vfmsq_f64(float64x2_t __a, float64x2_t __b, float64x2_t __c) {
1556 return (float64x2_t)__builtin_neon_vfmsq_v((int8x16_t)__a, (int8x16_t)__b, (in t8x16_t)__c, 42); }
1557
1558 __ai float32x2_t vfms_n_f32(float32x2_t __a, float32x2_t __b, float32_t __c) {
1559 return vfms_f32(__a, __b, (float32x2_t){ __c, __c }); }
1560 __ai float32x4_t vfmsq_n_f32(float32x4_t __a, float32x4_t __b, float32_t __c) {
1561 return vfmsq_f32(__a, __b, (float32x4_t){ __c, __c, __c, __c }); }
1562 __ai float64x2_t vfmsq_n_f64(float64x2_t __a, float64x2_t __b, float64_t __c) {
1563 return vfmsq_f64(__a, __b, (float64x2_t){ __c, __c }); }
1564
1565 __ai float64x1_t vrecpe_f64(float64x1_t __a) {
1566 return (float64x1_t)__builtin_neon_vrecpe_v((int8x8_t)__a, 10); }
1567 __ai float64x2_t vrecpeq_f64(float64x2_t __a) {
1568 return (float64x2_t)__builtin_neon_vrecpeq_v((int8x16_t)__a, 42); }
1569
1570 __ai float64x1_t vrecps_f64(float64x1_t __a, float64x1_t __b) {
1571 return (float64x1_t)__builtin_neon_vrecps_v((int8x8_t)__a, (int8x8_t)__b, 10); }
1572 __ai float64x2_t vrecpsq_f64(float64x2_t __a, float64x2_t __b) {
1573 return (float64x2_t)__builtin_neon_vrecpsq_v((int8x16_t)__a, (int8x16_t)__b, 4 2); }
1574
1575 __ai float32x2_t vrnda_f32(float32x2_t __a) {
1576 return (float32x2_t)__builtin_neon_vrnda_v((int8x8_t)__a, 9); }
1577 __ai float64x1_t vrnda_f64(float64x1_t __a) {
1578 return (float64x1_t)__builtin_neon_vrnda_v((int8x8_t)__a, 10); }
1579 __ai float32x4_t vrndaq_f32(float32x4_t __a) {
1580 return (float32x4_t)__builtin_neon_vrndaq_v((int8x16_t)__a, 41); }
1581 __ai float64x2_t vrndaq_f64(float64x2_t __a) {
1582 return (float64x2_t)__builtin_neon_vrndaq_v((int8x16_t)__a, 42); }
1583
1584 __ai float32x2_t vrndi_f32(float32x2_t __a) {
1585 return (float32x2_t)__builtin_neon_vrndi_v((int8x8_t)__a, 9); }
1586 __ai float64x1_t vrndi_f64(float64x1_t __a) {
1587 return (float64x1_t)__builtin_neon_vrndi_v((int8x8_t)__a, 10); }
1588 __ai float32x4_t vrndiq_f32(float32x4_t __a) {
1589 return (float32x4_t)__builtin_neon_vrndiq_v((int8x16_t)__a, 41); }
1590 __ai float64x2_t vrndiq_f64(float64x2_t __a) {
1591 return (float64x2_t)__builtin_neon_vrndiq_v((int8x16_t)__a, 42); }
1592
1593 __ai float32x2_t vrndm_f32(float32x2_t __a) {
1594 return (float32x2_t)__builtin_neon_vrndm_v((int8x8_t)__a, 9); }
1595 __ai float64x1_t vrndm_f64(float64x1_t __a) {
1596 return (float64x1_t)__builtin_neon_vrndm_v((int8x8_t)__a, 10); }
1597 __ai float32x4_t vrndmq_f32(float32x4_t __a) {
1598 return (float32x4_t)__builtin_neon_vrndmq_v((int8x16_t)__a, 41); }
1599 __ai float64x2_t vrndmq_f64(float64x2_t __a) {
1600 return (float64x2_t)__builtin_neon_vrndmq_v((int8x16_t)__a, 42); }
1601
1602 __ai float32x2_t vrndn_f32(float32x2_t __a) {
1603 return (float32x2_t)__builtin_neon_vrndn_v((int8x8_t)__a, 9); }
1604 __ai float64x1_t vrndn_f64(float64x1_t __a) {
1605 return (float64x1_t)__builtin_neon_vrndn_v((int8x8_t)__a, 10); }
1606 __ai float32x4_t vrndnq_f32(float32x4_t __a) {
1607 return (float32x4_t)__builtin_neon_vrndnq_v((int8x16_t)__a, 41); }
1608 __ai float64x2_t vrndnq_f64(float64x2_t __a) {
1609 return (float64x2_t)__builtin_neon_vrndnq_v((int8x16_t)__a, 42); }
1610
1611 __ai float32x2_t vrndp_f32(float32x2_t __a) {
1612 return (float32x2_t)__builtin_neon_vrndp_v((int8x8_t)__a, 9); }
1613 __ai float64x1_t vrndp_f64(float64x1_t __a) {
1614 return (float64x1_t)__builtin_neon_vrndp_v((int8x8_t)__a, 10); }
1615 __ai float32x4_t vrndpq_f32(float32x4_t __a) {
1616 return (float32x4_t)__builtin_neon_vrndpq_v((int8x16_t)__a, 41); }
1617 __ai float64x2_t vrndpq_f64(float64x2_t __a) {
1618 return (float64x2_t)__builtin_neon_vrndpq_v((int8x16_t)__a, 42); }
1619
1620 __ai float32x2_t vrndx_f32(float32x2_t __a) {
1621 return (float32x2_t)__builtin_neon_vrndx_v((int8x8_t)__a, 9); }
1622 __ai float64x1_t vrndx_f64(float64x1_t __a) {
1623 return (float64x1_t)__builtin_neon_vrndx_v((int8x8_t)__a, 10); }
1624 __ai float32x4_t vrndxq_f32(float32x4_t __a) {
1625 return (float32x4_t)__builtin_neon_vrndxq_v((int8x16_t)__a, 41); }
1626 __ai float64x2_t vrndxq_f64(float64x2_t __a) {
1627 return (float64x2_t)__builtin_neon_vrndxq_v((int8x16_t)__a, 42); }
1628
1629 __ai float32x2_t vrnd_f32(float32x2_t __a) {
1630 return (float32x2_t)__builtin_neon_vrnd_v((int8x8_t)__a, 9); }
1631 __ai float64x1_t vrnd_f64(float64x1_t __a) {
1632 return (float64x1_t)__builtin_neon_vrnd_v((int8x8_t)__a, 10); }
1633 __ai float32x4_t vrndq_f32(float32x4_t __a) {
1634 return (float32x4_t)__builtin_neon_vrndq_v((int8x16_t)__a, 41); }
1635 __ai float64x2_t vrndq_f64(float64x2_t __a) {
1636 return (float64x2_t)__builtin_neon_vrndq_v((int8x16_t)__a, 42); }
1637
1638 __ai float64x1_t vrsqrte_f64(float64x1_t __a) {
1639 return (float64x1_t)__builtin_neon_vrsqrte_v((int8x8_t)__a, 10); }
1640 __ai float64x2_t vrsqrteq_f64(float64x2_t __a) {
1641 return (float64x2_t)__builtin_neon_vrsqrteq_v((int8x16_t)__a, 42); }
1642
1643 __ai float64x1_t vrsqrts_f64(float64x1_t __a, float64x1_t __b) {
1644 return (float64x1_t)__builtin_neon_vrsqrts_v((int8x8_t)__a, (int8x8_t)__b, 10) ; }
1645 __ai float64x2_t vrsqrtsq_f64(float64x2_t __a, float64x2_t __b) {
1646 return (float64x2_t)__builtin_neon_vrsqrtsq_v((int8x16_t)__a, (int8x16_t)__b, 42); }
1647
1648 __ai float32x2_t vsqrt_f32(float32x2_t __a) {
1649 return (float32x2_t)__builtin_neon_vsqrt_v((int8x8_t)__a, 9); }
1650 __ai float64x1_t vsqrt_f64(float64x1_t __a) {
1651 return (float64x1_t)__builtin_neon_vsqrt_v((int8x8_t)__a, 10); }
1652 __ai float32x4_t vsqrtq_f32(float32x4_t __a) {
1653 return (float32x4_t)__builtin_neon_vsqrtq_v((int8x16_t)__a, 41); }
1654 __ai float64x2_t vsqrtq_f64(float64x2_t __a) {
1655 return (float64x2_t)__builtin_neon_vsqrtq_v((int8x16_t)__a, 42); }
1656
1657 #define vget_lane_f64(a, __b) __extension__ ({ \
1658 float64x1_t __a = (a); \
1659 (float64_t)__builtin_neon_vget_lane_f64(__a, __b); })
1660 #define vgetq_lane_f64(a, __b) __extension__ ({ \
1661 float64x2_t __a = (a); \
1662 (float64_t)__builtin_neon_vgetq_lane_f64(__a, __b); })
1663 #define vget_lane_p64(a, __b) __extension__ ({ \
1664 poly64x1_t __a = (a); \
1665 (poly64_t)__builtin_neon_vget_lane_i64((int64x1_t)__a, __b); })
1666 #define vgetq_lane_p64(a, __b) __extension__ ({ \
1667 poly64x2_t __a = (a); \
1668 (poly64_t)__builtin_neon_vgetq_lane_i64((int64x2_t)__a, __b); })
1669
1670 #define vld1_f64(__a) __extension__ ({ \
1671 (float64x1_t)__builtin_neon_vld1_v(__a, 10); })
1672 #define vld1q_f64(__a) __extension__ ({ \
1673 (float64x2_t)__builtin_neon_vld1q_v(__a, 42); })
1674 #define vld1_p64(__a) __extension__ ({ \
1675 (poly64x1_t)__builtin_neon_vld1_v(__a, 6); })
1676 #define vld1q_p64(__a) __extension__ ({ \
1677 (poly64x2_t)__builtin_neon_vld1q_v(__a, 38); })
1678
1679 #define vld1_dup_f64(__a) __extension__ ({ \
1680 (float64x1_t)__builtin_neon_vld1_dup_v(__a, 10); })
1681 #define vld1q_dup_f64(__a) __extension__ ({ \
1682 (float64x2_t)__builtin_neon_vld1q_dup_v(__a, 42); })
1683 #define vld1_dup_p64(__a) __extension__ ({ \
1684 (poly64x1_t)__builtin_neon_vld1_dup_v(__a, 6); })
1685 #define vld1q_dup_p64(__a) __extension__ ({ \
1686 (poly64x2_t)__builtin_neon_vld1q_dup_v(__a, 38); })
1687
1688 #define vld1_lane_f64(__a, b, __c) __extension__ ({ \
1689 float64x1_t __b = (b); \
1690 (float64x1_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 10); })
1691 #define vld1q_lane_f64(__a, b, __c) __extension__ ({ \
1692 float64x2_t __b = (b); \
1693 (float64x2_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 42); })
1694 #define vld1_lane_p64(__a, b, __c) __extension__ ({ \
1695 poly64x1_t __b = (b); \
1696 (poly64x1_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 6); })
1697 #define vld1q_lane_p64(__a, b, __c) __extension__ ({ \
1698 poly64x2_t __b = (b); \
1699 (poly64x2_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 38); })
1700
1701 #define vld1q_u8_x2(__a) __extension__ ({ \
1702 uint8x16x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 48); r; })
1703 #define vld1q_u16_x2(__a) __extension__ ({ \
1704 uint16x8x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 49); r; })
1705 #define vld1q_u32_x2(__a) __extension__ ({ \
1706 uint32x4x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 50); r; })
1707 #define vld1q_s8_x2(__a) __extension__ ({ \
1708 int8x16x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 32); r; })
1709 #define vld1q_s16_x2(__a) __extension__ ({ \
1710 int16x8x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 33); r; })
1711 #define vld1q_s32_x2(__a) __extension__ ({ \
1712 int32x4x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 34); r; })
1713 #define vld1q_f16_x2(__a) __extension__ ({ \
1714 float16x8x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 40); r; })
1715 #define vld1q_f32_x2(__a) __extension__ ({ \
1716 float32x4x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 41); r; })
1717 #define vld1q_p8_x2(__a) __extension__ ({ \
1718 poly8x16x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 36); r; })
1719 #define vld1q_p16_x2(__a) __extension__ ({ \
1720 poly16x8x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 37); r; })
1721 #define vld1_u8_x2(__a) __extension__ ({ \
1722 uint8x8x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 16); r; })
1723 #define vld1_u16_x2(__a) __extension__ ({ \
1724 uint16x4x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 17); r; })
1725 #define vld1_u32_x2(__a) __extension__ ({ \
1726 uint32x2x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 18); r; })
1727 #define vld1_u64_x2(__a) __extension__ ({ \
1728 uint64x1x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 19); r; })
1729 #define vld1_s8_x2(__a) __extension__ ({ \
1730 int8x8x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 0); r; })
1731 #define vld1_s16_x2(__a) __extension__ ({ \
1732 int16x4x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 1); r; })
1733 #define vld1_s32_x2(__a) __extension__ ({ \
1734 int32x2x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 2); r; })
1735 #define vld1_s64_x2(__a) __extension__ ({ \
1736 int64x1x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 3); r; })
1737 #define vld1_f16_x2(__a) __extension__ ({ \
1738 float16x4x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 8); r; })
1739 #define vld1_f32_x2(__a) __extension__ ({ \
1740 float32x2x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 9); r; })
1741 #define vld1_p8_x2(__a) __extension__ ({ \
1742 poly8x8x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 4); r; })
1743 #define vld1_p16_x2(__a) __extension__ ({ \
1744 poly16x4x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 5); r; })
1745 #define vld1q_u64_x2(__a) __extension__ ({ \
1746 uint64x2x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 51); r; })
1747 #define vld1q_s64_x2(__a) __extension__ ({ \
1748 int64x2x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 35); r; })
1749 #define vld1_f64_x2(__a) __extension__ ({ \
1750 float64x1x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 10); r; })
1751 #define vld1q_f64_x2(__a) __extension__ ({ \
1752 float64x2x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 42); r; })
1753 #define vld1_p64_x2(__a) __extension__ ({ \
1754 poly64x1x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 6); r; })
1755 #define vld1q_p64_x2(__a) __extension__ ({ \
1756 poly64x2x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 38); r; })
1757
1758 #define vld2q_u64(__a) __extension__ ({ \
1759 uint64x2x2_t r; __builtin_neon_vld2q_v(&r, __a, 51); r; })
1760 #define vld2q_s64(__a) __extension__ ({ \
1761 int64x2x2_t r; __builtin_neon_vld2q_v(&r, __a, 35); r; })
1762 #define vld2_f64(__a) __extension__ ({ \
1763 float64x1x2_t r; __builtin_neon_vld2_v(&r, __a, 10); r; })
1764 #define vld2q_f64(__a) __extension__ ({ \
1765 float64x2x2_t r; __builtin_neon_vld2q_v(&r, __a, 42); r; })
1766 #define vld2_p64(__a) __extension__ ({ \
1767 poly64x1x2_t r; __builtin_neon_vld2_v(&r, __a, 6); r; })
1768 #define vld2q_p64(__a) __extension__ ({ \
1769 poly64x2x2_t r; __builtin_neon_vld2q_v(&r, __a, 38); r; })
1770
1771 #define vld2q_dup_u8(__a) __extension__ ({ \
1772 uint8x16x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 48); r; })
1773 #define vld2q_dup_u16(__a) __extension__ ({ \
1774 uint16x8x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 49); r; })
1775 #define vld2q_dup_u32(__a) __extension__ ({ \
1776 uint32x4x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 50); r; })
1777 #define vld2q_dup_u64(__a) __extension__ ({ \
1778 uint64x2x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 51); r; })
1779 #define vld2q_dup_s8(__a) __extension__ ({ \
1780 int8x16x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 32); r; })
1781 #define vld2q_dup_s16(__a) __extension__ ({ \
1782 int16x8x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 33); r; })
1783 #define vld2q_dup_s32(__a) __extension__ ({ \
1784 int32x4x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 34); r; })
1785 #define vld2q_dup_s64(__a) __extension__ ({ \
1786 int64x2x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 35); r; })
1787 #define vld2q_dup_f16(__a) __extension__ ({ \
1788 float16x8x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 40); r; })
1789 #define vld2q_dup_f32(__a) __extension__ ({ \
1790 float32x4x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 41); r; })
1791 #define vld2q_dup_f64(__a) __extension__ ({ \
1792 float64x2x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 42); r; })
1793 #define vld2q_dup_p8(__a) __extension__ ({ \
1794 poly8x16x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 36); r; })
1795 #define vld2q_dup_p16(__a) __extension__ ({ \
1796 poly16x8x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 37); r; })
1797 #define vld2q_dup_p64(__a) __extension__ ({ \
1798 poly64x2x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 38); r; })
1799 #define vld2_dup_f64(__a) __extension__ ({ \
1800 float64x1x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 10); r; })
1801 #define vld2_dup_p64(__a) __extension__ ({ \
1802 poly64x1x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 6); r; })
1803
1804 #define vld2_lane_s64(__a, b, __c) __extension__ ({ \
1805 int64x1x2_t __b = (b); \
1806 int64x1x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], __c, 3); r; })
1807 #define vld2_lane_u64(__a, b, __c) __extension__ ({ \
1808 uint64x1x2_t __b = (b); \
1809 uint64x1x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], __c, 19); r; })
1810 #define vld2q_lane_s8(__a, b, __c) __extension__ ({ \
1811 int8x16x2_t __b = (b); \
1812 int8x16x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, __b.val[0], __b.val[1], __ c, 32); r; })
1813 #define vld2q_lane_u8(__a, b, __c) __extension__ ({ \
1814 uint8x16x2_t __b = (b); \
1815 uint8x16x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], __c, 48); r; })
1816 #define vld2q_lane_p8(__a, b, __c) __extension__ ({ \
1817 poly8x16x2_t __b = (b); \
1818 poly8x16x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], __c, 36); r; })
1819 #define vld2q_lane_s64(__a, b, __c) __extension__ ({ \
1820 int64x2x2_t __b = (b); \
1821 int64x2x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in t8x16_t)__b.val[1], __c, 35); r; })
1822 #define vld2q_lane_u64(__a, b, __c) __extension__ ({ \
1823 uint64x2x2_t __b = (b); \
1824 uint64x2x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], __c, 51); r; })
1825 #define vld2_lane_f64(__a, b, __c) __extension__ ({ \
1826 float64x1x2_t __b = (b); \
1827 float64x1x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (in t8x8_t)__b.val[1], __c, 10); r; })
1828 #define vld2q_lane_f64(__a, b, __c) __extension__ ({ \
1829 float64x2x2_t __b = (b); \
1830 float64x2x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], ( int8x16_t)__b.val[1], __c, 42); r; })
1831 #define vld2_lane_p64(__a, b, __c) __extension__ ({ \
1832 poly64x1x2_t __b = (b); \
1833 poly64x1x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], __c, 6); r; })
1834 #define vld2q_lane_p64(__a, b, __c) __extension__ ({ \
1835 poly64x2x2_t __b = (b); \
1836 poly64x2x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], __c, 38); r; })
1837
1838 #define vld3q_u64(__a) __extension__ ({ \
1839 uint64x2x3_t r; __builtin_neon_vld3q_v(&r, __a, 51); r; })
1840 #define vld3q_s64(__a) __extension__ ({ \
1841 int64x2x3_t r; __builtin_neon_vld3q_v(&r, __a, 35); r; })
1842 #define vld3_f64(__a) __extension__ ({ \
1843 float64x1x3_t r; __builtin_neon_vld3_v(&r, __a, 10); r; })
1844 #define vld3q_f64(__a) __extension__ ({ \
1845 float64x2x3_t r; __builtin_neon_vld3q_v(&r, __a, 42); r; })
1846 #define vld3_p64(__a) __extension__ ({ \
1847 poly64x1x3_t r; __builtin_neon_vld3_v(&r, __a, 6); r; })
1848 #define vld3q_p64(__a) __extension__ ({ \
1849 poly64x2x3_t r; __builtin_neon_vld3q_v(&r, __a, 38); r; })
1850
1851 #define vld3q_dup_u8(__a) __extension__ ({ \
1852 uint8x16x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 48); r; })
1853 #define vld3q_dup_u16(__a) __extension__ ({ \
1854 uint16x8x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 49); r; })
1855 #define vld3q_dup_u32(__a) __extension__ ({ \
1856 uint32x4x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 50); r; })
1857 #define vld3q_dup_u64(__a) __extension__ ({ \
1858 uint64x2x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 51); r; })
1859 #define vld3q_dup_s8(__a) __extension__ ({ \
1860 int8x16x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 32); r; })
1861 #define vld3q_dup_s16(__a) __extension__ ({ \
1862 int16x8x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 33); r; })
1863 #define vld3q_dup_s32(__a) __extension__ ({ \
1864 int32x4x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 34); r; })
1865 #define vld3q_dup_s64(__a) __extension__ ({ \
1866 int64x2x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 35); r; })
1867 #define vld3q_dup_f16(__a) __extension__ ({ \
1868 float16x8x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 40); r; })
1869 #define vld3q_dup_f32(__a) __extension__ ({ \
1870 float32x4x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 41); r; })
1871 #define vld3q_dup_f64(__a) __extension__ ({ \
1872 float64x2x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 42); r; })
1873 #define vld3q_dup_p8(__a) __extension__ ({ \
1874 poly8x16x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 36); r; })
1875 #define vld3q_dup_p16(__a) __extension__ ({ \
1876 poly16x8x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 37); r; })
1877 #define vld3q_dup_p64(__a) __extension__ ({ \
1878 poly64x2x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 38); r; })
1879 #define vld3_dup_f64(__a) __extension__ ({ \
1880 float64x1x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 10); r; })
1881 #define vld3_dup_p64(__a) __extension__ ({ \
1882 poly64x1x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 6); r; })
1883
1884 #define vld3_lane_s64(__a, b, __c) __extension__ ({ \
1885 int64x1x3_t __b = (b); \
1886 int64x1x3_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, 3); r; })
1887 #define vld3_lane_u64(__a, b, __c) __extension__ ({ \
1888 uint64x1x3_t __b = (b); \
1889 uint64x1x3_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, 19); r; })
1890 #define vld3q_lane_s8(__a, b, __c) __extension__ ({ \
1891 int8x16x3_t __b = (b); \
1892 int8x16x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, __b.val[0], __b.val[1], __ b.val[2], __c, 32); r; })
1893 #define vld3q_lane_u8(__a, b, __c) __extension__ ({ \
1894 uint8x16x3_t __b = (b); \
1895 uint8x16x3_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, 48); r; })
1896 #define vld3q_lane_p8(__a, b, __c) __extension__ ({ \
1897 poly8x16x3_t __b = (b); \
1898 poly8x16x3_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, 36); r; })
1899 #define vld3q_lane_s64(__a, b, __c) __extension__ ({ \
1900 int64x2x3_t __b = (b); \
1901 int64x2x3_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, 35); r; })
1902 #define vld3q_lane_u64(__a, b, __c) __extension__ ({ \
1903 uint64x2x3_t __b = (b); \
1904 uint64x2x3_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, 51); r; })
1905 #define vld3_lane_f64(__a, b, __c) __extension__ ({ \
1906 float64x1x3_t __b = (b); \
1907 float64x1x3_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, 10); r; })
1908 #define vld3q_lane_f64(__a, b, __c) __extension__ ({ \
1909 float64x2x3_t __b = (b); \
1910 float64x2x3_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, 42); r; })
1911 #define vld3_lane_p64(__a, b, __c) __extension__ ({ \
1912 poly64x1x3_t __b = (b); \
1913 poly64x1x3_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; })
1914 #define vld3q_lane_p64(__a, b, __c) __extension__ ({ \
1915 poly64x2x3_t __b = (b); \
1916 poly64x2x3_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, 38); r; })
1917
1918 #define vld1q_u8_x3(__a) __extension__ ({ \
1919 uint8x16x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 48); r; })
1920 #define vld1q_u16_x3(__a) __extension__ ({ \
1921 uint16x8x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 49); r; })
1922 #define vld1q_u32_x3(__a) __extension__ ({ \
1923 uint32x4x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 50); r; })
1924 #define vld1q_s8_x3(__a) __extension__ ({ \
1925 int8x16x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 32); r; })
1926 #define vld1q_s16_x3(__a) __extension__ ({ \
1927 int16x8x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 33); r; })
1928 #define vld1q_s32_x3(__a) __extension__ ({ \
1929 int32x4x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 34); r; })
1930 #define vld1q_f16_x3(__a) __extension__ ({ \
1931 float16x8x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 40); r; })
1932 #define vld1q_f32_x3(__a) __extension__ ({ \
1933 float32x4x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 41); r; })
1934 #define vld1q_p8_x3(__a) __extension__ ({ \
1935 poly8x16x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 36); r; })
1936 #define vld1q_p16_x3(__a) __extension__ ({ \
1937 poly16x8x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 37); r; })
1938 #define vld1_u8_x3(__a) __extension__ ({ \
1939 uint8x8x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 16); r; })
1940 #define vld1_u16_x3(__a) __extension__ ({ \
1941 uint16x4x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 17); r; })
1942 #define vld1_u32_x3(__a) __extension__ ({ \
1943 uint32x2x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 18); r; })
1944 #define vld1_u64_x3(__a) __extension__ ({ \
1945 uint64x1x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 19); r; })
1946 #define vld1_s8_x3(__a) __extension__ ({ \
1947 int8x8x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 0); r; })
1948 #define vld1_s16_x3(__a) __extension__ ({ \
1949 int16x4x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 1); r; })
1950 #define vld1_s32_x3(__a) __extension__ ({ \
1951 int32x2x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 2); r; })
1952 #define vld1_s64_x3(__a) __extension__ ({ \
1953 int64x1x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 3); r; })
1954 #define vld1_f16_x3(__a) __extension__ ({ \
1955 float16x4x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 8); r; })
1956 #define vld1_f32_x3(__a) __extension__ ({ \
1957 float32x2x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 9); r; })
1958 #define vld1_p8_x3(__a) __extension__ ({ \
1959 poly8x8x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 4); r; })
1960 #define vld1_p16_x3(__a) __extension__ ({ \
1961 poly16x4x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 5); r; })
1962 #define vld1q_u64_x3(__a) __extension__ ({ \
1963 uint64x2x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 51); r; })
1964 #define vld1q_s64_x3(__a) __extension__ ({ \
1965 int64x2x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 35); r; })
1966 #define vld1_f64_x3(__a) __extension__ ({ \
1967 float64x1x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 10); r; })
1968 #define vld1q_f64_x3(__a) __extension__ ({ \
1969 float64x2x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 42); r; })
1970 #define vld1_p64_x3(__a) __extension__ ({ \
1971 poly64x1x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 6); r; })
1972 #define vld1q_p64_x3(__a) __extension__ ({ \
1973 poly64x2x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 38); r; })
1974
1975 #define vld4q_u64(__a) __extension__ ({ \
1976 uint64x2x4_t r; __builtin_neon_vld4q_v(&r, __a, 51); r; })
1977 #define vld4q_s64(__a) __extension__ ({ \
1978 int64x2x4_t r; __builtin_neon_vld4q_v(&r, __a, 35); r; })
1979 #define vld4_f64(__a) __extension__ ({ \
1980 float64x1x4_t r; __builtin_neon_vld4_v(&r, __a, 10); r; })
1981 #define vld4q_f64(__a) __extension__ ({ \
1982 float64x2x4_t r; __builtin_neon_vld4q_v(&r, __a, 42); r; })
1983 #define vld4_p64(__a) __extension__ ({ \
1984 poly64x1x4_t r; __builtin_neon_vld4_v(&r, __a, 6); r; })
1985 #define vld4q_p64(__a) __extension__ ({ \
1986 poly64x2x4_t r; __builtin_neon_vld4q_v(&r, __a, 38); r; })
1987
1988 #define vld4q_dup_u8(__a) __extension__ ({ \
1989 uint8x16x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 48); r; })
1990 #define vld4q_dup_u16(__a) __extension__ ({ \
1991 uint16x8x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 49); r; })
1992 #define vld4q_dup_u32(__a) __extension__ ({ \
1993 uint32x4x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 50); r; })
1994 #define vld4q_dup_u64(__a) __extension__ ({ \
1995 uint64x2x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 51); r; })
1996 #define vld4q_dup_s8(__a) __extension__ ({ \
1997 int8x16x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 32); r; })
1998 #define vld4q_dup_s16(__a) __extension__ ({ \
1999 int16x8x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 33); r; })
2000 #define vld4q_dup_s32(__a) __extension__ ({ \
2001 int32x4x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 34); r; })
2002 #define vld4q_dup_s64(__a) __extension__ ({ \
2003 int64x2x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 35); r; })
2004 #define vld4q_dup_f16(__a) __extension__ ({ \
2005 float16x8x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 40); r; })
2006 #define vld4q_dup_f32(__a) __extension__ ({ \
2007 float32x4x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 41); r; })
2008 #define vld4q_dup_f64(__a) __extension__ ({ \
2009 float64x2x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 42); r; })
2010 #define vld4q_dup_p8(__a) __extension__ ({ \
2011 poly8x16x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 36); r; })
2012 #define vld4q_dup_p16(__a) __extension__ ({ \
2013 poly16x8x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 37); r; })
2014 #define vld4q_dup_p64(__a) __extension__ ({ \
2015 poly64x2x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 38); r; })
2016 #define vld4_dup_f64(__a) __extension__ ({ \
2017 float64x1x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 10); r; })
2018 #define vld4_dup_p64(__a) __extension__ ({ \
2019 poly64x1x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 6); r; })
2020
2021 #define vld4_lane_s64(__a, b, __c) __extension__ ({ \
2022 int64x1x4_t __b = (b); \
2023 int64x1x4_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, 3); r; })
2024 #define vld4_lane_u64(__a, b, __c) __extension__ ({ \
2025 uint64x1x4_t __b = (b); \
2026 uint64x1x4_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, 19); r; })
2027 #define vld4q_lane_s8(__a, b, __c) __extension__ ({ \
2028 int8x16x4_t __b = (b); \
2029 int8x16x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, __b.val[0], __b.val[1], __ b.val[2], __b.val[3], __c, 32); r; })
2030 #define vld4q_lane_u8(__a, b, __c) __extension__ ({ \
2031 uint8x16x4_t __b = (b); \
2032 uint8x16x4_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, 48); r; })
2033 #define vld4q_lane_p8(__a, b, __c) __extension__ ({ \
2034 poly8x16x4_t __b = (b); \
2035 poly8x16x4_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, 36); r; })
2036 #define vld4q_lane_s64(__a, b, __c) __extension__ ({ \
2037 int64x2x4_t __b = (b); \
2038 int64x2x4_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, 35); r; } )
2039 #define vld4q_lane_u64(__a, b, __c) __extension__ ({ \
2040 uint64x2x4_t __b = (b); \
2041 uint64x2x4_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, 51); r; })
2042 #define vld4_lane_f64(__a, b, __c) __extension__ ({ \
2043 float64x1x4_t __b = (b); \
2044 float64x1x4_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, 10); r; })
2045 #define vld4q_lane_f64(__a, b, __c) __extension__ ({ \
2046 float64x2x4_t __b = (b); \
2047 float64x2x4_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, 42); r; })
2048 #define vld4_lane_p64(__a, b, __c) __extension__ ({ \
2049 poly64x1x4_t __b = (b); \
2050 poly64x1x4_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; })
2051 #define vld4q_lane_p64(__a, b, __c) __extension__ ({ \
2052 poly64x2x4_t __b = (b); \
2053 poly64x2x4_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, 38); r; })
2054
2055 #define vld1q_u8_x4(__a) __extension__ ({ \
2056 uint8x16x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 48); r; })
2057 #define vld1q_u16_x4(__a) __extension__ ({ \
2058 uint16x8x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 49); r; })
2059 #define vld1q_u32_x4(__a) __extension__ ({ \
2060 uint32x4x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 50); r; })
2061 #define vld1q_s8_x4(__a) __extension__ ({ \
2062 int8x16x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 32); r; })
2063 #define vld1q_s16_x4(__a) __extension__ ({ \
2064 int16x8x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 33); r; })
2065 #define vld1q_s32_x4(__a) __extension__ ({ \
2066 int32x4x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 34); r; })
2067 #define vld1q_f16_x4(__a) __extension__ ({ \
2068 float16x8x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 40); r; })
2069 #define vld1q_f32_x4(__a) __extension__ ({ \
2070 float32x4x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 41); r; })
2071 #define vld1q_p8_x4(__a) __extension__ ({ \
2072 poly8x16x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 36); r; })
2073 #define vld1q_p16_x4(__a) __extension__ ({ \
2074 poly16x8x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 37); r; })
2075 #define vld1_u8_x4(__a) __extension__ ({ \
2076 uint8x8x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 16); r; })
2077 #define vld1_u16_x4(__a) __extension__ ({ \
2078 uint16x4x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 17); r; })
2079 #define vld1_u32_x4(__a) __extension__ ({ \
2080 uint32x2x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 18); r; })
2081 #define vld1_u64_x4(__a) __extension__ ({ \
2082 uint64x1x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 19); r; })
2083 #define vld1_s8_x4(__a) __extension__ ({ \
2084 int8x8x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 0); r; })
2085 #define vld1_s16_x4(__a) __extension__ ({ \
2086 int16x4x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 1); r; })
2087 #define vld1_s32_x4(__a) __extension__ ({ \
2088 int32x2x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 2); r; })
2089 #define vld1_s64_x4(__a) __extension__ ({ \
2090 int64x1x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 3); r; })
2091 #define vld1_f16_x4(__a) __extension__ ({ \
2092 float16x4x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 8); r; })
2093 #define vld1_f32_x4(__a) __extension__ ({ \
2094 float32x2x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 9); r; })
2095 #define vld1_p8_x4(__a) __extension__ ({ \
2096 poly8x8x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 4); r; })
2097 #define vld1_p16_x4(__a) __extension__ ({ \
2098 poly16x4x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 5); r; })
2099 #define vld1q_u64_x4(__a) __extension__ ({ \
2100 uint64x2x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 51); r; })
2101 #define vld1q_s64_x4(__a) __extension__ ({ \
2102 int64x2x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 35); r; })
2103 #define vld1_f64_x4(__a) __extension__ ({ \
2104 float64x1x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 10); r; })
2105 #define vld1q_f64_x4(__a) __extension__ ({ \
2106 float64x2x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 42); r; })
2107 #define vld1_p64_x4(__a) __extension__ ({ \
2108 poly64x1x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 6); r; })
2109 #define vld1q_p64_x4(__a) __extension__ ({ \
2110 poly64x2x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 38); r; })
2111
2112 __ai float64x1_t vmax_f64(float64x1_t __a, float64x1_t __b) {
2113 return (float64x1_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 10); }
2114 __ai float64x2_t vmaxq_f64(float64x2_t __a, float64x2_t __b) {
2115 return (float64x2_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 42) ; }
2116
2117 __ai int8x16_t vpmaxq_s8(int8x16_t __a, int8x16_t __b) {
2118 return (int8x16_t)__builtin_neon_vpmaxq_v(__a, __b, 32); }
2119 __ai int16x8_t vpmaxq_s16(int16x8_t __a, int16x8_t __b) {
2120 return (int16x8_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
2121 __ai int32x4_t vpmaxq_s32(int32x4_t __a, int32x4_t __b) {
2122 return (int32x4_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
2123 __ai uint8x16_t vpmaxq_u8(uint8x16_t __a, uint8x16_t __b) {
2124 return (uint8x16_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 48) ; }
2125 __ai uint16x8_t vpmaxq_u16(uint16x8_t __a, uint16x8_t __b) {
2126 return (uint16x8_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 49) ; }
2127 __ai uint32x4_t vpmaxq_u32(uint32x4_t __a, uint32x4_t __b) {
2128 return (uint32x4_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 50) ; }
2129 __ai float32x4_t vpmaxq_f32(float32x4_t __a, float32x4_t __b) {
2130 return (float32x4_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 41 ); }
2131 __ai float64x2_t vpmaxq_f64(float64x2_t __a, float64x2_t __b) {
2132 return (float64x2_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 42 ); }
2133
2134 __ai float64x1_t vmin_f64(float64x1_t __a, float64x1_t __b) {
2135 return (float64x1_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 10); }
2136 __ai float64x2_t vminq_f64(float64x2_t __a, float64x2_t __b) {
2137 return (float64x2_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 42) ; }
2138
2139 __ai int8x16_t vpminq_s8(int8x16_t __a, int8x16_t __b) {
2140 return (int8x16_t)__builtin_neon_vpminq_v(__a, __b, 32); }
2141 __ai int16x8_t vpminq_s16(int16x8_t __a, int16x8_t __b) {
2142 return (int16x8_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
2143 __ai int32x4_t vpminq_s32(int32x4_t __a, int32x4_t __b) {
2144 return (int32x4_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
2145 __ai uint8x16_t vpminq_u8(uint8x16_t __a, uint8x16_t __b) {
2146 return (uint8x16_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 48) ; }
2147 __ai uint16x8_t vpminq_u16(uint16x8_t __a, uint16x8_t __b) {
2148 return (uint16x8_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 49) ; }
2149 __ai uint32x4_t vpminq_u32(uint32x4_t __a, uint32x4_t __b) {
2150 return (uint32x4_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 50) ; }
2151 __ai float32x4_t vpminq_f32(float32x4_t __a, float32x4_t __b) {
2152 return (float32x4_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 41 ); }
2153 __ai float64x2_t vpminq_f64(float64x2_t __a, float64x2_t __b) {
2154 return (float64x2_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 42 ); }
2155
2156 __ai float64x1_t vmla_f64(float64x1_t __a, float64x1_t __b, float64x1_t __c) {
2157 return __a + (__b * __c); }
2158 __ai float64x2_t vmlaq_f64(float64x2_t __a, float64x2_t __b, float64x2_t __c) {
2159 return __a + (__b * __c); }
2160
2161 __ai float64x2_t vmlaq_n_f64(float64x2_t __a, float64x2_t __b, float64_t __c) {
2162 return __a + (__b * (float64x2_t){ __c, __c }); }
2163
2164 __ai float64x1_t vmls_f64(float64x1_t __a, float64x1_t __b, float64x1_t __c) {
2165 return __a - (__b * __c); }
2166 __ai float64x2_t vmlsq_f64(float64x2_t __a, float64x2_t __b, float64x2_t __c) {
2167 return __a - (__b * __c); }
2168
2169 __ai float64x2_t vmlsq_n_f64(float64x2_t __a, float64x2_t __b, float64_t __c) {
2170 return __a - (__b * (float64x2_t){ __c, __c }); }
2171
2172 __ai float64x1_t vmov_n_f64(float64_t __a) {
2173 return (float64x1_t){ __a }; }
2174 __ai float64x2_t vmovq_n_f64(float64_t __a) {
2175 return (float64x2_t){ __a, __a }; }
2176
2177 __ai float64x1_t vmul_f64(float64x1_t __a, float64x1_t __b) {
2178 return __a * __b; }
2179 __ai float64x2_t vmulq_f64(float64x2_t __a, float64x2_t __b) {
2180 return __a * __b; }
2181
2182 __ai float32x2_t vmulx_f32(float32x2_t __a, float32x2_t __b) {
2183 return (float32x2_t)__builtin_neon_vmulx_v((int8x8_t)__a, (int8x8_t)__b, 9); }
2184 __ai float64x1_t vmulx_f64(float64x1_t __a, float64x1_t __b) {
2185 return (float64x1_t)__builtin_neon_vmulx_v((int8x8_t)__a, (int8x8_t)__b, 10); }
2186 __ai float32x4_t vmulxq_f32(float32x4_t __a, float32x4_t __b) {
2187 return (float32x4_t)__builtin_neon_vmulxq_v((int8x16_t)__a, (int8x16_t)__b, 41 ); }
2188 __ai float64x2_t vmulxq_f64(float64x2_t __a, float64x2_t __b) {
2189 return (float64x2_t)__builtin_neon_vmulxq_v((int8x16_t)__a, (int8x16_t)__b, 42 ); }
2190
2191 __ai float64x1_t vneg_f64(float64x1_t __a) {
2192 return -__a; }
2193 __ai int64x1_t vneg_s64(int64x1_t __a) {
2194 return -__a; }
2195 __ai float64x2_t vnegq_f64(float64x2_t __a) {
2196 return -__a; }
2197 __ai int64x2_t vnegq_s64(int64x2_t __a) {
2198 return -__a; }
2199
2200 __ai int64x1_t vqabs_s64(int64x1_t __a) {
2201 return (int64x1_t)__builtin_neon_vqabs_v((int8x8_t)__a, 3); }
2202 __ai int64x2_t vqabsq_s64(int64x2_t __a) {
2203 return (int64x2_t)__builtin_neon_vqabsq_v((int8x16_t)__a, 35); }
2204
2205 __ai int64x1_t vqneg_s64(int64x1_t __a) {
2206 return (int64x1_t)__builtin_neon_vqneg_v((int8x8_t)__a, 3); }
2207 __ai int64x2_t vqnegq_s64(int64x2_t __a) {
2208 return (int64x2_t)__builtin_neon_vqnegq_v((int8x16_t)__a, 35); }
2209
2210 #define vqrshrn_high_n_s16(a, b, __c) __extension__ ({ \
2211 int8x8_t __a = (a); int16x8_t __b = (b); \
2212 (int8x16_t)vcombine_s16(__a, vqrshrn_n_s16(__b, __c)); })
2213 #define vqrshrn_high_n_s32(a, b, __c) __extension__ ({ \
2214 int16x4_t __a = (a); int32x4_t __b = (b); \
2215 (int16x8_t)vcombine_s32(__a, vqrshrn_n_s32(__b, __c)); })
2216 #define vqrshrn_high_n_s64(a, b, __c) __extension__ ({ \
2217 int32x2_t __a = (a); int64x2_t __b = (b); \
2218 (int32x4_t)vcombine_s64(__a, vqrshrn_n_s64(__b, __c)); })
2219 #define vqrshrn_high_n_u16(a, b, __c) __extension__ ({ \
2220 uint8x8_t __a = (a); uint16x8_t __b = (b); \
2221 (uint8x16_t)vcombine_u16(__a, vqrshrn_n_u16(__b, __c)); })
2222 #define vqrshrn_high_n_u32(a, b, __c) __extension__ ({ \
2223 uint16x4_t __a = (a); uint32x4_t __b = (b); \
2224 (uint16x8_t)vcombine_u32(__a, vqrshrn_n_u32(__b, __c)); })
2225 #define vqrshrn_high_n_u64(a, b, __c) __extension__ ({ \
2226 uint32x2_t __a = (a); uint64x2_t __b = (b); \
2227 (uint32x4_t)vcombine_u64(__a, vqrshrn_n_u64(__b, __c)); })
2228
2229 #define vqrshrun_high_n_s16(a, b, __c) __extension__ ({ \
2230 int8x8_t __a = (a); int16x8_t __b = (b); \
2231 (int8x16_t)vcombine_s16(__a, vqrshrun_n_s16(__b, __c)); })
2232 #define vqrshrun_high_n_s32(a, b, __c) __extension__ ({ \
2233 int16x4_t __a = (a); int32x4_t __b = (b); \
2234 (int16x8_t)vcombine_s32(__a, vqrshrun_n_s32(__b, __c)); })
2235 #define vqrshrun_high_n_s64(a, b, __c) __extension__ ({ \
2236 int32x2_t __a = (a); int64x2_t __b = (b); \
2237 (int32x4_t)vcombine_s64(__a, vqrshrun_n_s64(__b, __c)); })
2238
2239 #define vqshrn_high_n_s16(a, b, __c) __extension__ ({ \
2240 int8x8_t __a = (a); int16x8_t __b = (b); \
2241 (int8x16_t)vcombine_s16(__a, vqshrn_n_s16(__b, __c)); })
2242 #define vqshrn_high_n_s32(a, b, __c) __extension__ ({ \
2243 int16x4_t __a = (a); int32x4_t __b = (b); \
2244 (int16x8_t)vcombine_s32(__a, vqshrn_n_s32(__b, __c)); })
2245 #define vqshrn_high_n_s64(a, b, __c) __extension__ ({ \
2246 int32x2_t __a = (a); int64x2_t __b = (b); \
2247 (int32x4_t)vcombine_s64(__a, vqshrn_n_s64(__b, __c)); })
2248 #define vqshrn_high_n_u16(a, b, __c) __extension__ ({ \
2249 uint8x8_t __a = (a); uint16x8_t __b = (b); \
2250 (uint8x16_t)vcombine_u16(__a, vqshrn_n_u16(__b, __c)); })
2251 #define vqshrn_high_n_u32(a, b, __c) __extension__ ({ \
2252 uint16x4_t __a = (a); uint32x4_t __b = (b); \
2253 (uint16x8_t)vcombine_u32(__a, vqshrn_n_u32(__b, __c)); })
2254 #define vqshrn_high_n_u64(a, b, __c) __extension__ ({ \
2255 uint32x2_t __a = (a); uint64x2_t __b = (b); \
2256 (uint32x4_t)vcombine_u64(__a, vqshrn_n_u64(__b, __c)); })
2257
2258 #define vqshrun_high_n_s16(a, b, __c) __extension__ ({ \
2259 int8x8_t __a = (a); int16x8_t __b = (b); \
2260 (int8x16_t)vcombine_s16(__a, vqshrun_n_s16(__b, __c)); })
2261 #define vqshrun_high_n_s32(a, b, __c) __extension__ ({ \
2262 int16x4_t __a = (a); int32x4_t __b = (b); \
2263 (int16x8_t)vcombine_s32(__a, vqshrun_n_s32(__b, __c)); })
2264 #define vqshrun_high_n_s64(a, b, __c) __extension__ ({ \
2265 int32x2_t __a = (a); int64x2_t __b = (b); \
2266 (int32x4_t)vcombine_s64(__a, vqshrun_n_s64(__b, __c)); })
2267
2268 __ai int8x16_t vqmovn_high_s16(int8x8_t __a, int16x8_t __b) {
2269 int8x8_t __a1 = vqmovn_s16(__b);
2270 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 , 12, 13, 14, 15); }
2271 __ai int16x8_t vqmovn_high_s32(int16x4_t __a, int32x4_t __b) {
2272 int16x4_t __a1 = vqmovn_s32(__b);
2273 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7); }
2274 __ai int32x4_t vqmovn_high_s64(int32x2_t __a, int64x2_t __b) {
2275 int32x2_t __a1 = vqmovn_s64(__b);
2276 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); }
2277 __ai uint8x16_t vqmovn_high_u16(uint8x8_t __a, uint16x8_t __b) {
2278 uint8x8_t __a1 = vqmovn_u16(__b);
2279 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 , 12, 13, 14, 15); }
2280 __ai uint16x8_t vqmovn_high_u32(uint16x4_t __a, uint32x4_t __b) {
2281 uint16x4_t __a1 = vqmovn_u32(__b);
2282 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7); }
2283 __ai uint32x4_t vqmovn_high_u64(uint32x2_t __a, uint64x2_t __b) {
2284 uint32x2_t __a1 = vqmovn_u64(__b);
2285 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); }
2286
2287 __ai int8x8_t vrbit_s8(int8x8_t __a) {
2288 return (int8x8_t)__builtin_neon_vrbit_v(__a, 0); }
2289 __ai uint8x8_t vrbit_u8(uint8x8_t __a) {
2290 return (uint8x8_t)__builtin_neon_vrbit_v((int8x8_t)__a, 16); }
2291 __ai poly8x8_t vrbit_p8(poly8x8_t __a) {
2292 return (poly8x8_t)__builtin_neon_vrbit_v((int8x8_t)__a, 4); }
2293 __ai int8x16_t vrbitq_s8(int8x16_t __a) {
2294 return (int8x16_t)__builtin_neon_vrbitq_v(__a, 32); }
2295 __ai uint8x16_t vrbitq_u8(uint8x16_t __a) {
2296 return (uint8x16_t)__builtin_neon_vrbitq_v((int8x16_t)__a, 48); }
2297 __ai poly8x16_t vrbitq_p8(poly8x16_t __a) {
2298 return (poly8x16_t)__builtin_neon_vrbitq_v((int8x16_t)__a, 36); }
2299
2300 #define vrshrn_high_n_s16(a, b, __c) __extension__ ({ \
2301 int8x8_t __a = (a); int16x8_t __b = (b); \
2302 (int8x16_t)vcombine_s16(__a, vrshrn_n_s16(__b, __c)); })
2303 #define vrshrn_high_n_s32(a, b, __c) __extension__ ({ \
2304 int16x4_t __a = (a); int32x4_t __b = (b); \
2305 (int16x8_t)vcombine_s32(__a, vrshrn_n_s32(__b, __c)); })
2306 #define vrshrn_high_n_s64(a, b, __c) __extension__ ({ \
2307 int32x2_t __a = (a); int64x2_t __b = (b); \
2308 (int32x4_t)vcombine_s64(__a, vrshrn_n_s64(__b, __c)); })
2309 #define vrshrn_high_n_u16(a, b, __c) __extension__ ({ \
2310 uint8x8_t __a = (a); uint16x8_t __b = (b); \
2311 (uint8x16_t)vcombine_u16(__a, vrshrn_n_u16(__b, __c)); })
2312 #define vrshrn_high_n_u32(a, b, __c) __extension__ ({ \
2313 uint16x4_t __a = (a); uint32x4_t __b = (b); \
2314 (uint16x8_t)vcombine_u32(__a, vrshrn_n_u32(__b, __c)); })
2315 #define vrshrn_high_n_u64(a, b, __c) __extension__ ({ \
2316 uint32x2_t __a = (a); uint64x2_t __b = (b); \
2317 (uint32x4_t)vcombine_u64(__a, vrshrn_n_u64(__b, __c)); })
2318
2319 __ai float32_t vabds_f32(float32_t __a, float32_t __b) {
2320 return (float32_t)__builtin_neon_vabds_f32(__a, __b); }
2321 __ai float64_t vabdd_f64(float64_t __a, float64_t __b) {
2322 return (float64_t)__builtin_neon_vabdd_f64(__a, __b); }
2323
2324 __ai int64_t vabsd_s64(int64_t __a) {
2325 return (int64_t)__builtin_neon_vabsd_s64(__a); }
2326
2327 __ai int64_t vaddd_s64(int64_t __a, int64_t __b) {
2328 return (int64_t)__builtin_neon_vaddd_s64(__a, __b); }
2329 __ai uint64_t vaddd_u64(uint64_t __a, uint64_t __b) {
2330 return (uint64_t)__builtin_neon_vaddd_u64(__a, __b); }
2331
2332 __ai float32_t vpadds_f32(float32x2_t __a) {
2333 return (float32_t)__builtin_neon_vpadds_f32(__a); }
2334 __ai int64_t vpaddd_s64(int64x2_t __a) {
2335 return (int64_t)__builtin_neon_vpaddd_s64(__a); }
2336 __ai float64_t vpaddd_f64(float64x2_t __a) {
2337 return (float64_t)__builtin_neon_vpaddd_f64(__a); }
2338 __ai uint64_t vpaddd_u64(uint64x2_t __a) {
2339 return (uint64_t)__builtin_neon_vpaddd_u64((int64x2_t)__a); }
2340
2341 __ai int64_t vceqd_s64(int64_t __a, int64_t __b) {
2342 return (int64_t)__builtin_neon_vceqd_s64(__a, __b); }
2343 __ai uint64_t vceqd_u64(uint64_t __a, uint64_t __b) {
2344 return (uint64_t)__builtin_neon_vceqd_u64(__a, __b); }
2345
2346 __ai int64_t vceqzd_s64(int64_t __a) {
2347 return (int64_t)__builtin_neon_vceqzd_s64(__a); }
2348 __ai uint64_t vceqzd_u64(uint64_t __a) {
2349 return (uint64_t)__builtin_neon_vceqzd_u64(__a); }
2350
2351 __ai int64_t vcged_s64(int64_t __a, int64_t __b) {
2352 return (int64_t)__builtin_neon_vcged_s64(__a, __b); }
2353
2354 __ai int64_t vcgezd_s64(int64_t __a) {
2355 return (int64_t)__builtin_neon_vcgezd_s64(__a); }
2356
2357 __ai int64_t vcgtd_s64(int64_t __a, int64_t __b) {
2358 return (int64_t)__builtin_neon_vcgtd_s64(__a, __b); }
2359
2360 __ai int64_t vcgtzd_s64(int64_t __a) {
2361 return (int64_t)__builtin_neon_vcgtzd_s64(__a); }
2362
2363 __ai uint64_t vcgtd_u64(uint64_t __a, uint64_t __b) {
2364 return (uint64_t)__builtin_neon_vcgtd_u64(__a, __b); }
2365
2366 __ai uint64_t vcged_u64(uint64_t __a, uint64_t __b) {
2367 return (uint64_t)__builtin_neon_vcged_u64(__a, __b); }
2368
2369 __ai int64_t vcled_s64(int64_t __a, int64_t __b) {
2370 return (int64_t)__builtin_neon_vcled_s64(__a, __b); }
2371 __ai uint64_t vcled_u64(uint64_t __a, uint64_t __b) {
2372 return (uint64_t)__builtin_neon_vcled_u64(__a, __b); }
2373
2374 __ai int64_t vclezd_s64(int64_t __a) {
2375 return (int64_t)__builtin_neon_vclezd_s64(__a); }
2376
2377 __ai int64_t vcltd_s64(int64_t __a, int64_t __b) {
2378 return (int64_t)__builtin_neon_vcltd_s64(__a, __b); }
2379 __ai uint64_t vcltd_u64(uint64_t __a, uint64_t __b) {
2380 return (uint64_t)__builtin_neon_vcltd_u64(__a, __b); }
2381
2382 __ai int64_t vcltzd_s64(int64_t __a) {
2383 return (int64_t)__builtin_neon_vcltzd_s64(__a); }
2384
2385 __ai int64_t vtstd_s64(int64_t __a, int64_t __b) {
2386 return (int64_t)__builtin_neon_vtstd_s64(__a, __b); }
2387 __ai uint64_t vtstd_u64(uint64_t __a, uint64_t __b) {
2388 return (uint64_t)__builtin_neon_vtstd_u64(__a, __b); }
2389
2390 __ai uint32_t vcages_f32(float32_t __a, float32_t __b) {
2391 return (uint32_t)__builtin_neon_vcages_f32(__a, __b); }
2392 __ai uint64_t vcaged_f64(float64_t __a, float64_t __b) {
2393 return (uint64_t)__builtin_neon_vcaged_f64(__a, __b); }
2394
2395 __ai uint32_t vcagts_f32(float32_t __a, float32_t __b) {
2396 return (uint32_t)__builtin_neon_vcagts_f32(__a, __b); }
2397 __ai uint64_t vcagtd_f64(float64_t __a, float64_t __b) {
2398 return (uint64_t)__builtin_neon_vcagtd_f64(__a, __b); }
2399
2400 __ai uint32_t vcales_f32(float32_t __a, float32_t __b) {
2401 return (uint32_t)__builtin_neon_vcales_f32(__a, __b); }
2402 __ai uint64_t vcaled_f64(float64_t __a, float64_t __b) {
2403 return (uint64_t)__builtin_neon_vcaled_f64(__a, __b); }
2404
2405 __ai uint32_t vcalts_f32(float32_t __a, float32_t __b) {
2406 return (uint32_t)__builtin_neon_vcalts_f32(__a, __b); }
2407 __ai uint64_t vcaltd_f64(float64_t __a, float64_t __b) {
2408 return (uint64_t)__builtin_neon_vcaltd_f64(__a, __b); }
2409
2410 __ai uint32_t vceqs_f32(float32_t __a, float32_t __b) {
2411 return (uint32_t)__builtin_neon_vceqs_f32(__a, __b); }
2412 __ai uint64_t vceqd_f64(float64_t __a, float64_t __b) {
2413 return (uint64_t)__builtin_neon_vceqd_f64(__a, __b); }
2414
2415 __ai uint32_t vceqzs_f32(float32_t __a) {
2416 return (uint32_t)__builtin_neon_vceqzs_f32(__a); }
2417 __ai uint64_t vceqzd_f64(float64_t __a) {
2418 return (uint64_t)__builtin_neon_vceqzd_f64(__a); }
2419
2420 __ai uint32_t vcges_f32(float32_t __a, float32_t __b) {
2421 return (uint32_t)__builtin_neon_vcges_f32(__a, __b); }
2422 __ai uint64_t vcged_f64(float64_t __a, float64_t __b) {
2423 return (uint64_t)__builtin_neon_vcged_f64(__a, __b); }
2424
2425 __ai uint32_t vcgezs_f32(float32_t __a) {
2426 return (uint32_t)__builtin_neon_vcgezs_f32(__a); }
2427 __ai uint64_t vcgezd_f64(float64_t __a) {
2428 return (uint64_t)__builtin_neon_vcgezd_f64(__a); }
2429
2430 __ai uint32_t vcgts_f32(float32_t __a, float32_t __b) {
2431 return (uint32_t)__builtin_neon_vcgts_f32(__a, __b); }
2432 __ai uint64_t vcgtd_f64(float64_t __a, float64_t __b) {
2433 return (uint64_t)__builtin_neon_vcgtd_f64(__a, __b); }
2434
2435 __ai uint32_t vcgtzs_f32(float32_t __a) {
2436 return (uint32_t)__builtin_neon_vcgtzs_f32(__a); }
2437 __ai uint64_t vcgtzd_f64(float64_t __a) {
2438 return (uint64_t)__builtin_neon_vcgtzd_f64(__a); }
2439
2440 __ai uint32_t vcles_f32(float32_t __a, float32_t __b) {
2441 return (uint32_t)__builtin_neon_vcles_f32(__a, __b); }
2442 __ai uint64_t vcled_f64(float64_t __a, float64_t __b) {
2443 return (uint64_t)__builtin_neon_vcled_f64(__a, __b); }
2444
2445 __ai uint32_t vclezs_f32(float32_t __a) {
2446 return (uint32_t)__builtin_neon_vclezs_f32(__a); }
2447 __ai uint64_t vclezd_f64(float64_t __a) {
2448 return (uint64_t)__builtin_neon_vclezd_f64(__a); }
2449
2450 __ai uint32_t vclts_f32(float32_t __a, float32_t __b) {
2451 return (uint32_t)__builtin_neon_vclts_f32(__a, __b); }
2452 __ai uint64_t vcltd_f64(float64_t __a, float64_t __b) {
2453 return (uint64_t)__builtin_neon_vcltd_f64(__a, __b); }
2454
2455 __ai uint32_t vcltzs_f32(float32_t __a) {
2456 return (uint32_t)__builtin_neon_vcltzs_f32(__a); }
2457 __ai uint64_t vcltzd_f64(float64_t __a) {
2458 return (uint64_t)__builtin_neon_vcltzd_f64(__a); }
2459
2460 __ai int64_t vcvtad_s64_f64(float64_t __a) {
2461 return (int64_t)__builtin_neon_vcvtad_s64_f64(__a); }
2462
2463 __ai int32_t vcvtas_s32_f32(float32_t __a) {
2464 return (int32_t)__builtin_neon_vcvtas_s32_f32(__a); }
2465
2466 __ai uint64_t vcvtad_u64_f64(float64_t __a) {
2467 return (uint64_t)__builtin_neon_vcvtad_u64_f64(__a); }
2468
2469 __ai uint32_t vcvtas_u32_f32(float32_t __a) {
2470 return (uint32_t)__builtin_neon_vcvtas_u32_f32(__a); }
2471
2472 __ai int64_t vcvtmd_s64_f64(float64_t __a) {
2473 return (int64_t)__builtin_neon_vcvtmd_s64_f64(__a); }
2474
2475 __ai int32_t vcvtms_s32_f32(float32_t __a) {
2476 return (int32_t)__builtin_neon_vcvtms_s32_f32(__a); }
2477
2478 __ai uint64_t vcvtmd_u64_f64(float64_t __a) {
2479 return (uint64_t)__builtin_neon_vcvtmd_u64_f64(__a); }
2480
2481 __ai uint32_t vcvtms_u32_f32(float32_t __a) {
2482 return (uint32_t)__builtin_neon_vcvtms_u32_f32(__a); }
2483
2484 __ai int64_t vcvtnd_s64_f64(float64_t __a) {
2485 return (int64_t)__builtin_neon_vcvtnd_s64_f64(__a); }
2486
2487 __ai int32_t vcvtns_s32_f32(float32_t __a) {
2488 return (int32_t)__builtin_neon_vcvtns_s32_f32(__a); }
2489
2490 __ai uint64_t vcvtnd_u64_f64(float64_t __a) {
2491 return (uint64_t)__builtin_neon_vcvtnd_u64_f64(__a); }
2492
2493 __ai uint32_t vcvtns_u32_f32(float32_t __a) {
2494 return (uint32_t)__builtin_neon_vcvtns_u32_f32(__a); }
2495
2496 __ai int64_t vcvtpd_s64_f64(float64_t __a) {
2497 return (int64_t)__builtin_neon_vcvtpd_s64_f64(__a); }
2498
2499 __ai int32_t vcvtps_s32_f32(float32_t __a) {
2500 return (int32_t)__builtin_neon_vcvtps_s32_f32(__a); }
2501
2502 __ai uint64_t vcvtpd_u64_f64(float64_t __a) {
2503 return (uint64_t)__builtin_neon_vcvtpd_u64_f64(__a); }
2504
2505 __ai uint32_t vcvtps_u32_f32(float32_t __a) {
2506 return (uint32_t)__builtin_neon_vcvtps_u32_f32(__a); }
2507
2508 __ai float32_t vcvtxd_f32_f64(float64_t __a) {
2509 return (float32_t)__builtin_neon_vcvtxd_f32_f64(__a); }
2510
2511 __ai int64_t vcvtd_s64_f64(float64_t __a) {
2512 return (int64_t)__builtin_neon_vcvtd_s64_f64(__a); }
2513
2514 __ai int32_t vcvts_s32_f32(float32_t __a) {
2515 return (int32_t)__builtin_neon_vcvts_s32_f32(__a); }
2516
2517 #define vcvts_n_s32_f32(a, __b) __extension__ ({ \
2518 float32_t __a = (a); \
2519 (int32_t)__builtin_neon_vcvts_n_s32_f32(__a, __b); })
2520
2521 #define vcvtd_n_s64_f64(a, __b) __extension__ ({ \
2522 float64_t __a = (a); \
2523 (int64_t)__builtin_neon_vcvtd_n_s64_f64(__a, __b); })
2524
2525 __ai uint64_t vcvtd_u64_f64(float64_t __a) {
2526 return (uint64_t)__builtin_neon_vcvtd_u64_f64(__a); }
2527
2528 __ai uint32_t vcvts_u32_f32(float32_t __a) {
2529 return (uint32_t)__builtin_neon_vcvts_u32_f32(__a); }
2530
2531 #define vcvts_n_u32_f32(a, __b) __extension__ ({ \
2532 float32_t __a = (a); \
2533 (uint32_t)__builtin_neon_vcvts_n_u32_f32(__a, __b); })
2534
2535 #define vcvtd_n_u64_f64(a, __b) __extension__ ({ \
2536 float64_t __a = (a); \
2537 (uint64_t)__builtin_neon_vcvtd_n_u64_f64(__a, __b); })
2538
2539 __ai float32_t vpmaxnms_f32(float32x2_t __a) {
2540 return (float32_t)__builtin_neon_vpmaxnms_f32(__a); }
2541 __ai float64_t vpmaxnmqd_f64(float64x2_t __a) {
2542 return (float64_t)__builtin_neon_vpmaxnmqd_f64(__a); }
2543
2544 __ai float32_t vpmaxs_f32(float32x2_t __a) {
2545 return (float32_t)__builtin_neon_vpmaxs_f32(__a); }
2546 __ai float64_t vpmaxqd_f64(float64x2_t __a) {
2547 return (float64_t)__builtin_neon_vpmaxqd_f64(__a); }
2548
2549 __ai float32_t vpminnms_f32(float32x2_t __a) {
2550 return (float32_t)__builtin_neon_vpminnms_f32(__a); }
2551 __ai float64_t vpminnmqd_f64(float64x2_t __a) {
2552 return (float64_t)__builtin_neon_vpminnmqd_f64(__a); }
2553
2554 __ai float32_t vpmins_f32(float32x2_t __a) {
2555 return (float32_t)__builtin_neon_vpmins_f32(__a); }
2556 __ai float64_t vpminqd_f64(float64x2_t __a) {
2557 return (float64_t)__builtin_neon_vpminqd_f64(__a); }
2558
2559 #define vfmas_lane_f32(a, b, c, __d) __extension__ ({ \
2560 float32_t __a = (a); float32_t __b = (b); float32x2_t __c = (c); \
2561 (float32_t)__builtin_neon_vfmas_lane_f32(__a, __b, __c, __d); })
2562 #define vfmad_lane_f64(a, b, c, __d) __extension__ ({ \
2563 float64_t __a = (a); float64_t __b = (b); float64x1_t __c = (c); \
2564 (float64_t)__builtin_neon_vfmad_lane_f64(__a, __b, __c, __d); })
2565
2566 #define vfmas_laneq_f32(a, b, c, __d) __extension__ ({ \
2567 float32_t __a = (a); float32_t __b = (b); float32x4_t __c = (c); \
2568 (float32_t)__builtin_neon_vfmas_laneq_f32(__a, __b, __c, __d); })
2569 #define vfmad_laneq_f64(a, b, c, __d) __extension__ ({ \
2570 float64_t __a = (a); float64_t __b = (b); float64x2_t __c = (c); \
2571 (float64_t)__builtin_neon_vfmad_laneq_f64(__a, __b, __c, __d); })
2572
2573 #define vfmss_lane_f32(a, b, c, __d) __extension__ ({ \
2574 float32_t __a = (a); float32_t __b = (b); float32x2_t __c = (c); \
2575 float32_t __a1 = __a; \
2576 float32_t __b1 = __b; \
2577 float32x2_t __c1 = __c; \
2578 vfmas_lane_f32(__a1, __b1, -__c1, __d); })
2579 #define vfmsd_lane_f64(a, b, c, __d) __extension__ ({ \
2580 float64_t __a = (a); float64_t __b = (b); float64x1_t __c = (c); \
2581 float64_t __a1 = __a; \
2582 float64_t __b1 = __b; \
2583 float64x1_t __c1 = __c; \
2584 vfmad_lane_f64(__a1, __b1, -__c1, __d); })
2585
2586 #define vfmss_laneq_f32(a, b, c, __d) __extension__ ({ \
2587 float32_t __a = (a); float32_t __b = (b); float32x4_t __c = (c); \
2588 float32_t __a1 = __a; \
2589 float32_t __b1 = __b; \
2590 float32x4_t __c1 = __c; \
2591 vfmas_laneq_f32(__a1, __b1, -__c1, __d); })
2592 #define vfmsd_laneq_f64(a, b, c, __d) __extension__ ({ \
2593 float64_t __a = (a); float64_t __b = (b); float64x2_t __c = (c); \
2594 float64_t __a1 = __a; \
2595 float64_t __b1 = __b; \
2596 float64x2_t __c1 = __c; \
2597 vfmad_laneq_f64(__a1, __b1, -__c1, __d); })
2598
2599 __ai float32_t vmulxs_f32(float32_t __a, float32_t __b) {
2600 return (float32_t)__builtin_neon_vmulxs_f32(__a, __b); }
2601 __ai float64_t vmulxd_f64(float64_t __a, float64_t __b) {
2602 return (float64_t)__builtin_neon_vmulxd_f64(__a, __b); }
2603
2604 #define vmulxs_lane_f32(a, b, __c) __extension__ ({ \
2605 float32_t __a = (a); float32x2_t __b = (b); \
2606 float32_t __a1 = __a; \
2607 float32x2_t __b1 = __b; \
2608 float32_t __d1 = vget_lane_f32(__b1, __c);\
2609 vmulxs_f32(__a1, __d1); })
2610 #define vmulxd_lane_f64(a, b, __c) __extension__ ({ \
2611 float64_t __a = (a); float64x1_t __b = (b); \
2612 float64_t __a1 = __a; \
2613 float64x1_t __b1 = __b; \
2614 float64_t __d1 = vget_lane_f64(__b1, __c);\
2615 vmulxd_f64(__a1, __d1); })
2616
2617 #define vmulxs_laneq_f32(a, b, __c) __extension__ ({ \
2618 float32_t __a = (a); float32x4_t __b = (b); \
2619 float32_t __a1 = __a; \
2620 float32x4_t __b1 = __b; \
2621 float32_t __d1 = vgetq_lane_f32(__b1, __c);\
2622 vmulxs_f32(__a1, __d1); })
2623 #define vmulxd_laneq_f64(a, b, __c) __extension__ ({ \
2624 float64_t __a = (a); float64x2_t __b = (b); \
2625 float64_t __a1 = __a; \
2626 float64x2_t __b1 = __b; \
2627 float64_t __d1 = vgetq_lane_f64(__b1, __c);\
2628 vmulxd_f64(__a1, __d1); })
2629
2630 #define vmuls_lane_f32(a, b, __c) __extension__ ({ \
2631 float32_t __a = (a); float32x2_t __b = (b); \
2632 float32_t __d1 = vget_lane_f32(__b, __c);\
2633 __a * __d1; })
2634 #define vmuld_lane_f64(a, b, __c) __extension__ ({ \
2635 float64_t __a = (a); float64x1_t __b = (b); \
2636 float64_t __d1 = vget_lane_f64(__b, __c);\
2637 __a * __d1; })
2638
2639 #define vmuls_laneq_f32(a, b, __c) __extension__ ({ \
2640 float32_t __a = (a); float32x4_t __b = (b); \
2641 float32_t __a1 = __a; \
2642 float32x4_t __b1 = __b; \
2643 float32_t __d1 = vgetq_lane_f32(__b1, __c);\
2644 __a1 * __d1; })
2645 #define vmuld_laneq_f64(a, b, __c) __extension__ ({ \
2646 float64_t __a = (a); float64x2_t __b = (b); \
2647 float64_t __a1 = __a; \
2648 float64x2_t __b1 = __b; \
2649 float64_t __d1 = vgetq_lane_f64(__b1, __c);\
2650 __a1 * __d1; })
2651
2652 __ai float32_t vrecpes_f32(float32_t __a) {
2653 return (float32_t)__builtin_neon_vrecpes_f32(__a); }
2654 __ai float64_t vrecped_f64(float64_t __a) {
2655 return (float64_t)__builtin_neon_vrecped_f64(__a); }
2656
2657 __ai float32_t vrecpss_f32(float32_t __a, float32_t __b) {
2658 return (float32_t)__builtin_neon_vrecpss_f32(__a, __b); }
2659 __ai float64_t vrecpsd_f64(float64_t __a, float64_t __b) {
2660 return (float64_t)__builtin_neon_vrecpsd_f64(__a, __b); }
2661
2662 __ai float32_t vrecpxs_f32(float32_t __a) {
2663 return (float32_t)__builtin_neon_vrecpxs_f32(__a); }
2664 __ai float64_t vrecpxd_f64(float64_t __a) {
2665 return (float64_t)__builtin_neon_vrecpxd_f64(__a); }
2666
2667 __ai float32_t vrsqrtes_f32(float32_t __a) {
2668 return (float32_t)__builtin_neon_vrsqrtes_f32(__a); }
2669 __ai float64_t vrsqrted_f64(float64_t __a) {
2670 return (float64_t)__builtin_neon_vrsqrted_f64(__a); }
2671
2672 __ai float32_t vrsqrtss_f32(float32_t __a, float32_t __b) {
2673 return (float32_t)__builtin_neon_vrsqrtss_f32(__a, __b); }
2674 __ai float64_t vrsqrtsd_f64(float64_t __a, float64_t __b) {
2675 return (float64_t)__builtin_neon_vrsqrtsd_f64(__a, __b); }
2676
2677 #define vget_lane_f16(a, __b) __extension__ ({ \
2678 float16x4_t __a = (a); \
2679 float16x4_t __a1 = __a; \
2680 int16x4_t __a2 = *(int16x4_t *)(&__a1);\
2681 int16_t __a3 = vget_lane_s16(__a2, __b);\
2682 float16_t __a4 = *(float16_t *)(&__a3);\
2683 __a4; })
2684 #define vgetq_lane_f16(a, __b) __extension__ ({ \
2685 float16x8_t __a = (a); \
2686 float16x8_t __a1 = __a; \
2687 int16x8_t __a2 = *(int16x8_t *)(&__a1);\
2688 int16_t __a3 = vgetq_lane_s16(__a2, __b);\
2689 float16_t __a4 = *(float16_t *)(&__a3);\
2690 __a4; })
2691
2692 __ai int64_t vnegd_s64(int64_t __a) {
2693 return (int64_t)__builtin_neon_vnegd_s64(__a); }
2694
2695 __ai int8_t vqaddb_s8(int8_t __a, int8_t __b) {
2696 return (int8_t)__builtin_neon_vqaddb_s8(__a, __b); }
2697 __ai int16_t vqaddh_s16(int16_t __a, int16_t __b) {
2698 return (int16_t)__builtin_neon_vqaddh_s16(__a, __b); }
2699 __ai int32_t vqadds_s32(int32_t __a, int32_t __b) {
2700 return (int32_t)__builtin_neon_vqadds_s32(__a, __b); }
2701 __ai int64_t vqaddd_s64(int64_t __a, int64_t __b) {
2702 return (int64_t)__builtin_neon_vqaddd_s64(__a, __b); }
2703 __ai uint8_t vqaddb_u8(uint8_t __a, uint8_t __b) {
2704 return (uint8_t)__builtin_neon_vqaddb_u8(__a, __b); }
2705 __ai uint16_t vqaddh_u16(uint16_t __a, uint16_t __b) {
2706 return (uint16_t)__builtin_neon_vqaddh_u16(__a, __b); }
2707 __ai uint32_t vqadds_u32(uint32_t __a, uint32_t __b) {
2708 return (uint32_t)__builtin_neon_vqadds_u32(__a, __b); }
2709 __ai uint64_t vqaddd_u64(uint64_t __a, uint64_t __b) {
2710 return (uint64_t)__builtin_neon_vqaddd_u64(__a, __b); }
2711
2712 __ai int8_t vqrshlb_s8(int8_t __a, int8_t __b) {
2713 return (int8_t)__builtin_neon_vqrshlb_s8(__a, __b); }
2714 __ai int16_t vqrshlh_s16(int16_t __a, int16_t __b) {
2715 return (int16_t)__builtin_neon_vqrshlh_s16(__a, __b); }
2716 __ai int32_t vqrshls_s32(int32_t __a, int32_t __b) {
2717 return (int32_t)__builtin_neon_vqrshls_s32(__a, __b); }
2718 __ai int64_t vqrshld_s64(int64_t __a, int64_t __b) {
2719 return (int64_t)__builtin_neon_vqrshld_s64(__a, __b); }
2720 __ai uint8_t vqrshlb_u8(uint8_t __a, uint8_t __b) {
2721 return (uint8_t)__builtin_neon_vqrshlb_u8(__a, __b); }
2722 __ai uint16_t vqrshlh_u16(uint16_t __a, uint16_t __b) {
2723 return (uint16_t)__builtin_neon_vqrshlh_u16(__a, __b); }
2724 __ai uint32_t vqrshls_u32(uint32_t __a, uint32_t __b) {
2725 return (uint32_t)__builtin_neon_vqrshls_u32(__a, __b); }
2726 __ai uint64_t vqrshld_u64(uint64_t __a, uint64_t __b) {
2727 return (uint64_t)__builtin_neon_vqrshld_u64(__a, __b); }
2728
2729 __ai int8_t vqshlb_s8(int8_t __a, int8_t __b) {
2730 return (int8_t)__builtin_neon_vqshlb_s8(__a, __b); }
2731 __ai int16_t vqshlh_s16(int16_t __a, int16_t __b) {
2732 return (int16_t)__builtin_neon_vqshlh_s16(__a, __b); }
2733 __ai int32_t vqshls_s32(int32_t __a, int32_t __b) {
2734 return (int32_t)__builtin_neon_vqshls_s32(__a, __b); }
2735 __ai int64_t vqshld_s64(int64_t __a, int64_t __b) {
2736 return (int64_t)__builtin_neon_vqshld_s64(__a, __b); }
2737 __ai uint8_t vqshlb_u8(uint8_t __a, uint8_t __b) {
2738 return (uint8_t)__builtin_neon_vqshlb_u8(__a, __b); }
2739 __ai uint16_t vqshlh_u16(uint16_t __a, uint16_t __b) {
2740 return (uint16_t)__builtin_neon_vqshlh_u16(__a, __b); }
2741 __ai uint32_t vqshls_u32(uint32_t __a, uint32_t __b) {
2742 return (uint32_t)__builtin_neon_vqshls_u32(__a, __b); }
2743 __ai uint64_t vqshld_u64(uint64_t __a, uint64_t __b) {
2744 return (uint64_t)__builtin_neon_vqshld_u64(__a, __b); }
2745
2746 __ai int8_t vqsubb_s8(int8_t __a, int8_t __b) {
2747 return (int8_t)__builtin_neon_vqsubb_s8(__a, __b); }
2748 __ai int16_t vqsubh_s16(int16_t __a, int16_t __b) {
2749 return (int16_t)__builtin_neon_vqsubh_s16(__a, __b); }
2750 __ai int32_t vqsubs_s32(int32_t __a, int32_t __b) {
2751 return (int32_t)__builtin_neon_vqsubs_s32(__a, __b); }
2752 __ai int64_t vqsubd_s64(int64_t __a, int64_t __b) {
2753 return (int64_t)__builtin_neon_vqsubd_s64(__a, __b); }
2754 __ai uint8_t vqsubb_u8(uint8_t __a, uint8_t __b) {
2755 return (uint8_t)__builtin_neon_vqsubb_u8(__a, __b); }
2756 __ai uint16_t vqsubh_u16(uint16_t __a, uint16_t __b) {
2757 return (uint16_t)__builtin_neon_vqsubh_u16(__a, __b); }
2758 __ai uint32_t vqsubs_u32(uint32_t __a, uint32_t __b) {
2759 return (uint32_t)__builtin_neon_vqsubs_u32(__a, __b); }
2760 __ai uint64_t vqsubd_u64(uint64_t __a, uint64_t __b) {
2761 return (uint64_t)__builtin_neon_vqsubd_u64(__a, __b); }
2762
2763 __ai int64_t vrshld_s64(int64_t __a, int64_t __b) {
2764 return (int64_t)__builtin_neon_vrshld_s64(__a, __b); }
2765 __ai uint64_t vrshld_u64(uint64_t __a, uint64_t __b) {
2766 return (uint64_t)__builtin_neon_vrshld_u64(__a, __b); }
2767
2768 __ai float64_t vcvtd_f64_s64(int64_t __a) {
2769 return (float64_t)__builtin_neon_vcvtd_f64_s64(__a); }
2770
2771 __ai float32_t vcvts_f32_s32(int32_t __a) {
2772 return (float32_t)__builtin_neon_vcvts_f32_s32(__a); }
2773
2774 #define vcvts_n_f32_s32(a, __b) __extension__ ({ \
2775 int32_t __a = (a); \
2776 (float32_t)__builtin_neon_vcvts_n_f32_s32(__a, __b); })
2777 #define vcvts_n_f32_u32(a, __b) __extension__ ({ \
2778 uint32_t __a = (a); \
2779 (float32_t)__builtin_neon_vcvts_n_f32_u32(__a, __b); })
2780
2781 #define vcvtd_n_f64_s64(a, __b) __extension__ ({ \
2782 int64_t __a = (a); \
2783 (float64_t)__builtin_neon_vcvtd_n_f64_s64(__a, __b); })
2784 #define vcvtd_n_f64_u64(a, __b) __extension__ ({ \
2785 uint64_t __a = (a); \
2786 (float64_t)__builtin_neon_vcvtd_n_f64_u64(__a, __b); })
2787
2788 #define vset_lane_f16(a, b, __c) __extension__ ({ \
2789 float16_t __a = (a); float16x4_t __b = (b); \
2790 float16_t __a1 = __a;\
2791 int16_t __a2 = *(int16_t *)(&__a1);\
2792 int16x4_t __b2 = *(int16x4_t *)(&__b);\
2793 int16x4_t __b3 = vset_lane_s16(__a2, __b2, __c);\
2794 float16x4_t __b4 = *(float16x4_t *)(&__b3);\
2795 __b4; })
2796 #define vsetq_lane_f16(a, b, __c) __extension__ ({ \
2797 float16_t __a = (a); float16x8_t __b = (b); \
2798 float16_t __a1 = __a;\
2799 int16_t __a2 = *(int16_t *)(&__a1);\
2800 int16x8_t __b2 = *(int16x8_t *)(&__b);\
2801 int16x8_t __b3 = vsetq_lane_s16(__a2, __b2, __c);\
2802 float16x8_t __b4 = *(float16x8_t *)(&__b3);\
2803 __b4; })
2804
2805 __ai int64_t vshld_s64(int64_t __a, int64_t __b) {
2806 return (int64_t)__builtin_neon_vshld_s64(__a, __b); }
2807 __ai uint64_t vshld_u64(uint64_t __a, uint64_t __b) {
2808 return (uint64_t)__builtin_neon_vshld_u64(__a, __b); }
2809
2810 #define vshld_n_s64(a, __b) __extension__ ({ \
2811 int64_t __a = (a); \
2812 (int64_t)__builtin_neon_vshld_n_s64(__a, __b); })
2813 #define vshld_n_u64(a, __b) __extension__ ({ \
2814 uint64_t __a = (a); \
2815 (uint64_t)__builtin_neon_vshld_n_u64(__a, __b); })
2816
2817 #define vslid_n_s64(a, b, __c) __extension__ ({ \
2818 int64_t __a = (a); int64_t __b = (b); \
2819 (int64_t)__builtin_neon_vslid_n_s64(__a, __b, __c); })
2820 #define vslid_n_u64(a, b, __c) __extension__ ({ \
2821 uint64_t __a = (a); uint64_t __b = (b); \
2822 (uint64_t)__builtin_neon_vslid_n_u64(__a, __b, __c); })
2823
2824 __ai int8_t vqabsb_s8(int8_t __a) {
2825 return (int8_t)__builtin_neon_vqabsb_s8(__a); }
2826 __ai int16_t vqabsh_s16(int16_t __a) {
2827 return (int16_t)__builtin_neon_vqabsh_s16(__a); }
2828 __ai int32_t vqabss_s32(int32_t __a) {
2829 return (int32_t)__builtin_neon_vqabss_s32(__a); }
2830 __ai int64_t vqabsd_s64(int64_t __a) {
2831 return (int64_t)__builtin_neon_vqabsd_s64(__a); }
2832
2833 __ai int32_t vqdmlalh_s16(int32_t __a, int16_t __b, int16_t __c) {
2834 return (int32_t)__builtin_neon_vqdmlalh_s16(__a, __b, __c); }
2835 __ai int64_t vqdmlals_s32(int64_t __a, int32_t __b, int32_t __c) {
2836 return (int64_t)__builtin_neon_vqdmlals_s32(__a, __b, __c); }
2837
2838 #define vqdmlalh_lane_s16(a, b, c, __d) __extension__ ({ \
2839 int32_t __a = (a); int16_t __b = (b); int16x4_t __c = (c); \
2840 (int32_t)__builtin_neon_vqdmlalh_lane_s16(__a, __b, __c, __d); })
2841 #define vqdmlals_lane_s32(a, b, c, __d) __extension__ ({ \
2842 int64_t __a = (a); int32_t __b = (b); int32x2_t __c = (c); \
2843 (int64_t)__builtin_neon_vqdmlals_lane_s32(__a, __b, __c, __d); })
2844
2845 #define vqdmlalh_laneq_s16(a, b, c, __d) __extension__ ({ \
2846 int32_t __a = (a); int16_t __b = (b); int16x8_t __c = (c); \
2847 (int32_t)__builtin_neon_vqdmlalh_laneq_s16(__a, __b, __c, __d); })
2848 #define vqdmlals_laneq_s32(a, b, c, __d) __extension__ ({ \
2849 int64_t __a = (a); int32_t __b = (b); int32x4_t __c = (c); \
2850 (int64_t)__builtin_neon_vqdmlals_laneq_s32(__a, __b, __c, __d); })
2851
2852 __ai int32_t vqdmlslh_s16(int32_t __a, int16_t __b, int16_t __c) {
2853 return (int32_t)__builtin_neon_vqdmlslh_s16(__a, __b, __c); }
2854 __ai int64_t vqdmlsls_s32(int64_t __a, int32_t __b, int32_t __c) {
2855 return (int64_t)__builtin_neon_vqdmlsls_s32(__a, __b, __c); }
2856
2857 #define vqdmlslh_lane_s16(a, b, c, __d) __extension__ ({ \
2858 int32_t __a = (a); int16_t __b = (b); int16x4_t __c = (c); \
2859 (int32_t)__builtin_neon_vqdmlslh_lane_s16(__a, __b, __c, __d); })
2860 #define vqdmlsls_lane_s32(a, b, c, __d) __extension__ ({ \
2861 int64_t __a = (a); int32_t __b = (b); int32x2_t __c = (c); \
2862 (int64_t)__builtin_neon_vqdmlsls_lane_s32(__a, __b, __c, __d); })
2863
2864 #define vqdmlslh_laneq_s16(a, b, c, __d) __extension__ ({ \
2865 int32_t __a = (a); int16_t __b = (b); int16x8_t __c = (c); \
2866 (int32_t)__builtin_neon_vqdmlslh_laneq_s16(__a, __b, __c, __d); })
2867 #define vqdmlsls_laneq_s32(a, b, c, __d) __extension__ ({ \
2868 int64_t __a = (a); int32_t __b = (b); int32x4_t __c = (c); \
2869 (int64_t)__builtin_neon_vqdmlsls_laneq_s32(__a, __b, __c, __d); })
2870
2871 __ai int16_t vqdmulhh_s16(int16_t __a, int16_t __b) {
2872 return (int16_t)__builtin_neon_vqdmulhh_s16(__a, __b); }
2873 __ai int32_t vqdmulhs_s32(int32_t __a, int32_t __b) {
2874 return (int32_t)__builtin_neon_vqdmulhs_s32(__a, __b); }
2875
2876 #define vqdmulhh_lane_s16(a, b, __c) __extension__ ({ \
2877 int16_t __a = (a); int16x4_t __b = (b); \
2878 int16_t __a1 = __a; \
2879 int16x4_t __b1 = __b; \
2880 vqdmulhh_s16(__a1, vget_lane_s16(__b1, __c)); })
2881 #define vqdmulhs_lane_s32(a, b, __c) __extension__ ({ \
2882 int32_t __a = (a); int32x2_t __b = (b); \
2883 int32_t __a1 = __a; \
2884 int32x2_t __b1 = __b; \
2885 vqdmulhs_s32(__a1, vget_lane_s32(__b1, __c)); })
2886
2887 #define vqdmulhh_laneq_s16(a, b, __c) __extension__ ({ \
2888 int16_t __a = (a); int16x8_t __b = (b); \
2889 int16_t __a1 = __a; \
2890 int16x8_t __b1 = __b; \
2891 vqdmulhh_s16(__a1, vgetq_lane_s16(__b1, __c)); })
2892 #define vqdmulhs_laneq_s32(a, b, __c) __extension__ ({ \
2893 int32_t __a = (a); int32x4_t __b = (b); \
2894 int32_t __a1 = __a; \
2895 int32x4_t __b1 = __b; \
2896 vqdmulhs_s32(__a1, vgetq_lane_s32(__b1, __c)); })
2897
2898 __ai int32_t vqdmullh_s16(int16_t __a, int16_t __b) {
2899 return (int32_t)__builtin_neon_vqdmullh_s16(__a, __b); }
2900 __ai int64_t vqdmulls_s32(int32_t __a, int32_t __b) {
2901 return (int64_t)__builtin_neon_vqdmulls_s32(__a, __b); }
2902
2903 #define vqdmullh_lane_s16(a, b, __c) __extension__ ({ \
2904 int16_t __a = (a); int16x4_t __b = (b); \
2905 int16_t __a1 = __a; \
2906 int16x4_t __b1 = __b; \
2907 vqdmullh_s16(__a1, vget_lane_s16(__b1, __c)); })
2908 #define vqdmulls_lane_s32(a, b, __c) __extension__ ({ \
2909 int32_t __a = (a); int32x2_t __b = (b); \
2910 int32_t __a1 = __a; \
2911 int32x2_t __b1 = __b; \
2912 vqdmulls_s32(__a1, vget_lane_s32(__b1, __c)); })
2913
2914 #define vqdmullh_laneq_s16(a, b, __c) __extension__ ({ \
2915 int16_t __a = (a); int16x8_t __b = (b); \
2916 int16_t __a1 = __a; \
2917 int16x8_t __b1 = __b; \
2918 vqdmullh_s16(__a1, vgetq_lane_s16(__b1, __c)); })
2919 #define vqdmulls_laneq_s32(a, b, __c) __extension__ ({ \
2920 int32_t __a = (a); int32x4_t __b = (b); \
2921 int32_t __a1 = __a; \
2922 int32x4_t __b1 = __b; \
2923 vqdmulls_s32(__a1, vgetq_lane_s32(__b1, __c)); })
2924
2925 __ai int8_t vqnegb_s8(int8_t __a) {
2926 return (int8_t)__builtin_neon_vqnegb_s8(__a); }
2927 __ai int16_t vqnegh_s16(int16_t __a) {
2928 return (int16_t)__builtin_neon_vqnegh_s16(__a); }
2929 __ai int32_t vqnegs_s32(int32_t __a) {
2930 return (int32_t)__builtin_neon_vqnegs_s32(__a); }
2931 __ai int64_t vqnegd_s64(int64_t __a) {
2932 return (int64_t)__builtin_neon_vqnegd_s64(__a); }
2933
2934 __ai int16_t vqrdmulhh_s16(int16_t __a, int16_t __b) {
2935 return (int16_t)__builtin_neon_vqrdmulhh_s16(__a, __b); }
2936 __ai int32_t vqrdmulhs_s32(int32_t __a, int32_t __b) {
2937 return (int32_t)__builtin_neon_vqrdmulhs_s32(__a, __b); }
2938
2939 #define vqrdmulhh_lane_s16(a, b, __c) __extension__ ({ \
2940 int16_t __a = (a); int16x4_t __b = (b); \
2941 int16_t __a1 = __a; \
2942 int16x4_t __b1 = __b; \
2943 vqrdmulhh_s16(__a1, vget_lane_s16(__b1, __c)); })
2944 #define vqrdmulhs_lane_s32(a, b, __c) __extension__ ({ \
2945 int32_t __a = (a); int32x2_t __b = (b); \
2946 int32_t __a1 = __a; \
2947 int32x2_t __b1 = __b; \
2948 vqrdmulhs_s32(__a1, vget_lane_s32(__b1, __c)); })
2949
2950 #define vqrdmulhh_laneq_s16(a, b, __c) __extension__ ({ \
2951 int16_t __a = (a); int16x8_t __b = (b); \
2952 int16_t __a1 = __a; \
2953 int16x8_t __b1 = __b; \
2954 vqrdmulhh_s16(__a1, vgetq_lane_s16(__b1, __c)); })
2955 #define vqrdmulhs_laneq_s32(a, b, __c) __extension__ ({ \
2956 int32_t __a = (a); int32x4_t __b = (b); \
2957 int32_t __a1 = __a; \
2958 int32x4_t __b1 = __b; \
2959 vqrdmulhs_s32(__a1, vgetq_lane_s32(__b1, __c)); })
2960
2961 #define vqrshrnh_n_s16(a, __b) __extension__ ({ \
2962 int16_t __a = (a); \
2963 (int8_t)__builtin_neon_vqrshrnh_n_s16(__a, __b); })
2964 #define vqrshrns_n_s32(a, __b) __extension__ ({ \
2965 int32_t __a = (a); \
2966 (int16_t)__builtin_neon_vqrshrns_n_s32(__a, __b); })
2967 #define vqrshrnd_n_s64(a, __b) __extension__ ({ \
2968 int64_t __a = (a); \
2969 (int32_t)__builtin_neon_vqrshrnd_n_s64(__a, __b); })
2970 #define vqrshrnh_n_u16(a, __b) __extension__ ({ \
2971 uint16_t __a = (a); \
2972 (uint8_t)__builtin_neon_vqrshrnh_n_u16(__a, __b); })
2973 #define vqrshrns_n_u32(a, __b) __extension__ ({ \
2974 uint32_t __a = (a); \
2975 (uint16_t)__builtin_neon_vqrshrns_n_u32(__a, __b); })
2976 #define vqrshrnd_n_u64(a, __b) __extension__ ({ \
2977 uint64_t __a = (a); \
2978 (uint32_t)__builtin_neon_vqrshrnd_n_u64(__a, __b); })
2979
2980 #define vqrshrunh_n_s16(a, __b) __extension__ ({ \
2981 int16_t __a = (a); \
2982 (int8_t)__builtin_neon_vqrshrunh_n_s16(__a, __b); })
2983 #define vqrshruns_n_s32(a, __b) __extension__ ({ \
2984 int32_t __a = (a); \
2985 (int16_t)__builtin_neon_vqrshruns_n_s32(__a, __b); })
2986 #define vqrshrund_n_s64(a, __b) __extension__ ({ \
2987 int64_t __a = (a); \
2988 (int32_t)__builtin_neon_vqrshrund_n_s64(__a, __b); })
2989
2990 #define vqshlub_n_s8(a, __b) __extension__ ({ \
2991 int8_t __a = (a); \
2992 (int8_t)__builtin_neon_vqshlub_n_s8(__a, __b); })
2993 #define vqshluh_n_s16(a, __b) __extension__ ({ \
2994 int16_t __a = (a); \
2995 (int16_t)__builtin_neon_vqshluh_n_s16(__a, __b); })
2996 #define vqshlus_n_s32(a, __b) __extension__ ({ \
2997 int32_t __a = (a); \
2998 (int32_t)__builtin_neon_vqshlus_n_s32(__a, __b); })
2999 #define vqshlud_n_s64(a, __b) __extension__ ({ \
3000 int64_t __a = (a); \
3001 (int64_t)__builtin_neon_vqshlud_n_s64(__a, __b); })
3002
3003 #define vqshlb_n_s8(a, __b) __extension__ ({ \
3004 int8_t __a = (a); \
3005 (int8_t)__builtin_neon_vqshlb_n_s8(__a, __b); })
3006 #define vqshlh_n_s16(a, __b) __extension__ ({ \
3007 int16_t __a = (a); \
3008 (int16_t)__builtin_neon_vqshlh_n_s16(__a, __b); })
3009 #define vqshls_n_s32(a, __b) __extension__ ({ \
3010 int32_t __a = (a); \
3011 (int32_t)__builtin_neon_vqshls_n_s32(__a, __b); })
3012 #define vqshld_n_s64(a, __b) __extension__ ({ \
3013 int64_t __a = (a); \
3014 (int64_t)__builtin_neon_vqshld_n_s64(__a, __b); })
3015 #define vqshlb_n_u8(a, __b) __extension__ ({ \
3016 uint8_t __a = (a); \
3017 (uint8_t)__builtin_neon_vqshlb_n_u8(__a, __b); })
3018 #define vqshlh_n_u16(a, __b) __extension__ ({ \
3019 uint16_t __a = (a); \
3020 (uint16_t)__builtin_neon_vqshlh_n_u16(__a, __b); })
3021 #define vqshls_n_u32(a, __b) __extension__ ({ \
3022 uint32_t __a = (a); \
3023 (uint32_t)__builtin_neon_vqshls_n_u32(__a, __b); })
3024 #define vqshld_n_u64(a, __b) __extension__ ({ \
3025 uint64_t __a = (a); \
3026 (uint64_t)__builtin_neon_vqshld_n_u64(__a, __b); })
3027
3028 #define vqshrnh_n_s16(a, __b) __extension__ ({ \
3029 int16_t __a = (a); \
3030 (int8_t)__builtin_neon_vqshrnh_n_s16(__a, __b); })
3031 #define vqshrns_n_s32(a, __b) __extension__ ({ \
3032 int32_t __a = (a); \
3033 (int16_t)__builtin_neon_vqshrns_n_s32(__a, __b); })
3034 #define vqshrnd_n_s64(a, __b) __extension__ ({ \
3035 int64_t __a = (a); \
3036 (int32_t)__builtin_neon_vqshrnd_n_s64(__a, __b); })
3037 #define vqshrnh_n_u16(a, __b) __extension__ ({ \
3038 uint16_t __a = (a); \
3039 (uint8_t)__builtin_neon_vqshrnh_n_u16(__a, __b); })
3040 #define vqshrns_n_u32(a, __b) __extension__ ({ \
3041 uint32_t __a = (a); \
3042 (uint16_t)__builtin_neon_vqshrns_n_u32(__a, __b); })
3043 #define vqshrnd_n_u64(a, __b) __extension__ ({ \
3044 uint64_t __a = (a); \
3045 (uint32_t)__builtin_neon_vqshrnd_n_u64(__a, __b); })
3046
3047 #define vqshrunh_n_s16(a, __b) __extension__ ({ \
3048 int16_t __a = (a); \
3049 (int8_t)__builtin_neon_vqshrunh_n_s16(__a, __b); })
3050 #define vqshruns_n_s32(a, __b) __extension__ ({ \
3051 int32_t __a = (a); \
3052 (int16_t)__builtin_neon_vqshruns_n_s32(__a, __b); })
3053 #define vqshrund_n_s64(a, __b) __extension__ ({ \
3054 int64_t __a = (a); \
3055 (int32_t)__builtin_neon_vqshrund_n_s64(__a, __b); })
3056
3057 __ai int8_t vqmovnh_s16(int16_t __a) {
3058 return (int8_t)__builtin_neon_vqmovnh_s16(__a); }
3059 __ai int16_t vqmovns_s32(int32_t __a) {
3060 return (int16_t)__builtin_neon_vqmovns_s32(__a); }
3061 __ai int32_t vqmovnd_s64(int64_t __a) {
3062 return (int32_t)__builtin_neon_vqmovnd_s64(__a); }
3063
3064 __ai int8_t vqmovunh_s16(int16_t __a) {
3065 return (int8_t)__builtin_neon_vqmovunh_s16(__a); }
3066 __ai int16_t vqmovuns_s32(int32_t __a) {
3067 return (int16_t)__builtin_neon_vqmovuns_s32(__a); }
3068 __ai int32_t vqmovund_s64(int64_t __a) {
3069 return (int32_t)__builtin_neon_vqmovund_s64(__a); }
3070
3071 #define vsrid_n_s64(a, b, __c) __extension__ ({ \
3072 int64_t __a = (a); int64_t __b = (b); \
3073 (int64_t)__builtin_neon_vsrid_n_s64(__a, __b, __c); })
3074 #define vsrid_n_u64(a, b, __c) __extension__ ({ \
3075 uint64_t __a = (a); uint64_t __b = (b); \
3076 (uint64_t)__builtin_neon_vsrid_n_u64(__a, __b, __c); })
3077
3078 #define vrshrd_n_s64(a, __b) __extension__ ({ \
3079 int64_t __a = (a); \
3080 (int64_t)__builtin_neon_vrshrd_n_s64(__a, __b); })
3081 #define vrshrd_n_u64(a, __b) __extension__ ({ \
3082 uint64_t __a = (a); \
3083 (uint64_t)__builtin_neon_vrshrd_n_u64(__a, __b); })
3084
3085 #define vrsrad_n_s64(a, b, __c) __extension__ ({ \
3086 int64_t __a = (a); int64_t __b = (b); \
3087 (int64_t)__builtin_neon_vrsrad_n_s64(__a, __b, __c); })
3088 #define vrsrad_n_u64(a, b, __c) __extension__ ({ \
3089 uint64_t __a = (a); uint64_t __b = (b); \
3090 (uint64_t)__builtin_neon_vrsrad_n_u64(__a, __b, __c); })
3091
3092 #define vshrd_n_s64(a, __b) __extension__ ({ \
3093 int64_t __a = (a); \
3094 (int64_t)__builtin_neon_vshrd_n_s64(__a, __b); })
3095 #define vshrd_n_u64(a, __b) __extension__ ({ \
3096 uint64_t __a = (a); \
3097 (uint64_t)__builtin_neon_vshrd_n_u64(__a, __b); })
3098
3099 #define vsrad_n_s64(a, b, __c) __extension__ ({ \
3100 int64_t __a = (a); int64_t __b = (b); \
3101 (int64_t)__builtin_neon_vsrad_n_s64(__a, __b, __c); })
3102 #define vsrad_n_u64(a, b, __c) __extension__ ({ \
3103 uint64_t __a = (a); uint64_t __b = (b); \
3104 (uint64_t)__builtin_neon_vsrad_n_u64(__a, __b, __c); })
3105
3106 __ai int64_t vsubd_s64(int64_t __a, int64_t __b) {
3107 return (int64_t)__builtin_neon_vsubd_s64(__a, __b); }
3108 __ai uint64_t vsubd_u64(uint64_t __a, uint64_t __b) {
3109 return (uint64_t)__builtin_neon_vsubd_u64(__a, __b); }
3110
3111 __ai int8_t vuqaddb_s8(int8_t __a, int8_t __b) {
3112 return (int8_t)__builtin_neon_vuqaddb_s8(__a, __b); }
3113 __ai int16_t vuqaddh_s16(int16_t __a, int16_t __b) {
3114 return (int16_t)__builtin_neon_vuqaddh_s16(__a, __b); }
3115 __ai int32_t vuqadds_s32(int32_t __a, int32_t __b) {
3116 return (int32_t)__builtin_neon_vuqadds_s32(__a, __b); }
3117 __ai int64_t vuqaddd_s64(int64_t __a, int64_t __b) {
3118 return (int64_t)__builtin_neon_vuqaddd_s64(__a, __b); }
3119
3120 __ai float64_t vcvtd_f64_u64(uint64_t __a) {
3121 return (float64_t)__builtin_neon_vcvtd_f64_u64(__a); }
3122
3123 __ai float32_t vcvts_f32_u32(uint32_t __a) {
3124 return (float32_t)__builtin_neon_vcvts_f32_u32(__a); }
3125
3126 __ai uint8_t vqmovnh_u16(uint16_t __a) {
3127 return (uint8_t)__builtin_neon_vqmovnh_u16(__a); }
3128 __ai uint16_t vqmovns_u32(uint32_t __a) {
3129 return (uint16_t)__builtin_neon_vqmovns_u32(__a); }
3130 __ai uint32_t vqmovnd_u64(uint64_t __a) {
3131 return (uint32_t)__builtin_neon_vqmovnd_u64(__a); }
3132
3133 __ai uint8_t vsqaddb_u8(uint8_t __a, uint8_t __b) {
3134 return (uint8_t)__builtin_neon_vsqaddb_u8(__a, __b); }
3135 __ai uint16_t vsqaddh_u16(uint16_t __a, uint16_t __b) {
3136 return (uint16_t)__builtin_neon_vsqaddh_u16(__a, __b); }
3137 __ai uint32_t vsqadds_u32(uint32_t __a, uint32_t __b) {
3138 return (uint32_t)__builtin_neon_vsqadds_u32(__a, __b); }
3139 __ai uint64_t vsqaddd_u64(uint64_t __a, uint64_t __b) {
3140 return (uint64_t)__builtin_neon_vsqaddd_u64(__a, __b); }
3141
3142 #define vdupb_lane_s8(a, __b) __extension__ ({ \
3143 int8x8_t __a = (a); \
3144 (int8_t)__builtin_neon_vdupb_lane_i8(__a, __b); })
3145 #define vduph_lane_s16(a, __b) __extension__ ({ \
3146 int16x4_t __a = (a); \
3147 (int16_t)__builtin_neon_vduph_lane_i16(__a, __b); })
3148 #define vdups_lane_s32(a, __b) __extension__ ({ \
3149 int32x2_t __a = (a); \
3150 (int32_t)__builtin_neon_vdups_lane_i32(__a, __b); })
3151 #define vdupd_lane_s64(a, __b) __extension__ ({ \
3152 int64x1_t __a = (a); \
3153 (int64_t)__builtin_neon_vdupd_lane_i64(__a, __b); })
3154 #define vdups_lane_f32(a, __b) __extension__ ({ \
3155 float32x2_t __a = (a); \
3156 (float32_t)__builtin_neon_vdups_lane_f32(__a, __b); })
3157 #define vdupd_lane_f64(a, __b) __extension__ ({ \
3158 float64x1_t __a = (a); \
3159 (float64_t)__builtin_neon_vdupd_lane_f64(__a, __b); })
3160 #define vdupb_lane_u8(a, __b) __extension__ ({ \
3161 uint8x8_t __a = (a); \
3162 (uint8_t)__builtin_neon_vdupb_lane_i8((int8x8_t)__a, __b); })
3163 #define vduph_lane_u16(a, __b) __extension__ ({ \
3164 uint16x4_t __a = (a); \
3165 (uint16_t)__builtin_neon_vduph_lane_i16((int16x4_t)__a, __b); })
3166 #define vdups_lane_u32(a, __b) __extension__ ({ \
3167 uint32x2_t __a = (a); \
3168 (uint32_t)__builtin_neon_vdups_lane_i32((int32x2_t)__a, __b); })
3169 #define vdupd_lane_u64(a, __b) __extension__ ({ \
3170 uint64x1_t __a = (a); \
3171 (uint64_t)__builtin_neon_vdupd_lane_i64((int64x1_t)__a, __b); })
3172 #define vdupb_lane_p8(a, __b) __extension__ ({ \
3173 poly8x8_t __a = (a); \
3174 (poly8_t)__builtin_neon_vdupb_lane_i8((int8x8_t)__a, __b); })
3175 #define vduph_lane_p16(a, __b) __extension__ ({ \
3176 poly16x4_t __a = (a); \
3177 (poly16_t)__builtin_neon_vduph_lane_i16((int16x4_t)__a, __b); })
3178
3179 #define vdupb_laneq_s8(a, __b) __extension__ ({ \
3180 int8x16_t __a = (a); \
3181 (int8_t)__builtin_neon_vdupb_laneq_i8(__a, __b); })
3182 #define vduph_laneq_s16(a, __b) __extension__ ({ \
3183 int16x8_t __a = (a); \
3184 (int16_t)__builtin_neon_vduph_laneq_i16(__a, __b); })
3185 #define vdups_laneq_s32(a, __b) __extension__ ({ \
3186 int32x4_t __a = (a); \
3187 (int32_t)__builtin_neon_vdups_laneq_i32(__a, __b); })
3188 #define vdupd_laneq_s64(a, __b) __extension__ ({ \
3189 int64x2_t __a = (a); \
3190 (int64_t)__builtin_neon_vdupd_laneq_i64(__a, __b); })
3191 #define vdups_laneq_f32(a, __b) __extension__ ({ \
3192 float32x4_t __a = (a); \
3193 (float32_t)__builtin_neon_vdups_laneq_f32(__a, __b); })
3194 #define vdupd_laneq_f64(a, __b) __extension__ ({ \
3195 float64x2_t __a = (a); \
3196 (float64_t)__builtin_neon_vdupd_laneq_f64(__a, __b); })
3197 #define vdupb_laneq_u8(a, __b) __extension__ ({ \
3198 uint8x16_t __a = (a); \
3199 (uint8_t)__builtin_neon_vdupb_laneq_i8((int8x16_t)__a, __b); })
3200 #define vduph_laneq_u16(a, __b) __extension__ ({ \
3201 uint16x8_t __a = (a); \
3202 (uint16_t)__builtin_neon_vduph_laneq_i16((int16x8_t)__a, __b); })
3203 #define vdups_laneq_u32(a, __b) __extension__ ({ \
3204 uint32x4_t __a = (a); \
3205 (uint32_t)__builtin_neon_vdups_laneq_i32((int32x4_t)__a, __b); })
3206 #define vdupd_laneq_u64(a, __b) __extension__ ({ \
3207 uint64x2_t __a = (a); \
3208 (uint64_t)__builtin_neon_vdupd_laneq_i64((int64x2_t)__a, __b); })
3209 #define vdupb_laneq_p8(a, __b) __extension__ ({ \
3210 poly8x16_t __a = (a); \
3211 (poly8_t)__builtin_neon_vdupb_laneq_i8((int8x16_t)__a, __b); })
3212 #define vduph_laneq_p16(a, __b) __extension__ ({ \
3213 poly16x8_t __a = (a); \
3214 (poly16_t)__builtin_neon_vduph_laneq_i16((int16x8_t)__a, __b); })
3215
3216 #define vmulx_lane_f64(a, b, __c) __extension__ ({ \
3217 float64x1_t __a = (a); float64x1_t __b = (b); \
3218 float64x1_t __a1 = __a; \
3219 float64x1_t __b1 = __b; \
3220 float64_t __d1 = vget_lane_f64(__a1, 0);\
3221 float64_t __e1 = vget_lane_f64(__b1, __c);\
3222 float64_t __f1 = vmulxd_f64(__d1, __e1);\
3223 float64x1_t __g1;\
3224 vset_lane_f64(__f1, __g1, __c); })
3225
3226 #define vmulx_laneq_f64(a, b, __c) __extension__ ({ \
3227 float64x1_t __a = (a); float64x2_t __b = (b); \
3228 float64x1_t __a1 = __a; \
3229 float64x2_t __b1 = __b; \
3230 float64_t __d1 = vget_lane_f64(__a1, 0);\
3231 float64_t __e1 = vgetq_lane_f64(__b1, __c);\
3232 float64_t __f1 = vmulxd_f64(__d1, __e1);\
3233 float64x1_t __g1;\
3234 vset_lane_f64(__f1, __g1, 0); })
3235
3236 #define vmul_lane_f64(a, b, __c) __extension__ ({ \
3237 float64x1_t __a = (a); float64x1_t __b = (b); \
3238 (float64x1_t)__builtin_neon_vmul_lane_v((int8x8_t)__a, (int8x8_t)__b, __c, 10) ; })
3239
3240 #define vmul_laneq_f64(a, b, __c) __extension__ ({ \
3241 float64x1_t __a = (a); float64x2_t __b = (b); \
3242 (float64x1_t)__builtin_neon_vmul_laneq_v((int8x8_t)__a, (int8x16_t)__b, __c, 1 0); })
3243
3244 __ai float64x1_t vmul_n_f64(float64x1_t __a, float64_t __b) {
3245 return (float64x1_t)__builtin_neon_vmul_n_f64(__a, __b); }
3246
3247 #define vset_lane_f64(a, b, __c) __extension__ ({ \
3248 float64_t __a = (a); float64x1_t __b = (b); \
3249 (float64x1_t)__builtin_neon_vset_lane_f64(__a, __b, __c); })
3250 #define vsetq_lane_f64(a, b, __c) __extension__ ({ \
3251 float64_t __a = (a); float64x2_t __b = (b); \
3252 (float64x2_t)__builtin_neon_vsetq_lane_f64(__a, __b, __c); })
3253 #define vset_lane_p64(a, b, __c) __extension__ ({ \
3254 poly64_t __a = (a); poly64x1_t __b = (b); \
3255 (poly64x1_t)__builtin_neon_vset_lane_i64(__a, (int64x1_t)__b, __c); })
3256 #define vsetq_lane_p64(a, b, __c) __extension__ ({ \
3257 poly64_t __a = (a); poly64x2_t __b = (b); \
3258 (poly64x2_t)__builtin_neon_vsetq_lane_i64(__a, (int64x2_t)__b, __c); })
3259
3260 #endif
3261
3262 #if __ARM_FEATURE_CRYPTO
3263 __ai uint32x4_t vsha1cq_u32(uint32x4_t __a, uint32_t __b, uint32x4_t __c) {
3264 return (uint32x4_t)__builtin_neon_vsha1cq_u32((int32x4_t)__a, __b, (int32x4_t) __c); }
3265
3266 __ai uint32_t vsha1h_u32(uint32_t __a) {
3267 return (uint32_t)__builtin_neon_vsha1h_u32(__a); }
3268
3269 __ai uint32x4_t vsha1mq_u32(uint32x4_t __a, uint32_t __b, uint32x4_t __c) {
3270 return (uint32x4_t)__builtin_neon_vsha1mq_u32((int32x4_t)__a, __b, (int32x4_t) __c); }
3271
3272 __ai uint32x4_t vsha1pq_u32(uint32x4_t __a, uint32_t __b, uint32x4_t __c) {
3273 return (uint32x4_t)__builtin_neon_vsha1pq_u32((int32x4_t)__a, __b, (int32x4_t) __c); }
3274
3275 __ai uint32x4_t vsha1su0q_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) {
3276 return (uint32x4_t)__builtin_neon_vsha1su0q_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 50); }
3277
3278 __ai uint32x4_t vsha1su1q_u32(uint32x4_t __a, uint32x4_t __b) {
3279 return (uint32x4_t)__builtin_neon_vsha1su1q_v((int8x16_t)__a, (int8x16_t)__b, 50); }
3280
3281 __ai uint32x4_t vsha256hq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) {
3282 return (uint32x4_t)__builtin_neon_vsha256hq_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 50); }
3283
3284 __ai uint32x4_t vsha256h2q_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) {
3285 return (uint32x4_t)__builtin_neon_vsha256h2q_v((int8x16_t)__a, (int8x16_t)__b, (int8x16_t)__c, 50); }
3286
3287 __ai uint32x4_t vsha256su0q_u32(uint32x4_t __a, uint32x4_t __b) {
3288 return (uint32x4_t)__builtin_neon_vsha256su0q_v((int8x16_t)__a, (int8x16_t)__b , 50); }
3289
3290 __ai uint32x4_t vsha256su1q_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) {
3291 return (uint32x4_t)__builtin_neon_vsha256su1q_v((int8x16_t)__a, (int8x16_t)__b , (int8x16_t)__c, 50); }
3292
3293 #endif
3294
3295 #if defined(__aarch64__)
3296 #define vshll_high_n_s8(a, __b) __extension__ ({ \
3297 int8x16_t __a = (a); \
3298 int8x8_t __a1 = vget_high_s8(__a); \
3299 (int16x8_t)vshll_n_s8(__a1, __b); })
3300 #define vshll_high_n_s16(a, __b) __extension__ ({ \
3301 int16x8_t __a = (a); \
3302 int16x4_t __a1 = vget_high_s16(__a); \
3303 (int32x4_t)vshll_n_s16(__a1, __b); })
3304 #define vshll_high_n_s32(a, __b) __extension__ ({ \
3305 int32x4_t __a = (a); \
3306 int32x2_t __a1 = vget_high_s32(__a); \
3307 (int64x2_t)vshll_n_s32(__a1, __b); })
3308 #define vshll_high_n_u8(a, __b) __extension__ ({ \
3309 uint8x16_t __a = (a); \
3310 uint8x8_t __a1 = vget_high_u8(__a); \
3311 (uint16x8_t)vshll_n_u8(__a1, __b); })
3312 #define vshll_high_n_u16(a, __b) __extension__ ({ \
3313 uint16x8_t __a = (a); \
3314 uint16x4_t __a1 = vget_high_u16(__a); \
3315 (uint32x4_t)vshll_n_u16(__a1, __b); })
3316 #define vshll_high_n_u32(a, __b) __extension__ ({ \
3317 uint32x4_t __a = (a); \
3318 uint32x2_t __a1 = vget_high_u32(__a); \
3319 (uint64x2_t)vshll_n_u32(__a1, __b); })
3320
3321 #define vshrn_high_n_s16(a, b, __c) __extension__ ({ \
3322 int8x8_t __a = (a); int16x8_t __b = (b); \
3323 (int8x16_t)vcombine_s16(__a, vshrn_n_s16(__b, __c)); })
3324 #define vshrn_high_n_s32(a, b, __c) __extension__ ({ \
3325 int16x4_t __a = (a); int32x4_t __b = (b); \
3326 (int16x8_t)vcombine_s32(__a, vshrn_n_s32(__b, __c)); })
3327 #define vshrn_high_n_s64(a, b, __c) __extension__ ({ \
3328 int32x2_t __a = (a); int64x2_t __b = (b); \
3329 (int32x4_t)vcombine_s64(__a, vshrn_n_s64(__b, __c)); })
3330 #define vshrn_high_n_u16(a, b, __c) __extension__ ({ \
3331 uint8x8_t __a = (a); uint16x8_t __b = (b); \
3332 (uint8x16_t)vcombine_u16(__a, vshrn_n_u16(__b, __c)); })
3333 #define vshrn_high_n_u32(a, b, __c) __extension__ ({ \
3334 uint16x4_t __a = (a); uint32x4_t __b = (b); \
3335 (uint16x8_t)vcombine_u32(__a, vshrn_n_u32(__b, __c)); })
3336 #define vshrn_high_n_u64(a, b, __c) __extension__ ({ \
3337 uint32x2_t __a = (a); uint64x2_t __b = (b); \
3338 (uint32x4_t)vcombine_u64(__a, vshrn_n_u64(__b, __c)); })
3339
3340 #define vsli_n_p64(a, b, __c) __extension__ ({ \
3341 poly64x1_t __a = (a); poly64x1_t __b = (b); \
3342 (poly64x1_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 6); })
3343 #define vsliq_n_p64(a, b, __c) __extension__ ({ \
3344 poly64x2_t __a = (a); poly64x2_t __b = (b); \
3345 (poly64x2_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 38); })
3346
3347 __ai int8x16_t vqmovun_high_s16(int8x8_t __a, int16x8_t __b) {
3348 int8x8_t __a1 = vqmovun_s16(__b);
3349 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 , 12, 13, 14, 15); }
3350 __ai int16x8_t vqmovun_high_s32(int16x4_t __a, int32x4_t __b) {
3351 int16x4_t __a1 = vqmovun_s32(__b);
3352 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7); }
3353 __ai int32x4_t vqmovun_high_s64(int32x2_t __a, int64x2_t __b) {
3354 int32x2_t __a1 = vqmovun_s64(__b);
3355 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); }
3356
3357 #define vsri_n_p64(a, b, __c) __extension__ ({ \
3358 poly64x1_t __a = (a); poly64x1_t __b = (b); \
3359 (poly64x1_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 6); })
3360 #define vsriq_n_p64(a, b, __c) __extension__ ({ \
3361 poly64x2_t __a = (a); poly64x2_t __b = (b); \
3362 (poly64x2_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 38); })
3363
3364 #define vst1_f64(__a, b) __extension__ ({ \
3365 float64x1_t __b = (b); \
3366 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 10); })
3367 #define vst1q_f64(__a, b) __extension__ ({ \
3368 float64x2_t __b = (b); \
3369 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 42); })
3370 #define vst1_p64(__a, b) __extension__ ({ \
3371 poly64x1_t __b = (b); \
3372 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 6); })
3373 #define vst1q_p64(__a, b) __extension__ ({ \
3374 poly64x2_t __b = (b); \
3375 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 38); })
3376
3377 #define vst1_lane_f64(__a, b, __c) __extension__ ({ \
3378 float64x1_t __b = (b); \
3379 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 10); })
3380 #define vst1q_lane_f64(__a, b, __c) __extension__ ({ \
3381 float64x2_t __b = (b); \
3382 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 42); })
3383 #define vst1_lane_p64(__a, b, __c) __extension__ ({ \
3384 poly64x1_t __b = (b); \
3385 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 6); })
3386 #define vst1q_lane_p64(__a, b, __c) __extension__ ({ \
3387 poly64x2_t __b = (b); \
3388 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 38); })
3389
3390 #define vst1q_u8_x2(__a, b) __extension__ ({ \
3391 uint8x16x2_t __b = (b); \
3392 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 4 8); })
3393 #define vst1q_u16_x2(__a, b) __extension__ ({ \
3394 uint16x8x2_t __b = (b); \
3395 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 4 9); })
3396 #define vst1q_u32_x2(__a, b) __extension__ ({ \
3397 uint32x4x2_t __b = (b); \
3398 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 5 0); })
3399 #define vst1q_s8_x2(__a, b) __extension__ ({ \
3400 int8x16x2_t __b = (b); \
3401 __builtin_neon_vst1q_x2_v(__a, __b.val[0], __b.val[1], 32); })
3402 #define vst1q_s16_x2(__a, b) __extension__ ({ \
3403 int16x8x2_t __b = (b); \
3404 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 3 3); })
3405 #define vst1q_s32_x2(__a, b) __extension__ ({ \
3406 int32x4x2_t __b = (b); \
3407 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 3 4); })
3408 #define vst1q_f16_x2(__a, b) __extension__ ({ \
3409 float16x8x2_t __b = (b); \
3410 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 4 0); })
3411 #define vst1q_f32_x2(__a, b) __extension__ ({ \
3412 float32x4x2_t __b = (b); \
3413 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 4 1); })
3414 #define vst1q_p8_x2(__a, b) __extension__ ({ \
3415 poly8x16x2_t __b = (b); \
3416 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 3 6); })
3417 #define vst1q_p16_x2(__a, b) __extension__ ({ \
3418 poly16x8x2_t __b = (b); \
3419 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 3 7); })
3420 #define vst1_u8_x2(__a, b) __extension__ ({ \
3421 uint8x8x2_t __b = (b); \
3422 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 16); })
3423 #define vst1_u16_x2(__a, b) __extension__ ({ \
3424 uint16x4x2_t __b = (b); \
3425 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 17); })
3426 #define vst1_u32_x2(__a, b) __extension__ ({ \
3427 uint32x2x2_t __b = (b); \
3428 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 18); })
3429 #define vst1_u64_x2(__a, b) __extension__ ({ \
3430 uint64x1x2_t __b = (b); \
3431 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 19); })
3432 #define vst1_s8_x2(__a, b) __extension__ ({ \
3433 int8x8x2_t __b = (b); \
3434 __builtin_neon_vst1_x2_v(__a, __b.val[0], __b.val[1], 0); })
3435 #define vst1_s16_x2(__a, b) __extension__ ({ \
3436 int16x4x2_t __b = (b); \
3437 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 1); })
3438 #define vst1_s32_x2(__a, b) __extension__ ({ \
3439 int32x2x2_t __b = (b); \
3440 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 2); })
3441 #define vst1_s64_x2(__a, b) __extension__ ({ \
3442 int64x1x2_t __b = (b); \
3443 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 3); })
3444 #define vst1_f16_x2(__a, b) __extension__ ({ \
3445 float16x4x2_t __b = (b); \
3446 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 8); })
3447 #define vst1_f32_x2(__a, b) __extension__ ({ \
3448 float32x2x2_t __b = (b); \
3449 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 9); })
3450 #define vst1_p8_x2(__a, b) __extension__ ({ \
3451 poly8x8x2_t __b = (b); \
3452 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 4); })
3453 #define vst1_p16_x2(__a, b) __extension__ ({ \
3454 poly16x4x2_t __b = (b); \
3455 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 5); })
3456 #define vst1q_u64_x2(__a, b) __extension__ ({ \
3457 uint64x2x2_t __b = (b); \
3458 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 5 1); })
3459 #define vst1q_s64_x2(__a, b) __extension__ ({ \
3460 int64x2x2_t __b = (b); \
3461 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 3 5); })
3462 #define vst1_f64_x2(__a, b) __extension__ ({ \
3463 float64x1x2_t __b = (b); \
3464 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 10); })
3465 #define vst1q_f64_x2(__a, b) __extension__ ({ \
3466 float64x2x2_t __b = (b); \
3467 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 4 2); })
3468 #define vst1_p64_x2(__a, b) __extension__ ({ \
3469 poly64x1x2_t __b = (b); \
3470 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 6); })
3471 #define vst1q_p64_x2(__a, b) __extension__ ({ \
3472 poly64x2x2_t __b = (b); \
3473 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 3 8); })
3474
3475 #define vst1q_u8_x3(__a, b) __extension__ ({ \
3476 uint8x16x3_t __b = (b); \
3477 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], 48); })
3478 #define vst1q_u16_x3(__a, b) __extension__ ({ \
3479 uint16x8x3_t __b = (b); \
3480 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], 49); })
3481 #define vst1q_u32_x3(__a, b) __extension__ ({ \
3482 uint32x4x3_t __b = (b); \
3483 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], 50); })
3484 #define vst1q_s8_x3(__a, b) __extension__ ({ \
3485 int8x16x3_t __b = (b); \
3486 __builtin_neon_vst1q_x3_v(__a, __b.val[0], __b.val[1], __b.val[2], 32); })
3487 #define vst1q_s16_x3(__a, b) __extension__ ({ \
3488 int16x8x3_t __b = (b); \
3489 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], 33); })
3490 #define vst1q_s32_x3(__a, b) __extension__ ({ \
3491 int32x4x3_t __b = (b); \
3492 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], 34); })
3493 #define vst1q_f16_x3(__a, b) __extension__ ({ \
3494 float16x8x3_t __b = (b); \
3495 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], 40); })
3496 #define vst1q_f32_x3(__a, b) __extension__ ({ \
3497 float32x4x3_t __b = (b); \
3498 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], 41); })
3499 #define vst1q_p8_x3(__a, b) __extension__ ({ \
3500 poly8x16x3_t __b = (b); \
3501 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], 36); })
3502 #define vst1q_p16_x3(__a, b) __extension__ ({ \
3503 poly16x8x3_t __b = (b); \
3504 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], 37); })
3505 #define vst1_u8_x3(__a, b) __extension__ ({ \
3506 uint8x8x3_t __b = (b); \
3507 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], 16); })
3508 #define vst1_u16_x3(__a, b) __extension__ ({ \
3509 uint16x4x3_t __b = (b); \
3510 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], 17); })
3511 #define vst1_u32_x3(__a, b) __extension__ ({ \
3512 uint32x2x3_t __b = (b); \
3513 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], 18); })
3514 #define vst1_u64_x3(__a, b) __extension__ ({ \
3515 uint64x1x3_t __b = (b); \
3516 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], 19); })
3517 #define vst1_s8_x3(__a, b) __extension__ ({ \
3518 int8x8x3_t __b = (b); \
3519 __builtin_neon_vst1_x3_v(__a, __b.val[0], __b.val[1], __b.val[2], 0); })
3520 #define vst1_s16_x3(__a, b) __extension__ ({ \
3521 int16x4x3_t __b = (b); \
3522 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], 1); })
3523 #define vst1_s32_x3(__a, b) __extension__ ({ \
3524 int32x2x3_t __b = (b); \
3525 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], 2); })
3526 #define vst1_s64_x3(__a, b) __extension__ ({ \
3527 int64x1x3_t __b = (b); \
3528 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], 3); })
3529 #define vst1_f16_x3(__a, b) __extension__ ({ \
3530 float16x4x3_t __b = (b); \
3531 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], 8); })
3532 #define vst1_f32_x3(__a, b) __extension__ ({ \
3533 float32x2x3_t __b = (b); \
3534 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], 9); })
3535 #define vst1_p8_x3(__a, b) __extension__ ({ \
3536 poly8x8x3_t __b = (b); \
3537 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], 4); })
3538 #define vst1_p16_x3(__a, b) __extension__ ({ \
3539 poly16x4x3_t __b = (b); \
3540 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], 5); })
3541 #define vst1q_u64_x3(__a, b) __extension__ ({ \
3542 uint64x2x3_t __b = (b); \
3543 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], 51); })
3544 #define vst1q_s64_x3(__a, b) __extension__ ({ \
3545 int64x2x3_t __b = (b); \
3546 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], 35); })
3547 #define vst1_f64_x3(__a, b) __extension__ ({ \
3548 float64x1x3_t __b = (b); \
3549 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], 10); })
3550 #define vst1q_f64_x3(__a, b) __extension__ ({ \
3551 float64x2x3_t __b = (b); \
3552 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], 42); })
3553 #define vst1_p64_x3(__a, b) __extension__ ({ \
3554 poly64x1x3_t __b = (b); \
3555 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], 6); })
3556 #define vst1q_p64_x3(__a, b) __extension__ ({ \
3557 poly64x2x3_t __b = (b); \
3558 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], 38); })
3559
3560 #define vst1q_u8_x4(__a, b) __extension__ ({ \
3561 uint8x16x4_t __b = (b); \
3562 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 48); })
3563 #define vst1q_u16_x4(__a, b) __extension__ ({ \
3564 uint16x8x4_t __b = (b); \
3565 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 49); })
3566 #define vst1q_u32_x4(__a, b) __extension__ ({ \
3567 uint32x4x4_t __b = (b); \
3568 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 50); })
3569 #define vst1q_s8_x4(__a, b) __extension__ ({ \
3570 int8x16x4_t __b = (b); \
3571 __builtin_neon_vst1q_x4_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3], 32); })
3572 #define vst1q_s16_x4(__a, b) __extension__ ({ \
3573 int16x8x4_t __b = (b); \
3574 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 33); })
3575 #define vst1q_s32_x4(__a, b) __extension__ ({ \
3576 int32x4x4_t __b = (b); \
3577 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 34); })
3578 #define vst1q_f16_x4(__a, b) __extension__ ({ \
3579 float16x8x4_t __b = (b); \
3580 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 40); })
3581 #define vst1q_f32_x4(__a, b) __extension__ ({ \
3582 float32x4x4_t __b = (b); \
3583 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 41); })
3584 #define vst1q_p8_x4(__a, b) __extension__ ({ \
3585 poly8x16x4_t __b = (b); \
3586 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 36); })
3587 #define vst1q_p16_x4(__a, b) __extension__ ({ \
3588 poly16x8x4_t __b = (b); \
3589 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 37); })
3590 #define vst1_u8_x4(__a, b) __extension__ ({ \
3591 uint8x8x4_t __b = (b); \
3592 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], (int8x8_t)__b.val[3], 16); })
3593 #define vst1_u16_x4(__a, b) __extension__ ({ \
3594 uint16x4x4_t __b = (b); \
3595 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], (int8x8_t)__b.val[3], 17); })
3596 #define vst1_u32_x4(__a, b) __extension__ ({ \
3597 uint32x2x4_t __b = (b); \
3598 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], (int8x8_t)__b.val[3], 18); })
3599 #define vst1_u64_x4(__a, b) __extension__ ({ \
3600 uint64x1x4_t __b = (b); \
3601 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], (int8x8_t)__b.val[3], 19); })
3602 #define vst1_s8_x4(__a, b) __extension__ ({ \
3603 int8x8x4_t __b = (b); \
3604 __builtin_neon_vst1_x4_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3], 0); })
3605 #define vst1_s16_x4(__a, b) __extension__ ({ \
3606 int16x4x4_t __b = (b); \
3607 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], (int8x8_t)__b.val[3], 1); })
3608 #define vst1_s32_x4(__a, b) __extension__ ({ \
3609 int32x2x4_t __b = (b); \
3610 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], (int8x8_t)__b.val[3], 2); })
3611 #define vst1_s64_x4(__a, b) __extension__ ({ \
3612 int64x1x4_t __b = (b); \
3613 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], (int8x8_t)__b.val[3], 3); })
3614 #define vst1_f16_x4(__a, b) __extension__ ({ \
3615 float16x4x4_t __b = (b); \
3616 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], (int8x8_t)__b.val[3], 8); })
3617 #define vst1_f32_x4(__a, b) __extension__ ({ \
3618 float32x2x4_t __b = (b); \
3619 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], (int8x8_t)__b.val[3], 9); })
3620 #define vst1_p8_x4(__a, b) __extension__ ({ \
3621 poly8x8x4_t __b = (b); \
3622 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], (int8x8_t)__b.val[3], 4); })
3623 #define vst1_p16_x4(__a, b) __extension__ ({ \
3624 poly16x4x4_t __b = (b); \
3625 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], (int8x8_t)__b.val[3], 5); })
3626 #define vst1q_u64_x4(__a, b) __extension__ ({ \
3627 uint64x2x4_t __b = (b); \
3628 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 51); })
3629 #define vst1q_s64_x4(__a, b) __extension__ ({ \
3630 int64x2x4_t __b = (b); \
3631 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 35); })
3632 #define vst1_f64_x4(__a, b) __extension__ ({ \
3633 float64x1x4_t __b = (b); \
3634 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], (int8x8_t)__b.val[3], 10); })
3635 #define vst1q_f64_x4(__a, b) __extension__ ({ \
3636 float64x2x4_t __b = (b); \
3637 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 42); })
3638 #define vst1_p64_x4(__a, b) __extension__ ({ \
3639 poly64x1x4_t __b = (b); \
3640 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int 8x8_t)__b.val[2], (int8x8_t)__b.val[3], 6); })
3641 #define vst1q_p64_x4(__a, b) __extension__ ({ \
3642 poly64x2x4_t __b = (b); \
3643 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], ( int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 38); })
3644
3645 #define vst2q_u64(__a, b) __extension__ ({ \
3646 uint64x2x2_t __b = (b); \
3647 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 51); })
3648 #define vst2q_s64(__a, b) __extension__ ({ \
3649 int64x2x2_t __b = (b); \
3650 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 35); })
3651 #define vst2_f64(__a, b) __extension__ ({ \
3652 float64x1x2_t __b = (b); \
3653 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 10); })
3654 #define vst2q_f64(__a, b) __extension__ ({ \
3655 float64x2x2_t __b = (b); \
3656 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 42); })
3657 #define vst2_p64(__a, b) __extension__ ({ \
3658 poly64x1x2_t __b = (b); \
3659 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 6); })
3660 #define vst2q_p64(__a, b) __extension__ ({ \
3661 poly64x2x2_t __b = (b); \
3662 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 38); })
3663
3664 #define vst2_lane_s64(__a, b, __c) __extension__ ({ \
3665 int64x1x2_t __b = (b); \
3666 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 3); })
3667 #define vst2_lane_u64(__a, b, __c) __extension__ ({ \
3668 uint64x1x2_t __b = (b); \
3669 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 19); })
3670 #define vst2q_lane_s8(__a, b, __c) __extension__ ({ \
3671 int8x16x2_t __b = (b); \
3672 __builtin_neon_vst2q_lane_v(__a, __b.val[0], __b.val[1], __c, 32); })
3673 #define vst2q_lane_u8(__a, b, __c) __extension__ ({ \
3674 uint8x16x2_t __b = (b); \
3675 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 48); })
3676 #define vst2q_lane_p8(__a, b, __c) __extension__ ({ \
3677 poly8x16x2_t __b = (b); \
3678 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 36); })
3679 #define vst2q_lane_s64(__a, b, __c) __extension__ ({ \
3680 int64x2x2_t __b = (b); \
3681 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 35); })
3682 #define vst2q_lane_u64(__a, b, __c) __extension__ ({ \
3683 uint64x2x2_t __b = (b); \
3684 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 51); })
3685 #define vst2_lane_f64(__a, b, __c) __extension__ ({ \
3686 float64x1x2_t __b = (b); \
3687 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 10); })
3688 #define vst2q_lane_f64(__a, b, __c) __extension__ ({ \
3689 float64x2x2_t __b = (b); \
3690 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 42); })
3691 #define vst2_lane_p64(__a, b, __c) __extension__ ({ \
3692 poly64x1x2_t __b = (b); \
3693 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 6); })
3694 #define vst2q_lane_p64(__a, b, __c) __extension__ ({ \
3695 poly64x2x2_t __b = (b); \
3696 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 38); })
3697
3698 #define vst3q_u64(__a, b) __extension__ ({ \
3699 uint64x2x3_t __b = (b); \
3700 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 51); })
3701 #define vst3q_s64(__a, b) __extension__ ({ \
3702 int64x2x3_t __b = (b); \
3703 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 35); })
3704 #define vst3_f64(__a, b) __extension__ ({ \
3705 float64x1x3_t __b = (b); \
3706 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 10); })
3707 #define vst3q_f64(__a, b) __extension__ ({ \
3708 float64x2x3_t __b = (b); \
3709 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 42); })
3710 #define vst3_p64(__a, b) __extension__ ({ \
3711 poly64x1x3_t __b = (b); \
3712 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 6); })
3713 #define vst3q_p64(__a, b) __extension__ ({ \
3714 poly64x2x3_t __b = (b); \
3715 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 38); })
3716
3717 #define vst3_lane_s64(__a, b, __c) __extension__ ({ \
3718 int64x1x3_t __b = (b); \
3719 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 3); })
3720 #define vst3_lane_u64(__a, b, __c) __extension__ ({ \
3721 uint64x1x3_t __b = (b); \
3722 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 19); })
3723 #define vst3q_lane_s8(__a, b, __c) __extension__ ({ \
3724 int8x16x3_t __b = (b); \
3725 __builtin_neon_vst3q_lane_v(__a, __b.val[0], __b.val[1], __b.val[2], __c, 32); })
3726 #define vst3q_lane_u8(__a, b, __c) __extension__ ({ \
3727 uint8x16x3_t __b = (b); \
3728 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 48); })
3729 #define vst3q_lane_p8(__a, b, __c) __extension__ ({ \
3730 poly8x16x3_t __b = (b); \
3731 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 36); })
3732 #define vst3q_lane_s64(__a, b, __c) __extension__ ({ \
3733 int64x2x3_t __b = (b); \
3734 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 35); })
3735 #define vst3q_lane_u64(__a, b, __c) __extension__ ({ \
3736 uint64x2x3_t __b = (b); \
3737 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 51); })
3738 #define vst3_lane_f64(__a, b, __c) __extension__ ({ \
3739 float64x1x3_t __b = (b); \
3740 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 10); })
3741 #define vst3q_lane_f64(__a, b, __c) __extension__ ({ \
3742 float64x2x3_t __b = (b); \
3743 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 42); })
3744 #define vst3_lane_p64(__a, b, __c) __extension__ ({ \
3745 poly64x1x3_t __b = (b); \
3746 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 6); })
3747 #define vst3q_lane_p64(__a, b, __c) __extension__ ({ \
3748 poly64x2x3_t __b = (b); \
3749 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 38); })
3750
3751 #define vst4q_u64(__a, b) __extension__ ({ \
3752 uint64x2x4_t __b = (b); \
3753 __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], 51); })
3754 #define vst4q_s64(__a, b) __extension__ ({ \
3755 int64x2x4_t __b = (b); \
3756 __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], 35); })
3757 #define vst4_f64(__a, b) __extension__ ({ \
3758 float64x1x4_t __b = (b); \
3759 __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); })
3760 #define vst4q_f64(__a, b) __extension__ ({ \
3761 float64x2x4_t __b = (b); \
3762 __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], 42); })
3763 #define vst4_p64(__a, b) __extension__ ({ \
3764 poly64x1x4_t __b = (b); \
3765 __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); })
3766 #define vst4q_p64(__a, b) __extension__ ({ \
3767 poly64x2x4_t __b = (b); \
3768 __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], 38); })
3769
3770 #define vst4_lane_s64(__a, b, __c) __extension__ ({ \
3771 int64x1x4_t __b = (b); \
3772 __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, 3); })
3773 #define vst4_lane_u64(__a, b, __c) __extension__ ({ \
3774 uint64x1x4_t __b = (b); \
3775 __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, 19); })
3776 #define vst4q_lane_s8(__a, b, __c) __extension__ ({ \
3777 int8x16x4_t __b = (b); \
3778 __builtin_neon_vst4q_lane_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3 ], __c, 32); })
3779 #define vst4q_lane_u8(__a, b, __c) __extension__ ({ \
3780 uint8x16x4_t __b = (b); \
3781 __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, 48); })
3782 #define vst4q_lane_p8(__a, b, __c) __extension__ ({ \
3783 poly8x16x4_t __b = (b); \
3784 __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, 36); })
3785 #define vst4q_lane_s64(__a, b, __c) __extension__ ({ \
3786 int64x2x4_t __b = (b); \
3787 __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, 35); })
3788 #define vst4q_lane_u64(__a, b, __c) __extension__ ({ \
3789 uint64x2x4_t __b = (b); \
3790 __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, 51); })
3791 #define vst4_lane_f64(__a, b, __c) __extension__ ({ \
3792 float64x1x4_t __b = (b); \
3793 __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); })
3794 #define vst4q_lane_f64(__a, b, __c) __extension__ ({ \
3795 float64x2x4_t __b = (b); \
3796 __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, 42); })
3797 #define vst4_lane_p64(__a, b, __c) __extension__ ({ \
3798 poly64x1x4_t __b = (b); \
3799 __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); })
3800 #define vst4q_lane_p64(__a, b, __c) __extension__ ({ \
3801 poly64x2x4_t __b = (b); \
3802 __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, 38); })
3803
3804 __ai float64x1_t vsub_f64(float64x1_t __a, float64x1_t __b) {
3805 return __a - __b; }
3806 __ai float64x2_t vsubq_f64(float64x2_t __a, float64x2_t __b) {
3807 return __a - __b; }
3808
3809 __ai int8x8_t vuqadd_s8(int8x8_t __a, int8x8_t __b) {
3810 return (int8x8_t)__builtin_neon_vuqadd_v(__a, __b, 0); }
3811 __ai int16x4_t vuqadd_s16(int16x4_t __a, int16x4_t __b) {
3812 return (int16x4_t)__builtin_neon_vuqadd_v((int8x8_t)__a, (int8x8_t)__b, 1); }
3813 __ai int32x2_t vuqadd_s32(int32x2_t __a, int32x2_t __b) {
3814 return (int32x2_t)__builtin_neon_vuqadd_v((int8x8_t)__a, (int8x8_t)__b, 2); }
3815 __ai int64x1_t vuqadd_s64(int64x1_t __a, int64x1_t __b) {
3816 return (int64x1_t)__builtin_neon_vuqadd_v((int8x8_t)__a, (int8x8_t)__b, 3); }
3817 __ai int8x16_t vuqaddq_s8(int8x16_t __a, int8x16_t __b) {
3818 return (int8x16_t)__builtin_neon_vuqaddq_v(__a, __b, 32); }
3819 __ai int16x8_t vuqaddq_s16(int16x8_t __a, int16x8_t __b) {
3820 return (int16x8_t)__builtin_neon_vuqaddq_v((int8x16_t)__a, (int8x16_t)__b, 33) ; }
3821 __ai int32x4_t vuqaddq_s32(int32x4_t __a, int32x4_t __b) {
3822 return (int32x4_t)__builtin_neon_vuqaddq_v((int8x16_t)__a, (int8x16_t)__b, 34) ; }
3823 __ai int64x2_t vuqaddq_s64(int64x2_t __a, int64x2_t __b) {
3824 return (int64x2_t)__builtin_neon_vuqaddq_v((int8x16_t)__a, (int8x16_t)__b, 35) ; }
3825
3826 __ai uint8x8_t vsqadd_u8(uint8x8_t __a, uint8x8_t __b) {
3827 return (uint8x8_t)__builtin_neon_vsqadd_v((int8x8_t)__a, (int8x8_t)__b, 16); }
3828 __ai uint16x4_t vsqadd_u16(uint16x4_t __a, uint16x4_t __b) {
3829 return (uint16x4_t)__builtin_neon_vsqadd_v((int8x8_t)__a, (int8x8_t)__b, 17); }
3830 __ai uint32x2_t vsqadd_u32(uint32x2_t __a, uint32x2_t __b) {
3831 return (uint32x2_t)__builtin_neon_vsqadd_v((int8x8_t)__a, (int8x8_t)__b, 18); }
3832 __ai uint64x1_t vsqadd_u64(uint64x1_t __a, uint64x1_t __b) {
3833 return (uint64x1_t)__builtin_neon_vsqadd_v((int8x8_t)__a, (int8x8_t)__b, 19); }
3834 __ai uint8x16_t vsqaddq_u8(uint8x16_t __a, uint8x16_t __b) {
3835 return (uint8x16_t)__builtin_neon_vsqaddq_v((int8x16_t)__a, (int8x16_t)__b, 48 ); }
3836 __ai uint16x8_t vsqaddq_u16(uint16x8_t __a, uint16x8_t __b) {
3837 return (uint16x8_t)__builtin_neon_vsqaddq_v((int8x16_t)__a, (int8x16_t)__b, 49 ); }
3838 __ai uint32x4_t vsqaddq_u32(uint32x4_t __a, uint32x4_t __b) {
3839 return (uint32x4_t)__builtin_neon_vsqaddq_v((int8x16_t)__a, (int8x16_t)__b, 50 ); }
3840 __ai uint64x2_t vsqaddq_u64(uint64x2_t __a, uint64x2_t __b) {
3841 return (uint64x2_t)__builtin_neon_vsqaddq_v((int8x16_t)__a, (int8x16_t)__b, 51 ); }
3842
3843 #endif
3844
3845 __ai int8x8_t vaba_s8(int8x8_t __a, int8x8_t __b, int8x8_t __c) {
3846 return __a + vabd_s8(__b, __c); }
3847 __ai int16x4_t vaba_s16(int16x4_t __a, int16x4_t __b, int16x4_t __c) {
3848 return __a + vabd_s16(__b, __c); }
3849 __ai int32x2_t vaba_s32(int32x2_t __a, int32x2_t __b, int32x2_t __c) {
3850 return __a + vabd_s32(__b, __c); }
3851 __ai uint8x8_t vaba_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) {
3852 return __a + vabd_u8(__b, __c); }
3853 __ai uint16x4_t vaba_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) {
3854 return __a + vabd_u16(__b, __c); }
3855 __ai uint32x2_t vaba_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) {
3856 return __a + vabd_u32(__b, __c); }
3857 __ai int8x16_t vabaq_s8(int8x16_t __a, int8x16_t __b, int8x16_t __c) {
3858 return __a + vabdq_s8(__b, __c); }
3859 __ai int16x8_t vabaq_s16(int16x8_t __a, int16x8_t __b, int16x8_t __c) {
3860 return __a + vabdq_s16(__b, __c); }
3861 __ai int32x4_t vabaq_s32(int32x4_t __a, int32x4_t __b, int32x4_t __c) {
3862 return __a + vabdq_s32(__b, __c); }
3863 __ai uint8x16_t vabaq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) {
3864 return __a + vabdq_u8(__b, __c); }
3865 __ai uint16x8_t vabaq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) {
3866 return __a + vabdq_u16(__b, __c); }
3867 __ai uint32x4_t vabaq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) {
3868 return __a + vabdq_u32(__b, __c); }
3869
3870 __ai int16x8_t vabal_s8(int16x8_t __a, int8x8_t __b, int8x8_t __c) {
3871 return __a + vabdl_s8(__b, __c); }
3872 __ai int32x4_t vabal_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) {
3873 return __a + vabdl_s16(__b, __c); }
3874 __ai int64x2_t vabal_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) {
3875 return __a + vabdl_s32(__b, __c); }
3876 __ai uint16x8_t vabal_u8(uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) {
3877 return __a + vabdl_u8(__b, __c); }
3878 __ai uint32x4_t vabal_u16(uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) {
3879 return __a + vabdl_u16(__b, __c); }
3880 __ai uint64x2_t vabal_u32(uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) {
3881 return __a + vabdl_u32(__b, __c); }
3882
3883 #if defined(__aarch64__)
3884 __ai int16x8_t vabal_high_s8(int16x8_t __a, int8x16_t __b, int8x16_t __c) {
3885 return vabal_s8(__a, vget_high_s8(__b), vget_high_s8(__c)); }
3886 __ai int32x4_t vabal_high_s16(int32x4_t __a, int16x8_t __b, int16x8_t __c) {
3887 return vabal_s16(__a, vget_high_s16(__b), vget_high_s16(__c)); }
3888 __ai int64x2_t vabal_high_s32(int64x2_t __a, int32x4_t __b, int32x4_t __c) {
3889 return vabal_s32(__a, vget_high_s32(__b), vget_high_s32(__c)); }
3890 __ai uint16x8_t vabal_high_u8(uint16x8_t __a, uint8x16_t __b, uint8x16_t __c) {
3891 return vabal_u8(__a, vget_high_u8(__b), vget_high_u8(__c)); }
3892 __ai uint32x4_t vabal_high_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __c) {
3893 return vabal_u16(__a, vget_high_u16(__b), vget_high_u16(__c)); }
3894 __ai uint64x2_t vabal_high_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __c) {
3895 return vabal_u32(__a, vget_high_u32(__b), vget_high_u32(__c)); }
3896
3897 __ai int16x8_t vabdl_high_s8(int8x16_t __a, int8x16_t __b) {
3898 return vabdl_s8(vget_high_s8(__a), vget_high_s8(__b)); }
3899 __ai int32x4_t vabdl_high_s16(int16x8_t __a, int16x8_t __b) {
3900 return vabdl_s16(vget_high_s16(__a), vget_high_s16(__b)); }
3901 __ai int64x2_t vabdl_high_s32(int32x4_t __a, int32x4_t __b) {
3902 return vabdl_s32(vget_high_s32(__a), vget_high_s32(__b)); }
3903 __ai uint16x8_t vabdl_high_u8(uint8x16_t __a, uint8x16_t __b) {
3904 return vabdl_u8(vget_high_u8(__a), vget_high_u8(__b)); }
3905 __ai uint32x4_t vabdl_high_u16(uint16x8_t __a, uint16x8_t __b) {
3906 return vabdl_u16(vget_high_u16(__a), vget_high_u16(__b)); }
3907 __ai uint64x2_t vabdl_high_u32(uint32x4_t __a, uint32x4_t __b) {
3908 return vabdl_u32(vget_high_u32(__a), vget_high_u32(__b)); }
3909
3910 #endif
3911
3912 __ai int8x8_t vabs_s8(int8x8_t __a) {
3913 return (int8x8_t)__builtin_neon_vabs_v(__a, 0); }
3914 __ai int16x4_t vabs_s16(int16x4_t __a) {
3915 return (int16x4_t)__builtin_neon_vabs_v((int8x8_t)__a, 1); }
3916 __ai int32x2_t vabs_s32(int32x2_t __a) {
3917 return (int32x2_t)__builtin_neon_vabs_v((int8x8_t)__a, 2); }
3918 __ai float32x2_t vabs_f32(float32x2_t __a) {
3919 return (float32x2_t)__builtin_neon_vabs_v((int8x8_t)__a, 9); }
3920 __ai int8x16_t vabsq_s8(int8x16_t __a) {
3921 return (int8x16_t)__builtin_neon_vabsq_v(__a, 32); }
3922 __ai int16x8_t vabsq_s16(int16x8_t __a) {
3923 return (int16x8_t)__builtin_neon_vabsq_v((int8x16_t)__a, 33); }
3924 __ai int32x4_t vabsq_s32(int32x4_t __a) {
3925 return (int32x4_t)__builtin_neon_vabsq_v((int8x16_t)__a, 34); }
3926 __ai float32x4_t vabsq_f32(float32x4_t __a) {
3927 return (float32x4_t)__builtin_neon_vabsq_v((int8x16_t)__a, 41); }
3928
3929 __ai int8x8_t vadd_s8(int8x8_t __a, int8x8_t __b) {
3930 return __a + __b; }
3931 __ai int16x4_t vadd_s16(int16x4_t __a, int16x4_t __b) {
3932 return __a + __b; }
3933 __ai int32x2_t vadd_s32(int32x2_t __a, int32x2_t __b) {
3934 return __a + __b; }
3935 __ai int64x1_t vadd_s64(int64x1_t __a, int64x1_t __b) {
3936 return __a + __b; }
3937 __ai float32x2_t vadd_f32(float32x2_t __a, float32x2_t __b) {
3938 return __a + __b; }
3939 __ai uint8x8_t vadd_u8(uint8x8_t __a, uint8x8_t __b) {
3940 return __a + __b; }
3941 __ai uint16x4_t vadd_u16(uint16x4_t __a, uint16x4_t __b) {
3942 return __a + __b; }
3943 __ai uint32x2_t vadd_u32(uint32x2_t __a, uint32x2_t __b) {
3944 return __a + __b; }
3945 __ai uint64x1_t vadd_u64(uint64x1_t __a, uint64x1_t __b) {
3946 return __a + __b; }
3947 __ai int8x16_t vaddq_s8(int8x16_t __a, int8x16_t __b) {
3948 return __a + __b; }
3949 __ai int16x8_t vaddq_s16(int16x8_t __a, int16x8_t __b) {
3950 return __a + __b; }
3951 __ai int32x4_t vaddq_s32(int32x4_t __a, int32x4_t __b) {
3952 return __a + __b; }
3953 __ai int64x2_t vaddq_s64(int64x2_t __a, int64x2_t __b) {
3954 return __a + __b; }
3955 __ai float32x4_t vaddq_f32(float32x4_t __a, float32x4_t __b) {
3956 return __a + __b; }
3957 __ai uint8x16_t vaddq_u8(uint8x16_t __a, uint8x16_t __b) {
3958 return __a + __b; }
3959 __ai uint16x8_t vaddq_u16(uint16x8_t __a, uint16x8_t __b) {
3960 return __a + __b; }
3961 __ai uint32x4_t vaddq_u32(uint32x4_t __a, uint32x4_t __b) {
3962 return __a + __b; }
3963 __ai uint64x2_t vaddq_u64(uint64x2_t __a, uint64x2_t __b) {
3964 return __a + __b; }
3965
3966 __ai int8x8_t vaddhn_s16(int16x8_t __a, int16x8_t __b) {
3967 return (int8x8_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 0); }
3968 __ai int16x4_t vaddhn_s32(int32x4_t __a, int32x4_t __b) {
3969 return (int16x4_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 1); }
3970 __ai int32x2_t vaddhn_s64(int64x2_t __a, int64x2_t __b) {
3971 return (int32x2_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 2); }
3972 __ai uint8x8_t vaddhn_u16(uint16x8_t __a, uint16x8_t __b) {
3973 return (uint8x8_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 16); }
3974 __ai uint16x4_t vaddhn_u32(uint32x4_t __a, uint32x4_t __b) {
3975 return (uint16x4_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 17) ; }
3976 __ai uint32x2_t vaddhn_u64(uint64x2_t __a, uint64x2_t __b) {
3977 return (uint32x2_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 18) ; }
3978
3979 #if defined(__aarch64__)
3980 __ai int8x16_t vaddhn_high_s16(int8x8_t __a, int16x8_t __b, int16x8_t __c) {
3981 return vcombine_s8(__a, vaddhn_s16(__b, __c)); }
3982 __ai int16x8_t vaddhn_high_s32(int16x4_t __a, int32x4_t __b, int32x4_t __c) {
3983 return vcombine_s16(__a, vaddhn_s32(__b, __c)); }
3984 __ai int32x4_t vaddhn_high_s64(int32x2_t __a, int64x2_t __b, int64x2_t __c) {
3985 return vcombine_s32(__a, vaddhn_s64(__b, __c)); }
3986 __ai uint8x16_t vaddhn_high_u16(uint8x8_t __a, uint16x8_t __b, uint16x8_t __c) {
3987 return vcombine_u8(__a, vaddhn_u16(__b, __c)); }
3988 __ai uint16x8_t vaddhn_high_u32(uint16x4_t __a, uint32x4_t __b, uint32x4_t __c) {
3989 return vcombine_u16(__a, vaddhn_u32(__b, __c)); }
3990 __ai uint32x4_t vaddhn_high_u64(uint32x2_t __a, uint64x2_t __b, uint64x2_t __c) {
3991 return vcombine_u32(__a, vaddhn_u64(__b, __c)); }
3992
3993 #endif
3994
3995 __ai int16x8_t vaddl_s8(int8x8_t __a, int8x8_t __b) {
3996 return vmovl_s8(__a) + vmovl_s8(__b); }
3997 __ai int32x4_t vaddl_s16(int16x4_t __a, int16x4_t __b) {
3998 return vmovl_s16(__a) + vmovl_s16(__b); }
3999 __ai int64x2_t vaddl_s32(int32x2_t __a, int32x2_t __b) {
4000 return vmovl_s32(__a) + vmovl_s32(__b); }
4001 __ai uint16x8_t vaddl_u8(uint8x8_t __a, uint8x8_t __b) {
4002 return vmovl_u8(__a) + vmovl_u8(__b); }
4003 __ai uint32x4_t vaddl_u16(uint16x4_t __a, uint16x4_t __b) {
4004 return vmovl_u16(__a) + vmovl_u16(__b); }
4005 __ai uint64x2_t vaddl_u32(uint32x2_t __a, uint32x2_t __b) {
4006 return vmovl_u32(__a) + vmovl_u32(__b); }
4007
4008 #if defined(__aarch64__)
4009 __ai int16_t vaddlv_s8(int8x8_t __a) {
4010 return (int16_t)__builtin_neon_vaddlv_s8(__a); }
4011 __ai int32_t vaddlv_s16(int16x4_t __a) {
4012 return (int32_t)__builtin_neon_vaddlv_s16(__a); }
4013 __ai int64_t vaddlv_s32(int32x2_t __a) {
4014 return (int64_t)__builtin_neon_vaddlv_s32(__a); }
4015 __ai uint16_t vaddlv_u8(uint8x8_t __a) {
4016 return (uint16_t)__builtin_neon_vaddlv_u8((int8x8_t)__a); }
4017 __ai uint32_t vaddlv_u16(uint16x4_t __a) {
4018 return (uint32_t)__builtin_neon_vaddlv_u16((int16x4_t)__a); }
4019 __ai uint64_t vaddlv_u32(uint32x2_t __a) {
4020 return (uint64_t)__builtin_neon_vaddlv_u32((int32x2_t)__a); }
4021 __ai int16_t vaddlvq_s8(int8x16_t __a) {
4022 return (int16_t)__builtin_neon_vaddlvq_s8(__a); }
4023 __ai int32_t vaddlvq_s16(int16x8_t __a) {
4024 return (int32_t)__builtin_neon_vaddlvq_s16(__a); }
4025 __ai int64_t vaddlvq_s32(int32x4_t __a) {
4026 return (int64_t)__builtin_neon_vaddlvq_s32(__a); }
4027 __ai uint16_t vaddlvq_u8(uint8x16_t __a) {
4028 return (uint16_t)__builtin_neon_vaddlvq_u8((int8x16_t)__a); }
4029 __ai uint32_t vaddlvq_u16(uint16x8_t __a) {
4030 return (uint32_t)__builtin_neon_vaddlvq_u16((int16x8_t)__a); }
4031 __ai uint64_t vaddlvq_u32(uint32x4_t __a) {
4032 return (uint64_t)__builtin_neon_vaddlvq_u32((int32x4_t)__a); }
4033
4034 __ai int16x8_t vaddl_high_s8(int8x16_t __a, int8x16_t __b) {
4035 return vmovl_high_s8(__a) + vmovl_high_s8(__b); }
4036 __ai int32x4_t vaddl_high_s16(int16x8_t __a, int16x8_t __b) {
4037 return vmovl_high_s16(__a) + vmovl_high_s16(__b); }
4038 __ai int64x2_t vaddl_high_s32(int32x4_t __a, int32x4_t __b) {
4039 return vmovl_high_s32(__a) + vmovl_high_s32(__b); }
4040 __ai uint16x8_t vaddl_high_u8(uint8x16_t __a, uint8x16_t __b) {
4041 return vmovl_high_u8(__a) + vmovl_high_u8(__b); }
4042 __ai uint32x4_t vaddl_high_u16(uint16x8_t __a, uint16x8_t __b) {
4043 return vmovl_high_u16(__a) + vmovl_high_u16(__b); }
4044 __ai uint64x2_t vaddl_high_u32(uint32x4_t __a, uint32x4_t __b) {
4045 return vmovl_high_u32(__a) + vmovl_high_u32(__b); }
4046
4047 __ai int8_t vaddv_s8(int8x8_t __a) {
4048 return (int8_t)__builtin_neon_vaddv_s8(__a); }
4049 __ai int16_t vaddv_s16(int16x4_t __a) {
4050 return (int16_t)__builtin_neon_vaddv_s16(__a); }
4051 __ai int32_t vaddv_s32(int32x2_t __a) {
4052 return (int32_t)__builtin_neon_vaddv_s32(__a); }
4053 __ai float32_t vaddv_f32(float32x2_t __a) {
4054 return (float32_t)__builtin_neon_vaddv_f32(__a); }
4055 __ai uint8_t vaddv_u8(uint8x8_t __a) {
4056 return (uint8_t)__builtin_neon_vaddv_u8((int8x8_t)__a); }
4057 __ai uint16_t vaddv_u16(uint16x4_t __a) {
4058 return (uint16_t)__builtin_neon_vaddv_u16((int16x4_t)__a); }
4059 __ai uint32_t vaddv_u32(uint32x2_t __a) {
4060 return (uint32_t)__builtin_neon_vaddv_u32((int32x2_t)__a); }
4061 __ai int8_t vaddvq_s8(int8x16_t __a) {
4062 return (int8_t)__builtin_neon_vaddvq_s8(__a); }
4063 __ai int16_t vaddvq_s16(int16x8_t __a) {
4064 return (int16_t)__builtin_neon_vaddvq_s16(__a); }
4065 __ai int32_t vaddvq_s32(int32x4_t __a) {
4066 return (int32_t)__builtin_neon_vaddvq_s32(__a); }
4067 __ai uint8_t vaddvq_u8(uint8x16_t __a) {
4068 return (uint8_t)__builtin_neon_vaddvq_u8((int8x16_t)__a); }
4069 __ai uint16_t vaddvq_u16(uint16x8_t __a) {
4070 return (uint16_t)__builtin_neon_vaddvq_u16((int16x8_t)__a); }
4071 __ai uint32_t vaddvq_u32(uint32x4_t __a) {
4072 return (uint32_t)__builtin_neon_vaddvq_u32((int32x4_t)__a); }
4073 __ai float32_t vaddvq_f32(float32x4_t __a) {
4074 return (float32_t)__builtin_neon_vaddvq_f32(__a); }
4075 __ai float64_t vaddvq_f64(float64x2_t __a) {
4076 return (float64_t)__builtin_neon_vaddvq_f64(__a); }
4077 __ai int64_t vaddvq_s64(int64x2_t __a) {
4078 return (int64_t)__builtin_neon_vaddvq_s64(__a); }
4079 __ai uint64_t vaddvq_u64(uint64x2_t __a) {
4080 return (uint64_t)__builtin_neon_vaddvq_u64((int64x2_t)__a); }
4081
4082 #endif
4083
4084 __ai int16x8_t vaddw_s8(int16x8_t __a, int8x8_t __b) {
4085 return __a + vmovl_s8(__b); }
4086 __ai int32x4_t vaddw_s16(int32x4_t __a, int16x4_t __b) {
4087 return __a + vmovl_s16(__b); }
4088 __ai int64x2_t vaddw_s32(int64x2_t __a, int32x2_t __b) {
4089 return __a + vmovl_s32(__b); }
4090 __ai uint16x8_t vaddw_u8(uint16x8_t __a, uint8x8_t __b) {
4091 return __a + vmovl_u8(__b); }
4092 __ai uint32x4_t vaddw_u16(uint32x4_t __a, uint16x4_t __b) {
4093 return __a + vmovl_u16(__b); }
4094 __ai uint64x2_t vaddw_u32(uint64x2_t __a, uint32x2_t __b) {
4095 return __a + vmovl_u32(__b); }
4096
4097 #if defined(__aarch64__)
4098 __ai int16x8_t vaddw_high_s8(int16x8_t __a, int8x16_t __b) {
4099 return __a + vmovl_high_s8(__b); }
4100 __ai int32x4_t vaddw_high_s16(int32x4_t __a, int16x8_t __b) {
4101 return __a + vmovl_high_s16(__b); }
4102 __ai int64x2_t vaddw_high_s32(int64x2_t __a, int32x4_t __b) {
4103 return __a + vmovl_high_s32(__b); }
4104 __ai uint16x8_t vaddw_high_u8(uint16x8_t __a, uint8x16_t __b) {
4105 return __a + vmovl_high_u8(__b); }
4106 __ai uint32x4_t vaddw_high_u16(uint32x4_t __a, uint16x8_t __b) {
4107 return __a + vmovl_high_u16(__b); }
4108 __ai uint64x2_t vaddw_high_u32(uint64x2_t __a, uint32x4_t __b) {
4109 return __a + vmovl_high_u32(__b); }
4110
4111 #endif
4112
4113 __ai int8x8_t vand_s8(int8x8_t __a, int8x8_t __b) {
4114 return __a & __b; }
4115 __ai int16x4_t vand_s16(int16x4_t __a, int16x4_t __b) {
4116 return __a & __b; }
4117 __ai int32x2_t vand_s32(int32x2_t __a, int32x2_t __b) {
4118 return __a & __b; }
4119 __ai int64x1_t vand_s64(int64x1_t __a, int64x1_t __b) {
4120 return __a & __b; }
4121 __ai uint8x8_t vand_u8(uint8x8_t __a, uint8x8_t __b) {
4122 return __a & __b; }
4123 __ai uint16x4_t vand_u16(uint16x4_t __a, uint16x4_t __b) {
4124 return __a & __b; }
4125 __ai uint32x2_t vand_u32(uint32x2_t __a, uint32x2_t __b) {
4126 return __a & __b; }
4127 __ai uint64x1_t vand_u64(uint64x1_t __a, uint64x1_t __b) {
4128 return __a & __b; }
4129 __ai int8x16_t vandq_s8(int8x16_t __a, int8x16_t __b) {
4130 return __a & __b; }
4131 __ai int16x8_t vandq_s16(int16x8_t __a, int16x8_t __b) {
4132 return __a & __b; }
4133 __ai int32x4_t vandq_s32(int32x4_t __a, int32x4_t __b) {
4134 return __a & __b; }
4135 __ai int64x2_t vandq_s64(int64x2_t __a, int64x2_t __b) {
4136 return __a & __b; }
4137 __ai uint8x16_t vandq_u8(uint8x16_t __a, uint8x16_t __b) {
4138 return __a & __b; }
4139 __ai uint16x8_t vandq_u16(uint16x8_t __a, uint16x8_t __b) {
4140 return __a & __b; }
4141 __ai uint32x4_t vandq_u32(uint32x4_t __a, uint32x4_t __b) {
4142 return __a & __b; }
4143 __ai uint64x2_t vandq_u64(uint64x2_t __a, uint64x2_t __b) {
4144 return __a & __b; }
4145
4146 __ai int8x8_t vbic_s8(int8x8_t __a, int8x8_t __b) {
4147 return __a & ~__b; }
4148 __ai int16x4_t vbic_s16(int16x4_t __a, int16x4_t __b) {
4149 return __a & ~__b; }
4150 __ai int32x2_t vbic_s32(int32x2_t __a, int32x2_t __b) {
4151 return __a & ~__b; }
4152 __ai int64x1_t vbic_s64(int64x1_t __a, int64x1_t __b) {
4153 return __a & ~__b; }
4154 __ai uint8x8_t vbic_u8(uint8x8_t __a, uint8x8_t __b) {
4155 return __a & ~__b; }
4156 __ai uint16x4_t vbic_u16(uint16x4_t __a, uint16x4_t __b) {
4157 return __a & ~__b; }
4158 __ai uint32x2_t vbic_u32(uint32x2_t __a, uint32x2_t __b) {
4159 return __a & ~__b; }
4160 __ai uint64x1_t vbic_u64(uint64x1_t __a, uint64x1_t __b) {
4161 return __a & ~__b; }
4162 __ai int8x16_t vbicq_s8(int8x16_t __a, int8x16_t __b) {
4163 return __a & ~__b; }
4164 __ai int16x8_t vbicq_s16(int16x8_t __a, int16x8_t __b) {
4165 return __a & ~__b; }
4166 __ai int32x4_t vbicq_s32(int32x4_t __a, int32x4_t __b) {
4167 return __a & ~__b; }
4168 __ai int64x2_t vbicq_s64(int64x2_t __a, int64x2_t __b) {
4169 return __a & ~__b; }
4170 __ai uint8x16_t vbicq_u8(uint8x16_t __a, uint8x16_t __b) {
4171 return __a & ~__b; }
4172 __ai uint16x8_t vbicq_u16(uint16x8_t __a, uint16x8_t __b) {
4173 return __a & ~__b; }
4174 __ai uint32x4_t vbicq_u32(uint32x4_t __a, uint32x4_t __b) {
4175 return __a & ~__b; }
4176 __ai uint64x2_t vbicq_u64(uint64x2_t __a, uint64x2_t __b) {
4177 return __a & ~__b; }
4178
4179 __ai int8x8_t vbsl_s8(uint8x8_t __a, int8x8_t __b, int8x8_t __c) {
4180 return (int8x8_t)__builtin_neon_vbsl_v((int8x8_t)__a, __b, __c, 0); }
4181 __ai int16x4_t vbsl_s16(uint16x4_t __a, int16x4_t __b, int16x4_t __c) {
4182 return (int16x4_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_ t)__c, 1); }
4183 __ai int32x2_t vbsl_s32(uint32x2_t __a, int32x2_t __b, int32x2_t __c) {
4184 return (int32x2_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_ t)__c, 2); }
4185 __ai int64x1_t vbsl_s64(uint64x1_t __a, int64x1_t __b, int64x1_t __c) {
4186 return (int64x1_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_ t)__c, 3); }
4187 __ai uint8x8_t vbsl_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) {
4188 return (uint8x8_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_ t)__c, 16); }
4189 __ai uint16x4_t vbsl_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) {
4190 return (uint16x4_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8 _t)__c, 17); }
4191 __ai uint32x2_t vbsl_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) {
4192 return (uint32x2_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8 _t)__c, 18); }
4193 __ai uint64x1_t vbsl_u64(uint64x1_t __a, uint64x1_t __b, uint64x1_t __c) {
4194 return (uint64x1_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8 _t)__c, 19); }
4195 __ai float32x2_t vbsl_f32(uint32x2_t __a, float32x2_t __b, float32x2_t __c) {
4196 return (float32x2_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x 8_t)__c, 9); }
4197 __ai poly8x8_t vbsl_p8(uint8x8_t __a, poly8x8_t __b, poly8x8_t __c) {
4198 return (poly8x8_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_ t)__c, 4); }
4199 __ai poly16x4_t vbsl_p16(uint16x4_t __a, poly16x4_t __b, poly16x4_t __c) {
4200 return (poly16x4_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8 _t)__c, 5); }
4201 __ai int8x16_t vbslq_s8(uint8x16_t __a, int8x16_t __b, int8x16_t __c) {
4202 return (int8x16_t)__builtin_neon_vbslq_v((int8x16_t)__a, __b, __c, 32); }
4203 __ai int16x8_t vbslq_s16(uint16x8_t __a, int16x8_t __b, int16x8_t __c) {
4204 return (int16x8_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8 x16_t)__c, 33); }
4205 __ai int32x4_t vbslq_s32(uint32x4_t __a, int32x4_t __b, int32x4_t __c) {
4206 return (int32x4_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8 x16_t)__c, 34); }
4207 __ai int64x2_t vbslq_s64(uint64x2_t __a, int64x2_t __b, int64x2_t __c) {
4208 return (int64x2_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8 x16_t)__c, 35); }
4209 __ai uint8x16_t vbslq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) {
4210 return (uint8x16_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int 8x16_t)__c, 48); }
4211 __ai uint16x8_t vbslq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) {
4212 return (uint16x8_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int 8x16_t)__c, 49); }
4213 __ai uint32x4_t vbslq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) {
4214 return (uint32x4_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int 8x16_t)__c, 50); }
4215 __ai uint64x2_t vbslq_u64(uint64x2_t __a, uint64x2_t __b, uint64x2_t __c) {
4216 return (uint64x2_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int 8x16_t)__c, 51); }
4217 __ai float32x4_t vbslq_f32(uint32x4_t __a, float32x4_t __b, float32x4_t __c) {
4218 return (float32x4_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (in t8x16_t)__c, 41); }
4219 __ai poly8x16_t vbslq_p8(uint8x16_t __a, poly8x16_t __b, poly8x16_t __c) {
4220 return (poly8x16_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int 8x16_t)__c, 36); }
4221 __ai poly16x8_t vbslq_p16(uint16x8_t __a, poly16x8_t __b, poly16x8_t __c) {
4222 return (poly16x8_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int 8x16_t)__c, 37); }
4223
4224 __ai uint32x2_t vcage_f32(float32x2_t __a, float32x2_t __b) {
4225 return (uint32x2_t)__builtin_neon_vcage_v((int8x8_t)__a, (int8x8_t)__b, 18); }
4226 __ai uint32x4_t vcageq_f32(float32x4_t __a, float32x4_t __b) {
4227 return (uint32x4_t)__builtin_neon_vcageq_v((int8x16_t)__a, (int8x16_t)__b, 50) ; }
4228
4229 __ai uint32x2_t vcagt_f32(float32x2_t __a, float32x2_t __b) {
4230 return (uint32x2_t)__builtin_neon_vcagt_v((int8x8_t)__a, (int8x8_t)__b, 18); }
4231 __ai uint32x4_t vcagtq_f32(float32x4_t __a, float32x4_t __b) {
4232 return (uint32x4_t)__builtin_neon_vcagtq_v((int8x16_t)__a, (int8x16_t)__b, 50) ; }
4233
4234 __ai uint32x2_t vcale_f32(float32x2_t __a, float32x2_t __b) {
4235 return (uint32x2_t)__builtin_neon_vcale_v((int8x8_t)__a, (int8x8_t)__b, 18); }
4236 __ai uint32x4_t vcaleq_f32(float32x4_t __a, float32x4_t __b) {
4237 return (uint32x4_t)__builtin_neon_vcaleq_v((int8x16_t)__a, (int8x16_t)__b, 50) ; }
4238
4239 __ai uint32x2_t vcalt_f32(float32x2_t __a, float32x2_t __b) {
4240 return (uint32x2_t)__builtin_neon_vcalt_v((int8x8_t)__a, (int8x8_t)__b, 18); }
4241 __ai uint32x4_t vcaltq_f32(float32x4_t __a, float32x4_t __b) {
4242 return (uint32x4_t)__builtin_neon_vcaltq_v((int8x16_t)__a, (int8x16_t)__b, 50) ; }
4243
4244 __ai uint8x8_t vceq_s8(int8x8_t __a, int8x8_t __b) {
4245 return (uint8x8_t)(__a == __b); }
4246 __ai uint16x4_t vceq_s16(int16x4_t __a, int16x4_t __b) {
4247 return (uint16x4_t)(__a == __b); }
4248 __ai uint32x2_t vceq_s32(int32x2_t __a, int32x2_t __b) {
4249 return (uint32x2_t)(__a == __b); }
4250 __ai uint32x2_t vceq_f32(float32x2_t __a, float32x2_t __b) {
4251 return (uint32x2_t)(__a == __b); }
4252 __ai uint8x8_t vceq_u8(uint8x8_t __a, uint8x8_t __b) {
4253 return (uint8x8_t)(__a == __b); }
4254 __ai uint16x4_t vceq_u16(uint16x4_t __a, uint16x4_t __b) {
4255 return (uint16x4_t)(__a == __b); }
4256 __ai uint32x2_t vceq_u32(uint32x2_t __a, uint32x2_t __b) {
4257 return (uint32x2_t)(__a == __b); }
4258 __ai uint8x8_t vceq_p8(poly8x8_t __a, poly8x8_t __b) {
4259 return (uint8x8_t)(__a == __b); }
4260 __ai uint8x16_t vceqq_s8(int8x16_t __a, int8x16_t __b) {
4261 return (uint8x16_t)(__a == __b); }
4262 __ai uint16x8_t vceqq_s16(int16x8_t __a, int16x8_t __b) {
4263 return (uint16x8_t)(__a == __b); }
4264 __ai uint32x4_t vceqq_s32(int32x4_t __a, int32x4_t __b) {
4265 return (uint32x4_t)(__a == __b); }
4266 __ai uint32x4_t vceqq_f32(float32x4_t __a, float32x4_t __b) {
4267 return (uint32x4_t)(__a == __b); }
4268 __ai uint8x16_t vceqq_u8(uint8x16_t __a, uint8x16_t __b) {
4269 return (uint8x16_t)(__a == __b); }
4270 __ai uint16x8_t vceqq_u16(uint16x8_t __a, uint16x8_t __b) {
4271 return (uint16x8_t)(__a == __b); }
4272 __ai uint32x4_t vceqq_u32(uint32x4_t __a, uint32x4_t __b) {
4273 return (uint32x4_t)(__a == __b); }
4274 __ai uint8x16_t vceqq_p8(poly8x16_t __a, poly8x16_t __b) {
4275 return (uint8x16_t)(__a == __b); }
4276
4277 __ai uint8x8_t vcge_s8(int8x8_t __a, int8x8_t __b) {
4278 return (uint8x8_t)(__a >= __b); }
4279 __ai uint16x4_t vcge_s16(int16x4_t __a, int16x4_t __b) {
4280 return (uint16x4_t)(__a >= __b); }
4281 __ai uint32x2_t vcge_s32(int32x2_t __a, int32x2_t __b) {
4282 return (uint32x2_t)(__a >= __b); }
4283 __ai uint32x2_t vcge_f32(float32x2_t __a, float32x2_t __b) {
4284 return (uint32x2_t)(__a >= __b); }
4285 __ai uint8x8_t vcge_u8(uint8x8_t __a, uint8x8_t __b) {
4286 return (uint8x8_t)(__a >= __b); }
4287 __ai uint16x4_t vcge_u16(uint16x4_t __a, uint16x4_t __b) {
4288 return (uint16x4_t)(__a >= __b); }
4289 __ai uint32x2_t vcge_u32(uint32x2_t __a, uint32x2_t __b) {
4290 return (uint32x2_t)(__a >= __b); }
4291 __ai uint8x16_t vcgeq_s8(int8x16_t __a, int8x16_t __b) {
4292 return (uint8x16_t)(__a >= __b); }
4293 __ai uint16x8_t vcgeq_s16(int16x8_t __a, int16x8_t __b) {
4294 return (uint16x8_t)(__a >= __b); }
4295 __ai uint32x4_t vcgeq_s32(int32x4_t __a, int32x4_t __b) {
4296 return (uint32x4_t)(__a >= __b); }
4297 __ai uint32x4_t vcgeq_f32(float32x4_t __a, float32x4_t __b) {
4298 return (uint32x4_t)(__a >= __b); }
4299 __ai uint8x16_t vcgeq_u8(uint8x16_t __a, uint8x16_t __b) {
4300 return (uint8x16_t)(__a >= __b); }
4301 __ai uint16x8_t vcgeq_u16(uint16x8_t __a, uint16x8_t __b) {
4302 return (uint16x8_t)(__a >= __b); }
4303 __ai uint32x4_t vcgeq_u32(uint32x4_t __a, uint32x4_t __b) {
4304 return (uint32x4_t)(__a >= __b); }
4305
4306 __ai uint8x8_t vcgt_s8(int8x8_t __a, int8x8_t __b) {
4307 return (uint8x8_t)(__a > __b); }
4308 __ai uint16x4_t vcgt_s16(int16x4_t __a, int16x4_t __b) {
4309 return (uint16x4_t)(__a > __b); }
4310 __ai uint32x2_t vcgt_s32(int32x2_t __a, int32x2_t __b) {
4311 return (uint32x2_t)(__a > __b); }
4312 __ai uint32x2_t vcgt_f32(float32x2_t __a, float32x2_t __b) {
4313 return (uint32x2_t)(__a > __b); }
4314 __ai uint8x8_t vcgt_u8(uint8x8_t __a, uint8x8_t __b) {
4315 return (uint8x8_t)(__a > __b); }
4316 __ai uint16x4_t vcgt_u16(uint16x4_t __a, uint16x4_t __b) {
4317 return (uint16x4_t)(__a > __b); }
4318 __ai uint32x2_t vcgt_u32(uint32x2_t __a, uint32x2_t __b) {
4319 return (uint32x2_t)(__a > __b); }
4320 __ai uint8x16_t vcgtq_s8(int8x16_t __a, int8x16_t __b) {
4321 return (uint8x16_t)(__a > __b); }
4322 __ai uint16x8_t vcgtq_s16(int16x8_t __a, int16x8_t __b) {
4323 return (uint16x8_t)(__a > __b); }
4324 __ai uint32x4_t vcgtq_s32(int32x4_t __a, int32x4_t __b) {
4325 return (uint32x4_t)(__a > __b); }
4326 __ai uint32x4_t vcgtq_f32(float32x4_t __a, float32x4_t __b) {
4327 return (uint32x4_t)(__a > __b); }
4328 __ai uint8x16_t vcgtq_u8(uint8x16_t __a, uint8x16_t __b) {
4329 return (uint8x16_t)(__a > __b); }
4330 __ai uint16x8_t vcgtq_u16(uint16x8_t __a, uint16x8_t __b) {
4331 return (uint16x8_t)(__a > __b); }
4332 __ai uint32x4_t vcgtq_u32(uint32x4_t __a, uint32x4_t __b) {
4333 return (uint32x4_t)(__a > __b); }
4334
4335 __ai uint8x8_t vcle_s8(int8x8_t __a, int8x8_t __b) {
4336 return (uint8x8_t)(__a <= __b); }
4337 __ai uint16x4_t vcle_s16(int16x4_t __a, int16x4_t __b) {
4338 return (uint16x4_t)(__a <= __b); }
4339 __ai uint32x2_t vcle_s32(int32x2_t __a, int32x2_t __b) {
4340 return (uint32x2_t)(__a <= __b); }
4341 __ai uint32x2_t vcle_f32(float32x2_t __a, float32x2_t __b) {
4342 return (uint32x2_t)(__a <= __b); }
4343 __ai uint8x8_t vcle_u8(uint8x8_t __a, uint8x8_t __b) {
4344 return (uint8x8_t)(__a <= __b); }
4345 __ai uint16x4_t vcle_u16(uint16x4_t __a, uint16x4_t __b) {
4346 return (uint16x4_t)(__a <= __b); }
4347 __ai uint32x2_t vcle_u32(uint32x2_t __a, uint32x2_t __b) {
4348 return (uint32x2_t)(__a <= __b); }
4349 __ai uint8x16_t vcleq_s8(int8x16_t __a, int8x16_t __b) {
4350 return (uint8x16_t)(__a <= __b); }
4351 __ai uint16x8_t vcleq_s16(int16x8_t __a, int16x8_t __b) {
4352 return (uint16x8_t)(__a <= __b); }
4353 __ai uint32x4_t vcleq_s32(int32x4_t __a, int32x4_t __b) {
4354 return (uint32x4_t)(__a <= __b); }
4355 __ai uint32x4_t vcleq_f32(float32x4_t __a, float32x4_t __b) {
4356 return (uint32x4_t)(__a <= __b); }
4357 __ai uint8x16_t vcleq_u8(uint8x16_t __a, uint8x16_t __b) {
4358 return (uint8x16_t)(__a <= __b); }
4359 __ai uint16x8_t vcleq_u16(uint16x8_t __a, uint16x8_t __b) {
4360 return (uint16x8_t)(__a <= __b); }
4361 __ai uint32x4_t vcleq_u32(uint32x4_t __a, uint32x4_t __b) {
4362 return (uint32x4_t)(__a <= __b); }
4363
4364 __ai int8x8_t vcls_s8(int8x8_t __a) {
4365 return (int8x8_t)__builtin_neon_vcls_v(__a, 0); }
4366 __ai int16x4_t vcls_s16(int16x4_t __a) {
4367 return (int16x4_t)__builtin_neon_vcls_v((int8x8_t)__a, 1); }
4368 __ai int32x2_t vcls_s32(int32x2_t __a) {
4369 return (int32x2_t)__builtin_neon_vcls_v((int8x8_t)__a, 2); }
4370 __ai int8x16_t vclsq_s8(int8x16_t __a) {
4371 return (int8x16_t)__builtin_neon_vclsq_v(__a, 32); }
4372 __ai int16x8_t vclsq_s16(int16x8_t __a) {
4373 return (int16x8_t)__builtin_neon_vclsq_v((int8x16_t)__a, 33); }
4374 __ai int32x4_t vclsq_s32(int32x4_t __a) {
4375 return (int32x4_t)__builtin_neon_vclsq_v((int8x16_t)__a, 34); }
4376
4377 __ai uint8x8_t vclt_s8(int8x8_t __a, int8x8_t __b) {
4378 return (uint8x8_t)(__a < __b); }
4379 __ai uint16x4_t vclt_s16(int16x4_t __a, int16x4_t __b) {
4380 return (uint16x4_t)(__a < __b); }
4381 __ai uint32x2_t vclt_s32(int32x2_t __a, int32x2_t __b) {
4382 return (uint32x2_t)(__a < __b); }
4383 __ai uint32x2_t vclt_f32(float32x2_t __a, float32x2_t __b) {
4384 return (uint32x2_t)(__a < __b); }
4385 __ai uint8x8_t vclt_u8(uint8x8_t __a, uint8x8_t __b) {
4386 return (uint8x8_t)(__a < __b); }
4387 __ai uint16x4_t vclt_u16(uint16x4_t __a, uint16x4_t __b) {
4388 return (uint16x4_t)(__a < __b); }
4389 __ai uint32x2_t vclt_u32(uint32x2_t __a, uint32x2_t __b) {
4390 return (uint32x2_t)(__a < __b); }
4391 __ai uint8x16_t vcltq_s8(int8x16_t __a, int8x16_t __b) {
4392 return (uint8x16_t)(__a < __b); }
4393 __ai uint16x8_t vcltq_s16(int16x8_t __a, int16x8_t __b) {
4394 return (uint16x8_t)(__a < __b); }
4395 __ai uint32x4_t vcltq_s32(int32x4_t __a, int32x4_t __b) {
4396 return (uint32x4_t)(__a < __b); }
4397 __ai uint32x4_t vcltq_f32(float32x4_t __a, float32x4_t __b) {
4398 return (uint32x4_t)(__a < __b); }
4399 __ai uint8x16_t vcltq_u8(uint8x16_t __a, uint8x16_t __b) {
4400 return (uint8x16_t)(__a < __b); }
4401 __ai uint16x8_t vcltq_u16(uint16x8_t __a, uint16x8_t __b) {
4402 return (uint16x8_t)(__a < __b); }
4403 __ai uint32x4_t vcltq_u32(uint32x4_t __a, uint32x4_t __b) {
4404 return (uint32x4_t)(__a < __b); }
4405
4406 __ai int8x8_t vclz_s8(int8x8_t __a) {
4407 return (int8x8_t)__builtin_neon_vclz_v(__a, 0); }
4408 __ai int16x4_t vclz_s16(int16x4_t __a) {
4409 return (int16x4_t)__builtin_neon_vclz_v((int8x8_t)__a, 1); }
4410 __ai int32x2_t vclz_s32(int32x2_t __a) {
4411 return (int32x2_t)__builtin_neon_vclz_v((int8x8_t)__a, 2); }
4412 __ai uint8x8_t vclz_u8(uint8x8_t __a) {
4413 return (uint8x8_t)__builtin_neon_vclz_v((int8x8_t)__a, 16); }
4414 __ai uint16x4_t vclz_u16(uint16x4_t __a) {
4415 return (uint16x4_t)__builtin_neon_vclz_v((int8x8_t)__a, 17); }
4416 __ai uint32x2_t vclz_u32(uint32x2_t __a) {
4417 return (uint32x2_t)__builtin_neon_vclz_v((int8x8_t)__a, 18); }
4418 __ai int8x16_t vclzq_s8(int8x16_t __a) {
4419 return (int8x16_t)__builtin_neon_vclzq_v(__a, 32); }
4420 __ai int16x8_t vclzq_s16(int16x8_t __a) {
4421 return (int16x8_t)__builtin_neon_vclzq_v((int8x16_t)__a, 33); }
4422 __ai int32x4_t vclzq_s32(int32x4_t __a) {
4423 return (int32x4_t)__builtin_neon_vclzq_v((int8x16_t)__a, 34); }
4424 __ai uint8x16_t vclzq_u8(uint8x16_t __a) {
4425 return (uint8x16_t)__builtin_neon_vclzq_v((int8x16_t)__a, 48); }
4426 __ai uint16x8_t vclzq_u16(uint16x8_t __a) {
4427 return (uint16x8_t)__builtin_neon_vclzq_v((int8x16_t)__a, 49); }
4428 __ai uint32x4_t vclzq_u32(uint32x4_t __a) {
4429 return (uint32x4_t)__builtin_neon_vclzq_v((int8x16_t)__a, 50); }
4430
4431 __ai uint8x8_t vcnt_u8(uint8x8_t __a) {
4432 return (uint8x8_t)__builtin_neon_vcnt_v((int8x8_t)__a, 16); }
4433 __ai int8x8_t vcnt_s8(int8x8_t __a) {
4434 return (int8x8_t)__builtin_neon_vcnt_v(__a, 0); }
4435 __ai poly8x8_t vcnt_p8(poly8x8_t __a) {
4436 return (poly8x8_t)__builtin_neon_vcnt_v((int8x8_t)__a, 4); }
4437 __ai uint8x16_t vcntq_u8(uint8x16_t __a) {
4438 return (uint8x16_t)__builtin_neon_vcntq_v((int8x16_t)__a, 48); }
4439 __ai int8x16_t vcntq_s8(int8x16_t __a) {
4440 return (int8x16_t)__builtin_neon_vcntq_v(__a, 32); }
4441 __ai poly8x16_t vcntq_p8(poly8x16_t __a) {
4442 return (poly8x16_t)__builtin_neon_vcntq_v((int8x16_t)__a, 36); }
4443
4444 __ai int8x8_t vcreate_s8(uint64_t __a) {
4445 return (int8x8_t)__a; }
4446 __ai int16x4_t vcreate_s16(uint64_t __a) {
4447 return (int16x4_t)__a; }
4448 __ai int32x2_t vcreate_s32(uint64_t __a) {
4449 return (int32x2_t)__a; }
4450 __ai float16x4_t vcreate_f16(uint64_t __a) {
4451 return (float16x4_t)__a; }
4452 __ai float32x2_t vcreate_f32(uint64_t __a) {
4453 return (float32x2_t)__a; }
4454 __ai uint8x8_t vcreate_u8(uint64_t __a) {
4455 return (uint8x8_t)__a; }
4456 __ai uint16x4_t vcreate_u16(uint64_t __a) {
4457 return (uint16x4_t)__a; }
4458 __ai uint32x2_t vcreate_u32(uint64_t __a) {
4459 return (uint32x2_t)__a; }
4460 __ai uint64x1_t vcreate_u64(uint64_t __a) {
4461 return (uint64x1_t)__a; }
4462 __ai poly8x8_t vcreate_p8(uint64_t __a) {
4463 return (poly8x8_t)__a; }
4464 __ai poly16x4_t vcreate_p16(uint64_t __a) {
4465 return (poly16x4_t)__a; }
4466 __ai int64x1_t vcreate_s64(uint64_t __a) {
4467 return (int64x1_t)__a; }
4468
4469 #if defined(__aarch64__)
4470 __ai float32x2_t vcvtx_f32_f64(float64x2_t __a) {
4471 return (float32x2_t)__builtin_neon_vcvtx_f32_v((int8x16_t)__a, 42); }
4472
4473 __ai float32x4_t vcvtx_high_f32_f64(float32x2_t __a, float64x2_t __b) {
4474 float32x2_t __a1 = vcvtx_f32_f64(__b);
4475 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); }
4476
4477 #endif
4478
4479 __ai float16x4_t vcvt_f16_f32(float32x4_t __a) {
4480 return (float16x4_t)__builtin_neon_vcvt_f16_v((int8x16_t)__a, 8); }
4481
4482 __ai float32x2_t vcvt_f32_s32(int32x2_t __a) {
4483 return (float32x2_t)__builtin_neon_vcvt_f32_v((int8x8_t)__a, 2); }
4484 __ai float32x2_t vcvt_f32_u32(uint32x2_t __a) {
4485 return (float32x2_t)__builtin_neon_vcvt_f32_v((int8x8_t)__a, 18); }
4486 __ai float32x4_t vcvtq_f32_s32(int32x4_t __a) {
4487 return (float32x4_t)__builtin_neon_vcvtq_f32_v((int8x16_t)__a, 34); }
4488 __ai float32x4_t vcvtq_f32_u32(uint32x4_t __a) {
4489 return (float32x4_t)__builtin_neon_vcvtq_f32_v((int8x16_t)__a, 50); }
4490
4491 __ai float32x4_t vcvt_f32_f16(float16x4_t __a) {
4492 return (float32x4_t)__builtin_neon_vcvt_f32_f16((int8x8_t)__a, 8); }
4493
4494 #if defined(__aarch64__)
4495 __ai float32x2_t vcvt_f32_f64(float64x2_t __a) {
4496 return (float32x2_t)__builtin_neon_vcvt_f32_f64((int8x16_t)__a, 9); }
4497
4498 __ai float64x1_t vcvt_f64_s64(int64x1_t __a) {
4499 return (float64x1_t)__builtin_neon_vcvt_f64_v((int8x8_t)__a, 3); }
4500 __ai float64x1_t vcvt_f64_u64(uint64x1_t __a) {
4501 return (float64x1_t)__builtin_neon_vcvt_f64_v((int8x8_t)__a, 19); }
4502 __ai float64x2_t vcvtq_f64_s64(int64x2_t __a) {
4503 return (float64x2_t)__builtin_neon_vcvtq_f64_v((int8x16_t)__a, 35); }
4504 __ai float64x2_t vcvtq_f64_u64(uint64x2_t __a) {
4505 return (float64x2_t)__builtin_neon_vcvtq_f64_v((int8x16_t)__a, 51); }
4506
4507 __ai float64x2_t vcvt_f64_f32(float32x2_t __a) {
4508 return (float64x2_t)__builtin_neon_vcvt_f64_f32((int8x8_t)__a, 42); }
4509
4510 __ai float16x8_t vcvt_high_f16_f32(float16x4_t __a, float32x4_t __b) {
4511 float16x4_t __a1 = vcvt_f16_f32(__b);
4512 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7); }
4513
4514 __ai float32x4_t vcvt_high_f32_f16(float16x8_t __a) {
4515 float16x4_t __a1 = vget_high_f16(__a);
4516 return vcvt_f32_f16(__a1); }
4517
4518 __ai float32x4_t vcvt_high_f32_f64(float32x2_t __a, float64x2_t __b) {
4519 float32x2_t __a1 = vcvt_f32_f64(__b);
4520 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); }
4521
4522 __ai float64x2_t vcvt_high_f64_f32(float32x4_t __a) {
4523 float32x2_t __a1 = vget_high_f32(__a);
4524 return vcvt_f64_f32(__a1); }
4525
4526 #endif
4527
4528 #define vcvt_n_f32_s32(a, __b) __extension__ ({ \
4529 int32x2_t __a = (a); \
4530 (float32x2_t)__builtin_neon_vcvt_n_f32_v((int8x8_t)__a, __b, 2); })
4531 #define vcvt_n_f32_u32(a, __b) __extension__ ({ \
4532 uint32x2_t __a = (a); \
4533 (float32x2_t)__builtin_neon_vcvt_n_f32_v((int8x8_t)__a, __b, 18); })
4534 #define vcvtq_n_f32_s32(a, __b) __extension__ ({ \
4535 int32x4_t __a = (a); \
4536 (float32x4_t)__builtin_neon_vcvtq_n_f32_v((int8x16_t)__a, __b, 34); })
4537 #define vcvtq_n_f32_u32(a, __b) __extension__ ({ \
4538 uint32x4_t __a = (a); \
4539 (float32x4_t)__builtin_neon_vcvtq_n_f32_v((int8x16_t)__a, __b, 50); })
4540
4541 #define vcvt_n_s32_f32(a, __b) __extension__ ({ \
4542 float32x2_t __a = (a); \
4543 (int32x2_t)__builtin_neon_vcvt_n_s32_v((int8x8_t)__a, __b, 2); })
4544 #define vcvtq_n_s32_f32(a, __b) __extension__ ({ \
4545 float32x4_t __a = (a); \
4546 (int32x4_t)__builtin_neon_vcvtq_n_s32_v((int8x16_t)__a, __b, 34); })
4547
4548 #define vcvt_n_u32_f32(a, __b) __extension__ ({ \
4549 float32x2_t __a = (a); \
4550 (uint32x2_t)__builtin_neon_vcvt_n_u32_v((int8x8_t)__a, __b, 18); })
4551 #define vcvtq_n_u32_f32(a, __b) __extension__ ({ \
4552 float32x4_t __a = (a); \
4553 (uint32x4_t)__builtin_neon_vcvtq_n_u32_v((int8x16_t)__a, __b, 50); })
4554
4555 __ai int32x2_t vcvt_s32_f32(float32x2_t __a) {
4556 return (int32x2_t)__builtin_neon_vcvt_s32_v((int8x8_t)__a, 2); }
4557 __ai int32x4_t vcvtq_s32_f32(float32x4_t __a) {
4558 return (int32x4_t)__builtin_neon_vcvtq_s32_v((int8x16_t)__a, 34); }
4559
4560 #if defined(__aarch64__)
4561 __ai int64x1_t vcvt_s64_f64(float64x1_t __a) {
4562 return (int64x1_t)__builtin_neon_vcvt_s64_v((int8x8_t)__a, 3); }
4563 __ai int64x2_t vcvtq_s64_f64(float64x2_t __a) {
4564 return (int64x2_t)__builtin_neon_vcvtq_s64_v((int8x16_t)__a, 35); }
4565
4566 #endif
4567
4568 __ai uint32x2_t vcvt_u32_f32(float32x2_t __a) {
4569 return (uint32x2_t)__builtin_neon_vcvt_u32_v((int8x8_t)__a, 18); }
4570 __ai uint32x4_t vcvtq_u32_f32(float32x4_t __a) {
4571 return (uint32x4_t)__builtin_neon_vcvtq_u32_v((int8x16_t)__a, 50); }
4572
4573 #if defined(__aarch64__)
4574 __ai uint64x1_t vcvt_u64_f64(float64x1_t __a) {
4575 return (uint64x1_t)__builtin_neon_vcvt_u64_v((int8x8_t)__a, 19); }
4576 __ai uint64x2_t vcvtq_u64_f64(float64x2_t __a) {
4577 return (uint64x2_t)__builtin_neon_vcvtq_u64_v((int8x16_t)__a, 51); }
4578
4579 #endif
4580
4581 #define vdup_lane_u8(a, __b) __extension__ ({ \
4582 uint8x8_t __a = (a); \
4583 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4584 #define vdup_lane_u16(a, __b) __extension__ ({ \
4585 uint16x4_t __a = (a); \
4586 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4587 #define vdup_lane_u32(a, __b) __extension__ ({ \
4588 uint32x2_t __a = (a); \
4589 __builtin_shufflevector(__a, __a, __b, __b); })
4590 #define vdup_lane_s8(a, __b) __extension__ ({ \
4591 int8x8_t __a = (a); \
4592 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4593 #define vdup_lane_s16(a, __b) __extension__ ({ \
4594 int16x4_t __a = (a); \
4595 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4596 #define vdup_lane_s32(a, __b) __extension__ ({ \
4597 int32x2_t __a = (a); \
4598 __builtin_shufflevector(__a, __a, __b, __b); })
4599 #define vdup_lane_p8(a, __b) __extension__ ({ \
4600 poly8x8_t __a = (a); \
4601 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4602 #define vdup_lane_p16(a, __b) __extension__ ({ \
4603 poly16x4_t __a = (a); \
4604 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4605 #define vdup_lane_f32(a, __b) __extension__ ({ \
4606 float32x2_t __a = (a); \
4607 __builtin_shufflevector(__a, __a, __b, __b); })
4608 #define vdupq_lane_u8(a, __b) __extension__ ({ \
4609 uint8x8_t __a = (a); \
4610 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b); })
4611 #define vdupq_lane_u16(a, __b) __extension__ ({ \
4612 uint16x4_t __a = (a); \
4613 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4614 #define vdupq_lane_u32(a, __b) __extension__ ({ \
4615 uint32x2_t __a = (a); \
4616 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4617 #define vdupq_lane_s8(a, __b) __extension__ ({ \
4618 int8x8_t __a = (a); \
4619 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b); })
4620 #define vdupq_lane_s16(a, __b) __extension__ ({ \
4621 int16x4_t __a = (a); \
4622 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4623 #define vdupq_lane_s32(a, __b) __extension__ ({ \
4624 int32x2_t __a = (a); \
4625 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4626 #define vdupq_lane_p8(a, __b) __extension__ ({ \
4627 poly8x8_t __a = (a); \
4628 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b); })
4629 #define vdupq_lane_p16(a, __b) __extension__ ({ \
4630 poly16x4_t __a = (a); \
4631 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4632 #define vdupq_lane_f32(a, __b) __extension__ ({ \
4633 float32x2_t __a = (a); \
4634 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4635 #define vdup_lane_s64(a, __b) __extension__ ({ \
4636 int64x1_t __a = (a); \
4637 __builtin_shufflevector(__a, __a, __b); })
4638 #define vdup_lane_u64(a, __b) __extension__ ({ \
4639 uint64x1_t __a = (a); \
4640 __builtin_shufflevector(__a, __a, __b); })
4641 #define vdupq_lane_s64(a, __b) __extension__ ({ \
4642 int64x1_t __a = (a); \
4643 __builtin_shufflevector(__a, __a, __b, __b); })
4644 #define vdupq_lane_u64(a, __b) __extension__ ({ \
4645 uint64x1_t __a = (a); \
4646 __builtin_shufflevector(__a, __a, __b, __b); })
4647
4648 #if defined(__aarch64__)
4649 #define vdup_lane_f16(a, __b) __extension__ ({ \
4650 float16x4_t __a = (a); \
4651 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4652 #define vdup_lane_f64(a, __b) __extension__ ({ \
4653 float64x1_t __a = (a); \
4654 __builtin_shufflevector(__a, __a, __b); })
4655 #define vdupq_lane_f16(a, __b) __extension__ ({ \
4656 float16x4_t __a = (a); \
4657 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4658 #define vdupq_lane_f64(a, __b) __extension__ ({ \
4659 float64x1_t __a = (a); \
4660 __builtin_shufflevector(__a, __a, __b, __b); })
4661 #define vdup_lane_p64(a, __b) __extension__ ({ \
4662 poly64x1_t __a = (a); \
4663 __builtin_shufflevector(__a, __a, __b); })
4664 #define vdupq_lane_p64(a, __b) __extension__ ({ \
4665 poly64x1_t __a = (a); \
4666 __builtin_shufflevector(__a, __a, __b, __b); })
4667
4668 #define vdup_laneq_s8(a, __b) __extension__ ({ \
4669 int8x16_t __a = (a); \
4670 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4671 #define vdup_laneq_s16(a, __b) __extension__ ({ \
4672 int16x8_t __a = (a); \
4673 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4674 #define vdup_laneq_s32(a, __b) __extension__ ({ \
4675 int32x4_t __a = (a); \
4676 __builtin_shufflevector(__a, __a, __b, __b); })
4677 #define vdup_laneq_s64(a, __b) __extension__ ({ \
4678 int64x2_t __a = (a); \
4679 __builtin_shufflevector(__a, __a, __b); })
4680 #define vdup_laneq_u8(a, __b) __extension__ ({ \
4681 uint8x16_t __a = (a); \
4682 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4683 #define vdup_laneq_u16(a, __b) __extension__ ({ \
4684 uint16x8_t __a = (a); \
4685 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4686 #define vdup_laneq_u32(a, __b) __extension__ ({ \
4687 uint32x4_t __a = (a); \
4688 __builtin_shufflevector(__a, __a, __b, __b); })
4689 #define vdup_laneq_u64(a, __b) __extension__ ({ \
4690 uint64x2_t __a = (a); \
4691 __builtin_shufflevector(__a, __a, __b); })
4692 #define vdup_laneq_p8(a, __b) __extension__ ({ \
4693 poly8x16_t __a = (a); \
4694 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4695 #define vdup_laneq_p16(a, __b) __extension__ ({ \
4696 poly16x8_t __a = (a); \
4697 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4698 #define vdup_laneq_f16(a, __b) __extension__ ({ \
4699 float16x8_t __a = (a); \
4700 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4701 #define vdup_laneq_f32(a, __b) __extension__ ({ \
4702 float32x4_t __a = (a); \
4703 __builtin_shufflevector(__a, __a, __b, __b); })
4704 #define vdup_laneq_f64(a, __b) __extension__ ({ \
4705 float64x2_t __a = (a); \
4706 __builtin_shufflevector(__a, __a, __b); })
4707 #define vdupq_laneq_s8(a, __b) __extension__ ({ \
4708 int8x16_t __a = (a); \
4709 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b); })
4710 #define vdupq_laneq_s16(a, __b) __extension__ ({ \
4711 int16x8_t __a = (a); \
4712 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4713 #define vdupq_laneq_s32(a, __b) __extension__ ({ \
4714 int32x4_t __a = (a); \
4715 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4716 #define vdupq_laneq_s64(a, __b) __extension__ ({ \
4717 int64x2_t __a = (a); \
4718 __builtin_shufflevector(__a, __a, __b, __b); })
4719 #define vdupq_laneq_p8(a, __b) __extension__ ({ \
4720 poly8x16_t __a = (a); \
4721 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b); })
4722 #define vdupq_laneq_p16(a, __b) __extension__ ({ \
4723 poly16x8_t __a = (a); \
4724 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4725 #define vdupq_laneq_u8(a, __b) __extension__ ({ \
4726 uint8x16_t __a = (a); \
4727 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b); })
4728 #define vdupq_laneq_u16(a, __b) __extension__ ({ \
4729 uint16x8_t __a = (a); \
4730 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4731 #define vdupq_laneq_u32(a, __b) __extension__ ({ \
4732 uint32x4_t __a = (a); \
4733 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4734 #define vdupq_laneq_u64(a, __b) __extension__ ({ \
4735 uint64x2_t __a = (a); \
4736 __builtin_shufflevector(__a, __a, __b, __b); })
4737 #define vdupq_laneq_f16(a, __b) __extension__ ({ \
4738 float16x8_t __a = (a); \
4739 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); })
4740 #define vdupq_laneq_f32(a, __b) __extension__ ({ \
4741 float32x4_t __a = (a); \
4742 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); })
4743 #define vdupq_laneq_f64(a, __b) __extension__ ({ \
4744 float64x2_t __a = (a); \
4745 __builtin_shufflevector(__a, __a, __b, __b); })
4746 #define vdup_laneq_p64(a, __b) __extension__ ({ \
4747 poly64x2_t __a = (a); \
4748 __builtin_shufflevector(__a, __a, __b); })
4749 #define vdupq_laneq_p64(a, __b) __extension__ ({ \
4750 poly64x2_t __a = (a); \
4751 __builtin_shufflevector(__a, __a, __b, __b); })
4752
4753 #endif
4754
4755 __ai uint8x8_t vdup_n_u8(uint8_t __a) {
4756 return (uint8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
4757 __ai uint16x4_t vdup_n_u16(uint16_t __a) {
4758 return (uint16x4_t){ __a, __a, __a, __a }; }
4759 __ai uint32x2_t vdup_n_u32(uint32_t __a) {
4760 return (uint32x2_t){ __a, __a }; }
4761 __ai int8x8_t vdup_n_s8(int8_t __a) {
4762 return (int8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
4763 __ai int16x4_t vdup_n_s16(int16_t __a) {
4764 return (int16x4_t){ __a, __a, __a, __a }; }
4765 __ai int32x2_t vdup_n_s32(int32_t __a) {
4766 return (int32x2_t){ __a, __a }; }
4767 __ai poly8x8_t vdup_n_p8(poly8_t __a) {
4768 return (poly8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
4769 __ai poly16x4_t vdup_n_p16(poly16_t __a) {
4770 return (poly16x4_t){ __a, __a, __a, __a }; }
4771 #define vdup_n_f16(a) __extension__ ({ \
4772 float16_t __a = (a); \
4773 (float16x4_t){ __a, __a, __a, __a }; })
4774 __ai float32x2_t vdup_n_f32(float32_t __a) {
4775 return (float32x2_t){ __a, __a }; }
4776 __ai uint8x16_t vdupq_n_u8(uint8_t __a) {
4777 return (uint8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __ a, __a, __a, __a, __a }; }
4778 __ai uint16x8_t vdupq_n_u16(uint16_t __a) {
4779 return (uint16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
4780 __ai uint32x4_t vdupq_n_u32(uint32_t __a) {
4781 return (uint32x4_t){ __a, __a, __a, __a }; }
4782 __ai int8x16_t vdupq_n_s8(int8_t __a) {
4783 return (int8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a , __a, __a, __a, __a }; }
4784 __ai int16x8_t vdupq_n_s16(int16_t __a) {
4785 return (int16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
4786 __ai int32x4_t vdupq_n_s32(int32_t __a) {
4787 return (int32x4_t){ __a, __a, __a, __a }; }
4788 __ai poly8x16_t vdupq_n_p8(poly8_t __a) {
4789 return (poly8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __ a, __a, __a, __a, __a }; }
4790 __ai poly16x8_t vdupq_n_p16(poly16_t __a) {
4791 return (poly16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
4792 #define vdupq_n_f16(a) __extension__ ({ \
4793 float16_t __a = (a); \
4794 (float16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; })
4795 __ai float32x4_t vdupq_n_f32(float32_t __a) {
4796 return (float32x4_t){ __a, __a, __a, __a }; }
4797 __ai int64x1_t vdup_n_s64(int64_t __a) {
4798 return (int64x1_t){ __a }; }
4799 __ai uint64x1_t vdup_n_u64(uint64_t __a) {
4800 return (uint64x1_t){ __a }; }
4801 __ai int64x2_t vdupq_n_s64(int64_t __a) {
4802 return (int64x2_t){ __a, __a }; }
4803 __ai uint64x2_t vdupq_n_u64(uint64_t __a) {
4804 return (uint64x2_t){ __a, __a }; }
4805
4806 __ai int8x8_t veor_s8(int8x8_t __a, int8x8_t __b) {
4807 return __a ^ __b; }
4808 __ai int16x4_t veor_s16(int16x4_t __a, int16x4_t __b) {
4809 return __a ^ __b; }
4810 __ai int32x2_t veor_s32(int32x2_t __a, int32x2_t __b) {
4811 return __a ^ __b; }
4812 __ai int64x1_t veor_s64(int64x1_t __a, int64x1_t __b) {
4813 return __a ^ __b; }
4814 __ai uint8x8_t veor_u8(uint8x8_t __a, uint8x8_t __b) {
4815 return __a ^ __b; }
4816 __ai uint16x4_t veor_u16(uint16x4_t __a, uint16x4_t __b) {
4817 return __a ^ __b; }
4818 __ai uint32x2_t veor_u32(uint32x2_t __a, uint32x2_t __b) {
4819 return __a ^ __b; }
4820 __ai uint64x1_t veor_u64(uint64x1_t __a, uint64x1_t __b) {
4821 return __a ^ __b; }
4822 __ai int8x16_t veorq_s8(int8x16_t __a, int8x16_t __b) {
4823 return __a ^ __b; }
4824 __ai int16x8_t veorq_s16(int16x8_t __a, int16x8_t __b) {
4825 return __a ^ __b; }
4826 __ai int32x4_t veorq_s32(int32x4_t __a, int32x4_t __b) {
4827 return __a ^ __b; }
4828 __ai int64x2_t veorq_s64(int64x2_t __a, int64x2_t __b) {
4829 return __a ^ __b; }
4830 __ai uint8x16_t veorq_u8(uint8x16_t __a, uint8x16_t __b) {
4831 return __a ^ __b; }
4832 __ai uint16x8_t veorq_u16(uint16x8_t __a, uint16x8_t __b) {
4833 return __a ^ __b; }
4834 __ai uint32x4_t veorq_u32(uint32x4_t __a, uint32x4_t __b) {
4835 return __a ^ __b; }
4836 __ai uint64x2_t veorq_u64(uint64x2_t __a, uint64x2_t __b) {
4837 return __a ^ __b; }
4838
4839 #define vext_s8(a, b, __c) __extension__ ({ \
4840 int8x8_t __a = (a); int8x8_t __b = (b); \
4841 (int8x8_t)__builtin_neon_vext_v(__a, __b, __c, 0); })
4842 #define vext_u8(a, b, __c) __extension__ ({ \
4843 uint8x8_t __a = (a); uint8x8_t __b = (b); \
4844 (uint8x8_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 16); })
4845 #define vext_p8(a, b, __c) __extension__ ({ \
4846 poly8x8_t __a = (a); poly8x8_t __b = (b); \
4847 (poly8x8_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 4); })
4848 #define vext_s16(a, b, __c) __extension__ ({ \
4849 int16x4_t __a = (a); int16x4_t __b = (b); \
4850 (int16x4_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); })
4851 #define vext_u16(a, b, __c) __extension__ ({ \
4852 uint16x4_t __a = (a); uint16x4_t __b = (b); \
4853 (uint16x4_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 17); })
4854 #define vext_p16(a, b, __c) __extension__ ({ \
4855 poly16x4_t __a = (a); poly16x4_t __b = (b); \
4856 (poly16x4_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 5); })
4857 #define vext_s32(a, b, __c) __extension__ ({ \
4858 int32x2_t __a = (a); int32x2_t __b = (b); \
4859 (int32x2_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); })
4860 #define vext_u32(a, b, __c) __extension__ ({ \
4861 uint32x2_t __a = (a); uint32x2_t __b = (b); \
4862 (uint32x2_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 18); })
4863 #define vext_s64(a, b, __c) __extension__ ({ \
4864 int64x1_t __a = (a); int64x1_t __b = (b); \
4865 (int64x1_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); })
4866 #define vext_u64(a, b, __c) __extension__ ({ \
4867 uint64x1_t __a = (a); uint64x1_t __b = (b); \
4868 (uint64x1_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 19); })
4869 #define vext_f32(a, b, __c) __extension__ ({ \
4870 float32x2_t __a = (a); float32x2_t __b = (b); \
4871 (float32x2_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 9); })
4872 #define vextq_s8(a, b, __c) __extension__ ({ \
4873 int8x16_t __a = (a); int8x16_t __b = (b); \
4874 (int8x16_t)__builtin_neon_vextq_v(__a, __b, __c, 32); })
4875 #define vextq_u8(a, b, __c) __extension__ ({ \
4876 uint8x16_t __a = (a); uint8x16_t __b = (b); \
4877 (uint8x16_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 48); } )
4878 #define vextq_p8(a, b, __c) __extension__ ({ \
4879 poly8x16_t __a = (a); poly8x16_t __b = (b); \
4880 (poly8x16_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 36); } )
4881 #define vextq_s16(a, b, __c) __extension__ ({ \
4882 int16x8_t __a = (a); int16x8_t __b = (b); \
4883 (int16x8_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 33); })
4884 #define vextq_u16(a, b, __c) __extension__ ({ \
4885 uint16x8_t __a = (a); uint16x8_t __b = (b); \
4886 (uint16x8_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 49); } )
4887 #define vextq_p16(a, b, __c) __extension__ ({ \
4888 poly16x8_t __a = (a); poly16x8_t __b = (b); \
4889 (poly16x8_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 37); } )
4890 #define vextq_s32(a, b, __c) __extension__ ({ \
4891 int32x4_t __a = (a); int32x4_t __b = (b); \
4892 (int32x4_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 34); })
4893 #define vextq_u32(a, b, __c) __extension__ ({ \
4894 uint32x4_t __a = (a); uint32x4_t __b = (b); \
4895 (uint32x4_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 50); } )
4896 #define vextq_s64(a, b, __c) __extension__ ({ \
4897 int64x2_t __a = (a); int64x2_t __b = (b); \
4898 (int64x2_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 35); })
4899 #define vextq_u64(a, b, __c) __extension__ ({ \
4900 uint64x2_t __a = (a); uint64x2_t __b = (b); \
4901 (uint64x2_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 51); } )
4902 #define vextq_f32(a, b, __c) __extension__ ({ \
4903 float32x4_t __a = (a); float32x4_t __b = (b); \
4904 (float32x4_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 41); })
4905
4906 #if defined(__aarch64__)
4907 #define vext_f64(a, b, __c) __extension__ ({ \
4908 float64x1_t __a = (a); float64x1_t __b = (b); \
4909 (float64x1_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 10); })
4910 #define vextq_f64(a, b, __c) __extension__ ({ \
4911 float64x2_t __a = (a); float64x2_t __b = (b); \
4912 (float64x2_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 42); })
4913 #define vext_p64(a, b, __c) __extension__ ({ \
4914 poly64x1_t __a = (a); poly64x1_t __b = (b); \
4915 (poly64x1_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 6); })
4916 #define vextq_p64(a, b, __c) __extension__ ({ \
4917 poly64x2_t __a = (a); poly64x2_t __b = (b); \
4918 (poly64x2_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 38); } )
4919
4920 #define vfma_lane_f32(a, b, c, __d) __extension__ ({ \
4921 float32x2_t __a = (a); float32x2_t __b = (b); float32x2_t __c = (c); \
4922 (float32x2_t)__builtin_neon_vfma_lane_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_ t)__c, __d, 9); })
4923 #define vfma_lane_f64(a, b, c, __d) __extension__ ({ \
4924 float64x1_t __a = (a); float64x1_t __b = (b); float64x1_t __c = (c); \
4925 (float64x1_t)__builtin_neon_vfma_lane_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_ t)__c, __d, 10); })
4926 #define vfmaq_lane_f32(a, b, c, __d) __extension__ ({ \
4927 float32x4_t __a = (a); float32x4_t __b = (b); float32x2_t __c = (c); \
4928 (float32x4_t)__builtin_neon_vfmaq_lane_v((int8x16_t)__a, (int8x16_t)__b, (int8 x8_t)__c, __d, 41); })
4929 #define vfmaq_lane_f64(a, b, c, __d) __extension__ ({ \
4930 float64x2_t __a = (a); float64x2_t __b = (b); float64x1_t __c = (c); \
4931 (float64x2_t)__builtin_neon_vfmaq_lane_v((int8x16_t)__a, (int8x16_t)__b, (int8 x8_t)__c, __d, 42); })
4932
4933 #define vfma_laneq_f32(a, b, c, __d) __extension__ ({ \
4934 float32x2_t __a = (a); float32x2_t __b = (b); float32x4_t __c = (c); \
4935 (float32x2_t)__builtin_neon_vfma_laneq_v((int8x8_t)__a, (int8x8_t)__b, (int8x1 6_t)__c, __d, 9); })
4936 #define vfma_laneq_f64(a, b, c, __d) __extension__ ({ \
4937 float64x1_t __a = (a); float64x1_t __b = (b); float64x2_t __c = (c); \
4938 (float64x1_t)__builtin_neon_vfma_laneq_v((int8x8_t)__a, (int8x8_t)__b, (int8x1 6_t)__c, __d, 10); })
4939 #define vfmaq_laneq_f32(a, b, c, __d) __extension__ ({ \
4940 float32x4_t __a = (a); float32x4_t __b = (b); float32x4_t __c = (c); \
4941 (float32x4_t)__builtin_neon_vfmaq_laneq_v((int8x16_t)__a, (int8x16_t)__b, (int 8x16_t)__c, __d, 41); })
4942 #define vfmaq_laneq_f64(a, b, c, __d) __extension__ ({ \
4943 float64x2_t __a = (a); float64x2_t __b = (b); float64x2_t __c = (c); \
4944 (float64x2_t)__builtin_neon_vfmaq_laneq_v((int8x16_t)__a, (int8x16_t)__b, (int 8x16_t)__c, __d, 42); })
4945
4946 #define vfms_lane_f32(a, b, c, __d) __extension__ ({ \
4947 float32x2_t __a = (a); float32x2_t __b = (b); float32x2_t __c = (c); \
4948 float32x2_t __a1 = __a; \
4949 float32x2_t __b1 = __b; \
4950 float32x2_t __c1 = __c; \
4951 vfma_lane_f32(__a1, __b1, -__c1, __d); })
4952 #define vfms_lane_f64(a, b, c, __d) __extension__ ({ \
4953 float64x1_t __a = (a); float64x1_t __b = (b); float64x1_t __c = (c); \
4954 float64x1_t __a1 = __a; \
4955 float64x1_t __b1 = __b; \
4956 float64x1_t __c1 = __c; \
4957 vfma_lane_f64(__a1, __b1, -__c1, __d); })
4958 #define vfmsq_lane_f32(a, b, c, __d) __extension__ ({ \
4959 float32x4_t __a = (a); float32x4_t __b = (b); float32x2_t __c = (c); \
4960 float32x4_t __a1 = __a; \
4961 float32x4_t __b1 = __b; \
4962 float32x2_t __c1 = __c; \
4963 vfmaq_lane_f32(__a1, __b1, -__c1, __d); })
4964 #define vfmsq_lane_f64(a, b, c, __d) __extension__ ({ \
4965 float64x2_t __a = (a); float64x2_t __b = (b); float64x1_t __c = (c); \
4966 float64x2_t __a1 = __a; \
4967 float64x2_t __b1 = __b; \
4968 float64x1_t __c1 = __c; \
4969 vfmaq_lane_f64(__a1, __b1, -__c1, __d); })
4970
4971 #define vfms_laneq_f32(a, b, c, __d) __extension__ ({ \
4972 float32x2_t __a = (a); float32x2_t __b = (b); float32x4_t __c = (c); \
4973 float32x2_t __a1 = __a; \
4974 float32x2_t __b1 = __b; \
4975 float32x4_t __c1 = __c; \
4976 vfma_laneq_f32(__a1, __b1, -__c1, __d); })
4977 #define vfms_laneq_f64(a, b, c, __d) __extension__ ({ \
4978 float64x1_t __a = (a); float64x1_t __b = (b); float64x2_t __c = (c); \
4979 float64x1_t __a1 = __a; \
4980 float64x1_t __b1 = __b; \
4981 float64x2_t __c1 = __c; \
4982 vfma_laneq_f64(__a1, __b1, -__c1, __d); })
4983 #define vfmsq_laneq_f32(a, b, c, __d) __extension__ ({ \
4984 float32x4_t __a = (a); float32x4_t __b = (b); float32x4_t __c = (c); \
4985 float32x4_t __a1 = __a; \
4986 float32x4_t __b1 = __b; \
4987 float32x4_t __c1 = __c; \
4988 vfmaq_laneq_f32(__a1, __b1, -__c1, __d); })
4989 #define vfmsq_laneq_f64(a, b, c, __d) __extension__ ({ \
4990 float64x2_t __a = (a); float64x2_t __b = (b); float64x2_t __c = (c); \
4991 float64x2_t __a1 = __a; \
4992 float64x2_t __b1 = __b; \
4993 float64x2_t __c1 = __c; \
4994 vfmaq_laneq_f64(__a1, __b1, -__c1, __d); })
4995
4996 __ai float64x1_t vget_high_f64(float64x2_t __a) {
4997 return __builtin_shufflevector(__a, __a, 1); }
4998 __ai poly64x1_t vget_high_p64(poly64x2_t __a) {
4999 return __builtin_shufflevector(__a, __a, 1); }
5000
5001 #endif
5002
5003 #define vget_lane_u8(a, __b) __extension__ ({ \
5004 uint8x8_t __a = (a); \
5005 (uint8_t)__builtin_neon_vget_lane_i8((int8x8_t)__a, __b); })
5006 #define vget_lane_u16(a, __b) __extension__ ({ \
5007 uint16x4_t __a = (a); \
5008 (uint16_t)__builtin_neon_vget_lane_i16((int16x4_t)__a, __b); })
5009 #define vget_lane_u32(a, __b) __extension__ ({ \
5010 uint32x2_t __a = (a); \
5011 (uint32_t)__builtin_neon_vget_lane_i32((int32x2_t)__a, __b); })
5012 #define vget_lane_s8(a, __b) __extension__ ({ \
5013 int8x8_t __a = (a); \
5014 (int8_t)__builtin_neon_vget_lane_i8(__a, __b); })
5015 #define vget_lane_s16(a, __b) __extension__ ({ \
5016 int16x4_t __a = (a); \
5017 (int16_t)__builtin_neon_vget_lane_i16(__a, __b); })
5018 #define vget_lane_s32(a, __b) __extension__ ({ \
5019 int32x2_t __a = (a); \
5020 (int32_t)__builtin_neon_vget_lane_i32(__a, __b); })
5021 #define vget_lane_p8(a, __b) __extension__ ({ \
5022 poly8x8_t __a = (a); \
5023 (poly8_t)__builtin_neon_vget_lane_i8((int8x8_t)__a, __b); })
5024 #define vget_lane_p16(a, __b) __extension__ ({ \
5025 poly16x4_t __a = (a); \
5026 (poly16_t)__builtin_neon_vget_lane_i16((int16x4_t)__a, __b); })
5027 #define vget_lane_f32(a, __b) __extension__ ({ \
5028 float32x2_t __a = (a); \
5029 (float32_t)__builtin_neon_vget_lane_f32(__a, __b); })
5030 #define vgetq_lane_u8(a, __b) __extension__ ({ \
5031 uint8x16_t __a = (a); \
5032 (uint8_t)__builtin_neon_vgetq_lane_i8((int8x16_t)__a, __b); })
5033 #define vgetq_lane_u16(a, __b) __extension__ ({ \
5034 uint16x8_t __a = (a); \
5035 (uint16_t)__builtin_neon_vgetq_lane_i16((int16x8_t)__a, __b); })
5036 #define vgetq_lane_u32(a, __b) __extension__ ({ \
5037 uint32x4_t __a = (a); \
5038 (uint32_t)__builtin_neon_vgetq_lane_i32((int32x4_t)__a, __b); })
5039 #define vgetq_lane_s8(a, __b) __extension__ ({ \
5040 int8x16_t __a = (a); \
5041 (int8_t)__builtin_neon_vgetq_lane_i8(__a, __b); })
5042 #define vgetq_lane_s16(a, __b) __extension__ ({ \
5043 int16x8_t __a = (a); \
5044 (int16_t)__builtin_neon_vgetq_lane_i16(__a, __b); })
5045 #define vgetq_lane_s32(a, __b) __extension__ ({ \
5046 int32x4_t __a = (a); \
5047 (int32_t)__builtin_neon_vgetq_lane_i32(__a, __b); })
5048 #define vgetq_lane_p8(a, __b) __extension__ ({ \
5049 poly8x16_t __a = (a); \
5050 (poly8_t)__builtin_neon_vgetq_lane_i8((int8x16_t)__a, __b); })
5051 #define vgetq_lane_p16(a, __b) __extension__ ({ \
5052 poly16x8_t __a = (a); \
5053 (poly16_t)__builtin_neon_vgetq_lane_i16((int16x8_t)__a, __b); })
5054 #define vgetq_lane_f32(a, __b) __extension__ ({ \
5055 float32x4_t __a = (a); \
5056 (float32_t)__builtin_neon_vgetq_lane_f32(__a, __b); })
5057 #define vget_lane_s64(a, __b) __extension__ ({ \
5058 int64x1_t __a = (a); \
5059 (int64_t)__builtin_neon_vget_lane_i64(__a, __b); })
5060 #define vget_lane_u64(a, __b) __extension__ ({ \
5061 uint64x1_t __a = (a); \
5062 (uint64_t)__builtin_neon_vget_lane_i64((int64x1_t)__a, __b); })
5063 #define vgetq_lane_s64(a, __b) __extension__ ({ \
5064 int64x2_t __a = (a); \
5065 (int64_t)__builtin_neon_vgetq_lane_i64(__a, __b); })
5066 #define vgetq_lane_u64(a, __b) __extension__ ({ \
5067 uint64x2_t __a = (a); \
5068 (uint64_t)__builtin_neon_vgetq_lane_i64((int64x2_t)__a, __b); })
5069
5070 __ai int8x8_t vget_low_s8(int8x16_t __a) {
5071 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7); }
5072 __ai int16x4_t vget_low_s16(int16x8_t __a) {
5073 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3); }
5074 __ai int32x2_t vget_low_s32(int32x4_t __a) {
5075 return __builtin_shufflevector(__a, __a, 0, 1); }
5076 __ai int64x1_t vget_low_s64(int64x2_t __a) {
5077 return __builtin_shufflevector(__a, __a, 0); }
5078 __ai float16x4_t vget_low_f16(float16x8_t __a) {
5079 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3); }
5080 __ai float32x2_t vget_low_f32(float32x4_t __a) {
5081 return __builtin_shufflevector(__a, __a, 0, 1); }
5082 __ai uint8x8_t vget_low_u8(uint8x16_t __a) {
5083 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7); }
5084 __ai uint16x4_t vget_low_u16(uint16x8_t __a) {
5085 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3); }
5086 __ai uint32x2_t vget_low_u32(uint32x4_t __a) {
5087 return __builtin_shufflevector(__a, __a, 0, 1); }
5088 __ai uint64x1_t vget_low_u64(uint64x2_t __a) {
5089 return __builtin_shufflevector(__a, __a, 0); }
5090 __ai poly8x8_t vget_low_p8(poly8x16_t __a) {
5091 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7); }
5092 __ai poly16x4_t vget_low_p16(poly16x8_t __a) {
5093 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3); }
5094
5095 #if defined(__aarch64__)
5096 __ai float64x1_t vget_low_f64(float64x2_t __a) {
5097 return __builtin_shufflevector(__a, __a, 0); }
5098 __ai poly64x1_t vget_low_p64(poly64x2_t __a) {
5099 return __builtin_shufflevector(__a, __a, 0); }
5100
5101 #endif
5102
5103 __ai int8x8_t vhadd_s8(int8x8_t __a, int8x8_t __b) {
5104 return (int8x8_t)__builtin_neon_vhadd_v(__a, __b, 0); }
5105 __ai int16x4_t vhadd_s16(int16x4_t __a, int16x4_t __b) {
5106 return (int16x4_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 1); }
5107 __ai int32x2_t vhadd_s32(int32x2_t __a, int32x2_t __b) {
5108 return (int32x2_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 2); }
5109 __ai uint8x8_t vhadd_u8(uint8x8_t __a, uint8x8_t __b) {
5110 return (uint8x8_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 16); }
5111 __ai uint16x4_t vhadd_u16(uint16x4_t __a, uint16x4_t __b) {
5112 return (uint16x4_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 17); }
5113 __ai uint32x2_t vhadd_u32(uint32x2_t __a, uint32x2_t __b) {
5114 return (uint32x2_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 18); }
5115 __ai int8x16_t vhaddq_s8(int8x16_t __a, int8x16_t __b) {
5116 return (int8x16_t)__builtin_neon_vhaddq_v(__a, __b, 32); }
5117 __ai int16x8_t vhaddq_s16(int16x8_t __a, int16x8_t __b) {
5118 return (int16x8_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
5119 __ai int32x4_t vhaddq_s32(int32x4_t __a, int32x4_t __b) {
5120 return (int32x4_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
5121 __ai uint8x16_t vhaddq_u8(uint8x16_t __a, uint8x16_t __b) {
5122 return (uint8x16_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 48) ; }
5123 __ai uint16x8_t vhaddq_u16(uint16x8_t __a, uint16x8_t __b) {
5124 return (uint16x8_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 49) ; }
5125 __ai uint32x4_t vhaddq_u32(uint32x4_t __a, uint32x4_t __b) {
5126 return (uint32x4_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 50) ; }
5127
5128 __ai int8x8_t vhsub_s8(int8x8_t __a, int8x8_t __b) {
5129 return (int8x8_t)__builtin_neon_vhsub_v(__a, __b, 0); }
5130 __ai int16x4_t vhsub_s16(int16x4_t __a, int16x4_t __b) {
5131 return (int16x4_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 1); }
5132 __ai int32x2_t vhsub_s32(int32x2_t __a, int32x2_t __b) {
5133 return (int32x2_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 2); }
5134 __ai uint8x8_t vhsub_u8(uint8x8_t __a, uint8x8_t __b) {
5135 return (uint8x8_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 16); }
5136 __ai uint16x4_t vhsub_u16(uint16x4_t __a, uint16x4_t __b) {
5137 return (uint16x4_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 17); }
5138 __ai uint32x2_t vhsub_u32(uint32x2_t __a, uint32x2_t __b) {
5139 return (uint32x2_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 18); }
5140 __ai int8x16_t vhsubq_s8(int8x16_t __a, int8x16_t __b) {
5141 return (int8x16_t)__builtin_neon_vhsubq_v(__a, __b, 32); }
5142 __ai int16x8_t vhsubq_s16(int16x8_t __a, int16x8_t __b) {
5143 return (int16x8_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
5144 __ai int32x4_t vhsubq_s32(int32x4_t __a, int32x4_t __b) {
5145 return (int32x4_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
5146 __ai uint8x16_t vhsubq_u8(uint8x16_t __a, uint8x16_t __b) {
5147 return (uint8x16_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 48) ; }
5148 __ai uint16x8_t vhsubq_u16(uint16x8_t __a, uint16x8_t __b) {
5149 return (uint16x8_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 49) ; }
5150 __ai uint32x4_t vhsubq_u32(uint32x4_t __a, uint32x4_t __b) {
5151 return (uint32x4_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 50) ; }
5152
5153 #define vld1q_u8(__a) __extension__ ({ \
5154 (uint8x16_t)__builtin_neon_vld1q_v(__a, 48); })
5155 #define vld1q_u16(__a) __extension__ ({ \
5156 (uint16x8_t)__builtin_neon_vld1q_v(__a, 49); })
5157 #define vld1q_u32(__a) __extension__ ({ \
5158 (uint32x4_t)__builtin_neon_vld1q_v(__a, 50); })
5159 #define vld1q_u64(__a) __extension__ ({ \
5160 (uint64x2_t)__builtin_neon_vld1q_v(__a, 51); })
5161 #define vld1q_s8(__a) __extension__ ({ \
5162 (int8x16_t)__builtin_neon_vld1q_v(__a, 32); })
5163 #define vld1q_s16(__a) __extension__ ({ \
5164 (int16x8_t)__builtin_neon_vld1q_v(__a, 33); })
5165 #define vld1q_s32(__a) __extension__ ({ \
5166 (int32x4_t)__builtin_neon_vld1q_v(__a, 34); })
5167 #define vld1q_s64(__a) __extension__ ({ \
5168 (int64x2_t)__builtin_neon_vld1q_v(__a, 35); })
5169 #define vld1q_f16(__a) __extension__ ({ \
5170 (float16x8_t)__builtin_neon_vld1q_v(__a, 40); })
5171 #define vld1q_f32(__a) __extension__ ({ \
5172 (float32x4_t)__builtin_neon_vld1q_v(__a, 41); })
5173 #define vld1q_p8(__a) __extension__ ({ \
5174 (poly8x16_t)__builtin_neon_vld1q_v(__a, 36); })
5175 #define vld1q_p16(__a) __extension__ ({ \
5176 (poly16x8_t)__builtin_neon_vld1q_v(__a, 37); })
5177 #define vld1_u8(__a) __extension__ ({ \
5178 (uint8x8_t)__builtin_neon_vld1_v(__a, 16); })
5179 #define vld1_u16(__a) __extension__ ({ \
5180 (uint16x4_t)__builtin_neon_vld1_v(__a, 17); })
5181 #define vld1_u32(__a) __extension__ ({ \
5182 (uint32x2_t)__builtin_neon_vld1_v(__a, 18); })
5183 #define vld1_u64(__a) __extension__ ({ \
5184 (uint64x1_t)__builtin_neon_vld1_v(__a, 19); })
5185 #define vld1_s8(__a) __extension__ ({ \
5186 (int8x8_t)__builtin_neon_vld1_v(__a, 0); })
5187 #define vld1_s16(__a) __extension__ ({ \
5188 (int16x4_t)__builtin_neon_vld1_v(__a, 1); })
5189 #define vld1_s32(__a) __extension__ ({ \
5190 (int32x2_t)__builtin_neon_vld1_v(__a, 2); })
5191 #define vld1_s64(__a) __extension__ ({ \
5192 (int64x1_t)__builtin_neon_vld1_v(__a, 3); })
5193 #define vld1_f16(__a) __extension__ ({ \
5194 (float16x4_t)__builtin_neon_vld1_v(__a, 8); })
5195 #define vld1_f32(__a) __extension__ ({ \
5196 (float32x2_t)__builtin_neon_vld1_v(__a, 9); })
5197 #define vld1_p8(__a) __extension__ ({ \
5198 (poly8x8_t)__builtin_neon_vld1_v(__a, 4); })
5199 #define vld1_p16(__a) __extension__ ({ \
5200 (poly16x4_t)__builtin_neon_vld1_v(__a, 5); })
5201
5202 #define vld1q_dup_u8(__a) __extension__ ({ \
5203 (uint8x16_t)__builtin_neon_vld1q_dup_v(__a, 48); })
5204 #define vld1q_dup_u16(__a) __extension__ ({ \
5205 (uint16x8_t)__builtin_neon_vld1q_dup_v(__a, 49); })
5206 #define vld1q_dup_u32(__a) __extension__ ({ \
5207 (uint32x4_t)__builtin_neon_vld1q_dup_v(__a, 50); })
5208 #define vld1q_dup_u64(__a) __extension__ ({ \
5209 (uint64x2_t)__builtin_neon_vld1q_dup_v(__a, 51); })
5210 #define vld1q_dup_s8(__a) __extension__ ({ \
5211 (int8x16_t)__builtin_neon_vld1q_dup_v(__a, 32); })
5212 #define vld1q_dup_s16(__a) __extension__ ({ \
5213 (int16x8_t)__builtin_neon_vld1q_dup_v(__a, 33); })
5214 #define vld1q_dup_s32(__a) __extension__ ({ \
5215 (int32x4_t)__builtin_neon_vld1q_dup_v(__a, 34); })
5216 #define vld1q_dup_s64(__a) __extension__ ({ \
5217 (int64x2_t)__builtin_neon_vld1q_dup_v(__a, 35); })
5218 #define vld1q_dup_f16(__a) __extension__ ({ \
5219 (float16x8_t)__builtin_neon_vld1q_dup_v(__a, 40); })
5220 #define vld1q_dup_f32(__a) __extension__ ({ \
5221 (float32x4_t)__builtin_neon_vld1q_dup_v(__a, 41); })
5222 #define vld1q_dup_p8(__a) __extension__ ({ \
5223 (poly8x16_t)__builtin_neon_vld1q_dup_v(__a, 36); })
5224 #define vld1q_dup_p16(__a) __extension__ ({ \
5225 (poly16x8_t)__builtin_neon_vld1q_dup_v(__a, 37); })
5226 #define vld1_dup_u8(__a) __extension__ ({ \
5227 (uint8x8_t)__builtin_neon_vld1_dup_v(__a, 16); })
5228 #define vld1_dup_u16(__a) __extension__ ({ \
5229 (uint16x4_t)__builtin_neon_vld1_dup_v(__a, 17); })
5230 #define vld1_dup_u32(__a) __extension__ ({ \
5231 (uint32x2_t)__builtin_neon_vld1_dup_v(__a, 18); })
5232 #define vld1_dup_u64(__a) __extension__ ({ \
5233 (uint64x1_t)__builtin_neon_vld1_dup_v(__a, 19); })
5234 #define vld1_dup_s8(__a) __extension__ ({ \
5235 (int8x8_t)__builtin_neon_vld1_dup_v(__a, 0); })
5236 #define vld1_dup_s16(__a) __extension__ ({ \
5237 (int16x4_t)__builtin_neon_vld1_dup_v(__a, 1); })
5238 #define vld1_dup_s32(__a) __extension__ ({ \
5239 (int32x2_t)__builtin_neon_vld1_dup_v(__a, 2); })
5240 #define vld1_dup_s64(__a) __extension__ ({ \
5241 (int64x1_t)__builtin_neon_vld1_dup_v(__a, 3); })
5242 #define vld1_dup_f16(__a) __extension__ ({ \
5243 (float16x4_t)__builtin_neon_vld1_dup_v(__a, 8); })
5244 #define vld1_dup_f32(__a) __extension__ ({ \
5245 (float32x2_t)__builtin_neon_vld1_dup_v(__a, 9); })
5246 #define vld1_dup_p8(__a) __extension__ ({ \
5247 (poly8x8_t)__builtin_neon_vld1_dup_v(__a, 4); })
5248 #define vld1_dup_p16(__a) __extension__ ({ \
5249 (poly16x4_t)__builtin_neon_vld1_dup_v(__a, 5); })
5250
5251 #define vld1q_lane_u8(__a, b, __c) __extension__ ({ \
5252 uint8x16_t __b = (b); \
5253 (uint8x16_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 48); })
5254 #define vld1q_lane_u16(__a, b, __c) __extension__ ({ \
5255 uint16x8_t __b = (b); \
5256 (uint16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 49); })
5257 #define vld1q_lane_u32(__a, b, __c) __extension__ ({ \
5258 uint32x4_t __b = (b); \
5259 (uint32x4_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 50); })
5260 #define vld1q_lane_u64(__a, b, __c) __extension__ ({ \
5261 uint64x2_t __b = (b); \
5262 (uint64x2_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 51); })
5263 #define vld1q_lane_s8(__a, b, __c) __extension__ ({ \
5264 int8x16_t __b = (b); \
5265 (int8x16_t)__builtin_neon_vld1q_lane_v(__a, __b, __c, 32); })
5266 #define vld1q_lane_s16(__a, b, __c) __extension__ ({ \
5267 int16x8_t __b = (b); \
5268 (int16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 33); })
5269 #define vld1q_lane_s32(__a, b, __c) __extension__ ({ \
5270 int32x4_t __b = (b); \
5271 (int32x4_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 34); })
5272 #define vld1q_lane_s64(__a, b, __c) __extension__ ({ \
5273 int64x2_t __b = (b); \
5274 (int64x2_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 35); })
5275 #define vld1q_lane_f16(__a, b, __c) __extension__ ({ \
5276 float16x8_t __b = (b); \
5277 (float16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 40); })
5278 #define vld1q_lane_f32(__a, b, __c) __extension__ ({ \
5279 float32x4_t __b = (b); \
5280 (float32x4_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 41); })
5281 #define vld1q_lane_p8(__a, b, __c) __extension__ ({ \
5282 poly8x16_t __b = (b); \
5283 (poly8x16_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 36); })
5284 #define vld1q_lane_p16(__a, b, __c) __extension__ ({ \
5285 poly16x8_t __b = (b); \
5286 (poly16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 37); })
5287 #define vld1_lane_u8(__a, b, __c) __extension__ ({ \
5288 uint8x8_t __b = (b); \
5289 (uint8x8_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 16); })
5290 #define vld1_lane_u16(__a, b, __c) __extension__ ({ \
5291 uint16x4_t __b = (b); \
5292 (uint16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 17); })
5293 #define vld1_lane_u32(__a, b, __c) __extension__ ({ \
5294 uint32x2_t __b = (b); \
5295 (uint32x2_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 18); })
5296 #define vld1_lane_u64(__a, b, __c) __extension__ ({ \
5297 uint64x1_t __b = (b); \
5298 (uint64x1_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 19); })
5299 #define vld1_lane_s8(__a, b, __c) __extension__ ({ \
5300 int8x8_t __b = (b); \
5301 (int8x8_t)__builtin_neon_vld1_lane_v(__a, __b, __c, 0); })
5302 #define vld1_lane_s16(__a, b, __c) __extension__ ({ \
5303 int16x4_t __b = (b); \
5304 (int16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 1); })
5305 #define vld1_lane_s32(__a, b, __c) __extension__ ({ \
5306 int32x2_t __b = (b); \
5307 (int32x2_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 2); })
5308 #define vld1_lane_s64(__a, b, __c) __extension__ ({ \
5309 int64x1_t __b = (b); \
5310 (int64x1_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 3); })
5311 #define vld1_lane_f16(__a, b, __c) __extension__ ({ \
5312 float16x4_t __b = (b); \
5313 (float16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 8); })
5314 #define vld1_lane_f32(__a, b, __c) __extension__ ({ \
5315 float32x2_t __b = (b); \
5316 (float32x2_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 9); })
5317 #define vld1_lane_p8(__a, b, __c) __extension__ ({ \
5318 poly8x8_t __b = (b); \
5319 (poly8x8_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 4); })
5320 #define vld1_lane_p16(__a, b, __c) __extension__ ({ \
5321 poly16x4_t __b = (b); \
5322 (poly16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 5); })
5323
5324 #define vld2q_u8(__a) __extension__ ({ \
5325 uint8x16x2_t r; __builtin_neon_vld2q_v(&r, __a, 48); r; })
5326 #define vld2q_u16(__a) __extension__ ({ \
5327 uint16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 49); r; })
5328 #define vld2q_u32(__a) __extension__ ({ \
5329 uint32x4x2_t r; __builtin_neon_vld2q_v(&r, __a, 50); r; })
5330 #define vld2q_s8(__a) __extension__ ({ \
5331 int8x16x2_t r; __builtin_neon_vld2q_v(&r, __a, 32); r; })
5332 #define vld2q_s16(__a) __extension__ ({ \
5333 int16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 33); r; })
5334 #define vld2q_s32(__a) __extension__ ({ \
5335 int32x4x2_t r; __builtin_neon_vld2q_v(&r, __a, 34); r; })
5336 #define vld2q_f16(__a) __extension__ ({ \
5337 float16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 40); r; })
5338 #define vld2q_f32(__a) __extension__ ({ \
5339 float32x4x2_t r; __builtin_neon_vld2q_v(&r, __a, 41); r; })
5340 #define vld2q_p8(__a) __extension__ ({ \
5341 poly8x16x2_t r; __builtin_neon_vld2q_v(&r, __a, 36); r; })
5342 #define vld2q_p16(__a) __extension__ ({ \
5343 poly16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 37); r; })
5344 #define vld2_u8(__a) __extension__ ({ \
5345 uint8x8x2_t r; __builtin_neon_vld2_v(&r, __a, 16); r; })
5346 #define vld2_u16(__a) __extension__ ({ \
5347 uint16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 17); r; })
5348 #define vld2_u32(__a) __extension__ ({ \
5349 uint32x2x2_t r; __builtin_neon_vld2_v(&r, __a, 18); r; })
5350 #define vld2_u64(__a) __extension__ ({ \
5351 uint64x1x2_t r; __builtin_neon_vld2_v(&r, __a, 19); r; })
5352 #define vld2_s8(__a) __extension__ ({ \
5353 int8x8x2_t r; __builtin_neon_vld2_v(&r, __a, 0); r; })
5354 #define vld2_s16(__a) __extension__ ({ \
5355 int16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 1); r; })
5356 #define vld2_s32(__a) __extension__ ({ \
5357 int32x2x2_t r; __builtin_neon_vld2_v(&r, __a, 2); r; })
5358 #define vld2_s64(__a) __extension__ ({ \
5359 int64x1x2_t r; __builtin_neon_vld2_v(&r, __a, 3); r; })
5360 #define vld2_f16(__a) __extension__ ({ \
5361 float16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 8); r; })
5362 #define vld2_f32(__a) __extension__ ({ \
5363 float32x2x2_t r; __builtin_neon_vld2_v(&r, __a, 9); r; })
5364 #define vld2_p8(__a) __extension__ ({ \
5365 poly8x8x2_t r; __builtin_neon_vld2_v(&r, __a, 4); r; })
5366 #define vld2_p16(__a) __extension__ ({ \
5367 poly16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 5); r; })
5368
5369 #define vld2_dup_u8(__a) __extension__ ({ \
5370 uint8x8x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 16); r; })
5371 #define vld2_dup_u16(__a) __extension__ ({ \
5372 uint16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 17); r; })
5373 #define vld2_dup_u32(__a) __extension__ ({ \
5374 uint32x2x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 18); r; })
5375 #define vld2_dup_u64(__a) __extension__ ({ \
5376 uint64x1x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 19); r; })
5377 #define vld2_dup_s8(__a) __extension__ ({ \
5378 int8x8x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 0); r; })
5379 #define vld2_dup_s16(__a) __extension__ ({ \
5380 int16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 1); r; })
5381 #define vld2_dup_s32(__a) __extension__ ({ \
5382 int32x2x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 2); r; })
5383 #define vld2_dup_s64(__a) __extension__ ({ \
5384 int64x1x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 3); r; })
5385 #define vld2_dup_f16(__a) __extension__ ({ \
5386 float16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 8); r; })
5387 #define vld2_dup_f32(__a) __extension__ ({ \
5388 float32x2x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 9); r; })
5389 #define vld2_dup_p8(__a) __extension__ ({ \
5390 poly8x8x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 4); r; })
5391 #define vld2_dup_p16(__a) __extension__ ({ \
5392 poly16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 5); r; })
5393
5394 #define vld2q_lane_u16(__a, b, __c) __extension__ ({ \
5395 uint16x8x2_t __b = (b); \
5396 uint16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], __c, 49); r; })
5397 #define vld2q_lane_u32(__a, b, __c) __extension__ ({ \
5398 uint32x4x2_t __b = (b); \
5399 uint32x4x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], __c, 50); r; })
5400 #define vld2q_lane_s16(__a, b, __c) __extension__ ({ \
5401 int16x8x2_t __b = (b); \
5402 int16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in t8x16_t)__b.val[1], __c, 33); r; })
5403 #define vld2q_lane_s32(__a, b, __c) __extension__ ({ \
5404 int32x4x2_t __b = (b); \
5405 int32x4x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in t8x16_t)__b.val[1], __c, 34); r; })
5406 #define vld2q_lane_f16(__a, b, __c) __extension__ ({ \
5407 float16x8x2_t __b = (b); \
5408 float16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], ( int8x16_t)__b.val[1], __c, 40); r; })
5409 #define vld2q_lane_f32(__a, b, __c) __extension__ ({ \
5410 float32x4x2_t __b = (b); \
5411 float32x4x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], ( int8x16_t)__b.val[1], __c, 41); r; })
5412 #define vld2q_lane_p16(__a, b, __c) __extension__ ({ \
5413 poly16x8x2_t __b = (b); \
5414 poly16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i nt8x16_t)__b.val[1], __c, 37); r; })
5415 #define vld2_lane_u8(__a, b, __c) __extension__ ({ \
5416 uint8x8x2_t __b = (b); \
5417 uint8x8x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], __c, 16); r; })
5418 #define vld2_lane_u16(__a, b, __c) __extension__ ({ \
5419 uint16x4x2_t __b = (b); \
5420 uint16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], __c, 17); r; })
5421 #define vld2_lane_u32(__a, b, __c) __extension__ ({ \
5422 uint32x2x2_t __b = (b); \
5423 uint32x2x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], __c, 18); r; })
5424 #define vld2_lane_s8(__a, b, __c) __extension__ ({ \
5425 int8x8x2_t __b = (b); \
5426 int8x8x2_t r; __builtin_neon_vld2_lane_v(&r, __a, __b.val[0], __b.val[1], __c, 0); r; })
5427 #define vld2_lane_s16(__a, b, __c) __extension__ ({ \
5428 int16x4x2_t __b = (b); \
5429 int16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], __c, 1); r; })
5430 #define vld2_lane_s32(__a, b, __c) __extension__ ({ \
5431 int32x2x2_t __b = (b); \
5432 int32x2x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], __c, 2); r; })
5433 #define vld2_lane_f16(__a, b, __c) __extension__ ({ \
5434 float16x4x2_t __b = (b); \
5435 float16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (in t8x8_t)__b.val[1], __c, 8); r; })
5436 #define vld2_lane_f32(__a, b, __c) __extension__ ({ \
5437 float32x2x2_t __b = (b); \
5438 float32x2x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (in t8x8_t)__b.val[1], __c, 9); r; })
5439 #define vld2_lane_p8(__a, b, __c) __extension__ ({ \
5440 poly8x8x2_t __b = (b); \
5441 poly8x8x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8 x8_t)__b.val[1], __c, 4); r; })
5442 #define vld2_lane_p16(__a, b, __c) __extension__ ({ \
5443 poly16x4x2_t __b = (b); \
5444 poly16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int 8x8_t)__b.val[1], __c, 5); r; })
5445
5446 #define vld3q_u8(__a) __extension__ ({ \
5447 uint8x16x3_t r; __builtin_neon_vld3q_v(&r, __a, 48); r; })
5448 #define vld3q_u16(__a) __extension__ ({ \
5449 uint16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 49); r; })
5450 #define vld3q_u32(__a) __extension__ ({ \
5451 uint32x4x3_t r; __builtin_neon_vld3q_v(&r, __a, 50); r; })
5452 #define vld3q_s8(__a) __extension__ ({ \
5453 int8x16x3_t r; __builtin_neon_vld3q_v(&r, __a, 32); r; })
5454 #define vld3q_s16(__a) __extension__ ({ \
5455 int16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 33); r; })
5456 #define vld3q_s32(__a) __extension__ ({ \
5457 int32x4x3_t r; __builtin_neon_vld3q_v(&r, __a, 34); r; })
5458 #define vld3q_f16(__a) __extension__ ({ \
5459 float16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 40); r; })
5460 #define vld3q_f32(__a) __extension__ ({ \
5461 float32x4x3_t r; __builtin_neon_vld3q_v(&r, __a, 41); r; })
5462 #define vld3q_p8(__a) __extension__ ({ \
5463 poly8x16x3_t r; __builtin_neon_vld3q_v(&r, __a, 36); r; })
5464 #define vld3q_p16(__a) __extension__ ({ \
5465 poly16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 37); r; })
5466 #define vld3_u8(__a) __extension__ ({ \
5467 uint8x8x3_t r; __builtin_neon_vld3_v(&r, __a, 16); r; })
5468 #define vld3_u16(__a) __extension__ ({ \
5469 uint16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 17); r; })
5470 #define vld3_u32(__a) __extension__ ({ \
5471 uint32x2x3_t r; __builtin_neon_vld3_v(&r, __a, 18); r; })
5472 #define vld3_u64(__a) __extension__ ({ \
5473 uint64x1x3_t r; __builtin_neon_vld3_v(&r, __a, 19); r; })
5474 #define vld3_s8(__a) __extension__ ({ \
5475 int8x8x3_t r; __builtin_neon_vld3_v(&r, __a, 0); r; })
5476 #define vld3_s16(__a) __extension__ ({ \
5477 int16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 1); r; })
5478 #define vld3_s32(__a) __extension__ ({ \
5479 int32x2x3_t r; __builtin_neon_vld3_v(&r, __a, 2); r; })
5480 #define vld3_s64(__a) __extension__ ({ \
5481 int64x1x3_t r; __builtin_neon_vld3_v(&r, __a, 3); r; })
5482 #define vld3_f16(__a) __extension__ ({ \
5483 float16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 8); r; })
5484 #define vld3_f32(__a) __extension__ ({ \
5485 float32x2x3_t r; __builtin_neon_vld3_v(&r, __a, 9); r; })
5486 #define vld3_p8(__a) __extension__ ({ \
5487 poly8x8x3_t r; __builtin_neon_vld3_v(&r, __a, 4); r; })
5488 #define vld3_p16(__a) __extension__ ({ \
5489 poly16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 5); r; })
5490
5491 #define vld3_dup_u8(__a) __extension__ ({ \
5492 uint8x8x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 16); r; })
5493 #define vld3_dup_u16(__a) __extension__ ({ \
5494 uint16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 17); r; })
5495 #define vld3_dup_u32(__a) __extension__ ({ \
5496 uint32x2x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 18); r; })
5497 #define vld3_dup_u64(__a) __extension__ ({ \
5498 uint64x1x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 19); r; })
5499 #define vld3_dup_s8(__a) __extension__ ({ \
5500 int8x8x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 0); r; })
5501 #define vld3_dup_s16(__a) __extension__ ({ \
5502 int16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 1); r; })
5503 #define vld3_dup_s32(__a) __extension__ ({ \
5504 int32x2x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 2); r; })
5505 #define vld3_dup_s64(__a) __extension__ ({ \
5506 int64x1x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 3); r; })
5507 #define vld3_dup_f16(__a) __extension__ ({ \
5508 float16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 8); r; })
5509 #define vld3_dup_f32(__a) __extension__ ({ \
5510 float32x2x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 9); r; })
5511 #define vld3_dup_p8(__a) __extension__ ({ \
5512 poly8x8x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 4); r; })
5513 #define vld3_dup_p16(__a) __extension__ ({ \
5514 poly16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 5); r; })
5515
5516 #define vld3q_lane_u16(__a, b, __c) __extension__ ({ \
5517 uint16x8x3_t __b = (b); \
5518 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, 49); r; })
5519 #define vld3q_lane_u32(__a, b, __c) __extension__ ({ \
5520 uint32x4x3_t __b = (b); \
5521 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, 50); r; })
5522 #define vld3q_lane_s16(__a, b, __c) __extension__ ({ \
5523 int16x8x3_t __b = (b); \
5524 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, 33); r; })
5525 #define vld3q_lane_s32(__a, b, __c) __extension__ ({ \
5526 int32x4x3_t __b = (b); \
5527 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, 34); r; })
5528 #define vld3q_lane_f16(__a, b, __c) __extension__ ({ \
5529 float16x8x3_t __b = (b); \
5530 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, 40); r; })
5531 #define vld3q_lane_f32(__a, b, __c) __extension__ ({ \
5532 float32x4x3_t __b = (b); \
5533 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, 41); r; })
5534 #define vld3q_lane_p16(__a, b, __c) __extension__ ({ \
5535 poly16x8x3_t __b = (b); \
5536 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, 37); r; })
5537 #define vld3_lane_u8(__a, b, __c) __extension__ ({ \
5538 uint8x8x3_t __b = (b); \
5539 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, 16); r; })
5540 #define vld3_lane_u16(__a, b, __c) __extension__ ({ \
5541 uint16x4x3_t __b = (b); \
5542 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, 17); r; })
5543 #define vld3_lane_u32(__a, b, __c) __extension__ ({ \
5544 uint32x2x3_t __b = (b); \
5545 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, 18); r; })
5546 #define vld3_lane_s8(__a, b, __c) __extension__ ({ \
5547 int8x8x3_t __b = (b); \
5548 int8x8x3_t r; __builtin_neon_vld3_lane_v(&r, __a, __b.val[0], __b.val[1], __b. val[2], __c, 0); r; })
5549 #define vld3_lane_s16(__a, b, __c) __extension__ ({ \
5550 int16x4x3_t __b = (b); \
5551 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; })
5552 #define vld3_lane_s32(__a, b, __c) __extension__ ({ \
5553 int32x2x3_t __b = (b); \
5554 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; })
5555 #define vld3_lane_f16(__a, b, __c) __extension__ ({ \
5556 float16x4x3_t __b = (b); \
5557 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, 8); r; })
5558 #define vld3_lane_f32(__a, b, __c) __extension__ ({ \
5559 float32x2x3_t __b = (b); \
5560 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, 9); r; })
5561 #define vld3_lane_p8(__a, b, __c) __extension__ ({ \
5562 poly8x8x3_t __b = (b); \
5563 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, 4); r; })
5564 #define vld3_lane_p16(__a, b, __c) __extension__ ({ \
5565 poly16x4x3_t __b = (b); \
5566 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, 5); r; })
5567
5568 #define vld4q_u8(__a) __extension__ ({ \
5569 uint8x16x4_t r; __builtin_neon_vld4q_v(&r, __a, 48); r; })
5570 #define vld4q_u16(__a) __extension__ ({ \
5571 uint16x8x4_t r; __builtin_neon_vld4q_v(&r, __a, 49); r; })
5572 #define vld4q_u32(__a) __extension__ ({ \
5573 uint32x4x4_t r; __builtin_neon_vld4q_v(&r, __a, 50); r; })
5574 #define vld4q_s8(__a) __extension__ ({ \
5575 int8x16x4_t r; __builtin_neon_vld4q_v(&r, __a, 32); r; })
5576 #define vld4q_s16(__a) __extension__ ({ \
5577 int16x8x4_t r; __builtin_neon_vld4q_v(&r, __a, 33); r; })
5578 #define vld4q_s32(__a) __extension__ ({ \
5579 int32x4x4_t r; __builtin_neon_vld4q_v(&r, __a, 34); r; })
5580 #define vld4q_f16(__a) __extension__ ({ \
5581 float16x8x4_t r; __builtin_neon_vld4q_v(&r, __a, 40); r; })
5582 #define vld4q_f32(__a) __extension__ ({ \
5583 float32x4x4_t r; __builtin_neon_vld4q_v(&r, __a, 41); r; })
5584 #define vld4q_p8(__a) __extension__ ({ \
5585 poly8x16x4_t r; __builtin_neon_vld4q_v(&r, __a, 36); r; })
5586 #define vld4q_p16(__a) __extension__ ({ \
5587 poly16x8x4_t r; __builtin_neon_vld4q_v(&r, __a, 37); r; })
5588 #define vld4_u8(__a) __extension__ ({ \
5589 uint8x8x4_t r; __builtin_neon_vld4_v(&r, __a, 16); r; })
5590 #define vld4_u16(__a) __extension__ ({ \
5591 uint16x4x4_t r; __builtin_neon_vld4_v(&r, __a, 17); r; })
5592 #define vld4_u32(__a) __extension__ ({ \
5593 uint32x2x4_t r; __builtin_neon_vld4_v(&r, __a, 18); r; })
5594 #define vld4_u64(__a) __extension__ ({ \
5595 uint64x1x4_t r; __builtin_neon_vld4_v(&r, __a, 19); r; })
5596 #define vld4_s8(__a) __extension__ ({ \
5597 int8x8x4_t r; __builtin_neon_vld4_v(&r, __a, 0); r; })
5598 #define vld4_s16(__a) __extension__ ({ \
5599 int16x4x4_t r; __builtin_neon_vld4_v(&r, __a, 1); r; })
5600 #define vld4_s32(__a) __extension__ ({ \
5601 int32x2x4_t r; __builtin_neon_vld4_v(&r, __a, 2); r; })
5602 #define vld4_s64(__a) __extension__ ({ \
5603 int64x1x4_t r; __builtin_neon_vld4_v(&r, __a, 3); r; })
5604 #define vld4_f16(__a) __extension__ ({ \
5605 float16x4x4_t r; __builtin_neon_vld4_v(&r, __a, 8); r; })
5606 #define vld4_f32(__a) __extension__ ({ \
5607 float32x2x4_t r; __builtin_neon_vld4_v(&r, __a, 9); r; })
5608 #define vld4_p8(__a) __extension__ ({ \
5609 poly8x8x4_t r; __builtin_neon_vld4_v(&r, __a, 4); r; })
5610 #define vld4_p16(__a) __extension__ ({ \
5611 poly16x4x4_t r; __builtin_neon_vld4_v(&r, __a, 5); r; })
5612
5613 #define vld4_dup_u8(__a) __extension__ ({ \
5614 uint8x8x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 16); r; })
5615 #define vld4_dup_u16(__a) __extension__ ({ \
5616 uint16x4x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 17); r; })
5617 #define vld4_dup_u32(__a) __extension__ ({ \
5618 uint32x2x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 18); r; })
5619 #define vld4_dup_u64(__a) __extension__ ({ \
5620 uint64x1x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 19); r; })
5621 #define vld4_dup_s8(__a) __extension__ ({ \
5622 int8x8x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 0); r; })
5623 #define vld4_dup_s16(__a) __extension__ ({ \
5624 int16x4x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 1); r; })
5625 #define vld4_dup_s32(__a) __extension__ ({ \
5626 int32x2x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 2); r; })
5627 #define vld4_dup_s64(__a) __extension__ ({ \
5628 int64x1x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 3); r; })
5629 #define vld4_dup_f16(__a) __extension__ ({ \
5630 float16x4x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 8); r; })
5631 #define vld4_dup_f32(__a) __extension__ ({ \
5632 float32x2x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 9); r; })
5633 #define vld4_dup_p8(__a) __extension__ ({ \
5634 poly8x8x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 4); r; })
5635 #define vld4_dup_p16(__a) __extension__ ({ \
5636 poly16x4x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 5); r; })
5637
5638 #define vld4q_lane_u16(__a, b, __c) __extension__ ({ \
5639 uint16x8x4_t __b = (b); \
5640 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, 49); r; })
5641 #define vld4q_lane_u32(__a, b, __c) __extension__ ({ \
5642 uint32x4x4_t __b = (b); \
5643 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, 50); r; })
5644 #define vld4q_lane_s16(__a, b, __c) __extension__ ({ \
5645 int16x8x4_t __b = (b); \
5646 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, 33); r; } )
5647 #define vld4q_lane_s32(__a, b, __c) __extension__ ({ \
5648 int32x4x4_t __b = (b); \
5649 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, 34); r; } )
5650 #define vld4q_lane_f16(__a, b, __c) __extension__ ({ \
5651 float16x8x4_t __b = (b); \
5652 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, 40); r; })
5653 #define vld4q_lane_f32(__a, b, __c) __extension__ ({ \
5654 float32x4x4_t __b = (b); \
5655 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, 41); r; })
5656 #define vld4q_lane_p16(__a, b, __c) __extension__ ({ \
5657 poly16x8x4_t __b = (b); \
5658 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, 37); r; })
5659 #define vld4_lane_u8(__a, b, __c) __extension__ ({ \
5660 uint8x8x4_t __b = (b); \
5661 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, 16); r; })
5662 #define vld4_lane_u16(__a, b, __c) __extension__ ({ \
5663 uint16x4x4_t __b = (b); \
5664 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, 17); r; })
5665 #define vld4_lane_u32(__a, b, __c) __extension__ ({ \
5666 uint32x2x4_t __b = (b); \
5667 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, 18); r; })
5668 #define vld4_lane_s8(__a, b, __c) __extension__ ({ \
5669 int8x8x4_t __b = (b); \
5670 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; })
5671 #define vld4_lane_s16(__a, b, __c) __extension__ ({ \
5672 int16x4x4_t __b = (b); \
5673 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; })
5674 #define vld4_lane_s32(__a, b, __c) __extension__ ({ \
5675 int32x2x4_t __b = (b); \
5676 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; })
5677 #define vld4_lane_f16(__a, b, __c) __extension__ ({ \
5678 float16x4x4_t __b = (b); \
5679 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, 8); r; })
5680 #define vld4_lane_f32(__a, b, __c) __extension__ ({ \
5681 float32x2x4_t __b = (b); \
5682 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, 9); r; })
5683 #define vld4_lane_p8(__a, b, __c) __extension__ ({ \
5684 poly8x8x4_t __b = (b); \
5685 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, 4); r; })
5686 #define vld4_lane_p16(__a, b, __c) __extension__ ({ \
5687 poly16x4x4_t __b = (b); \
5688 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, 5); r; })
5689
5690 #if defined(__aarch64__)
5691 #define vldrq_p128(__a) __extension__ ({ \
5692 (poly128_t)__builtin_neon_vldrq_p128(__a); })
5693
5694 #endif
5695
5696 __ai int8x8_t vmax_s8(int8x8_t __a, int8x8_t __b) {
5697 return (int8x8_t)__builtin_neon_vmax_v(__a, __b, 0); }
5698 __ai int16x4_t vmax_s16(int16x4_t __a, int16x4_t __b) {
5699 return (int16x4_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 1); }
5700 __ai int32x2_t vmax_s32(int32x2_t __a, int32x2_t __b) {
5701 return (int32x2_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 2); }
5702 __ai uint8x8_t vmax_u8(uint8x8_t __a, uint8x8_t __b) {
5703 return (uint8x8_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 16); }
5704 __ai uint16x4_t vmax_u16(uint16x4_t __a, uint16x4_t __b) {
5705 return (uint16x4_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 17); }
5706 __ai uint32x2_t vmax_u32(uint32x2_t __a, uint32x2_t __b) {
5707 return (uint32x2_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 18); }
5708 __ai float32x2_t vmax_f32(float32x2_t __a, float32x2_t __b) {
5709 return (float32x2_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 9); }
5710 __ai int8x16_t vmaxq_s8(int8x16_t __a, int8x16_t __b) {
5711 return (int8x16_t)__builtin_neon_vmaxq_v(__a, __b, 32); }
5712 __ai int16x8_t vmaxq_s16(int16x8_t __a, int16x8_t __b) {
5713 return (int16x8_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
5714 __ai int32x4_t vmaxq_s32(int32x4_t __a, int32x4_t __b) {
5715 return (int32x4_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
5716 __ai uint8x16_t vmaxq_u8(uint8x16_t __a, uint8x16_t __b) {
5717 return (uint8x16_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 48); }
5718 __ai uint16x8_t vmaxq_u16(uint16x8_t __a, uint16x8_t __b) {
5719 return (uint16x8_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 49); }
5720 __ai uint32x4_t vmaxq_u32(uint32x4_t __a, uint32x4_t __b) {
5721 return (uint32x4_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 50); }
5722 __ai float32x4_t vmaxq_f32(float32x4_t __a, float32x4_t __b) {
5723 return (float32x4_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 41) ; }
5724
5725 #if defined(__aarch64__)
5726 __ai int8_t vmaxv_s8(int8x8_t __a) {
5727 return (int8_t)__builtin_neon_vmaxv_s8(__a); }
5728 __ai int16_t vmaxv_s16(int16x4_t __a) {
5729 return (int16_t)__builtin_neon_vmaxv_s16(__a); }
5730 __ai int32_t vmaxv_s32(int32x2_t __a) {
5731 return (int32_t)__builtin_neon_vmaxv_s32(__a); }
5732 __ai float32_t vmaxv_f32(float32x2_t __a) {
5733 return (float32_t)__builtin_neon_vmaxv_f32(__a); }
5734 __ai uint8_t vmaxv_u8(uint8x8_t __a) {
5735 return (uint8_t)__builtin_neon_vmaxv_u8((int8x8_t)__a); }
5736 __ai uint16_t vmaxv_u16(uint16x4_t __a) {
5737 return (uint16_t)__builtin_neon_vmaxv_u16((int16x4_t)__a); }
5738 __ai uint32_t vmaxv_u32(uint32x2_t __a) {
5739 return (uint32_t)__builtin_neon_vmaxv_u32((int32x2_t)__a); }
5740 __ai int8_t vmaxvq_s8(int8x16_t __a) {
5741 return (int8_t)__builtin_neon_vmaxvq_s8(__a); }
5742 __ai int16_t vmaxvq_s16(int16x8_t __a) {
5743 return (int16_t)__builtin_neon_vmaxvq_s16(__a); }
5744 __ai int32_t vmaxvq_s32(int32x4_t __a) {
5745 return (int32_t)__builtin_neon_vmaxvq_s32(__a); }
5746 __ai uint8_t vmaxvq_u8(uint8x16_t __a) {
5747 return (uint8_t)__builtin_neon_vmaxvq_u8((int8x16_t)__a); }
5748 __ai uint16_t vmaxvq_u16(uint16x8_t __a) {
5749 return (uint16_t)__builtin_neon_vmaxvq_u16((int16x8_t)__a); }
5750 __ai uint32_t vmaxvq_u32(uint32x4_t __a) {
5751 return (uint32_t)__builtin_neon_vmaxvq_u32((int32x4_t)__a); }
5752 __ai float32_t vmaxvq_f32(float32x4_t __a) {
5753 return (float32_t)__builtin_neon_vmaxvq_f32(__a); }
5754 __ai float64_t vmaxvq_f64(float64x2_t __a) {
5755 return (float64_t)__builtin_neon_vmaxvq_f64(__a); }
5756
5757 #endif
5758
5759 __ai int8x8_t vmin_s8(int8x8_t __a, int8x8_t __b) {
5760 return (int8x8_t)__builtin_neon_vmin_v(__a, __b, 0); }
5761 __ai int16x4_t vmin_s16(int16x4_t __a, int16x4_t __b) {
5762 return (int16x4_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 1); }
5763 __ai int32x2_t vmin_s32(int32x2_t __a, int32x2_t __b) {
5764 return (int32x2_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 2); }
5765 __ai uint8x8_t vmin_u8(uint8x8_t __a, uint8x8_t __b) {
5766 return (uint8x8_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 16); }
5767 __ai uint16x4_t vmin_u16(uint16x4_t __a, uint16x4_t __b) {
5768 return (uint16x4_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 17); }
5769 __ai uint32x2_t vmin_u32(uint32x2_t __a, uint32x2_t __b) {
5770 return (uint32x2_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 18); }
5771 __ai float32x2_t vmin_f32(float32x2_t __a, float32x2_t __b) {
5772 return (float32x2_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 9); }
5773 __ai int8x16_t vminq_s8(int8x16_t __a, int8x16_t __b) {
5774 return (int8x16_t)__builtin_neon_vminq_v(__a, __b, 32); }
5775 __ai int16x8_t vminq_s16(int16x8_t __a, int16x8_t __b) {
5776 return (int16x8_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
5777 __ai int32x4_t vminq_s32(int32x4_t __a, int32x4_t __b) {
5778 return (int32x4_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
5779 __ai uint8x16_t vminq_u8(uint8x16_t __a, uint8x16_t __b) {
5780 return (uint8x16_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 48); }
5781 __ai uint16x8_t vminq_u16(uint16x8_t __a, uint16x8_t __b) {
5782 return (uint16x8_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 49); }
5783 __ai uint32x4_t vminq_u32(uint32x4_t __a, uint32x4_t __b) {
5784 return (uint32x4_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 50); }
5785 __ai float32x4_t vminq_f32(float32x4_t __a, float32x4_t __b) {
5786 return (float32x4_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 41) ; }
5787
5788 #if defined(__aarch64__)
5789 __ai int8_t vminv_s8(int8x8_t __a) {
5790 return (int8_t)__builtin_neon_vminv_s8(__a); }
5791 __ai int16_t vminv_s16(int16x4_t __a) {
5792 return (int16_t)__builtin_neon_vminv_s16(__a); }
5793 __ai int32_t vminv_s32(int32x2_t __a) {
5794 return (int32_t)__builtin_neon_vminv_s32(__a); }
5795 __ai float32_t vminv_f32(float32x2_t __a) {
5796 return (float32_t)__builtin_neon_vminv_f32(__a); }
5797 __ai uint8_t vminv_u8(uint8x8_t __a) {
5798 return (uint8_t)__builtin_neon_vminv_u8((int8x8_t)__a); }
5799 __ai uint16_t vminv_u16(uint16x4_t __a) {
5800 return (uint16_t)__builtin_neon_vminv_u16((int16x4_t)__a); }
5801 __ai uint32_t vminv_u32(uint32x2_t __a) {
5802 return (uint32_t)__builtin_neon_vminv_u32((int32x2_t)__a); }
5803 __ai int8_t vminvq_s8(int8x16_t __a) {
5804 return (int8_t)__builtin_neon_vminvq_s8(__a); }
5805 __ai int16_t vminvq_s16(int16x8_t __a) {
5806 return (int16_t)__builtin_neon_vminvq_s16(__a); }
5807 __ai int32_t vminvq_s32(int32x4_t __a) {
5808 return (int32_t)__builtin_neon_vminvq_s32(__a); }
5809 __ai uint8_t vminvq_u8(uint8x16_t __a) {
5810 return (uint8_t)__builtin_neon_vminvq_u8((int8x16_t)__a); }
5811 __ai uint16_t vminvq_u16(uint16x8_t __a) {
5812 return (uint16_t)__builtin_neon_vminvq_u16((int16x8_t)__a); }
5813 __ai uint32_t vminvq_u32(uint32x4_t __a) {
5814 return (uint32_t)__builtin_neon_vminvq_u32((int32x4_t)__a); }
5815 __ai float32_t vminvq_f32(float32x4_t __a) {
5816 return (float32_t)__builtin_neon_vminvq_f32(__a); }
5817 __ai float64_t vminvq_f64(float64x2_t __a) {
5818 return (float64_t)__builtin_neon_vminvq_f64(__a); }
5819
5820 #endif
5821
5822 __ai int8x8_t vmla_s8(int8x8_t __a, int8x8_t __b, int8x8_t __c) {
5823 return __a + (__b * __c); }
5824 __ai int16x4_t vmla_s16(int16x4_t __a, int16x4_t __b, int16x4_t __c) {
5825 return __a + (__b * __c); }
5826 __ai int32x2_t vmla_s32(int32x2_t __a, int32x2_t __b, int32x2_t __c) {
5827 return __a + (__b * __c); }
5828 __ai float32x2_t vmla_f32(float32x2_t __a, float32x2_t __b, float32x2_t __c) {
5829 return __a + (__b * __c); }
5830 __ai uint8x8_t vmla_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) {
5831 return __a + (__b * __c); }
5832 __ai uint16x4_t vmla_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) {
5833 return __a + (__b * __c); }
5834 __ai uint32x2_t vmla_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) {
5835 return __a + (__b * __c); }
5836 __ai int8x16_t vmlaq_s8(int8x16_t __a, int8x16_t __b, int8x16_t __c) {
5837 return __a + (__b * __c); }
5838 __ai int16x8_t vmlaq_s16(int16x8_t __a, int16x8_t __b, int16x8_t __c) {
5839 return __a + (__b * __c); }
5840 __ai int32x4_t vmlaq_s32(int32x4_t __a, int32x4_t __b, int32x4_t __c) {
5841 return __a + (__b * __c); }
5842 __ai float32x4_t vmlaq_f32(float32x4_t __a, float32x4_t __b, float32x4_t __c) {
5843 return __a + (__b * __c); }
5844 __ai uint8x16_t vmlaq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) {
5845 return __a + (__b * __c); }
5846 __ai uint16x8_t vmlaq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) {
5847 return __a + (__b * __c); }
5848 __ai uint32x4_t vmlaq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) {
5849 return __a + (__b * __c); }
5850
5851 __ai int16x8_t vmlal_s8(int16x8_t __a, int8x8_t __b, int8x8_t __c) {
5852 return __a + vmull_s8(__b, __c); }
5853 __ai int32x4_t vmlal_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) {
5854 return __a + vmull_s16(__b, __c); }
5855 __ai int64x2_t vmlal_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) {
5856 return __a + vmull_s32(__b, __c); }
5857 __ai uint16x8_t vmlal_u8(uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) {
5858 return __a + vmull_u8(__b, __c); }
5859 __ai uint32x4_t vmlal_u16(uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) {
5860 return __a + vmull_u16(__b, __c); }
5861 __ai uint64x2_t vmlal_u32(uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) {
5862 return __a + vmull_u32(__b, __c); }
5863
5864 #if defined(__aarch64__)
5865 __ai int16x8_t vmlal_high_s8(int16x8_t __a, int8x16_t __b, int8x16_t __c) {
5866 return vmlal_s8(__a, vget_high_s8(__b), vget_high_s8(__c)); }
5867 __ai int32x4_t vmlal_high_s16(int32x4_t __a, int16x8_t __b, int16x8_t __c) {
5868 return vmlal_s16(__a, vget_high_s16(__b), vget_high_s16(__c)); }
5869 __ai int64x2_t vmlal_high_s32(int64x2_t __a, int32x4_t __b, int32x4_t __c) {
5870 return vmlal_s32(__a, vget_high_s32(__b), vget_high_s32(__c)); }
5871 __ai uint16x8_t vmlal_high_u8(uint16x8_t __a, uint8x16_t __b, uint8x16_t __c) {
5872 return vmlal_u8(__a, vget_high_u8(__b), vget_high_u8(__c)); }
5873 __ai uint32x4_t vmlal_high_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __c) {
5874 return vmlal_u16(__a, vget_high_u16(__b), vget_high_u16(__c)); }
5875 __ai uint64x2_t vmlal_high_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __c) {
5876 return vmlal_u32(__a, vget_high_u32(__b), vget_high_u32(__c)); }
5877
5878 #define vmlal_high_lane_s16(a, b, c, __d) __extension__ ({ \
5879 int32x4_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \
5880 __a + vmull_s16(vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __d , __d, __d)); })
5881 #define vmlal_high_lane_s32(a, b, c, __d) __extension__ ({ \
5882 int64x2_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \
5883 __a + vmull_s32(vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __d )); })
5884 #define vmlal_high_lane_u16(a, b, c, __d) __extension__ ({ \
5885 uint32x4_t __a = (a); uint16x8_t __b = (b); uint16x4_t __c = (c); \
5886 __a + vmull_u16(vget_high_u16(__b), __builtin_shufflevector(__c, __c, __d, __d , __d, __d)); })
5887 #define vmlal_high_lane_u32(a, b, c, __d) __extension__ ({ \
5888 uint64x2_t __a = (a); uint32x4_t __b = (b); uint32x2_t __c = (c); \
5889 __a + vmull_u32(vget_high_u32(__b), __builtin_shufflevector(__c, __c, __d, __d )); })
5890
5891 #define vmlal_high_laneq_s16(a, b, c, __d) __extension__ ({ \
5892 int32x4_t __a = (a); int16x8_t __b = (b); int16x8_t __c = (c); \
5893 __a + vmull_s16(vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __d , __d, __d)); })
5894 #define vmlal_high_laneq_s32(a, b, c, __d) __extension__ ({ \
5895 int64x2_t __a = (a); int32x4_t __b = (b); int32x4_t __c = (c); \
5896 __a + vmull_s32(vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __d )); })
5897 #define vmlal_high_laneq_u16(a, b, c, __d) __extension__ ({ \
5898 uint32x4_t __a = (a); uint16x8_t __b = (b); uint16x8_t __c = (c); \
5899 __a + vmull_u16(vget_high_u16(__b), __builtin_shufflevector(__c, __c, __d, __d , __d, __d)); })
5900 #define vmlal_high_laneq_u32(a, b, c, __d) __extension__ ({ \
5901 uint64x2_t __a = (a); uint32x4_t __b = (b); uint32x4_t __c = (c); \
5902 __a + vmull_u32(vget_high_u32(__b), __builtin_shufflevector(__c, __c, __d, __d )); })
5903
5904 __ai int32x4_t vmlal_high_n_s16(int32x4_t __a, int16x8_t __b, int16_t __c) {
5905 return vmlal_n_s16(__a, vget_high_s16(__b), __c); }
5906 __ai int64x2_t vmlal_high_n_s32(int64x2_t __a, int32x4_t __b, int32_t __c) {
5907 return vmlal_n_s32(__a, vget_high_s32(__b), __c); }
5908 __ai uint32x4_t vmlal_high_n_u16(uint32x4_t __a, uint16x8_t __b, uint16_t __c) {
5909 return vmlal_n_u16(__a, vget_high_u16(__b), __c); }
5910 __ai uint64x2_t vmlal_high_n_u32(uint64x2_t __a, uint32x4_t __b, uint32_t __c) {
5911 return vmlal_n_u32(__a, vget_high_u32(__b), __c); }
5912
5913 #endif
5914
5915 #define vmlal_lane_s16(a, b, c, __d) __extension__ ({ \
5916 int32x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \
5917 __a + vmull_s16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); } )
5918 #define vmlal_lane_s32(a, b, c, __d) __extension__ ({ \
5919 int64x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \
5920 __a + vmull_s32(__b, __builtin_shufflevector(__c, __c, __d, __d)); })
5921 #define vmlal_lane_u16(a, b, c, __d) __extension__ ({ \
5922 uint32x4_t __a = (a); uint16x4_t __b = (b); uint16x4_t __c = (c); \
5923 __a + vmull_u16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); } )
5924 #define vmlal_lane_u32(a, b, c, __d) __extension__ ({ \
5925 uint64x2_t __a = (a); uint32x2_t __b = (b); uint32x2_t __c = (c); \
5926 __a + vmull_u32(__b, __builtin_shufflevector(__c, __c, __d, __d)); })
5927
5928 #if defined(__aarch64__)
5929 #define vmlal_laneq_s16(a, b, c, __d) __extension__ ({ \
5930 int32x4_t __a = (a); int16x4_t __b = (b); int16x8_t __c = (c); \
5931 __a + vmull_s16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); } )
5932 #define vmlal_laneq_s32(a, b, c, __d) __extension__ ({ \
5933 int64x2_t __a = (a); int32x2_t __b = (b); int32x4_t __c = (c); \
5934 __a + vmull_s32(__b, __builtin_shufflevector(__c, __c, __d, __d)); })
5935 #define vmlal_laneq_u16(a, b, c, __d) __extension__ ({ \
5936 uint32x4_t __a = (a); uint16x4_t __b = (b); uint16x8_t __c = (c); \
5937 __a + vmull_u16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); } )
5938 #define vmlal_laneq_u32(a, b, c, __d) __extension__ ({ \
5939 uint64x2_t __a = (a); uint32x2_t __b = (b); uint32x4_t __c = (c); \
5940 __a + vmull_u32(__b, __builtin_shufflevector(__c, __c, __d, __d)); })
5941
5942 #endif
5943
5944 #define vmla_lane_s16(a, b, c, __d) __extension__ ({ \
5945 int16x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \
5946 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
5947 #define vmla_lane_s32(a, b, c, __d) __extension__ ({ \
5948 int32x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \
5949 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
5950 #define vmla_lane_u16(a, b, c, __d) __extension__ ({ \
5951 uint16x4_t __a = (a); uint16x4_t __b = (b); uint16x4_t __c = (c); \
5952 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
5953 #define vmla_lane_u32(a, b, c, __d) __extension__ ({ \
5954 uint32x2_t __a = (a); uint32x2_t __b = (b); uint32x2_t __c = (c); \
5955 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
5956 #define vmla_lane_f32(a, b, c, __d) __extension__ ({ \
5957 float32x2_t __a = (a); float32x2_t __b = (b); float32x2_t __c = (c); \
5958 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
5959 #define vmlaq_lane_s16(a, b, c, __d) __extension__ ({ \
5960 int16x8_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \
5961 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _ _d, __d)); })
5962 #define vmlaq_lane_s32(a, b, c, __d) __extension__ ({ \
5963 int32x4_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \
5964 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
5965 #define vmlaq_lane_u16(a, b, c, __d) __extension__ ({ \
5966 uint16x8_t __a = (a); uint16x8_t __b = (b); uint16x4_t __c = (c); \
5967 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _ _d, __d)); })
5968 #define vmlaq_lane_u32(a, b, c, __d) __extension__ ({ \
5969 uint32x4_t __a = (a); uint32x4_t __b = (b); uint32x2_t __c = (c); \
5970 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
5971 #define vmlaq_lane_f32(a, b, c, __d) __extension__ ({ \
5972 float32x4_t __a = (a); float32x4_t __b = (b); float32x2_t __c = (c); \
5973 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
5974
5975 #if defined(__aarch64__)
5976 #define vmla_laneq_s16(a, b, c, __d) __extension__ ({ \
5977 int16x4_t __a = (a); int16x4_t __b = (b); int16x8_t __c = (c); \
5978 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
5979 #define vmla_laneq_s32(a, b, c, __d) __extension__ ({ \
5980 int32x2_t __a = (a); int32x2_t __b = (b); int32x4_t __c = (c); \
5981 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
5982 #define vmla_laneq_u16(a, b, c, __d) __extension__ ({ \
5983 uint16x4_t __a = (a); uint16x4_t __b = (b); uint16x8_t __c = (c); \
5984 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
5985 #define vmla_laneq_u32(a, b, c, __d) __extension__ ({ \
5986 uint32x2_t __a = (a); uint32x2_t __b = (b); uint32x4_t __c = (c); \
5987 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
5988 #define vmla_laneq_f32(a, b, c, __d) __extension__ ({ \
5989 float32x2_t __a = (a); float32x2_t __b = (b); float32x4_t __c = (c); \
5990 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
5991 #define vmlaq_laneq_s16(a, b, c, __d) __extension__ ({ \
5992 int16x8_t __a = (a); int16x8_t __b = (b); int16x8_t __c = (c); \
5993 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _ _d, __d)); })
5994 #define vmlaq_laneq_s32(a, b, c, __d) __extension__ ({ \
5995 int32x4_t __a = (a); int32x4_t __b = (b); int32x4_t __c = (c); \
5996 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
5997 #define vmlaq_laneq_u16(a, b, c, __d) __extension__ ({ \
5998 uint16x8_t __a = (a); uint16x8_t __b = (b); uint16x8_t __c = (c); \
5999 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _ _d, __d)); })
6000 #define vmlaq_laneq_u32(a, b, c, __d) __extension__ ({ \
6001 uint32x4_t __a = (a); uint32x4_t __b = (b); uint32x4_t __c = (c); \
6002 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6003 #define vmlaq_laneq_f32(a, b, c, __d) __extension__ ({ \
6004 float32x4_t __a = (a); float32x4_t __b = (b); float32x4_t __c = (c); \
6005 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6006
6007 #endif
6008
6009 __ai int16x4_t vmla_n_s16(int16x4_t __a, int16x4_t __b, int16_t __c) {
6010 return __a + (__b * (int16x4_t){ __c, __c, __c, __c }); }
6011 __ai int32x2_t vmla_n_s32(int32x2_t __a, int32x2_t __b, int32_t __c) {
6012 return __a + (__b * (int32x2_t){ __c, __c }); }
6013 __ai uint16x4_t vmla_n_u16(uint16x4_t __a, uint16x4_t __b, uint16_t __c) {
6014 return __a + (__b * (uint16x4_t){ __c, __c, __c, __c }); }
6015 __ai uint32x2_t vmla_n_u32(uint32x2_t __a, uint32x2_t __b, uint32_t __c) {
6016 return __a + (__b * (uint32x2_t){ __c, __c }); }
6017 __ai float32x2_t vmla_n_f32(float32x2_t __a, float32x2_t __b, float32_t __c) {
6018 return __a + (__b * (float32x2_t){ __c, __c }); }
6019 __ai int16x8_t vmlaq_n_s16(int16x8_t __a, int16x8_t __b, int16_t __c) {
6020 return __a + (__b * (int16x8_t){ __c, __c, __c, __c, __c, __c, __c, __c }); }
6021 __ai int32x4_t vmlaq_n_s32(int32x4_t __a, int32x4_t __b, int32_t __c) {
6022 return __a + (__b * (int32x4_t){ __c, __c, __c, __c }); }
6023 __ai uint16x8_t vmlaq_n_u16(uint16x8_t __a, uint16x8_t __b, uint16_t __c) {
6024 return __a + (__b * (uint16x8_t){ __c, __c, __c, __c, __c, __c, __c, __c }); }
6025 __ai uint32x4_t vmlaq_n_u32(uint32x4_t __a, uint32x4_t __b, uint32_t __c) {
6026 return __a + (__b * (uint32x4_t){ __c, __c, __c, __c }); }
6027 __ai float32x4_t vmlaq_n_f32(float32x4_t __a, float32x4_t __b, float32_t __c) {
6028 return __a + (__b * (float32x4_t){ __c, __c, __c, __c }); }
6029
6030 __ai int8x8_t vmls_s8(int8x8_t __a, int8x8_t __b, int8x8_t __c) {
6031 return __a - (__b * __c); }
6032 __ai int16x4_t vmls_s16(int16x4_t __a, int16x4_t __b, int16x4_t __c) {
6033 return __a - (__b * __c); }
6034 __ai int32x2_t vmls_s32(int32x2_t __a, int32x2_t __b, int32x2_t __c) {
6035 return __a - (__b * __c); }
6036 __ai float32x2_t vmls_f32(float32x2_t __a, float32x2_t __b, float32x2_t __c) {
6037 return __a - (__b * __c); }
6038 __ai uint8x8_t vmls_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) {
6039 return __a - (__b * __c); }
6040 __ai uint16x4_t vmls_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) {
6041 return __a - (__b * __c); }
6042 __ai uint32x2_t vmls_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) {
6043 return __a - (__b * __c); }
6044 __ai int8x16_t vmlsq_s8(int8x16_t __a, int8x16_t __b, int8x16_t __c) {
6045 return __a - (__b * __c); }
6046 __ai int16x8_t vmlsq_s16(int16x8_t __a, int16x8_t __b, int16x8_t __c) {
6047 return __a - (__b * __c); }
6048 __ai int32x4_t vmlsq_s32(int32x4_t __a, int32x4_t __b, int32x4_t __c) {
6049 return __a - (__b * __c); }
6050 __ai float32x4_t vmlsq_f32(float32x4_t __a, float32x4_t __b, float32x4_t __c) {
6051 return __a - (__b * __c); }
6052 __ai uint8x16_t vmlsq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) {
6053 return __a - (__b * __c); }
6054 __ai uint16x8_t vmlsq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) {
6055 return __a - (__b * __c); }
6056 __ai uint32x4_t vmlsq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) {
6057 return __a - (__b * __c); }
6058
6059 __ai int16x8_t vmlsl_s8(int16x8_t __a, int8x8_t __b, int8x8_t __c) {
6060 return __a - vmull_s8(__b, __c); }
6061 __ai int32x4_t vmlsl_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) {
6062 return __a - vmull_s16(__b, __c); }
6063 __ai int64x2_t vmlsl_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) {
6064 return __a - vmull_s32(__b, __c); }
6065 __ai uint16x8_t vmlsl_u8(uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) {
6066 return __a - vmull_u8(__b, __c); }
6067 __ai uint32x4_t vmlsl_u16(uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) {
6068 return __a - vmull_u16(__b, __c); }
6069 __ai uint64x2_t vmlsl_u32(uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) {
6070 return __a - vmull_u32(__b, __c); }
6071
6072 #if defined(__aarch64__)
6073 __ai int16x8_t vmlsl_high_s8(int16x8_t __a, int8x16_t __b, int8x16_t __c) {
6074 return vmlsl_s8(__a, vget_high_s8(__b), vget_high_s8(__c)); }
6075 __ai int32x4_t vmlsl_high_s16(int32x4_t __a, int16x8_t __b, int16x8_t __c) {
6076 return vmlsl_s16(__a, vget_high_s16(__b), vget_high_s16(__c)); }
6077 __ai int64x2_t vmlsl_high_s32(int64x2_t __a, int32x4_t __b, int32x4_t __c) {
6078 return vmlsl_s32(__a, vget_high_s32(__b), vget_high_s32(__c)); }
6079 __ai uint16x8_t vmlsl_high_u8(uint16x8_t __a, uint8x16_t __b, uint8x16_t __c) {
6080 return vmlsl_u8(__a, vget_high_u8(__b), vget_high_u8(__c)); }
6081 __ai uint32x4_t vmlsl_high_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __c) {
6082 return vmlsl_u16(__a, vget_high_u16(__b), vget_high_u16(__c)); }
6083 __ai uint64x2_t vmlsl_high_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __c) {
6084 return vmlsl_u32(__a, vget_high_u32(__b), vget_high_u32(__c)); }
6085
6086 #define vmlsl_high_lane_s16(a, b, c, __d) __extension__ ({ \
6087 int32x4_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \
6088 __a - vmull_s16(vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __d , __d, __d)); })
6089 #define vmlsl_high_lane_s32(a, b, c, __d) __extension__ ({ \
6090 int64x2_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \
6091 __a - vmull_s32(vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __d )); })
6092 #define vmlsl_high_lane_u16(a, b, c, __d) __extension__ ({ \
6093 uint32x4_t __a = (a); uint16x8_t __b = (b); uint16x4_t __c = (c); \
6094 __a - vmull_u16(vget_high_u16(__b), __builtin_shufflevector(__c, __c, __d, __d , __d, __d)); })
6095 #define vmlsl_high_lane_u32(a, b, c, __d) __extension__ ({ \
6096 uint64x2_t __a = (a); uint32x4_t __b = (b); uint32x2_t __c = (c); \
6097 __a - vmull_u32(vget_high_u32(__b), __builtin_shufflevector(__c, __c, __d, __d )); })
6098
6099 #define vmlsl_high_laneq_s16(a, b, c, __d) __extension__ ({ \
6100 int32x4_t __a = (a); int16x8_t __b = (b); int16x8_t __c = (c); \
6101 __a - vmull_s16(vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __d , __d, __d)); })
6102 #define vmlsl_high_laneq_s32(a, b, c, __d) __extension__ ({ \
6103 int64x2_t __a = (a); int32x4_t __b = (b); int32x4_t __c = (c); \
6104 __a - vmull_s32(vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __d )); })
6105 #define vmlsl_high_laneq_u16(a, b, c, __d) __extension__ ({ \
6106 uint32x4_t __a = (a); uint16x8_t __b = (b); uint16x8_t __c = (c); \
6107 __a - vmull_u16(vget_high_u16(__b), __builtin_shufflevector(__c, __c, __d, __d , __d, __d)); })
6108 #define vmlsl_high_laneq_u32(a, b, c, __d) __extension__ ({ \
6109 uint64x2_t __a = (a); uint32x4_t __b = (b); uint32x4_t __c = (c); \
6110 __a - vmull_u32(vget_high_u32(__b), __builtin_shufflevector(__c, __c, __d, __d )); })
6111
6112 __ai int32x4_t vmlsl_high_n_s16(int32x4_t __a, int16x8_t __b, int16_t __c) {
6113 return vmlsl_n_s16(__a, vget_high_s16(__b), __c); }
6114 __ai int64x2_t vmlsl_high_n_s32(int64x2_t __a, int32x4_t __b, int32_t __c) {
6115 return vmlsl_n_s32(__a, vget_high_s32(__b), __c); }
6116 __ai uint32x4_t vmlsl_high_n_u16(uint32x4_t __a, uint16x8_t __b, uint16_t __c) {
6117 return vmlsl_n_u16(__a, vget_high_u16(__b), __c); }
6118 __ai uint64x2_t vmlsl_high_n_u32(uint64x2_t __a, uint32x4_t __b, uint32_t __c) {
6119 return vmlsl_n_u32(__a, vget_high_u32(__b), __c); }
6120
6121 #endif
6122
6123 #define vmlsl_lane_s16(a, b, c, __d) __extension__ ({ \
6124 int32x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \
6125 __a - vmull_s16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); } )
6126 #define vmlsl_lane_s32(a, b, c, __d) __extension__ ({ \
6127 int64x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \
6128 __a - vmull_s32(__b, __builtin_shufflevector(__c, __c, __d, __d)); })
6129 #define vmlsl_lane_u16(a, b, c, __d) __extension__ ({ \
6130 uint32x4_t __a = (a); uint16x4_t __b = (b); uint16x4_t __c = (c); \
6131 __a - vmull_u16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); } )
6132 #define vmlsl_lane_u32(a, b, c, __d) __extension__ ({ \
6133 uint64x2_t __a = (a); uint32x2_t __b = (b); uint32x2_t __c = (c); \
6134 __a - vmull_u32(__b, __builtin_shufflevector(__c, __c, __d, __d)); })
6135
6136 #if defined(__aarch64__)
6137 #define vmlsl_laneq_s16(a, b, c, __d) __extension__ ({ \
6138 int32x4_t __a = (a); int16x4_t __b = (b); int16x8_t __c = (c); \
6139 __a - vmull_s16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); } )
6140 #define vmlsl_laneq_s32(a, b, c, __d) __extension__ ({ \
6141 int64x2_t __a = (a); int32x2_t __b = (b); int32x4_t __c = (c); \
6142 __a - vmull_s32(__b, __builtin_shufflevector(__c, __c, __d, __d)); })
6143 #define vmlsl_laneq_u16(a, b, c, __d) __extension__ ({ \
6144 uint32x4_t __a = (a); uint16x4_t __b = (b); uint16x8_t __c = (c); \
6145 __a - vmull_u16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); } )
6146 #define vmlsl_laneq_u32(a, b, c, __d) __extension__ ({ \
6147 uint64x2_t __a = (a); uint32x2_t __b = (b); uint32x4_t __c = (c); \
6148 __a - vmull_u32(__b, __builtin_shufflevector(__c, __c, __d, __d)); })
6149
6150 #endif
6151
6152 #define vmls_lane_s16(a, b, c, __d) __extension__ ({ \
6153 int16x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \
6154 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6155 #define vmls_lane_s32(a, b, c, __d) __extension__ ({ \
6156 int32x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \
6157 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
6158 #define vmls_lane_u16(a, b, c, __d) __extension__ ({ \
6159 uint16x4_t __a = (a); uint16x4_t __b = (b); uint16x4_t __c = (c); \
6160 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6161 #define vmls_lane_u32(a, b, c, __d) __extension__ ({ \
6162 uint32x2_t __a = (a); uint32x2_t __b = (b); uint32x2_t __c = (c); \
6163 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
6164 #define vmls_lane_f32(a, b, c, __d) __extension__ ({ \
6165 float32x2_t __a = (a); float32x2_t __b = (b); float32x2_t __c = (c); \
6166 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
6167 #define vmlsq_lane_s16(a, b, c, __d) __extension__ ({ \
6168 int16x8_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \
6169 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _ _d, __d)); })
6170 #define vmlsq_lane_s32(a, b, c, __d) __extension__ ({ \
6171 int32x4_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \
6172 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6173 #define vmlsq_lane_u16(a, b, c, __d) __extension__ ({ \
6174 uint16x8_t __a = (a); uint16x8_t __b = (b); uint16x4_t __c = (c); \
6175 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _ _d, __d)); })
6176 #define vmlsq_lane_u32(a, b, c, __d) __extension__ ({ \
6177 uint32x4_t __a = (a); uint32x4_t __b = (b); uint32x2_t __c = (c); \
6178 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6179 #define vmlsq_lane_f32(a, b, c, __d) __extension__ ({ \
6180 float32x4_t __a = (a); float32x4_t __b = (b); float32x2_t __c = (c); \
6181 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6182
6183 #if defined(__aarch64__)
6184 #define vmls_laneq_s16(a, b, c, __d) __extension__ ({ \
6185 int16x4_t __a = (a); int16x4_t __b = (b); int16x8_t __c = (c); \
6186 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6187 #define vmls_laneq_s32(a, b, c, __d) __extension__ ({ \
6188 int32x2_t __a = (a); int32x2_t __b = (b); int32x4_t __c = (c); \
6189 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
6190 #define vmls_laneq_u16(a, b, c, __d) __extension__ ({ \
6191 uint16x4_t __a = (a); uint16x4_t __b = (b); uint16x8_t __c = (c); \
6192 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6193 #define vmls_laneq_u32(a, b, c, __d) __extension__ ({ \
6194 uint32x2_t __a = (a); uint32x2_t __b = (b); uint32x4_t __c = (c); \
6195 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
6196 #define vmls_laneq_f32(a, b, c, __d) __extension__ ({ \
6197 float32x2_t __a = (a); float32x2_t __b = (b); float32x4_t __c = (c); \
6198 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); })
6199 #define vmlsq_laneq_s16(a, b, c, __d) __extension__ ({ \
6200 int16x8_t __a = (a); int16x8_t __b = (b); int16x8_t __c = (c); \
6201 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _ _d, __d)); })
6202 #define vmlsq_laneq_s32(a, b, c, __d) __extension__ ({ \
6203 int32x4_t __a = (a); int32x4_t __b = (b); int32x4_t __c = (c); \
6204 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6205 #define vmlsq_laneq_u16(a, b, c, __d) __extension__ ({ \
6206 uint16x8_t __a = (a); uint16x8_t __b = (b); uint16x8_t __c = (c); \
6207 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _ _d, __d)); })
6208 #define vmlsq_laneq_u32(a, b, c, __d) __extension__ ({ \
6209 uint32x4_t __a = (a); uint32x4_t __b = (b); uint32x4_t __c = (c); \
6210 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6211 #define vmlsq_laneq_f32(a, b, c, __d) __extension__ ({ \
6212 float32x4_t __a = (a); float32x4_t __b = (b); float32x4_t __c = (c); \
6213 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6214
6215 #endif
6216
6217 __ai int16x4_t vmls_n_s16(int16x4_t __a, int16x4_t __b, int16_t __c) {
6218 return __a - (__b * (int16x4_t){ __c, __c, __c, __c }); }
6219 __ai int32x2_t vmls_n_s32(int32x2_t __a, int32x2_t __b, int32_t __c) {
6220 return __a - (__b * (int32x2_t){ __c, __c }); }
6221 __ai uint16x4_t vmls_n_u16(uint16x4_t __a, uint16x4_t __b, uint16_t __c) {
6222 return __a - (__b * (uint16x4_t){ __c, __c, __c, __c }); }
6223 __ai uint32x2_t vmls_n_u32(uint32x2_t __a, uint32x2_t __b, uint32_t __c) {
6224 return __a - (__b * (uint32x2_t){ __c, __c }); }
6225 __ai float32x2_t vmls_n_f32(float32x2_t __a, float32x2_t __b, float32_t __c) {
6226 return __a - (__b * (float32x2_t){ __c, __c }); }
6227 __ai int16x8_t vmlsq_n_s16(int16x8_t __a, int16x8_t __b, int16_t __c) {
6228 return __a - (__b * (int16x8_t){ __c, __c, __c, __c, __c, __c, __c, __c }); }
6229 __ai int32x4_t vmlsq_n_s32(int32x4_t __a, int32x4_t __b, int32_t __c) {
6230 return __a - (__b * (int32x4_t){ __c, __c, __c, __c }); }
6231 __ai uint16x8_t vmlsq_n_u16(uint16x8_t __a, uint16x8_t __b, uint16_t __c) {
6232 return __a - (__b * (uint16x8_t){ __c, __c, __c, __c, __c, __c, __c, __c }); }
6233 __ai uint32x4_t vmlsq_n_u32(uint32x4_t __a, uint32x4_t __b, uint32_t __c) {
6234 return __a - (__b * (uint32x4_t){ __c, __c, __c, __c }); }
6235 __ai float32x4_t vmlsq_n_f32(float32x4_t __a, float32x4_t __b, float32_t __c) {
6236 return __a - (__b * (float32x4_t){ __c, __c, __c, __c }); }
6237
6238 __ai int8x8_t vmovn_s16(int16x8_t __a) {
6239 return (int8x8_t)__builtin_neon_vmovn_v((int8x16_t)__a, 0); }
6240 __ai int16x4_t vmovn_s32(int32x4_t __a) {
6241 return (int16x4_t)__builtin_neon_vmovn_v((int8x16_t)__a, 1); }
6242 __ai int32x2_t vmovn_s64(int64x2_t __a) {
6243 return (int32x2_t)__builtin_neon_vmovn_v((int8x16_t)__a, 2); }
6244 __ai uint8x8_t vmovn_u16(uint16x8_t __a) {
6245 return (uint8x8_t)__builtin_neon_vmovn_v((int8x16_t)__a, 16); }
6246 __ai uint16x4_t vmovn_u32(uint32x4_t __a) {
6247 return (uint16x4_t)__builtin_neon_vmovn_v((int8x16_t)__a, 17); }
6248 __ai uint32x2_t vmovn_u64(uint64x2_t __a) {
6249 return (uint32x2_t)__builtin_neon_vmovn_v((int8x16_t)__a, 18); }
6250
6251 __ai uint8x8_t vmov_n_u8(uint8_t __a) {
6252 return (uint8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
6253 __ai uint16x4_t vmov_n_u16(uint16_t __a) {
6254 return (uint16x4_t){ __a, __a, __a, __a }; }
6255 __ai uint32x2_t vmov_n_u32(uint32_t __a) {
6256 return (uint32x2_t){ __a, __a }; }
6257 __ai int8x8_t vmov_n_s8(int8_t __a) {
6258 return (int8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
6259 __ai int16x4_t vmov_n_s16(int16_t __a) {
6260 return (int16x4_t){ __a, __a, __a, __a }; }
6261 __ai int32x2_t vmov_n_s32(int32_t __a) {
6262 return (int32x2_t){ __a, __a }; }
6263 __ai poly8x8_t vmov_n_p8(poly8_t __a) {
6264 return (poly8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
6265 __ai poly16x4_t vmov_n_p16(poly16_t __a) {
6266 return (poly16x4_t){ __a, __a, __a, __a }; }
6267 #define vmov_n_f16(a) __extension__ ({ \
6268 float16_t __a = (a); \
6269 (float16x4_t){ __a, __a, __a, __a }; })
6270 __ai float32x2_t vmov_n_f32(float32_t __a) {
6271 return (float32x2_t){ __a, __a }; }
6272 __ai uint8x16_t vmovq_n_u8(uint8_t __a) {
6273 return (uint8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __ a, __a, __a, __a, __a }; }
6274 __ai uint16x8_t vmovq_n_u16(uint16_t __a) {
6275 return (uint16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
6276 __ai uint32x4_t vmovq_n_u32(uint32_t __a) {
6277 return (uint32x4_t){ __a, __a, __a, __a }; }
6278 __ai int8x16_t vmovq_n_s8(int8_t __a) {
6279 return (int8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a , __a, __a, __a, __a }; }
6280 __ai int16x8_t vmovq_n_s16(int16_t __a) {
6281 return (int16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
6282 __ai int32x4_t vmovq_n_s32(int32_t __a) {
6283 return (int32x4_t){ __a, __a, __a, __a }; }
6284 __ai poly8x16_t vmovq_n_p8(poly8_t __a) {
6285 return (poly8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __ a, __a, __a, __a, __a }; }
6286 __ai poly16x8_t vmovq_n_p16(poly16_t __a) {
6287 return (poly16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }
6288 #define vmovq_n_f16(a) __extension__ ({ \
6289 float16_t __a = (a); \
6290 (float16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; })
6291 __ai float32x4_t vmovq_n_f32(float32_t __a) {
6292 return (float32x4_t){ __a, __a, __a, __a }; }
6293 __ai int64x1_t vmov_n_s64(int64_t __a) {
6294 return (int64x1_t){ __a }; }
6295 __ai uint64x1_t vmov_n_u64(uint64_t __a) {
6296 return (uint64x1_t){ __a }; }
6297 __ai int64x2_t vmovq_n_s64(int64_t __a) {
6298 return (int64x2_t){ __a, __a }; }
6299 __ai uint64x2_t vmovq_n_u64(uint64_t __a) {
6300 return (uint64x2_t){ __a, __a }; }
6301
6302 __ai int8x8_t vmul_s8(int8x8_t __a, int8x8_t __b) {
6303 return __a * __b; }
6304 __ai int16x4_t vmul_s16(int16x4_t __a, int16x4_t __b) {
6305 return __a * __b; }
6306 __ai int32x2_t vmul_s32(int32x2_t __a, int32x2_t __b) {
6307 return __a * __b; }
6308 __ai float32x2_t vmul_f32(float32x2_t __a, float32x2_t __b) {
6309 return __a * __b; }
6310 __ai uint8x8_t vmul_u8(uint8x8_t __a, uint8x8_t __b) {
6311 return __a * __b; }
6312 __ai uint16x4_t vmul_u16(uint16x4_t __a, uint16x4_t __b) {
6313 return __a * __b; }
6314 __ai uint32x2_t vmul_u32(uint32x2_t __a, uint32x2_t __b) {
6315 return __a * __b; }
6316 __ai int8x16_t vmulq_s8(int8x16_t __a, int8x16_t __b) {
6317 return __a * __b; }
6318 __ai int16x8_t vmulq_s16(int16x8_t __a, int16x8_t __b) {
6319 return __a * __b; }
6320 __ai int32x4_t vmulq_s32(int32x4_t __a, int32x4_t __b) {
6321 return __a * __b; }
6322 __ai float32x4_t vmulq_f32(float32x4_t __a, float32x4_t __b) {
6323 return __a * __b; }
6324 __ai uint8x16_t vmulq_u8(uint8x16_t __a, uint8x16_t __b) {
6325 return __a * __b; }
6326 __ai uint16x8_t vmulq_u16(uint16x8_t __a, uint16x8_t __b) {
6327 return __a * __b; }
6328 __ai uint32x4_t vmulq_u32(uint32x4_t __a, uint32x4_t __b) {
6329 return __a * __b; }
6330
6331 #if defined(__aarch64__)
6332 __ai int16x8_t vmull_high_s8(int8x16_t __a, int8x16_t __b) {
6333 return vmull_s8(vget_high_s8(__a), vget_high_s8(__b)); }
6334 __ai int32x4_t vmull_high_s16(int16x8_t __a, int16x8_t __b) {
6335 return vmull_s16(vget_high_s16(__a), vget_high_s16(__b)); }
6336 __ai int64x2_t vmull_high_s32(int32x4_t __a, int32x4_t __b) {
6337 return vmull_s32(vget_high_s32(__a), vget_high_s32(__b)); }
6338 __ai uint16x8_t vmull_high_u8(uint8x16_t __a, uint8x16_t __b) {
6339 return vmull_u8(vget_high_u8(__a), vget_high_u8(__b)); }
6340 __ai uint32x4_t vmull_high_u16(uint16x8_t __a, uint16x8_t __b) {
6341 return vmull_u16(vget_high_u16(__a), vget_high_u16(__b)); }
6342 __ai uint64x2_t vmull_high_u32(uint32x4_t __a, uint32x4_t __b) {
6343 return vmull_u32(vget_high_u32(__a), vget_high_u32(__b)); }
6344 __ai poly16x8_t vmull_high_p8(poly8x16_t __a, poly8x16_t __b) {
6345 return vmull_p8(vget_high_p8(__a), vget_high_p8(__b)); }
6346
6347 #define vmull_high_lane_s16(a, b, __c) __extension__ ({ \
6348 int16x8_t __a = (a); int16x4_t __b = (b); \
6349 vmull_s16(vget_high_s16(__a), __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6350 #define vmull_high_lane_s32(a, b, __c) __extension__ ({ \
6351 int32x4_t __a = (a); int32x2_t __b = (b); \
6352 vmull_s32(vget_high_s32(__a), __builtin_shufflevector(__b, __b, __c, __c)); })
6353 #define vmull_high_lane_u16(a, b, __c) __extension__ ({ \
6354 uint16x8_t __a = (a); uint16x4_t __b = (b); \
6355 vmull_u16(vget_high_u16(__a), __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6356 #define vmull_high_lane_u32(a, b, __c) __extension__ ({ \
6357 uint32x4_t __a = (a); uint32x2_t __b = (b); \
6358 vmull_u32(vget_high_u32(__a), __builtin_shufflevector(__b, __b, __c, __c)); })
6359
6360 #define vmull_high_laneq_s16(a, b, __c) __extension__ ({ \
6361 int16x8_t __a = (a); int16x8_t __b = (b); \
6362 vmull_s16(vget_high_s16(__a), __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6363 #define vmull_high_laneq_s32(a, b, __c) __extension__ ({ \
6364 int32x4_t __a = (a); int32x4_t __b = (b); \
6365 vmull_s32(vget_high_s32(__a), __builtin_shufflevector(__b, __b, __c, __c)); })
6366 #define vmull_high_laneq_u16(a, b, __c) __extension__ ({ \
6367 uint16x8_t __a = (a); uint16x8_t __b = (b); \
6368 vmull_u16(vget_high_u16(__a), __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6369 #define vmull_high_laneq_u32(a, b, __c) __extension__ ({ \
6370 uint32x4_t __a = (a); uint32x4_t __b = (b); \
6371 vmull_u32(vget_high_u32(__a), __builtin_shufflevector(__b, __b, __c, __c)); })
6372
6373 __ai int32x4_t vmull_high_n_s16(int16x8_t __a, int16_t __b) {
6374 return vmull_n_s16(vget_high_s16(__a), __b); }
6375 __ai int64x2_t vmull_high_n_s32(int32x4_t __a, int32_t __b) {
6376 return vmull_n_s32(vget_high_s32(__a), __b); }
6377 __ai uint32x4_t vmull_high_n_u16(uint16x8_t __a, uint16_t __b) {
6378 return vmull_n_u16(vget_high_u16(__a), __b); }
6379 __ai uint64x2_t vmull_high_n_u32(uint32x4_t __a, uint32_t __b) {
6380 return vmull_n_u32(vget_high_u32(__a), __b); }
6381
6382 __ai poly128_t vmull_high_p64(poly64x2_t __a, poly64x2_t __b) {
6383 return vmull_p64((poly64_t)vget_high_p64(__a), (poly64_t)vget_high_p64(__b)); }
6384
6385 #endif
6386
6387 #define vmull_lane_s16(a, b, __c) __extension__ ({ \
6388 int16x4_t __a = (a); int16x4_t __b = (b); \
6389 vmull_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6390 #define vmull_lane_s32(a, b, __c) __extension__ ({ \
6391 int32x2_t __a = (a); int32x2_t __b = (b); \
6392 vmull_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
6393 #define vmull_lane_u16(a, b, __c) __extension__ ({ \
6394 uint16x4_t __a = (a); uint16x4_t __b = (b); \
6395 vmull_u16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6396 #define vmull_lane_u32(a, b, __c) __extension__ ({ \
6397 uint32x2_t __a = (a); uint32x2_t __b = (b); \
6398 vmull_u32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
6399
6400 #if defined(__aarch64__)
6401 #define vmull_laneq_s16(a, b, __c) __extension__ ({ \
6402 int16x4_t __a = (a); int16x8_t __b = (b); \
6403 vmull_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6404 #define vmull_laneq_s32(a, b, __c) __extension__ ({ \
6405 int32x2_t __a = (a); int32x4_t __b = (b); \
6406 vmull_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
6407 #define vmull_laneq_u16(a, b, __c) __extension__ ({ \
6408 uint16x4_t __a = (a); uint16x8_t __b = (b); \
6409 vmull_u16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6410 #define vmull_laneq_u32(a, b, __c) __extension__ ({ \
6411 uint32x2_t __a = (a); uint32x4_t __b = (b); \
6412 vmull_u32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
6413
6414 #endif
6415
6416 __ai poly8x8_t vmul_p8(poly8x8_t __a, poly8x8_t __b) {
6417 return (poly8x8_t)__builtin_neon_vmul_v((int8x8_t)__a, (int8x8_t)__b, 4); }
6418 __ai poly8x16_t vmulq_p8(poly8x16_t __a, poly8x16_t __b) {
6419 return (poly8x16_t)__builtin_neon_vmulq_v((int8x16_t)__a, (int8x16_t)__b, 36); }
6420
6421 #if defined(__aarch64__)
6422 #define vmulx_lane_f32(a, b, __c) __extension__ ({ \
6423 float32x2_t __a = (a); float32x2_t __b = (b); \
6424 vmulx_f32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
6425 #define vmulxq_lane_f32(a, b, __c) __extension__ ({ \
6426 float32x4_t __a = (a); float32x2_t __b = (b); \
6427 vmulxq_f32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6428 #define vmulxq_lane_f64(a, b, __c) __extension__ ({ \
6429 float64x2_t __a = (a); float64x1_t __b = (b); \
6430 vmulxq_f64(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
6431
6432 #define vmulx_laneq_f32(a, b, __c) __extension__ ({ \
6433 float32x2_t __a = (a); float32x4_t __b = (b); \
6434 vmulx_f32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
6435 #define vmulxq_laneq_f32(a, b, __c) __extension__ ({ \
6436 float32x4_t __a = (a); float32x4_t __b = (b); \
6437 vmulxq_f32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6438 #define vmulxq_laneq_f64(a, b, __c) __extension__ ({ \
6439 float64x2_t __a = (a); float64x2_t __b = (b); \
6440 vmulxq_f64(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
6441
6442 #endif
6443
6444 #define vmul_lane_s16(a, b, __c) __extension__ ({ \
6445 int16x4_t __a = (a); int16x4_t __b = (b); \
6446 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
6447 #define vmul_lane_s32(a, b, __c) __extension__ ({ \
6448 int32x2_t __a = (a); int32x2_t __b = (b); \
6449 __a * __builtin_shufflevector(__b, __b, __c, __c); })
6450 #define vmul_lane_f32(a, b, __c) __extension__ ({ \
6451 float32x2_t __a = (a); float32x2_t __b = (b); \
6452 __a * __builtin_shufflevector(__b, __b, __c, __c); })
6453 #define vmul_lane_u16(a, b, __c) __extension__ ({ \
6454 uint16x4_t __a = (a); uint16x4_t __b = (b); \
6455 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
6456 #define vmul_lane_u32(a, b, __c) __extension__ ({ \
6457 uint32x2_t __a = (a); uint32x2_t __b = (b); \
6458 __a * __builtin_shufflevector(__b, __b, __c, __c); })
6459 #define vmulq_lane_s16(a, b, __c) __extension__ ({ \
6460 int16x8_t __a = (a); int16x4_t __b = (b); \
6461 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, __c, __c, __c ); })
6462 #define vmulq_lane_s32(a, b, __c) __extension__ ({ \
6463 int32x4_t __a = (a); int32x2_t __b = (b); \
6464 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
6465 #define vmulq_lane_f32(a, b, __c) __extension__ ({ \
6466 float32x4_t __a = (a); float32x2_t __b = (b); \
6467 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
6468 #define vmulq_lane_u16(a, b, __c) __extension__ ({ \
6469 uint16x8_t __a = (a); uint16x4_t __b = (b); \
6470 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, __c, __c, __c ); })
6471 #define vmulq_lane_u32(a, b, __c) __extension__ ({ \
6472 uint32x4_t __a = (a); uint32x2_t __b = (b); \
6473 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
6474
6475 #if defined(__aarch64__)
6476 #define vmul_laneq_s16(a, b, __c) __extension__ ({ \
6477 int16x4_t __a = (a); int16x8_t __b = (b); \
6478 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
6479 #define vmul_laneq_s32(a, b, __c) __extension__ ({ \
6480 int32x2_t __a = (a); int32x4_t __b = (b); \
6481 __a * __builtin_shufflevector(__b, __b, __c, __c); })
6482 #define vmul_laneq_f32(a, b, __c) __extension__ ({ \
6483 float32x2_t __a = (a); float32x4_t __b = (b); \
6484 __a * __builtin_shufflevector(__b, __b, __c, __c); })
6485 #define vmul_laneq_u16(a, b, __c) __extension__ ({ \
6486 uint16x4_t __a = (a); uint16x8_t __b = (b); \
6487 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
6488 #define vmul_laneq_u32(a, b, __c) __extension__ ({ \
6489 uint32x2_t __a = (a); uint32x4_t __b = (b); \
6490 __a * __builtin_shufflevector(__b, __b, __c, __c); })
6491 #define vmulq_laneq_s16(a, b, __c) __extension__ ({ \
6492 int16x8_t __a = (a); int16x8_t __b = (b); \
6493 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, __c, __c, __c ); })
6494 #define vmulq_laneq_s32(a, b, __c) __extension__ ({ \
6495 int32x4_t __a = (a); int32x4_t __b = (b); \
6496 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
6497 #define vmulq_laneq_u16(a, b, __c) __extension__ ({ \
6498 uint16x8_t __a = (a); uint16x8_t __b = (b); \
6499 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, __c, __c, __c ); })
6500 #define vmulq_laneq_u32(a, b, __c) __extension__ ({ \
6501 uint32x4_t __a = (a); uint32x4_t __b = (b); \
6502 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
6503 #define vmulq_laneq_f32(a, b, __c) __extension__ ({ \
6504 float32x4_t __a = (a); float32x4_t __b = (b); \
6505 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); })
6506 #define vmulq_laneq_f64(a, b, __c) __extension__ ({ \
6507 float64x2_t __a = (a); float64x2_t __b = (b); \
6508 __a * __builtin_shufflevector(__b, __b, __c, __c); })
6509
6510 #define vmulq_lane_f64(a, b, __c) __extension__ ({ \
6511 float64x2_t __a = (a); float64x1_t __b = (b); \
6512 __a * __builtin_shufflevector(__b, __b, __c, __c); })
6513
6514 #endif
6515
6516 __ai int16x4_t vmul_n_s16(int16x4_t __a, int16_t __b) {
6517 return __a * (int16x4_t){ __b, __b, __b, __b }; }
6518 __ai int32x2_t vmul_n_s32(int32x2_t __a, int32_t __b) {
6519 return __a * (int32x2_t){ __b, __b }; }
6520 __ai float32x2_t vmul_n_f32(float32x2_t __a, float32_t __b) {
6521 return __a * (float32x2_t){ __b, __b }; }
6522 __ai uint16x4_t vmul_n_u16(uint16x4_t __a, uint16_t __b) {
6523 return __a * (uint16x4_t){ __b, __b, __b, __b }; }
6524 __ai uint32x2_t vmul_n_u32(uint32x2_t __a, uint32_t __b) {
6525 return __a * (uint32x2_t){ __b, __b }; }
6526 __ai int16x8_t vmulq_n_s16(int16x8_t __a, int16_t __b) {
6527 return __a * (int16x8_t){ __b, __b, __b, __b, __b, __b, __b, __b }; }
6528 __ai int32x4_t vmulq_n_s32(int32x4_t __a, int32_t __b) {
6529 return __a * (int32x4_t){ __b, __b, __b, __b }; }
6530 __ai float32x4_t vmulq_n_f32(float32x4_t __a, float32_t __b) {
6531 return __a * (float32x4_t){ __b, __b, __b, __b }; }
6532 __ai uint16x8_t vmulq_n_u16(uint16x8_t __a, uint16_t __b) {
6533 return __a * (uint16x8_t){ __b, __b, __b, __b, __b, __b, __b, __b }; }
6534 __ai uint32x4_t vmulq_n_u32(uint32x4_t __a, uint32_t __b) {
6535 return __a * (uint32x4_t){ __b, __b, __b, __b }; }
6536
6537 #if defined(__aarch64__)
6538 __ai float64x2_t vmulq_n_f64(float64x2_t __a, float64_t __b) {
6539 return __a * (float64x2_t){ __b, __b }; }
6540
6541 #endif
6542
6543 __ai int8x8_t vmvn_s8(int8x8_t __a) {
6544 return ~__a; }
6545 __ai int16x4_t vmvn_s16(int16x4_t __a) {
6546 return ~__a; }
6547 __ai int32x2_t vmvn_s32(int32x2_t __a) {
6548 return ~__a; }
6549 __ai uint8x8_t vmvn_u8(uint8x8_t __a) {
6550 return ~__a; }
6551 __ai uint16x4_t vmvn_u16(uint16x4_t __a) {
6552 return ~__a; }
6553 __ai uint32x2_t vmvn_u32(uint32x2_t __a) {
6554 return ~__a; }
6555 __ai poly8x8_t vmvn_p8(poly8x8_t __a) {
6556 return ~__a; }
6557 __ai int8x16_t vmvnq_s8(int8x16_t __a) {
6558 return ~__a; }
6559 __ai int16x8_t vmvnq_s16(int16x8_t __a) {
6560 return ~__a; }
6561 __ai int32x4_t vmvnq_s32(int32x4_t __a) {
6562 return ~__a; }
6563 __ai uint8x16_t vmvnq_u8(uint8x16_t __a) {
6564 return ~__a; }
6565 __ai uint16x8_t vmvnq_u16(uint16x8_t __a) {
6566 return ~__a; }
6567 __ai uint32x4_t vmvnq_u32(uint32x4_t __a) {
6568 return ~__a; }
6569 __ai poly8x16_t vmvnq_p8(poly8x16_t __a) {
6570 return ~__a; }
6571
6572 __ai int8x8_t vneg_s8(int8x8_t __a) {
6573 return -__a; }
6574 __ai int16x4_t vneg_s16(int16x4_t __a) {
6575 return -__a; }
6576 __ai int32x2_t vneg_s32(int32x2_t __a) {
6577 return -__a; }
6578 __ai float32x2_t vneg_f32(float32x2_t __a) {
6579 return -__a; }
6580 __ai int8x16_t vnegq_s8(int8x16_t __a) {
6581 return -__a; }
6582 __ai int16x8_t vnegq_s16(int16x8_t __a) {
6583 return -__a; }
6584 __ai int32x4_t vnegq_s32(int32x4_t __a) {
6585 return -__a; }
6586 __ai float32x4_t vnegq_f32(float32x4_t __a) {
6587 return -__a; }
6588
6589 __ai int8x8_t vorn_s8(int8x8_t __a, int8x8_t __b) {
6590 return __a | ~__b; }
6591 __ai int16x4_t vorn_s16(int16x4_t __a, int16x4_t __b) {
6592 return __a | ~__b; }
6593 __ai int32x2_t vorn_s32(int32x2_t __a, int32x2_t __b) {
6594 return __a | ~__b; }
6595 __ai int64x1_t vorn_s64(int64x1_t __a, int64x1_t __b) {
6596 return __a | ~__b; }
6597 __ai uint8x8_t vorn_u8(uint8x8_t __a, uint8x8_t __b) {
6598 return __a | ~__b; }
6599 __ai uint16x4_t vorn_u16(uint16x4_t __a, uint16x4_t __b) {
6600 return __a | ~__b; }
6601 __ai uint32x2_t vorn_u32(uint32x2_t __a, uint32x2_t __b) {
6602 return __a | ~__b; }
6603 __ai uint64x1_t vorn_u64(uint64x1_t __a, uint64x1_t __b) {
6604 return __a | ~__b; }
6605 __ai int8x16_t vornq_s8(int8x16_t __a, int8x16_t __b) {
6606 return __a | ~__b; }
6607 __ai int16x8_t vornq_s16(int16x8_t __a, int16x8_t __b) {
6608 return __a | ~__b; }
6609 __ai int32x4_t vornq_s32(int32x4_t __a, int32x4_t __b) {
6610 return __a | ~__b; }
6611 __ai int64x2_t vornq_s64(int64x2_t __a, int64x2_t __b) {
6612 return __a | ~__b; }
6613 __ai uint8x16_t vornq_u8(uint8x16_t __a, uint8x16_t __b) {
6614 return __a | ~__b; }
6615 __ai uint16x8_t vornq_u16(uint16x8_t __a, uint16x8_t __b) {
6616 return __a | ~__b; }
6617 __ai uint32x4_t vornq_u32(uint32x4_t __a, uint32x4_t __b) {
6618 return __a | ~__b; }
6619 __ai uint64x2_t vornq_u64(uint64x2_t __a, uint64x2_t __b) {
6620 return __a | ~__b; }
6621
6622 __ai int8x8_t vorr_s8(int8x8_t __a, int8x8_t __b) {
6623 return __a | __b; }
6624 __ai int16x4_t vorr_s16(int16x4_t __a, int16x4_t __b) {
6625 return __a | __b; }
6626 __ai int32x2_t vorr_s32(int32x2_t __a, int32x2_t __b) {
6627 return __a | __b; }
6628 __ai int64x1_t vorr_s64(int64x1_t __a, int64x1_t __b) {
6629 return __a | __b; }
6630 __ai uint8x8_t vorr_u8(uint8x8_t __a, uint8x8_t __b) {
6631 return __a | __b; }
6632 __ai uint16x4_t vorr_u16(uint16x4_t __a, uint16x4_t __b) {
6633 return __a | __b; }
6634 __ai uint32x2_t vorr_u32(uint32x2_t __a, uint32x2_t __b) {
6635 return __a | __b; }
6636 __ai uint64x1_t vorr_u64(uint64x1_t __a, uint64x1_t __b) {
6637 return __a | __b; }
6638 __ai int8x16_t vorrq_s8(int8x16_t __a, int8x16_t __b) {
6639 return __a | __b; }
6640 __ai int16x8_t vorrq_s16(int16x8_t __a, int16x8_t __b) {
6641 return __a | __b; }
6642 __ai int32x4_t vorrq_s32(int32x4_t __a, int32x4_t __b) {
6643 return __a | __b; }
6644 __ai int64x2_t vorrq_s64(int64x2_t __a, int64x2_t __b) {
6645 return __a | __b; }
6646 __ai uint8x16_t vorrq_u8(uint8x16_t __a, uint8x16_t __b) {
6647 return __a | __b; }
6648 __ai uint16x8_t vorrq_u16(uint16x8_t __a, uint16x8_t __b) {
6649 return __a | __b; }
6650 __ai uint32x4_t vorrq_u32(uint32x4_t __a, uint32x4_t __b) {
6651 return __a | __b; }
6652 __ai uint64x2_t vorrq_u64(uint64x2_t __a, uint64x2_t __b) {
6653 return __a | __b; }
6654
6655 __ai int16x4_t vpadal_s8(int16x4_t __a, int8x8_t __b) {
6656 return (int16x4_t)__builtin_neon_vpadal_v((int8x8_t)__a, __b, 1); }
6657 __ai int32x2_t vpadal_s16(int32x2_t __a, int16x4_t __b) {
6658 return (int32x2_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 2); }
6659 __ai int64x1_t vpadal_s32(int64x1_t __a, int32x2_t __b) {
6660 return (int64x1_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 3); }
6661 __ai uint16x4_t vpadal_u8(uint16x4_t __a, uint8x8_t __b) {
6662 return (uint16x4_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 17); }
6663 __ai uint32x2_t vpadal_u16(uint32x2_t __a, uint16x4_t __b) {
6664 return (uint32x2_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 18); }
6665 __ai uint64x1_t vpadal_u32(uint64x1_t __a, uint32x2_t __b) {
6666 return (uint64x1_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 19); }
6667 __ai int16x8_t vpadalq_s8(int16x8_t __a, int8x16_t __b) {
6668 return (int16x8_t)__builtin_neon_vpadalq_v((int8x16_t)__a, __b, 33); }
6669 __ai int32x4_t vpadalq_s16(int32x4_t __a, int16x8_t __b) {
6670 return (int32x4_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 34) ; }
6671 __ai int64x2_t vpadalq_s32(int64x2_t __a, int32x4_t __b) {
6672 return (int64x2_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 35) ; }
6673 __ai uint16x8_t vpadalq_u8(uint16x8_t __a, uint8x16_t __b) {
6674 return (uint16x8_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 49 ); }
6675 __ai uint32x4_t vpadalq_u16(uint32x4_t __a, uint16x8_t __b) {
6676 return (uint32x4_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 50 ); }
6677 __ai uint64x2_t vpadalq_u32(uint64x2_t __a, uint32x4_t __b) {
6678 return (uint64x2_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 51 ); }
6679
6680 __ai int8x8_t vpadd_s8(int8x8_t __a, int8x8_t __b) {
6681 return (int8x8_t)__builtin_neon_vpadd_v(__a, __b, 0); }
6682 __ai int16x4_t vpadd_s16(int16x4_t __a, int16x4_t __b) {
6683 return (int16x4_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 1); }
6684 __ai int32x2_t vpadd_s32(int32x2_t __a, int32x2_t __b) {
6685 return (int32x2_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 2); }
6686 __ai uint8x8_t vpadd_u8(uint8x8_t __a, uint8x8_t __b) {
6687 return (uint8x8_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 16); }
6688 __ai uint16x4_t vpadd_u16(uint16x4_t __a, uint16x4_t __b) {
6689 return (uint16x4_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 17); }
6690 __ai uint32x2_t vpadd_u32(uint32x2_t __a, uint32x2_t __b) {
6691 return (uint32x2_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 18); }
6692 __ai float32x2_t vpadd_f32(float32x2_t __a, float32x2_t __b) {
6693 return (float32x2_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 9); }
6694
6695 __ai int16x4_t vpaddl_s8(int8x8_t __a) {
6696 return (int16x4_t)__builtin_neon_vpaddl_v(__a, 1); }
6697 __ai int32x2_t vpaddl_s16(int16x4_t __a) {
6698 return (int32x2_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 2); }
6699 __ai int64x1_t vpaddl_s32(int32x2_t __a) {
6700 return (int64x1_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 3); }
6701 __ai uint16x4_t vpaddl_u8(uint8x8_t __a) {
6702 return (uint16x4_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 17); }
6703 __ai uint32x2_t vpaddl_u16(uint16x4_t __a) {
6704 return (uint32x2_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 18); }
6705 __ai uint64x1_t vpaddl_u32(uint32x2_t __a) {
6706 return (uint64x1_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 19); }
6707 __ai int16x8_t vpaddlq_s8(int8x16_t __a) {
6708 return (int16x8_t)__builtin_neon_vpaddlq_v(__a, 33); }
6709 __ai int32x4_t vpaddlq_s16(int16x8_t __a) {
6710 return (int32x4_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 34); }
6711 __ai int64x2_t vpaddlq_s32(int32x4_t __a) {
6712 return (int64x2_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 35); }
6713 __ai uint16x8_t vpaddlq_u8(uint8x16_t __a) {
6714 return (uint16x8_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 49); }
6715 __ai uint32x4_t vpaddlq_u16(uint16x8_t __a) {
6716 return (uint32x4_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 50); }
6717 __ai uint64x2_t vpaddlq_u32(uint32x4_t __a) {
6718 return (uint64x2_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 51); }
6719
6720 __ai int8x8_t vpmax_s8(int8x8_t __a, int8x8_t __b) {
6721 return (int8x8_t)__builtin_neon_vpmax_v(__a, __b, 0); }
6722 __ai int16x4_t vpmax_s16(int16x4_t __a, int16x4_t __b) {
6723 return (int16x4_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 1); }
6724 __ai int32x2_t vpmax_s32(int32x2_t __a, int32x2_t __b) {
6725 return (int32x2_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 2); }
6726 __ai uint8x8_t vpmax_u8(uint8x8_t __a, uint8x8_t __b) {
6727 return (uint8x8_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 16); }
6728 __ai uint16x4_t vpmax_u16(uint16x4_t __a, uint16x4_t __b) {
6729 return (uint16x4_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 17); }
6730 __ai uint32x2_t vpmax_u32(uint32x2_t __a, uint32x2_t __b) {
6731 return (uint32x2_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 18); }
6732 __ai float32x2_t vpmax_f32(float32x2_t __a, float32x2_t __b) {
6733 return (float32x2_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 9); }
6734
6735 __ai int8x8_t vpmin_s8(int8x8_t __a, int8x8_t __b) {
6736 return (int8x8_t)__builtin_neon_vpmin_v(__a, __b, 0); }
6737 __ai int16x4_t vpmin_s16(int16x4_t __a, int16x4_t __b) {
6738 return (int16x4_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 1); }
6739 __ai int32x2_t vpmin_s32(int32x2_t __a, int32x2_t __b) {
6740 return (int32x2_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 2); }
6741 __ai uint8x8_t vpmin_u8(uint8x8_t __a, uint8x8_t __b) {
6742 return (uint8x8_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 16); }
6743 __ai uint16x4_t vpmin_u16(uint16x4_t __a, uint16x4_t __b) {
6744 return (uint16x4_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 17); }
6745 __ai uint32x2_t vpmin_u32(uint32x2_t __a, uint32x2_t __b) {
6746 return (uint32x2_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 18); }
6747 __ai float32x2_t vpmin_f32(float32x2_t __a, float32x2_t __b) {
6748 return (float32x2_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 9); }
6749
6750 __ai int8x8_t vqabs_s8(int8x8_t __a) {
6751 return (int8x8_t)__builtin_neon_vqabs_v(__a, 0); }
6752 __ai int16x4_t vqabs_s16(int16x4_t __a) {
6753 return (int16x4_t)__builtin_neon_vqabs_v((int8x8_t)__a, 1); }
6754 __ai int32x2_t vqabs_s32(int32x2_t __a) {
6755 return (int32x2_t)__builtin_neon_vqabs_v((int8x8_t)__a, 2); }
6756 __ai int8x16_t vqabsq_s8(int8x16_t __a) {
6757 return (int8x16_t)__builtin_neon_vqabsq_v(__a, 32); }
6758 __ai int16x8_t vqabsq_s16(int16x8_t __a) {
6759 return (int16x8_t)__builtin_neon_vqabsq_v((int8x16_t)__a, 33); }
6760 __ai int32x4_t vqabsq_s32(int32x4_t __a) {
6761 return (int32x4_t)__builtin_neon_vqabsq_v((int8x16_t)__a, 34); }
6762
6763 __ai int8x8_t vqadd_s8(int8x8_t __a, int8x8_t __b) {
6764 return (int8x8_t)__builtin_neon_vqadd_v(__a, __b, 0); }
6765 __ai int16x4_t vqadd_s16(int16x4_t __a, int16x4_t __b) {
6766 return (int16x4_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 1); }
6767 __ai int32x2_t vqadd_s32(int32x2_t __a, int32x2_t __b) {
6768 return (int32x2_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 2); }
6769 __ai int64x1_t vqadd_s64(int64x1_t __a, int64x1_t __b) {
6770 return (int64x1_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 3); }
6771 __ai uint8x8_t vqadd_u8(uint8x8_t __a, uint8x8_t __b) {
6772 return (uint8x8_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 16); }
6773 __ai uint16x4_t vqadd_u16(uint16x4_t __a, uint16x4_t __b) {
6774 return (uint16x4_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 17); }
6775 __ai uint32x2_t vqadd_u32(uint32x2_t __a, uint32x2_t __b) {
6776 return (uint32x2_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 18); }
6777 __ai uint64x1_t vqadd_u64(uint64x1_t __a, uint64x1_t __b) {
6778 return (uint64x1_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 19); }
6779 __ai int8x16_t vqaddq_s8(int8x16_t __a, int8x16_t __b) {
6780 return (int8x16_t)__builtin_neon_vqaddq_v(__a, __b, 32); }
6781 __ai int16x8_t vqaddq_s16(int16x8_t __a, int16x8_t __b) {
6782 return (int16x8_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
6783 __ai int32x4_t vqaddq_s32(int32x4_t __a, int32x4_t __b) {
6784 return (int32x4_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
6785 __ai int64x2_t vqaddq_s64(int64x2_t __a, int64x2_t __b) {
6786 return (int64x2_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 35); }
6787 __ai uint8x16_t vqaddq_u8(uint8x16_t __a, uint8x16_t __b) {
6788 return (uint8x16_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 48) ; }
6789 __ai uint16x8_t vqaddq_u16(uint16x8_t __a, uint16x8_t __b) {
6790 return (uint16x8_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 49) ; }
6791 __ai uint32x4_t vqaddq_u32(uint32x4_t __a, uint32x4_t __b) {
6792 return (uint32x4_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 50) ; }
6793 __ai uint64x2_t vqaddq_u64(uint64x2_t __a, uint64x2_t __b) {
6794 return (uint64x2_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 51) ; }
6795
6796 __ai int32x4_t vqdmlal_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) {
6797 return (int32x4_t)__builtin_neon_vqdmlal_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)__c, 34); }
6798 __ai int64x2_t vqdmlal_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) {
6799 return (int64x2_t)__builtin_neon_vqdmlal_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)__c, 35); }
6800
6801 #if defined(__aarch64__)
6802 __ai int32x4_t vqdmlal_high_s16(int32x4_t __a, int16x8_t __b, int16x8_t __c) {
6803 return vqdmlal_s16(__a, vget_high_s16(__b), vget_high_s16(__c)); }
6804 __ai int64x2_t vqdmlal_high_s32(int64x2_t __a, int32x4_t __b, int32x4_t __c) {
6805 return vqdmlal_s32(__a, vget_high_s32(__b), vget_high_s32(__c)); }
6806
6807 #define vqdmlal_high_lane_s16(a, b, c, __d) __extension__ ({ \
6808 int32x4_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \
6809 vqdmlal_s16(__a, vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __ d, __d, __d)); })
6810 #define vqdmlal_high_lane_s32(a, b, c, __d) __extension__ ({ \
6811 int64x2_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \
6812 vqdmlal_s32(__a, vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __ d)); })
6813
6814 #define vqdmlal_high_laneq_s16(a, b, c, __d) __extension__ ({ \
6815 int32x4_t __a = (a); int16x8_t __b = (b); int16x8_t __c = (c); \
6816 vqdmlal_s16(__a, vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __ d, __d, __d)); })
6817 #define vqdmlal_high_laneq_s32(a, b, c, __d) __extension__ ({ \
6818 int64x2_t __a = (a); int32x4_t __b = (b); int32x4_t __c = (c); \
6819 vqdmlal_s32(__a, vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __ d)); })
6820
6821 __ai int32x4_t vqdmlal_high_n_s16(int32x4_t __a, int16x8_t __b, int16_t __c) {
6822 return vqdmlal_n_s16(__a, vget_high_s16(__b), __c); }
6823 __ai int64x2_t vqdmlal_high_n_s32(int64x2_t __a, int32x4_t __b, int32_t __c) {
6824 return vqdmlal_n_s32(__a, vget_high_s32(__b), __c); }
6825
6826 #endif
6827
6828 #define vqdmlal_lane_s16(a, b, c, __d) __extension__ ({ \
6829 int32x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \
6830 vqdmlal_s16(__a, __b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6831 #define vqdmlal_lane_s32(a, b, c, __d) __extension__ ({ \
6832 int64x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \
6833 vqdmlal_s32(__a, __b, __builtin_shufflevector(__c, __c, __d, __d)); })
6834
6835 #if defined(__aarch64__)
6836 #define vqdmlal_laneq_s16(a, b, c, __d) __extension__ ({ \
6837 int32x4_t __a = (a); int16x4_t __b = (b); int16x8_t __c = (c); \
6838 vqdmlal_s16(__a, __b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6839 #define vqdmlal_laneq_s32(a, b, c, __d) __extension__ ({ \
6840 int64x2_t __a = (a); int32x2_t __b = (b); int32x4_t __c = (c); \
6841 vqdmlal_s32(__a, __b, __builtin_shufflevector(__c, __c, __d, __d)); })
6842
6843 #endif
6844
6845 __ai int32x4_t vqdmlsl_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) {
6846 return (int32x4_t)__builtin_neon_vqdmlsl_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)__c, 34); }
6847 __ai int64x2_t vqdmlsl_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) {
6848 return (int64x2_t)__builtin_neon_vqdmlsl_v((int8x16_t)__a, (int8x8_t)__b, (int 8x8_t)__c, 35); }
6849
6850 #if defined(__aarch64__)
6851 __ai int32x4_t vqdmlsl_high_s16(int32x4_t __a, int16x8_t __b, int16x8_t __c) {
6852 return vqdmlsl_s16(__a, vget_high_s16(__b), vget_high_s16(__c)); }
6853 __ai int64x2_t vqdmlsl_high_s32(int64x2_t __a, int32x4_t __b, int32x4_t __c) {
6854 return vqdmlsl_s32(__a, vget_high_s32(__b), vget_high_s32(__c)); }
6855
6856 #define vqdmlsl_high_lane_s16(a, b, c, __d) __extension__ ({ \
6857 int32x4_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \
6858 vqdmlsl_s16(__a, vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __ d, __d, __d)); })
6859 #define vqdmlsl_high_lane_s32(a, b, c, __d) __extension__ ({ \
6860 int64x2_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \
6861 vqdmlsl_s32(__a, vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __ d)); })
6862
6863 #define vqdmlsl_high_laneq_s16(a, b, c, __d) __extension__ ({ \
6864 int32x4_t __a = (a); int16x8_t __b = (b); int16x8_t __c = (c); \
6865 vqdmlsl_s16(__a, vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __ d, __d, __d)); })
6866 #define vqdmlsl_high_laneq_s32(a, b, c, __d) __extension__ ({ \
6867 int64x2_t __a = (a); int32x4_t __b = (b); int32x4_t __c = (c); \
6868 vqdmlsl_s32(__a, vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __ d)); })
6869
6870 __ai int32x4_t vqdmlsl_high_n_s16(int32x4_t __a, int16x8_t __b, int16_t __c) {
6871 return vqdmlsl_n_s16(__a, vget_high_s16(__b), __c); }
6872 __ai int64x2_t vqdmlsl_high_n_s32(int64x2_t __a, int32x4_t __b, int32_t __c) {
6873 return vqdmlsl_n_s32(__a, vget_high_s32(__b), __c); }
6874
6875 #endif
6876
6877 #define vqdmlsl_lane_s16(a, b, c, __d) __extension__ ({ \
6878 int32x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \
6879 vqdmlsl_s16(__a, __b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6880 #define vqdmlsl_lane_s32(a, b, c, __d) __extension__ ({ \
6881 int64x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \
6882 vqdmlsl_s32(__a, __b, __builtin_shufflevector(__c, __c, __d, __d)); })
6883
6884 #if defined(__aarch64__)
6885 #define vqdmlsl_laneq_s16(a, b, c, __d) __extension__ ({ \
6886 int32x4_t __a = (a); int16x4_t __b = (b); int16x8_t __c = (c); \
6887 vqdmlsl_s16(__a, __b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); })
6888 #define vqdmlsl_laneq_s32(a, b, c, __d) __extension__ ({ \
6889 int64x2_t __a = (a); int32x2_t __b = (b); int32x4_t __c = (c); \
6890 vqdmlsl_s32(__a, __b, __builtin_shufflevector(__c, __c, __d, __d)); })
6891
6892 #endif
6893
6894 __ai int16x4_t vqdmulh_s16(int16x4_t __a, int16x4_t __b) {
6895 return (int16x4_t)__builtin_neon_vqdmulh_v((int8x8_t)__a, (int8x8_t)__b, 1); }
6896 __ai int32x2_t vqdmulh_s32(int32x2_t __a, int32x2_t __b) {
6897 return (int32x2_t)__builtin_neon_vqdmulh_v((int8x8_t)__a, (int8x8_t)__b, 2); }
6898 __ai int16x8_t vqdmulhq_s16(int16x8_t __a, int16x8_t __b) {
6899 return (int16x8_t)__builtin_neon_vqdmulhq_v((int8x16_t)__a, (int8x16_t)__b, 33 ); }
6900 __ai int32x4_t vqdmulhq_s32(int32x4_t __a, int32x4_t __b) {
6901 return (int32x4_t)__builtin_neon_vqdmulhq_v((int8x16_t)__a, (int8x16_t)__b, 34 ); }
6902
6903 #define vqdmulh_lane_s16(a, b, __c) __extension__ ({ \
6904 int16x4_t __a = (a); int16x4_t __b = (b); \
6905 vqdmulh_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6906 #define vqdmulh_lane_s32(a, b, __c) __extension__ ({ \
6907 int32x2_t __a = (a); int32x2_t __b = (b); \
6908 vqdmulh_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
6909 #define vqdmulhq_lane_s16(a, b, __c) __extension__ ({ \
6910 int16x8_t __a = (a); int16x4_t __b = (b); \
6911 vqdmulhq_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, _ _c, __c, __c)); })
6912 #define vqdmulhq_lane_s32(a, b, __c) __extension__ ({ \
6913 int32x4_t __a = (a); int32x2_t __b = (b); \
6914 vqdmulhq_s32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6915
6916 #if defined(__aarch64__)
6917 #define vqdmulh_laneq_s16(a, b, __c) __extension__ ({ \
6918 int16x4_t __a = (a); int16x8_t __b = (b); \
6919 vqdmulh_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6920 #define vqdmulh_laneq_s32(a, b, __c) __extension__ ({ \
6921 int32x2_t __a = (a); int32x4_t __b = (b); \
6922 vqdmulh_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
6923 #define vqdmulhq_laneq_s16(a, b, __c) __extension__ ({ \
6924 int16x8_t __a = (a); int16x8_t __b = (b); \
6925 vqdmulhq_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, _ _c, __c, __c)); })
6926 #define vqdmulhq_laneq_s32(a, b, __c) __extension__ ({ \
6927 int32x4_t __a = (a); int32x4_t __b = (b); \
6928 vqdmulhq_s32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6929
6930 #endif
6931
6932 __ai int16x4_t vqdmulh_n_s16(int16x4_t __a, int16_t __b) {
6933 return (int16x4_t)__builtin_neon_vqdmulh_v((int8x8_t)__a, (int8x8_t)(int16x4_t ){ __b, __b, __b, __b }, 1); }
6934 __ai int32x2_t vqdmulh_n_s32(int32x2_t __a, int32_t __b) {
6935 return (int32x2_t)__builtin_neon_vqdmulh_v((int8x8_t)__a, (int8x8_t)(int32x2_t ){ __b, __b }, 2); }
6936 __ai int16x8_t vqdmulhq_n_s16(int16x8_t __a, int16_t __b) {
6937 return (int16x8_t)__builtin_neon_vqdmulhq_v((int8x16_t)__a, (int8x16_t)(int16x 8_t){ __b, __b, __b, __b, __b, __b, __b, __b }, 33); }
6938 __ai int32x4_t vqdmulhq_n_s32(int32x4_t __a, int32_t __b) {
6939 return (int32x4_t)__builtin_neon_vqdmulhq_v((int8x16_t)__a, (int8x16_t)(int32x 4_t){ __b, __b, __b, __b }, 34); }
6940
6941 __ai int32x4_t vqdmull_s16(int16x4_t __a, int16x4_t __b) {
6942 return (int32x4_t)__builtin_neon_vqdmull_v((int8x8_t)__a, (int8x8_t)__b, 34); }
6943 __ai int64x2_t vqdmull_s32(int32x2_t __a, int32x2_t __b) {
6944 return (int64x2_t)__builtin_neon_vqdmull_v((int8x8_t)__a, (int8x8_t)__b, 35); }
6945
6946 #if defined(__aarch64__)
6947 __ai int32x4_t vqdmull_high_s16(int16x8_t __a, int16x8_t __b) {
6948 return vqdmull_s16(vget_high_s16(__a), vget_high_s16(__b)); }
6949 __ai int64x2_t vqdmull_high_s32(int32x4_t __a, int32x4_t __b) {
6950 return vqdmull_s32(vget_high_s32(__a), vget_high_s32(__b)); }
6951
6952 #define vqdmull_high_lane_s16(a, b, __c) __extension__ ({ \
6953 int16x8_t __a = (a); int16x4_t __b = (b); \
6954 vqdmull_s16(vget_high_s16(__a), __builtin_shufflevector(__b, __b, __c, __c, __ c, __c)); })
6955 #define vqdmull_high_lane_s32(a, b, __c) __extension__ ({ \
6956 int32x4_t __a = (a); int32x2_t __b = (b); \
6957 vqdmull_s32(vget_high_s32(__a), __builtin_shufflevector(__b, __b, __c, __c)); })
6958
6959 #define vqdmull_high_laneq_s16(a, b, __c) __extension__ ({ \
6960 int16x8_t __a = (a); int16x8_t __b = (b); \
6961 vqdmull_s16(vget_high_s16(__a), __builtin_shufflevector(__b, __b, __c, __c, __ c, __c)); })
6962 #define vqdmull_high_laneq_s32(a, b, __c) __extension__ ({ \
6963 int32x4_t __a = (a); int32x4_t __b = (b); \
6964 vqdmull_s32(vget_high_s32(__a), __builtin_shufflevector(__b, __b, __c, __c)); })
6965
6966 __ai int32x4_t vqdmull_high_n_s16(int16x8_t __a, int16_t __b) {
6967 return vqdmull_n_s16(vget_high_s16(__a), __b); }
6968 __ai int64x2_t vqdmull_high_n_s32(int32x4_t __a, int32_t __b) {
6969 return vqdmull_n_s32(vget_high_s32(__a), __b); }
6970
6971 #endif
6972
6973 #define vqdmull_lane_s16(a, b, __c) __extension__ ({ \
6974 int16x4_t __a = (a); int16x4_t __b = (b); \
6975 vqdmull_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6976 #define vqdmull_lane_s32(a, b, __c) __extension__ ({ \
6977 int32x2_t __a = (a); int32x2_t __b = (b); \
6978 vqdmull_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
6979
6980 #if defined(__aarch64__)
6981 #define vqdmull_laneq_s16(a, b, __c) __extension__ ({ \
6982 int16x4_t __a = (a); int16x8_t __b = (b); \
6983 vqdmull_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
6984 #define vqdmull_laneq_s32(a, b, __c) __extension__ ({ \
6985 int32x2_t __a = (a); int32x4_t __b = (b); \
6986 vqdmull_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
6987
6988 #endif
6989
6990 __ai int8x8_t vqneg_s8(int8x8_t __a) {
6991 return (int8x8_t)__builtin_neon_vqneg_v(__a, 0); }
6992 __ai int16x4_t vqneg_s16(int16x4_t __a) {
6993 return (int16x4_t)__builtin_neon_vqneg_v((int8x8_t)__a, 1); }
6994 __ai int32x2_t vqneg_s32(int32x2_t __a) {
6995 return (int32x2_t)__builtin_neon_vqneg_v((int8x8_t)__a, 2); }
6996 __ai int8x16_t vqnegq_s8(int8x16_t __a) {
6997 return (int8x16_t)__builtin_neon_vqnegq_v(__a, 32); }
6998 __ai int16x8_t vqnegq_s16(int16x8_t __a) {
6999 return (int16x8_t)__builtin_neon_vqnegq_v((int8x16_t)__a, 33); }
7000 __ai int32x4_t vqnegq_s32(int32x4_t __a) {
7001 return (int32x4_t)__builtin_neon_vqnegq_v((int8x16_t)__a, 34); }
7002
7003 __ai int16x4_t vqrdmulh_s16(int16x4_t __a, int16x4_t __b) {
7004 return (int16x4_t)__builtin_neon_vqrdmulh_v((int8x8_t)__a, (int8x8_t)__b, 1); }
7005 __ai int32x2_t vqrdmulh_s32(int32x2_t __a, int32x2_t __b) {
7006 return (int32x2_t)__builtin_neon_vqrdmulh_v((int8x8_t)__a, (int8x8_t)__b, 2); }
7007 __ai int16x8_t vqrdmulhq_s16(int16x8_t __a, int16x8_t __b) {
7008 return (int16x8_t)__builtin_neon_vqrdmulhq_v((int8x16_t)__a, (int8x16_t)__b, 3 3); }
7009 __ai int32x4_t vqrdmulhq_s32(int32x4_t __a, int32x4_t __b) {
7010 return (int32x4_t)__builtin_neon_vqrdmulhq_v((int8x16_t)__a, (int8x16_t)__b, 3 4); }
7011
7012 #define vqrdmulh_lane_s16(a, b, __c) __extension__ ({ \
7013 int16x4_t __a = (a); int16x4_t __b = (b); \
7014 vqrdmulh_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
7015 #define vqrdmulh_lane_s32(a, b, __c) __extension__ ({ \
7016 int32x2_t __a = (a); int32x2_t __b = (b); \
7017 vqrdmulh_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
7018 #define vqrdmulhq_lane_s16(a, b, __c) __extension__ ({ \
7019 int16x8_t __a = (a); int16x4_t __b = (b); \
7020 vqrdmulhq_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, __c, __c, __c)); })
7021 #define vqrdmulhq_lane_s32(a, b, __c) __extension__ ({ \
7022 int32x4_t __a = (a); int32x2_t __b = (b); \
7023 vqrdmulhq_s32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
7024
7025 #if defined(__aarch64__)
7026 #define vqrdmulh_laneq_s16(a, b, __c) __extension__ ({ \
7027 int16x4_t __a = (a); int16x8_t __b = (b); \
7028 vqrdmulh_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
7029 #define vqrdmulh_laneq_s32(a, b, __c) __extension__ ({ \
7030 int32x2_t __a = (a); int32x4_t __b = (b); \
7031 vqrdmulh_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); })
7032 #define vqrdmulhq_laneq_s16(a, b, __c) __extension__ ({ \
7033 int16x8_t __a = (a); int16x8_t __b = (b); \
7034 vqrdmulhq_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, __c, __c, __c)); })
7035 #define vqrdmulhq_laneq_s32(a, b, __c) __extension__ ({ \
7036 int32x4_t __a = (a); int32x4_t __b = (b); \
7037 vqrdmulhq_s32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); })
7038
7039 #endif
7040
7041 __ai int16x4_t vqrdmulh_n_s16(int16x4_t __a, int16_t __b) {
7042 return (int16x4_t)__builtin_neon_vqrdmulh_v((int8x8_t)__a, (int8x8_t)(int16x4_ t){ __b, __b, __b, __b }, 1); }
7043 __ai int32x2_t vqrdmulh_n_s32(int32x2_t __a, int32_t __b) {
7044 return (int32x2_t)__builtin_neon_vqrdmulh_v((int8x8_t)__a, (int8x8_t)(int32x2_ t){ __b, __b }, 2); }
7045 __ai int16x8_t vqrdmulhq_n_s16(int16x8_t __a, int16_t __b) {
7046 return (int16x8_t)__builtin_neon_vqrdmulhq_v((int8x16_t)__a, (int8x16_t)(int16 x8_t){ __b, __b, __b, __b, __b, __b, __b, __b }, 33); }
7047 __ai int32x4_t vqrdmulhq_n_s32(int32x4_t __a, int32_t __b) {
7048 return (int32x4_t)__builtin_neon_vqrdmulhq_v((int8x16_t)__a, (int8x16_t)(int32 x4_t){ __b, __b, __b, __b }, 34); }
7049
7050 __ai int8x8_t vqrshl_s8(int8x8_t __a, int8x8_t __b) {
7051 return (int8x8_t)__builtin_neon_vqrshl_v(__a, __b, 0); }
7052 __ai int16x4_t vqrshl_s16(int16x4_t __a, int16x4_t __b) {
7053 return (int16x4_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 1); }
7054 __ai int32x2_t vqrshl_s32(int32x2_t __a, int32x2_t __b) {
7055 return (int32x2_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 2); }
7056 __ai int64x1_t vqrshl_s64(int64x1_t __a, int64x1_t __b) {
7057 return (int64x1_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 3); }
7058 __ai uint8x8_t vqrshl_u8(uint8x8_t __a, int8x8_t __b) {
7059 return (uint8x8_t)__builtin_neon_vqrshl_v((int8x8_t)__a, __b, 16); }
7060 __ai uint16x4_t vqrshl_u16(uint16x4_t __a, int16x4_t __b) {
7061 return (uint16x4_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 17); }
7062 __ai uint32x2_t vqrshl_u32(uint32x2_t __a, int32x2_t __b) {
7063 return (uint32x2_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 18); }
7064 __ai uint64x1_t vqrshl_u64(uint64x1_t __a, int64x1_t __b) {
7065 return (uint64x1_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 19); }
7066 __ai int8x16_t vqrshlq_s8(int8x16_t __a, int8x16_t __b) {
7067 return (int8x16_t)__builtin_neon_vqrshlq_v(__a, __b, 32); }
7068 __ai int16x8_t vqrshlq_s16(int16x8_t __a, int16x8_t __b) {
7069 return (int16x8_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 33) ; }
7070 __ai int32x4_t vqrshlq_s32(int32x4_t __a, int32x4_t __b) {
7071 return (int32x4_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 34) ; }
7072 __ai int64x2_t vqrshlq_s64(int64x2_t __a, int64x2_t __b) {
7073 return (int64x2_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 35) ; }
7074 __ai uint8x16_t vqrshlq_u8(uint8x16_t __a, int8x16_t __b) {
7075 return (uint8x16_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, __b, 48); }
7076 __ai uint16x8_t vqrshlq_u16(uint16x8_t __a, int16x8_t __b) {
7077 return (uint16x8_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 49 ); }
7078 __ai uint32x4_t vqrshlq_u32(uint32x4_t __a, int32x4_t __b) {
7079 return (uint32x4_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 50 ); }
7080 __ai uint64x2_t vqrshlq_u64(uint64x2_t __a, int64x2_t __b) {
7081 return (uint64x2_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 51 ); }
7082
7083 #define vqrshrn_n_s16(a, __b) __extension__ ({ \
7084 int16x8_t __a = (a); \
7085 (int8x8_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 0); })
7086 #define vqrshrn_n_s32(a, __b) __extension__ ({ \
7087 int32x4_t __a = (a); \
7088 (int16x4_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 1); })
7089 #define vqrshrn_n_s64(a, __b) __extension__ ({ \
7090 int64x2_t __a = (a); \
7091 (int32x2_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 2); })
7092 #define vqrshrn_n_u16(a, __b) __extension__ ({ \
7093 uint16x8_t __a = (a); \
7094 (uint8x8_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 16); })
7095 #define vqrshrn_n_u32(a, __b) __extension__ ({ \
7096 uint32x4_t __a = (a); \
7097 (uint16x4_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 17); })
7098 #define vqrshrn_n_u64(a, __b) __extension__ ({ \
7099 uint64x2_t __a = (a); \
7100 (uint32x2_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 18); })
7101
7102 #define vqrshrun_n_s16(a, __b) __extension__ ({ \
7103 int16x8_t __a = (a); \
7104 (uint8x8_t)__builtin_neon_vqrshrun_n_v((int8x16_t)__a, __b, 16); })
7105 #define vqrshrun_n_s32(a, __b) __extension__ ({ \
7106 int32x4_t __a = (a); \
7107 (uint16x4_t)__builtin_neon_vqrshrun_n_v((int8x16_t)__a, __b, 17); })
7108 #define vqrshrun_n_s64(a, __b) __extension__ ({ \
7109 int64x2_t __a = (a); \
7110 (uint32x2_t)__builtin_neon_vqrshrun_n_v((int8x16_t)__a, __b, 18); })
7111
7112 __ai int8x8_t vqshl_s8(int8x8_t __a, int8x8_t __b) {
7113 return (int8x8_t)__builtin_neon_vqshl_v(__a, __b, 0); }
7114 __ai int16x4_t vqshl_s16(int16x4_t __a, int16x4_t __b) {
7115 return (int16x4_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 1); }
7116 __ai int32x2_t vqshl_s32(int32x2_t __a, int32x2_t __b) {
7117 return (int32x2_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 2); }
7118 __ai int64x1_t vqshl_s64(int64x1_t __a, int64x1_t __b) {
7119 return (int64x1_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 3); }
7120 __ai uint8x8_t vqshl_u8(uint8x8_t __a, int8x8_t __b) {
7121 return (uint8x8_t)__builtin_neon_vqshl_v((int8x8_t)__a, __b, 16); }
7122 __ai uint16x4_t vqshl_u16(uint16x4_t __a, int16x4_t __b) {
7123 return (uint16x4_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 17); }
7124 __ai uint32x2_t vqshl_u32(uint32x2_t __a, int32x2_t __b) {
7125 return (uint32x2_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 18); }
7126 __ai uint64x1_t vqshl_u64(uint64x1_t __a, int64x1_t __b) {
7127 return (uint64x1_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 19); }
7128 __ai int8x16_t vqshlq_s8(int8x16_t __a, int8x16_t __b) {
7129 return (int8x16_t)__builtin_neon_vqshlq_v(__a, __b, 32); }
7130 __ai int16x8_t vqshlq_s16(int16x8_t __a, int16x8_t __b) {
7131 return (int16x8_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
7132 __ai int32x4_t vqshlq_s32(int32x4_t __a, int32x4_t __b) {
7133 return (int32x4_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
7134 __ai int64x2_t vqshlq_s64(int64x2_t __a, int64x2_t __b) {
7135 return (int64x2_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 35); }
7136 __ai uint8x16_t vqshlq_u8(uint8x16_t __a, int8x16_t __b) {
7137 return (uint8x16_t)__builtin_neon_vqshlq_v((int8x16_t)__a, __b, 48); }
7138 __ai uint16x8_t vqshlq_u16(uint16x8_t __a, int16x8_t __b) {
7139 return (uint16x8_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 49) ; }
7140 __ai uint32x4_t vqshlq_u32(uint32x4_t __a, int32x4_t __b) {
7141 return (uint32x4_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 50) ; }
7142 __ai uint64x2_t vqshlq_u64(uint64x2_t __a, int64x2_t __b) {
7143 return (uint64x2_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 51) ; }
7144
7145 #define vqshlu_n_s8(a, __b) __extension__ ({ \
7146 int8x8_t __a = (a); \
7147 (uint8x8_t)__builtin_neon_vqshlu_n_v(__a, __b, 16); })
7148 #define vqshlu_n_s16(a, __b) __extension__ ({ \
7149 int16x4_t __a = (a); \
7150 (uint16x4_t)__builtin_neon_vqshlu_n_v((int8x8_t)__a, __b, 17); })
7151 #define vqshlu_n_s32(a, __b) __extension__ ({ \
7152 int32x2_t __a = (a); \
7153 (uint32x2_t)__builtin_neon_vqshlu_n_v((int8x8_t)__a, __b, 18); })
7154 #define vqshlu_n_s64(a, __b) __extension__ ({ \
7155 int64x1_t __a = (a); \
7156 (uint64x1_t)__builtin_neon_vqshlu_n_v((int8x8_t)__a, __b, 19); })
7157 #define vqshluq_n_s8(a, __b) __extension__ ({ \
7158 int8x16_t __a = (a); \
7159 (uint8x16_t)__builtin_neon_vqshluq_n_v(__a, __b, 48); })
7160 #define vqshluq_n_s16(a, __b) __extension__ ({ \
7161 int16x8_t __a = (a); \
7162 (uint16x8_t)__builtin_neon_vqshluq_n_v((int8x16_t)__a, __b, 49); })
7163 #define vqshluq_n_s32(a, __b) __extension__ ({ \
7164 int32x4_t __a = (a); \
7165 (uint32x4_t)__builtin_neon_vqshluq_n_v((int8x16_t)__a, __b, 50); })
7166 #define vqshluq_n_s64(a, __b) __extension__ ({ \
7167 int64x2_t __a = (a); \
7168 (uint64x2_t)__builtin_neon_vqshluq_n_v((int8x16_t)__a, __b, 51); })
7169
7170 #define vqshl_n_s8(a, __b) __extension__ ({ \
7171 int8x8_t __a = (a); \
7172 (int8x8_t)__builtin_neon_vqshl_n_v(__a, __b, 0); })
7173 #define vqshl_n_s16(a, __b) __extension__ ({ \
7174 int16x4_t __a = (a); \
7175 (int16x4_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 1); })
7176 #define vqshl_n_s32(a, __b) __extension__ ({ \
7177 int32x2_t __a = (a); \
7178 (int32x2_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 2); })
7179 #define vqshl_n_s64(a, __b) __extension__ ({ \
7180 int64x1_t __a = (a); \
7181 (int64x1_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 3); })
7182 #define vqshl_n_u8(a, __b) __extension__ ({ \
7183 uint8x8_t __a = (a); \
7184 (uint8x8_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 16); })
7185 #define vqshl_n_u16(a, __b) __extension__ ({ \
7186 uint16x4_t __a = (a); \
7187 (uint16x4_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 17); })
7188 #define vqshl_n_u32(a, __b) __extension__ ({ \
7189 uint32x2_t __a = (a); \
7190 (uint32x2_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 18); })
7191 #define vqshl_n_u64(a, __b) __extension__ ({ \
7192 uint64x1_t __a = (a); \
7193 (uint64x1_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 19); })
7194 #define vqshlq_n_s8(a, __b) __extension__ ({ \
7195 int8x16_t __a = (a); \
7196 (int8x16_t)__builtin_neon_vqshlq_n_v(__a, __b, 32); })
7197 #define vqshlq_n_s16(a, __b) __extension__ ({ \
7198 int16x8_t __a = (a); \
7199 (int16x8_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 33); })
7200 #define vqshlq_n_s32(a, __b) __extension__ ({ \
7201 int32x4_t __a = (a); \
7202 (int32x4_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 34); })
7203 #define vqshlq_n_s64(a, __b) __extension__ ({ \
7204 int64x2_t __a = (a); \
7205 (int64x2_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 35); })
7206 #define vqshlq_n_u8(a, __b) __extension__ ({ \
7207 uint8x16_t __a = (a); \
7208 (uint8x16_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 48); })
7209 #define vqshlq_n_u16(a, __b) __extension__ ({ \
7210 uint16x8_t __a = (a); \
7211 (uint16x8_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 49); })
7212 #define vqshlq_n_u32(a, __b) __extension__ ({ \
7213 uint32x4_t __a = (a); \
7214 (uint32x4_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 50); })
7215 #define vqshlq_n_u64(a, __b) __extension__ ({ \
7216 uint64x2_t __a = (a); \
7217 (uint64x2_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 51); })
7218
7219 #define vqshrn_n_s16(a, __b) __extension__ ({ \
7220 int16x8_t __a = (a); \
7221 (int8x8_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 0); })
7222 #define vqshrn_n_s32(a, __b) __extension__ ({ \
7223 int32x4_t __a = (a); \
7224 (int16x4_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 1); })
7225 #define vqshrn_n_s64(a, __b) __extension__ ({ \
7226 int64x2_t __a = (a); \
7227 (int32x2_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 2); })
7228 #define vqshrn_n_u16(a, __b) __extension__ ({ \
7229 uint16x8_t __a = (a); \
7230 (uint8x8_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 16); })
7231 #define vqshrn_n_u32(a, __b) __extension__ ({ \
7232 uint32x4_t __a = (a); \
7233 (uint16x4_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 17); })
7234 #define vqshrn_n_u64(a, __b) __extension__ ({ \
7235 uint64x2_t __a = (a); \
7236 (uint32x2_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 18); })
7237
7238 #define vqshrun_n_s16(a, __b) __extension__ ({ \
7239 int16x8_t __a = (a); \
7240 (uint8x8_t)__builtin_neon_vqshrun_n_v((int8x16_t)__a, __b, 16); })
7241 #define vqshrun_n_s32(a, __b) __extension__ ({ \
7242 int32x4_t __a = (a); \
7243 (uint16x4_t)__builtin_neon_vqshrun_n_v((int8x16_t)__a, __b, 17); })
7244 #define vqshrun_n_s64(a, __b) __extension__ ({ \
7245 int64x2_t __a = (a); \
7246 (uint32x2_t)__builtin_neon_vqshrun_n_v((int8x16_t)__a, __b, 18); })
7247
7248 __ai int8x8_t vqsub_s8(int8x8_t __a, int8x8_t __b) {
7249 return (int8x8_t)__builtin_neon_vqsub_v(__a, __b, 0); }
7250 __ai int16x4_t vqsub_s16(int16x4_t __a, int16x4_t __b) {
7251 return (int16x4_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 1); }
7252 __ai int32x2_t vqsub_s32(int32x2_t __a, int32x2_t __b) {
7253 return (int32x2_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 2); }
7254 __ai int64x1_t vqsub_s64(int64x1_t __a, int64x1_t __b) {
7255 return (int64x1_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 3); }
7256 __ai uint8x8_t vqsub_u8(uint8x8_t __a, uint8x8_t __b) {
7257 return (uint8x8_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 16); }
7258 __ai uint16x4_t vqsub_u16(uint16x4_t __a, uint16x4_t __b) {
7259 return (uint16x4_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 17); }
7260 __ai uint32x2_t vqsub_u32(uint32x2_t __a, uint32x2_t __b) {
7261 return (uint32x2_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 18); }
7262 __ai uint64x1_t vqsub_u64(uint64x1_t __a, uint64x1_t __b) {
7263 return (uint64x1_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 19); }
7264 __ai int8x16_t vqsubq_s8(int8x16_t __a, int8x16_t __b) {
7265 return (int8x16_t)__builtin_neon_vqsubq_v(__a, __b, 32); }
7266 __ai int16x8_t vqsubq_s16(int16x8_t __a, int16x8_t __b) {
7267 return (int16x8_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
7268 __ai int32x4_t vqsubq_s32(int32x4_t __a, int32x4_t __b) {
7269 return (int32x4_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
7270 __ai int64x2_t vqsubq_s64(int64x2_t __a, int64x2_t __b) {
7271 return (int64x2_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 35); }
7272 __ai uint8x16_t vqsubq_u8(uint8x16_t __a, uint8x16_t __b) {
7273 return (uint8x16_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 48) ; }
7274 __ai uint16x8_t vqsubq_u16(uint16x8_t __a, uint16x8_t __b) {
7275 return (uint16x8_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 49) ; }
7276 __ai uint32x4_t vqsubq_u32(uint32x4_t __a, uint32x4_t __b) {
7277 return (uint32x4_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 50) ; }
7278 __ai uint64x2_t vqsubq_u64(uint64x2_t __a, uint64x2_t __b) {
7279 return (uint64x2_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 51) ; }
7280
7281 #if defined(__aarch64__)
7282 __ai uint8x8_t vqtbl1_u8(uint8x16_t __a, uint8x8_t __b) {
7283 return (uint8x8_t)__builtin_neon_vqtbl1_v((int8x16_t)__a, (int8x8_t)__b, 16); }
7284 __ai int8x8_t vqtbl1_s8(int8x16_t __a, int8x8_t __b) {
7285 return (int8x8_t)__builtin_neon_vqtbl1_v(__a, __b, 0); }
7286 __ai poly8x8_t vqtbl1_p8(poly8x16_t __a, uint8x8_t __b) {
7287 return (poly8x8_t)__builtin_neon_vqtbl1_v((int8x16_t)__a, (int8x8_t)__b, 4); }
7288 __ai uint8x16_t vqtbl1q_u8(uint8x16_t __a, uint8x16_t __b) {
7289 return (uint8x16_t)__builtin_neon_vqtbl1q_v((int8x16_t)__a, (int8x16_t)__b, 48 ); }
7290 __ai int8x16_t vqtbl1q_s8(int8x16_t __a, int8x16_t __b) {
7291 return (int8x16_t)__builtin_neon_vqtbl1q_v(__a, __b, 32); }
7292 __ai poly8x16_t vqtbl1q_p8(poly8x16_t __a, uint8x16_t __b) {
7293 return (poly8x16_t)__builtin_neon_vqtbl1q_v((int8x16_t)__a, (int8x16_t)__b, 36 ); }
7294
7295 __ai uint8x8_t vqtbl2_u8(uint8x16x2_t __a, uint8x8_t __b) {
7296 return (uint8x8_t)__builtin_neon_vqtbl2_v((int8x16_t)__a.val[0], (int8x16_t)__ a.val[1], (int8x8_t)__b, 16); }
7297 __ai int8x8_t vqtbl2_s8(int8x16x2_t __a, int8x8_t __b) {
7298 return (int8x8_t)__builtin_neon_vqtbl2_v(__a.val[0], __a.val[1], __b, 0); }
7299 __ai poly8x8_t vqtbl2_p8(poly8x16x2_t __a, uint8x8_t __b) {
7300 return (poly8x8_t)__builtin_neon_vqtbl2_v((int8x16_t)__a.val[0], (int8x16_t)__ a.val[1], (int8x8_t)__b, 4); }
7301 __ai uint8x16_t vqtbl2q_u8(uint8x16x2_t __a, uint8x16_t __b) {
7302 return (uint8x16_t)__builtin_neon_vqtbl2q_v((int8x16_t)__a.val[0], (int8x16_t) __a.val[1], (int8x16_t)__b, 48); }
7303 __ai int8x16_t vqtbl2q_s8(int8x16x2_t __a, int8x16_t __b) {
7304 return (int8x16_t)__builtin_neon_vqtbl2q_v(__a.val[0], __a.val[1], __b, 32); }
7305 __ai poly8x16_t vqtbl2q_p8(poly8x16x2_t __a, uint8x16_t __b) {
7306 return (poly8x16_t)__builtin_neon_vqtbl2q_v((int8x16_t)__a.val[0], (int8x16_t) __a.val[1], (int8x16_t)__b, 36); }
7307
7308 __ai uint8x8_t vqtbl3_u8(uint8x16x3_t __a, uint8x8_t __b) {
7309 return (uint8x8_t)__builtin_neon_vqtbl3_v((int8x16_t)__a.val[0], (int8x16_t)__ a.val[1], (int8x16_t)__a.val[2], (int8x8_t)__b, 16); }
7310 __ai int8x8_t vqtbl3_s8(int8x16x3_t __a, int8x8_t __b) {
7311 return (int8x8_t)__builtin_neon_vqtbl3_v(__a.val[0], __a.val[1], __a.val[2], _ _b, 0); }
7312 __ai poly8x8_t vqtbl3_p8(poly8x16x3_t __a, uint8x8_t __b) {
7313 return (poly8x8_t)__builtin_neon_vqtbl3_v((int8x16_t)__a.val[0], (int8x16_t)__ a.val[1], (int8x16_t)__a.val[2], (int8x8_t)__b, 4); }
7314 __ai uint8x16_t vqtbl3q_u8(uint8x16x3_t __a, uint8x16_t __b) {
7315 return (uint8x16_t)__builtin_neon_vqtbl3q_v((int8x16_t)__a.val[0], (int8x16_t) __a.val[1], (int8x16_t)__a.val[2], (int8x16_t)__b, 48); }
7316 __ai int8x16_t vqtbl3q_s8(int8x16x3_t __a, int8x16_t __b) {
7317 return (int8x16_t)__builtin_neon_vqtbl3q_v(__a.val[0], __a.val[1], __a.val[2], __b, 32); }
7318 __ai poly8x16_t vqtbl3q_p8(poly8x16x3_t __a, uint8x16_t __b) {
7319 return (poly8x16_t)__builtin_neon_vqtbl3q_v((int8x16_t)__a.val[0], (int8x16_t) __a.val[1], (int8x16_t)__a.val[2], (int8x16_t)__b, 36); }
7320
7321 __ai uint8x8_t vqtbl4_u8(uint8x16x4_t __a, uint8x8_t __b) {
7322 return (uint8x8_t)__builtin_neon_vqtbl4_v((int8x16_t)__a.val[0], (int8x16_t)__ a.val[1], (int8x16_t)__a.val[2], (int8x16_t)__a.val[3], (int8x8_t)__b, 16); }
7323 __ai int8x8_t vqtbl4_s8(int8x16x4_t __a, int8x8_t __b) {
7324 return (int8x8_t)__builtin_neon_vqtbl4_v(__a.val[0], __a.val[1], __a.val[2], _ _a.val[3], __b, 0); }
7325 __ai poly8x8_t vqtbl4_p8(poly8x16x4_t __a, uint8x8_t __b) {
7326 return (poly8x8_t)__builtin_neon_vqtbl4_v((int8x16_t)__a.val[0], (int8x16_t)__ a.val[1], (int8x16_t)__a.val[2], (int8x16_t)__a.val[3], (int8x8_t)__b, 4); }
7327 __ai uint8x16_t vqtbl4q_u8(uint8x16x4_t __a, uint8x16_t __b) {
7328 return (uint8x16_t)__builtin_neon_vqtbl4q_v((int8x16_t)__a.val[0], (int8x16_t) __a.val[1], (int8x16_t)__a.val[2], (int8x16_t)__a.val[3], (int8x16_t)__b, 48); }
7329 __ai int8x16_t vqtbl4q_s8(int8x16x4_t __a, int8x16_t __b) {
7330 return (int8x16_t)__builtin_neon_vqtbl4q_v(__a.val[0], __a.val[1], __a.val[2], __a.val[3], __b, 32); }
7331 __ai poly8x16_t vqtbl4q_p8(poly8x16x4_t __a, uint8x16_t __b) {
7332 return (poly8x16_t)__builtin_neon_vqtbl4q_v((int8x16_t)__a.val[0], (int8x16_t) __a.val[1], (int8x16_t)__a.val[2], (int8x16_t)__a.val[3], (int8x16_t)__b, 36); }
7333
7334 __ai uint8x8_t vqtbx1_u8(uint8x8_t __a, uint8x16_t __b, uint8x8_t __c) {
7335 return (uint8x8_t)__builtin_neon_vqtbx1_v((int8x8_t)__a, (int8x16_t)__b, (int8 x8_t)__c, 16); }
7336 __ai int8x8_t vqtbx1_s8(int8x8_t __a, int8x16_t __b, int8x8_t __c) {
7337 return (int8x8_t)__builtin_neon_vqtbx1_v(__a, __b, __c, 0); }
7338 __ai poly8x8_t vqtbx1_p8(poly8x8_t __a, poly8x16_t __b, uint8x8_t __c) {
7339 return (poly8x8_t)__builtin_neon_vqtbx1_v((int8x8_t)__a, (int8x16_t)__b, (int8 x8_t)__c, 4); }
7340 __ai uint8x16_t vqtbx1q_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) {
7341 return (uint8x16_t)__builtin_neon_vqtbx1q_v((int8x16_t)__a, (int8x16_t)__b, (i nt8x16_t)__c, 48); }
7342 __ai int8x16_t vqtbx1q_s8(int8x16_t __a, int8x16_t __b, int8x16_t __c) {
7343 return (int8x16_t)__builtin_neon_vqtbx1q_v(__a, __b, __c, 32); }
7344 __ai poly8x16_t vqtbx1q_p8(poly8x16_t __a, poly8x16_t __b, uint8x16_t __c) {
7345 return (poly8x16_t)__builtin_neon_vqtbx1q_v((int8x16_t)__a, (int8x16_t)__b, (i nt8x16_t)__c, 36); }
7346
7347 __ai uint8x8_t vqtbx2_u8(uint8x8_t __a, uint8x16x2_t __b, uint8x8_t __c) {
7348 return (uint8x8_t)__builtin_neon_vqtbx2_v((int8x8_t)__a, (int8x16_t)__b.val[0] , (int8x16_t)__b.val[1], (int8x8_t)__c, 16); }
7349 __ai int8x8_t vqtbx2_s8(int8x8_t __a, int8x16x2_t __b, int8x8_t __c) {
7350 return (int8x8_t)__builtin_neon_vqtbx2_v(__a, __b.val[0], __b.val[1], __c, 0); }
7351 __ai poly8x8_t vqtbx2_p8(poly8x8_t __a, poly8x16x2_t __b, uint8x8_t __c) {
7352 return (poly8x8_t)__builtin_neon_vqtbx2_v((int8x8_t)__a, (int8x16_t)__b.val[0] , (int8x16_t)__b.val[1], (int8x8_t)__c, 4); }
7353 __ai uint8x16_t vqtbx2q_u8(uint8x16_t __a, uint8x16x2_t __b, uint8x16_t __c) {
7354 return (uint8x16_t)__builtin_neon_vqtbx2q_v((int8x16_t)__a, (int8x16_t)__b.val [0], (int8x16_t)__b.val[1], (int8x16_t)__c, 48); }
7355 __ai int8x16_t vqtbx2q_s8(int8x16_t __a, int8x16x2_t __b, int8x16_t __c) {
7356 return (int8x16_t)__builtin_neon_vqtbx2q_v(__a, __b.val[0], __b.val[1], __c, 3 2); }
7357 __ai poly8x16_t vqtbx2q_p8(poly8x16_t __a, poly8x16x2_t __b, uint8x16_t __c) {
7358 return (poly8x16_t)__builtin_neon_vqtbx2q_v((int8x16_t)__a, (int8x16_t)__b.val [0], (int8x16_t)__b.val[1], (int8x16_t)__c, 36); }
7359
7360 __ai uint8x8_t vqtbx3_u8(uint8x8_t __a, uint8x16x3_t __b, uint8x8_t __c) {
7361 return (uint8x8_t)__builtin_neon_vqtbx3_v((int8x8_t)__a, (int8x16_t)__b.val[0] , (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x8_t)__c, 16); }
7362 __ai int8x8_t vqtbx3_s8(int8x8_t __a, int8x16x3_t __b, int8x8_t __c) {
7363 return (int8x8_t)__builtin_neon_vqtbx3_v(__a, __b.val[0], __b.val[1], __b.val[ 2], __c, 0); }
7364 __ai poly8x8_t vqtbx3_p8(poly8x8_t __a, poly8x16x3_t __b, uint8x8_t __c) {
7365 return (poly8x8_t)__builtin_neon_vqtbx3_v((int8x8_t)__a, (int8x16_t)__b.val[0] , (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x8_t)__c, 4); }
7366 __ai uint8x16_t vqtbx3q_u8(uint8x16_t __a, uint8x16x3_t __b, uint8x16_t __c) {
7367 return (uint8x16_t)__builtin_neon_vqtbx3q_v((int8x16_t)__a, (int8x16_t)__b.val [0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__c, 48); }
7368 __ai int8x16_t vqtbx3q_s8(int8x16_t __a, int8x16x3_t __b, int8x16_t __c) {
7369 return (int8x16_t)__builtin_neon_vqtbx3q_v(__a, __b.val[0], __b.val[1], __b.va l[2], __c, 32); }
7370 __ai poly8x16_t vqtbx3q_p8(poly8x16_t __a, poly8x16x3_t __b, uint8x16_t __c) {
7371 return (poly8x16_t)__builtin_neon_vqtbx3q_v((int8x16_t)__a, (int8x16_t)__b.val [0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__c, 36); }
7372
7373 __ai uint8x8_t vqtbx4_u8(uint8x8_t __a, uint8x16x4_t __b, uint8x8_t __c) {
7374 return (uint8x8_t)__builtin_neon_vqtbx4_v((int8x8_t)__a, (int8x16_t)__b.val[0] , (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], (int8x8_t )__c, 16); }
7375 __ai int8x8_t vqtbx4_s8(int8x8_t __a, int8x16x4_t __b, int8x8_t __c) {
7376 return (int8x8_t)__builtin_neon_vqtbx4_v(__a, __b.val[0], __b.val[1], __b.val[ 2], __b.val[3], __c, 0); }
7377 __ai poly8x8_t vqtbx4_p8(poly8x8_t __a, poly8x16x4_t __b, uint8x8_t __c) {
7378 return (poly8x8_t)__builtin_neon_vqtbx4_v((int8x8_t)__a, (int8x16_t)__b.val[0] , (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], (int8x8_t )__c, 4); }
7379 __ai uint8x16_t vqtbx4q_u8(uint8x16_t __a, uint8x16x4_t __b, uint8x16_t __c) {
7380 return (uint8x16_t)__builtin_neon_vqtbx4q_v((int8x16_t)__a, (int8x16_t)__b.val [0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], (int8x 16_t)__c, 48); }
7381 __ai int8x16_t vqtbx4q_s8(int8x16_t __a, int8x16x4_t __b, int8x16_t __c) {
7382 return (int8x16_t)__builtin_neon_vqtbx4q_v(__a, __b.val[0], __b.val[1], __b.va l[2], __b.val[3], __c, 32); }
7383 __ai poly8x16_t vqtbx4q_p8(poly8x16_t __a, poly8x16x4_t __b, uint8x16_t __c) {
7384 return (poly8x16_t)__builtin_neon_vqtbx4q_v((int8x16_t)__a, (int8x16_t)__b.val [0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], (int8x 16_t)__c, 36); }
7385
7386 #endif
7387
7388 __ai int8x8_t vraddhn_s16(int16x8_t __a, int16x8_t __b) {
7389 return (int8x8_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 0); }
7390 __ai int16x4_t vraddhn_s32(int32x4_t __a, int32x4_t __b) {
7391 return (int16x4_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 1); }
7392 __ai int32x2_t vraddhn_s64(int64x2_t __a, int64x2_t __b) {
7393 return (int32x2_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 2); }
7394 __ai uint8x8_t vraddhn_u16(uint16x8_t __a, uint16x8_t __b) {
7395 return (uint8x8_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 16) ; }
7396 __ai uint16x4_t vraddhn_u32(uint32x4_t __a, uint32x4_t __b) {
7397 return (uint16x4_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 17 ); }
7398 __ai uint32x2_t vraddhn_u64(uint64x2_t __a, uint64x2_t __b) {
7399 return (uint32x2_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 18 ); }
7400
7401 #if defined(__aarch64__)
7402 __ai int8x16_t vraddhn_high_s16(int8x8_t __a, int16x8_t __b, int16x8_t __c) {
7403 return vcombine_s8(__a, vraddhn_s16(__b, __c)); }
7404 __ai int16x8_t vraddhn_high_s32(int16x4_t __a, int32x4_t __b, int32x4_t __c) {
7405 return vcombine_s16(__a, vraddhn_s32(__b, __c)); }
7406 __ai int32x4_t vraddhn_high_s64(int32x2_t __a, int64x2_t __b, int64x2_t __c) {
7407 return vcombine_s32(__a, vraddhn_s64(__b, __c)); }
7408 __ai uint8x16_t vraddhn_high_u16(uint8x8_t __a, uint16x8_t __b, uint16x8_t __c) {
7409 return vcombine_u8(__a, vraddhn_u16(__b, __c)); }
7410 __ai uint16x8_t vraddhn_high_u32(uint16x4_t __a, uint32x4_t __b, uint32x4_t __c) {
7411 return vcombine_u16(__a, vraddhn_u32(__b, __c)); }
7412 __ai uint32x4_t vraddhn_high_u64(uint32x2_t __a, uint64x2_t __b, uint64x2_t __c) {
7413 return vcombine_u32(__a, vraddhn_u64(__b, __c)); }
7414
7415 #endif
7416
7417 __ai float32x2_t vrecpe_f32(float32x2_t __a) {
7418 return (float32x2_t)__builtin_neon_vrecpe_v((int8x8_t)__a, 9); }
7419 __ai uint32x2_t vrecpe_u32(uint32x2_t __a) {
7420 return (uint32x2_t)__builtin_neon_vrecpe_v((int8x8_t)__a, 18); }
7421 __ai float32x4_t vrecpeq_f32(float32x4_t __a) {
7422 return (float32x4_t)__builtin_neon_vrecpeq_v((int8x16_t)__a, 41); }
7423 __ai uint32x4_t vrecpeq_u32(uint32x4_t __a) {
7424 return (uint32x4_t)__builtin_neon_vrecpeq_v((int8x16_t)__a, 50); }
7425
7426 __ai float32x2_t vrecps_f32(float32x2_t __a, float32x2_t __b) {
7427 return (float32x2_t)__builtin_neon_vrecps_v((int8x8_t)__a, (int8x8_t)__b, 9); }
7428 __ai float32x4_t vrecpsq_f32(float32x4_t __a, float32x4_t __b) {
7429 return (float32x4_t)__builtin_neon_vrecpsq_v((int8x16_t)__a, (int8x16_t)__b, 4 1); }
7430
7431 __ai int8x8_t vreinterpret_s8_s16(int16x4_t __a) {
7432 return (int8x8_t)__a; }
7433 __ai int8x8_t vreinterpret_s8_s32(int32x2_t __a) {
7434 return (int8x8_t)__a; }
7435 __ai int8x8_t vreinterpret_s8_s64(int64x1_t __a) {
7436 return (int8x8_t)__a; }
7437 __ai int8x8_t vreinterpret_s8_u8(uint8x8_t __a) {
7438 return (int8x8_t)__a; }
7439 __ai int8x8_t vreinterpret_s8_u16(uint16x4_t __a) {
7440 return (int8x8_t)__a; }
7441 __ai int8x8_t vreinterpret_s8_u32(uint32x2_t __a) {
7442 return (int8x8_t)__a; }
7443 __ai int8x8_t vreinterpret_s8_u64(uint64x1_t __a) {
7444 return (int8x8_t)__a; }
7445 __ai int8x8_t vreinterpret_s8_f16(float16x4_t __a) {
7446 return (int8x8_t)__a; }
7447 __ai int8x8_t vreinterpret_s8_f32(float32x2_t __a) {
7448 return (int8x8_t)__a; }
7449 __ai int8x8_t vreinterpret_s8_p8(poly8x8_t __a) {
7450 return (int8x8_t)__a; }
7451 __ai int8x8_t vreinterpret_s8_p16(poly16x4_t __a) {
7452 return (int8x8_t)__a; }
7453 __ai int16x4_t vreinterpret_s16_s8(int8x8_t __a) {
7454 return (int16x4_t)__a; }
7455 __ai int16x4_t vreinterpret_s16_s32(int32x2_t __a) {
7456 return (int16x4_t)__a; }
7457 __ai int16x4_t vreinterpret_s16_s64(int64x1_t __a) {
7458 return (int16x4_t)__a; }
7459 __ai int16x4_t vreinterpret_s16_u8(uint8x8_t __a) {
7460 return (int16x4_t)__a; }
7461 __ai int16x4_t vreinterpret_s16_u16(uint16x4_t __a) {
7462 return (int16x4_t)__a; }
7463 __ai int16x4_t vreinterpret_s16_u32(uint32x2_t __a) {
7464 return (int16x4_t)__a; }
7465 __ai int16x4_t vreinterpret_s16_u64(uint64x1_t __a) {
7466 return (int16x4_t)__a; }
7467 __ai int16x4_t vreinterpret_s16_f16(float16x4_t __a) {
7468 return (int16x4_t)__a; }
7469 __ai int16x4_t vreinterpret_s16_f32(float32x2_t __a) {
7470 return (int16x4_t)__a; }
7471 __ai int16x4_t vreinterpret_s16_p8(poly8x8_t __a) {
7472 return (int16x4_t)__a; }
7473 __ai int16x4_t vreinterpret_s16_p16(poly16x4_t __a) {
7474 return (int16x4_t)__a; }
7475 __ai int32x2_t vreinterpret_s32_s8(int8x8_t __a) {
7476 return (int32x2_t)__a; }
7477 __ai int32x2_t vreinterpret_s32_s16(int16x4_t __a) {
7478 return (int32x2_t)__a; }
7479 __ai int32x2_t vreinterpret_s32_s64(int64x1_t __a) {
7480 return (int32x2_t)__a; }
7481 __ai int32x2_t vreinterpret_s32_u8(uint8x8_t __a) {
7482 return (int32x2_t)__a; }
7483 __ai int32x2_t vreinterpret_s32_u16(uint16x4_t __a) {
7484 return (int32x2_t)__a; }
7485 __ai int32x2_t vreinterpret_s32_u32(uint32x2_t __a) {
7486 return (int32x2_t)__a; }
7487 __ai int32x2_t vreinterpret_s32_u64(uint64x1_t __a) {
7488 return (int32x2_t)__a; }
7489 __ai int32x2_t vreinterpret_s32_f16(float16x4_t __a) {
7490 return (int32x2_t)__a; }
7491 __ai int32x2_t vreinterpret_s32_f32(float32x2_t __a) {
7492 return (int32x2_t)__a; }
7493 __ai int32x2_t vreinterpret_s32_p8(poly8x8_t __a) {
7494 return (int32x2_t)__a; }
7495 __ai int32x2_t vreinterpret_s32_p16(poly16x4_t __a) {
7496 return (int32x2_t)__a; }
7497 __ai int64x1_t vreinterpret_s64_s8(int8x8_t __a) {
7498 return (int64x1_t)__a; }
7499 __ai int64x1_t vreinterpret_s64_s16(int16x4_t __a) {
7500 return (int64x1_t)__a; }
7501 __ai int64x1_t vreinterpret_s64_s32(int32x2_t __a) {
7502 return (int64x1_t)__a; }
7503 __ai int64x1_t vreinterpret_s64_u8(uint8x8_t __a) {
7504 return (int64x1_t)__a; }
7505 __ai int64x1_t vreinterpret_s64_u16(uint16x4_t __a) {
7506 return (int64x1_t)__a; }
7507 __ai int64x1_t vreinterpret_s64_u32(uint32x2_t __a) {
7508 return (int64x1_t)__a; }
7509 __ai int64x1_t vreinterpret_s64_u64(uint64x1_t __a) {
7510 return (int64x1_t)__a; }
7511 __ai int64x1_t vreinterpret_s64_f16(float16x4_t __a) {
7512 return (int64x1_t)__a; }
7513 __ai int64x1_t vreinterpret_s64_f32(float32x2_t __a) {
7514 return (int64x1_t)__a; }
7515 __ai int64x1_t vreinterpret_s64_p8(poly8x8_t __a) {
7516 return (int64x1_t)__a; }
7517 __ai int64x1_t vreinterpret_s64_p16(poly16x4_t __a) {
7518 return (int64x1_t)__a; }
7519 __ai uint8x8_t vreinterpret_u8_s8(int8x8_t __a) {
7520 return (uint8x8_t)__a; }
7521 __ai uint8x8_t vreinterpret_u8_s16(int16x4_t __a) {
7522 return (uint8x8_t)__a; }
7523 __ai uint8x8_t vreinterpret_u8_s32(int32x2_t __a) {
7524 return (uint8x8_t)__a; }
7525 __ai uint8x8_t vreinterpret_u8_s64(int64x1_t __a) {
7526 return (uint8x8_t)__a; }
7527 __ai uint8x8_t vreinterpret_u8_u16(uint16x4_t __a) {
7528 return (uint8x8_t)__a; }
7529 __ai uint8x8_t vreinterpret_u8_u32(uint32x2_t __a) {
7530 return (uint8x8_t)__a; }
7531 __ai uint8x8_t vreinterpret_u8_u64(uint64x1_t __a) {
7532 return (uint8x8_t)__a; }
7533 __ai uint8x8_t vreinterpret_u8_f16(float16x4_t __a) {
7534 return (uint8x8_t)__a; }
7535 __ai uint8x8_t vreinterpret_u8_f32(float32x2_t __a) {
7536 return (uint8x8_t)__a; }
7537 __ai uint8x8_t vreinterpret_u8_p8(poly8x8_t __a) {
7538 return (uint8x8_t)__a; }
7539 __ai uint8x8_t vreinterpret_u8_p16(poly16x4_t __a) {
7540 return (uint8x8_t)__a; }
7541 __ai uint16x4_t vreinterpret_u16_s8(int8x8_t __a) {
7542 return (uint16x4_t)__a; }
7543 __ai uint16x4_t vreinterpret_u16_s16(int16x4_t __a) {
7544 return (uint16x4_t)__a; }
7545 __ai uint16x4_t vreinterpret_u16_s32(int32x2_t __a) {
7546 return (uint16x4_t)__a; }
7547 __ai uint16x4_t vreinterpret_u16_s64(int64x1_t __a) {
7548 return (uint16x4_t)__a; }
7549 __ai uint16x4_t vreinterpret_u16_u8(uint8x8_t __a) {
7550 return (uint16x4_t)__a; }
7551 __ai uint16x4_t vreinterpret_u16_u32(uint32x2_t __a) {
7552 return (uint16x4_t)__a; }
7553 __ai uint16x4_t vreinterpret_u16_u64(uint64x1_t __a) {
7554 return (uint16x4_t)__a; }
7555 __ai uint16x4_t vreinterpret_u16_f16(float16x4_t __a) {
7556 return (uint16x4_t)__a; }
7557 __ai uint16x4_t vreinterpret_u16_f32(float32x2_t __a) {
7558 return (uint16x4_t)__a; }
7559 __ai uint16x4_t vreinterpret_u16_p8(poly8x8_t __a) {
7560 return (uint16x4_t)__a; }
7561 __ai uint16x4_t vreinterpret_u16_p16(poly16x4_t __a) {
7562 return (uint16x4_t)__a; }
7563 __ai uint32x2_t vreinterpret_u32_s8(int8x8_t __a) {
7564 return (uint32x2_t)__a; }
7565 __ai uint32x2_t vreinterpret_u32_s16(int16x4_t __a) {
7566 return (uint32x2_t)__a; }
7567 __ai uint32x2_t vreinterpret_u32_s32(int32x2_t __a) {
7568 return (uint32x2_t)__a; }
7569 __ai uint32x2_t vreinterpret_u32_s64(int64x1_t __a) {
7570 return (uint32x2_t)__a; }
7571 __ai uint32x2_t vreinterpret_u32_u8(uint8x8_t __a) {
7572 return (uint32x2_t)__a; }
7573 __ai uint32x2_t vreinterpret_u32_u16(uint16x4_t __a) {
7574 return (uint32x2_t)__a; }
7575 __ai uint32x2_t vreinterpret_u32_u64(uint64x1_t __a) {
7576 return (uint32x2_t)__a; }
7577 __ai uint32x2_t vreinterpret_u32_f16(float16x4_t __a) {
7578 return (uint32x2_t)__a; }
7579 __ai uint32x2_t vreinterpret_u32_f32(float32x2_t __a) {
7580 return (uint32x2_t)__a; }
7581 __ai uint32x2_t vreinterpret_u32_p8(poly8x8_t __a) {
7582 return (uint32x2_t)__a; }
7583 __ai uint32x2_t vreinterpret_u32_p16(poly16x4_t __a) {
7584 return (uint32x2_t)__a; }
7585 __ai uint64x1_t vreinterpret_u64_s8(int8x8_t __a) {
7586 return (uint64x1_t)__a; }
7587 __ai uint64x1_t vreinterpret_u64_s16(int16x4_t __a) {
7588 return (uint64x1_t)__a; }
7589 __ai uint64x1_t vreinterpret_u64_s32(int32x2_t __a) {
7590 return (uint64x1_t)__a; }
7591 __ai uint64x1_t vreinterpret_u64_s64(int64x1_t __a) {
7592 return (uint64x1_t)__a; }
7593 __ai uint64x1_t vreinterpret_u64_u8(uint8x8_t __a) {
7594 return (uint64x1_t)__a; }
7595 __ai uint64x1_t vreinterpret_u64_u16(uint16x4_t __a) {
7596 return (uint64x1_t)__a; }
7597 __ai uint64x1_t vreinterpret_u64_u32(uint32x2_t __a) {
7598 return (uint64x1_t)__a; }
7599 __ai uint64x1_t vreinterpret_u64_f16(float16x4_t __a) {
7600 return (uint64x1_t)__a; }
7601 __ai uint64x1_t vreinterpret_u64_f32(float32x2_t __a) {
7602 return (uint64x1_t)__a; }
7603 __ai uint64x1_t vreinterpret_u64_p8(poly8x8_t __a) {
7604 return (uint64x1_t)__a; }
7605 __ai uint64x1_t vreinterpret_u64_p16(poly16x4_t __a) {
7606 return (uint64x1_t)__a; }
7607 __ai float16x4_t vreinterpret_f16_s8(int8x8_t __a) {
7608 return (float16x4_t)__a; }
7609 __ai float16x4_t vreinterpret_f16_s16(int16x4_t __a) {
7610 return (float16x4_t)__a; }
7611 __ai float16x4_t vreinterpret_f16_s32(int32x2_t __a) {
7612 return (float16x4_t)__a; }
7613 __ai float16x4_t vreinterpret_f16_s64(int64x1_t __a) {
7614 return (float16x4_t)__a; }
7615 __ai float16x4_t vreinterpret_f16_u8(uint8x8_t __a) {
7616 return (float16x4_t)__a; }
7617 __ai float16x4_t vreinterpret_f16_u16(uint16x4_t __a) {
7618 return (float16x4_t)__a; }
7619 __ai float16x4_t vreinterpret_f16_u32(uint32x2_t __a) {
7620 return (float16x4_t)__a; }
7621 __ai float16x4_t vreinterpret_f16_u64(uint64x1_t __a) {
7622 return (float16x4_t)__a; }
7623 __ai float16x4_t vreinterpret_f16_f32(float32x2_t __a) {
7624 return (float16x4_t)__a; }
7625 __ai float16x4_t vreinterpret_f16_p8(poly8x8_t __a) {
7626 return (float16x4_t)__a; }
7627 __ai float16x4_t vreinterpret_f16_p16(poly16x4_t __a) {
7628 return (float16x4_t)__a; }
7629 __ai float32x2_t vreinterpret_f32_s8(int8x8_t __a) {
7630 return (float32x2_t)__a; }
7631 __ai float32x2_t vreinterpret_f32_s16(int16x4_t __a) {
7632 return (float32x2_t)__a; }
7633 __ai float32x2_t vreinterpret_f32_s32(int32x2_t __a) {
7634 return (float32x2_t)__a; }
7635 __ai float32x2_t vreinterpret_f32_s64(int64x1_t __a) {
7636 return (float32x2_t)__a; }
7637 __ai float32x2_t vreinterpret_f32_u8(uint8x8_t __a) {
7638 return (float32x2_t)__a; }
7639 __ai float32x2_t vreinterpret_f32_u16(uint16x4_t __a) {
7640 return (float32x2_t)__a; }
7641 __ai float32x2_t vreinterpret_f32_u32(uint32x2_t __a) {
7642 return (float32x2_t)__a; }
7643 __ai float32x2_t vreinterpret_f32_u64(uint64x1_t __a) {
7644 return (float32x2_t)__a; }
7645 __ai float32x2_t vreinterpret_f32_f16(float16x4_t __a) {
7646 return (float32x2_t)__a; }
7647 __ai float32x2_t vreinterpret_f32_p8(poly8x8_t __a) {
7648 return (float32x2_t)__a; }
7649 __ai float32x2_t vreinterpret_f32_p16(poly16x4_t __a) {
7650 return (float32x2_t)__a; }
7651 __ai poly8x8_t vreinterpret_p8_s8(int8x8_t __a) {
7652 return (poly8x8_t)__a; }
7653 __ai poly8x8_t vreinterpret_p8_s16(int16x4_t __a) {
7654 return (poly8x8_t)__a; }
7655 __ai poly8x8_t vreinterpret_p8_s32(int32x2_t __a) {
7656 return (poly8x8_t)__a; }
7657 __ai poly8x8_t vreinterpret_p8_s64(int64x1_t __a) {
7658 return (poly8x8_t)__a; }
7659 __ai poly8x8_t vreinterpret_p8_u8(uint8x8_t __a) {
7660 return (poly8x8_t)__a; }
7661 __ai poly8x8_t vreinterpret_p8_u16(uint16x4_t __a) {
7662 return (poly8x8_t)__a; }
7663 __ai poly8x8_t vreinterpret_p8_u32(uint32x2_t __a) {
7664 return (poly8x8_t)__a; }
7665 __ai poly8x8_t vreinterpret_p8_u64(uint64x1_t __a) {
7666 return (poly8x8_t)__a; }
7667 __ai poly8x8_t vreinterpret_p8_f16(float16x4_t __a) {
7668 return (poly8x8_t)__a; }
7669 __ai poly8x8_t vreinterpret_p8_f32(float32x2_t __a) {
7670 return (poly8x8_t)__a; }
7671 __ai poly8x8_t vreinterpret_p8_p16(poly16x4_t __a) {
7672 return (poly8x8_t)__a; }
7673 __ai poly16x4_t vreinterpret_p16_s8(int8x8_t __a) {
7674 return (poly16x4_t)__a; }
7675 __ai poly16x4_t vreinterpret_p16_s16(int16x4_t __a) {
7676 return (poly16x4_t)__a; }
7677 __ai poly16x4_t vreinterpret_p16_s32(int32x2_t __a) {
7678 return (poly16x4_t)__a; }
7679 __ai poly16x4_t vreinterpret_p16_s64(int64x1_t __a) {
7680 return (poly16x4_t)__a; }
7681 __ai poly16x4_t vreinterpret_p16_u8(uint8x8_t __a) {
7682 return (poly16x4_t)__a; }
7683 __ai poly16x4_t vreinterpret_p16_u16(uint16x4_t __a) {
7684 return (poly16x4_t)__a; }
7685 __ai poly16x4_t vreinterpret_p16_u32(uint32x2_t __a) {
7686 return (poly16x4_t)__a; }
7687 __ai poly16x4_t vreinterpret_p16_u64(uint64x1_t __a) {
7688 return (poly16x4_t)__a; }
7689 __ai poly16x4_t vreinterpret_p16_f16(float16x4_t __a) {
7690 return (poly16x4_t)__a; }
7691 __ai poly16x4_t vreinterpret_p16_f32(float32x2_t __a) {
7692 return (poly16x4_t)__a; }
7693 __ai poly16x4_t vreinterpret_p16_p8(poly8x8_t __a) {
7694 return (poly16x4_t)__a; }
7695 __ai int8x16_t vreinterpretq_s8_s16(int16x8_t __a) {
7696 return (int8x16_t)__a; }
7697 __ai int8x16_t vreinterpretq_s8_s32(int32x4_t __a) {
7698 return (int8x16_t)__a; }
7699 __ai int8x16_t vreinterpretq_s8_s64(int64x2_t __a) {
7700 return (int8x16_t)__a; }
7701 __ai int8x16_t vreinterpretq_s8_u8(uint8x16_t __a) {
7702 return (int8x16_t)__a; }
7703 __ai int8x16_t vreinterpretq_s8_u16(uint16x8_t __a) {
7704 return (int8x16_t)__a; }
7705 __ai int8x16_t vreinterpretq_s8_u32(uint32x4_t __a) {
7706 return (int8x16_t)__a; }
7707 __ai int8x16_t vreinterpretq_s8_u64(uint64x2_t __a) {
7708 return (int8x16_t)__a; }
7709 __ai int8x16_t vreinterpretq_s8_f16(float16x8_t __a) {
7710 return (int8x16_t)__a; }
7711 __ai int8x16_t vreinterpretq_s8_f32(float32x4_t __a) {
7712 return (int8x16_t)__a; }
7713 __ai int8x16_t vreinterpretq_s8_p8(poly8x16_t __a) {
7714 return (int8x16_t)__a; }
7715 __ai int8x16_t vreinterpretq_s8_p16(poly16x8_t __a) {
7716 return (int8x16_t)__a; }
7717 __ai int16x8_t vreinterpretq_s16_s8(int8x16_t __a) {
7718 return (int16x8_t)__a; }
7719 __ai int16x8_t vreinterpretq_s16_s32(int32x4_t __a) {
7720 return (int16x8_t)__a; }
7721 __ai int16x8_t vreinterpretq_s16_s64(int64x2_t __a) {
7722 return (int16x8_t)__a; }
7723 __ai int16x8_t vreinterpretq_s16_u8(uint8x16_t __a) {
7724 return (int16x8_t)__a; }
7725 __ai int16x8_t vreinterpretq_s16_u16(uint16x8_t __a) {
7726 return (int16x8_t)__a; }
7727 __ai int16x8_t vreinterpretq_s16_u32(uint32x4_t __a) {
7728 return (int16x8_t)__a; }
7729 __ai int16x8_t vreinterpretq_s16_u64(uint64x2_t __a) {
7730 return (int16x8_t)__a; }
7731 __ai int16x8_t vreinterpretq_s16_f16(float16x8_t __a) {
7732 return (int16x8_t)__a; }
7733 __ai int16x8_t vreinterpretq_s16_f32(float32x4_t __a) {
7734 return (int16x8_t)__a; }
7735 __ai int16x8_t vreinterpretq_s16_p8(poly8x16_t __a) {
7736 return (int16x8_t)__a; }
7737 __ai int16x8_t vreinterpretq_s16_p16(poly16x8_t __a) {
7738 return (int16x8_t)__a; }
7739 __ai int32x4_t vreinterpretq_s32_s8(int8x16_t __a) {
7740 return (int32x4_t)__a; }
7741 __ai int32x4_t vreinterpretq_s32_s16(int16x8_t __a) {
7742 return (int32x4_t)__a; }
7743 __ai int32x4_t vreinterpretq_s32_s64(int64x2_t __a) {
7744 return (int32x4_t)__a; }
7745 __ai int32x4_t vreinterpretq_s32_u8(uint8x16_t __a) {
7746 return (int32x4_t)__a; }
7747 __ai int32x4_t vreinterpretq_s32_u16(uint16x8_t __a) {
7748 return (int32x4_t)__a; }
7749 __ai int32x4_t vreinterpretq_s32_u32(uint32x4_t __a) {
7750 return (int32x4_t)__a; }
7751 __ai int32x4_t vreinterpretq_s32_u64(uint64x2_t __a) {
7752 return (int32x4_t)__a; }
7753 __ai int32x4_t vreinterpretq_s32_f16(float16x8_t __a) {
7754 return (int32x4_t)__a; }
7755 __ai int32x4_t vreinterpretq_s32_f32(float32x4_t __a) {
7756 return (int32x4_t)__a; }
7757 __ai int32x4_t vreinterpretq_s32_p8(poly8x16_t __a) {
7758 return (int32x4_t)__a; }
7759 __ai int32x4_t vreinterpretq_s32_p16(poly16x8_t __a) {
7760 return (int32x4_t)__a; }
7761 __ai int64x2_t vreinterpretq_s64_s8(int8x16_t __a) {
7762 return (int64x2_t)__a; }
7763 __ai int64x2_t vreinterpretq_s64_s16(int16x8_t __a) {
7764 return (int64x2_t)__a; }
7765 __ai int64x2_t vreinterpretq_s64_s32(int32x4_t __a) {
7766 return (int64x2_t)__a; }
7767 __ai int64x2_t vreinterpretq_s64_u8(uint8x16_t __a) {
7768 return (int64x2_t)__a; }
7769 __ai int64x2_t vreinterpretq_s64_u16(uint16x8_t __a) {
7770 return (int64x2_t)__a; }
7771 __ai int64x2_t vreinterpretq_s64_u32(uint32x4_t __a) {
7772 return (int64x2_t)__a; }
7773 __ai int64x2_t vreinterpretq_s64_u64(uint64x2_t __a) {
7774 return (int64x2_t)__a; }
7775 __ai int64x2_t vreinterpretq_s64_f16(float16x8_t __a) {
7776 return (int64x2_t)__a; }
7777 __ai int64x2_t vreinterpretq_s64_f32(float32x4_t __a) {
7778 return (int64x2_t)__a; }
7779 __ai int64x2_t vreinterpretq_s64_p8(poly8x16_t __a) {
7780 return (int64x2_t)__a; }
7781 __ai int64x2_t vreinterpretq_s64_p16(poly16x8_t __a) {
7782 return (int64x2_t)__a; }
7783 __ai uint8x16_t vreinterpretq_u8_s8(int8x16_t __a) {
7784 return (uint8x16_t)__a; }
7785 __ai uint8x16_t vreinterpretq_u8_s16(int16x8_t __a) {
7786 return (uint8x16_t)__a; }
7787 __ai uint8x16_t vreinterpretq_u8_s32(int32x4_t __a) {
7788 return (uint8x16_t)__a; }
7789 __ai uint8x16_t vreinterpretq_u8_s64(int64x2_t __a) {
7790 return (uint8x16_t)__a; }
7791 __ai uint8x16_t vreinterpretq_u8_u16(uint16x8_t __a) {
7792 return (uint8x16_t)__a; }
7793 __ai uint8x16_t vreinterpretq_u8_u32(uint32x4_t __a) {
7794 return (uint8x16_t)__a; }
7795 __ai uint8x16_t vreinterpretq_u8_u64(uint64x2_t __a) {
7796 return (uint8x16_t)__a; }
7797 __ai uint8x16_t vreinterpretq_u8_f16(float16x8_t __a) {
7798 return (uint8x16_t)__a; }
7799 __ai uint8x16_t vreinterpretq_u8_f32(float32x4_t __a) {
7800 return (uint8x16_t)__a; }
7801 __ai uint8x16_t vreinterpretq_u8_p8(poly8x16_t __a) {
7802 return (uint8x16_t)__a; }
7803 __ai uint8x16_t vreinterpretq_u8_p16(poly16x8_t __a) {
7804 return (uint8x16_t)__a; }
7805 __ai uint16x8_t vreinterpretq_u16_s8(int8x16_t __a) {
7806 return (uint16x8_t)__a; }
7807 __ai uint16x8_t vreinterpretq_u16_s16(int16x8_t __a) {
7808 return (uint16x8_t)__a; }
7809 __ai uint16x8_t vreinterpretq_u16_s32(int32x4_t __a) {
7810 return (uint16x8_t)__a; }
7811 __ai uint16x8_t vreinterpretq_u16_s64(int64x2_t __a) {
7812 return (uint16x8_t)__a; }
7813 __ai uint16x8_t vreinterpretq_u16_u8(uint8x16_t __a) {
7814 return (uint16x8_t)__a; }
7815 __ai uint16x8_t vreinterpretq_u16_u32(uint32x4_t __a) {
7816 return (uint16x8_t)__a; }
7817 __ai uint16x8_t vreinterpretq_u16_u64(uint64x2_t __a) {
7818 return (uint16x8_t)__a; }
7819 __ai uint16x8_t vreinterpretq_u16_f16(float16x8_t __a) {
7820 return (uint16x8_t)__a; }
7821 __ai uint16x8_t vreinterpretq_u16_f32(float32x4_t __a) {
7822 return (uint16x8_t)__a; }
7823 __ai uint16x8_t vreinterpretq_u16_p8(poly8x16_t __a) {
7824 return (uint16x8_t)__a; }
7825 __ai uint16x8_t vreinterpretq_u16_p16(poly16x8_t __a) {
7826 return (uint16x8_t)__a; }
7827 __ai uint32x4_t vreinterpretq_u32_s8(int8x16_t __a) {
7828 return (uint32x4_t)__a; }
7829 __ai uint32x4_t vreinterpretq_u32_s16(int16x8_t __a) {
7830 return (uint32x4_t)__a; }
7831 __ai uint32x4_t vreinterpretq_u32_s32(int32x4_t __a) {
7832 return (uint32x4_t)__a; }
7833 __ai uint32x4_t vreinterpretq_u32_s64(int64x2_t __a) {
7834 return (uint32x4_t)__a; }
7835 __ai uint32x4_t vreinterpretq_u32_u8(uint8x16_t __a) {
7836 return (uint32x4_t)__a; }
7837 __ai uint32x4_t vreinterpretq_u32_u16(uint16x8_t __a) {
7838 return (uint32x4_t)__a; }
7839 __ai uint32x4_t vreinterpretq_u32_u64(uint64x2_t __a) {
7840 return (uint32x4_t)__a; }
7841 __ai uint32x4_t vreinterpretq_u32_f16(float16x8_t __a) {
7842 return (uint32x4_t)__a; }
7843 __ai uint32x4_t vreinterpretq_u32_f32(float32x4_t __a) {
7844 return (uint32x4_t)__a; }
7845 __ai uint32x4_t vreinterpretq_u32_p8(poly8x16_t __a) {
7846 return (uint32x4_t)__a; }
7847 __ai uint32x4_t vreinterpretq_u32_p16(poly16x8_t __a) {
7848 return (uint32x4_t)__a; }
7849 __ai uint64x2_t vreinterpretq_u64_s8(int8x16_t __a) {
7850 return (uint64x2_t)__a; }
7851 __ai uint64x2_t vreinterpretq_u64_s16(int16x8_t __a) {
7852 return (uint64x2_t)__a; }
7853 __ai uint64x2_t vreinterpretq_u64_s32(int32x4_t __a) {
7854 return (uint64x2_t)__a; }
7855 __ai uint64x2_t vreinterpretq_u64_s64(int64x2_t __a) {
7856 return (uint64x2_t)__a; }
7857 __ai uint64x2_t vreinterpretq_u64_u8(uint8x16_t __a) {
7858 return (uint64x2_t)__a; }
7859 __ai uint64x2_t vreinterpretq_u64_u16(uint16x8_t __a) {
7860 return (uint64x2_t)__a; }
7861 __ai uint64x2_t vreinterpretq_u64_u32(uint32x4_t __a) {
7862 return (uint64x2_t)__a; }
7863 __ai uint64x2_t vreinterpretq_u64_f16(float16x8_t __a) {
7864 return (uint64x2_t)__a; }
7865 __ai uint64x2_t vreinterpretq_u64_f32(float32x4_t __a) {
7866 return (uint64x2_t)__a; }
7867 __ai uint64x2_t vreinterpretq_u64_p8(poly8x16_t __a) {
7868 return (uint64x2_t)__a; }
7869 __ai uint64x2_t vreinterpretq_u64_p16(poly16x8_t __a) {
7870 return (uint64x2_t)__a; }
7871 __ai float16x8_t vreinterpretq_f16_s8(int8x16_t __a) {
7872 return (float16x8_t)__a; }
7873 __ai float16x8_t vreinterpretq_f16_s16(int16x8_t __a) {
7874 return (float16x8_t)__a; }
7875 __ai float16x8_t vreinterpretq_f16_s32(int32x4_t __a) {
7876 return (float16x8_t)__a; }
7877 __ai float16x8_t vreinterpretq_f16_s64(int64x2_t __a) {
7878 return (float16x8_t)__a; }
7879 __ai float16x8_t vreinterpretq_f16_u8(uint8x16_t __a) {
7880 return (float16x8_t)__a; }
7881 __ai float16x8_t vreinterpretq_f16_u16(uint16x8_t __a) {
7882 return (float16x8_t)__a; }
7883 __ai float16x8_t vreinterpretq_f16_u32(uint32x4_t __a) {
7884 return (float16x8_t)__a; }
7885 __ai float16x8_t vreinterpretq_f16_u64(uint64x2_t __a) {
7886 return (float16x8_t)__a; }
7887 __ai float16x8_t vreinterpretq_f16_f32(float32x4_t __a) {
7888 return (float16x8_t)__a; }
7889 __ai float16x8_t vreinterpretq_f16_p8(poly8x16_t __a) {
7890 return (float16x8_t)__a; }
7891 __ai float16x8_t vreinterpretq_f16_p16(poly16x8_t __a) {
7892 return (float16x8_t)__a; }
7893 __ai float32x4_t vreinterpretq_f32_s8(int8x16_t __a) {
7894 return (float32x4_t)__a; }
7895 __ai float32x4_t vreinterpretq_f32_s16(int16x8_t __a) {
7896 return (float32x4_t)__a; }
7897 __ai float32x4_t vreinterpretq_f32_s32(int32x4_t __a) {
7898 return (float32x4_t)__a; }
7899 __ai float32x4_t vreinterpretq_f32_s64(int64x2_t __a) {
7900 return (float32x4_t)__a; }
7901 __ai float32x4_t vreinterpretq_f32_u8(uint8x16_t __a) {
7902 return (float32x4_t)__a; }
7903 __ai float32x4_t vreinterpretq_f32_u16(uint16x8_t __a) {
7904 return (float32x4_t)__a; }
7905 __ai float32x4_t vreinterpretq_f32_u32(uint32x4_t __a) {
7906 return (float32x4_t)__a; }
7907 __ai float32x4_t vreinterpretq_f32_u64(uint64x2_t __a) {
7908 return (float32x4_t)__a; }
7909 __ai float32x4_t vreinterpretq_f32_f16(float16x8_t __a) {
7910 return (float32x4_t)__a; }
7911 __ai float32x4_t vreinterpretq_f32_p8(poly8x16_t __a) {
7912 return (float32x4_t)__a; }
7913 __ai float32x4_t vreinterpretq_f32_p16(poly16x8_t __a) {
7914 return (float32x4_t)__a; }
7915 __ai poly8x16_t vreinterpretq_p8_s8(int8x16_t __a) {
7916 return (poly8x16_t)__a; }
7917 __ai poly8x16_t vreinterpretq_p8_s16(int16x8_t __a) {
7918 return (poly8x16_t)__a; }
7919 __ai poly8x16_t vreinterpretq_p8_s32(int32x4_t __a) {
7920 return (poly8x16_t)__a; }
7921 __ai poly8x16_t vreinterpretq_p8_s64(int64x2_t __a) {
7922 return (poly8x16_t)__a; }
7923 __ai poly8x16_t vreinterpretq_p8_u8(uint8x16_t __a) {
7924 return (poly8x16_t)__a; }
7925 __ai poly8x16_t vreinterpretq_p8_u16(uint16x8_t __a) {
7926 return (poly8x16_t)__a; }
7927 __ai poly8x16_t vreinterpretq_p8_u32(uint32x4_t __a) {
7928 return (poly8x16_t)__a; }
7929 __ai poly8x16_t vreinterpretq_p8_u64(uint64x2_t __a) {
7930 return (poly8x16_t)__a; }
7931 __ai poly8x16_t vreinterpretq_p8_f16(float16x8_t __a) {
7932 return (poly8x16_t)__a; }
7933 __ai poly8x16_t vreinterpretq_p8_f32(float32x4_t __a) {
7934 return (poly8x16_t)__a; }
7935 __ai poly8x16_t vreinterpretq_p8_p16(poly16x8_t __a) {
7936 return (poly8x16_t)__a; }
7937 __ai poly16x8_t vreinterpretq_p16_s8(int8x16_t __a) {
7938 return (poly16x8_t)__a; }
7939 __ai poly16x8_t vreinterpretq_p16_s16(int16x8_t __a) {
7940 return (poly16x8_t)__a; }
7941 __ai poly16x8_t vreinterpretq_p16_s32(int32x4_t __a) {
7942 return (poly16x8_t)__a; }
7943 __ai poly16x8_t vreinterpretq_p16_s64(int64x2_t __a) {
7944 return (poly16x8_t)__a; }
7945 __ai poly16x8_t vreinterpretq_p16_u8(uint8x16_t __a) {
7946 return (poly16x8_t)__a; }
7947 __ai poly16x8_t vreinterpretq_p16_u16(uint16x8_t __a) {
7948 return (poly16x8_t)__a; }
7949 __ai poly16x8_t vreinterpretq_p16_u32(uint32x4_t __a) {
7950 return (poly16x8_t)__a; }
7951 __ai poly16x8_t vreinterpretq_p16_u64(uint64x2_t __a) {
7952 return (poly16x8_t)__a; }
7953 __ai poly16x8_t vreinterpretq_p16_f16(float16x8_t __a) {
7954 return (poly16x8_t)__a; }
7955 __ai poly16x8_t vreinterpretq_p16_f32(float32x4_t __a) {
7956 return (poly16x8_t)__a; }
7957 __ai poly16x8_t vreinterpretq_p16_p8(poly8x16_t __a) {
7958 return (poly16x8_t)__a; }
7959
7960 __ai int8x8_t vrev16_s8(int8x8_t __a) {
7961 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); }
7962 __ai uint8x8_t vrev16_u8(uint8x8_t __a) {
7963 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); }
7964 __ai poly8x8_t vrev16_p8(poly8x8_t __a) {
7965 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); }
7966 __ai int8x16_t vrev16q_s8(int8x16_t __a) {
7967 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14); }
7968 __ai uint8x16_t vrev16q_u8(uint8x16_t __a) {
7969 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14); }
7970 __ai poly8x16_t vrev16q_p8(poly8x16_t __a) {
7971 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14); }
7972
7973 __ai int8x8_t vrev32_s8(int8x8_t __a) {
7974 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); }
7975 __ai int16x4_t vrev32_s16(int16x4_t __a) {
7976 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); }
7977 __ai uint8x8_t vrev32_u8(uint8x8_t __a) {
7978 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); }
7979 __ai uint16x4_t vrev32_u16(uint16x4_t __a) {
7980 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); }
7981 __ai poly8x8_t vrev32_p8(poly8x8_t __a) {
7982 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); }
7983 __ai poly16x4_t vrev32_p16(poly16x4_t __a) {
7984 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); }
7985 __ai int8x16_t vrev32q_s8(int8x16_t __a) {
7986 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12); }
7987 __ai int16x8_t vrev32q_s16(int16x8_t __a) {
7988 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); }
7989 __ai uint8x16_t vrev32q_u8(uint8x16_t __a) {
7990 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12); }
7991 __ai uint16x8_t vrev32q_u16(uint16x8_t __a) {
7992 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); }
7993 __ai poly8x16_t vrev32q_p8(poly8x16_t __a) {
7994 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12); }
7995 __ai poly16x8_t vrev32q_p16(poly16x8_t __a) {
7996 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); }
7997
7998 __ai int8x8_t vrev64_s8(int8x8_t __a) {
7999 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0); }
8000 __ai int16x4_t vrev64_s16(int16x4_t __a) {
8001 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0); }
8002 __ai int32x2_t vrev64_s32(int32x2_t __a) {
8003 return __builtin_shufflevector(__a, __a, 1, 0); }
8004 __ai uint8x8_t vrev64_u8(uint8x8_t __a) {
8005 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0); }
8006 __ai uint16x4_t vrev64_u16(uint16x4_t __a) {
8007 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0); }
8008 __ai uint32x2_t vrev64_u32(uint32x2_t __a) {
8009 return __builtin_shufflevector(__a, __a, 1, 0); }
8010 __ai poly8x8_t vrev64_p8(poly8x8_t __a) {
8011 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0); }
8012 __ai poly16x4_t vrev64_p16(poly16x4_t __a) {
8013 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0); }
8014 __ai float32x2_t vrev64_f32(float32x2_t __a) {
8015 return __builtin_shufflevector(__a, __a, 1, 0); }
8016 __ai int8x16_t vrev64q_s8(int8x16_t __a) {
8017 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 1 2, 11, 10, 9, 8); }
8018 __ai int16x8_t vrev64q_s16(int16x8_t __a) {
8019 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); }
8020 __ai int32x4_t vrev64q_s32(int32x4_t __a) {
8021 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); }
8022 __ai uint8x16_t vrev64q_u8(uint8x16_t __a) {
8023 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 1 2, 11, 10, 9, 8); }
8024 __ai uint16x8_t vrev64q_u16(uint16x8_t __a) {
8025 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); }
8026 __ai uint32x4_t vrev64q_u32(uint32x4_t __a) {
8027 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); }
8028 __ai poly8x16_t vrev64q_p8(poly8x16_t __a) {
8029 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 1 2, 11, 10, 9, 8); }
8030 __ai poly16x8_t vrev64q_p16(poly16x8_t __a) {
8031 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); }
8032 __ai float32x4_t vrev64q_f32(float32x4_t __a) {
8033 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); }
8034
8035 __ai int8x8_t vrhadd_s8(int8x8_t __a, int8x8_t __b) {
8036 return (int8x8_t)__builtin_neon_vrhadd_v(__a, __b, 0); }
8037 __ai int16x4_t vrhadd_s16(int16x4_t __a, int16x4_t __b) {
8038 return (int16x4_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 1); }
8039 __ai int32x2_t vrhadd_s32(int32x2_t __a, int32x2_t __b) {
8040 return (int32x2_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 2); }
8041 __ai uint8x8_t vrhadd_u8(uint8x8_t __a, uint8x8_t __b) {
8042 return (uint8x8_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 16); }
8043 __ai uint16x4_t vrhadd_u16(uint16x4_t __a, uint16x4_t __b) {
8044 return (uint16x4_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 17); }
8045 __ai uint32x2_t vrhadd_u32(uint32x2_t __a, uint32x2_t __b) {
8046 return (uint32x2_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 18); }
8047 __ai int8x16_t vrhaddq_s8(int8x16_t __a, int8x16_t __b) {
8048 return (int8x16_t)__builtin_neon_vrhaddq_v(__a, __b, 32); }
8049 __ai int16x8_t vrhaddq_s16(int16x8_t __a, int16x8_t __b) {
8050 return (int16x8_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 33) ; }
8051 __ai int32x4_t vrhaddq_s32(int32x4_t __a, int32x4_t __b) {
8052 return (int32x4_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 34) ; }
8053 __ai uint8x16_t vrhaddq_u8(uint8x16_t __a, uint8x16_t __b) {
8054 return (uint8x16_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 48 ); }
8055 __ai uint16x8_t vrhaddq_u16(uint16x8_t __a, uint16x8_t __b) {
8056 return (uint16x8_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 49 ); }
8057 __ai uint32x4_t vrhaddq_u32(uint32x4_t __a, uint32x4_t __b) {
8058 return (uint32x4_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 50 ); }
8059
8060 __ai int8x8_t vrshl_s8(int8x8_t __a, int8x8_t __b) {
8061 return (int8x8_t)__builtin_neon_vrshl_v(__a, __b, 0); }
8062 __ai int16x4_t vrshl_s16(int16x4_t __a, int16x4_t __b) {
8063 return (int16x4_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 1); }
8064 __ai int32x2_t vrshl_s32(int32x2_t __a, int32x2_t __b) {
8065 return (int32x2_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 2); }
8066 __ai int64x1_t vrshl_s64(int64x1_t __a, int64x1_t __b) {
8067 return (int64x1_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 3); }
8068 __ai uint8x8_t vrshl_u8(uint8x8_t __a, int8x8_t __b) {
8069 return (uint8x8_t)__builtin_neon_vrshl_v((int8x8_t)__a, __b, 16); }
8070 __ai uint16x4_t vrshl_u16(uint16x4_t __a, int16x4_t __b) {
8071 return (uint16x4_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 17); }
8072 __ai uint32x2_t vrshl_u32(uint32x2_t __a, int32x2_t __b) {
8073 return (uint32x2_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 18); }
8074 __ai uint64x1_t vrshl_u64(uint64x1_t __a, int64x1_t __b) {
8075 return (uint64x1_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 19); }
8076 __ai int8x16_t vrshlq_s8(int8x16_t __a, int8x16_t __b) {
8077 return (int8x16_t)__builtin_neon_vrshlq_v(__a, __b, 32); }
8078 __ai int16x8_t vrshlq_s16(int16x8_t __a, int16x8_t __b) {
8079 return (int16x8_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
8080 __ai int32x4_t vrshlq_s32(int32x4_t __a, int32x4_t __b) {
8081 return (int32x4_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
8082 __ai int64x2_t vrshlq_s64(int64x2_t __a, int64x2_t __b) {
8083 return (int64x2_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 35); }
8084 __ai uint8x16_t vrshlq_u8(uint8x16_t __a, int8x16_t __b) {
8085 return (uint8x16_t)__builtin_neon_vrshlq_v((int8x16_t)__a, __b, 48); }
8086 __ai uint16x8_t vrshlq_u16(uint16x8_t __a, int16x8_t __b) {
8087 return (uint16x8_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 49) ; }
8088 __ai uint32x4_t vrshlq_u32(uint32x4_t __a, int32x4_t __b) {
8089 return (uint32x4_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 50) ; }
8090 __ai uint64x2_t vrshlq_u64(uint64x2_t __a, int64x2_t __b) {
8091 return (uint64x2_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 51) ; }
8092
8093 #define vrshrn_n_s16(a, __b) __extension__ ({ \
8094 int16x8_t __a = (a); \
8095 (int8x8_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 0); })
8096 #define vrshrn_n_s32(a, __b) __extension__ ({ \
8097 int32x4_t __a = (a); \
8098 (int16x4_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 1); })
8099 #define vrshrn_n_s64(a, __b) __extension__ ({ \
8100 int64x2_t __a = (a); \
8101 (int32x2_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 2); })
8102 #define vrshrn_n_u16(a, __b) __extension__ ({ \
8103 uint16x8_t __a = (a); \
8104 (uint8x8_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 16); })
8105 #define vrshrn_n_u32(a, __b) __extension__ ({ \
8106 uint32x4_t __a = (a); \
8107 (uint16x4_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 17); })
8108 #define vrshrn_n_u64(a, __b) __extension__ ({ \
8109 uint64x2_t __a = (a); \
8110 (uint32x2_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 18); })
8111
8112 #define vrshr_n_s8(a, __b) __extension__ ({ \
8113 int8x8_t __a = (a); \
8114 (int8x8_t)__builtin_neon_vrshr_n_v(__a, __b, 0); })
8115 #define vrshr_n_s16(a, __b) __extension__ ({ \
8116 int16x4_t __a = (a); \
8117 (int16x4_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 1); })
8118 #define vrshr_n_s32(a, __b) __extension__ ({ \
8119 int32x2_t __a = (a); \
8120 (int32x2_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 2); })
8121 #define vrshr_n_s64(a, __b) __extension__ ({ \
8122 int64x1_t __a = (a); \
8123 (int64x1_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 3); })
8124 #define vrshr_n_u8(a, __b) __extension__ ({ \
8125 uint8x8_t __a = (a); \
8126 (uint8x8_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 16); })
8127 #define vrshr_n_u16(a, __b) __extension__ ({ \
8128 uint16x4_t __a = (a); \
8129 (uint16x4_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 17); })
8130 #define vrshr_n_u32(a, __b) __extension__ ({ \
8131 uint32x2_t __a = (a); \
8132 (uint32x2_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 18); })
8133 #define vrshr_n_u64(a, __b) __extension__ ({ \
8134 uint64x1_t __a = (a); \
8135 (uint64x1_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 19); })
8136 #define vrshrq_n_s8(a, __b) __extension__ ({ \
8137 int8x16_t __a = (a); \
8138 (int8x16_t)__builtin_neon_vrshrq_n_v(__a, __b, 32); })
8139 #define vrshrq_n_s16(a, __b) __extension__ ({ \
8140 int16x8_t __a = (a); \
8141 (int16x8_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 33); })
8142 #define vrshrq_n_s32(a, __b) __extension__ ({ \
8143 int32x4_t __a = (a); \
8144 (int32x4_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 34); })
8145 #define vrshrq_n_s64(a, __b) __extension__ ({ \
8146 int64x2_t __a = (a); \
8147 (int64x2_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 35); })
8148 #define vrshrq_n_u8(a, __b) __extension__ ({ \
8149 uint8x16_t __a = (a); \
8150 (uint8x16_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 48); })
8151 #define vrshrq_n_u16(a, __b) __extension__ ({ \
8152 uint16x8_t __a = (a); \
8153 (uint16x8_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 49); })
8154 #define vrshrq_n_u32(a, __b) __extension__ ({ \
8155 uint32x4_t __a = (a); \
8156 (uint32x4_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 50); })
8157 #define vrshrq_n_u64(a, __b) __extension__ ({ \
8158 uint64x2_t __a = (a); \
8159 (uint64x2_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 51); })
8160
8161 __ai float32x2_t vrsqrte_f32(float32x2_t __a) {
8162 return (float32x2_t)__builtin_neon_vrsqrte_v((int8x8_t)__a, 9); }
8163 __ai uint32x2_t vrsqrte_u32(uint32x2_t __a) {
8164 return (uint32x2_t)__builtin_neon_vrsqrte_v((int8x8_t)__a, 18); }
8165 __ai float32x4_t vrsqrteq_f32(float32x4_t __a) {
8166 return (float32x4_t)__builtin_neon_vrsqrteq_v((int8x16_t)__a, 41); }
8167 __ai uint32x4_t vrsqrteq_u32(uint32x4_t __a) {
8168 return (uint32x4_t)__builtin_neon_vrsqrteq_v((int8x16_t)__a, 50); }
8169
8170 __ai float32x2_t vrsqrts_f32(float32x2_t __a, float32x2_t __b) {
8171 return (float32x2_t)__builtin_neon_vrsqrts_v((int8x8_t)__a, (int8x8_t)__b, 9); }
8172 __ai float32x4_t vrsqrtsq_f32(float32x4_t __a, float32x4_t __b) {
8173 return (float32x4_t)__builtin_neon_vrsqrtsq_v((int8x16_t)__a, (int8x16_t)__b, 41); }
8174
8175 #define vrsra_n_s8(a, b, __c) __extension__ ({ \
8176 int8x8_t __a = (a); int8x8_t __b = (b); \
8177 (int8x8_t)__builtin_neon_vrsra_n_v(__a, __b, __c, 0); })
8178 #define vrsra_n_s16(a, b, __c) __extension__ ({ \
8179 int16x4_t __a = (a); int16x4_t __b = (b); \
8180 (int16x4_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); })
8181 #define vrsra_n_s32(a, b, __c) __extension__ ({ \
8182 int32x2_t __a = (a); int32x2_t __b = (b); \
8183 (int32x2_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); })
8184 #define vrsra_n_s64(a, b, __c) __extension__ ({ \
8185 int64x1_t __a = (a); int64x1_t __b = (b); \
8186 (int64x1_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); })
8187 #define vrsra_n_u8(a, b, __c) __extension__ ({ \
8188 uint8x8_t __a = (a); uint8x8_t __b = (b); \
8189 (uint8x8_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 16); })
8190 #define vrsra_n_u16(a, b, __c) __extension__ ({ \
8191 uint16x4_t __a = (a); uint16x4_t __b = (b); \
8192 (uint16x4_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 17); } )
8193 #define vrsra_n_u32(a, b, __c) __extension__ ({ \
8194 uint32x2_t __a = (a); uint32x2_t __b = (b); \
8195 (uint32x2_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 18); } )
8196 #define vrsra_n_u64(a, b, __c) __extension__ ({ \
8197 uint64x1_t __a = (a); uint64x1_t __b = (b); \
8198 (uint64x1_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 19); } )
8199 #define vrsraq_n_s8(a, b, __c) __extension__ ({ \
8200 int8x16_t __a = (a); int8x16_t __b = (b); \
8201 (int8x16_t)__builtin_neon_vrsraq_n_v(__a, __b, __c, 32); })
8202 #define vrsraq_n_s16(a, b, __c) __extension__ ({ \
8203 int16x8_t __a = (a); int16x8_t __b = (b); \
8204 (int16x8_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 33); })
8205 #define vrsraq_n_s32(a, b, __c) __extension__ ({ \
8206 int32x4_t __a = (a); int32x4_t __b = (b); \
8207 (int32x4_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 34); })
8208 #define vrsraq_n_s64(a, b, __c) __extension__ ({ \
8209 int64x2_t __a = (a); int64x2_t __b = (b); \
8210 (int64x2_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 35); })
8211 #define vrsraq_n_u8(a, b, __c) __extension__ ({ \
8212 uint8x16_t __a = (a); uint8x16_t __b = (b); \
8213 (uint8x16_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 48) ; })
8214 #define vrsraq_n_u16(a, b, __c) __extension__ ({ \
8215 uint16x8_t __a = (a); uint16x8_t __b = (b); \
8216 (uint16x8_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 49) ; })
8217 #define vrsraq_n_u32(a, b, __c) __extension__ ({ \
8218 uint32x4_t __a = (a); uint32x4_t __b = (b); \
8219 (uint32x4_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 50) ; })
8220 #define vrsraq_n_u64(a, b, __c) __extension__ ({ \
8221 uint64x2_t __a = (a); uint64x2_t __b = (b); \
8222 (uint64x2_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 51) ; })
8223
8224 __ai int8x8_t vrsubhn_s16(int16x8_t __a, int16x8_t __b) {
8225 return (int8x8_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 0); }
8226 __ai int16x4_t vrsubhn_s32(int32x4_t __a, int32x4_t __b) {
8227 return (int16x4_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 1); }
8228 __ai int32x2_t vrsubhn_s64(int64x2_t __a, int64x2_t __b) {
8229 return (int32x2_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 2); }
8230 __ai uint8x8_t vrsubhn_u16(uint16x8_t __a, uint16x8_t __b) {
8231 return (uint8x8_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 16) ; }
8232 __ai uint16x4_t vrsubhn_u32(uint32x4_t __a, uint32x4_t __b) {
8233 return (uint16x4_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 17 ); }
8234 __ai uint32x2_t vrsubhn_u64(uint64x2_t __a, uint64x2_t __b) {
8235 return (uint32x2_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 18 ); }
8236
8237 #if defined(__aarch64__)
8238 __ai int8x16_t vrsubhn_high_s16(int8x8_t __a, int16x8_t __b, int16x8_t __c) {
8239 return vcombine_s8(__a, vrsubhn_s16(__b, __c)); }
8240 __ai int16x8_t vrsubhn_high_s32(int16x4_t __a, int32x4_t __b, int32x4_t __c) {
8241 return vcombine_s16(__a, vrsubhn_s32(__b, __c)); }
8242 __ai int32x4_t vrsubhn_high_s64(int32x2_t __a, int64x2_t __b, int64x2_t __c) {
8243 return vcombine_s32(__a, vrsubhn_s64(__b, __c)); }
8244 __ai uint8x16_t vrsubhn_high_u16(uint8x8_t __a, uint16x8_t __b, uint16x8_t __c) {
8245 return vcombine_u8(__a, vrsubhn_u16(__b, __c)); }
8246 __ai uint16x8_t vrsubhn_high_u32(uint16x4_t __a, uint32x4_t __b, uint32x4_t __c) {
8247 return vcombine_u16(__a, vrsubhn_u32(__b, __c)); }
8248 __ai uint32x4_t vrsubhn_high_u64(uint32x2_t __a, uint64x2_t __b, uint64x2_t __c) {
8249 return vcombine_u32(__a, vrsubhn_u64(__b, __c)); }
8250
8251 #endif
8252
8253 #define vset_lane_u8(a, b, __c) __extension__ ({ \
8254 uint8_t __a = (a); uint8x8_t __b = (b); \
8255 (uint8x8_t)__builtin_neon_vset_lane_i8(__a, (int8x8_t)__b, __c); })
8256 #define vset_lane_u16(a, b, __c) __extension__ ({ \
8257 uint16_t __a = (a); uint16x4_t __b = (b); \
8258 (uint16x4_t)__builtin_neon_vset_lane_i16(__a, (int16x4_t)__b, __c); })
8259 #define vset_lane_u32(a, b, __c) __extension__ ({ \
8260 uint32_t __a = (a); uint32x2_t __b = (b); \
8261 (uint32x2_t)__builtin_neon_vset_lane_i32(__a, (int32x2_t)__b, __c); })
8262 #define vset_lane_s8(a, b, __c) __extension__ ({ \
8263 int8_t __a = (a); int8x8_t __b = (b); \
8264 (int8x8_t)__builtin_neon_vset_lane_i8(__a, __b, __c); })
8265 #define vset_lane_s16(a, b, __c) __extension__ ({ \
8266 int16_t __a = (a); int16x4_t __b = (b); \
8267 (int16x4_t)__builtin_neon_vset_lane_i16(__a, __b, __c); })
8268 #define vset_lane_s32(a, b, __c) __extension__ ({ \
8269 int32_t __a = (a); int32x2_t __b = (b); \
8270 (int32x2_t)__builtin_neon_vset_lane_i32(__a, __b, __c); })
8271 #define vset_lane_p8(a, b, __c) __extension__ ({ \
8272 poly8_t __a = (a); poly8x8_t __b = (b); \
8273 (poly8x8_t)__builtin_neon_vset_lane_i8(__a, (int8x8_t)__b, __c); })
8274 #define vset_lane_p16(a, b, __c) __extension__ ({ \
8275 poly16_t __a = (a); poly16x4_t __b = (b); \
8276 (poly16x4_t)__builtin_neon_vset_lane_i16(__a, (int16x4_t)__b, __c); })
8277 #define vset_lane_f32(a, b, __c) __extension__ ({ \
8278 float32_t __a = (a); float32x2_t __b = (b); \
8279 (float32x2_t)__builtin_neon_vset_lane_f32(__a, __b, __c); })
8280 #define vsetq_lane_u8(a, b, __c) __extension__ ({ \
8281 uint8_t __a = (a); uint8x16_t __b = (b); \
8282 (uint8x16_t)__builtin_neon_vsetq_lane_i8(__a, (int8x16_t)__b, __c); })
8283 #define vsetq_lane_u16(a, b, __c) __extension__ ({ \
8284 uint16_t __a = (a); uint16x8_t __b = (b); \
8285 (uint16x8_t)__builtin_neon_vsetq_lane_i16(__a, (int16x8_t)__b, __c); })
8286 #define vsetq_lane_u32(a, b, __c) __extension__ ({ \
8287 uint32_t __a = (a); uint32x4_t __b = (b); \
8288 (uint32x4_t)__builtin_neon_vsetq_lane_i32(__a, (int32x4_t)__b, __c); })
8289 #define vsetq_lane_s8(a, b, __c) __extension__ ({ \
8290 int8_t __a = (a); int8x16_t __b = (b); \
8291 (int8x16_t)__builtin_neon_vsetq_lane_i8(__a, __b, __c); })
8292 #define vsetq_lane_s16(a, b, __c) __extension__ ({ \
8293 int16_t __a = (a); int16x8_t __b = (b); \
8294 (int16x8_t)__builtin_neon_vsetq_lane_i16(__a, __b, __c); })
8295 #define vsetq_lane_s32(a, b, __c) __extension__ ({ \
8296 int32_t __a = (a); int32x4_t __b = (b); \
8297 (int32x4_t)__builtin_neon_vsetq_lane_i32(__a, __b, __c); })
8298 #define vsetq_lane_p8(a, b, __c) __extension__ ({ \
8299 poly8_t __a = (a); poly8x16_t __b = (b); \
8300 (poly8x16_t)__builtin_neon_vsetq_lane_i8(__a, (int8x16_t)__b, __c); })
8301 #define vsetq_lane_p16(a, b, __c) __extension__ ({ \
8302 poly16_t __a = (a); poly16x8_t __b = (b); \
8303 (poly16x8_t)__builtin_neon_vsetq_lane_i16(__a, (int16x8_t)__b, __c); })
8304 #define vsetq_lane_f32(a, b, __c) __extension__ ({ \
8305 float32_t __a = (a); float32x4_t __b = (b); \
8306 (float32x4_t)__builtin_neon_vsetq_lane_f32(__a, __b, __c); })
8307 #define vset_lane_s64(a, b, __c) __extension__ ({ \
8308 int64_t __a = (a); int64x1_t __b = (b); \
8309 (int64x1_t)__builtin_neon_vset_lane_i64(__a, __b, __c); })
8310 #define vset_lane_u64(a, b, __c) __extension__ ({ \
8311 uint64_t __a = (a); uint64x1_t __b = (b); \
8312 (uint64x1_t)__builtin_neon_vset_lane_i64(__a, (int64x1_t)__b, __c); })
8313 #define vsetq_lane_s64(a, b, __c) __extension__ ({ \
8314 int64_t __a = (a); int64x2_t __b = (b); \
8315 (int64x2_t)__builtin_neon_vsetq_lane_i64(__a, __b, __c); })
8316 #define vsetq_lane_u64(a, b, __c) __extension__ ({ \
8317 uint64_t __a = (a); uint64x2_t __b = (b); \
8318 (uint64x2_t)__builtin_neon_vsetq_lane_i64(__a, (int64x2_t)__b, __c); })
8319
8320 __ai int8x8_t vshl_s8(int8x8_t __a, int8x8_t __b) {
8321 return (int8x8_t)__builtin_neon_vshl_v(__a, __b, 0); }
8322 __ai int16x4_t vshl_s16(int16x4_t __a, int16x4_t __b) {
8323 return (int16x4_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 1); }
8324 __ai int32x2_t vshl_s32(int32x2_t __a, int32x2_t __b) {
8325 return (int32x2_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 2); }
8326 __ai int64x1_t vshl_s64(int64x1_t __a, int64x1_t __b) {
8327 return (int64x1_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 3); }
8328 __ai uint8x8_t vshl_u8(uint8x8_t __a, int8x8_t __b) {
8329 return (uint8x8_t)__builtin_neon_vshl_v((int8x8_t)__a, __b, 16); }
8330 __ai uint16x4_t vshl_u16(uint16x4_t __a, int16x4_t __b) {
8331 return (uint16x4_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 17); }
8332 __ai uint32x2_t vshl_u32(uint32x2_t __a, int32x2_t __b) {
8333 return (uint32x2_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 18); }
8334 __ai uint64x1_t vshl_u64(uint64x1_t __a, int64x1_t __b) {
8335 return (uint64x1_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 19); }
8336 __ai int8x16_t vshlq_s8(int8x16_t __a, int8x16_t __b) {
8337 return (int8x16_t)__builtin_neon_vshlq_v(__a, __b, 32); }
8338 __ai int16x8_t vshlq_s16(int16x8_t __a, int16x8_t __b) {
8339 return (int16x8_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 33); }
8340 __ai int32x4_t vshlq_s32(int32x4_t __a, int32x4_t __b) {
8341 return (int32x4_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 34); }
8342 __ai int64x2_t vshlq_s64(int64x2_t __a, int64x2_t __b) {
8343 return (int64x2_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 35); }
8344 __ai uint8x16_t vshlq_u8(uint8x16_t __a, int8x16_t __b) {
8345 return (uint8x16_t)__builtin_neon_vshlq_v((int8x16_t)__a, __b, 48); }
8346 __ai uint16x8_t vshlq_u16(uint16x8_t __a, int16x8_t __b) {
8347 return (uint16x8_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 49); }
8348 __ai uint32x4_t vshlq_u32(uint32x4_t __a, int32x4_t __b) {
8349 return (uint32x4_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 50); }
8350 __ai uint64x2_t vshlq_u64(uint64x2_t __a, int64x2_t __b) {
8351 return (uint64x2_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 51); }
8352
8353 #define vshl_n_s8(a, __b) __extension__ ({ \
8354 int8x8_t __a = (a); \
8355 (int8x8_t)__builtin_neon_vshl_n_v(__a, __b, 0); })
8356 #define vshl_n_s16(a, __b) __extension__ ({ \
8357 int16x4_t __a = (a); \
8358 (int16x4_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 1); })
8359 #define vshl_n_s32(a, __b) __extension__ ({ \
8360 int32x2_t __a = (a); \
8361 (int32x2_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 2); })
8362 #define vshl_n_s64(a, __b) __extension__ ({ \
8363 int64x1_t __a = (a); \
8364 (int64x1_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 3); })
8365 #define vshl_n_u8(a, __b) __extension__ ({ \
8366 uint8x8_t __a = (a); \
8367 (uint8x8_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 16); })
8368 #define vshl_n_u16(a, __b) __extension__ ({ \
8369 uint16x4_t __a = (a); \
8370 (uint16x4_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 17); })
8371 #define vshl_n_u32(a, __b) __extension__ ({ \
8372 uint32x2_t __a = (a); \
8373 (uint32x2_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 18); })
8374 #define vshl_n_u64(a, __b) __extension__ ({ \
8375 uint64x1_t __a = (a); \
8376 (uint64x1_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 19); })
8377 #define vshlq_n_s8(a, __b) __extension__ ({ \
8378 int8x16_t __a = (a); \
8379 (int8x16_t)__builtin_neon_vshlq_n_v(__a, __b, 32); })
8380 #define vshlq_n_s16(a, __b) __extension__ ({ \
8381 int16x8_t __a = (a); \
8382 (int16x8_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 33); })
8383 #define vshlq_n_s32(a, __b) __extension__ ({ \
8384 int32x4_t __a = (a); \
8385 (int32x4_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 34); })
8386 #define vshlq_n_s64(a, __b) __extension__ ({ \
8387 int64x2_t __a = (a); \
8388 (int64x2_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 35); })
8389 #define vshlq_n_u8(a, __b) __extension__ ({ \
8390 uint8x16_t __a = (a); \
8391 (uint8x16_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 48); })
8392 #define vshlq_n_u16(a, __b) __extension__ ({ \
8393 uint16x8_t __a = (a); \
8394 (uint16x8_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 49); })
8395 #define vshlq_n_u32(a, __b) __extension__ ({ \
8396 uint32x4_t __a = (a); \
8397 (uint32x4_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 50); })
8398 #define vshlq_n_u64(a, __b) __extension__ ({ \
8399 uint64x2_t __a = (a); \
8400 (uint64x2_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 51); })
8401
8402 #define vshrn_n_s16(a, __b) __extension__ ({ \
8403 int16x8_t __a = (a); \
8404 (int8x8_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 0); })
8405 #define vshrn_n_s32(a, __b) __extension__ ({ \
8406 int32x4_t __a = (a); \
8407 (int16x4_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 1); })
8408 #define vshrn_n_s64(a, __b) __extension__ ({ \
8409 int64x2_t __a = (a); \
8410 (int32x2_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 2); })
8411 #define vshrn_n_u16(a, __b) __extension__ ({ \
8412 uint16x8_t __a = (a); \
8413 (uint8x8_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 16); })
8414 #define vshrn_n_u32(a, __b) __extension__ ({ \
8415 uint32x4_t __a = (a); \
8416 (uint16x4_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 17); })
8417 #define vshrn_n_u64(a, __b) __extension__ ({ \
8418 uint64x2_t __a = (a); \
8419 (uint32x2_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 18); })
8420
8421 #define vshr_n_s8(a, __b) __extension__ ({ \
8422 int8x8_t __a = (a); \
8423 (int8x8_t)__builtin_neon_vshr_n_v(__a, __b, 0); })
8424 #define vshr_n_s16(a, __b) __extension__ ({ \
8425 int16x4_t __a = (a); \
8426 (int16x4_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 1); })
8427 #define vshr_n_s32(a, __b) __extension__ ({ \
8428 int32x2_t __a = (a); \
8429 (int32x2_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 2); })
8430 #define vshr_n_s64(a, __b) __extension__ ({ \
8431 int64x1_t __a = (a); \
8432 (int64x1_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 3); })
8433 #define vshr_n_u8(a, __b) __extension__ ({ \
8434 uint8x8_t __a = (a); \
8435 (uint8x8_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 16); })
8436 #define vshr_n_u16(a, __b) __extension__ ({ \
8437 uint16x4_t __a = (a); \
8438 (uint16x4_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 17); })
8439 #define vshr_n_u32(a, __b) __extension__ ({ \
8440 uint32x2_t __a = (a); \
8441 (uint32x2_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 18); })
8442 #define vshr_n_u64(a, __b) __extension__ ({ \
8443 uint64x1_t __a = (a); \
8444 (uint64x1_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 19); })
8445 #define vshrq_n_s8(a, __b) __extension__ ({ \
8446 int8x16_t __a = (a); \
8447 (int8x16_t)__builtin_neon_vshrq_n_v(__a, __b, 32); })
8448 #define vshrq_n_s16(a, __b) __extension__ ({ \
8449 int16x8_t __a = (a); \
8450 (int16x8_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 33); })
8451 #define vshrq_n_s32(a, __b) __extension__ ({ \
8452 int32x4_t __a = (a); \
8453 (int32x4_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 34); })
8454 #define vshrq_n_s64(a, __b) __extension__ ({ \
8455 int64x2_t __a = (a); \
8456 (int64x2_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 35); })
8457 #define vshrq_n_u8(a, __b) __extension__ ({ \
8458 uint8x16_t __a = (a); \
8459 (uint8x16_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 48); })
8460 #define vshrq_n_u16(a, __b) __extension__ ({ \
8461 uint16x8_t __a = (a); \
8462 (uint16x8_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 49); })
8463 #define vshrq_n_u32(a, __b) __extension__ ({ \
8464 uint32x4_t __a = (a); \
8465 (uint32x4_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 50); })
8466 #define vshrq_n_u64(a, __b) __extension__ ({ \
8467 uint64x2_t __a = (a); \
8468 (uint64x2_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 51); })
8469
8470 #define vsli_n_s8(a, b, __c) __extension__ ({ \
8471 int8x8_t __a = (a); int8x8_t __b = (b); \
8472 (int8x8_t)__builtin_neon_vsli_n_v(__a, __b, __c, 0); })
8473 #define vsli_n_s16(a, b, __c) __extension__ ({ \
8474 int16x4_t __a = (a); int16x4_t __b = (b); \
8475 (int16x4_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); })
8476 #define vsli_n_s32(a, b, __c) __extension__ ({ \
8477 int32x2_t __a = (a); int32x2_t __b = (b); \
8478 (int32x2_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); })
8479 #define vsli_n_s64(a, b, __c) __extension__ ({ \
8480 int64x1_t __a = (a); int64x1_t __b = (b); \
8481 (int64x1_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); })
8482 #define vsli_n_u8(a, b, __c) __extension__ ({ \
8483 uint8x8_t __a = (a); uint8x8_t __b = (b); \
8484 (uint8x8_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 16); })
8485 #define vsli_n_u16(a, b, __c) __extension__ ({ \
8486 uint16x4_t __a = (a); uint16x4_t __b = (b); \
8487 (uint16x4_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 17); })
8488 #define vsli_n_u32(a, b, __c) __extension__ ({ \
8489 uint32x2_t __a = (a); uint32x2_t __b = (b); \
8490 (uint32x2_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 18); })
8491 #define vsli_n_u64(a, b, __c) __extension__ ({ \
8492 uint64x1_t __a = (a); uint64x1_t __b = (b); \
8493 (uint64x1_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 19); })
8494 #define vsli_n_p8(a, b, __c) __extension__ ({ \
8495 poly8x8_t __a = (a); poly8x8_t __b = (b); \
8496 (poly8x8_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 4); })
8497 #define vsli_n_p16(a, b, __c) __extension__ ({ \
8498 poly16x4_t __a = (a); poly16x4_t __b = (b); \
8499 (poly16x4_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 5); })
8500 #define vsliq_n_s8(a, b, __c) __extension__ ({ \
8501 int8x16_t __a = (a); int8x16_t __b = (b); \
8502 (int8x16_t)__builtin_neon_vsliq_n_v(__a, __b, __c, 32); })
8503 #define vsliq_n_s16(a, b, __c) __extension__ ({ \
8504 int16x8_t __a = (a); int16x8_t __b = (b); \
8505 (int16x8_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 33); })
8506 #define vsliq_n_s32(a, b, __c) __extension__ ({ \
8507 int32x4_t __a = (a); int32x4_t __b = (b); \
8508 (int32x4_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 34); })
8509 #define vsliq_n_s64(a, b, __c) __extension__ ({ \
8510 int64x2_t __a = (a); int64x2_t __b = (b); \
8511 (int64x2_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 35); })
8512 #define vsliq_n_u8(a, b, __c) __extension__ ({ \
8513 uint8x16_t __a = (a); uint8x16_t __b = (b); \
8514 (uint8x16_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 48); })
8515 #define vsliq_n_u16(a, b, __c) __extension__ ({ \
8516 uint16x8_t __a = (a); uint16x8_t __b = (b); \
8517 (uint16x8_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 49); })
8518 #define vsliq_n_u32(a, b, __c) __extension__ ({ \
8519 uint32x4_t __a = (a); uint32x4_t __b = (b); \
8520 (uint32x4_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 50); })
8521 #define vsliq_n_u64(a, b, __c) __extension__ ({ \
8522 uint64x2_t __a = (a); uint64x2_t __b = (b); \
8523 (uint64x2_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 51); })
8524 #define vsliq_n_p8(a, b, __c) __extension__ ({ \
8525 poly8x16_t __a = (a); poly8x16_t __b = (b); \
8526 (poly8x16_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 36); })
8527 #define vsliq_n_p16(a, b, __c) __extension__ ({ \
8528 poly16x8_t __a = (a); poly16x8_t __b = (b); \
8529 (poly16x8_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 37); })
8530
8531 #define vsra_n_s8(a, b, __c) __extension__ ({ \
8532 int8x8_t __a = (a); int8x8_t __b = (b); \
8533 (int8x8_t)__builtin_neon_vsra_n_v(__a, __b, __c, 0); })
8534 #define vsra_n_s16(a, b, __c) __extension__ ({ \
8535 int16x4_t __a = (a); int16x4_t __b = (b); \
8536 (int16x4_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); })
8537 #define vsra_n_s32(a, b, __c) __extension__ ({ \
8538 int32x2_t __a = (a); int32x2_t __b = (b); \
8539 (int32x2_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); })
8540 #define vsra_n_s64(a, b, __c) __extension__ ({ \
8541 int64x1_t __a = (a); int64x1_t __b = (b); \
8542 (int64x1_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); })
8543 #define vsra_n_u8(a, b, __c) __extension__ ({ \
8544 uint8x8_t __a = (a); uint8x8_t __b = (b); \
8545 (uint8x8_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 16); })
8546 #define vsra_n_u16(a, b, __c) __extension__ ({ \
8547 uint16x4_t __a = (a); uint16x4_t __b = (b); \
8548 (uint16x4_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 17); })
8549 #define vsra_n_u32(a, b, __c) __extension__ ({ \
8550 uint32x2_t __a = (a); uint32x2_t __b = (b); \
8551 (uint32x2_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 18); })
8552 #define vsra_n_u64(a, b, __c) __extension__ ({ \
8553 uint64x1_t __a = (a); uint64x1_t __b = (b); \
8554 (uint64x1_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 19); })
8555 #define vsraq_n_s8(a, b, __c) __extension__ ({ \
8556 int8x16_t __a = (a); int8x16_t __b = (b); \
8557 (int8x16_t)__builtin_neon_vsraq_n_v(__a, __b, __c, 32); })
8558 #define vsraq_n_s16(a, b, __c) __extension__ ({ \
8559 int16x8_t __a = (a); int16x8_t __b = (b); \
8560 (int16x8_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 33); })
8561 #define vsraq_n_s32(a, b, __c) __extension__ ({ \
8562 int32x4_t __a = (a); int32x4_t __b = (b); \
8563 (int32x4_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 34); })
8564 #define vsraq_n_s64(a, b, __c) __extension__ ({ \
8565 int64x2_t __a = (a); int64x2_t __b = (b); \
8566 (int64x2_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 35); })
8567 #define vsraq_n_u8(a, b, __c) __extension__ ({ \
8568 uint8x16_t __a = (a); uint8x16_t __b = (b); \
8569 (uint8x16_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 48); })
8570 #define vsraq_n_u16(a, b, __c) __extension__ ({ \
8571 uint16x8_t __a = (a); uint16x8_t __b = (b); \
8572 (uint16x8_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 49); })
8573 #define vsraq_n_u32(a, b, __c) __extension__ ({ \
8574 uint32x4_t __a = (a); uint32x4_t __b = (b); \
8575 (uint32x4_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 50); })
8576 #define vsraq_n_u64(a, b, __c) __extension__ ({ \
8577 uint64x2_t __a = (a); uint64x2_t __b = (b); \
8578 (uint64x2_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 51); })
8579
8580 #define vsri_n_s8(a, b, __c) __extension__ ({ \
8581 int8x8_t __a = (a); int8x8_t __b = (b); \
8582 (int8x8_t)__builtin_neon_vsri_n_v(__a, __b, __c, 0); })
8583 #define vsri_n_s16(a, b, __c) __extension__ ({ \
8584 int16x4_t __a = (a); int16x4_t __b = (b); \
8585 (int16x4_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); })
8586 #define vsri_n_s32(a, b, __c) __extension__ ({ \
8587 int32x2_t __a = (a); int32x2_t __b = (b); \
8588 (int32x2_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); })
8589 #define vsri_n_s64(a, b, __c) __extension__ ({ \
8590 int64x1_t __a = (a); int64x1_t __b = (b); \
8591 (int64x1_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); })
8592 #define vsri_n_u8(a, b, __c) __extension__ ({ \
8593 uint8x8_t __a = (a); uint8x8_t __b = (b); \
8594 (uint8x8_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 16); })
8595 #define vsri_n_u16(a, b, __c) __extension__ ({ \
8596 uint16x4_t __a = (a); uint16x4_t __b = (b); \
8597 (uint16x4_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 17); })
8598 #define vsri_n_u32(a, b, __c) __extension__ ({ \
8599 uint32x2_t __a = (a); uint32x2_t __b = (b); \
8600 (uint32x2_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 18); })
8601 #define vsri_n_u64(a, b, __c) __extension__ ({ \
8602 uint64x1_t __a = (a); uint64x1_t __b = (b); \
8603 (uint64x1_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 19); })
8604 #define vsri_n_p8(a, b, __c) __extension__ ({ \
8605 poly8x8_t __a = (a); poly8x8_t __b = (b); \
8606 (poly8x8_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 4); })
8607 #define vsri_n_p16(a, b, __c) __extension__ ({ \
8608 poly16x4_t __a = (a); poly16x4_t __b = (b); \
8609 (poly16x4_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 5); })
8610 #define vsriq_n_s8(a, b, __c) __extension__ ({ \
8611 int8x16_t __a = (a); int8x16_t __b = (b); \
8612 (int8x16_t)__builtin_neon_vsriq_n_v(__a, __b, __c, 32); })
8613 #define vsriq_n_s16(a, b, __c) __extension__ ({ \
8614 int16x8_t __a = (a); int16x8_t __b = (b); \
8615 (int16x8_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 33); })
8616 #define vsriq_n_s32(a, b, __c) __extension__ ({ \
8617 int32x4_t __a = (a); int32x4_t __b = (b); \
8618 (int32x4_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 34); })
8619 #define vsriq_n_s64(a, b, __c) __extension__ ({ \
8620 int64x2_t __a = (a); int64x2_t __b = (b); \
8621 (int64x2_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 35); })
8622 #define vsriq_n_u8(a, b, __c) __extension__ ({ \
8623 uint8x16_t __a = (a); uint8x16_t __b = (b); \
8624 (uint8x16_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 48); })
8625 #define vsriq_n_u16(a, b, __c) __extension__ ({ \
8626 uint16x8_t __a = (a); uint16x8_t __b = (b); \
8627 (uint16x8_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 49); })
8628 #define vsriq_n_u32(a, b, __c) __extension__ ({ \
8629 uint32x4_t __a = (a); uint32x4_t __b = (b); \
8630 (uint32x4_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 50); })
8631 #define vsriq_n_u64(a, b, __c) __extension__ ({ \
8632 uint64x2_t __a = (a); uint64x2_t __b = (b); \
8633 (uint64x2_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 51); })
8634 #define vsriq_n_p8(a, b, __c) __extension__ ({ \
8635 poly8x16_t __a = (a); poly8x16_t __b = (b); \
8636 (poly8x16_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 36); })
8637 #define vsriq_n_p16(a, b, __c) __extension__ ({ \
8638 poly16x8_t __a = (a); poly16x8_t __b = (b); \
8639 (poly16x8_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 37); })
8640
8641 #define vst1q_u8(__a, b) __extension__ ({ \
8642 uint8x16_t __b = (b); \
8643 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 48); })
8644 #define vst1q_u16(__a, b) __extension__ ({ \
8645 uint16x8_t __b = (b); \
8646 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 49); })
8647 #define vst1q_u32(__a, b) __extension__ ({ \
8648 uint32x4_t __b = (b); \
8649 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 50); })
8650 #define vst1q_u64(__a, b) __extension__ ({ \
8651 uint64x2_t __b = (b); \
8652 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 51); })
8653 #define vst1q_s8(__a, b) __extension__ ({ \
8654 int8x16_t __b = (b); \
8655 __builtin_neon_vst1q_v(__a, __b, 32); })
8656 #define vst1q_s16(__a, b) __extension__ ({ \
8657 int16x8_t __b = (b); \
8658 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 33); })
8659 #define vst1q_s32(__a, b) __extension__ ({ \
8660 int32x4_t __b = (b); \
8661 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 34); })
8662 #define vst1q_s64(__a, b) __extension__ ({ \
8663 int64x2_t __b = (b); \
8664 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 35); })
8665 #define vst1q_f16(__a, b) __extension__ ({ \
8666 float16x8_t __b = (b); \
8667 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 40); })
8668 #define vst1q_f32(__a, b) __extension__ ({ \
8669 float32x4_t __b = (b); \
8670 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 41); })
8671 #define vst1q_p8(__a, b) __extension__ ({ \
8672 poly8x16_t __b = (b); \
8673 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 36); })
8674 #define vst1q_p16(__a, b) __extension__ ({ \
8675 poly16x8_t __b = (b); \
8676 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 37); })
8677 #define vst1_u8(__a, b) __extension__ ({ \
8678 uint8x8_t __b = (b); \
8679 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 16); })
8680 #define vst1_u16(__a, b) __extension__ ({ \
8681 uint16x4_t __b = (b); \
8682 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 17); })
8683 #define vst1_u32(__a, b) __extension__ ({ \
8684 uint32x2_t __b = (b); \
8685 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 18); })
8686 #define vst1_u64(__a, b) __extension__ ({ \
8687 uint64x1_t __b = (b); \
8688 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 19); })
8689 #define vst1_s8(__a, b) __extension__ ({ \
8690 int8x8_t __b = (b); \
8691 __builtin_neon_vst1_v(__a, __b, 0); })
8692 #define vst1_s16(__a, b) __extension__ ({ \
8693 int16x4_t __b = (b); \
8694 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 1); })
8695 #define vst1_s32(__a, b) __extension__ ({ \
8696 int32x2_t __b = (b); \
8697 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 2); })
8698 #define vst1_s64(__a, b) __extension__ ({ \
8699 int64x1_t __b = (b); \
8700 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 3); })
8701 #define vst1_f16(__a, b) __extension__ ({ \
8702 float16x4_t __b = (b); \
8703 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 8); })
8704 #define vst1_f32(__a, b) __extension__ ({ \
8705 float32x2_t __b = (b); \
8706 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 9); })
8707 #define vst1_p8(__a, b) __extension__ ({ \
8708 poly8x8_t __b = (b); \
8709 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 4); })
8710 #define vst1_p16(__a, b) __extension__ ({ \
8711 poly16x4_t __b = (b); \
8712 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 5); })
8713
8714 #define vst1q_lane_u8(__a, b, __c) __extension__ ({ \
8715 uint8x16_t __b = (b); \
8716 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 48); })
8717 #define vst1q_lane_u16(__a, b, __c) __extension__ ({ \
8718 uint16x8_t __b = (b); \
8719 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 49); })
8720 #define vst1q_lane_u32(__a, b, __c) __extension__ ({ \
8721 uint32x4_t __b = (b); \
8722 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 50); })
8723 #define vst1q_lane_u64(__a, b, __c) __extension__ ({ \
8724 uint64x2_t __b = (b); \
8725 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 51); })
8726 #define vst1q_lane_s8(__a, b, __c) __extension__ ({ \
8727 int8x16_t __b = (b); \
8728 __builtin_neon_vst1q_lane_v(__a, __b, __c, 32); })
8729 #define vst1q_lane_s16(__a, b, __c) __extension__ ({ \
8730 int16x8_t __b = (b); \
8731 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 33); })
8732 #define vst1q_lane_s32(__a, b, __c) __extension__ ({ \
8733 int32x4_t __b = (b); \
8734 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 34); })
8735 #define vst1q_lane_s64(__a, b, __c) __extension__ ({ \
8736 int64x2_t __b = (b); \
8737 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 35); })
8738 #define vst1q_lane_f16(__a, b, __c) __extension__ ({ \
8739 float16x8_t __b = (b); \
8740 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 40); })
8741 #define vst1q_lane_f32(__a, b, __c) __extension__ ({ \
8742 float32x4_t __b = (b); \
8743 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 41); })
8744 #define vst1q_lane_p8(__a, b, __c) __extension__ ({ \
8745 poly8x16_t __b = (b); \
8746 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 36); })
8747 #define vst1q_lane_p16(__a, b, __c) __extension__ ({ \
8748 poly16x8_t __b = (b); \
8749 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 37); })
8750 #define vst1_lane_u8(__a, b, __c) __extension__ ({ \
8751 uint8x8_t __b = (b); \
8752 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 16); })
8753 #define vst1_lane_u16(__a, b, __c) __extension__ ({ \
8754 uint16x4_t __b = (b); \
8755 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 17); })
8756 #define vst1_lane_u32(__a, b, __c) __extension__ ({ \
8757 uint32x2_t __b = (b); \
8758 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 18); })
8759 #define vst1_lane_u64(__a, b, __c) __extension__ ({ \
8760 uint64x1_t __b = (b); \
8761 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 19); })
8762 #define vst1_lane_s8(__a, b, __c) __extension__ ({ \
8763 int8x8_t __b = (b); \
8764 __builtin_neon_vst1_lane_v(__a, __b, __c, 0); })
8765 #define vst1_lane_s16(__a, b, __c) __extension__ ({ \
8766 int16x4_t __b = (b); \
8767 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 1); })
8768 #define vst1_lane_s32(__a, b, __c) __extension__ ({ \
8769 int32x2_t __b = (b); \
8770 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 2); })
8771 #define vst1_lane_s64(__a, b, __c) __extension__ ({ \
8772 int64x1_t __b = (b); \
8773 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 3); })
8774 #define vst1_lane_f16(__a, b, __c) __extension__ ({ \
8775 float16x4_t __b = (b); \
8776 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 8); })
8777 #define vst1_lane_f32(__a, b, __c) __extension__ ({ \
8778 float32x2_t __b = (b); \
8779 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 9); })
8780 #define vst1_lane_p8(__a, b, __c) __extension__ ({ \
8781 poly8x8_t __b = (b); \
8782 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 4); })
8783 #define vst1_lane_p16(__a, b, __c) __extension__ ({ \
8784 poly16x4_t __b = (b); \
8785 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 5); })
8786
8787 #define vst2q_u8(__a, b) __extension__ ({ \
8788 uint8x16x2_t __b = (b); \
8789 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 48); })
8790 #define vst2q_u16(__a, b) __extension__ ({ \
8791 uint16x8x2_t __b = (b); \
8792 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 49); })
8793 #define vst2q_u32(__a, b) __extension__ ({ \
8794 uint32x4x2_t __b = (b); \
8795 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 50); })
8796 #define vst2q_s8(__a, b) __extension__ ({ \
8797 int8x16x2_t __b = (b); \
8798 __builtin_neon_vst2q_v(__a, __b.val[0], __b.val[1], 32); })
8799 #define vst2q_s16(__a, b) __extension__ ({ \
8800 int16x8x2_t __b = (b); \
8801 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 33); })
8802 #define vst2q_s32(__a, b) __extension__ ({ \
8803 int32x4x2_t __b = (b); \
8804 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 34); })
8805 #define vst2q_f16(__a, b) __extension__ ({ \
8806 float16x8x2_t __b = (b); \
8807 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 40); })
8808 #define vst2q_f32(__a, b) __extension__ ({ \
8809 float32x4x2_t __b = (b); \
8810 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 41); })
8811 #define vst2q_p8(__a, b) __extension__ ({ \
8812 poly8x16x2_t __b = (b); \
8813 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 36); })
8814 #define vst2q_p16(__a, b) __extension__ ({ \
8815 poly16x8x2_t __b = (b); \
8816 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 37); })
8817 #define vst2_u8(__a, b) __extension__ ({ \
8818 uint8x8x2_t __b = (b); \
8819 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 16); })
8820 #define vst2_u16(__a, b) __extension__ ({ \
8821 uint16x4x2_t __b = (b); \
8822 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 17); })
8823 #define vst2_u32(__a, b) __extension__ ({ \
8824 uint32x2x2_t __b = (b); \
8825 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 18); })
8826 #define vst2_u64(__a, b) __extension__ ({ \
8827 uint64x1x2_t __b = (b); \
8828 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 19); })
8829 #define vst2_s8(__a, b) __extension__ ({ \
8830 int8x8x2_t __b = (b); \
8831 __builtin_neon_vst2_v(__a, __b.val[0], __b.val[1], 0); })
8832 #define vst2_s16(__a, b) __extension__ ({ \
8833 int16x4x2_t __b = (b); \
8834 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 1); })
8835 #define vst2_s32(__a, b) __extension__ ({ \
8836 int32x2x2_t __b = (b); \
8837 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 2); })
8838 #define vst2_s64(__a, b) __extension__ ({ \
8839 int64x1x2_t __b = (b); \
8840 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 3); })
8841 #define vst2_f16(__a, b) __extension__ ({ \
8842 float16x4x2_t __b = (b); \
8843 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 8); })
8844 #define vst2_f32(__a, b) __extension__ ({ \
8845 float32x2x2_t __b = (b); \
8846 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 9); })
8847 #define vst2_p8(__a, b) __extension__ ({ \
8848 poly8x8x2_t __b = (b); \
8849 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 4); })
8850 #define vst2_p16(__a, b) __extension__ ({ \
8851 poly16x4x2_t __b = (b); \
8852 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 5); })
8853
8854 #define vst2q_lane_u16(__a, b, __c) __extension__ ({ \
8855 uint16x8x2_t __b = (b); \
8856 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 49); })
8857 #define vst2q_lane_u32(__a, b, __c) __extension__ ({ \
8858 uint32x4x2_t __b = (b); \
8859 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 50); })
8860 #define vst2q_lane_s16(__a, b, __c) __extension__ ({ \
8861 int16x8x2_t __b = (b); \
8862 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 33); })
8863 #define vst2q_lane_s32(__a, b, __c) __extension__ ({ \
8864 int32x4x2_t __b = (b); \
8865 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 34); })
8866 #define vst2q_lane_f16(__a, b, __c) __extension__ ({ \
8867 float16x8x2_t __b = (b); \
8868 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 40); })
8869 #define vst2q_lane_f32(__a, b, __c) __extension__ ({ \
8870 float32x4x2_t __b = (b); \
8871 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 41); })
8872 #define vst2q_lane_p16(__a, b, __c) __extension__ ({ \
8873 poly16x8x2_t __b = (b); \
8874 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], __c, 37); })
8875 #define vst2_lane_u8(__a, b, __c) __extension__ ({ \
8876 uint8x8x2_t __b = (b); \
8877 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 16); })
8878 #define vst2_lane_u16(__a, b, __c) __extension__ ({ \
8879 uint16x4x2_t __b = (b); \
8880 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 17); })
8881 #define vst2_lane_u32(__a, b, __c) __extension__ ({ \
8882 uint32x2x2_t __b = (b); \
8883 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 18); })
8884 #define vst2_lane_s8(__a, b, __c) __extension__ ({ \
8885 int8x8x2_t __b = (b); \
8886 __builtin_neon_vst2_lane_v(__a, __b.val[0], __b.val[1], __c, 0); })
8887 #define vst2_lane_s16(__a, b, __c) __extension__ ({ \
8888 int16x4x2_t __b = (b); \
8889 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 1); })
8890 #define vst2_lane_s32(__a, b, __c) __extension__ ({ \
8891 int32x2x2_t __b = (b); \
8892 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 2); })
8893 #define vst2_lane_f16(__a, b, __c) __extension__ ({ \
8894 float16x4x2_t __b = (b); \
8895 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 8); })
8896 #define vst2_lane_f32(__a, b, __c) __extension__ ({ \
8897 float32x2x2_t __b = (b); \
8898 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 9); })
8899 #define vst2_lane_p8(__a, b, __c) __extension__ ({ \
8900 poly8x8x2_t __b = (b); \
8901 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 4); })
8902 #define vst2_lane_p16(__a, b, __c) __extension__ ({ \
8903 poly16x4x2_t __b = (b); \
8904 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __ c, 5); })
8905
8906 #define vst3q_u8(__a, b) __extension__ ({ \
8907 uint8x16x3_t __b = (b); \
8908 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 48); })
8909 #define vst3q_u16(__a, b) __extension__ ({ \
8910 uint16x8x3_t __b = (b); \
8911 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 49); })
8912 #define vst3q_u32(__a, b) __extension__ ({ \
8913 uint32x4x3_t __b = (b); \
8914 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 50); })
8915 #define vst3q_s8(__a, b) __extension__ ({ \
8916 int8x16x3_t __b = (b); \
8917 __builtin_neon_vst3q_v(__a, __b.val[0], __b.val[1], __b.val[2], 32); })
8918 #define vst3q_s16(__a, b) __extension__ ({ \
8919 int16x8x3_t __b = (b); \
8920 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 33); })
8921 #define vst3q_s32(__a, b) __extension__ ({ \
8922 int32x4x3_t __b = (b); \
8923 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 34); })
8924 #define vst3q_f16(__a, b) __extension__ ({ \
8925 float16x8x3_t __b = (b); \
8926 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 40); })
8927 #define vst3q_f32(__a, b) __extension__ ({ \
8928 float32x4x3_t __b = (b); \
8929 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 41); })
8930 #define vst3q_p8(__a, b) __extension__ ({ \
8931 poly8x16x3_t __b = (b); \
8932 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 36); })
8933 #define vst3q_p16(__a, b) __extension__ ({ \
8934 poly16x8x3_t __b = (b); \
8935 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int 8x16_t)__b.val[2], 37); })
8936 #define vst3_u8(__a, b) __extension__ ({ \
8937 uint8x8x3_t __b = (b); \
8938 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 16); })
8939 #define vst3_u16(__a, b) __extension__ ({ \
8940 uint16x4x3_t __b = (b); \
8941 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 17); })
8942 #define vst3_u32(__a, b) __extension__ ({ \
8943 uint32x2x3_t __b = (b); \
8944 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 18); })
8945 #define vst3_u64(__a, b) __extension__ ({ \
8946 uint64x1x3_t __b = (b); \
8947 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 19); })
8948 #define vst3_s8(__a, b) __extension__ ({ \
8949 int8x8x3_t __b = (b); \
8950 __builtin_neon_vst3_v(__a, __b.val[0], __b.val[1], __b.val[2], 0); })
8951 #define vst3_s16(__a, b) __extension__ ({ \
8952 int16x4x3_t __b = (b); \
8953 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 1); })
8954 #define vst3_s32(__a, b) __extension__ ({ \
8955 int32x2x3_t __b = (b); \
8956 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 2); })
8957 #define vst3_s64(__a, b) __extension__ ({ \
8958 int64x1x3_t __b = (b); \
8959 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 3); })
8960 #define vst3_f16(__a, b) __extension__ ({ \
8961 float16x4x3_t __b = (b); \
8962 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 8); })
8963 #define vst3_f32(__a, b) __extension__ ({ \
8964 float32x2x3_t __b = (b); \
8965 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 9); })
8966 #define vst3_p8(__a, b) __extension__ ({ \
8967 poly8x8x3_t __b = (b); \
8968 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 4); })
8969 #define vst3_p16(__a, b) __extension__ ({ \
8970 poly16x4x3_t __b = (b); \
8971 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8 _t)__b.val[2], 5); })
8972
8973 #define vst3q_lane_u16(__a, b, __c) __extension__ ({ \
8974 uint16x8x3_t __b = (b); \
8975 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 49); })
8976 #define vst3q_lane_u32(__a, b, __c) __extension__ ({ \
8977 uint32x4x3_t __b = (b); \
8978 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 50); })
8979 #define vst3q_lane_s16(__a, b, __c) __extension__ ({ \
8980 int16x8x3_t __b = (b); \
8981 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 33); })
8982 #define vst3q_lane_s32(__a, b, __c) __extension__ ({ \
8983 int32x4x3_t __b = (b); \
8984 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 34); })
8985 #define vst3q_lane_f16(__a, b, __c) __extension__ ({ \
8986 float16x8x3_t __b = (b); \
8987 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 40); })
8988 #define vst3q_lane_f32(__a, b, __c) __extension__ ({ \
8989 float32x4x3_t __b = (b); \
8990 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 41); })
8991 #define vst3q_lane_p16(__a, b, __c) __extension__ ({ \
8992 poly16x8x3_t __b = (b); \
8993 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 37); })
8994 #define vst3_lane_u8(__a, b, __c) __extension__ ({ \
8995 uint8x8x3_t __b = (b); \
8996 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 16); })
8997 #define vst3_lane_u16(__a, b, __c) __extension__ ({ \
8998 uint16x4x3_t __b = (b); \
8999 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 17); })
9000 #define vst3_lane_u32(__a, b, __c) __extension__ ({ \
9001 uint32x2x3_t __b = (b); \
9002 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 18); })
9003 #define vst3_lane_s8(__a, b, __c) __extension__ ({ \
9004 int8x8x3_t __b = (b); \
9005 __builtin_neon_vst3_lane_v(__a, __b.val[0], __b.val[1], __b.val[2], __c, 0); } )
9006 #define vst3_lane_s16(__a, b, __c) __extension__ ({ \
9007 int16x4x3_t __b = (b); \
9008 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 1); })
9009 #define vst3_lane_s32(__a, b, __c) __extension__ ({ \
9010 int32x2x3_t __b = (b); \
9011 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 2); })
9012 #define vst3_lane_f16(__a, b, __c) __extension__ ({ \
9013 float16x4x3_t __b = (b); \
9014 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 8); })
9015 #define vst3_lane_f32(__a, b, __c) __extension__ ({ \
9016 float32x2x3_t __b = (b); \
9017 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 9); })
9018 #define vst3_lane_p8(__a, b, __c) __extension__ ({ \
9019 poly8x8x3_t __b = (b); \
9020 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 4); })
9021 #define vst3_lane_p16(__a, b, __c) __extension__ ({ \
9022 poly16x4x3_t __b = (b); \
9023 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i nt8x8_t)__b.val[2], __c, 5); })
9024
9025 #define vst4q_u8(__a, b) __extension__ ({ \
9026 uint8x16x4_t __b = (b); \
9027 __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], 48); })
9028 #define vst4q_u16(__a, b) __extension__ ({ \
9029 uint16x8x4_t __b = (b); \
9030 __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], 49); })
9031 #define vst4q_u32(__a, b) __extension__ ({ \
9032 uint32x4x4_t __b = (b); \
9033 __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], 50); })
9034 #define vst4q_s8(__a, b) __extension__ ({ \
9035 int8x16x4_t __b = (b); \
9036 __builtin_neon_vst4q_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3], 32 ); })
9037 #define vst4q_s16(__a, b) __extension__ ({ \
9038 int16x8x4_t __b = (b); \
9039 __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], 33); })
9040 #define vst4q_s32(__a, b) __extension__ ({ \
9041 int32x4x4_t __b = (b); \
9042 __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], 34); })
9043 #define vst4q_f16(__a, b) __extension__ ({ \
9044 float16x8x4_t __b = (b); \
9045 __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], 40); })
9046 #define vst4q_f32(__a, b) __extension__ ({ \
9047 float32x4x4_t __b = (b); \
9048 __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], 41); })
9049 #define vst4q_p8(__a, b) __extension__ ({ \
9050 poly8x16x4_t __b = (b); \
9051 __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], 36); })
9052 #define vst4q_p16(__a, b) __extension__ ({ \
9053 poly16x8x4_t __b = (b); \
9054 __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], 37); })
9055 #define vst4_u8(__a, b) __extension__ ({ \
9056 uint8x8x4_t __b = (b); \
9057 __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], 16); })
9058 #define vst4_u16(__a, b) __extension__ ({ \
9059 uint16x4x4_t __b = (b); \
9060 __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], 17); })
9061 #define vst4_u32(__a, b) __extension__ ({ \
9062 uint32x2x4_t __b = (b); \
9063 __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], 18); })
9064 #define vst4_u64(__a, b) __extension__ ({ \
9065 uint64x1x4_t __b = (b); \
9066 __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], 19); })
9067 #define vst4_s8(__a, b) __extension__ ({ \
9068 int8x8x4_t __b = (b); \
9069 __builtin_neon_vst4_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3], 0); })
9070 #define vst4_s16(__a, b) __extension__ ({ \
9071 int16x4x4_t __b = (b); \
9072 __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); })
9073 #define vst4_s32(__a, b) __extension__ ({ \
9074 int32x2x4_t __b = (b); \
9075 __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); })
9076 #define vst4_s64(__a, b) __extension__ ({ \
9077 int64x1x4_t __b = (b); \
9078 __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); })
9079 #define vst4_f16(__a, b) __extension__ ({ \
9080 float16x4x4_t __b = (b); \
9081 __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); })
9082 #define vst4_f32(__a, b) __extension__ ({ \
9083 float32x2x4_t __b = (b); \
9084 __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); })
9085 #define vst4_p8(__a, b) __extension__ ({ \
9086 poly8x8x4_t __b = (b); \
9087 __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); })
9088 #define vst4_p16(__a, b) __extension__ ({ \
9089 poly16x4x4_t __b = (b); \
9090 __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); })
9091
9092 #define vst4q_lane_u16(__a, b, __c) __extension__ ({ \
9093 uint16x8x4_t __b = (b); \
9094 __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, 49); })
9095 #define vst4q_lane_u32(__a, b, __c) __extension__ ({ \
9096 uint32x4x4_t __b = (b); \
9097 __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, 50); })
9098 #define vst4q_lane_s16(__a, b, __c) __extension__ ({ \
9099 int16x8x4_t __b = (b); \
9100 __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, 33); })
9101 #define vst4q_lane_s32(__a, b, __c) __extension__ ({ \
9102 int32x4x4_t __b = (b); \
9103 __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, 34); })
9104 #define vst4q_lane_f16(__a, b, __c) __extension__ ({ \
9105 float16x8x4_t __b = (b); \
9106 __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, 40); })
9107 #define vst4q_lane_f32(__a, b, __c) __extension__ ({ \
9108 float32x4x4_t __b = (b); \
9109 __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, 41); })
9110 #define vst4q_lane_p16(__a, b, __c) __extension__ ({ \
9111 poly16x8x4_t __b = (b); \
9112 __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, 37); })
9113 #define vst4_lane_u8(__a, b, __c) __extension__ ({ \
9114 uint8x8x4_t __b = (b); \
9115 __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, 16); })
9116 #define vst4_lane_u16(__a, b, __c) __extension__ ({ \
9117 uint16x4x4_t __b = (b); \
9118 __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, 17); })
9119 #define vst4_lane_u32(__a, b, __c) __extension__ ({ \
9120 uint32x2x4_t __b = (b); \
9121 __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, 18); })
9122 #define vst4_lane_s8(__a, b, __c) __extension__ ({ \
9123 int8x8x4_t __b = (b); \
9124 __builtin_neon_vst4_lane_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3] , __c, 0); })
9125 #define vst4_lane_s16(__a, b, __c) __extension__ ({ \
9126 int16x4x4_t __b = (b); \
9127 __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); })
9128 #define vst4_lane_s32(__a, b, __c) __extension__ ({ \
9129 int32x2x4_t __b = (b); \
9130 __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); })
9131 #define vst4_lane_f16(__a, b, __c) __extension__ ({ \
9132 float16x4x4_t __b = (b); \
9133 __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); })
9134 #define vst4_lane_f32(__a, b, __c) __extension__ ({ \
9135 float32x2x4_t __b = (b); \
9136 __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); })
9137 #define vst4_lane_p8(__a, b, __c) __extension__ ({ \
9138 poly8x8x4_t __b = (b); \
9139 __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); })
9140 #define vst4_lane_p16(__a, b, __c) __extension__ ({ \
9141 poly16x4x4_t __b = (b); \
9142 __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); })
9143
9144 #if defined(__aarch64__)
9145 #define vstrq_p128(__a, b) __extension__ ({ \
9146 poly128_t __b = (b); \
9147 __builtin_neon_vstrq_p128(__a, __b); })
9148
9149 #endif
9150
9151 __ai int8x8_t vsub_s8(int8x8_t __a, int8x8_t __b) {
9152 return __a - __b; }
9153 __ai int16x4_t vsub_s16(int16x4_t __a, int16x4_t __b) {
9154 return __a - __b; }
9155 __ai int32x2_t vsub_s32(int32x2_t __a, int32x2_t __b) {
9156 return __a - __b; }
9157 __ai int64x1_t vsub_s64(int64x1_t __a, int64x1_t __b) {
9158 return __a - __b; }
9159 __ai float32x2_t vsub_f32(float32x2_t __a, float32x2_t __b) {
9160 return __a - __b; }
9161 __ai uint8x8_t vsub_u8(uint8x8_t __a, uint8x8_t __b) {
9162 return __a - __b; }
9163 __ai uint16x4_t vsub_u16(uint16x4_t __a, uint16x4_t __b) {
9164 return __a - __b; }
9165 __ai uint32x2_t vsub_u32(uint32x2_t __a, uint32x2_t __b) {
9166 return __a - __b; }
9167 __ai uint64x1_t vsub_u64(uint64x1_t __a, uint64x1_t __b) {
9168 return __a - __b; }
9169 __ai int8x16_t vsubq_s8(int8x16_t __a, int8x16_t __b) {
9170 return __a - __b; }
9171 __ai int16x8_t vsubq_s16(int16x8_t __a, int16x8_t __b) {
9172 return __a - __b; }
9173 __ai int32x4_t vsubq_s32(int32x4_t __a, int32x4_t __b) {
9174 return __a - __b; }
9175 __ai int64x2_t vsubq_s64(int64x2_t __a, int64x2_t __b) {
9176 return __a - __b; }
9177 __ai float32x4_t vsubq_f32(float32x4_t __a, float32x4_t __b) {
9178 return __a - __b; }
9179 __ai uint8x16_t vsubq_u8(uint8x16_t __a, uint8x16_t __b) {
9180 return __a - __b; }
9181 __ai uint16x8_t vsubq_u16(uint16x8_t __a, uint16x8_t __b) {
9182 return __a - __b; }
9183 __ai uint32x4_t vsubq_u32(uint32x4_t __a, uint32x4_t __b) {
9184 return __a - __b; }
9185 __ai uint64x2_t vsubq_u64(uint64x2_t __a, uint64x2_t __b) {
9186 return __a - __b; }
9187
9188 __ai int8x8_t vsubhn_s16(int16x8_t __a, int16x8_t __b) {
9189 return (int8x8_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 0); }
9190 __ai int16x4_t vsubhn_s32(int32x4_t __a, int32x4_t __b) {
9191 return (int16x4_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 1); }
9192 __ai int32x2_t vsubhn_s64(int64x2_t __a, int64x2_t __b) {
9193 return (int32x2_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 2); }
9194 __ai uint8x8_t vsubhn_u16(uint16x8_t __a, uint16x8_t __b) {
9195 return (uint8x8_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 16); }
9196 __ai uint16x4_t vsubhn_u32(uint32x4_t __a, uint32x4_t __b) {
9197 return (uint16x4_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 17) ; }
9198 __ai uint32x2_t vsubhn_u64(uint64x2_t __a, uint64x2_t __b) {
9199 return (uint32x2_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 18) ; }
9200
9201 #if defined(__aarch64__)
9202 __ai int8x16_t vsubhn_high_s16(int8x8_t __a, int16x8_t __b, int16x8_t __c) {
9203 return vcombine_s8(__a, vsubhn_s16(__b, __c)); }
9204 __ai int16x8_t vsubhn_high_s32(int16x4_t __a, int32x4_t __b, int32x4_t __c) {
9205 return vcombine_s16(__a, vsubhn_s32(__b, __c)); }
9206 __ai int32x4_t vsubhn_high_s64(int32x2_t __a, int64x2_t __b, int64x2_t __c) {
9207 return vcombine_s32(__a, vsubhn_s64(__b, __c)); }
9208 __ai uint8x16_t vsubhn_high_u16(uint8x8_t __a, uint16x8_t __b, uint16x8_t __c) {
9209 return vcombine_u8(__a, vsubhn_u16(__b, __c)); }
9210 __ai uint16x8_t vsubhn_high_u32(uint16x4_t __a, uint32x4_t __b, uint32x4_t __c) {
9211 return vcombine_u16(__a, vsubhn_u32(__b, __c)); }
9212 __ai uint32x4_t vsubhn_high_u64(uint32x2_t __a, uint64x2_t __b, uint64x2_t __c) {
9213 return vcombine_u32(__a, vsubhn_u64(__b, __c)); }
9214
9215 #endif
9216
9217 __ai int16x8_t vsubl_s8(int8x8_t __a, int8x8_t __b) {
9218 return vmovl_s8(__a) - vmovl_s8(__b); }
9219 __ai int32x4_t vsubl_s16(int16x4_t __a, int16x4_t __b) {
9220 return vmovl_s16(__a) - vmovl_s16(__b); }
9221 __ai int64x2_t vsubl_s32(int32x2_t __a, int32x2_t __b) {
9222 return vmovl_s32(__a) - vmovl_s32(__b); }
9223 __ai uint16x8_t vsubl_u8(uint8x8_t __a, uint8x8_t __b) {
9224 return vmovl_u8(__a) - vmovl_u8(__b); }
9225 __ai uint32x4_t vsubl_u16(uint16x4_t __a, uint16x4_t __b) {
9226 return vmovl_u16(__a) - vmovl_u16(__b); }
9227 __ai uint64x2_t vsubl_u32(uint32x2_t __a, uint32x2_t __b) {
9228 return vmovl_u32(__a) - vmovl_u32(__b); }
9229
9230 #if defined(__aarch64__)
9231 __ai int16x8_t vsubl_high_s8(int8x16_t __a, int8x16_t __b) {
9232 return vmovl_high_s8(__a) - vmovl_high_s8(__b); }
9233 __ai int32x4_t vsubl_high_s16(int16x8_t __a, int16x8_t __b) {
9234 return vmovl_high_s16(__a) - vmovl_high_s16(__b); }
9235 __ai int64x2_t vsubl_high_s32(int32x4_t __a, int32x4_t __b) {
9236 return vmovl_high_s32(__a) - vmovl_high_s32(__b); }
9237 __ai uint16x8_t vsubl_high_u8(uint8x16_t __a, uint8x16_t __b) {
9238 return vmovl_high_u8(__a) - vmovl_high_u8(__b); }
9239 __ai uint32x4_t vsubl_high_u16(uint16x8_t __a, uint16x8_t __b) {
9240 return vmovl_high_u16(__a) - vmovl_high_u16(__b); }
9241 __ai uint64x2_t vsubl_high_u32(uint32x4_t __a, uint32x4_t __b) {
9242 return vmovl_high_u32(__a) - vmovl_high_u32(__b); }
9243
9244 #endif
9245
9246 __ai int16x8_t vsubw_s8(int16x8_t __a, int8x8_t __b) {
9247 return __a - vmovl_s8(__b); }
9248 __ai int32x4_t vsubw_s16(int32x4_t __a, int16x4_t __b) {
9249 return __a - vmovl_s16(__b); }
9250 __ai int64x2_t vsubw_s32(int64x2_t __a, int32x2_t __b) {
9251 return __a - vmovl_s32(__b); }
9252 __ai uint16x8_t vsubw_u8(uint16x8_t __a, uint8x8_t __b) {
9253 return __a - vmovl_u8(__b); }
9254 __ai uint32x4_t vsubw_u16(uint32x4_t __a, uint16x4_t __b) {
9255 return __a - vmovl_u16(__b); }
9256 __ai uint64x2_t vsubw_u32(uint64x2_t __a, uint32x2_t __b) {
9257 return __a - vmovl_u32(__b); }
9258
9259 #if defined(__aarch64__)
9260 __ai int16x8_t vsubw_high_s8(int16x8_t __a, int8x16_t __b) {
9261 return __a - vmovl_high_s8(__b); }
9262 __ai int32x4_t vsubw_high_s16(int32x4_t __a, int16x8_t __b) {
9263 return __a - vmovl_high_s16(__b); }
9264 __ai int64x2_t vsubw_high_s32(int64x2_t __a, int32x4_t __b) {
9265 return __a - vmovl_high_s32(__b); }
9266 __ai uint16x8_t vsubw_high_u8(uint16x8_t __a, uint8x16_t __b) {
9267 return __a - vmovl_high_u8(__b); }
9268 __ai uint32x4_t vsubw_high_u16(uint32x4_t __a, uint16x8_t __b) {
9269 return __a - vmovl_high_u16(__b); }
9270 __ai uint64x2_t vsubw_high_u32(uint64x2_t __a, uint32x4_t __b) {
9271 return __a - vmovl_high_u32(__b); }
9272
9273 #endif
9274
9275 __ai uint8x8_t vtbl1_u8(uint8x8_t __a, uint8x8_t __b) {
9276 return (uint8x8_t)__builtin_neon_vtbl1_v((int8x8_t)__a, (int8x8_t)__b, 16); }
9277 __ai int8x8_t vtbl1_s8(int8x8_t __a, int8x8_t __b) {
9278 return (int8x8_t)__builtin_neon_vtbl1_v(__a, __b, 0); }
9279 __ai poly8x8_t vtbl1_p8(poly8x8_t __a, uint8x8_t __b) {
9280 return (poly8x8_t)__builtin_neon_vtbl1_v((int8x8_t)__a, (int8x8_t)__b, 4); }
9281
9282 __ai uint8x8_t vtbl2_u8(uint8x8x2_t __a, uint8x8_t __b) {
9283 return (uint8x8_t)__builtin_neon_vtbl2_v((int8x8_t)__a.val[0], (int8x8_t)__a.v al[1], (int8x8_t)__b, 16); }
9284 __ai int8x8_t vtbl2_s8(int8x8x2_t __a, int8x8_t __b) {
9285 return (int8x8_t)__builtin_neon_vtbl2_v(__a.val[0], __a.val[1], __b, 0); }
9286 __ai poly8x8_t vtbl2_p8(poly8x8x2_t __a, uint8x8_t __b) {
9287 return (poly8x8_t)__builtin_neon_vtbl2_v((int8x8_t)__a.val[0], (int8x8_t)__a.v al[1], (int8x8_t)__b, 4); }
9288
9289 __ai uint8x8_t vtbl3_u8(uint8x8x3_t __a, uint8x8_t __b) {
9290 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, 16); }
9291 __ai int8x8_t vtbl3_s8(int8x8x3_t __a, int8x8_t __b) {
9292 return (int8x8_t)__builtin_neon_vtbl3_v(__a.val[0], __a.val[1], __a.val[2], __ b, 0); }
9293 __ai poly8x8_t vtbl3_p8(poly8x8x3_t __a, uint8x8_t __b) {
9294 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, 4); }
9295
9296 __ai uint8x8_t vtbl4_u8(uint8x8x4_t __a, uint8x8_t __b) {
9297 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, 16); }
9298 __ai int8x8_t vtbl4_s8(int8x8x4_t __a, int8x8_t __b) {
9299 return (int8x8_t)__builtin_neon_vtbl4_v(__a.val[0], __a.val[1], __a.val[2], __ a.val[3], __b, 0); }
9300 __ai poly8x8_t vtbl4_p8(poly8x8x4_t __a, uint8x8_t __b) {
9301 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, 4); }
9302
9303 __ai uint8x8_t vtbx1_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) {
9304 return (uint8x8_t)__builtin_neon_vtbx1_v((int8x8_t)__a, (int8x8_t)__b, (int8x8 _t)__c, 16); }
9305 __ai int8x8_t vtbx1_s8(int8x8_t __a, int8x8_t __b, int8x8_t __c) {
9306 return (int8x8_t)__builtin_neon_vtbx1_v(__a, __b, __c, 0); }
9307 __ai poly8x8_t vtbx1_p8(poly8x8_t __a, poly8x8_t __b, uint8x8_t __c) {
9308 return (poly8x8_t)__builtin_neon_vtbx1_v((int8x8_t)__a, (int8x8_t)__b, (int8x8 _t)__c, 4); }
9309
9310 __ai uint8x8_t vtbx2_u8(uint8x8_t __a, uint8x8x2_t __b, uint8x8_t __c) {
9311 return (uint8x8_t)__builtin_neon_vtbx2_v((int8x8_t)__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__c, 16); }
9312 __ai int8x8_t vtbx2_s8(int8x8_t __a, int8x8x2_t __b, int8x8_t __c) {
9313 return (int8x8_t)__builtin_neon_vtbx2_v(__a, __b.val[0], __b.val[1], __c, 0); }
9314 __ai poly8x8_t vtbx2_p8(poly8x8_t __a, poly8x8x2_t __b, uint8x8_t __c) {
9315 return (poly8x8_t)__builtin_neon_vtbx2_v((int8x8_t)__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8_t)__c, 4); }
9316
9317 __ai uint8x8_t vtbx3_u8(uint8x8_t __a, uint8x8x3_t __b, uint8x8_t __c) {
9318 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, 16); }
9319 __ai int8x8_t vtbx3_s8(int8x8_t __a, int8x8x3_t __b, int8x8_t __c) {
9320 return (int8x8_t)__builtin_neon_vtbx3_v(__a, __b.val[0], __b.val[1], __b.val[2 ], __c, 0); }
9321 __ai poly8x8_t vtbx3_p8(poly8x8_t __a, poly8x8x3_t __b, uint8x8_t __c) {
9322 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, 4); }
9323
9324 __ai uint8x8_t vtbx4_u8(uint8x8_t __a, uint8x8x4_t __b, uint8x8_t __c) {
9325 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, 16); }
9326 __ai int8x8_t vtbx4_s8(int8x8_t __a, int8x8x4_t __b, int8x8_t __c) {
9327 return (int8x8_t)__builtin_neon_vtbx4_v(__a, __b.val[0], __b.val[1], __b.val[2 ], __b.val[3], __c, 0); }
9328 __ai poly8x8_t vtbx4_p8(poly8x8_t __a, poly8x8x4_t __b, uint8x8_t __c) {
9329 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, 4); }
9330
9331 __ai int8x8x2_t vtrn_s8(int8x8_t __a, int8x8_t __b) {
9332 int8x8x2_t r; __builtin_neon_vtrn_v(&r, __a, __b, 0); return r; }
9333 __ai int16x4x2_t vtrn_s16(int16x4_t __a, int16x4_t __b) {
9334 int16x4x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 1); ret urn r; }
9335 __ai int32x2x2_t vtrn_s32(int32x2_t __a, int32x2_t __b) {
9336 int32x2x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 2); ret urn r; }
9337 __ai uint8x8x2_t vtrn_u8(uint8x8_t __a, uint8x8_t __b) {
9338 uint8x8x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 16); re turn r; }
9339 __ai uint16x4x2_t vtrn_u16(uint16x4_t __a, uint16x4_t __b) {
9340 uint16x4x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 17); r eturn r; }
9341 __ai uint32x2x2_t vtrn_u32(uint32x2_t __a, uint32x2_t __b) {
9342 uint32x2x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 18); r eturn r; }
9343 __ai float32x2x2_t vtrn_f32(float32x2_t __a, float32x2_t __b) {
9344 float32x2x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 9); r eturn r; }
9345 __ai poly8x8x2_t vtrn_p8(poly8x8_t __a, poly8x8_t __b) {
9346 poly8x8x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 4); ret urn r; }
9347 __ai poly16x4x2_t vtrn_p16(poly16x4_t __a, poly16x4_t __b) {
9348 poly16x4x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 5); re turn r; }
9349 __ai int8x16x2_t vtrnq_s8(int8x16_t __a, int8x16_t __b) {
9350 int8x16x2_t r; __builtin_neon_vtrnq_v(&r, __a, __b, 32); return r; }
9351 __ai int16x8x2_t vtrnq_s16(int16x8_t __a, int16x8_t __b) {
9352 int16x8x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 33); return r; }
9353 __ai int32x4x2_t vtrnq_s32(int32x4_t __a, int32x4_t __b) {
9354 int32x4x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 34); return r; }
9355 __ai uint8x16x2_t vtrnq_u8(uint8x16_t __a, uint8x16_t __b) {
9356 uint8x16x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 48) ; return r; }
9357 __ai uint16x8x2_t vtrnq_u16(uint16x8_t __a, uint16x8_t __b) {
9358 uint16x8x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 49) ; return r; }
9359 __ai uint32x4x2_t vtrnq_u32(uint32x4_t __a, uint32x4_t __b) {
9360 uint32x4x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 50) ; return r; }
9361 __ai float32x4x2_t vtrnq_f32(float32x4_t __a, float32x4_t __b) {
9362 float32x4x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 41 ); return r; }
9363 __ai poly8x16x2_t vtrnq_p8(poly8x16_t __a, poly8x16_t __b) {
9364 poly8x16x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 36) ; return r; }
9365 __ai poly16x8x2_t vtrnq_p16(poly16x8_t __a, poly16x8_t __b) {
9366 poly16x8x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 37) ; return r; }
9367
9368 #if defined(__aarch64__)
9369 __ai int8x8_t vtrn1_s8(int8x8_t __a, int8x8_t __b) {
9370 return __builtin_shufflevector(__a, __b, 0, 8, 2, 10, 4, 12, 6, 14); }
9371 __ai int16x4_t vtrn1_s16(int16x4_t __a, int16x4_t __b) {
9372 return __builtin_shufflevector(__a, __b, 0, 4, 2, 6); }
9373 __ai int32x2_t vtrn1_s32(int32x2_t __a, int32x2_t __b) {
9374 return __builtin_shufflevector(__a, __b, 0, 2); }
9375 __ai uint8x8_t vtrn1_u8(uint8x8_t __a, uint8x8_t __b) {
9376 return __builtin_shufflevector(__a, __b, 0, 8, 2, 10, 4, 12, 6, 14); }
9377 __ai uint16x4_t vtrn1_u16(uint16x4_t __a, uint16x4_t __b) {
9378 return __builtin_shufflevector(__a, __b, 0, 4, 2, 6); }
9379 __ai uint32x2_t vtrn1_u32(uint32x2_t __a, uint32x2_t __b) {
9380 return __builtin_shufflevector(__a, __b, 0, 2); }
9381 __ai float32x2_t vtrn1_f32(float32x2_t __a, float32x2_t __b) {
9382 return __builtin_shufflevector(__a, __b, 0, 2); }
9383 __ai poly8x8_t vtrn1_p8(poly8x8_t __a, poly8x8_t __b) {
9384 return __builtin_shufflevector(__a, __b, 0, 8, 2, 10, 4, 12, 6, 14); }
9385 __ai poly16x4_t vtrn1_p16(poly16x4_t __a, poly16x4_t __b) {
9386 return __builtin_shufflevector(__a, __b, 0, 4, 2, 6); }
9387 __ai int8x16_t vtrn1q_s8(int8x16_t __a, int8x16_t __b) {
9388 return __builtin_shufflevector(__a, __b, 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10 , 26, 12, 28, 14, 30); }
9389 __ai int16x8_t vtrn1q_s16(int16x8_t __a, int16x8_t __b) {
9390 return __builtin_shufflevector(__a, __b, 0, 8, 2, 10, 4, 12, 6, 14); }
9391 __ai int32x4_t vtrn1q_s32(int32x4_t __a, int32x4_t __b) {
9392 return __builtin_shufflevector(__a, __b, 0, 4, 2, 6); }
9393 __ai int64x2_t vtrn1q_s64(int64x2_t __a, int64x2_t __b) {
9394 return __builtin_shufflevector(__a, __b, 0, 2); }
9395 __ai uint8x16_t vtrn1q_u8(uint8x16_t __a, uint8x16_t __b) {
9396 return __builtin_shufflevector(__a, __b, 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10 , 26, 12, 28, 14, 30); }
9397 __ai uint16x8_t vtrn1q_u16(uint16x8_t __a, uint16x8_t __b) {
9398 return __builtin_shufflevector(__a, __b, 0, 8, 2, 10, 4, 12, 6, 14); }
9399 __ai uint32x4_t vtrn1q_u32(uint32x4_t __a, uint32x4_t __b) {
9400 return __builtin_shufflevector(__a, __b, 0, 4, 2, 6); }
9401 __ai uint64x2_t vtrn1q_u64(uint64x2_t __a, uint64x2_t __b) {
9402 return __builtin_shufflevector(__a, __b, 0, 2); }
9403 __ai float32x4_t vtrn1q_f32(float32x4_t __a, float32x4_t __b) {
9404 return __builtin_shufflevector(__a, __b, 0, 4, 2, 6); }
9405 __ai float64x2_t vtrn1q_f64(float64x2_t __a, float64x2_t __b) {
9406 return __builtin_shufflevector(__a, __b, 0, 2); }
9407 __ai poly8x16_t vtrn1q_p8(poly8x16_t __a, poly8x16_t __b) {
9408 return __builtin_shufflevector(__a, __b, 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10 , 26, 12, 28, 14, 30); }
9409 __ai poly16x8_t vtrn1q_p16(poly16x8_t __a, poly16x8_t __b) {
9410 return __builtin_shufflevector(__a, __b, 0, 8, 2, 10, 4, 12, 6, 14); }
9411 __ai poly64x2_t vtrn1q_p64(poly64x2_t __a, poly64x2_t __b) {
9412 return __builtin_shufflevector(__a, __b, 0, 2); }
9413
9414 __ai int8x8_t vtrn2_s8(int8x8_t __a, int8x8_t __b) {
9415 return __builtin_shufflevector(__a, __b, 1, 9, 3, 11, 5, 13, 7, 15); }
9416 __ai int16x4_t vtrn2_s16(int16x4_t __a, int16x4_t __b) {
9417 return __builtin_shufflevector(__a, __b, 1, 5, 3, 7); }
9418 __ai int32x2_t vtrn2_s32(int32x2_t __a, int32x2_t __b) {
9419 return __builtin_shufflevector(__a, __b, 1, 3); }
9420 __ai uint8x8_t vtrn2_u8(uint8x8_t __a, uint8x8_t __b) {
9421 return __builtin_shufflevector(__a, __b, 1, 9, 3, 11, 5, 13, 7, 15); }
9422 __ai uint16x4_t vtrn2_u16(uint16x4_t __a, uint16x4_t __b) {
9423 return __builtin_shufflevector(__a, __b, 1, 5, 3, 7); }
9424 __ai uint32x2_t vtrn2_u32(uint32x2_t __a, uint32x2_t __b) {
9425 return __builtin_shufflevector(__a, __b, 1, 3); }
9426 __ai float32x2_t vtrn2_f32(float32x2_t __a, float32x2_t __b) {
9427 return __builtin_shufflevector(__a, __b, 1, 3); }
9428 __ai poly8x8_t vtrn2_p8(poly8x8_t __a, poly8x8_t __b) {
9429 return __builtin_shufflevector(__a, __b, 1, 9, 3, 11, 5, 13, 7, 15); }
9430 __ai poly16x4_t vtrn2_p16(poly16x4_t __a, poly16x4_t __b) {
9431 return __builtin_shufflevector(__a, __b, 1, 5, 3, 7); }
9432 __ai int8x16_t vtrn2q_s8(int8x16_t __a, int8x16_t __b) {
9433 return __builtin_shufflevector(__a, __b, 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11 , 27, 13, 29, 15, 31); }
9434 __ai int16x8_t vtrn2q_s16(int16x8_t __a, int16x8_t __b) {
9435 return __builtin_shufflevector(__a, __b, 1, 9, 3, 11, 5, 13, 7, 15); }
9436 __ai int32x4_t vtrn2q_s32(int32x4_t __a, int32x4_t __b) {
9437 return __builtin_shufflevector(__a, __b, 1, 5, 3, 7); }
9438 __ai int64x2_t vtrn2q_s64(int64x2_t __a, int64x2_t __b) {
9439 return __builtin_shufflevector(__a, __b, 1, 3); }
9440 __ai uint8x16_t vtrn2q_u8(uint8x16_t __a, uint8x16_t __b) {
9441 return __builtin_shufflevector(__a, __b, 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11 , 27, 13, 29, 15, 31); }
9442 __ai uint16x8_t vtrn2q_u16(uint16x8_t __a, uint16x8_t __b) {
9443 return __builtin_shufflevector(__a, __b, 1, 9, 3, 11, 5, 13, 7, 15); }
9444 __ai uint32x4_t vtrn2q_u32(uint32x4_t __a, uint32x4_t __b) {
9445 return __builtin_shufflevector(__a, __b, 1, 5, 3, 7); }
9446 __ai uint64x2_t vtrn2q_u64(uint64x2_t __a, uint64x2_t __b) {
9447 return __builtin_shufflevector(__a, __b, 1, 3); }
9448 __ai float32x4_t vtrn2q_f32(float32x4_t __a, float32x4_t __b) {
9449 return __builtin_shufflevector(__a, __b, 1, 5, 3, 7); }
9450 __ai float64x2_t vtrn2q_f64(float64x2_t __a, float64x2_t __b) {
9451 return __builtin_shufflevector(__a, __b, 1, 3); }
9452 __ai poly8x16_t vtrn2q_p8(poly8x16_t __a, poly8x16_t __b) {
9453 return __builtin_shufflevector(__a, __b, 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11 , 27, 13, 29, 15, 31); }
9454 __ai poly16x8_t vtrn2q_p16(poly16x8_t __a, poly16x8_t __b) {
9455 return __builtin_shufflevector(__a, __b, 1, 9, 3, 11, 5, 13, 7, 15); }
9456 __ai poly64x2_t vtrn2q_p64(poly64x2_t __a, poly64x2_t __b) {
9457 return __builtin_shufflevector(__a, __b, 1, 3); }
9458
9459 #endif
9460
9461 __ai uint8x8_t vtst_s8(int8x8_t __a, int8x8_t __b) {
9462 return (uint8x8_t)__builtin_neon_vtst_v(__a, __b, 16); }
9463 __ai uint16x4_t vtst_s16(int16x4_t __a, int16x4_t __b) {
9464 return (uint16x4_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 17); }
9465 __ai uint32x2_t vtst_s32(int32x2_t __a, int32x2_t __b) {
9466 return (uint32x2_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 18); }
9467 __ai uint8x8_t vtst_u8(uint8x8_t __a, uint8x8_t __b) {
9468 return (uint8x8_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 16); }
9469 __ai uint16x4_t vtst_u16(uint16x4_t __a, uint16x4_t __b) {
9470 return (uint16x4_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 17); }
9471 __ai uint32x2_t vtst_u32(uint32x2_t __a, uint32x2_t __b) {
9472 return (uint32x2_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 18); }
9473 __ai uint8x8_t vtst_p8(poly8x8_t __a, poly8x8_t __b) {
9474 return (uint8x8_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 16); }
9475 __ai uint16x4_t vtst_p16(poly16x4_t __a, poly16x4_t __b) {
9476 return (uint16x4_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 17); }
9477 __ai uint8x16_t vtstq_s8(int8x16_t __a, int8x16_t __b) {
9478 return (uint8x16_t)__builtin_neon_vtstq_v(__a, __b, 48); }
9479 __ai uint16x8_t vtstq_s16(int16x8_t __a, int16x8_t __b) {
9480 return (uint16x8_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 49); }
9481 __ai uint32x4_t vtstq_s32(int32x4_t __a, int32x4_t __b) {
9482 return (uint32x4_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 50); }
9483 __ai uint8x16_t vtstq_u8(uint8x16_t __a, uint8x16_t __b) {
9484 return (uint8x16_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 48); }
9485 __ai uint16x8_t vtstq_u16(uint16x8_t __a, uint16x8_t __b) {
9486 return (uint16x8_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 49); }
9487 __ai uint32x4_t vtstq_u32(uint32x4_t __a, uint32x4_t __b) {
9488 return (uint32x4_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 50); }
9489 __ai uint8x16_t vtstq_p8(poly8x16_t __a, poly8x16_t __b) {
9490 return (uint8x16_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 48); }
9491 __ai uint16x8_t vtstq_p16(poly16x8_t __a, poly16x8_t __b) {
9492 return (uint16x8_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 49); }
9493
9494 __ai int8x8x2_t vuzp_s8(int8x8_t __a, int8x8_t __b) {
9495 int8x8x2_t r; __builtin_neon_vuzp_v(&r, __a, __b, 0); return r; }
9496 __ai int16x4x2_t vuzp_s16(int16x4_t __a, int16x4_t __b) {
9497 int16x4x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 1); ret urn r; }
9498 __ai int32x2x2_t vuzp_s32(int32x2_t __a, int32x2_t __b) {
9499 int32x2x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 2); ret urn r; }
9500 __ai uint8x8x2_t vuzp_u8(uint8x8_t __a, uint8x8_t __b) {
9501 uint8x8x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 16); re turn r; }
9502 __ai uint16x4x2_t vuzp_u16(uint16x4_t __a, uint16x4_t __b) {
9503 uint16x4x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 17); r eturn r; }
9504 __ai uint32x2x2_t vuzp_u32(uint32x2_t __a, uint32x2_t __b) {
9505 uint32x2x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 18); r eturn r; }
9506 __ai float32x2x2_t vuzp_f32(float32x2_t __a, float32x2_t __b) {
9507 float32x2x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 9); r eturn r; }
9508 __ai poly8x8x2_t vuzp_p8(poly8x8_t __a, poly8x8_t __b) {
9509 poly8x8x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 4); ret urn r; }
9510 __ai poly16x4x2_t vuzp_p16(poly16x4_t __a, poly16x4_t __b) {
9511 poly16x4x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 5); re turn r; }
9512 __ai int8x16x2_t vuzpq_s8(int8x16_t __a, int8x16_t __b) {
9513 int8x16x2_t r; __builtin_neon_vuzpq_v(&r, __a, __b, 32); return r; }
9514 __ai int16x8x2_t vuzpq_s16(int16x8_t __a, int16x8_t __b) {
9515 int16x8x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 33); return r; }
9516 __ai int32x4x2_t vuzpq_s32(int32x4_t __a, int32x4_t __b) {
9517 int32x4x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 34); return r; }
9518 __ai uint8x16x2_t vuzpq_u8(uint8x16_t __a, uint8x16_t __b) {
9519 uint8x16x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 48) ; return r; }
9520 __ai uint16x8x2_t vuzpq_u16(uint16x8_t __a, uint16x8_t __b) {
9521 uint16x8x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 49) ; return r; }
9522 __ai uint32x4x2_t vuzpq_u32(uint32x4_t __a, uint32x4_t __b) {
9523 uint32x4x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 50) ; return r; }
9524 __ai float32x4x2_t vuzpq_f32(float32x4_t __a, float32x4_t __b) {
9525 float32x4x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 41 ); return r; }
9526 __ai poly8x16x2_t vuzpq_p8(poly8x16_t __a, poly8x16_t __b) {
9527 poly8x16x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 36) ; return r; }
9528 __ai poly16x8x2_t vuzpq_p16(poly16x8_t __a, poly16x8_t __b) {
9529 poly16x8x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 37) ; return r; }
9530
9531 #if defined(__aarch64__)
9532 __ai int8x8_t vuzp1_s8(int8x8_t __a, int8x8_t __b) {
9533 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14); }
9534 __ai int16x4_t vuzp1_s16(int16x4_t __a, int16x4_t __b) {
9535 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6); }
9536 __ai int32x2_t vuzp1_s32(int32x2_t __a, int32x2_t __b) {
9537 return __builtin_shufflevector(__a, __b, 0, 2); }
9538 __ai uint8x8_t vuzp1_u8(uint8x8_t __a, uint8x8_t __b) {
9539 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14); }
9540 __ai uint16x4_t vuzp1_u16(uint16x4_t __a, uint16x4_t __b) {
9541 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6); }
9542 __ai uint32x2_t vuzp1_u32(uint32x2_t __a, uint32x2_t __b) {
9543 return __builtin_shufflevector(__a, __b, 0, 2); }
9544 __ai float32x2_t vuzp1_f32(float32x2_t __a, float32x2_t __b) {
9545 return __builtin_shufflevector(__a, __b, 0, 2); }
9546 __ai poly8x8_t vuzp1_p8(poly8x8_t __a, poly8x8_t __b) {
9547 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14); }
9548 __ai poly16x4_t vuzp1_p16(poly16x4_t __a, poly16x4_t __b) {
9549 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6); }
9550 __ai int8x16_t vuzp1q_s8(int8x16_t __a, int8x16_t __b) {
9551 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 , 22, 24, 26, 28, 30); }
9552 __ai int16x8_t vuzp1q_s16(int16x8_t __a, int16x8_t __b) {
9553 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14); }
9554 __ai int32x4_t vuzp1q_s32(int32x4_t __a, int32x4_t __b) {
9555 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6); }
9556 __ai int64x2_t vuzp1q_s64(int64x2_t __a, int64x2_t __b) {
9557 return __builtin_shufflevector(__a, __b, 0, 2); }
9558 __ai uint8x16_t vuzp1q_u8(uint8x16_t __a, uint8x16_t __b) {
9559 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 , 22, 24, 26, 28, 30); }
9560 __ai uint16x8_t vuzp1q_u16(uint16x8_t __a, uint16x8_t __b) {
9561 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14); }
9562 __ai uint32x4_t vuzp1q_u32(uint32x4_t __a, uint32x4_t __b) {
9563 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6); }
9564 __ai uint64x2_t vuzp1q_u64(uint64x2_t __a, uint64x2_t __b) {
9565 return __builtin_shufflevector(__a, __b, 0, 2); }
9566 __ai float32x4_t vuzp1q_f32(float32x4_t __a, float32x4_t __b) {
9567 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6); }
9568 __ai float64x2_t vuzp1q_f64(float64x2_t __a, float64x2_t __b) {
9569 return __builtin_shufflevector(__a, __b, 0, 2); }
9570 __ai poly8x16_t vuzp1q_p8(poly8x16_t __a, poly8x16_t __b) {
9571 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 , 22, 24, 26, 28, 30); }
9572 __ai poly16x8_t vuzp1q_p16(poly16x8_t __a, poly16x8_t __b) {
9573 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14); }
9574 __ai poly64x2_t vuzp1q_p64(poly64x2_t __a, poly64x2_t __b) {
9575 return __builtin_shufflevector(__a, __b, 0, 2); }
9576
9577 __ai int8x8_t vuzp2_s8(int8x8_t __a, int8x8_t __b) {
9578 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15); }
9579 __ai int16x4_t vuzp2_s16(int16x4_t __a, int16x4_t __b) {
9580 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7); }
9581 __ai int32x2_t vuzp2_s32(int32x2_t __a, int32x2_t __b) {
9582 return __builtin_shufflevector(__a, __b, 1, 3); }
9583 __ai uint8x8_t vuzp2_u8(uint8x8_t __a, uint8x8_t __b) {
9584 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15); }
9585 __ai uint16x4_t vuzp2_u16(uint16x4_t __a, uint16x4_t __b) {
9586 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7); }
9587 __ai uint32x2_t vuzp2_u32(uint32x2_t __a, uint32x2_t __b) {
9588 return __builtin_shufflevector(__a, __b, 1, 3); }
9589 __ai float32x2_t vuzp2_f32(float32x2_t __a, float32x2_t __b) {
9590 return __builtin_shufflevector(__a, __b, 1, 3); }
9591 __ai poly8x8_t vuzp2_p8(poly8x8_t __a, poly8x8_t __b) {
9592 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15); }
9593 __ai poly16x4_t vuzp2_p16(poly16x4_t __a, poly16x4_t __b) {
9594 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7); }
9595 __ai int8x16_t vuzp2q_s8(int8x16_t __a, int8x16_t __b) {
9596 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 , 23, 25, 27, 29, 31); }
9597 __ai int16x8_t vuzp2q_s16(int16x8_t __a, int16x8_t __b) {
9598 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15); }
9599 __ai int32x4_t vuzp2q_s32(int32x4_t __a, int32x4_t __b) {
9600 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7); }
9601 __ai int64x2_t vuzp2q_s64(int64x2_t __a, int64x2_t __b) {
9602 return __builtin_shufflevector(__a, __b, 1, 3); }
9603 __ai uint8x16_t vuzp2q_u8(uint8x16_t __a, uint8x16_t __b) {
9604 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 , 23, 25, 27, 29, 31); }
9605 __ai uint16x8_t vuzp2q_u16(uint16x8_t __a, uint16x8_t __b) {
9606 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15); }
9607 __ai uint32x4_t vuzp2q_u32(uint32x4_t __a, uint32x4_t __b) {
9608 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7); }
9609 __ai uint64x2_t vuzp2q_u64(uint64x2_t __a, uint64x2_t __b) {
9610 return __builtin_shufflevector(__a, __b, 1, 3); }
9611 __ai float32x4_t vuzp2q_f32(float32x4_t __a, float32x4_t __b) {
9612 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7); }
9613 __ai float64x2_t vuzp2q_f64(float64x2_t __a, float64x2_t __b) {
9614 return __builtin_shufflevector(__a, __b, 1, 3); }
9615 __ai poly8x16_t vuzp2q_p8(poly8x16_t __a, poly8x16_t __b) {
9616 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 , 23, 25, 27, 29, 31); }
9617 __ai poly16x8_t vuzp2q_p16(poly16x8_t __a, poly16x8_t __b) {
9618 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15); }
9619 __ai poly64x2_t vuzp2q_p64(poly64x2_t __a, poly64x2_t __b) {
9620 return __builtin_shufflevector(__a, __b, 1, 3); }
9621
9622 __ai int8x8_t vreinterpret_s8_f64(float64x1_t __a) {
9623 return (int8x8_t)__a; }
9624 __ai int8x8_t vreinterpret_s8_p64(poly64x1_t __a) {
9625 return (int8x8_t)__a; }
9626 __ai int16x4_t vreinterpret_s16_f64(float64x1_t __a) {
9627 return (int16x4_t)__a; }
9628 __ai int16x4_t vreinterpret_s16_p64(poly64x1_t __a) {
9629 return (int16x4_t)__a; }
9630 __ai int32x2_t vreinterpret_s32_f64(float64x1_t __a) {
9631 return (int32x2_t)__a; }
9632 __ai int32x2_t vreinterpret_s32_p64(poly64x1_t __a) {
9633 return (int32x2_t)__a; }
9634 __ai int64x1_t vreinterpret_s64_f64(float64x1_t __a) {
9635 return (int64x1_t)__a; }
9636 __ai int64x1_t vreinterpret_s64_p64(poly64x1_t __a) {
9637 return (int64x1_t)__a; }
9638 __ai uint8x8_t vreinterpret_u8_f64(float64x1_t __a) {
9639 return (uint8x8_t)__a; }
9640 __ai uint8x8_t vreinterpret_u8_p64(poly64x1_t __a) {
9641 return (uint8x8_t)__a; }
9642 __ai uint16x4_t vreinterpret_u16_f64(float64x1_t __a) {
9643 return (uint16x4_t)__a; }
9644 __ai uint16x4_t vreinterpret_u16_p64(poly64x1_t __a) {
9645 return (uint16x4_t)__a; }
9646 __ai uint32x2_t vreinterpret_u32_f64(float64x1_t __a) {
9647 return (uint32x2_t)__a; }
9648 __ai uint32x2_t vreinterpret_u32_p64(poly64x1_t __a) {
9649 return (uint32x2_t)__a; }
9650 __ai uint64x1_t vreinterpret_u64_f64(float64x1_t __a) {
9651 return (uint64x1_t)__a; }
9652 __ai uint64x1_t vreinterpret_u64_p64(poly64x1_t __a) {
9653 return (uint64x1_t)__a; }
9654 __ai float16x4_t vreinterpret_f16_f64(float64x1_t __a) {
9655 return (float16x4_t)__a; }
9656 __ai float16x4_t vreinterpret_f16_p64(poly64x1_t __a) {
9657 return (float16x4_t)__a; }
9658 __ai float32x2_t vreinterpret_f32_f64(float64x1_t __a) {
9659 return (float32x2_t)__a; }
9660 __ai float32x2_t vreinterpret_f32_p64(poly64x1_t __a) {
9661 return (float32x2_t)__a; }
9662 __ai float64x1_t vreinterpret_f64_s8(int8x8_t __a) {
9663 return (float64x1_t)__a; }
9664 __ai float64x1_t vreinterpret_f64_s16(int16x4_t __a) {
9665 return (float64x1_t)__a; }
9666 __ai float64x1_t vreinterpret_f64_s32(int32x2_t __a) {
9667 return (float64x1_t)__a; }
9668 __ai float64x1_t vreinterpret_f64_s64(int64x1_t __a) {
9669 return (float64x1_t)__a; }
9670 __ai float64x1_t vreinterpret_f64_u8(uint8x8_t __a) {
9671 return (float64x1_t)__a; }
9672 __ai float64x1_t vreinterpret_f64_u16(uint16x4_t __a) {
9673 return (float64x1_t)__a; }
9674 __ai float64x1_t vreinterpret_f64_u32(uint32x2_t __a) {
9675 return (float64x1_t)__a; }
9676 __ai float64x1_t vreinterpret_f64_u64(uint64x1_t __a) {
9677 return (float64x1_t)__a; }
9678 __ai float64x1_t vreinterpret_f64_f16(float16x4_t __a) {
9679 return (float64x1_t)__a; }
9680 __ai float64x1_t vreinterpret_f64_f32(float32x2_t __a) {
9681 return (float64x1_t)__a; }
9682 __ai float64x1_t vreinterpret_f64_p8(poly8x8_t __a) {
9683 return (float64x1_t)__a; }
9684 __ai float64x1_t vreinterpret_f64_p16(poly16x4_t __a) {
9685 return (float64x1_t)__a; }
9686 __ai float64x1_t vreinterpret_f64_p64(poly64x1_t __a) {
9687 return (float64x1_t)__a; }
9688 __ai poly8x8_t vreinterpret_p8_f64(float64x1_t __a) {
9689 return (poly8x8_t)__a; }
9690 __ai poly8x8_t vreinterpret_p8_p64(poly64x1_t __a) {
9691 return (poly8x8_t)__a; }
9692 __ai poly16x4_t vreinterpret_p16_f64(float64x1_t __a) {
9693 return (poly16x4_t)__a; }
9694 __ai poly16x4_t vreinterpret_p16_p64(poly64x1_t __a) {
9695 return (poly16x4_t)__a; }
9696 __ai poly64x1_t vreinterpret_p64_s8(int8x8_t __a) {
9697 return (poly64x1_t)__a; }
9698 __ai poly64x1_t vreinterpret_p64_s16(int16x4_t __a) {
9699 return (poly64x1_t)__a; }
9700 __ai poly64x1_t vreinterpret_p64_s32(int32x2_t __a) {
9701 return (poly64x1_t)__a; }
9702 __ai poly64x1_t vreinterpret_p64_s64(int64x1_t __a) {
9703 return (poly64x1_t)__a; }
9704 __ai poly64x1_t vreinterpret_p64_u8(uint8x8_t __a) {
9705 return (poly64x1_t)__a; }
9706 __ai poly64x1_t vreinterpret_p64_u16(uint16x4_t __a) {
9707 return (poly64x1_t)__a; }
9708 __ai poly64x1_t vreinterpret_p64_u32(uint32x2_t __a) {
9709 return (poly64x1_t)__a; }
9710 __ai poly64x1_t vreinterpret_p64_u64(uint64x1_t __a) {
9711 return (poly64x1_t)__a; }
9712 __ai poly64x1_t vreinterpret_p64_f16(float16x4_t __a) {
9713 return (poly64x1_t)__a; }
9714 __ai poly64x1_t vreinterpret_p64_f32(float32x2_t __a) {
9715 return (poly64x1_t)__a; }
9716 __ai poly64x1_t vreinterpret_p64_f64(float64x1_t __a) {
9717 return (poly64x1_t)__a; }
9718 __ai poly64x1_t vreinterpret_p64_p8(poly8x8_t __a) {
9719 return (poly64x1_t)__a; }
9720 __ai poly64x1_t vreinterpret_p64_p16(poly16x4_t __a) {
9721 return (poly64x1_t)__a; }
9722 __ai int8x16_t vreinterpretq_s8_f64(float64x2_t __a) {
9723 return (int8x16_t)__a; }
9724 __ai int8x16_t vreinterpretq_s8_p64(poly64x2_t __a) {
9725 return (int8x16_t)__a; }
9726 __ai int8x16_t vreinterpretq_s8_p128(poly128_t __a) {
9727 return (int8x16_t)__a; }
9728 __ai int16x8_t vreinterpretq_s16_f64(float64x2_t __a) {
9729 return (int16x8_t)__a; }
9730 __ai int16x8_t vreinterpretq_s16_p64(poly64x2_t __a) {
9731 return (int16x8_t)__a; }
9732 __ai int16x8_t vreinterpretq_s16_p128(poly128_t __a) {
9733 return (int16x8_t)__a; }
9734 __ai int32x4_t vreinterpretq_s32_f64(float64x2_t __a) {
9735 return (int32x4_t)__a; }
9736 __ai int32x4_t vreinterpretq_s32_p64(poly64x2_t __a) {
9737 return (int32x4_t)__a; }
9738 __ai int32x4_t vreinterpretq_s32_p128(poly128_t __a) {
9739 return (int32x4_t)__a; }
9740 __ai int64x2_t vreinterpretq_s64_f64(float64x2_t __a) {
9741 return (int64x2_t)__a; }
9742 __ai int64x2_t vreinterpretq_s64_p64(poly64x2_t __a) {
9743 return (int64x2_t)__a; }
9744 __ai int64x2_t vreinterpretq_s64_p128(poly128_t __a) {
9745 return (int64x2_t)__a; }
9746 __ai uint8x16_t vreinterpretq_u8_f64(float64x2_t __a) {
9747 return (uint8x16_t)__a; }
9748 __ai uint8x16_t vreinterpretq_u8_p64(poly64x2_t __a) {
9749 return (uint8x16_t)__a; }
9750 __ai uint8x16_t vreinterpretq_u8_p128(poly128_t __a) {
9751 return (uint8x16_t)__a; }
9752 __ai uint16x8_t vreinterpretq_u16_f64(float64x2_t __a) {
9753 return (uint16x8_t)__a; }
9754 __ai uint16x8_t vreinterpretq_u16_p64(poly64x2_t __a) {
9755 return (uint16x8_t)__a; }
9756 __ai uint16x8_t vreinterpretq_u16_p128(poly128_t __a) {
9757 return (uint16x8_t)__a; }
9758 __ai uint32x4_t vreinterpretq_u32_f64(float64x2_t __a) {
9759 return (uint32x4_t)__a; }
9760 __ai uint32x4_t vreinterpretq_u32_p64(poly64x2_t __a) {
9761 return (uint32x4_t)__a; }
9762 __ai uint32x4_t vreinterpretq_u32_p128(poly128_t __a) {
9763 return (uint32x4_t)__a; }
9764 __ai uint64x2_t vreinterpretq_u64_f64(float64x2_t __a) {
9765 return (uint64x2_t)__a; }
9766 __ai uint64x2_t vreinterpretq_u64_p64(poly64x2_t __a) {
9767 return (uint64x2_t)__a; }
9768 __ai uint64x2_t vreinterpretq_u64_p128(poly128_t __a) {
9769 return (uint64x2_t)__a; }
9770 __ai float16x8_t vreinterpretq_f16_f64(float64x2_t __a) {
9771 return (float16x8_t)__a; }
9772 __ai float16x8_t vreinterpretq_f16_p64(poly64x2_t __a) {
9773 return (float16x8_t)__a; }
9774 __ai float16x8_t vreinterpretq_f16_p128(poly128_t __a) {
9775 return (float16x8_t)__a; }
9776 __ai float32x4_t vreinterpretq_f32_f64(float64x2_t __a) {
9777 return (float32x4_t)__a; }
9778 __ai float32x4_t vreinterpretq_f32_p64(poly64x2_t __a) {
9779 return (float32x4_t)__a; }
9780 __ai float32x4_t vreinterpretq_f32_p128(poly128_t __a) {
9781 return (float32x4_t)__a; }
9782 __ai float64x2_t vreinterpretq_f64_s8(int8x16_t __a) {
9783 return (float64x2_t)__a; }
9784 __ai float64x2_t vreinterpretq_f64_s16(int16x8_t __a) {
9785 return (float64x2_t)__a; }
9786 __ai float64x2_t vreinterpretq_f64_s32(int32x4_t __a) {
9787 return (float64x2_t)__a; }
9788 __ai float64x2_t vreinterpretq_f64_s64(int64x2_t __a) {
9789 return (float64x2_t)__a; }
9790 __ai float64x2_t vreinterpretq_f64_u8(uint8x16_t __a) {
9791 return (float64x2_t)__a; }
9792 __ai float64x2_t vreinterpretq_f64_u16(uint16x8_t __a) {
9793 return (float64x2_t)__a; }
9794 __ai float64x2_t vreinterpretq_f64_u32(uint32x4_t __a) {
9795 return (float64x2_t)__a; }
9796 __ai float64x2_t vreinterpretq_f64_u64(uint64x2_t __a) {
9797 return (float64x2_t)__a; }
9798 __ai float64x2_t vreinterpretq_f64_f16(float16x8_t __a) {
9799 return (float64x2_t)__a; }
9800 __ai float64x2_t vreinterpretq_f64_f32(float32x4_t __a) {
9801 return (float64x2_t)__a; }
9802 __ai float64x2_t vreinterpretq_f64_p8(poly8x16_t __a) {
9803 return (float64x2_t)__a; }
9804 __ai float64x2_t vreinterpretq_f64_p16(poly16x8_t __a) {
9805 return (float64x2_t)__a; }
9806 __ai float64x2_t vreinterpretq_f64_p64(poly64x2_t __a) {
9807 return (float64x2_t)__a; }
9808 __ai float64x2_t vreinterpretq_f64_p128(poly128_t __a) {
9809 return (float64x2_t)__a; }
9810 __ai poly8x16_t vreinterpretq_p8_f64(float64x2_t __a) {
9811 return (poly8x16_t)__a; }
9812 __ai poly8x16_t vreinterpretq_p8_p64(poly64x2_t __a) {
9813 return (poly8x16_t)__a; }
9814 __ai poly8x16_t vreinterpretq_p8_p128(poly128_t __a) {
9815 return (poly8x16_t)__a; }
9816 __ai poly16x8_t vreinterpretq_p16_f64(float64x2_t __a) {
9817 return (poly16x8_t)__a; }
9818 __ai poly16x8_t vreinterpretq_p16_p64(poly64x2_t __a) {
9819 return (poly16x8_t)__a; }
9820 __ai poly16x8_t vreinterpretq_p16_p128(poly128_t __a) {
9821 return (poly16x8_t)__a; }
9822 __ai poly64x2_t vreinterpretq_p64_s8(int8x16_t __a) {
9823 return (poly64x2_t)__a; }
9824 __ai poly64x2_t vreinterpretq_p64_s16(int16x8_t __a) {
9825 return (poly64x2_t)__a; }
9826 __ai poly64x2_t vreinterpretq_p64_s32(int32x4_t __a) {
9827 return (poly64x2_t)__a; }
9828 __ai poly64x2_t vreinterpretq_p64_s64(int64x2_t __a) {
9829 return (poly64x2_t)__a; }
9830 __ai poly64x2_t vreinterpretq_p64_u8(uint8x16_t __a) {
9831 return (poly64x2_t)__a; }
9832 __ai poly64x2_t vreinterpretq_p64_u16(uint16x8_t __a) {
9833 return (poly64x2_t)__a; }
9834 __ai poly64x2_t vreinterpretq_p64_u32(uint32x4_t __a) {
9835 return (poly64x2_t)__a; }
9836 __ai poly64x2_t vreinterpretq_p64_u64(uint64x2_t __a) {
9837 return (poly64x2_t)__a; }
9838 __ai poly64x2_t vreinterpretq_p64_f16(float16x8_t __a) {
9839 return (poly64x2_t)__a; }
9840 __ai poly64x2_t vreinterpretq_p64_f32(float32x4_t __a) {
9841 return (poly64x2_t)__a; }
9842 __ai poly64x2_t vreinterpretq_p64_f64(float64x2_t __a) {
9843 return (poly64x2_t)__a; }
9844 __ai poly64x2_t vreinterpretq_p64_p8(poly8x16_t __a) {
9845 return (poly64x2_t)__a; }
9846 __ai poly64x2_t vreinterpretq_p64_p16(poly16x8_t __a) {
9847 return (poly64x2_t)__a; }
9848 __ai poly64x2_t vreinterpretq_p64_p128(poly128_t __a) {
9849 return (poly64x2_t)__a; }
9850 __ai poly128_t vreinterpretq_p128_s8(int8x16_t __a) {
9851 return (poly128_t)__a; }
9852 __ai poly128_t vreinterpretq_p128_s16(int16x8_t __a) {
9853 return (poly128_t)__a; }
9854 __ai poly128_t vreinterpretq_p128_s32(int32x4_t __a) {
9855 return (poly128_t)__a; }
9856 __ai poly128_t vreinterpretq_p128_s64(int64x2_t __a) {
9857 return (poly128_t)__a; }
9858 __ai poly128_t vreinterpretq_p128_u8(uint8x16_t __a) {
9859 return (poly128_t)__a; }
9860 __ai poly128_t vreinterpretq_p128_u16(uint16x8_t __a) {
9861 return (poly128_t)__a; }
9862 __ai poly128_t vreinterpretq_p128_u32(uint32x4_t __a) {
9863 return (poly128_t)__a; }
9864 __ai poly128_t vreinterpretq_p128_u64(uint64x2_t __a) {
9865 return (poly128_t)__a; }
9866 __ai poly128_t vreinterpretq_p128_f16(float16x8_t __a) {
9867 return (poly128_t)__a; }
9868 __ai poly128_t vreinterpretq_p128_f32(float32x4_t __a) {
9869 return (poly128_t)__a; }
9870 __ai poly128_t vreinterpretq_p128_f64(float64x2_t __a) {
9871 return (poly128_t)__a; }
9872 __ai poly128_t vreinterpretq_p128_p8(poly8x16_t __a) {
9873 return (poly128_t)__a; }
9874 __ai poly128_t vreinterpretq_p128_p16(poly16x8_t __a) {
9875 return (poly128_t)__a; }
9876 __ai poly128_t vreinterpretq_p128_p64(poly64x2_t __a) {
9877 return (poly128_t)__a; }
9878
9879 #endif
9880
9881 __ai int8x8x2_t vzip_s8(int8x8_t __a, int8x8_t __b) {
9882 int8x8x2_t r; __builtin_neon_vzip_v(&r, __a, __b, 0); return r; }
9883 __ai int16x4x2_t vzip_s16(int16x4_t __a, int16x4_t __b) {
9884 int16x4x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 1); ret urn r; }
9885 __ai int32x2x2_t vzip_s32(int32x2_t __a, int32x2_t __b) {
9886 int32x2x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 2); ret urn r; }
9887 __ai uint8x8x2_t vzip_u8(uint8x8_t __a, uint8x8_t __b) {
9888 uint8x8x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 16); re turn r; }
9889 __ai uint16x4x2_t vzip_u16(uint16x4_t __a, uint16x4_t __b) {
9890 uint16x4x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 17); r eturn r; }
9891 __ai uint32x2x2_t vzip_u32(uint32x2_t __a, uint32x2_t __b) {
9892 uint32x2x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 18); r eturn r; }
9893 __ai float32x2x2_t vzip_f32(float32x2_t __a, float32x2_t __b) {
9894 float32x2x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 9); r eturn r; }
9895 __ai poly8x8x2_t vzip_p8(poly8x8_t __a, poly8x8_t __b) {
9896 poly8x8x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 4); ret urn r; }
9897 __ai poly16x4x2_t vzip_p16(poly16x4_t __a, poly16x4_t __b) {
9898 poly16x4x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 5); re turn r; }
9899 __ai int8x16x2_t vzipq_s8(int8x16_t __a, int8x16_t __b) {
9900 int8x16x2_t r; __builtin_neon_vzipq_v(&r, __a, __b, 32); return r; }
9901 __ai int16x8x2_t vzipq_s16(int16x8_t __a, int16x8_t __b) {
9902 int16x8x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 33); return r; }
9903 __ai int32x4x2_t vzipq_s32(int32x4_t __a, int32x4_t __b) {
9904 int32x4x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 34); return r; }
9905 __ai uint8x16x2_t vzipq_u8(uint8x16_t __a, uint8x16_t __b) {
9906 uint8x16x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 48) ; return r; }
9907 __ai uint16x8x2_t vzipq_u16(uint16x8_t __a, uint16x8_t __b) {
9908 uint16x8x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 49) ; return r; }
9909 __ai uint32x4x2_t vzipq_u32(uint32x4_t __a, uint32x4_t __b) {
9910 uint32x4x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 50) ; return r; }
9911 __ai float32x4x2_t vzipq_f32(float32x4_t __a, float32x4_t __b) {
9912 float32x4x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 41 ); return r; }
9913 __ai poly8x16x2_t vzipq_p8(poly8x16_t __a, poly8x16_t __b) {
9914 poly8x16x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 36) ; return r; }
9915 __ai poly16x8x2_t vzipq_p16(poly16x8_t __a, poly16x8_t __b) {
9916 poly16x8x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 37) ; return r; }
9917
9918 #if defined(__aarch64__)
9919 __ai int8x8_t vzip1_s8(int8x8_t __a, int8x8_t __b) {
9920 return __builtin_shufflevector(__a, __b, 0, 8, 1, 9, 2, 10, 3, 11); }
9921 __ai int16x4_t vzip1_s16(int16x4_t __a, int16x4_t __b) {
9922 return __builtin_shufflevector(__a, __b, 0, 4, 1, 5); }
9923 __ai int32x2_t vzip1_s32(int32x2_t __a, int32x2_t __b) {
9924 return __builtin_shufflevector(__a, __b, 0, 2); }
9925 __ai uint8x8_t vzip1_u8(uint8x8_t __a, uint8x8_t __b) {
9926 return __builtin_shufflevector(__a, __b, 0, 8, 1, 9, 2, 10, 3, 11); }
9927 __ai uint16x4_t vzip1_u16(uint16x4_t __a, uint16x4_t __b) {
9928 return __builtin_shufflevector(__a, __b, 0, 4, 1, 5); }
9929 __ai uint32x2_t vzip1_u32(uint32x2_t __a, uint32x2_t __b) {
9930 return __builtin_shufflevector(__a, __b, 0, 2); }
9931 __ai float32x2_t vzip1_f32(float32x2_t __a, float32x2_t __b) {
9932 return __builtin_shufflevector(__a, __b, 0, 2); }
9933 __ai poly8x8_t vzip1_p8(poly8x8_t __a, poly8x8_t __b) {
9934 return __builtin_shufflevector(__a, __b, 0, 8, 1, 9, 2, 10, 3, 11); }
9935 __ai poly16x4_t vzip1_p16(poly16x4_t __a, poly16x4_t __b) {
9936 return __builtin_shufflevector(__a, __b, 0, 4, 1, 5); }
9937 __ai int8x16_t vzip1q_s8(int8x16_t __a, int8x16_t __b) {
9938 return __builtin_shufflevector(__a, __b, 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23); }
9939 __ai int16x8_t vzip1q_s16(int16x8_t __a, int16x8_t __b) {
9940 return __builtin_shufflevector(__a, __b, 0, 8, 1, 9, 2, 10, 3, 11); }
9941 __ai int32x4_t vzip1q_s32(int32x4_t __a, int32x4_t __b) {
9942 return __builtin_shufflevector(__a, __b, 0, 4, 1, 5); }
9943 __ai int64x2_t vzip1q_s64(int64x2_t __a, int64x2_t __b) {
9944 return __builtin_shufflevector(__a, __b, 0, 2); }
9945 __ai uint8x16_t vzip1q_u8(uint8x16_t __a, uint8x16_t __b) {
9946 return __builtin_shufflevector(__a, __b, 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23); }
9947 __ai uint16x8_t vzip1q_u16(uint16x8_t __a, uint16x8_t __b) {
9948 return __builtin_shufflevector(__a, __b, 0, 8, 1, 9, 2, 10, 3, 11); }
9949 __ai uint32x4_t vzip1q_u32(uint32x4_t __a, uint32x4_t __b) {
9950 return __builtin_shufflevector(__a, __b, 0, 4, 1, 5); }
9951 __ai uint64x2_t vzip1q_u64(uint64x2_t __a, uint64x2_t __b) {
9952 return __builtin_shufflevector(__a, __b, 0, 2); }
9953 __ai float32x4_t vzip1q_f32(float32x4_t __a, float32x4_t __b) {
9954 return __builtin_shufflevector(__a, __b, 0, 4, 1, 5); }
9955 __ai float64x2_t vzip1q_f64(float64x2_t __a, float64x2_t __b) {
9956 return __builtin_shufflevector(__a, __b, 0, 2); }
9957 __ai poly8x16_t vzip1q_p8(poly8x16_t __a, poly8x16_t __b) {
9958 return __builtin_shufflevector(__a, __b, 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23); }
9959 __ai poly16x8_t vzip1q_p16(poly16x8_t __a, poly16x8_t __b) {
9960 return __builtin_shufflevector(__a, __b, 0, 8, 1, 9, 2, 10, 3, 11); }
9961 __ai poly64x2_t vzip1q_p64(poly64x2_t __a, poly64x2_t __b) {
9962 return __builtin_shufflevector(__a, __b, 0, 2); }
9963
9964 __ai int8x8_t vzip2_s8(int8x8_t __a, int8x8_t __b) {
9965 return __builtin_shufflevector(__a, __b, 4, 12, 5, 13, 6, 14, 7, 15); }
9966 __ai int16x4_t vzip2_s16(int16x4_t __a, int16x4_t __b) {
9967 return __builtin_shufflevector(__a, __b, 2, 6, 3, 7); }
9968 __ai int32x2_t vzip2_s32(int32x2_t __a, int32x2_t __b) {
9969 return __builtin_shufflevector(__a, __b, 1, 3); }
9970 __ai uint8x8_t vzip2_u8(uint8x8_t __a, uint8x8_t __b) {
9971 return __builtin_shufflevector(__a, __b, 4, 12, 5, 13, 6, 14, 7, 15); }
9972 __ai uint16x4_t vzip2_u16(uint16x4_t __a, uint16x4_t __b) {
9973 return __builtin_shufflevector(__a, __b, 2, 6, 3, 7); }
9974 __ai uint32x2_t vzip2_u32(uint32x2_t __a, uint32x2_t __b) {
9975 return __builtin_shufflevector(__a, __b, 1, 3); }
9976 __ai float32x2_t vzip2_f32(float32x2_t __a, float32x2_t __b) {
9977 return __builtin_shufflevector(__a, __b, 1, 3); }
9978 __ai poly8x8_t vzip2_p8(poly8x8_t __a, poly8x8_t __b) {
9979 return __builtin_shufflevector(__a, __b, 4, 12, 5, 13, 6, 14, 7, 15); }
9980 __ai poly16x4_t vzip2_p16(poly16x4_t __a, poly16x4_t __b) {
9981 return __builtin_shufflevector(__a, __b, 2, 6, 3, 7); }
9982 __ai int8x16_t vzip2q_s8(int8x16_t __a, int8x16_t __b) {
9983 return __builtin_shufflevector(__a, __b, 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31); }
9984 __ai int16x8_t vzip2q_s16(int16x8_t __a, int16x8_t __b) {
9985 return __builtin_shufflevector(__a, __b, 4, 12, 5, 13, 6, 14, 7, 15); }
9986 __ai int32x4_t vzip2q_s32(int32x4_t __a, int32x4_t __b) {
9987 return __builtin_shufflevector(__a, __b, 2, 6, 3, 7); }
9988 __ai int64x2_t vzip2q_s64(int64x2_t __a, int64x2_t __b) {
9989 return __builtin_shufflevector(__a, __b, 1, 3); }
9990 __ai uint8x16_t vzip2q_u8(uint8x16_t __a, uint8x16_t __b) {
9991 return __builtin_shufflevector(__a, __b, 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31); }
9992 __ai uint16x8_t vzip2q_u16(uint16x8_t __a, uint16x8_t __b) {
9993 return __builtin_shufflevector(__a, __b, 4, 12, 5, 13, 6, 14, 7, 15); }
9994 __ai uint32x4_t vzip2q_u32(uint32x4_t __a, uint32x4_t __b) {
9995 return __builtin_shufflevector(__a, __b, 2, 6, 3, 7); }
9996 __ai uint64x2_t vzip2q_u64(uint64x2_t __a, uint64x2_t __b) {
9997 return __builtin_shufflevector(__a, __b, 1, 3); }
9998 __ai float32x4_t vzip2q_f32(float32x4_t __a, float32x4_t __b) {
9999 return __builtin_shufflevector(__a, __b, 2, 6, 3, 7); }
10000 __ai float64x2_t vzip2q_f64(float64x2_t __a, float64x2_t __b) {
10001 return __builtin_shufflevector(__a, __b, 1, 3); }
10002 __ai poly8x16_t vzip2q_p8(poly8x16_t __a, poly8x16_t __b) {
10003 return __builtin_shufflevector(__a, __b, 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31); }
10004 __ai poly16x8_t vzip2q_p16(poly16x8_t __a, poly16x8_t __b) {
10005 return __builtin_shufflevector(__a, __b, 4, 12, 5, 13, 6, 14, 7, 15); }
10006 __ai poly64x2_t vzip2q_p64(poly64x2_t __a, poly64x2_t __b) {
10007 return __builtin_shufflevector(__a, __b, 1, 3); }
10008
10009 __ai int8x16_t vmovn_high_s16(int8x8_t __a, int16x8_t __b) {
10010 int8x8_t __a1 = vmovn_s16(__b);
10011 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 , 12, 13, 14, 15); }
10012 __ai int16x8_t vmovn_high_s32(int16x4_t __a, int32x4_t __b) {
10013 int16x4_t __a1 = vmovn_s32(__b);
10014 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7); }
10015 __ai int32x4_t vmovn_high_s64(int32x2_t __a, int64x2_t __b) {
10016 int32x2_t __a1 = vmovn_s64(__b);
10017 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); }
10018 __ai uint8x16_t vmovn_high_u16(uint8x8_t __a, uint16x8_t __b) {
10019 uint8x8_t __a1 = vmovn_u16(__b);
10020 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 , 12, 13, 14, 15); }
10021 __ai uint16x8_t vmovn_high_u32(uint16x4_t __a, uint32x4_t __b) {
10022 uint16x4_t __a1 = vmovn_u32(__b);
10023 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7); }
10024 __ai uint32x4_t vmovn_high_u64(uint32x2_t __a, uint64x2_t __b) {
10025 uint32x2_t __a1 = vmovn_u64(__b);
10026 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); }
10027
10028 #endif
10029
10030 #undef __ai
10031
10032 #endif /* __ARM_NEON_H */
OLDNEW
« no previous file with comments | « Linux_x64/lib/clang/3.5.0/include/ammintrin.h ('k') | Linux_x64/lib/clang/3.5.0/include/avx2intrin.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698