1 /* ARM NEON intrinsics include file.
2 
3    Copyright (C) 2006-2020 Free Software Foundation, Inc.
4    Contributed by CodeSourcery.
5 
6    This file is part of GCC.
7 
8    GCC is free software; you can redistribute it and/or modify it
9    under the terms of the GNU General Public License as published
10    by the Free Software Foundation; either version 3, or (at your
11    option) any later version.
12 
13    GCC is distributed in the hope that it will be useful, but WITHOUT
14    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
16    License for more details.
17 
18    Under Section 7 of GPL version 3, you are granted additional
19    permissions described in the GCC Runtime Library Exception, version
20    3.1, as published by the Free Software Foundation.
21 
22    You should have received a copy of the GNU General Public License and
23    a copy of the GCC Runtime Library Exception along with this program;
24    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
25    <http://www.gnu.org/licenses/>.  */
26 
27 #ifndef _GCC_ARM_NEON_H
28 #define _GCC_ARM_NEON_H 1
29 
30 #ifndef __ARM_FP
31 #error "NEON intrinsics not available with the soft-float ABI.  Please use -mfloat-abi=softfp or -mfloat-abi=hard"
32 #else
33 
34 #pragma GCC push_options
35 #pragma GCC target ("fpu=neon")
36 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
41 #include <arm_fp16.h>
42 #include <arm_bf16.h>
43 #include <stdint.h>
44 
45 /* For big-endian, GCC's vector indices are reversed within each 64
46    bits compared to the architectural lane indices used by Neon
47    intrinsics.  */
48 #ifdef __ARM_BIG_ENDIAN
49 #define __ARM_NUM_LANES(__v) (sizeof (__v) / sizeof (__v[0]))
50 #define __arm_lane(__vec, __idx) (__idx ^ (__ARM_NUM_LANES(__vec) - 1))
51 #define __arm_laneq(__vec, __idx) (__idx ^ (__ARM_NUM_LANES(__vec)/2 - 1))
52 #else
53 #define __arm_lane(__vec, __idx) __idx
54 #define __arm_laneq(__vec, __idx) __idx
55 #endif
56 
57 typedef __simd64_int8_t int8x8_t;
58 typedef __simd64_int16_t int16x4_t;
59 typedef __simd64_int32_t int32x2_t;
60 typedef __builtin_neon_di int64x1_t;
61 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
62 typedef __fp16 float16_t;
63 typedef __simd64_float16_t float16x4_t;
64 #endif
65 typedef __simd64_float32_t float32x2_t;
66 typedef __simd64_poly8_t poly8x8_t;
67 typedef __simd64_poly16_t poly16x4_t;
68 #pragma GCC push_options
69 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
70 typedef __builtin_neon_poly64 poly64x1_t;
71 #pragma GCC pop_options
72 typedef __simd64_uint8_t uint8x8_t;
73 typedef __simd64_uint16_t uint16x4_t;
74 typedef __simd64_uint32_t uint32x2_t;
75 typedef __builtin_neon_udi uint64x1_t;
76 
77 typedef __simd128_int8_t int8x16_t;
78 typedef __simd128_int16_t int16x8_t;
79 typedef __simd128_int32_t int32x4_t;
80 typedef __simd128_int64_t int64x2_t;
81 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
82 typedef __simd128_float16_t float16x8_t;
83 #endif
84 typedef __simd128_float32_t float32x4_t;
85 typedef __simd128_poly8_t poly8x16_t;
86 typedef __simd128_poly16_t poly16x8_t;
87 #pragma GCC push_options
88 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
89 typedef __builtin_neon_poly64 poly64x2_t __attribute__ ((__vector_size__ (16)));
90 #pragma GCC pop_options
91 
92 typedef __simd128_uint8_t uint8x16_t;
93 typedef __simd128_uint16_t uint16x8_t;
94 typedef __simd128_uint32_t uint32x4_t;
95 typedef __simd128_uint64_t uint64x2_t;
96 
97 typedef float float32_t;
98 
99 typedef __simd128_bfloat16_t bfloat16x8_t;
100 typedef __simd64_bfloat16_t bfloat16x4_t;
101 
102 /* The Poly types are user visible and live in their own world,
103    keep them that way.  */
104 typedef __builtin_neon_poly8 poly8_t;
105 typedef __builtin_neon_poly16 poly16_t;
106 #pragma GCC push_options
107 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
108 typedef __builtin_neon_poly64 poly64_t;
109 typedef __builtin_neon_poly128 poly128_t;
110 #pragma GCC pop_options
111 
112 typedef struct int8x8x2_t
113 {
114   int8x8_t val[2];
115 } int8x8x2_t;
116 
117 typedef struct int8x16x2_t
118 {
119   int8x16_t val[2];
120 } int8x16x2_t;
121 
122 typedef struct int16x4x2_t
123 {
124   int16x4_t val[2];
125 } int16x4x2_t;
126 
127 typedef struct int16x8x2_t
128 {
129   int16x8_t val[2];
130 } int16x8x2_t;
131 
132 typedef struct int32x2x2_t
133 {
134   int32x2_t val[2];
135 } int32x2x2_t;
136 
137 typedef struct int32x4x2_t
138 {
139   int32x4_t val[2];
140 } int32x4x2_t;
141 
142 typedef struct int64x1x2_t
143 {
144   int64x1_t val[2];
145 } int64x1x2_t;
146 
147 typedef struct int64x2x2_t
148 {
149   int64x2_t val[2];
150 } int64x2x2_t;
151 
152 typedef struct uint8x8x2_t
153 {
154   uint8x8_t val[2];
155 } uint8x8x2_t;
156 
157 typedef struct uint8x16x2_t
158 {
159   uint8x16_t val[2];
160 } uint8x16x2_t;
161 
162 typedef struct uint16x4x2_t
163 {
164   uint16x4_t val[2];
165 } uint16x4x2_t;
166 
167 typedef struct uint16x8x2_t
168 {
169   uint16x8_t val[2];
170 } uint16x8x2_t;
171 
172 typedef struct uint32x2x2_t
173 {
174   uint32x2_t val[2];
175 } uint32x2x2_t;
176 
177 typedef struct uint32x4x2_t
178 {
179   uint32x4_t val[2];
180 } uint32x4x2_t;
181 
182 typedef struct uint64x1x2_t
183 {
184   uint64x1_t val[2];
185 } uint64x1x2_t;
186 
187 typedef struct uint64x2x2_t
188 {
189   uint64x2_t val[2];
190 } uint64x2x2_t;
191 
192 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
193 typedef struct float16x4x2_t
194 {
195   float16x4_t val[2];
196 } float16x4x2_t;
197 #endif
198 
199 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
200 typedef struct float16x8x2_t
201 {
202   float16x8_t val[2];
203 } float16x8x2_t;
204 #endif
205 
206 typedef struct float32x2x2_t
207 {
208   float32x2_t val[2];
209 } float32x2x2_t;
210 
211 typedef struct float32x4x2_t
212 {
213   float32x4_t val[2];
214 } float32x4x2_t;
215 
216 typedef struct poly8x8x2_t
217 {
218   poly8x8_t val[2];
219 } poly8x8x2_t;
220 
221 typedef struct poly8x16x2_t
222 {
223   poly8x16_t val[2];
224 } poly8x16x2_t;
225 
226 typedef struct poly16x4x2_t
227 {
228   poly16x4_t val[2];
229 } poly16x4x2_t;
230 
231 typedef struct poly16x8x2_t
232 {
233   poly16x8_t val[2];
234 } poly16x8x2_t;
235 
236 #pragma GCC push_options
237 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
238 typedef struct poly64x1x2_t
239 {
240   poly64x1_t val[2];
241 } poly64x1x2_t;
242 
243 
244 typedef struct poly64x2x2_t
245 {
246   poly64x2_t val[2];
247 } poly64x2x2_t;
248 #pragma GCC pop_options
249 
250 
251 typedef struct int8x8x3_t
252 {
253   int8x8_t val[3];
254 } int8x8x3_t;
255 
256 typedef struct int8x16x3_t
257 {
258   int8x16_t val[3];
259 } int8x16x3_t;
260 
261 typedef struct int16x4x3_t
262 {
263   int16x4_t val[3];
264 } int16x4x3_t;
265 
266 typedef struct int16x8x3_t
267 {
268   int16x8_t val[3];
269 } int16x8x3_t;
270 
271 typedef struct int32x2x3_t
272 {
273   int32x2_t val[3];
274 } int32x2x3_t;
275 
276 typedef struct int32x4x3_t
277 {
278   int32x4_t val[3];
279 } int32x4x3_t;
280 
281 typedef struct int64x1x3_t
282 {
283   int64x1_t val[3];
284 } int64x1x3_t;
285 
286 typedef struct int64x2x3_t
287 {
288   int64x2_t val[3];
289 } int64x2x3_t;
290 
291 typedef struct uint8x8x3_t
292 {
293   uint8x8_t val[3];
294 } uint8x8x3_t;
295 
296 typedef struct uint8x16x3_t
297 {
298   uint8x16_t val[3];
299 } uint8x16x3_t;
300 
301 typedef struct uint16x4x3_t
302 {
303   uint16x4_t val[3];
304 } uint16x4x3_t;
305 
306 typedef struct uint16x8x3_t
307 {
308   uint16x8_t val[3];
309 } uint16x8x3_t;
310 
311 typedef struct uint32x2x3_t
312 {
313   uint32x2_t val[3];
314 } uint32x2x3_t;
315 
316 typedef struct uint32x4x3_t
317 {
318   uint32x4_t val[3];
319 } uint32x4x3_t;
320 
321 typedef struct uint64x1x3_t
322 {
323   uint64x1_t val[3];
324 } uint64x1x3_t;
325 
326 typedef struct uint64x2x3_t
327 {
328   uint64x2_t val[3];
329 } uint64x2x3_t;
330 
331 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
332 typedef struct float16x4x3_t
333 {
334   float16x4_t val[3];
335 } float16x4x3_t;
336 #endif
337 
338 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
339 typedef struct float16x8x3_t
340 {
341   float16x8_t val[3];
342 } float16x8x3_t;
343 #endif
344 
345 typedef struct float32x2x3_t
346 {
347   float32x2_t val[3];
348 } float32x2x3_t;
349 
350 typedef struct float32x4x3_t
351 {
352   float32x4_t val[3];
353 } float32x4x3_t;
354 
355 typedef struct poly8x8x3_t
356 {
357   poly8x8_t val[3];
358 } poly8x8x3_t;
359 
360 typedef struct poly8x16x3_t
361 {
362   poly8x16_t val[3];
363 } poly8x16x3_t;
364 
365 typedef struct poly16x4x3_t
366 {
367   poly16x4_t val[3];
368 } poly16x4x3_t;
369 
370 typedef struct poly16x8x3_t
371 {
372   poly16x8_t val[3];
373 } poly16x8x3_t;
374 
375 #pragma GCC push_options
376 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
377 typedef struct poly64x1x3_t
378 {
379   poly64x1_t val[3];
380 } poly64x1x3_t;
381 
382 
383 typedef struct poly64x2x3_t
384 {
385   poly64x2_t val[3];
386 } poly64x2x3_t;
387 #pragma GCC pop_options
388 
389 
390 typedef struct int8x8x4_t
391 {
392   int8x8_t val[4];
393 } int8x8x4_t;
394 
395 typedef struct int8x16x4_t
396 {
397   int8x16_t val[4];
398 } int8x16x4_t;
399 
400 typedef struct int16x4x4_t
401 {
402   int16x4_t val[4];
403 } int16x4x4_t;
404 
405 typedef struct int16x8x4_t
406 {
407   int16x8_t val[4];
408 } int16x8x4_t;
409 
410 typedef struct int32x2x4_t
411 {
412   int32x2_t val[4];
413 } int32x2x4_t;
414 
415 typedef struct int32x4x4_t
416 {
417   int32x4_t val[4];
418 } int32x4x4_t;
419 
420 typedef struct int64x1x4_t
421 {
422   int64x1_t val[4];
423 } int64x1x4_t;
424 
425 typedef struct int64x2x4_t
426 {
427   int64x2_t val[4];
428 } int64x2x4_t;
429 
430 typedef struct uint8x8x4_t
431 {
432   uint8x8_t val[4];
433 } uint8x8x4_t;
434 
435 typedef struct uint8x16x4_t
436 {
437   uint8x16_t val[4];
438 } uint8x16x4_t;
439 
440 typedef struct uint16x4x4_t
441 {
442   uint16x4_t val[4];
443 } uint16x4x4_t;
444 
445 typedef struct uint16x8x4_t
446 {
447   uint16x8_t val[4];
448 } uint16x8x4_t;
449 
450 typedef struct uint32x2x4_t
451 {
452   uint32x2_t val[4];
453 } uint32x2x4_t;
454 
455 typedef struct uint32x4x4_t
456 {
457   uint32x4_t val[4];
458 } uint32x4x4_t;
459 
460 typedef struct uint64x1x4_t
461 {
462   uint64x1_t val[4];
463 } uint64x1x4_t;
464 
465 typedef struct uint64x2x4_t
466 {
467   uint64x2_t val[4];
468 } uint64x2x4_t;
469 
470 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
471 typedef struct float16x4x4_t
472 {
473   float16x4_t val[4];
474 } float16x4x4_t;
475 #endif
476 
477 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
478 typedef struct float16x8x4_t
479 {
480   float16x8_t val[4];
481 } float16x8x4_t;
482 #endif
483 
484 typedef struct float32x2x4_t
485 {
486   float32x2_t val[4];
487 } float32x2x4_t;
488 
489 typedef struct float32x4x4_t
490 {
491   float32x4_t val[4];
492 } float32x4x4_t;
493 
494 typedef struct poly8x8x4_t
495 {
496   poly8x8_t val[4];
497 } poly8x8x4_t;
498 
499 typedef struct poly8x16x4_t
500 {
501   poly8x16_t val[4];
502 } poly8x16x4_t;
503 
504 typedef struct poly16x4x4_t
505 {
506   poly16x4_t val[4];
507 } poly16x4x4_t;
508 
509 typedef struct poly16x8x4_t
510 {
511   poly16x8_t val[4];
512 } poly16x8x4_t;
513 
514 #pragma GCC push_options
515 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
516 typedef struct poly64x1x4_t
517 {
518   poly64x1_t val[4];
519 } poly64x1x4_t;
520 
521 
522 typedef struct poly64x2x4_t
523 {
524   poly64x2_t val[4];
525 } poly64x2x4_t;
526 #pragma GCC pop_options
527 
528 /* vadd  */
529 __extension__ extern __inline int8x8_t
530 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s8(int8x8_t __a,int8x8_t __b)531 vadd_s8 (int8x8_t __a, int8x8_t __b)
532 {
533   return __a + __b;
534 }
535 
536 __extension__ extern __inline int16x4_t
537 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s16(int16x4_t __a,int16x4_t __b)538 vadd_s16 (int16x4_t __a, int16x4_t __b)
539 {
540   return __a + __b;
541 }
542 
543 __extension__ extern __inline int32x2_t
544 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s32(int32x2_t __a,int32x2_t __b)545 vadd_s32 (int32x2_t __a, int32x2_t __b)
546 {
547   return __a + __b;
548 }
549 
550 __extension__ extern __inline float32x2_t
551 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_f32(float32x2_t __a,float32x2_t __b)552 vadd_f32 (float32x2_t __a, float32x2_t __b)
553 {
554 #ifdef __FAST_MATH__
555   return __a + __b;
556 #else
557   return (float32x2_t) __builtin_neon_vaddv2sf (__a, __b);
558 #endif
559 }
560 
561 __extension__ extern __inline uint8x8_t
562 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u8(uint8x8_t __a,uint8x8_t __b)563 vadd_u8 (uint8x8_t __a, uint8x8_t __b)
564 {
565   return __a + __b;
566 }
567 
568 __extension__ extern __inline uint16x4_t
569 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u16(uint16x4_t __a,uint16x4_t __b)570 vadd_u16 (uint16x4_t __a, uint16x4_t __b)
571 {
572   return __a + __b;
573 }
574 
575 __extension__ extern __inline uint32x2_t
576 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u32(uint32x2_t __a,uint32x2_t __b)577 vadd_u32 (uint32x2_t __a, uint32x2_t __b)
578 {
579   return __a + __b;
580 }
581 
582 __extension__ extern __inline int64x1_t
583 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s64(int64x1_t __a,int64x1_t __b)584 vadd_s64 (int64x1_t __a, int64x1_t __b)
585 {
586   return __a + __b;
587 }
588 
589 __extension__ extern __inline uint64x1_t
590 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u64(uint64x1_t __a,uint64x1_t __b)591 vadd_u64 (uint64x1_t __a, uint64x1_t __b)
592 {
593   return __a + __b;
594 }
595 
596 __extension__ extern __inline int8x16_t
597 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s8(int8x16_t __a,int8x16_t __b)598 vaddq_s8 (int8x16_t __a, int8x16_t __b)
599 {
600   return __a + __b;
601 }
602 
603 __extension__ extern __inline int16x8_t
604 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s16(int16x8_t __a,int16x8_t __b)605 vaddq_s16 (int16x8_t __a, int16x8_t __b)
606 {
607   return __a + __b;
608 }
609 
610 __extension__ extern __inline int32x4_t
611 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s32(int32x4_t __a,int32x4_t __b)612 vaddq_s32 (int32x4_t __a, int32x4_t __b)
613 {
614   return __a + __b;
615 }
616 
617 __extension__ extern __inline int64x2_t
618 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s64(int64x2_t __a,int64x2_t __b)619 vaddq_s64 (int64x2_t __a, int64x2_t __b)
620 {
621   return __a + __b;
622 }
623 
624 __extension__ extern __inline float32x4_t
625 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_f32(float32x4_t __a,float32x4_t __b)626 vaddq_f32 (float32x4_t __a, float32x4_t __b)
627 {
628 #ifdef __FAST_MATH__
629   return __a + __b;
630 #else
631   return (float32x4_t) __builtin_neon_vaddv4sf (__a, __b);
632 #endif
633 }
634 
635 __extension__ extern __inline uint8x16_t
636 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u8(uint8x16_t __a,uint8x16_t __b)637 vaddq_u8 (uint8x16_t __a, uint8x16_t __b)
638 {
639   return __a + __b;
640 }
641 
642 __extension__ extern __inline uint16x8_t
643 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u16(uint16x8_t __a,uint16x8_t __b)644 vaddq_u16 (uint16x8_t __a, uint16x8_t __b)
645 {
646   return __a + __b;
647 }
648 
649 __extension__ extern __inline uint32x4_t
650 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u32(uint32x4_t __a,uint32x4_t __b)651 vaddq_u32 (uint32x4_t __a, uint32x4_t __b)
652 {
653   return __a + __b;
654 }
655 
656 __extension__ extern __inline uint64x2_t
657 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u64(uint64x2_t __a,uint64x2_t __b)658 vaddq_u64 (uint64x2_t __a, uint64x2_t __b)
659 {
660   return __a + __b;
661 }
662 
663 __extension__ extern __inline int16x8_t
664 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_s8(int8x8_t __a,int8x8_t __b)665 vaddl_s8 (int8x8_t __a, int8x8_t __b)
666 {
667   return (int16x8_t)__builtin_neon_vaddlsv8qi (__a, __b);
668 }
669 
670 __extension__ extern __inline int32x4_t
671 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_s16(int16x4_t __a,int16x4_t __b)672 vaddl_s16 (int16x4_t __a, int16x4_t __b)
673 {
674   return (int32x4_t)__builtin_neon_vaddlsv4hi (__a, __b);
675 }
676 
677 __extension__ extern __inline int64x2_t
678 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_s32(int32x2_t __a,int32x2_t __b)679 vaddl_s32 (int32x2_t __a, int32x2_t __b)
680 {
681   return (int64x2_t)__builtin_neon_vaddlsv2si (__a, __b);
682 }
683 
684 __extension__ extern __inline uint16x8_t
685 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_u8(uint8x8_t __a,uint8x8_t __b)686 vaddl_u8 (uint8x8_t __a, uint8x8_t __b)
687 {
688   return (uint16x8_t)__builtin_neon_vaddluv8qi ((int8x8_t) __a, (int8x8_t) __b);
689 }
690 
691 __extension__ extern __inline uint32x4_t
692 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_u16(uint16x4_t __a,uint16x4_t __b)693 vaddl_u16 (uint16x4_t __a, uint16x4_t __b)
694 {
695   return (uint32x4_t)__builtin_neon_vaddluv4hi ((int16x4_t) __a, (int16x4_t) __b);
696 }
697 
698 __extension__ extern __inline uint64x2_t
699 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_u32(uint32x2_t __a,uint32x2_t __b)700 vaddl_u32 (uint32x2_t __a, uint32x2_t __b)
701 {
702   return (uint64x2_t)__builtin_neon_vaddluv2si ((int32x2_t) __a, (int32x2_t) __b);
703 }
704 
705 __extension__ extern __inline int16x8_t
706 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_s8(int16x8_t __a,int8x8_t __b)707 vaddw_s8 (int16x8_t __a, int8x8_t __b)
708 {
709   return (int16x8_t)__builtin_neon_vaddwsv8qi (__a, __b);
710 }
711 
712 __extension__ extern __inline int32x4_t
713 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_s16(int32x4_t __a,int16x4_t __b)714 vaddw_s16 (int32x4_t __a, int16x4_t __b)
715 {
716   return (int32x4_t)__builtin_neon_vaddwsv4hi (__a, __b);
717 }
718 
719 __extension__ extern __inline int64x2_t
720 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_s32(int64x2_t __a,int32x2_t __b)721 vaddw_s32 (int64x2_t __a, int32x2_t __b)
722 {
723   return (int64x2_t)__builtin_neon_vaddwsv2si (__a, __b);
724 }
725 
726 __extension__ extern __inline uint16x8_t
727 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_u8(uint16x8_t __a,uint8x8_t __b)728 vaddw_u8 (uint16x8_t __a, uint8x8_t __b)
729 {
730   return (uint16x8_t)__builtin_neon_vaddwuv8qi ((int16x8_t) __a, (int8x8_t) __b);
731 }
732 
733 __extension__ extern __inline uint32x4_t
734 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_u16(uint32x4_t __a,uint16x4_t __b)735 vaddw_u16 (uint32x4_t __a, uint16x4_t __b)
736 {
737   return (uint32x4_t)__builtin_neon_vaddwuv4hi ((int32x4_t) __a, (int16x4_t) __b);
738 }
739 
740 __extension__ extern __inline uint64x2_t
741 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_u32(uint64x2_t __a,uint32x2_t __b)742 vaddw_u32 (uint64x2_t __a, uint32x2_t __b)
743 {
744   return (uint64x2_t)__builtin_neon_vaddwuv2si ((int64x2_t) __a, (int32x2_t) __b);
745 }
746 
747 __extension__ extern __inline int8x8_t
748 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_s8(int8x8_t __a,int8x8_t __b)749 vhadd_s8 (int8x8_t __a, int8x8_t __b)
750 {
751   return (int8x8_t)__builtin_neon_vhaddsv8qi (__a, __b);
752 }
753 
754 __extension__ extern __inline int16x4_t
755 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_s16(int16x4_t __a,int16x4_t __b)756 vhadd_s16 (int16x4_t __a, int16x4_t __b)
757 {
758   return (int16x4_t)__builtin_neon_vhaddsv4hi (__a, __b);
759 }
760 
761 __extension__ extern __inline int32x2_t
762 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_s32(int32x2_t __a,int32x2_t __b)763 vhadd_s32 (int32x2_t __a, int32x2_t __b)
764 {
765   return (int32x2_t)__builtin_neon_vhaddsv2si (__a, __b);
766 }
767 
768 __extension__ extern __inline uint8x8_t
769 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_u8(uint8x8_t __a,uint8x8_t __b)770 vhadd_u8 (uint8x8_t __a, uint8x8_t __b)
771 {
772   return (uint8x8_t)__builtin_neon_vhadduv8qi ((int8x8_t) __a, (int8x8_t) __b);
773 }
774 
775 __extension__ extern __inline uint16x4_t
776 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_u16(uint16x4_t __a,uint16x4_t __b)777 vhadd_u16 (uint16x4_t __a, uint16x4_t __b)
778 {
779   return (uint16x4_t)__builtin_neon_vhadduv4hi ((int16x4_t) __a, (int16x4_t) __b);
780 }
781 
782 __extension__ extern __inline uint32x2_t
783 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_u32(uint32x2_t __a,uint32x2_t __b)784 vhadd_u32 (uint32x2_t __a, uint32x2_t __b)
785 {
786   return (uint32x2_t)__builtin_neon_vhadduv2si ((int32x2_t) __a, (int32x2_t) __b);
787 }
788 
789 __extension__ extern __inline int8x16_t
790 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_s8(int8x16_t __a,int8x16_t __b)791 vhaddq_s8 (int8x16_t __a, int8x16_t __b)
792 {
793   return (int8x16_t)__builtin_neon_vhaddsv16qi (__a, __b);
794 }
795 
796 __extension__ extern __inline int16x8_t
797 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_s16(int16x8_t __a,int16x8_t __b)798 vhaddq_s16 (int16x8_t __a, int16x8_t __b)
799 {
800   return (int16x8_t)__builtin_neon_vhaddsv8hi (__a, __b);
801 }
802 
803 __extension__ extern __inline int32x4_t
804 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_s32(int32x4_t __a,int32x4_t __b)805 vhaddq_s32 (int32x4_t __a, int32x4_t __b)
806 {
807   return (int32x4_t)__builtin_neon_vhaddsv4si (__a, __b);
808 }
809 
810 __extension__ extern __inline uint8x16_t
811 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_u8(uint8x16_t __a,uint8x16_t __b)812 vhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
813 {
814   return (uint8x16_t)__builtin_neon_vhadduv16qi ((int8x16_t) __a, (int8x16_t) __b);
815 }
816 
817 __extension__ extern __inline uint16x8_t
818 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_u16(uint16x8_t __a,uint16x8_t __b)819 vhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
820 {
821   return (uint16x8_t)__builtin_neon_vhadduv8hi ((int16x8_t) __a, (int16x8_t) __b);
822 }
823 
824 __extension__ extern __inline uint32x4_t
825 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_u32(uint32x4_t __a,uint32x4_t __b)826 vhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
827 {
828   return (uint32x4_t)__builtin_neon_vhadduv4si ((int32x4_t) __a, (int32x4_t) __b);
829 }
830 
831 __extension__ extern __inline int8x8_t
832 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_s8(int8x8_t __a,int8x8_t __b)833 vrhadd_s8 (int8x8_t __a, int8x8_t __b)
834 {
835   return (int8x8_t)__builtin_neon_vrhaddsv8qi (__a, __b);
836 }
837 
838 __extension__ extern __inline int16x4_t
839 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_s16(int16x4_t __a,int16x4_t __b)840 vrhadd_s16 (int16x4_t __a, int16x4_t __b)
841 {
842   return (int16x4_t)__builtin_neon_vrhaddsv4hi (__a, __b);
843 }
844 
845 __extension__ extern __inline int32x2_t
846 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_s32(int32x2_t __a,int32x2_t __b)847 vrhadd_s32 (int32x2_t __a, int32x2_t __b)
848 {
849   return (int32x2_t)__builtin_neon_vrhaddsv2si (__a, __b);
850 }
851 
852 __extension__ extern __inline uint8x8_t
853 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_u8(uint8x8_t __a,uint8x8_t __b)854 vrhadd_u8 (uint8x8_t __a, uint8x8_t __b)
855 {
856   return (uint8x8_t)__builtin_neon_vrhadduv8qi ((int8x8_t) __a, (int8x8_t) __b);
857 }
858 
859 __extension__ extern __inline uint16x4_t
860 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_u16(uint16x4_t __a,uint16x4_t __b)861 vrhadd_u16 (uint16x4_t __a, uint16x4_t __b)
862 {
863   return (uint16x4_t)__builtin_neon_vrhadduv4hi ((int16x4_t) __a, (int16x4_t) __b);
864 }
865 
866 __extension__ extern __inline uint32x2_t
867 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_u32(uint32x2_t __a,uint32x2_t __b)868 vrhadd_u32 (uint32x2_t __a, uint32x2_t __b)
869 {
870   return (uint32x2_t)__builtin_neon_vrhadduv2si ((int32x2_t) __a, (int32x2_t) __b);
871 }
872 
873 __extension__ extern __inline int8x16_t
874 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_s8(int8x16_t __a,int8x16_t __b)875 vrhaddq_s8 (int8x16_t __a, int8x16_t __b)
876 {
877   return (int8x16_t)__builtin_neon_vrhaddsv16qi (__a, __b);
878 }
879 
880 __extension__ extern __inline int16x8_t
881 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_s16(int16x8_t __a,int16x8_t __b)882 vrhaddq_s16 (int16x8_t __a, int16x8_t __b)
883 {
884   return (int16x8_t)__builtin_neon_vrhaddsv8hi (__a, __b);
885 }
886 
887 __extension__ extern __inline int32x4_t
888 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_s32(int32x4_t __a,int32x4_t __b)889 vrhaddq_s32 (int32x4_t __a, int32x4_t __b)
890 {
891   return (int32x4_t)__builtin_neon_vrhaddsv4si (__a, __b);
892 }
893 
894 __extension__ extern __inline uint8x16_t
895 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_u8(uint8x16_t __a,uint8x16_t __b)896 vrhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
897 {
898   return (uint8x16_t)__builtin_neon_vrhadduv16qi ((int8x16_t) __a, (int8x16_t) __b);
899 }
900 
901 __extension__ extern __inline uint16x8_t
902 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_u16(uint16x8_t __a,uint16x8_t __b)903 vrhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
904 {
905   return (uint16x8_t)__builtin_neon_vrhadduv8hi ((int16x8_t) __a, (int16x8_t) __b);
906 }
907 
908 __extension__ extern __inline uint32x4_t
909 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_u32(uint32x4_t __a,uint32x4_t __b)910 vrhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
911 {
912   return (uint32x4_t)__builtin_neon_vrhadduv4si ((int32x4_t) __a, (int32x4_t) __b);
913 }
914 
915 __extension__ extern __inline int8x8_t
916 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s8(int8x8_t __a,int8x8_t __b)917 vqadd_s8 (int8x8_t __a, int8x8_t __b)
918 {
919   return (int8x8_t)__builtin_neon_vqaddsv8qi (__a, __b);
920 }
921 
922 __extension__ extern __inline int16x4_t
923 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s16(int16x4_t __a,int16x4_t __b)924 vqadd_s16 (int16x4_t __a, int16x4_t __b)
925 {
926   return (int16x4_t)__builtin_neon_vqaddsv4hi (__a, __b);
927 }
928 
929 __extension__ extern __inline int32x2_t
930 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s32(int32x2_t __a,int32x2_t __b)931 vqadd_s32 (int32x2_t __a, int32x2_t __b)
932 {
933   return (int32x2_t)__builtin_neon_vqaddsv2si (__a, __b);
934 }
935 
936 __extension__ extern __inline int64x1_t
937 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s64(int64x1_t __a,int64x1_t __b)938 vqadd_s64 (int64x1_t __a, int64x1_t __b)
939 {
940   return (int64x1_t)__builtin_neon_vqaddsdi (__a, __b);
941 }
942 
943 __extension__ extern __inline uint8x8_t
944 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u8(uint8x8_t __a,uint8x8_t __b)945 vqadd_u8 (uint8x8_t __a, uint8x8_t __b)
946 {
947   return (uint8x8_t)__builtin_neon_vqadduv8qi ((int8x8_t) __a, (int8x8_t) __b);
948 }
949 
950 __extension__ extern __inline uint16x4_t
951 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u16(uint16x4_t __a,uint16x4_t __b)952 vqadd_u16 (uint16x4_t __a, uint16x4_t __b)
953 {
954   return (uint16x4_t)__builtin_neon_vqadduv4hi ((int16x4_t) __a, (int16x4_t) __b);
955 }
956 
957 __extension__ extern __inline uint32x2_t
958 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u32(uint32x2_t __a,uint32x2_t __b)959 vqadd_u32 (uint32x2_t __a, uint32x2_t __b)
960 {
961   return (uint32x2_t)__builtin_neon_vqadduv2si ((int32x2_t) __a, (int32x2_t) __b);
962 }
963 
964 __extension__ extern __inline uint64x1_t
965 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u64(uint64x1_t __a,uint64x1_t __b)966 vqadd_u64 (uint64x1_t __a, uint64x1_t __b)
967 {
968   return (uint64x1_t)__builtin_neon_vqaddudi ((int64x1_t) __a, (int64x1_t) __b);
969 }
970 
971 __extension__ extern __inline int8x16_t
972 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s8(int8x16_t __a,int8x16_t __b)973 vqaddq_s8 (int8x16_t __a, int8x16_t __b)
974 {
975   return (int8x16_t)__builtin_neon_vqaddsv16qi (__a, __b);
976 }
977 
978 __extension__ extern __inline int16x8_t
979 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s16(int16x8_t __a,int16x8_t __b)980 vqaddq_s16 (int16x8_t __a, int16x8_t __b)
981 {
982   return (int16x8_t)__builtin_neon_vqaddsv8hi (__a, __b);
983 }
984 
985 __extension__ extern __inline int32x4_t
986 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s32(int32x4_t __a,int32x4_t __b)987 vqaddq_s32 (int32x4_t __a, int32x4_t __b)
988 {
989   return (int32x4_t)__builtin_neon_vqaddsv4si (__a, __b);
990 }
991 
992 __extension__ extern __inline int64x2_t
993 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s64(int64x2_t __a,int64x2_t __b)994 vqaddq_s64 (int64x2_t __a, int64x2_t __b)
995 {
996   return (int64x2_t)__builtin_neon_vqaddsv2di (__a, __b);
997 }
998 
999 __extension__ extern __inline uint8x16_t
1000 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u8(uint8x16_t __a,uint8x16_t __b)1001 vqaddq_u8 (uint8x16_t __a, uint8x16_t __b)
1002 {
1003   return (uint8x16_t)__builtin_neon_vqadduv16qi ((int8x16_t) __a, (int8x16_t) __b);
1004 }
1005 
1006 __extension__ extern __inline uint16x8_t
1007 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u16(uint16x8_t __a,uint16x8_t __b)1008 vqaddq_u16 (uint16x8_t __a, uint16x8_t __b)
1009 {
1010   return (uint16x8_t)__builtin_neon_vqadduv8hi ((int16x8_t) __a, (int16x8_t) __b);
1011 }
1012 
1013 __extension__ extern __inline uint32x4_t
1014 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u32(uint32x4_t __a,uint32x4_t __b)1015 vqaddq_u32 (uint32x4_t __a, uint32x4_t __b)
1016 {
1017   return (uint32x4_t)__builtin_neon_vqadduv4si ((int32x4_t) __a, (int32x4_t) __b);
1018 }
1019 
1020 __extension__ extern __inline uint64x2_t
1021 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u64(uint64x2_t __a,uint64x2_t __b)1022 vqaddq_u64 (uint64x2_t __a, uint64x2_t __b)
1023 {
1024   return (uint64x2_t)__builtin_neon_vqadduv2di ((int64x2_t) __a, (int64x2_t) __b);
1025 }
1026 
1027 __extension__ extern __inline int8x8_t
1028 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_s16(int16x8_t __a,int16x8_t __b)1029 vaddhn_s16 (int16x8_t __a, int16x8_t __b)
1030 {
1031   return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b);
1032 }
1033 
1034 __extension__ extern __inline int16x4_t
1035 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_s32(int32x4_t __a,int32x4_t __b)1036 vaddhn_s32 (int32x4_t __a, int32x4_t __b)
1037 {
1038   return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b);
1039 }
1040 
1041 __extension__ extern __inline int32x2_t
1042 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_s64(int64x2_t __a,int64x2_t __b)1043 vaddhn_s64 (int64x2_t __a, int64x2_t __b)
1044 {
1045   return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b);
1046 }
1047 
1048 __extension__ extern __inline uint8x8_t
1049 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_u16(uint16x8_t __a,uint16x8_t __b)1050 vaddhn_u16 (uint16x8_t __a, uint16x8_t __b)
1051 {
1052   return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b);
1053 }
1054 
1055 __extension__ extern __inline uint16x4_t
1056 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_u32(uint32x4_t __a,uint32x4_t __b)1057 vaddhn_u32 (uint32x4_t __a, uint32x4_t __b)
1058 {
1059   return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b);
1060 }
1061 
1062 __extension__ extern __inline uint32x2_t
1063 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_u64(uint64x2_t __a,uint64x2_t __b)1064 vaddhn_u64 (uint64x2_t __a, uint64x2_t __b)
1065 {
1066   return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b);
1067 }
1068 
1069 __extension__ extern __inline int8x8_t
1070 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_s16(int16x8_t __a,int16x8_t __b)1071 vraddhn_s16 (int16x8_t __a, int16x8_t __b)
1072 {
1073   return (int8x8_t)__builtin_neon_vraddhnv8hi (__a, __b);
1074 }
1075 
1076 __extension__ extern __inline int16x4_t
1077 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_s32(int32x4_t __a,int32x4_t __b)1078 vraddhn_s32 (int32x4_t __a, int32x4_t __b)
1079 {
1080   return (int16x4_t)__builtin_neon_vraddhnv4si (__a, __b);
1081 }
1082 
1083 __extension__ extern __inline int32x2_t
1084 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_s64(int64x2_t __a,int64x2_t __b)1085 vraddhn_s64 (int64x2_t __a, int64x2_t __b)
1086 {
1087   return (int32x2_t)__builtin_neon_vraddhnv2di (__a, __b);
1088 }
1089 
1090 __extension__ extern __inline uint8x8_t
1091 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_u16(uint16x8_t __a,uint16x8_t __b)1092 vraddhn_u16 (uint16x8_t __a, uint16x8_t __b)
1093 {
1094   return (uint8x8_t)__builtin_neon_vraddhnv8hi ((int16x8_t) __a, (int16x8_t) __b);
1095 }
1096 
1097 __extension__ extern __inline uint16x4_t
1098 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_u32(uint32x4_t __a,uint32x4_t __b)1099 vraddhn_u32 (uint32x4_t __a, uint32x4_t __b)
1100 {
1101   return (uint16x4_t)__builtin_neon_vraddhnv4si ((int32x4_t) __a, (int32x4_t) __b);
1102 }
1103 
1104 __extension__ extern __inline uint32x2_t
1105 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_u64(uint64x2_t __a,uint64x2_t __b)1106 vraddhn_u64 (uint64x2_t __a, uint64x2_t __b)
1107 {
1108   return (uint32x2_t)__builtin_neon_vraddhnv2di ((int64x2_t) __a, (int64x2_t) __b);
1109 }
1110 
1111 __extension__ extern __inline int8x8_t
1112 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_s8(int8x8_t __a,int8x8_t __b)1113 vmul_s8 (int8x8_t __a, int8x8_t __b)
1114 {
1115   return __a * __b;
1116 }
1117 
1118 __extension__ extern __inline int16x4_t
1119 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_s16(int16x4_t __a,int16x4_t __b)1120 vmul_s16 (int16x4_t __a, int16x4_t __b)
1121 {
1122   return __a * __b;
1123 }
1124 
1125 __extension__ extern __inline int32x2_t
1126 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_s32(int32x2_t __a,int32x2_t __b)1127 vmul_s32 (int32x2_t __a, int32x2_t __b)
1128 {
1129   return __a * __b;
1130 }
1131 
1132 __extension__ extern __inline float32x2_t
1133 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_f32(float32x2_t __a,float32x2_t __b)1134 vmul_f32 (float32x2_t __a, float32x2_t __b)
1135 {
1136 #ifdef __FAST_MATH__
1137   return __a * __b;
1138 #else
1139   return (float32x2_t) __builtin_neon_vmulfv2sf (__a, __b);
1140 #endif
1141 
1142 }
1143 
1144 __extension__ extern __inline uint8x8_t
1145 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_u8(uint8x8_t __a,uint8x8_t __b)1146 vmul_u8 (uint8x8_t __a, uint8x8_t __b)
1147 {
1148   return __a * __b;
1149 }
1150 
1151 __extension__ extern __inline uint16x4_t
1152 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_u16(uint16x4_t __a,uint16x4_t __b)1153 vmul_u16 (uint16x4_t __a, uint16x4_t __b)
1154 {
1155   return __a * __b;
1156 }
1157 
1158 __extension__ extern __inline uint32x2_t
1159 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_u32(uint32x2_t __a,uint32x2_t __b)1160 vmul_u32 (uint32x2_t __a, uint32x2_t __b)
1161 {
1162   return __a * __b;
1163 }
1164 
1165 __extension__ extern __inline int8x16_t
1166 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_s8(int8x16_t __a,int8x16_t __b)1167 vmulq_s8 (int8x16_t __a, int8x16_t __b)
1168 {
1169   return __a * __b;
1170 }
1171 
1172 __extension__ extern __inline int16x8_t
1173 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_s16(int16x8_t __a,int16x8_t __b)1174 vmulq_s16 (int16x8_t __a, int16x8_t __b)
1175 {
1176   return __a * __b;
1177 }
1178 
1179 __extension__ extern __inline int32x4_t
1180 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_s32(int32x4_t __a,int32x4_t __b)1181 vmulq_s32 (int32x4_t __a, int32x4_t __b)
1182 {
1183   return __a * __b;
1184 }
1185 
1186 __extension__ extern __inline float32x4_t
1187 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_f32(float32x4_t __a,float32x4_t __b)1188 vmulq_f32 (float32x4_t __a, float32x4_t __b)
1189 {
1190 #ifdef __FAST_MATH__
1191   return __a * __b;
1192 #else
1193   return (float32x4_t) __builtin_neon_vmulfv4sf (__a, __b);
1194 #endif
1195 }
1196 
1197 __extension__ extern __inline uint8x16_t
1198 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_u8(uint8x16_t __a,uint8x16_t __b)1199 vmulq_u8 (uint8x16_t __a, uint8x16_t __b)
1200 {
1201   return __a * __b;
1202 }
1203 
1204 __extension__ extern __inline uint16x8_t
1205 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_u16(uint16x8_t __a,uint16x8_t __b)1206 vmulq_u16 (uint16x8_t __a, uint16x8_t __b)
1207 {
1208   return __a * __b;
1209 }
1210 
1211 __extension__ extern __inline uint32x4_t
1212 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_u32(uint32x4_t __a,uint32x4_t __b)1213 vmulq_u32 (uint32x4_t __a, uint32x4_t __b)
1214 {
1215   return __a * __b;
1216 }
1217 
1218 __extension__ extern __inline poly8x8_t
1219 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_p8(poly8x8_t __a,poly8x8_t __b)1220 vmul_p8 (poly8x8_t __a, poly8x8_t __b)
1221 {
1222   return (poly8x8_t)__builtin_neon_vmulpv8qi ((int8x8_t) __a, (int8x8_t) __b);
1223 }
1224 
1225 __extension__ extern __inline poly8x16_t
1226 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_p8(poly8x16_t __a,poly8x16_t __b)1227 vmulq_p8 (poly8x16_t __a, poly8x16_t __b)
1228 {
1229   return (poly8x16_t)__builtin_neon_vmulpv16qi ((int8x16_t) __a, (int8x16_t) __b);
1230 }
1231 
1232 __extension__ extern __inline int16x4_t
1233 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_s16(int16x4_t __a,int16x4_t __b)1234 vqdmulh_s16 (int16x4_t __a, int16x4_t __b)
1235 {
1236   return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b);
1237 }
1238 
1239 __extension__ extern __inline int32x2_t
1240 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_s32(int32x2_t __a,int32x2_t __b)1241 vqdmulh_s32 (int32x2_t __a, int32x2_t __b)
1242 {
1243   return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b);
1244 }
1245 
1246 __extension__ extern __inline int16x8_t
1247 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_s16(int16x8_t __a,int16x8_t __b)1248 vqdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1249 {
1250   return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b);
1251 }
1252 
1253 __extension__ extern __inline int32x4_t
1254 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_s32(int32x4_t __a,int32x4_t __b)1255 vqdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1256 {
1257   return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b);
1258 }
1259 
1260 __extension__ extern __inline int16x4_t
1261 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_s16(int16x4_t __a,int16x4_t __b)1262 vqrdmulh_s16 (int16x4_t __a, int16x4_t __b)
1263 {
1264   return (int16x4_t)__builtin_neon_vqrdmulhv4hi (__a, __b);
1265 }
1266 
1267 __extension__ extern __inline int32x2_t
1268 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_s32(int32x2_t __a,int32x2_t __b)1269 vqrdmulh_s32 (int32x2_t __a, int32x2_t __b)
1270 {
1271   return (int32x2_t)__builtin_neon_vqrdmulhv2si (__a, __b);
1272 }
1273 
1274 __extension__ extern __inline int16x8_t
1275 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_s16(int16x8_t __a,int16x8_t __b)1276 vqrdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1277 {
1278   return (int16x8_t)__builtin_neon_vqrdmulhv8hi (__a, __b);
1279 }
1280 
1281 __extension__ extern __inline int32x4_t
1282 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_s32(int32x4_t __a,int32x4_t __b)1283 vqrdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1284 {
1285   return (int32x4_t)__builtin_neon_vqrdmulhv4si (__a, __b);
1286 }
1287 
1288 #ifdef __ARM_FEATURE_QRDMX
1289 __extension__ extern __inline int16x4_t
1290 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)1291 vqrdmlah_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1292 {
1293   return (int16x4_t)__builtin_neon_vqrdmlahv4hi (__a, __b, __c);
1294 }
1295 
1296 __extension__ extern __inline int32x2_t
1297 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)1298 vqrdmlah_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1299 {
1300   return (int32x2_t)__builtin_neon_vqrdmlahv2si (__a, __b, __c);
1301 }
1302 
1303 __extension__ extern __inline int16x8_t
1304 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)1305 vqrdmlahq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1306 {
1307   return (int16x8_t)__builtin_neon_vqrdmlahv8hi (__a, __b, __c);
1308 }
1309 
1310 __extension__ extern __inline int32x4_t
1311 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)1312 vqrdmlahq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1313 {
1314   return (int32x4_t)__builtin_neon_vqrdmlahv4si (__a, __b, __c);
1315 }
1316 
1317 __extension__ extern __inline int16x4_t
1318 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)1319 vqrdmlsh_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1320 {
1321   return (int16x4_t)__builtin_neon_vqrdmlshv4hi (__a, __b, __c);
1322 }
1323 
1324 __extension__ extern __inline int32x2_t
1325 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)1326 vqrdmlsh_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1327 {
1328   return (int32x2_t)__builtin_neon_vqrdmlshv2si (__a, __b, __c);
1329 }
1330 
1331 __extension__ extern __inline int16x8_t
1332 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)1333 vqrdmlshq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1334 {
1335   return (int16x8_t)__builtin_neon_vqrdmlshv8hi (__a, __b, __c);
1336 }
1337 
1338 __extension__ extern __inline int32x4_t
1339 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)1340 vqrdmlshq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1341 {
1342   return (int32x4_t)__builtin_neon_vqrdmlshv4si (__a, __b, __c);
1343 }
1344 #endif
1345 
1346 __extension__ extern __inline int16x8_t
1347 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s8(int8x8_t __a,int8x8_t __b)1348 vmull_s8 (int8x8_t __a, int8x8_t __b)
1349 {
1350   return (int16x8_t)__builtin_neon_vmullsv8qi (__a, __b);
1351 }
1352 
1353 __extension__ extern __inline int32x4_t
1354 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s16(int16x4_t __a,int16x4_t __b)1355 vmull_s16 (int16x4_t __a, int16x4_t __b)
1356 {
1357   return (int32x4_t)__builtin_neon_vmullsv4hi (__a, __b);
1358 }
1359 
1360 __extension__ extern __inline int64x2_t
1361 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s32(int32x2_t __a,int32x2_t __b)1362 vmull_s32 (int32x2_t __a, int32x2_t __b)
1363 {
1364   return (int64x2_t)__builtin_neon_vmullsv2si (__a, __b);
1365 }
1366 
1367 __extension__ extern __inline uint16x8_t
1368 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u8(uint8x8_t __a,uint8x8_t __b)1369 vmull_u8 (uint8x8_t __a, uint8x8_t __b)
1370 {
1371   return (uint16x8_t)__builtin_neon_vmulluv8qi ((int8x8_t) __a, (int8x8_t) __b);
1372 }
1373 
1374 __extension__ extern __inline uint32x4_t
1375 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u16(uint16x4_t __a,uint16x4_t __b)1376 vmull_u16 (uint16x4_t __a, uint16x4_t __b)
1377 {
1378   return (uint32x4_t)__builtin_neon_vmulluv4hi ((int16x4_t) __a, (int16x4_t) __b);
1379 }
1380 
1381 __extension__ extern __inline uint64x2_t
1382 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u32(uint32x2_t __a,uint32x2_t __b)1383 vmull_u32 (uint32x2_t __a, uint32x2_t __b)
1384 {
1385   return (uint64x2_t)__builtin_neon_vmulluv2si ((int32x2_t) __a, (int32x2_t) __b);
1386 }
1387 
1388 __extension__ extern __inline poly16x8_t
1389 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_p8(poly8x8_t __a,poly8x8_t __b)1390 vmull_p8 (poly8x8_t __a, poly8x8_t __b)
1391 {
1392   return (poly16x8_t)__builtin_neon_vmullpv8qi ((int8x8_t) __a, (int8x8_t) __b);
1393 }
1394 
1395 __extension__ extern __inline int32x4_t
1396 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_s16(int16x4_t __a,int16x4_t __b)1397 vqdmull_s16 (int16x4_t __a, int16x4_t __b)
1398 {
1399   return (int32x4_t)__builtin_neon_vqdmullv4hi (__a, __b);
1400 }
1401 
1402 __extension__ extern __inline int64x2_t
1403 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_s32(int32x2_t __a,int32x2_t __b)1404 vqdmull_s32 (int32x2_t __a, int32x2_t __b)
1405 {
1406   return (int64x2_t)__builtin_neon_vqdmullv2si (__a, __b);
1407 }
1408 
1409 __extension__ extern __inline int8x8_t
1410 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)1411 vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1412 {
1413   return (int8x8_t)__builtin_neon_vmlav8qi (__a, __b, __c);
1414 }
1415 
1416 __extension__ extern __inline int16x4_t
1417 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)1418 vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1419 {
1420   return (int16x4_t)__builtin_neon_vmlav4hi (__a, __b, __c);
1421 }
1422 
1423 __extension__ extern __inline int32x2_t
1424 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)1425 vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1426 {
1427   return (int32x2_t)__builtin_neon_vmlav2si (__a, __b, __c);
1428 }
1429 
1430 __extension__ extern __inline float32x2_t
1431 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1432 vmla_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1433 {
1434   return (float32x2_t)__builtin_neon_vmlav2sf (__a, __b, __c);
1435 }
1436 
1437 __extension__ extern __inline uint8x8_t
1438 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)1439 vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1440 {
1441   return (uint8x8_t)__builtin_neon_vmlav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
1442 }
1443 
1444 __extension__ extern __inline uint16x4_t
1445 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)1446 vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1447 {
1448   return (uint16x4_t)__builtin_neon_vmlav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
1449 }
1450 
1451 __extension__ extern __inline uint32x2_t
1452 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)1453 vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1454 {
1455   return (uint32x2_t)__builtin_neon_vmlav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
1456 }
1457 
1458 __extension__ extern __inline int8x16_t
1459 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)1460 vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1461 {
1462   return (int8x16_t)__builtin_neon_vmlav16qi (__a, __b, __c);
1463 }
1464 
1465 __extension__ extern __inline int16x8_t
1466 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)1467 vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1468 {
1469   return (int16x8_t)__builtin_neon_vmlav8hi (__a, __b, __c);
1470 }
1471 
1472 __extension__ extern __inline int32x4_t
1473 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)1474 vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1475 {
1476   return (int32x4_t)__builtin_neon_vmlav4si (__a, __b, __c);
1477 }
1478 
1479 __extension__ extern __inline float32x4_t
1480 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1481 vmlaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1482 {
1483   return (float32x4_t)__builtin_neon_vmlav4sf (__a, __b, __c);
1484 }
1485 
1486 __extension__ extern __inline uint8x16_t
1487 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)1488 vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1489 {
1490   return (uint8x16_t)__builtin_neon_vmlav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
1491 }
1492 
1493 __extension__ extern __inline uint16x8_t
1494 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)1495 vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1496 {
1497   return (uint16x8_t)__builtin_neon_vmlav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
1498 }
1499 
1500 __extension__ extern __inline uint32x4_t
1501 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)1502 vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1503 {
1504   return (uint32x4_t)__builtin_neon_vmlav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c);
1505 }
1506 
1507 __extension__ extern __inline int16x8_t
1508 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)1509 vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1510 {
1511   return (int16x8_t)__builtin_neon_vmlalsv8qi (__a, __b, __c);
1512 }
1513 
1514 __extension__ extern __inline int32x4_t
1515 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1516 vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1517 {
1518   return (int32x4_t)__builtin_neon_vmlalsv4hi (__a, __b, __c);
1519 }
1520 
1521 __extension__ extern __inline int64x2_t
1522 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1523 vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1524 {
1525   return (int64x2_t)__builtin_neon_vmlalsv2si (__a, __b, __c);
1526 }
1527 
1528 __extension__ extern __inline uint16x8_t
1529 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)1530 vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1531 {
1532   return (uint16x8_t)__builtin_neon_vmlaluv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
1533 }
1534 
1535 __extension__ extern __inline uint32x4_t
1536 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)1537 vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1538 {
1539   return (uint32x4_t)__builtin_neon_vmlaluv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
1540 }
1541 
1542 __extension__ extern __inline uint64x2_t
1543 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)1544 vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1545 {
1546   return (uint64x2_t)__builtin_neon_vmlaluv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
1547 }
1548 
1549 __extension__ extern __inline int32x4_t
1550 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1551 vqdmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1552 {
1553   return (int32x4_t)__builtin_neon_vqdmlalv4hi (__a, __b, __c);
1554 }
1555 
1556 __extension__ extern __inline int64x2_t
1557 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1558 vqdmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1559 {
1560   return (int64x2_t)__builtin_neon_vqdmlalv2si (__a, __b, __c);
1561 }
1562 
1563 __extension__ extern __inline int8x8_t
1564 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)1565 vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1566 {
1567   return (int8x8_t)__builtin_neon_vmlsv8qi (__a, __b, __c);
1568 }
1569 
1570 __extension__ extern __inline int16x4_t
1571 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)1572 vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1573 {
1574   return (int16x4_t)__builtin_neon_vmlsv4hi (__a, __b, __c);
1575 }
1576 
1577 __extension__ extern __inline int32x2_t
1578 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)1579 vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1580 {
1581   return (int32x2_t)__builtin_neon_vmlsv2si (__a, __b, __c);
1582 }
1583 
1584 __extension__ extern __inline float32x2_t
1585 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1586 vmls_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1587 {
1588   return (float32x2_t)__builtin_neon_vmlsv2sf (__a, __b, __c);
1589 }
1590 
1591 __extension__ extern __inline uint8x8_t
1592 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)1593 vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1594 {
1595   return (uint8x8_t)__builtin_neon_vmlsv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
1596 }
1597 
1598 __extension__ extern __inline uint16x4_t
1599 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)1600 vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1601 {
1602   return (uint16x4_t)__builtin_neon_vmlsv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
1603 }
1604 
1605 __extension__ extern __inline uint32x2_t
1606 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)1607 vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1608 {
1609   return (uint32x2_t)__builtin_neon_vmlsv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
1610 }
1611 
1612 __extension__ extern __inline int8x16_t
1613 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)1614 vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1615 {
1616   return (int8x16_t)__builtin_neon_vmlsv16qi (__a, __b, __c);
1617 }
1618 
1619 __extension__ extern __inline int16x8_t
1620 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)1621 vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1622 {
1623   return (int16x8_t)__builtin_neon_vmlsv8hi (__a, __b, __c);
1624 }
1625 
1626 __extension__ extern __inline int32x4_t
1627 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)1628 vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1629 {
1630   return (int32x4_t)__builtin_neon_vmlsv4si (__a, __b, __c);
1631 }
1632 
1633 __extension__ extern __inline float32x4_t
1634 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1635 vmlsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1636 {
1637   return (float32x4_t)__builtin_neon_vmlsv4sf (__a, __b, __c);
1638 }
1639 
1640 __extension__ extern __inline uint8x16_t
1641 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)1642 vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1643 {
1644   return (uint8x16_t)__builtin_neon_vmlsv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
1645 }
1646 
1647 __extension__ extern __inline uint16x8_t
1648 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)1649 vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1650 {
1651   return (uint16x8_t)__builtin_neon_vmlsv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
1652 }
1653 
1654 __extension__ extern __inline uint32x4_t
1655 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)1656 vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1657 {
1658   return (uint32x4_t)__builtin_neon_vmlsv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c);
1659 }
1660 
1661 __extension__ extern __inline int16x8_t
1662 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)1663 vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1664 {
1665   return (int16x8_t)__builtin_neon_vmlslsv8qi (__a, __b, __c);
1666 }
1667 
1668 __extension__ extern __inline int32x4_t
1669 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1670 vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1671 {
1672   return (int32x4_t)__builtin_neon_vmlslsv4hi (__a, __b, __c);
1673 }
1674 
1675 __extension__ extern __inline int64x2_t
1676 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1677 vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1678 {
1679   return (int64x2_t)__builtin_neon_vmlslsv2si (__a, __b, __c);
1680 }
1681 
1682 __extension__ extern __inline uint16x8_t
1683 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)1684 vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1685 {
1686   return (uint16x8_t)__builtin_neon_vmlsluv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
1687 }
1688 
1689 __extension__ extern __inline uint32x4_t
1690 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)1691 vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1692 {
1693   return (uint32x4_t)__builtin_neon_vmlsluv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
1694 }
1695 
1696 __extension__ extern __inline uint64x2_t
1697 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)1698 vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1699 {
1700   return (uint64x2_t)__builtin_neon_vmlsluv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
1701 }
1702 
1703 __extension__ extern __inline int32x4_t
1704 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1705 vqdmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1706 {
1707   return (int32x4_t)__builtin_neon_vqdmlslv4hi (__a, __b, __c);
1708 }
1709 
1710 __extension__ extern __inline int64x2_t
1711 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1712 vqdmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1713 {
1714   return (int64x2_t)__builtin_neon_vqdmlslv2si (__a, __b, __c);
1715 }
1716 
1717 #pragma GCC push_options
1718 #pragma GCC target ("fpu=neon-vfpv4")
1719 __extension__ extern __inline float32x2_t
1720 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfma_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1721 vfma_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1722 {
1723   return (float32x2_t)__builtin_neon_vfmav2sf (__a, __b, __c);
1724 }
1725 
1726 __extension__ extern __inline float32x4_t
1727 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1728 vfmaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1729 {
1730   return (float32x4_t)__builtin_neon_vfmav4sf (__a, __b, __c);
1731 }
1732 
1733 __extension__ extern __inline float32x2_t
1734 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfms_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1735 vfms_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1736 {
1737   return (float32x2_t)__builtin_neon_vfmsv2sf (__a, __b, __c);
1738 }
1739 
1740 __extension__ extern __inline float32x4_t
1741 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1742 vfmsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1743 {
1744   return (float32x4_t)__builtin_neon_vfmsv4sf (__a, __b, __c);
1745 }
1746 #pragma GCC pop_options
1747 
1748 #if __ARM_ARCH >= 8
1749 __extension__ extern __inline float32x2_t
1750 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndn_f32(float32x2_t __a)1751 vrndn_f32 (float32x2_t __a)
1752 {
1753   return (float32x2_t)__builtin_neon_vrintnv2sf (__a);
1754 }
1755 
1756 #endif
1757 #if __ARM_ARCH >= 8
1758 __extension__ extern __inline float32x4_t
1759 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndnq_f32(float32x4_t __a)1760 vrndnq_f32 (float32x4_t __a)
1761 {
1762   return (float32x4_t)__builtin_neon_vrintnv4sf (__a);
1763 }
1764 
1765 #endif
1766 #if __ARM_ARCH >= 8
1767 __extension__ extern __inline float32x2_t
1768 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrnda_f32(float32x2_t __a)1769 vrnda_f32 (float32x2_t __a)
1770 {
1771   return (float32x2_t)__builtin_neon_vrintav2sf (__a);
1772 }
1773 
1774 #endif
1775 #if __ARM_ARCH >= 8
1776 __extension__ extern __inline float32x4_t
1777 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndaq_f32(float32x4_t __a)1778 vrndaq_f32 (float32x4_t __a)
1779 {
1780   return (float32x4_t)__builtin_neon_vrintav4sf (__a);
1781 }
1782 
1783 #endif
1784 #if __ARM_ARCH >= 8
1785 __extension__ extern __inline float32x2_t
1786 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndp_f32(float32x2_t __a)1787 vrndp_f32 (float32x2_t __a)
1788 {
1789   return (float32x2_t)__builtin_neon_vrintpv2sf (__a);
1790 }
1791 
1792 #endif
1793 #if __ARM_ARCH >= 8
1794 __extension__ extern __inline float32x4_t
1795 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndpq_f32(float32x4_t __a)1796 vrndpq_f32 (float32x4_t __a)
1797 {
1798   return (float32x4_t)__builtin_neon_vrintpv4sf (__a);
1799 }
1800 
1801 #endif
1802 #if __ARM_ARCH >= 8
1803 __extension__ extern __inline float32x2_t
1804 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndm_f32(float32x2_t __a)1805 vrndm_f32 (float32x2_t __a)
1806 {
1807   return (float32x2_t)__builtin_neon_vrintmv2sf (__a);
1808 }
1809 
1810 #endif
1811 #if __ARM_ARCH >= 8
1812 __extension__ extern __inline float32x4_t
1813 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndmq_f32(float32x4_t __a)1814 vrndmq_f32 (float32x4_t __a)
1815 {
1816   return (float32x4_t)__builtin_neon_vrintmv4sf (__a);
1817 }
1818 
1819 #endif
1820 
1821 #if __ARM_ARCH >= 8
1822 __extension__ extern __inline float32x2_t
1823 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndx_f32(float32x2_t __a)1824 vrndx_f32 (float32x2_t __a)
1825 {
1826   return (float32x2_t)__builtin_neon_vrintxv2sf (__a);
1827 }
1828 
1829 #endif
1830 
1831 #if __ARM_ARCH >= 8
1832 __extension__ extern __inline float32x4_t
1833 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndxq_f32(float32x4_t __a)1834 vrndxq_f32 (float32x4_t __a)
1835 {
1836   return (float32x4_t)__builtin_neon_vrintxv4sf (__a);
1837 }
1838 
1839 #endif
1840 
1841 #if __ARM_ARCH >= 8
1842 __extension__ extern __inline float32x2_t
1843 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrnd_f32(float32x2_t __a)1844 vrnd_f32 (float32x2_t __a)
1845 {
1846   return (float32x2_t)__builtin_neon_vrintzv2sf (__a);
1847 }
1848 
1849 #endif
1850 #if __ARM_ARCH >= 8
1851 __extension__ extern __inline float32x4_t
1852 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndq_f32(float32x4_t __a)1853 vrndq_f32 (float32x4_t __a)
1854 {
1855   return (float32x4_t)__builtin_neon_vrintzv4sf (__a);
1856 }
1857 
1858 #endif
1859 
1860 __extension__ extern __inline int8x8_t
1861 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s8(int8x8_t __a,int8x8_t __b)1862 vsub_s8 (int8x8_t __a, int8x8_t __b)
1863 {
1864   return __a - __b;
1865 }
1866 
1867 __extension__ extern __inline int16x4_t
1868 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s16(int16x4_t __a,int16x4_t __b)1869 vsub_s16 (int16x4_t __a, int16x4_t __b)
1870 {
1871   return __a - __b;
1872 }
1873 
1874 __extension__ extern __inline int32x2_t
1875 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s32(int32x2_t __a,int32x2_t __b)1876 vsub_s32 (int32x2_t __a, int32x2_t __b)
1877 {
1878   return __a - __b;
1879 }
1880 
1881 __extension__ extern __inline float32x2_t
1882 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_f32(float32x2_t __a,float32x2_t __b)1883 vsub_f32 (float32x2_t __a, float32x2_t __b)
1884 {
1885 #ifdef __FAST_MATH__
1886   return __a - __b;
1887 #else
1888   return (float32x2_t) __builtin_neon_vsubv2sf (__a, __b);
1889 #endif
1890 }
1891 
1892 __extension__ extern __inline uint8x8_t
1893 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u8(uint8x8_t __a,uint8x8_t __b)1894 vsub_u8 (uint8x8_t __a, uint8x8_t __b)
1895 {
1896   return __a - __b;
1897 }
1898 
1899 __extension__ extern __inline uint16x4_t
1900 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u16(uint16x4_t __a,uint16x4_t __b)1901 vsub_u16 (uint16x4_t __a, uint16x4_t __b)
1902 {
1903   return __a - __b;
1904 }
1905 
1906 __extension__ extern __inline uint32x2_t
1907 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u32(uint32x2_t __a,uint32x2_t __b)1908 vsub_u32 (uint32x2_t __a, uint32x2_t __b)
1909 {
1910   return __a - __b;
1911 }
1912 
1913 __extension__ extern __inline int64x1_t
1914 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s64(int64x1_t __a,int64x1_t __b)1915 vsub_s64 (int64x1_t __a, int64x1_t __b)
1916 {
1917   return __a - __b;
1918 }
1919 
1920 __extension__ extern __inline uint64x1_t
1921 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u64(uint64x1_t __a,uint64x1_t __b)1922 vsub_u64 (uint64x1_t __a, uint64x1_t __b)
1923 {
1924   return __a - __b;
1925 }
1926 
1927 __extension__ extern __inline int8x16_t
1928 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s8(int8x16_t __a,int8x16_t __b)1929 vsubq_s8 (int8x16_t __a, int8x16_t __b)
1930 {
1931   return __a - __b;
1932 }
1933 
1934 __extension__ extern __inline int16x8_t
1935 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s16(int16x8_t __a,int16x8_t __b)1936 vsubq_s16 (int16x8_t __a, int16x8_t __b)
1937 {
1938   return __a - __b;
1939 }
1940 
1941 __extension__ extern __inline int32x4_t
1942 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s32(int32x4_t __a,int32x4_t __b)1943 vsubq_s32 (int32x4_t __a, int32x4_t __b)
1944 {
1945   return __a - __b;
1946 }
1947 
1948 __extension__ extern __inline int64x2_t
1949 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s64(int64x2_t __a,int64x2_t __b)1950 vsubq_s64 (int64x2_t __a, int64x2_t __b)
1951 {
1952   return __a - __b;
1953 }
1954 
1955 __extension__ extern __inline float32x4_t
1956 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_f32(float32x4_t __a,float32x4_t __b)1957 vsubq_f32 (float32x4_t __a, float32x4_t __b)
1958 {
1959 #ifdef __FAST_MATH__
1960   return __a - __b;
1961 #else
1962   return (float32x4_t) __builtin_neon_vsubv4sf (__a, __b);
1963 #endif
1964 }
1965 
1966 __extension__ extern __inline uint8x16_t
1967 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u8(uint8x16_t __a,uint8x16_t __b)1968 vsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1969 {
1970   return __a - __b;
1971 }
1972 
1973 __extension__ extern __inline uint16x8_t
1974 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u16(uint16x8_t __a,uint16x8_t __b)1975 vsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1976 {
1977   return __a - __b;
1978 }
1979 
1980 __extension__ extern __inline uint32x4_t
1981 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u32(uint32x4_t __a,uint32x4_t __b)1982 vsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1983 {
1984   return __a - __b;
1985 }
1986 
1987 __extension__ extern __inline uint64x2_t
1988 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u64(uint64x2_t __a,uint64x2_t __b)1989 vsubq_u64 (uint64x2_t __a, uint64x2_t __b)
1990 {
1991   return __a - __b;
1992 }
1993 
1994 __extension__ extern __inline int16x8_t
1995 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_s8(int8x8_t __a,int8x8_t __b)1996 vsubl_s8 (int8x8_t __a, int8x8_t __b)
1997 {
1998   return (int16x8_t)__builtin_neon_vsublsv8qi (__a, __b);
1999 }
2000 
2001 __extension__ extern __inline int32x4_t
2002 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_s16(int16x4_t __a,int16x4_t __b)2003 vsubl_s16 (int16x4_t __a, int16x4_t __b)
2004 {
2005   return (int32x4_t)__builtin_neon_vsublsv4hi (__a, __b);
2006 }
2007 
2008 __extension__ extern __inline int64x2_t
2009 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_s32(int32x2_t __a,int32x2_t __b)2010 vsubl_s32 (int32x2_t __a, int32x2_t __b)
2011 {
2012   return (int64x2_t)__builtin_neon_vsublsv2si (__a, __b);
2013 }
2014 
2015 __extension__ extern __inline uint16x8_t
2016 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_u8(uint8x8_t __a,uint8x8_t __b)2017 vsubl_u8 (uint8x8_t __a, uint8x8_t __b)
2018 {
2019   return (uint16x8_t)__builtin_neon_vsubluv8qi ((int8x8_t) __a, (int8x8_t) __b);
2020 }
2021 
2022 __extension__ extern __inline uint32x4_t
2023 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_u16(uint16x4_t __a,uint16x4_t __b)2024 vsubl_u16 (uint16x4_t __a, uint16x4_t __b)
2025 {
2026   return (uint32x4_t)__builtin_neon_vsubluv4hi ((int16x4_t) __a, (int16x4_t) __b);
2027 }
2028 
2029 __extension__ extern __inline uint64x2_t
2030 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_u32(uint32x2_t __a,uint32x2_t __b)2031 vsubl_u32 (uint32x2_t __a, uint32x2_t __b)
2032 {
2033   return (uint64x2_t)__builtin_neon_vsubluv2si ((int32x2_t) __a, (int32x2_t) __b);
2034 }
2035 
2036 __extension__ extern __inline int16x8_t
2037 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_s8(int16x8_t __a,int8x8_t __b)2038 vsubw_s8 (int16x8_t __a, int8x8_t __b)
2039 {
2040   return (int16x8_t)__builtin_neon_vsubwsv8qi (__a, __b);
2041 }
2042 
2043 __extension__ extern __inline int32x4_t
2044 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_s16(int32x4_t __a,int16x4_t __b)2045 vsubw_s16 (int32x4_t __a, int16x4_t __b)
2046 {
2047   return (int32x4_t)__builtin_neon_vsubwsv4hi (__a, __b);
2048 }
2049 
2050 __extension__ extern __inline int64x2_t
2051 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_s32(int64x2_t __a,int32x2_t __b)2052 vsubw_s32 (int64x2_t __a, int32x2_t __b)
2053 {
2054   return (int64x2_t)__builtin_neon_vsubwsv2si (__a, __b);
2055 }
2056 
2057 __extension__ extern __inline uint16x8_t
2058 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_u8(uint16x8_t __a,uint8x8_t __b)2059 vsubw_u8 (uint16x8_t __a, uint8x8_t __b)
2060 {
2061   return (uint16x8_t)__builtin_neon_vsubwuv8qi ((int16x8_t) __a, (int8x8_t) __b);
2062 }
2063 
2064 __extension__ extern __inline uint32x4_t
2065 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_u16(uint32x4_t __a,uint16x4_t __b)2066 vsubw_u16 (uint32x4_t __a, uint16x4_t __b)
2067 {
2068   return (uint32x4_t)__builtin_neon_vsubwuv4hi ((int32x4_t) __a, (int16x4_t) __b);
2069 }
2070 
2071 __extension__ extern __inline uint64x2_t
2072 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_u32(uint64x2_t __a,uint32x2_t __b)2073 vsubw_u32 (uint64x2_t __a, uint32x2_t __b)
2074 {
2075   return (uint64x2_t)__builtin_neon_vsubwuv2si ((int64x2_t) __a, (int32x2_t) __b);
2076 }
2077 
2078 __extension__ extern __inline int8x8_t
2079 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_s8(int8x8_t __a,int8x8_t __b)2080 vhsub_s8 (int8x8_t __a, int8x8_t __b)
2081 {
2082   return (int8x8_t)__builtin_neon_vhsubsv8qi (__a, __b);
2083 }
2084 
2085 __extension__ extern __inline int16x4_t
2086 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_s16(int16x4_t __a,int16x4_t __b)2087 vhsub_s16 (int16x4_t __a, int16x4_t __b)
2088 {
2089   return (int16x4_t)__builtin_neon_vhsubsv4hi (__a, __b);
2090 }
2091 
2092 __extension__ extern __inline int32x2_t
2093 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_s32(int32x2_t __a,int32x2_t __b)2094 vhsub_s32 (int32x2_t __a, int32x2_t __b)
2095 {
2096   return (int32x2_t)__builtin_neon_vhsubsv2si (__a, __b);
2097 }
2098 
2099 __extension__ extern __inline uint8x8_t
2100 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_u8(uint8x8_t __a,uint8x8_t __b)2101 vhsub_u8 (uint8x8_t __a, uint8x8_t __b)
2102 {
2103   return (uint8x8_t)__builtin_neon_vhsubuv8qi ((int8x8_t) __a, (int8x8_t) __b);
2104 }
2105 
2106 __extension__ extern __inline uint16x4_t
2107 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_u16(uint16x4_t __a,uint16x4_t __b)2108 vhsub_u16 (uint16x4_t __a, uint16x4_t __b)
2109 {
2110   return (uint16x4_t)__builtin_neon_vhsubuv4hi ((int16x4_t) __a, (int16x4_t) __b);
2111 }
2112 
2113 __extension__ extern __inline uint32x2_t
2114 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_u32(uint32x2_t __a,uint32x2_t __b)2115 vhsub_u32 (uint32x2_t __a, uint32x2_t __b)
2116 {
2117   return (uint32x2_t)__builtin_neon_vhsubuv2si ((int32x2_t) __a, (int32x2_t) __b);
2118 }
2119 
2120 __extension__ extern __inline int8x16_t
2121 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_s8(int8x16_t __a,int8x16_t __b)2122 vhsubq_s8 (int8x16_t __a, int8x16_t __b)
2123 {
2124   return (int8x16_t)__builtin_neon_vhsubsv16qi (__a, __b);
2125 }
2126 
2127 __extension__ extern __inline int16x8_t
2128 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_s16(int16x8_t __a,int16x8_t __b)2129 vhsubq_s16 (int16x8_t __a, int16x8_t __b)
2130 {
2131   return (int16x8_t)__builtin_neon_vhsubsv8hi (__a, __b);
2132 }
2133 
2134 __extension__ extern __inline int32x4_t
2135 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_s32(int32x4_t __a,int32x4_t __b)2136 vhsubq_s32 (int32x4_t __a, int32x4_t __b)
2137 {
2138   return (int32x4_t)__builtin_neon_vhsubsv4si (__a, __b);
2139 }
2140 
2141 __extension__ extern __inline uint8x16_t
2142 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_u8(uint8x16_t __a,uint8x16_t __b)2143 vhsubq_u8 (uint8x16_t __a, uint8x16_t __b)
2144 {
2145   return (uint8x16_t)__builtin_neon_vhsubuv16qi ((int8x16_t) __a, (int8x16_t) __b);
2146 }
2147 
2148 __extension__ extern __inline uint16x8_t
2149 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_u16(uint16x8_t __a,uint16x8_t __b)2150 vhsubq_u16 (uint16x8_t __a, uint16x8_t __b)
2151 {
2152   return (uint16x8_t)__builtin_neon_vhsubuv8hi ((int16x8_t) __a, (int16x8_t) __b);
2153 }
2154 
2155 __extension__ extern __inline uint32x4_t
2156 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_u32(uint32x4_t __a,uint32x4_t __b)2157 vhsubq_u32 (uint32x4_t __a, uint32x4_t __b)
2158 {
2159   return (uint32x4_t)__builtin_neon_vhsubuv4si ((int32x4_t) __a, (int32x4_t) __b);
2160 }
2161 
2162 __extension__ extern __inline int8x8_t
2163 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s8(int8x8_t __a,int8x8_t __b)2164 vqsub_s8 (int8x8_t __a, int8x8_t __b)
2165 {
2166   return (int8x8_t)__builtin_neon_vqsubsv8qi (__a, __b);
2167 }
2168 
2169 __extension__ extern __inline int16x4_t
2170 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s16(int16x4_t __a,int16x4_t __b)2171 vqsub_s16 (int16x4_t __a, int16x4_t __b)
2172 {
2173   return (int16x4_t)__builtin_neon_vqsubsv4hi (__a, __b);
2174 }
2175 
2176 __extension__ extern __inline int32x2_t
2177 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s32(int32x2_t __a,int32x2_t __b)2178 vqsub_s32 (int32x2_t __a, int32x2_t __b)
2179 {
2180   return (int32x2_t)__builtin_neon_vqsubsv2si (__a, __b);
2181 }
2182 
2183 __extension__ extern __inline int64x1_t
2184 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s64(int64x1_t __a,int64x1_t __b)2185 vqsub_s64 (int64x1_t __a, int64x1_t __b)
2186 {
2187   return (int64x1_t)__builtin_neon_vqsubsdi (__a, __b);
2188 }
2189 
2190 __extension__ extern __inline uint8x8_t
2191 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u8(uint8x8_t __a,uint8x8_t __b)2192 vqsub_u8 (uint8x8_t __a, uint8x8_t __b)
2193 {
2194   return (uint8x8_t)__builtin_neon_vqsubuv8qi ((int8x8_t) __a, (int8x8_t) __b);
2195 }
2196 
2197 __extension__ extern __inline uint16x4_t
2198 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u16(uint16x4_t __a,uint16x4_t __b)2199 vqsub_u16 (uint16x4_t __a, uint16x4_t __b)
2200 {
2201   return (uint16x4_t)__builtin_neon_vqsubuv4hi ((int16x4_t) __a, (int16x4_t) __b);
2202 }
2203 
2204 __extension__ extern __inline uint32x2_t
2205 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u32(uint32x2_t __a,uint32x2_t __b)2206 vqsub_u32 (uint32x2_t __a, uint32x2_t __b)
2207 {
2208   return (uint32x2_t)__builtin_neon_vqsubuv2si ((int32x2_t) __a, (int32x2_t) __b);
2209 }
2210 
2211 __extension__ extern __inline uint64x1_t
2212 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u64(uint64x1_t __a,uint64x1_t __b)2213 vqsub_u64 (uint64x1_t __a, uint64x1_t __b)
2214 {
2215   return (uint64x1_t)__builtin_neon_vqsubudi ((int64x1_t) __a, (int64x1_t) __b);
2216 }
2217 
2218 __extension__ extern __inline int8x16_t
2219 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s8(int8x16_t __a,int8x16_t __b)2220 vqsubq_s8 (int8x16_t __a, int8x16_t __b)
2221 {
2222   return (int8x16_t)__builtin_neon_vqsubsv16qi (__a, __b);
2223 }
2224 
2225 __extension__ extern __inline int16x8_t
2226 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s16(int16x8_t __a,int16x8_t __b)2227 vqsubq_s16 (int16x8_t __a, int16x8_t __b)
2228 {
2229   return (int16x8_t)__builtin_neon_vqsubsv8hi (__a, __b);
2230 }
2231 
2232 __extension__ extern __inline int32x4_t
2233 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s32(int32x4_t __a,int32x4_t __b)2234 vqsubq_s32 (int32x4_t __a, int32x4_t __b)
2235 {
2236   return (int32x4_t)__builtin_neon_vqsubsv4si (__a, __b);
2237 }
2238 
2239 __extension__ extern __inline int64x2_t
2240 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s64(int64x2_t __a,int64x2_t __b)2241 vqsubq_s64 (int64x2_t __a, int64x2_t __b)
2242 {
2243   return (int64x2_t)__builtin_neon_vqsubsv2di (__a, __b);
2244 }
2245 
2246 __extension__ extern __inline uint8x16_t
2247 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u8(uint8x16_t __a,uint8x16_t __b)2248 vqsubq_u8 (uint8x16_t __a, uint8x16_t __b)
2249 {
2250   return (uint8x16_t)__builtin_neon_vqsubuv16qi ((int8x16_t) __a, (int8x16_t) __b);
2251 }
2252 
2253 __extension__ extern __inline uint16x8_t
2254 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u16(uint16x8_t __a,uint16x8_t __b)2255 vqsubq_u16 (uint16x8_t __a, uint16x8_t __b)
2256 {
2257   return (uint16x8_t)__builtin_neon_vqsubuv8hi ((int16x8_t) __a, (int16x8_t) __b);
2258 }
2259 
2260 __extension__ extern __inline uint32x4_t
2261 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u32(uint32x4_t __a,uint32x4_t __b)2262 vqsubq_u32 (uint32x4_t __a, uint32x4_t __b)
2263 {
2264   return (uint32x4_t)__builtin_neon_vqsubuv4si ((int32x4_t) __a, (int32x4_t) __b);
2265 }
2266 
2267 __extension__ extern __inline uint64x2_t
2268 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u64(uint64x2_t __a,uint64x2_t __b)2269 vqsubq_u64 (uint64x2_t __a, uint64x2_t __b)
2270 {
2271   return (uint64x2_t)__builtin_neon_vqsubuv2di ((int64x2_t) __a, (int64x2_t) __b);
2272 }
2273 
2274 __extension__ extern __inline int8x8_t
2275 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_s16(int16x8_t __a,int16x8_t __b)2276 vsubhn_s16 (int16x8_t __a, int16x8_t __b)
2277 {
2278   return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b);
2279 }
2280 
2281 __extension__ extern __inline int16x4_t
2282 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_s32(int32x4_t __a,int32x4_t __b)2283 vsubhn_s32 (int32x4_t __a, int32x4_t __b)
2284 {
2285   return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b);
2286 }
2287 
2288 __extension__ extern __inline int32x2_t
2289 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_s64(int64x2_t __a,int64x2_t __b)2290 vsubhn_s64 (int64x2_t __a, int64x2_t __b)
2291 {
2292   return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b);
2293 }
2294 
2295 __extension__ extern __inline uint8x8_t
2296 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_u16(uint16x8_t __a,uint16x8_t __b)2297 vsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
2298 {
2299   return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b);
2300 }
2301 
2302 __extension__ extern __inline uint16x4_t
2303 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_u32(uint32x4_t __a,uint32x4_t __b)2304 vsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
2305 {
2306   return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b);
2307 }
2308 
2309 __extension__ extern __inline uint32x2_t
2310 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_u64(uint64x2_t __a,uint64x2_t __b)2311 vsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
2312 {
2313   return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b);
2314 }
2315 
2316 __extension__ extern __inline int8x8_t
2317 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_s16(int16x8_t __a,int16x8_t __b)2318 vrsubhn_s16 (int16x8_t __a, int16x8_t __b)
2319 {
2320   return (int8x8_t)__builtin_neon_vrsubhnv8hi (__a, __b);
2321 }
2322 
2323 __extension__ extern __inline int16x4_t
2324 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_s32(int32x4_t __a,int32x4_t __b)2325 vrsubhn_s32 (int32x4_t __a, int32x4_t __b)
2326 {
2327   return (int16x4_t)__builtin_neon_vrsubhnv4si (__a, __b);
2328 }
2329 
2330 __extension__ extern __inline int32x2_t
2331 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_s64(int64x2_t __a,int64x2_t __b)2332 vrsubhn_s64 (int64x2_t __a, int64x2_t __b)
2333 {
2334   return (int32x2_t)__builtin_neon_vrsubhnv2di (__a, __b);
2335 }
2336 
2337 __extension__ extern __inline uint8x8_t
2338 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_u16(uint16x8_t __a,uint16x8_t __b)2339 vrsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
2340 {
2341   return (uint8x8_t)__builtin_neon_vrsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b);
2342 }
2343 
2344 __extension__ extern __inline uint16x4_t
2345 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_u32(uint32x4_t __a,uint32x4_t __b)2346 vrsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
2347 {
2348   return (uint16x4_t)__builtin_neon_vrsubhnv4si ((int32x4_t) __a, (int32x4_t) __b);
2349 }
2350 
2351 __extension__ extern __inline uint32x2_t
2352 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_u64(uint64x2_t __a,uint64x2_t __b)2353 vrsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
2354 {
2355   return (uint32x2_t)__builtin_neon_vrsubhnv2di ((int64x2_t) __a, (int64x2_t) __b);
2356 }
2357 
2358 __extension__ extern __inline uint8x8_t
2359 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s8(int8x8_t __a,int8x8_t __b)2360 vceq_s8 (int8x8_t __a, int8x8_t __b)
2361 {
2362   return (uint8x8_t)__builtin_neon_vceqv8qi (__a, __b);
2363 }
2364 
2365 __extension__ extern __inline uint16x4_t
2366 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s16(int16x4_t __a,int16x4_t __b)2367 vceq_s16 (int16x4_t __a, int16x4_t __b)
2368 {
2369   return (uint16x4_t)__builtin_neon_vceqv4hi (__a, __b);
2370 }
2371 
2372 __extension__ extern __inline uint32x2_t
2373 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s32(int32x2_t __a,int32x2_t __b)2374 vceq_s32 (int32x2_t __a, int32x2_t __b)
2375 {
2376   return (uint32x2_t)__builtin_neon_vceqv2si (__a, __b);
2377 }
2378 
2379 __extension__ extern __inline uint32x2_t
2380 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_f32(float32x2_t __a,float32x2_t __b)2381 vceq_f32 (float32x2_t __a, float32x2_t __b)
2382 {
2383   return (uint32x2_t)__builtin_neon_vceqv2sf (__a, __b);
2384 }
2385 
2386 __extension__ extern __inline uint8x8_t
2387 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u8(uint8x8_t __a,uint8x8_t __b)2388 vceq_u8 (uint8x8_t __a, uint8x8_t __b)
2389 {
2390   return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b);
2391 }
2392 
2393 __extension__ extern __inline uint16x4_t
2394 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u16(uint16x4_t __a,uint16x4_t __b)2395 vceq_u16 (uint16x4_t __a, uint16x4_t __b)
2396 {
2397   return (uint16x4_t)__builtin_neon_vceqv4hi ((int16x4_t) __a, (int16x4_t) __b);
2398 }
2399 
2400 __extension__ extern __inline uint32x2_t
2401 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u32(uint32x2_t __a,uint32x2_t __b)2402 vceq_u32 (uint32x2_t __a, uint32x2_t __b)
2403 {
2404   return (uint32x2_t)__builtin_neon_vceqv2si ((int32x2_t) __a, (int32x2_t) __b);
2405 }
2406 
2407 __extension__ extern __inline uint8x8_t
2408 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_p8(poly8x8_t __a,poly8x8_t __b)2409 vceq_p8 (poly8x8_t __a, poly8x8_t __b)
2410 {
2411   return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b);
2412 }
2413 
2414 __extension__ extern __inline uint8x16_t
2415 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s8(int8x16_t __a,int8x16_t __b)2416 vceqq_s8 (int8x16_t __a, int8x16_t __b)
2417 {
2418   return (uint8x16_t)__builtin_neon_vceqv16qi (__a, __b);
2419 }
2420 
2421 __extension__ extern __inline uint16x8_t
2422 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s16(int16x8_t __a,int16x8_t __b)2423 vceqq_s16 (int16x8_t __a, int16x8_t __b)
2424 {
2425   return (uint16x8_t)__builtin_neon_vceqv8hi (__a, __b);
2426 }
2427 
2428 __extension__ extern __inline uint32x4_t
2429 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s32(int32x4_t __a,int32x4_t __b)2430 vceqq_s32 (int32x4_t __a, int32x4_t __b)
2431 {
2432   return (uint32x4_t)__builtin_neon_vceqv4si (__a, __b);
2433 }
2434 
2435 __extension__ extern __inline uint32x4_t
2436 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_f32(float32x4_t __a,float32x4_t __b)2437 vceqq_f32 (float32x4_t __a, float32x4_t __b)
2438 {
2439   return (uint32x4_t)__builtin_neon_vceqv4sf (__a, __b);
2440 }
2441 
2442 __extension__ extern __inline uint8x16_t
2443 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u8(uint8x16_t __a,uint8x16_t __b)2444 vceqq_u8 (uint8x16_t __a, uint8x16_t __b)
2445 {
2446   return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b);
2447 }
2448 
2449 __extension__ extern __inline uint16x8_t
2450 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u16(uint16x8_t __a,uint16x8_t __b)2451 vceqq_u16 (uint16x8_t __a, uint16x8_t __b)
2452 {
2453   return (uint16x8_t)__builtin_neon_vceqv8hi ((int16x8_t) __a, (int16x8_t) __b);
2454 }
2455 
2456 __extension__ extern __inline uint32x4_t
2457 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u32(uint32x4_t __a,uint32x4_t __b)2458 vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
2459 {
2460   return (uint32x4_t)__builtin_neon_vceqv4si ((int32x4_t) __a, (int32x4_t) __b);
2461 }
2462 
2463 __extension__ extern __inline uint8x16_t
2464 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_p8(poly8x16_t __a,poly8x16_t __b)2465 vceqq_p8 (poly8x16_t __a, poly8x16_t __b)
2466 {
2467   return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b);
2468 }
2469 
2470 __extension__ extern __inline uint8x8_t
2471 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s8(int8x8_t __a,int8x8_t __b)2472 vcge_s8 (int8x8_t __a, int8x8_t __b)
2473 {
2474   return (uint8x8_t)__builtin_neon_vcgev8qi (__a, __b);
2475 }
2476 
2477 __extension__ extern __inline uint16x4_t
2478 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s16(int16x4_t __a,int16x4_t __b)2479 vcge_s16 (int16x4_t __a, int16x4_t __b)
2480 {
2481   return (uint16x4_t)__builtin_neon_vcgev4hi (__a, __b);
2482 }
2483 
2484 __extension__ extern __inline uint32x2_t
2485 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s32(int32x2_t __a,int32x2_t __b)2486 vcge_s32 (int32x2_t __a, int32x2_t __b)
2487 {
2488   return (uint32x2_t)__builtin_neon_vcgev2si (__a, __b);
2489 }
2490 
2491 __extension__ extern __inline uint32x2_t
2492 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_f32(float32x2_t __a,float32x2_t __b)2493 vcge_f32 (float32x2_t __a, float32x2_t __b)
2494 {
2495   return (uint32x2_t)__builtin_neon_vcgev2sf (__a, __b);
2496 }
2497 
2498 __extension__ extern __inline uint8x8_t
2499 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u8(uint8x8_t __a,uint8x8_t __b)2500 vcge_u8 (uint8x8_t __a, uint8x8_t __b)
2501 {
2502   return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __a, (int8x8_t) __b);
2503 }
2504 
2505 __extension__ extern __inline uint16x4_t
2506 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u16(uint16x4_t __a,uint16x4_t __b)2507 vcge_u16 (uint16x4_t __a, uint16x4_t __b)
2508 {
2509   return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __a, (int16x4_t) __b);
2510 }
2511 
2512 __extension__ extern __inline uint32x2_t
2513 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u32(uint32x2_t __a,uint32x2_t __b)2514 vcge_u32 (uint32x2_t __a, uint32x2_t __b)
2515 {
2516   return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __a, (int32x2_t) __b);
2517 }
2518 
2519 __extension__ extern __inline uint8x16_t
2520 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s8(int8x16_t __a,int8x16_t __b)2521 vcgeq_s8 (int8x16_t __a, int8x16_t __b)
2522 {
2523   return (uint8x16_t)__builtin_neon_vcgev16qi (__a, __b);
2524 }
2525 
2526 __extension__ extern __inline uint16x8_t
2527 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s16(int16x8_t __a,int16x8_t __b)2528 vcgeq_s16 (int16x8_t __a, int16x8_t __b)
2529 {
2530   return (uint16x8_t)__builtin_neon_vcgev8hi (__a, __b);
2531 }
2532 
2533 __extension__ extern __inline uint32x4_t
2534 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s32(int32x4_t __a,int32x4_t __b)2535 vcgeq_s32 (int32x4_t __a, int32x4_t __b)
2536 {
2537   return (uint32x4_t)__builtin_neon_vcgev4si (__a, __b);
2538 }
2539 
2540 __extension__ extern __inline uint32x4_t
2541 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_f32(float32x4_t __a,float32x4_t __b)2542 vcgeq_f32 (float32x4_t __a, float32x4_t __b)
2543 {
2544   return (uint32x4_t)__builtin_neon_vcgev4sf (__a, __b);
2545 }
2546 
2547 __extension__ extern __inline uint8x16_t
2548 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u8(uint8x16_t __a,uint8x16_t __b)2549 vcgeq_u8 (uint8x16_t __a, uint8x16_t __b)
2550 {
2551   return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __a, (int8x16_t) __b);
2552 }
2553 
2554 __extension__ extern __inline uint16x8_t
2555 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u16(uint16x8_t __a,uint16x8_t __b)2556 vcgeq_u16 (uint16x8_t __a, uint16x8_t __b)
2557 {
2558   return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __a, (int16x8_t) __b);
2559 }
2560 
2561 __extension__ extern __inline uint32x4_t
2562 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u32(uint32x4_t __a,uint32x4_t __b)2563 vcgeq_u32 (uint32x4_t __a, uint32x4_t __b)
2564 {
2565   return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __a, (int32x4_t) __b);
2566 }
2567 
2568 __extension__ extern __inline uint8x8_t
2569 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s8(int8x8_t __a,int8x8_t __b)2570 vcle_s8 (int8x8_t __a, int8x8_t __b)
2571 {
2572   return (uint8x8_t)__builtin_neon_vcgev8qi (__b, __a);
2573 }
2574 
2575 __extension__ extern __inline uint16x4_t
2576 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s16(int16x4_t __a,int16x4_t __b)2577 vcle_s16 (int16x4_t __a, int16x4_t __b)
2578 {
2579   return (uint16x4_t)__builtin_neon_vcgev4hi (__b, __a);
2580 }
2581 
2582 __extension__ extern __inline uint32x2_t
2583 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s32(int32x2_t __a,int32x2_t __b)2584 vcle_s32 (int32x2_t __a, int32x2_t __b)
2585 {
2586   return (uint32x2_t)__builtin_neon_vcgev2si (__b, __a);
2587 }
2588 
2589 __extension__ extern __inline uint32x2_t
2590 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_f32(float32x2_t __a,float32x2_t __b)2591 vcle_f32 (float32x2_t __a, float32x2_t __b)
2592 {
2593   return (uint32x2_t)__builtin_neon_vcgev2sf (__b, __a);
2594 }
2595 
2596 __extension__ extern __inline uint8x8_t
2597 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u8(uint8x8_t __a,uint8x8_t __b)2598 vcle_u8 (uint8x8_t __a, uint8x8_t __b)
2599 {
2600   return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __b, (int8x8_t) __a);
2601 }
2602 
2603 __extension__ extern __inline uint16x4_t
2604 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u16(uint16x4_t __a,uint16x4_t __b)2605 vcle_u16 (uint16x4_t __a, uint16x4_t __b)
2606 {
2607   return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __b, (int16x4_t) __a);
2608 }
2609 
2610 __extension__ extern __inline uint32x2_t
2611 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u32(uint32x2_t __a,uint32x2_t __b)2612 vcle_u32 (uint32x2_t __a, uint32x2_t __b)
2613 {
2614   return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __b, (int32x2_t) __a);
2615 }
2616 
2617 __extension__ extern __inline uint8x16_t
2618 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s8(int8x16_t __a,int8x16_t __b)2619 vcleq_s8 (int8x16_t __a, int8x16_t __b)
2620 {
2621   return (uint8x16_t)__builtin_neon_vcgev16qi (__b, __a);
2622 }
2623 
2624 __extension__ extern __inline uint16x8_t
2625 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s16(int16x8_t __a,int16x8_t __b)2626 vcleq_s16 (int16x8_t __a, int16x8_t __b)
2627 {
2628   return (uint16x8_t)__builtin_neon_vcgev8hi (__b, __a);
2629 }
2630 
2631 __extension__ extern __inline uint32x4_t
2632 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s32(int32x4_t __a,int32x4_t __b)2633 vcleq_s32 (int32x4_t __a, int32x4_t __b)
2634 {
2635   return (uint32x4_t)__builtin_neon_vcgev4si (__b, __a);
2636 }
2637 
2638 __extension__ extern __inline uint32x4_t
2639 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_f32(float32x4_t __a,float32x4_t __b)2640 vcleq_f32 (float32x4_t __a, float32x4_t __b)
2641 {
2642   return (uint32x4_t)__builtin_neon_vcgev4sf (__b, __a);
2643 }
2644 
2645 __extension__ extern __inline uint8x16_t
2646 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u8(uint8x16_t __a,uint8x16_t __b)2647 vcleq_u8 (uint8x16_t __a, uint8x16_t __b)
2648 {
2649   return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __b, (int8x16_t) __a);
2650 }
2651 
2652 __extension__ extern __inline uint16x8_t
2653 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u16(uint16x8_t __a,uint16x8_t __b)2654 vcleq_u16 (uint16x8_t __a, uint16x8_t __b)
2655 {
2656   return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __b, (int16x8_t) __a);
2657 }
2658 
2659 __extension__ extern __inline uint32x4_t
2660 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u32(uint32x4_t __a,uint32x4_t __b)2661 vcleq_u32 (uint32x4_t __a, uint32x4_t __b)
2662 {
2663   return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __b, (int32x4_t) __a);
2664 }
2665 
2666 __extension__ extern __inline uint8x8_t
2667 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s8(int8x8_t __a,int8x8_t __b)2668 vcgt_s8 (int8x8_t __a, int8x8_t __b)
2669 {
2670   return (uint8x8_t)__builtin_neon_vcgtv8qi (__a, __b);
2671 }
2672 
2673 __extension__ extern __inline uint16x4_t
2674 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s16(int16x4_t __a,int16x4_t __b)2675 vcgt_s16 (int16x4_t __a, int16x4_t __b)
2676 {
2677   return (uint16x4_t)__builtin_neon_vcgtv4hi (__a, __b);
2678 }
2679 
2680 __extension__ extern __inline uint32x2_t
2681 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s32(int32x2_t __a,int32x2_t __b)2682 vcgt_s32 (int32x2_t __a, int32x2_t __b)
2683 {
2684   return (uint32x2_t)__builtin_neon_vcgtv2si (__a, __b);
2685 }
2686 
2687 __extension__ extern __inline uint32x2_t
2688 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_f32(float32x2_t __a,float32x2_t __b)2689 vcgt_f32 (float32x2_t __a, float32x2_t __b)
2690 {
2691   return (uint32x2_t)__builtin_neon_vcgtv2sf (__a, __b);
2692 }
2693 
2694 __extension__ extern __inline uint8x8_t
2695 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u8(uint8x8_t __a,uint8x8_t __b)2696 vcgt_u8 (uint8x8_t __a, uint8x8_t __b)
2697 {
2698   return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __a, (int8x8_t) __b);
2699 }
2700 
2701 __extension__ extern __inline uint16x4_t
2702 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u16(uint16x4_t __a,uint16x4_t __b)2703 vcgt_u16 (uint16x4_t __a, uint16x4_t __b)
2704 {
2705   return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __a, (int16x4_t) __b);
2706 }
2707 
2708 __extension__ extern __inline uint32x2_t
2709 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u32(uint32x2_t __a,uint32x2_t __b)2710 vcgt_u32 (uint32x2_t __a, uint32x2_t __b)
2711 {
2712   return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __a, (int32x2_t) __b);
2713 }
2714 
2715 __extension__ extern __inline uint8x16_t
2716 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s8(int8x16_t __a,int8x16_t __b)2717 vcgtq_s8 (int8x16_t __a, int8x16_t __b)
2718 {
2719   return (uint8x16_t)__builtin_neon_vcgtv16qi (__a, __b);
2720 }
2721 
2722 __extension__ extern __inline uint16x8_t
2723 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s16(int16x8_t __a,int16x8_t __b)2724 vcgtq_s16 (int16x8_t __a, int16x8_t __b)
2725 {
2726   return (uint16x8_t)__builtin_neon_vcgtv8hi (__a, __b);
2727 }
2728 
2729 __extension__ extern __inline uint32x4_t
2730 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s32(int32x4_t __a,int32x4_t __b)2731 vcgtq_s32 (int32x4_t __a, int32x4_t __b)
2732 {
2733   return (uint32x4_t)__builtin_neon_vcgtv4si (__a, __b);
2734 }
2735 
2736 __extension__ extern __inline uint32x4_t
2737 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_f32(float32x4_t __a,float32x4_t __b)2738 vcgtq_f32 (float32x4_t __a, float32x4_t __b)
2739 {
2740   return (uint32x4_t)__builtin_neon_vcgtv4sf (__a, __b);
2741 }
2742 
2743 __extension__ extern __inline uint8x16_t
2744 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u8(uint8x16_t __a,uint8x16_t __b)2745 vcgtq_u8 (uint8x16_t __a, uint8x16_t __b)
2746 {
2747   return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __a, (int8x16_t) __b);
2748 }
2749 
2750 __extension__ extern __inline uint16x8_t
2751 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u16(uint16x8_t __a,uint16x8_t __b)2752 vcgtq_u16 (uint16x8_t __a, uint16x8_t __b)
2753 {
2754   return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __a, (int16x8_t) __b);
2755 }
2756 
2757 __extension__ extern __inline uint32x4_t
2758 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u32(uint32x4_t __a,uint32x4_t __b)2759 vcgtq_u32 (uint32x4_t __a, uint32x4_t __b)
2760 {
2761   return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __a, (int32x4_t) __b);
2762 }
2763 
2764 __extension__ extern __inline uint8x8_t
2765 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s8(int8x8_t __a,int8x8_t __b)2766 vclt_s8 (int8x8_t __a, int8x8_t __b)
2767 {
2768   return (uint8x8_t)__builtin_neon_vcgtv8qi (__b, __a);
2769 }
2770 
2771 __extension__ extern __inline uint16x4_t
2772 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s16(int16x4_t __a,int16x4_t __b)2773 vclt_s16 (int16x4_t __a, int16x4_t __b)
2774 {
2775   return (uint16x4_t)__builtin_neon_vcgtv4hi (__b, __a);
2776 }
2777 
2778 __extension__ extern __inline uint32x2_t
2779 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s32(int32x2_t __a,int32x2_t __b)2780 vclt_s32 (int32x2_t __a, int32x2_t __b)
2781 {
2782   return (uint32x2_t)__builtin_neon_vcgtv2si (__b, __a);
2783 }
2784 
2785 __extension__ extern __inline uint32x2_t
2786 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_f32(float32x2_t __a,float32x2_t __b)2787 vclt_f32 (float32x2_t __a, float32x2_t __b)
2788 {
2789   return (uint32x2_t)__builtin_neon_vcgtv2sf (__b, __a);
2790 }
2791 
2792 __extension__ extern __inline uint8x8_t
2793 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u8(uint8x8_t __a,uint8x8_t __b)2794 vclt_u8 (uint8x8_t __a, uint8x8_t __b)
2795 {
2796   return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __b, (int8x8_t) __a);
2797 }
2798 
2799 __extension__ extern __inline uint16x4_t
2800 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u16(uint16x4_t __a,uint16x4_t __b)2801 vclt_u16 (uint16x4_t __a, uint16x4_t __b)
2802 {
2803   return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __b, (int16x4_t) __a);
2804 }
2805 
2806 __extension__ extern __inline uint32x2_t
2807 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u32(uint32x2_t __a,uint32x2_t __b)2808 vclt_u32 (uint32x2_t __a, uint32x2_t __b)
2809 {
2810   return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __b, (int32x2_t) __a);
2811 }
2812 
2813 __extension__ extern __inline uint8x16_t
2814 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s8(int8x16_t __a,int8x16_t __b)2815 vcltq_s8 (int8x16_t __a, int8x16_t __b)
2816 {
2817   return (uint8x16_t)__builtin_neon_vcgtv16qi (__b, __a);
2818 }
2819 
2820 __extension__ extern __inline uint16x8_t
2821 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s16(int16x8_t __a,int16x8_t __b)2822 vcltq_s16 (int16x8_t __a, int16x8_t __b)
2823 {
2824   return (uint16x8_t)__builtin_neon_vcgtv8hi (__b, __a);
2825 }
2826 
2827 __extension__ extern __inline uint32x4_t
2828 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s32(int32x4_t __a,int32x4_t __b)2829 vcltq_s32 (int32x4_t __a, int32x4_t __b)
2830 {
2831   return (uint32x4_t)__builtin_neon_vcgtv4si (__b, __a);
2832 }
2833 
2834 __extension__ extern __inline uint32x4_t
2835 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_f32(float32x4_t __a,float32x4_t __b)2836 vcltq_f32 (float32x4_t __a, float32x4_t __b)
2837 {
2838   return (uint32x4_t)__builtin_neon_vcgtv4sf (__b, __a);
2839 }
2840 
2841 __extension__ extern __inline uint8x16_t
2842 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u8(uint8x16_t __a,uint8x16_t __b)2843 vcltq_u8 (uint8x16_t __a, uint8x16_t __b)
2844 {
2845   return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __b, (int8x16_t) __a);
2846 }
2847 
2848 __extension__ extern __inline uint16x8_t
2849 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u16(uint16x8_t __a,uint16x8_t __b)2850 vcltq_u16 (uint16x8_t __a, uint16x8_t __b)
2851 {
2852   return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __b, (int16x8_t) __a);
2853 }
2854 
2855 __extension__ extern __inline uint32x4_t
2856 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u32(uint32x4_t __a,uint32x4_t __b)2857 vcltq_u32 (uint32x4_t __a, uint32x4_t __b)
2858 {
2859   return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __b, (int32x4_t) __a);
2860 }
2861 
2862 __extension__ extern __inline uint32x2_t
2863 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcage_f32(float32x2_t __a,float32x2_t __b)2864 vcage_f32 (float32x2_t __a, float32x2_t __b)
2865 {
2866   return (uint32x2_t)__builtin_neon_vcagev2sf (__a, __b);
2867 }
2868 
2869 __extension__ extern __inline uint32x4_t
2870 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcageq_f32(float32x4_t __a,float32x4_t __b)2871 vcageq_f32 (float32x4_t __a, float32x4_t __b)
2872 {
2873   return (uint32x4_t)__builtin_neon_vcagev4sf (__a, __b);
2874 }
2875 
2876 __extension__ extern __inline uint32x2_t
2877 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcale_f32(float32x2_t __a,float32x2_t __b)2878 vcale_f32 (float32x2_t __a, float32x2_t __b)
2879 {
2880   return (uint32x2_t)__builtin_neon_vcagev2sf (__b, __a);
2881 }
2882 
2883 __extension__ extern __inline uint32x4_t
2884 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcaleq_f32(float32x4_t __a,float32x4_t __b)2885 vcaleq_f32 (float32x4_t __a, float32x4_t __b)
2886 {
2887   return (uint32x4_t)__builtin_neon_vcagev4sf (__b, __a);
2888 }
2889 
2890 __extension__ extern __inline uint32x2_t
2891 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcagt_f32(float32x2_t __a,float32x2_t __b)2892 vcagt_f32 (float32x2_t __a, float32x2_t __b)
2893 {
2894   return (uint32x2_t)__builtin_neon_vcagtv2sf (__a, __b);
2895 }
2896 
2897 __extension__ extern __inline uint32x4_t
2898 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcagtq_f32(float32x4_t __a,float32x4_t __b)2899 vcagtq_f32 (float32x4_t __a, float32x4_t __b)
2900 {
2901   return (uint32x4_t)__builtin_neon_vcagtv4sf (__a, __b);
2902 }
2903 
2904 __extension__ extern __inline uint32x2_t
2905 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcalt_f32(float32x2_t __a,float32x2_t __b)2906 vcalt_f32 (float32x2_t __a, float32x2_t __b)
2907 {
2908   return (uint32x2_t)__builtin_neon_vcagtv2sf (__b, __a);
2909 }
2910 
2911 __extension__ extern __inline uint32x4_t
2912 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcaltq_f32(float32x4_t __a,float32x4_t __b)2913 vcaltq_f32 (float32x4_t __a, float32x4_t __b)
2914 {
2915   return (uint32x4_t)__builtin_neon_vcagtv4sf (__b, __a);
2916 }
2917 
2918 __extension__ extern __inline uint8x8_t
2919 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s8(int8x8_t __a,int8x8_t __b)2920 vtst_s8 (int8x8_t __a, int8x8_t __b)
2921 {
2922   return (uint8x8_t)__builtin_neon_vtstv8qi (__a, __b);
2923 }
2924 
2925 __extension__ extern __inline uint16x4_t
2926 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s16(int16x4_t __a,int16x4_t __b)2927 vtst_s16 (int16x4_t __a, int16x4_t __b)
2928 {
2929   return (uint16x4_t)__builtin_neon_vtstv4hi (__a, __b);
2930 }
2931 
2932 __extension__ extern __inline uint32x2_t
2933 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s32(int32x2_t __a,int32x2_t __b)2934 vtst_s32 (int32x2_t __a, int32x2_t __b)
2935 {
2936   return (uint32x2_t)__builtin_neon_vtstv2si (__a, __b);
2937 }
2938 
2939 __extension__ extern __inline uint8x8_t
2940 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u8(uint8x8_t __a,uint8x8_t __b)2941 vtst_u8 (uint8x8_t __a, uint8x8_t __b)
2942 {
2943   return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b);
2944 }
2945 
2946 __extension__ extern __inline uint16x4_t
2947 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u16(uint16x4_t __a,uint16x4_t __b)2948 vtst_u16 (uint16x4_t __a, uint16x4_t __b)
2949 {
2950   return (uint16x4_t)__builtin_neon_vtstv4hi ((int16x4_t) __a, (int16x4_t) __b);
2951 }
2952 
2953 __extension__ extern __inline uint32x2_t
2954 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u32(uint32x2_t __a,uint32x2_t __b)2955 vtst_u32 (uint32x2_t __a, uint32x2_t __b)
2956 {
2957   return (uint32x2_t)__builtin_neon_vtstv2si ((int32x2_t) __a, (int32x2_t) __b);
2958 }
2959 
2960 __extension__ extern __inline uint8x8_t
2961 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p8(poly8x8_t __a,poly8x8_t __b)2962 vtst_p8 (poly8x8_t __a, poly8x8_t __b)
2963 {
2964   return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b);
2965 }
2966 
2967 __extension__ extern __inline uint16x4_t
2968 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p16(poly16x4_t __a,poly16x4_t __b)2969 vtst_p16 (poly16x4_t __a, poly16x4_t __b)
2970 {
2971   return (uint16x4_t)__builtin_neon_vtstv4hi ((int16x4_t) __a, (int16x4_t) __b);
2972 }
2973 
2974 __extension__ extern __inline uint8x16_t
2975 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s8(int8x16_t __a,int8x16_t __b)2976 vtstq_s8 (int8x16_t __a, int8x16_t __b)
2977 {
2978   return (uint8x16_t)__builtin_neon_vtstv16qi (__a, __b);
2979 }
2980 
2981 __extension__ extern __inline uint16x8_t
2982 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s16(int16x8_t __a,int16x8_t __b)2983 vtstq_s16 (int16x8_t __a, int16x8_t __b)
2984 {
2985   return (uint16x8_t)__builtin_neon_vtstv8hi (__a, __b);
2986 }
2987 
2988 __extension__ extern __inline uint32x4_t
2989 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s32(int32x4_t __a,int32x4_t __b)2990 vtstq_s32 (int32x4_t __a, int32x4_t __b)
2991 {
2992   return (uint32x4_t)__builtin_neon_vtstv4si (__a, __b);
2993 }
2994 
2995 __extension__ extern __inline uint8x16_t
2996 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u8(uint8x16_t __a,uint8x16_t __b)2997 vtstq_u8 (uint8x16_t __a, uint8x16_t __b)
2998 {
2999   return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b);
3000 }
3001 
3002 __extension__ extern __inline uint16x8_t
3003 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u16(uint16x8_t __a,uint16x8_t __b)3004 vtstq_u16 (uint16x8_t __a, uint16x8_t __b)
3005 {
3006   return (uint16x8_t)__builtin_neon_vtstv8hi ((int16x8_t) __a, (int16x8_t) __b);
3007 }
3008 
3009 __extension__ extern __inline uint32x4_t
3010 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u32(uint32x4_t __a,uint32x4_t __b)3011 vtstq_u32 (uint32x4_t __a, uint32x4_t __b)
3012 {
3013   return (uint32x4_t)__builtin_neon_vtstv4si ((int32x4_t) __a, (int32x4_t) __b);
3014 }
3015 
3016 __extension__ extern __inline uint8x16_t
3017 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_p8(poly8x16_t __a,poly8x16_t __b)3018 vtstq_p8 (poly8x16_t __a, poly8x16_t __b)
3019 {
3020   return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b);
3021 }
3022 
3023 __extension__ extern __inline uint16x8_t
3024 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_p16(poly16x8_t __a,poly16x8_t __b)3025 vtstq_p16 (poly16x8_t __a, poly16x8_t __b)
3026 {
3027   return (uint16x8_t)__builtin_neon_vtstv8hi ((int16x8_t) __a, (int16x8_t) __b);
3028 }
3029 
3030 __extension__ extern __inline int8x8_t
3031 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s8(int8x8_t __a,int8x8_t __b)3032 vabd_s8 (int8x8_t __a, int8x8_t __b)
3033 {
3034   return (int8x8_t)__builtin_neon_vabdsv8qi (__a, __b);
3035 }
3036 
3037 __extension__ extern __inline int16x4_t
3038 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s16(int16x4_t __a,int16x4_t __b)3039 vabd_s16 (int16x4_t __a, int16x4_t __b)
3040 {
3041   return (int16x4_t)__builtin_neon_vabdsv4hi (__a, __b);
3042 }
3043 
3044 __extension__ extern __inline int32x2_t
3045 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s32(int32x2_t __a,int32x2_t __b)3046 vabd_s32 (int32x2_t __a, int32x2_t __b)
3047 {
3048   return (int32x2_t)__builtin_neon_vabdsv2si (__a, __b);
3049 }
3050 
3051 __extension__ extern __inline float32x2_t
3052 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_f32(float32x2_t __a,float32x2_t __b)3053 vabd_f32 (float32x2_t __a, float32x2_t __b)
3054 {
3055   return (float32x2_t)__builtin_neon_vabdfv2sf (__a, __b);
3056 }
3057 
3058 __extension__ extern __inline uint8x8_t
3059 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u8(uint8x8_t __a,uint8x8_t __b)3060 vabd_u8 (uint8x8_t __a, uint8x8_t __b)
3061 {
3062   return (uint8x8_t)__builtin_neon_vabduv8qi ((int8x8_t) __a, (int8x8_t) __b);
3063 }
3064 
3065 __extension__ extern __inline uint16x4_t
3066 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u16(uint16x4_t __a,uint16x4_t __b)3067 vabd_u16 (uint16x4_t __a, uint16x4_t __b)
3068 {
3069   return (uint16x4_t)__builtin_neon_vabduv4hi ((int16x4_t) __a, (int16x4_t) __b);
3070 }
3071 
3072 __extension__ extern __inline uint32x2_t
3073 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u32(uint32x2_t __a,uint32x2_t __b)3074 vabd_u32 (uint32x2_t __a, uint32x2_t __b)
3075 {
3076   return (uint32x2_t)__builtin_neon_vabduv2si ((int32x2_t) __a, (int32x2_t) __b);
3077 }
3078 
3079 __extension__ extern __inline int8x16_t
3080 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s8(int8x16_t __a,int8x16_t __b)3081 vabdq_s8 (int8x16_t __a, int8x16_t __b)
3082 {
3083   return (int8x16_t)__builtin_neon_vabdsv16qi (__a, __b);
3084 }
3085 
3086 __extension__ extern __inline int16x8_t
3087 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s16(int16x8_t __a,int16x8_t __b)3088 vabdq_s16 (int16x8_t __a, int16x8_t __b)
3089 {
3090   return (int16x8_t)__builtin_neon_vabdsv8hi (__a, __b);
3091 }
3092 
3093 __extension__ extern __inline int32x4_t
3094 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s32(int32x4_t __a,int32x4_t __b)3095 vabdq_s32 (int32x4_t __a, int32x4_t __b)
3096 {
3097   return (int32x4_t)__builtin_neon_vabdsv4si (__a, __b);
3098 }
3099 
3100 __extension__ extern __inline float32x4_t
3101 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_f32(float32x4_t __a,float32x4_t __b)3102 vabdq_f32 (float32x4_t __a, float32x4_t __b)
3103 {
3104   return (float32x4_t)__builtin_neon_vabdfv4sf (__a, __b);
3105 }
3106 
3107 __extension__ extern __inline uint8x16_t
3108 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u8(uint8x16_t __a,uint8x16_t __b)3109 vabdq_u8 (uint8x16_t __a, uint8x16_t __b)
3110 {
3111   return (uint8x16_t)__builtin_neon_vabduv16qi ((int8x16_t) __a, (int8x16_t) __b);
3112 }
3113 
3114 __extension__ extern __inline uint16x8_t
3115 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u16(uint16x8_t __a,uint16x8_t __b)3116 vabdq_u16 (uint16x8_t __a, uint16x8_t __b)
3117 {
3118   return (uint16x8_t)__builtin_neon_vabduv8hi ((int16x8_t) __a, (int16x8_t) __b);
3119 }
3120 
3121 __extension__ extern __inline uint32x4_t
3122 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u32(uint32x4_t __a,uint32x4_t __b)3123 vabdq_u32 (uint32x4_t __a, uint32x4_t __b)
3124 {
3125   return (uint32x4_t)__builtin_neon_vabduv4si ((int32x4_t) __a, (int32x4_t) __b);
3126 }
3127 
3128 __extension__ extern __inline int16x8_t
3129 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s8(int8x8_t __a,int8x8_t __b)3130 vabdl_s8 (int8x8_t __a, int8x8_t __b)
3131 {
3132   return (int16x8_t)__builtin_neon_vabdlsv8qi (__a, __b);
3133 }
3134 
3135 __extension__ extern __inline int32x4_t
3136 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s16(int16x4_t __a,int16x4_t __b)3137 vabdl_s16 (int16x4_t __a, int16x4_t __b)
3138 {
3139   return (int32x4_t)__builtin_neon_vabdlsv4hi (__a, __b);
3140 }
3141 
3142 __extension__ extern __inline int64x2_t
3143 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s32(int32x2_t __a,int32x2_t __b)3144 vabdl_s32 (int32x2_t __a, int32x2_t __b)
3145 {
3146   return (int64x2_t)__builtin_neon_vabdlsv2si (__a, __b);
3147 }
3148 
3149 __extension__ extern __inline uint16x8_t
3150 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u8(uint8x8_t __a,uint8x8_t __b)3151 vabdl_u8 (uint8x8_t __a, uint8x8_t __b)
3152 {
3153   return (uint16x8_t)__builtin_neon_vabdluv8qi ((int8x8_t) __a, (int8x8_t) __b);
3154 }
3155 
3156 __extension__ extern __inline uint32x4_t
3157 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u16(uint16x4_t __a,uint16x4_t __b)3158 vabdl_u16 (uint16x4_t __a, uint16x4_t __b)
3159 {
3160   return (uint32x4_t)__builtin_neon_vabdluv4hi ((int16x4_t) __a, (int16x4_t) __b);
3161 }
3162 
3163 __extension__ extern __inline uint64x2_t
3164 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u32(uint32x2_t __a,uint32x2_t __b)3165 vabdl_u32 (uint32x2_t __a, uint32x2_t __b)
3166 {
3167   return (uint64x2_t)__builtin_neon_vabdluv2si ((int32x2_t) __a, (int32x2_t) __b);
3168 }
3169 
3170 __extension__ extern __inline int8x8_t
3171 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)3172 vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
3173 {
3174   return (int8x8_t)__builtin_neon_vabasv8qi (__a, __b, __c);
3175 }
3176 
3177 __extension__ extern __inline int16x4_t
3178 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)3179 vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
3180 {
3181   return (int16x4_t)__builtin_neon_vabasv4hi (__a, __b, __c);
3182 }
3183 
3184 __extension__ extern __inline int32x2_t
3185 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)3186 vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
3187 {
3188   return (int32x2_t)__builtin_neon_vabasv2si (__a, __b, __c);
3189 }
3190 
3191 __extension__ extern __inline uint8x8_t
3192 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)3193 vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
3194 {
3195   return (uint8x8_t)__builtin_neon_vabauv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
3196 }
3197 
3198 __extension__ extern __inline uint16x4_t
3199 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)3200 vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
3201 {
3202   return (uint16x4_t)__builtin_neon_vabauv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
3203 }
3204 
3205 __extension__ extern __inline uint32x2_t
3206 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)3207 vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
3208 {
3209   return (uint32x2_t)__builtin_neon_vabauv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
3210 }
3211 
3212 __extension__ extern __inline int8x16_t
3213 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)3214 vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
3215 {
3216   return (int8x16_t)__builtin_neon_vabasv16qi (__a, __b, __c);
3217 }
3218 
3219 __extension__ extern __inline int16x8_t
3220 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)3221 vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
3222 {
3223   return (int16x8_t)__builtin_neon_vabasv8hi (__a, __b, __c);
3224 }
3225 
3226 __extension__ extern __inline int32x4_t
3227 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)3228 vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
3229 {
3230   return (int32x4_t)__builtin_neon_vabasv4si (__a, __b, __c);
3231 }
3232 
3233 __extension__ extern __inline uint8x16_t
3234 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)3235 vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
3236 {
3237   return (uint8x16_t)__builtin_neon_vabauv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
3238 }
3239 
3240 __extension__ extern __inline uint16x8_t
3241 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)3242 vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
3243 {
3244   return (uint16x8_t)__builtin_neon_vabauv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
3245 }
3246 
3247 __extension__ extern __inline uint32x4_t
3248 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)3249 vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
3250 {
3251   return (uint32x4_t)__builtin_neon_vabauv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c);
3252 }
3253 
3254 __extension__ extern __inline int16x8_t
3255 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)3256 vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
3257 {
3258   return (int16x8_t)__builtin_neon_vabalsv8qi (__a, __b, __c);
3259 }
3260 
3261 __extension__ extern __inline int32x4_t
3262 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)3263 vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
3264 {
3265   return (int32x4_t)__builtin_neon_vabalsv4hi (__a, __b, __c);
3266 }
3267 
3268 __extension__ extern __inline int64x2_t
3269 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)3270 vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
3271 {
3272   return (int64x2_t)__builtin_neon_vabalsv2si (__a, __b, __c);
3273 }
3274 
3275 __extension__ extern __inline uint16x8_t
3276 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)3277 vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
3278 {
3279   return (uint16x8_t)__builtin_neon_vabaluv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
3280 }
3281 
3282 __extension__ extern __inline uint32x4_t
3283 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)3284 vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
3285 {
3286   return (uint32x4_t)__builtin_neon_vabaluv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
3287 }
3288 
3289 __extension__ extern __inline uint64x2_t
3290 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)3291 vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
3292 {
3293   return (uint64x2_t)__builtin_neon_vabaluv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
3294 }
3295 
3296 __extension__ extern __inline int8x8_t
3297 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s8(int8x8_t __a,int8x8_t __b)3298 vmax_s8 (int8x8_t __a, int8x8_t __b)
3299 {
3300   return (int8x8_t)__builtin_neon_vmaxsv8qi (__a, __b);
3301 }
3302 
3303 __extension__ extern __inline int16x4_t
3304 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s16(int16x4_t __a,int16x4_t __b)3305 vmax_s16 (int16x4_t __a, int16x4_t __b)
3306 {
3307   return (int16x4_t)__builtin_neon_vmaxsv4hi (__a, __b);
3308 }
3309 
3310 __extension__ extern __inline int32x2_t
3311 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s32(int32x2_t __a,int32x2_t __b)3312 vmax_s32 (int32x2_t __a, int32x2_t __b)
3313 {
3314   return (int32x2_t)__builtin_neon_vmaxsv2si (__a, __b);
3315 }
3316 
3317 __extension__ extern __inline float32x2_t
3318 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_f32(float32x2_t __a,float32x2_t __b)3319 vmax_f32 (float32x2_t __a, float32x2_t __b)
3320 {
3321   return (float32x2_t)__builtin_neon_vmaxfv2sf (__a, __b);
3322 }
3323 
3324 __extension__ extern __inline uint8x8_t
3325 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u8(uint8x8_t __a,uint8x8_t __b)3326 vmax_u8 (uint8x8_t __a, uint8x8_t __b)
3327 {
3328   return (uint8x8_t)__builtin_neon_vmaxuv8qi ((int8x8_t) __a, (int8x8_t) __b);
3329 }
3330 
3331 __extension__ extern __inline uint16x4_t
3332 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u16(uint16x4_t __a,uint16x4_t __b)3333 vmax_u16 (uint16x4_t __a, uint16x4_t __b)
3334 {
3335   return (uint16x4_t)__builtin_neon_vmaxuv4hi ((int16x4_t) __a, (int16x4_t) __b);
3336 }
3337 
3338 __extension__ extern __inline uint32x2_t
3339 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u32(uint32x2_t __a,uint32x2_t __b)3340 vmax_u32 (uint32x2_t __a, uint32x2_t __b)
3341 {
3342   return (uint32x2_t)__builtin_neon_vmaxuv2si ((int32x2_t) __a, (int32x2_t) __b);
3343 }
3344 
3345 __extension__ extern __inline int8x16_t
3346 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s8(int8x16_t __a,int8x16_t __b)3347 vmaxq_s8 (int8x16_t __a, int8x16_t __b)
3348 {
3349   return (int8x16_t)__builtin_neon_vmaxsv16qi (__a, __b);
3350 }
3351 
3352 __extension__ extern __inline int16x8_t
3353 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s16(int16x8_t __a,int16x8_t __b)3354 vmaxq_s16 (int16x8_t __a, int16x8_t __b)
3355 {
3356   return (int16x8_t)__builtin_neon_vmaxsv8hi (__a, __b);
3357 }
3358 
3359 __extension__ extern __inline int32x4_t
3360 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s32(int32x4_t __a,int32x4_t __b)3361 vmaxq_s32 (int32x4_t __a, int32x4_t __b)
3362 {
3363   return (int32x4_t)__builtin_neon_vmaxsv4si (__a, __b);
3364 }
3365 
3366 __extension__ extern __inline float32x4_t
3367 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_f32(float32x4_t __a,float32x4_t __b)3368 vmaxq_f32 (float32x4_t __a, float32x4_t __b)
3369 {
3370   return (float32x4_t)__builtin_neon_vmaxfv4sf (__a, __b);
3371 }
3372 
3373 #pragma GCC push_options
3374 #pragma GCC target ("fpu=neon-fp-armv8")
3375 __extension__ extern __inline float32x2_t
3376 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnm_f32(float32x2_t a,float32x2_t b)3377 vmaxnm_f32 (float32x2_t a, float32x2_t b)
3378 {
3379   return (float32x2_t)__builtin_neon_vmaxnmv2sf (a, b);
3380 }
3381 
3382 __extension__ extern __inline float32x4_t
3383 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmq_f32(float32x4_t a,float32x4_t b)3384 vmaxnmq_f32 (float32x4_t a, float32x4_t b)
3385 {
3386   return (float32x4_t)__builtin_neon_vmaxnmv4sf (a, b);
3387 }
3388 
3389 __extension__ extern __inline float32x2_t
3390 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminnm_f32(float32x2_t a,float32x2_t b)3391 vminnm_f32 (float32x2_t a, float32x2_t b)
3392 {
3393   return (float32x2_t)__builtin_neon_vminnmv2sf (a, b);
3394 }
3395 
3396 __extension__ extern __inline float32x4_t
3397 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminnmq_f32(float32x4_t a,float32x4_t b)3398 vminnmq_f32 (float32x4_t a, float32x4_t b)
3399 {
3400   return (float32x4_t)__builtin_neon_vminnmv4sf (a, b);
3401 }
3402 #pragma GCC pop_options
3403 
3404 
3405 __extension__ extern __inline uint8x16_t
3406 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u8(uint8x16_t __a,uint8x16_t __b)3407 vmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
3408 {
3409   return (uint8x16_t)__builtin_neon_vmaxuv16qi ((int8x16_t) __a, (int8x16_t) __b);
3410 }
3411 
3412 __extension__ extern __inline uint16x8_t
3413 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u16(uint16x8_t __a,uint16x8_t __b)3414 vmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
3415 {
3416   return (uint16x8_t)__builtin_neon_vmaxuv8hi ((int16x8_t) __a, (int16x8_t) __b);
3417 }
3418 
3419 __extension__ extern __inline uint32x4_t
3420 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u32(uint32x4_t __a,uint32x4_t __b)3421 vmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
3422 {
3423   return (uint32x4_t)__builtin_neon_vmaxuv4si ((int32x4_t) __a, (int32x4_t) __b);
3424 }
3425 
3426 __extension__ extern __inline int8x8_t
3427 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s8(int8x8_t __a,int8x8_t __b)3428 vmin_s8 (int8x8_t __a, int8x8_t __b)
3429 {
3430   return (int8x8_t)__builtin_neon_vminsv8qi (__a, __b);
3431 }
3432 
3433 __extension__ extern __inline int16x4_t
3434 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s16(int16x4_t __a,int16x4_t __b)3435 vmin_s16 (int16x4_t __a, int16x4_t __b)
3436 {
3437   return (int16x4_t)__builtin_neon_vminsv4hi (__a, __b);
3438 }
3439 
3440 __extension__ extern __inline int32x2_t
3441 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s32(int32x2_t __a,int32x2_t __b)3442 vmin_s32 (int32x2_t __a, int32x2_t __b)
3443 {
3444   return (int32x2_t)__builtin_neon_vminsv2si (__a, __b);
3445 }
3446 
3447 __extension__ extern __inline float32x2_t
3448 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_f32(float32x2_t __a,float32x2_t __b)3449 vmin_f32 (float32x2_t __a, float32x2_t __b)
3450 {
3451   return (float32x2_t)__builtin_neon_vminfv2sf (__a, __b);
3452 }
3453 
3454 __extension__ extern __inline uint8x8_t
3455 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u8(uint8x8_t __a,uint8x8_t __b)3456 vmin_u8 (uint8x8_t __a, uint8x8_t __b)
3457 {
3458   return (uint8x8_t)__builtin_neon_vminuv8qi ((int8x8_t) __a, (int8x8_t) __b);
3459 }
3460 
3461 __extension__ extern __inline uint16x4_t
3462 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u16(uint16x4_t __a,uint16x4_t __b)3463 vmin_u16 (uint16x4_t __a, uint16x4_t __b)
3464 {
3465   return (uint16x4_t)__builtin_neon_vminuv4hi ((int16x4_t) __a, (int16x4_t) __b);
3466 }
3467 
3468 __extension__ extern __inline uint32x2_t
3469 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u32(uint32x2_t __a,uint32x2_t __b)3470 vmin_u32 (uint32x2_t __a, uint32x2_t __b)
3471 {
3472   return (uint32x2_t)__builtin_neon_vminuv2si ((int32x2_t) __a, (int32x2_t) __b);
3473 }
3474 
3475 __extension__ extern __inline int8x16_t
3476 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s8(int8x16_t __a,int8x16_t __b)3477 vminq_s8 (int8x16_t __a, int8x16_t __b)
3478 {
3479   return (int8x16_t)__builtin_neon_vminsv16qi (__a, __b);
3480 }
3481 
3482 __extension__ extern __inline int16x8_t
3483 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s16(int16x8_t __a,int16x8_t __b)3484 vminq_s16 (int16x8_t __a, int16x8_t __b)
3485 {
3486   return (int16x8_t)__builtin_neon_vminsv8hi (__a, __b);
3487 }
3488 
3489 __extension__ extern __inline int32x4_t
3490 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s32(int32x4_t __a,int32x4_t __b)3491 vminq_s32 (int32x4_t __a, int32x4_t __b)
3492 {
3493   return (int32x4_t)__builtin_neon_vminsv4si (__a, __b);
3494 }
3495 
3496 __extension__ extern __inline float32x4_t
3497 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_f32(float32x4_t __a,float32x4_t __b)3498 vminq_f32 (float32x4_t __a, float32x4_t __b)
3499 {
3500   return (float32x4_t)__builtin_neon_vminfv4sf (__a, __b);
3501 }
3502 
3503 __extension__ extern __inline uint8x16_t
3504 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u8(uint8x16_t __a,uint8x16_t __b)3505 vminq_u8 (uint8x16_t __a, uint8x16_t __b)
3506 {
3507   return (uint8x16_t)__builtin_neon_vminuv16qi ((int8x16_t) __a, (int8x16_t) __b);
3508 }
3509 
3510 __extension__ extern __inline uint16x8_t
3511 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u16(uint16x8_t __a,uint16x8_t __b)3512 vminq_u16 (uint16x8_t __a, uint16x8_t __b)
3513 {
3514   return (uint16x8_t)__builtin_neon_vminuv8hi ((int16x8_t) __a, (int16x8_t) __b);
3515 }
3516 
3517 __extension__ extern __inline uint32x4_t
3518 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u32(uint32x4_t __a,uint32x4_t __b)3519 vminq_u32 (uint32x4_t __a, uint32x4_t __b)
3520 {
3521   return (uint32x4_t)__builtin_neon_vminuv4si ((int32x4_t) __a, (int32x4_t) __b);
3522 }
3523 
3524 __extension__ extern __inline int8x8_t
3525 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s8(int8x8_t __a,int8x8_t __b)3526 vpadd_s8 (int8x8_t __a, int8x8_t __b)
3527 {
3528   return (int8x8_t)__builtin_neon_vpaddv8qi (__a, __b);
3529 }
3530 
3531 __extension__ extern __inline int16x4_t
3532 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s16(int16x4_t __a,int16x4_t __b)3533 vpadd_s16 (int16x4_t __a, int16x4_t __b)
3534 {
3535   return (int16x4_t)__builtin_neon_vpaddv4hi (__a, __b);
3536 }
3537 
3538 __extension__ extern __inline int32x2_t
3539 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s32(int32x2_t __a,int32x2_t __b)3540 vpadd_s32 (int32x2_t __a, int32x2_t __b)
3541 {
3542   return (int32x2_t)__builtin_neon_vpaddv2si (__a, __b);
3543 }
3544 
3545 __extension__ extern __inline float32x2_t
3546 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_f32(float32x2_t __a,float32x2_t __b)3547 vpadd_f32 (float32x2_t __a, float32x2_t __b)
3548 {
3549   return (float32x2_t)__builtin_neon_vpaddv2sf (__a, __b);
3550 }
3551 
3552 __extension__ extern __inline uint8x8_t
3553 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u8(uint8x8_t __a,uint8x8_t __b)3554 vpadd_u8 (uint8x8_t __a, uint8x8_t __b)
3555 {
3556   return (uint8x8_t)__builtin_neon_vpaddv8qi ((int8x8_t) __a, (int8x8_t) __b);
3557 }
3558 
3559 __extension__ extern __inline uint16x4_t
3560 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u16(uint16x4_t __a,uint16x4_t __b)3561 vpadd_u16 (uint16x4_t __a, uint16x4_t __b)
3562 {
3563   return (uint16x4_t)__builtin_neon_vpaddv4hi ((int16x4_t) __a, (int16x4_t) __b);
3564 }
3565 
3566 __extension__ extern __inline uint32x2_t
3567 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u32(uint32x2_t __a,uint32x2_t __b)3568 vpadd_u32 (uint32x2_t __a, uint32x2_t __b)
3569 {
3570   return (uint32x2_t)__builtin_neon_vpaddv2si ((int32x2_t) __a, (int32x2_t) __b);
3571 }
3572 
3573 __extension__ extern __inline int16x4_t
3574 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s8(int8x8_t __a)3575 vpaddl_s8 (int8x8_t __a)
3576 {
3577   return (int16x4_t)__builtin_neon_vpaddlsv8qi (__a);
3578 }
3579 
3580 __extension__ extern __inline int32x2_t
3581 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s16(int16x4_t __a)3582 vpaddl_s16 (int16x4_t __a)
3583 {
3584   return (int32x2_t)__builtin_neon_vpaddlsv4hi (__a);
3585 }
3586 
3587 __extension__ extern __inline int64x1_t
3588 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s32(int32x2_t __a)3589 vpaddl_s32 (int32x2_t __a)
3590 {
3591   return (int64x1_t)__builtin_neon_vpaddlsv2si (__a);
3592 }
3593 
3594 __extension__ extern __inline uint16x4_t
3595 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u8(uint8x8_t __a)3596 vpaddl_u8 (uint8x8_t __a)
3597 {
3598   return (uint16x4_t)__builtin_neon_vpaddluv8qi ((int8x8_t) __a);
3599 }
3600 
3601 __extension__ extern __inline uint32x2_t
3602 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u16(uint16x4_t __a)3603 vpaddl_u16 (uint16x4_t __a)
3604 {
3605   return (uint32x2_t)__builtin_neon_vpaddluv4hi ((int16x4_t) __a);
3606 }
3607 
3608 __extension__ extern __inline uint64x1_t
3609 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u32(uint32x2_t __a)3610 vpaddl_u32 (uint32x2_t __a)
3611 {
3612   return (uint64x1_t)__builtin_neon_vpaddluv2si ((int32x2_t) __a);
3613 }
3614 
3615 __extension__ extern __inline int16x8_t
3616 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s8(int8x16_t __a)3617 vpaddlq_s8 (int8x16_t __a)
3618 {
3619   return (int16x8_t)__builtin_neon_vpaddlsv16qi (__a);
3620 }
3621 
3622 __extension__ extern __inline int32x4_t
3623 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s16(int16x8_t __a)3624 vpaddlq_s16 (int16x8_t __a)
3625 {
3626   return (int32x4_t)__builtin_neon_vpaddlsv8hi (__a);
3627 }
3628 
3629 __extension__ extern __inline int64x2_t
3630 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s32(int32x4_t __a)3631 vpaddlq_s32 (int32x4_t __a)
3632 {
3633   return (int64x2_t)__builtin_neon_vpaddlsv4si (__a);
3634 }
3635 
3636 __extension__ extern __inline uint16x8_t
3637 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u8(uint8x16_t __a)3638 vpaddlq_u8 (uint8x16_t __a)
3639 {
3640   return (uint16x8_t)__builtin_neon_vpaddluv16qi ((int8x16_t) __a);
3641 }
3642 
3643 __extension__ extern __inline uint32x4_t
3644 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u16(uint16x8_t __a)3645 vpaddlq_u16 (uint16x8_t __a)
3646 {
3647   return (uint32x4_t)__builtin_neon_vpaddluv8hi ((int16x8_t) __a);
3648 }
3649 
3650 __extension__ extern __inline uint64x2_t
3651 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u32(uint32x4_t __a)3652 vpaddlq_u32 (uint32x4_t __a)
3653 {
3654   return (uint64x2_t)__builtin_neon_vpaddluv4si ((int32x4_t) __a);
3655 }
3656 
3657 __extension__ extern __inline int16x4_t
3658 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s8(int16x4_t __a,int8x8_t __b)3659 vpadal_s8 (int16x4_t __a, int8x8_t __b)
3660 {
3661   return (int16x4_t)__builtin_neon_vpadalsv8qi (__a, __b);
3662 }
3663 
3664 __extension__ extern __inline int32x2_t
3665 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s16(int32x2_t __a,int16x4_t __b)3666 vpadal_s16 (int32x2_t __a, int16x4_t __b)
3667 {
3668   return (int32x2_t)__builtin_neon_vpadalsv4hi (__a, __b);
3669 }
3670 
3671 __extension__ extern __inline int64x1_t
3672 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s32(int64x1_t __a,int32x2_t __b)3673 vpadal_s32 (int64x1_t __a, int32x2_t __b)
3674 {
3675   return (int64x1_t)__builtin_neon_vpadalsv2si (__a, __b);
3676 }
3677 
3678 __extension__ extern __inline uint16x4_t
3679 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u8(uint16x4_t __a,uint8x8_t __b)3680 vpadal_u8 (uint16x4_t __a, uint8x8_t __b)
3681 {
3682   return (uint16x4_t)__builtin_neon_vpadaluv8qi ((int16x4_t) __a, (int8x8_t) __b);
3683 }
3684 
3685 __extension__ extern __inline uint32x2_t
3686 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u16(uint32x2_t __a,uint16x4_t __b)3687 vpadal_u16 (uint32x2_t __a, uint16x4_t __b)
3688 {
3689   return (uint32x2_t)__builtin_neon_vpadaluv4hi ((int32x2_t) __a, (int16x4_t) __b);
3690 }
3691 
3692 __extension__ extern __inline uint64x1_t
3693 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u32(uint64x1_t __a,uint32x2_t __b)3694 vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
3695 {
3696   return (uint64x1_t)__builtin_neon_vpadaluv2si ((int64x1_t) __a, (int32x2_t) __b);
3697 }
3698 
3699 __extension__ extern __inline int16x8_t
3700 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s8(int16x8_t __a,int8x16_t __b)3701 vpadalq_s8 (int16x8_t __a, int8x16_t __b)
3702 {
3703   return (int16x8_t)__builtin_neon_vpadalsv16qi (__a, __b);
3704 }
3705 
3706 __extension__ extern __inline int32x4_t
3707 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s16(int32x4_t __a,int16x8_t __b)3708 vpadalq_s16 (int32x4_t __a, int16x8_t __b)
3709 {
3710   return (int32x4_t)__builtin_neon_vpadalsv8hi (__a, __b);
3711 }
3712 
3713 __extension__ extern __inline int64x2_t
3714 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s32(int64x2_t __a,int32x4_t __b)3715 vpadalq_s32 (int64x2_t __a, int32x4_t __b)
3716 {
3717   return (int64x2_t)__builtin_neon_vpadalsv4si (__a, __b);
3718 }
3719 
3720 __extension__ extern __inline uint16x8_t
3721 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u8(uint16x8_t __a,uint8x16_t __b)3722 vpadalq_u8 (uint16x8_t __a, uint8x16_t __b)
3723 {
3724   return (uint16x8_t)__builtin_neon_vpadaluv16qi ((int16x8_t) __a, (int8x16_t) __b);
3725 }
3726 
3727 __extension__ extern __inline uint32x4_t
3728 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u16(uint32x4_t __a,uint16x8_t __b)3729 vpadalq_u16 (uint32x4_t __a, uint16x8_t __b)
3730 {
3731   return (uint32x4_t)__builtin_neon_vpadaluv8hi ((int32x4_t) __a, (int16x8_t) __b);
3732 }
3733 
3734 __extension__ extern __inline uint64x2_t
3735 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u32(uint64x2_t __a,uint32x4_t __b)3736 vpadalq_u32 (uint64x2_t __a, uint32x4_t __b)
3737 {
3738   return (uint64x2_t)__builtin_neon_vpadaluv4si ((int64x2_t) __a, (int32x4_t) __b);
3739 }
3740 
3741 __extension__ extern __inline int8x8_t
3742 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s8(int8x8_t __a,int8x8_t __b)3743 vpmax_s8 (int8x8_t __a, int8x8_t __b)
3744 {
3745   return (int8x8_t)__builtin_neon_vpmaxsv8qi (__a, __b);
3746 }
3747 
3748 __extension__ extern __inline int16x4_t
3749 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s16(int16x4_t __a,int16x4_t __b)3750 vpmax_s16 (int16x4_t __a, int16x4_t __b)
3751 {
3752   return (int16x4_t)__builtin_neon_vpmaxsv4hi (__a, __b);
3753 }
3754 
3755 __extension__ extern __inline int32x2_t
3756 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s32(int32x2_t __a,int32x2_t __b)3757 vpmax_s32 (int32x2_t __a, int32x2_t __b)
3758 {
3759   return (int32x2_t)__builtin_neon_vpmaxsv2si (__a, __b);
3760 }
3761 
3762 __extension__ extern __inline float32x2_t
3763 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_f32(float32x2_t __a,float32x2_t __b)3764 vpmax_f32 (float32x2_t __a, float32x2_t __b)
3765 {
3766   return (float32x2_t)__builtin_neon_vpmaxfv2sf (__a, __b);
3767 }
3768 
3769 __extension__ extern __inline uint8x8_t
3770 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u8(uint8x8_t __a,uint8x8_t __b)3771 vpmax_u8 (uint8x8_t __a, uint8x8_t __b)
3772 {
3773   return (uint8x8_t)__builtin_neon_vpmaxuv8qi ((int8x8_t) __a, (int8x8_t) __b);
3774 }
3775 
3776 __extension__ extern __inline uint16x4_t
3777 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u16(uint16x4_t __a,uint16x4_t __b)3778 vpmax_u16 (uint16x4_t __a, uint16x4_t __b)
3779 {
3780   return (uint16x4_t)__builtin_neon_vpmaxuv4hi ((int16x4_t) __a, (int16x4_t) __b);
3781 }
3782 
3783 __extension__ extern __inline uint32x2_t
3784 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u32(uint32x2_t __a,uint32x2_t __b)3785 vpmax_u32 (uint32x2_t __a, uint32x2_t __b)
3786 {
3787   return (uint32x2_t)__builtin_neon_vpmaxuv2si ((int32x2_t) __a, (int32x2_t) __b);
3788 }
3789 
3790 __extension__ extern __inline int8x8_t
3791 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s8(int8x8_t __a,int8x8_t __b)3792 vpmin_s8 (int8x8_t __a, int8x8_t __b)
3793 {
3794   return (int8x8_t)__builtin_neon_vpminsv8qi (__a, __b);
3795 }
3796 
3797 __extension__ extern __inline int16x4_t
3798 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s16(int16x4_t __a,int16x4_t __b)3799 vpmin_s16 (int16x4_t __a, int16x4_t __b)
3800 {
3801   return (int16x4_t)__builtin_neon_vpminsv4hi (__a, __b);
3802 }
3803 
3804 __extension__ extern __inline int32x2_t
3805 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s32(int32x2_t __a,int32x2_t __b)3806 vpmin_s32 (int32x2_t __a, int32x2_t __b)
3807 {
3808   return (int32x2_t)__builtin_neon_vpminsv2si (__a, __b);
3809 }
3810 
3811 __extension__ extern __inline float32x2_t
3812 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_f32(float32x2_t __a,float32x2_t __b)3813 vpmin_f32 (float32x2_t __a, float32x2_t __b)
3814 {
3815   return (float32x2_t)__builtin_neon_vpminfv2sf (__a, __b);
3816 }
3817 
3818 __extension__ extern __inline uint8x8_t
3819 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u8(uint8x8_t __a,uint8x8_t __b)3820 vpmin_u8 (uint8x8_t __a, uint8x8_t __b)
3821 {
3822   return (uint8x8_t)__builtin_neon_vpminuv8qi ((int8x8_t) __a, (int8x8_t) __b);
3823 }
3824 
3825 __extension__ extern __inline uint16x4_t
3826 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u16(uint16x4_t __a,uint16x4_t __b)3827 vpmin_u16 (uint16x4_t __a, uint16x4_t __b)
3828 {
3829   return (uint16x4_t)__builtin_neon_vpminuv4hi ((int16x4_t) __a, (int16x4_t) __b);
3830 }
3831 
3832 __extension__ extern __inline uint32x2_t
3833 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u32(uint32x2_t __a,uint32x2_t __b)3834 vpmin_u32 (uint32x2_t __a, uint32x2_t __b)
3835 {
3836   return (uint32x2_t)__builtin_neon_vpminuv2si ((int32x2_t) __a, (int32x2_t) __b);
3837 }
3838 
3839 __extension__ extern __inline float32x2_t
3840 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecps_f32(float32x2_t __a,float32x2_t __b)3841 vrecps_f32 (float32x2_t __a, float32x2_t __b)
3842 {
3843   return (float32x2_t)__builtin_neon_vrecpsv2sf (__a, __b);
3844 }
3845 
3846 __extension__ extern __inline float32x4_t
3847 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsq_f32(float32x4_t __a,float32x4_t __b)3848 vrecpsq_f32 (float32x4_t __a, float32x4_t __b)
3849 {
3850   return (float32x4_t)__builtin_neon_vrecpsv4sf (__a, __b);
3851 }
3852 
3853 __extension__ extern __inline float32x2_t
3854 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrts_f32(float32x2_t __a,float32x2_t __b)3855 vrsqrts_f32 (float32x2_t __a, float32x2_t __b)
3856 {
3857   return (float32x2_t)__builtin_neon_vrsqrtsv2sf (__a, __b);
3858 }
3859 
3860 __extension__ extern __inline float32x4_t
3861 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsq_f32(float32x4_t __a,float32x4_t __b)3862 vrsqrtsq_f32 (float32x4_t __a, float32x4_t __b)
3863 {
3864   return (float32x4_t)__builtin_neon_vrsqrtsv4sf (__a, __b);
3865 }
3866 
3867 __extension__ extern __inline int8x8_t
3868 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s8(int8x8_t __a,int8x8_t __b)3869 vshl_s8 (int8x8_t __a, int8x8_t __b)
3870 {
3871   return (int8x8_t)__builtin_neon_vshlsv8qi (__a, __b);
3872 }
3873 
3874 __extension__ extern __inline int16x4_t
3875 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s16(int16x4_t __a,int16x4_t __b)3876 vshl_s16 (int16x4_t __a, int16x4_t __b)
3877 {
3878   return (int16x4_t)__builtin_neon_vshlsv4hi (__a, __b);
3879 }
3880 
3881 __extension__ extern __inline int32x2_t
3882 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s32(int32x2_t __a,int32x2_t __b)3883 vshl_s32 (int32x2_t __a, int32x2_t __b)
3884 {
3885   return (int32x2_t)__builtin_neon_vshlsv2si (__a, __b);
3886 }
3887 
3888 __extension__ extern __inline int64x1_t
3889 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s64(int64x1_t __a,int64x1_t __b)3890 vshl_s64 (int64x1_t __a, int64x1_t __b)
3891 {
3892   return (int64x1_t)__builtin_neon_vshlsdi (__a, __b);
3893 }
3894 
3895 __extension__ extern __inline uint8x8_t
3896 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u8(uint8x8_t __a,int8x8_t __b)3897 vshl_u8 (uint8x8_t __a, int8x8_t __b)
3898 {
3899   return (uint8x8_t)__builtin_neon_vshluv8qi ((int8x8_t) __a, __b);
3900 }
3901 
3902 __extension__ extern __inline uint16x4_t
3903 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u16(uint16x4_t __a,int16x4_t __b)3904 vshl_u16 (uint16x4_t __a, int16x4_t __b)
3905 {
3906   return (uint16x4_t)__builtin_neon_vshluv4hi ((int16x4_t) __a, __b);
3907 }
3908 
3909 __extension__ extern __inline uint32x2_t
3910 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u32(uint32x2_t __a,int32x2_t __b)3911 vshl_u32 (uint32x2_t __a, int32x2_t __b)
3912 {
3913   return (uint32x2_t)__builtin_neon_vshluv2si ((int32x2_t) __a, __b);
3914 }
3915 
3916 __extension__ extern __inline uint64x1_t
3917 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u64(uint64x1_t __a,int64x1_t __b)3918 vshl_u64 (uint64x1_t __a, int64x1_t __b)
3919 {
3920   return (uint64x1_t)__builtin_neon_vshludi ((int64x1_t) __a, __b);
3921 }
3922 
3923 __extension__ extern __inline int8x16_t
3924 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s8(int8x16_t __a,int8x16_t __b)3925 vshlq_s8 (int8x16_t __a, int8x16_t __b)
3926 {
3927   return (int8x16_t)__builtin_neon_vshlsv16qi (__a, __b);
3928 }
3929 
3930 __extension__ extern __inline int16x8_t
3931 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s16(int16x8_t __a,int16x8_t __b)3932 vshlq_s16 (int16x8_t __a, int16x8_t __b)
3933 {
3934   return (int16x8_t)__builtin_neon_vshlsv8hi (__a, __b);
3935 }
3936 
3937 __extension__ extern __inline int32x4_t
3938 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s32(int32x4_t __a,int32x4_t __b)3939 vshlq_s32 (int32x4_t __a, int32x4_t __b)
3940 {
3941   return (int32x4_t)__builtin_neon_vshlsv4si (__a, __b);
3942 }
3943 
3944 __extension__ extern __inline int64x2_t
3945 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s64(int64x2_t __a,int64x2_t __b)3946 vshlq_s64 (int64x2_t __a, int64x2_t __b)
3947 {
3948   return (int64x2_t)__builtin_neon_vshlsv2di (__a, __b);
3949 }
3950 
3951 __extension__ extern __inline uint8x16_t
3952 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u8(uint8x16_t __a,int8x16_t __b)3953 vshlq_u8 (uint8x16_t __a, int8x16_t __b)
3954 {
3955   return (uint8x16_t)__builtin_neon_vshluv16qi ((int8x16_t) __a, __b);
3956 }
3957 
3958 __extension__ extern __inline uint16x8_t
3959 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u16(uint16x8_t __a,int16x8_t __b)3960 vshlq_u16 (uint16x8_t __a, int16x8_t __b)
3961 {
3962   return (uint16x8_t)__builtin_neon_vshluv8hi ((int16x8_t) __a, __b);
3963 }
3964 
3965 __extension__ extern __inline uint32x4_t
3966 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u32(uint32x4_t __a,int32x4_t __b)3967 vshlq_u32 (uint32x4_t __a, int32x4_t __b)
3968 {
3969   return (uint32x4_t)__builtin_neon_vshluv4si ((int32x4_t) __a, __b);
3970 }
3971 
3972 __extension__ extern __inline uint64x2_t
3973 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u64(uint64x2_t __a,int64x2_t __b)3974 vshlq_u64 (uint64x2_t __a, int64x2_t __b)
3975 {
3976   return (uint64x2_t)__builtin_neon_vshluv2di ((int64x2_t) __a, __b);
3977 }
3978 
3979 __extension__ extern __inline int8x8_t
3980 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s8(int8x8_t __a,int8x8_t __b)3981 vrshl_s8 (int8x8_t __a, int8x8_t __b)
3982 {
3983   return (int8x8_t)__builtin_neon_vrshlsv8qi (__a, __b);
3984 }
3985 
3986 __extension__ extern __inline int16x4_t
3987 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s16(int16x4_t __a,int16x4_t __b)3988 vrshl_s16 (int16x4_t __a, int16x4_t __b)
3989 {
3990   return (int16x4_t)__builtin_neon_vrshlsv4hi (__a, __b);
3991 }
3992 
3993 __extension__ extern __inline int32x2_t
3994 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s32(int32x2_t __a,int32x2_t __b)3995 vrshl_s32 (int32x2_t __a, int32x2_t __b)
3996 {
3997   return (int32x2_t)__builtin_neon_vrshlsv2si (__a, __b);
3998 }
3999 
4000 __extension__ extern __inline int64x1_t
4001 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s64(int64x1_t __a,int64x1_t __b)4002 vrshl_s64 (int64x1_t __a, int64x1_t __b)
4003 {
4004   return (int64x1_t)__builtin_neon_vrshlsdi (__a, __b);
4005 }
4006 
4007 __extension__ extern __inline uint8x8_t
4008 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u8(uint8x8_t __a,int8x8_t __b)4009 vrshl_u8 (uint8x8_t __a, int8x8_t __b)
4010 {
4011   return (uint8x8_t)__builtin_neon_vrshluv8qi ((int8x8_t) __a, __b);
4012 }
4013 
4014 __extension__ extern __inline uint16x4_t
4015 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u16(uint16x4_t __a,int16x4_t __b)4016 vrshl_u16 (uint16x4_t __a, int16x4_t __b)
4017 {
4018   return (uint16x4_t)__builtin_neon_vrshluv4hi ((int16x4_t) __a, __b);
4019 }
4020 
4021 __extension__ extern __inline uint32x2_t
4022 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u32(uint32x2_t __a,int32x2_t __b)4023 vrshl_u32 (uint32x2_t __a, int32x2_t __b)
4024 {
4025   return (uint32x2_t)__builtin_neon_vrshluv2si ((int32x2_t) __a, __b);
4026 }
4027 
4028 __extension__ extern __inline uint64x1_t
4029 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u64(uint64x1_t __a,int64x1_t __b)4030 vrshl_u64 (uint64x1_t __a, int64x1_t __b)
4031 {
4032   return (uint64x1_t)__builtin_neon_vrshludi ((int64x1_t) __a, __b);
4033 }
4034 
4035 __extension__ extern __inline int8x16_t
4036 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s8(int8x16_t __a,int8x16_t __b)4037 vrshlq_s8 (int8x16_t __a, int8x16_t __b)
4038 {
4039   return (int8x16_t)__builtin_neon_vrshlsv16qi (__a, __b);
4040 }
4041 
4042 __extension__ extern __inline int16x8_t
4043 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s16(int16x8_t __a,int16x8_t __b)4044 vrshlq_s16 (int16x8_t __a, int16x8_t __b)
4045 {
4046   return (int16x8_t)__builtin_neon_vrshlsv8hi (__a, __b);
4047 }
4048 
4049 __extension__ extern __inline int32x4_t
4050 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s32(int32x4_t __a,int32x4_t __b)4051 vrshlq_s32 (int32x4_t __a, int32x4_t __b)
4052 {
4053   return (int32x4_t)__builtin_neon_vrshlsv4si (__a, __b);
4054 }
4055 
4056 __extension__ extern __inline int64x2_t
4057 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s64(int64x2_t __a,int64x2_t __b)4058 vrshlq_s64 (int64x2_t __a, int64x2_t __b)
4059 {
4060   return (int64x2_t)__builtin_neon_vrshlsv2di (__a, __b);
4061 }
4062 
4063 __extension__ extern __inline uint8x16_t
4064 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u8(uint8x16_t __a,int8x16_t __b)4065 vrshlq_u8 (uint8x16_t __a, int8x16_t __b)
4066 {
4067   return (uint8x16_t)__builtin_neon_vrshluv16qi ((int8x16_t) __a, __b);
4068 }
4069 
4070 __extension__ extern __inline uint16x8_t
4071 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u16(uint16x8_t __a,int16x8_t __b)4072 vrshlq_u16 (uint16x8_t __a, int16x8_t __b)
4073 {
4074   return (uint16x8_t)__builtin_neon_vrshluv8hi ((int16x8_t) __a, __b);
4075 }
4076 
4077 __extension__ extern __inline uint32x4_t
4078 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u32(uint32x4_t __a,int32x4_t __b)4079 vrshlq_u32 (uint32x4_t __a, int32x4_t __b)
4080 {
4081   return (uint32x4_t)__builtin_neon_vrshluv4si ((int32x4_t) __a, __b);
4082 }
4083 
4084 __extension__ extern __inline uint64x2_t
4085 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u64(uint64x2_t __a,int64x2_t __b)4086 vrshlq_u64 (uint64x2_t __a, int64x2_t __b)
4087 {
4088   return (uint64x2_t)__builtin_neon_vrshluv2di ((int64x2_t) __a, __b);
4089 }
4090 
4091 __extension__ extern __inline int8x8_t
4092 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s8(int8x8_t __a,int8x8_t __b)4093 vqshl_s8 (int8x8_t __a, int8x8_t __b)
4094 {
4095   return (int8x8_t)__builtin_neon_vqshlsv8qi (__a, __b);
4096 }
4097 
4098 __extension__ extern __inline int16x4_t
4099 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s16(int16x4_t __a,int16x4_t __b)4100 vqshl_s16 (int16x4_t __a, int16x4_t __b)
4101 {
4102   return (int16x4_t)__builtin_neon_vqshlsv4hi (__a, __b);
4103 }
4104 
4105 __extension__ extern __inline int32x2_t
4106 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s32(int32x2_t __a,int32x2_t __b)4107 vqshl_s32 (int32x2_t __a, int32x2_t __b)
4108 {
4109   return (int32x2_t)__builtin_neon_vqshlsv2si (__a, __b);
4110 }
4111 
4112 __extension__ extern __inline int64x1_t
4113 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s64(int64x1_t __a,int64x1_t __b)4114 vqshl_s64 (int64x1_t __a, int64x1_t __b)
4115 {
4116   return (int64x1_t)__builtin_neon_vqshlsdi (__a, __b);
4117 }
4118 
4119 __extension__ extern __inline uint8x8_t
4120 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u8(uint8x8_t __a,int8x8_t __b)4121 vqshl_u8 (uint8x8_t __a, int8x8_t __b)
4122 {
4123   return (uint8x8_t)__builtin_neon_vqshluv8qi ((int8x8_t) __a, __b);
4124 }
4125 
4126 __extension__ extern __inline uint16x4_t
4127 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u16(uint16x4_t __a,int16x4_t __b)4128 vqshl_u16 (uint16x4_t __a, int16x4_t __b)
4129 {
4130   return (uint16x4_t)__builtin_neon_vqshluv4hi ((int16x4_t) __a, __b);
4131 }
4132 
4133 __extension__ extern __inline uint32x2_t
4134 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u32(uint32x2_t __a,int32x2_t __b)4135 vqshl_u32 (uint32x2_t __a, int32x2_t __b)
4136 {
4137   return (uint32x2_t)__builtin_neon_vqshluv2si ((int32x2_t) __a, __b);
4138 }
4139 
4140 __extension__ extern __inline uint64x1_t
4141 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u64(uint64x1_t __a,int64x1_t __b)4142 vqshl_u64 (uint64x1_t __a, int64x1_t __b)
4143 {
4144   return (uint64x1_t)__builtin_neon_vqshludi ((int64x1_t) __a, __b);
4145 }
4146 
4147 __extension__ extern __inline int8x16_t
4148 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s8(int8x16_t __a,int8x16_t __b)4149 vqshlq_s8 (int8x16_t __a, int8x16_t __b)
4150 {
4151   return (int8x16_t)__builtin_neon_vqshlsv16qi (__a, __b);
4152 }
4153 
4154 __extension__ extern __inline int16x8_t
4155 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s16(int16x8_t __a,int16x8_t __b)4156 vqshlq_s16 (int16x8_t __a, int16x8_t __b)
4157 {
4158   return (int16x8_t)__builtin_neon_vqshlsv8hi (__a, __b);
4159 }
4160 
4161 __extension__ extern __inline int32x4_t
4162 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s32(int32x4_t __a,int32x4_t __b)4163 vqshlq_s32 (int32x4_t __a, int32x4_t __b)
4164 {
4165   return (int32x4_t)__builtin_neon_vqshlsv4si (__a, __b);
4166 }
4167 
4168 __extension__ extern __inline int64x2_t
4169 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s64(int64x2_t __a,int64x2_t __b)4170 vqshlq_s64 (int64x2_t __a, int64x2_t __b)
4171 {
4172   return (int64x2_t)__builtin_neon_vqshlsv2di (__a, __b);
4173 }
4174 
4175 __extension__ extern __inline uint8x16_t
4176 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u8(uint8x16_t __a,int8x16_t __b)4177 vqshlq_u8 (uint8x16_t __a, int8x16_t __b)
4178 {
4179   return (uint8x16_t)__builtin_neon_vqshluv16qi ((int8x16_t) __a, __b);
4180 }
4181 
4182 __extension__ extern __inline uint16x8_t
4183 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u16(uint16x8_t __a,int16x8_t __b)4184 vqshlq_u16 (uint16x8_t __a, int16x8_t __b)
4185 {
4186   return (uint16x8_t)__builtin_neon_vqshluv8hi ((int16x8_t) __a, __b);
4187 }
4188 
4189 __extension__ extern __inline uint32x4_t
4190 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u32(uint32x4_t __a,int32x4_t __b)4191 vqshlq_u32 (uint32x4_t __a, int32x4_t __b)
4192 {
4193   return (uint32x4_t)__builtin_neon_vqshluv4si ((int32x4_t) __a, __b);
4194 }
4195 
4196 __extension__ extern __inline uint64x2_t
4197 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u64(uint64x2_t __a,int64x2_t __b)4198 vqshlq_u64 (uint64x2_t __a, int64x2_t __b)
4199 {
4200   return (uint64x2_t)__builtin_neon_vqshluv2di ((int64x2_t) __a, __b);
4201 }
4202 
4203 __extension__ extern __inline int8x8_t
4204 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s8(int8x8_t __a,int8x8_t __b)4205 vqrshl_s8 (int8x8_t __a, int8x8_t __b)
4206 {
4207   return (int8x8_t)__builtin_neon_vqrshlsv8qi (__a, __b);
4208 }
4209 
4210 __extension__ extern __inline int16x4_t
4211 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s16(int16x4_t __a,int16x4_t __b)4212 vqrshl_s16 (int16x4_t __a, int16x4_t __b)
4213 {
4214   return (int16x4_t)__builtin_neon_vqrshlsv4hi (__a, __b);
4215 }
4216 
4217 __extension__ extern __inline int32x2_t
4218 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s32(int32x2_t __a,int32x2_t __b)4219 vqrshl_s32 (int32x2_t __a, int32x2_t __b)
4220 {
4221   return (int32x2_t)__builtin_neon_vqrshlsv2si (__a, __b);
4222 }
4223 
4224 __extension__ extern __inline int64x1_t
4225 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s64(int64x1_t __a,int64x1_t __b)4226 vqrshl_s64 (int64x1_t __a, int64x1_t __b)
4227 {
4228   return (int64x1_t)__builtin_neon_vqrshlsdi (__a, __b);
4229 }
4230 
4231 __extension__ extern __inline uint8x8_t
4232 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u8(uint8x8_t __a,int8x8_t __b)4233 vqrshl_u8 (uint8x8_t __a, int8x8_t __b)
4234 {
4235   return (uint8x8_t)__builtin_neon_vqrshluv8qi ((int8x8_t) __a, __b);
4236 }
4237 
4238 __extension__ extern __inline uint16x4_t
4239 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u16(uint16x4_t __a,int16x4_t __b)4240 vqrshl_u16 (uint16x4_t __a, int16x4_t __b)
4241 {
4242   return (uint16x4_t)__builtin_neon_vqrshluv4hi ((int16x4_t) __a, __b);
4243 }
4244 
4245 __extension__ extern __inline uint32x2_t
4246 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u32(uint32x2_t __a,int32x2_t __b)4247 vqrshl_u32 (uint32x2_t __a, int32x2_t __b)
4248 {
4249   return (uint32x2_t)__builtin_neon_vqrshluv2si ((int32x2_t) __a, __b);
4250 }
4251 
4252 __extension__ extern __inline uint64x1_t
4253 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u64(uint64x1_t __a,int64x1_t __b)4254 vqrshl_u64 (uint64x1_t __a, int64x1_t __b)
4255 {
4256   return (uint64x1_t)__builtin_neon_vqrshludi ((int64x1_t) __a, __b);
4257 }
4258 
4259 __extension__ extern __inline int8x16_t
4260 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s8(int8x16_t __a,int8x16_t __b)4261 vqrshlq_s8 (int8x16_t __a, int8x16_t __b)
4262 {
4263   return (int8x16_t)__builtin_neon_vqrshlsv16qi (__a, __b);
4264 }
4265 
4266 __extension__ extern __inline int16x8_t
4267 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s16(int16x8_t __a,int16x8_t __b)4268 vqrshlq_s16 (int16x8_t __a, int16x8_t __b)
4269 {
4270   return (int16x8_t)__builtin_neon_vqrshlsv8hi (__a, __b);
4271 }
4272 
4273 __extension__ extern __inline int32x4_t
4274 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s32(int32x4_t __a,int32x4_t __b)4275 vqrshlq_s32 (int32x4_t __a, int32x4_t __b)
4276 {
4277   return (int32x4_t)__builtin_neon_vqrshlsv4si (__a, __b);
4278 }
4279 
4280 __extension__ extern __inline int64x2_t
4281 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s64(int64x2_t __a,int64x2_t __b)4282 vqrshlq_s64 (int64x2_t __a, int64x2_t __b)
4283 {
4284   return (int64x2_t)__builtin_neon_vqrshlsv2di (__a, __b);
4285 }
4286 
4287 __extension__ extern __inline uint8x16_t
4288 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u8(uint8x16_t __a,int8x16_t __b)4289 vqrshlq_u8 (uint8x16_t __a, int8x16_t __b)
4290 {
4291   return (uint8x16_t)__builtin_neon_vqrshluv16qi ((int8x16_t) __a, __b);
4292 }
4293 
4294 __extension__ extern __inline uint16x8_t
4295 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u16(uint16x8_t __a,int16x8_t __b)4296 vqrshlq_u16 (uint16x8_t __a, int16x8_t __b)
4297 {
4298   return (uint16x8_t)__builtin_neon_vqrshluv8hi ((int16x8_t) __a, __b);
4299 }
4300 
4301 __extension__ extern __inline uint32x4_t
4302 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u32(uint32x4_t __a,int32x4_t __b)4303 vqrshlq_u32 (uint32x4_t __a, int32x4_t __b)
4304 {
4305   return (uint32x4_t)__builtin_neon_vqrshluv4si ((int32x4_t) __a, __b);
4306 }
4307 
4308 __extension__ extern __inline uint64x2_t
4309 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u64(uint64x2_t __a,int64x2_t __b)4310 vqrshlq_u64 (uint64x2_t __a, int64x2_t __b)
4311 {
4312   return (uint64x2_t)__builtin_neon_vqrshluv2di ((int64x2_t) __a, __b);
4313 }
4314 
4315 __extension__ extern __inline int8x8_t
4316 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s8(int8x8_t __a,const int __b)4317 vshr_n_s8 (int8x8_t __a, const int __b)
4318 {
4319   return (int8x8_t)__builtin_neon_vshrs_nv8qi (__a, __b);
4320 }
4321 
4322 __extension__ extern __inline int16x4_t
4323 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s16(int16x4_t __a,const int __b)4324 vshr_n_s16 (int16x4_t __a, const int __b)
4325 {
4326   return (int16x4_t)__builtin_neon_vshrs_nv4hi (__a, __b);
4327 }
4328 
4329 __extension__ extern __inline int32x2_t
4330 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s32(int32x2_t __a,const int __b)4331 vshr_n_s32 (int32x2_t __a, const int __b)
4332 {
4333   return (int32x2_t)__builtin_neon_vshrs_nv2si (__a, __b);
4334 }
4335 
4336 __extension__ extern __inline int64x1_t
4337 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s64(int64x1_t __a,const int __b)4338 vshr_n_s64 (int64x1_t __a, const int __b)
4339 {
4340   return (int64x1_t)__builtin_neon_vshrs_ndi (__a, __b);
4341 }
4342 
4343 __extension__ extern __inline uint8x8_t
4344 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u8(uint8x8_t __a,const int __b)4345 vshr_n_u8 (uint8x8_t __a, const int __b)
4346 {
4347   return (uint8x8_t)__builtin_neon_vshru_nv8qi ((int8x8_t) __a, __b);
4348 }
4349 
4350 __extension__ extern __inline uint16x4_t
4351 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u16(uint16x4_t __a,const int __b)4352 vshr_n_u16 (uint16x4_t __a, const int __b)
4353 {
4354   return (uint16x4_t)__builtin_neon_vshru_nv4hi ((int16x4_t) __a, __b);
4355 }
4356 
4357 __extension__ extern __inline uint32x2_t
4358 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u32(uint32x2_t __a,const int __b)4359 vshr_n_u32 (uint32x2_t __a, const int __b)
4360 {
4361   return (uint32x2_t)__builtin_neon_vshru_nv2si ((int32x2_t) __a, __b);
4362 }
4363 
4364 __extension__ extern __inline uint64x1_t
4365 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u64(uint64x1_t __a,const int __b)4366 vshr_n_u64 (uint64x1_t __a, const int __b)
4367 {
4368   return (uint64x1_t)__builtin_neon_vshru_ndi ((int64x1_t) __a, __b);
4369 }
4370 
4371 __extension__ extern __inline int8x16_t
4372 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s8(int8x16_t __a,const int __b)4373 vshrq_n_s8 (int8x16_t __a, const int __b)
4374 {
4375   return (int8x16_t)__builtin_neon_vshrs_nv16qi (__a, __b);
4376 }
4377 
4378 __extension__ extern __inline int16x8_t
4379 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s16(int16x8_t __a,const int __b)4380 vshrq_n_s16 (int16x8_t __a, const int __b)
4381 {
4382   return (int16x8_t)__builtin_neon_vshrs_nv8hi (__a, __b);
4383 }
4384 
4385 __extension__ extern __inline int32x4_t
4386 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s32(int32x4_t __a,const int __b)4387 vshrq_n_s32 (int32x4_t __a, const int __b)
4388 {
4389   return (int32x4_t)__builtin_neon_vshrs_nv4si (__a, __b);
4390 }
4391 
4392 __extension__ extern __inline int64x2_t
4393 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s64(int64x2_t __a,const int __b)4394 vshrq_n_s64 (int64x2_t __a, const int __b)
4395 {
4396   return (int64x2_t)__builtin_neon_vshrs_nv2di (__a, __b);
4397 }
4398 
4399 __extension__ extern __inline uint8x16_t
4400 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u8(uint8x16_t __a,const int __b)4401 vshrq_n_u8 (uint8x16_t __a, const int __b)
4402 {
4403   return (uint8x16_t)__builtin_neon_vshru_nv16qi ((int8x16_t) __a, __b);
4404 }
4405 
4406 __extension__ extern __inline uint16x8_t
4407 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u16(uint16x8_t __a,const int __b)4408 vshrq_n_u16 (uint16x8_t __a, const int __b)
4409 {
4410   return (uint16x8_t)__builtin_neon_vshru_nv8hi ((int16x8_t) __a, __b);
4411 }
4412 
4413 __extension__ extern __inline uint32x4_t
4414 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u32(uint32x4_t __a,const int __b)4415 vshrq_n_u32 (uint32x4_t __a, const int __b)
4416 {
4417   return (uint32x4_t)__builtin_neon_vshru_nv4si ((int32x4_t) __a, __b);
4418 }
4419 
4420 __extension__ extern __inline uint64x2_t
4421 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u64(uint64x2_t __a,const int __b)4422 vshrq_n_u64 (uint64x2_t __a, const int __b)
4423 {
4424   return (uint64x2_t)__builtin_neon_vshru_nv2di ((int64x2_t) __a, __b);
4425 }
4426 
4427 __extension__ extern __inline int8x8_t
4428 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s8(int8x8_t __a,const int __b)4429 vrshr_n_s8 (int8x8_t __a, const int __b)
4430 {
4431   return (int8x8_t)__builtin_neon_vrshrs_nv8qi (__a, __b);
4432 }
4433 
4434 __extension__ extern __inline int16x4_t
4435 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s16(int16x4_t __a,const int __b)4436 vrshr_n_s16 (int16x4_t __a, const int __b)
4437 {
4438   return (int16x4_t)__builtin_neon_vrshrs_nv4hi (__a, __b);
4439 }
4440 
4441 __extension__ extern __inline int32x2_t
4442 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s32(int32x2_t __a,const int __b)4443 vrshr_n_s32 (int32x2_t __a, const int __b)
4444 {
4445   return (int32x2_t)__builtin_neon_vrshrs_nv2si (__a, __b);
4446 }
4447 
4448 __extension__ extern __inline int64x1_t
4449 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s64(int64x1_t __a,const int __b)4450 vrshr_n_s64 (int64x1_t __a, const int __b)
4451 {
4452   return (int64x1_t)__builtin_neon_vrshrs_ndi (__a, __b);
4453 }
4454 
4455 __extension__ extern __inline uint8x8_t
4456 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u8(uint8x8_t __a,const int __b)4457 vrshr_n_u8 (uint8x8_t __a, const int __b)
4458 {
4459   return (uint8x8_t)__builtin_neon_vrshru_nv8qi ((int8x8_t) __a, __b);
4460 }
4461 
4462 __extension__ extern __inline uint16x4_t
4463 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u16(uint16x4_t __a,const int __b)4464 vrshr_n_u16 (uint16x4_t __a, const int __b)
4465 {
4466   return (uint16x4_t)__builtin_neon_vrshru_nv4hi ((int16x4_t) __a, __b);
4467 }
4468 
4469 __extension__ extern __inline uint32x2_t
4470 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u32(uint32x2_t __a,const int __b)4471 vrshr_n_u32 (uint32x2_t __a, const int __b)
4472 {
4473   return (uint32x2_t)__builtin_neon_vrshru_nv2si ((int32x2_t) __a, __b);
4474 }
4475 
4476 __extension__ extern __inline uint64x1_t
4477 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u64(uint64x1_t __a,const int __b)4478 vrshr_n_u64 (uint64x1_t __a, const int __b)
4479 {
4480   return (uint64x1_t)__builtin_neon_vrshru_ndi ((int64x1_t) __a, __b);
4481 }
4482 
4483 __extension__ extern __inline int8x16_t
4484 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s8(int8x16_t __a,const int __b)4485 vrshrq_n_s8 (int8x16_t __a, const int __b)
4486 {
4487   return (int8x16_t)__builtin_neon_vrshrs_nv16qi (__a, __b);
4488 }
4489 
4490 __extension__ extern __inline int16x8_t
4491 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s16(int16x8_t __a,const int __b)4492 vrshrq_n_s16 (int16x8_t __a, const int __b)
4493 {
4494   return (int16x8_t)__builtin_neon_vrshrs_nv8hi (__a, __b);
4495 }
4496 
4497 __extension__ extern __inline int32x4_t
4498 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s32(int32x4_t __a,const int __b)4499 vrshrq_n_s32 (int32x4_t __a, const int __b)
4500 {
4501   return (int32x4_t)__builtin_neon_vrshrs_nv4si (__a, __b);
4502 }
4503 
4504 __extension__ extern __inline int64x2_t
4505 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s64(int64x2_t __a,const int __b)4506 vrshrq_n_s64 (int64x2_t __a, const int __b)
4507 {
4508   return (int64x2_t)__builtin_neon_vrshrs_nv2di (__a, __b);
4509 }
4510 
4511 __extension__ extern __inline uint8x16_t
4512 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u8(uint8x16_t __a,const int __b)4513 vrshrq_n_u8 (uint8x16_t __a, const int __b)
4514 {
4515   return (uint8x16_t)__builtin_neon_vrshru_nv16qi ((int8x16_t) __a, __b);
4516 }
4517 
4518 __extension__ extern __inline uint16x8_t
4519 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u16(uint16x8_t __a,const int __b)4520 vrshrq_n_u16 (uint16x8_t __a, const int __b)
4521 {
4522   return (uint16x8_t)__builtin_neon_vrshru_nv8hi ((int16x8_t) __a, __b);
4523 }
4524 
4525 __extension__ extern __inline uint32x4_t
4526 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u32(uint32x4_t __a,const int __b)4527 vrshrq_n_u32 (uint32x4_t __a, const int __b)
4528 {
4529   return (uint32x4_t)__builtin_neon_vrshru_nv4si ((int32x4_t) __a, __b);
4530 }
4531 
4532 __extension__ extern __inline uint64x2_t
4533 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u64(uint64x2_t __a,const int __b)4534 vrshrq_n_u64 (uint64x2_t __a, const int __b)
4535 {
4536   return (uint64x2_t)__builtin_neon_vrshru_nv2di ((int64x2_t) __a, __b);
4537 }
4538 
4539 __extension__ extern __inline int8x8_t
4540 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_s16(int16x8_t __a,const int __b)4541 vshrn_n_s16 (int16x8_t __a, const int __b)
4542 {
4543   return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b);
4544 }
4545 
4546 __extension__ extern __inline int16x4_t
4547 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_s32(int32x4_t __a,const int __b)4548 vshrn_n_s32 (int32x4_t __a, const int __b)
4549 {
4550   return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b);
4551 }
4552 
4553 __extension__ extern __inline int32x2_t
4554 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_s64(int64x2_t __a,const int __b)4555 vshrn_n_s64 (int64x2_t __a, const int __b)
4556 {
4557   return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b);
4558 }
4559 
4560 __extension__ extern __inline uint8x8_t
4561 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_u16(uint16x8_t __a,const int __b)4562 vshrn_n_u16 (uint16x8_t __a, const int __b)
4563 {
4564   return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b);
4565 }
4566 
4567 __extension__ extern __inline uint16x4_t
4568 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_u32(uint32x4_t __a,const int __b)4569 vshrn_n_u32 (uint32x4_t __a, const int __b)
4570 {
4571   return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b);
4572 }
4573 
4574 __extension__ extern __inline uint32x2_t
4575 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_u64(uint64x2_t __a,const int __b)4576 vshrn_n_u64 (uint64x2_t __a, const int __b)
4577 {
4578   return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b);
4579 }
4580 
4581 __extension__ extern __inline int8x8_t
4582 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_s16(int16x8_t __a,const int __b)4583 vrshrn_n_s16 (int16x8_t __a, const int __b)
4584 {
4585   return (int8x8_t)__builtin_neon_vrshrn_nv8hi (__a, __b);
4586 }
4587 
4588 __extension__ extern __inline int16x4_t
4589 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_s32(int32x4_t __a,const int __b)4590 vrshrn_n_s32 (int32x4_t __a, const int __b)
4591 {
4592   return (int16x4_t)__builtin_neon_vrshrn_nv4si (__a, __b);
4593 }
4594 
4595 __extension__ extern __inline int32x2_t
4596 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_s64(int64x2_t __a,const int __b)4597 vrshrn_n_s64 (int64x2_t __a, const int __b)
4598 {
4599   return (int32x2_t)__builtin_neon_vrshrn_nv2di (__a, __b);
4600 }
4601 
4602 __extension__ extern __inline uint8x8_t
4603 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_u16(uint16x8_t __a,const int __b)4604 vrshrn_n_u16 (uint16x8_t __a, const int __b)
4605 {
4606   return (uint8x8_t)__builtin_neon_vrshrn_nv8hi ((int16x8_t) __a, __b);
4607 }
4608 
4609 __extension__ extern __inline uint16x4_t
4610 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_u32(uint32x4_t __a,const int __b)4611 vrshrn_n_u32 (uint32x4_t __a, const int __b)
4612 {
4613   return (uint16x4_t)__builtin_neon_vrshrn_nv4si ((int32x4_t) __a, __b);
4614 }
4615 
4616 __extension__ extern __inline uint32x2_t
4617 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_u64(uint64x2_t __a,const int __b)4618 vrshrn_n_u64 (uint64x2_t __a, const int __b)
4619 {
4620   return (uint32x2_t)__builtin_neon_vrshrn_nv2di ((int64x2_t) __a, __b);
4621 }
4622 
4623 __extension__ extern __inline int8x8_t
4624 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s16(int16x8_t __a,const int __b)4625 vqshrn_n_s16 (int16x8_t __a, const int __b)
4626 {
4627   return (int8x8_t)__builtin_neon_vqshrns_nv8hi (__a, __b);
4628 }
4629 
4630 __extension__ extern __inline int16x4_t
4631 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s32(int32x4_t __a,const int __b)4632 vqshrn_n_s32 (int32x4_t __a, const int __b)
4633 {
4634   return (int16x4_t)__builtin_neon_vqshrns_nv4si (__a, __b);
4635 }
4636 
4637 __extension__ extern __inline int32x2_t
4638 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s64(int64x2_t __a,const int __b)4639 vqshrn_n_s64 (int64x2_t __a, const int __b)
4640 {
4641   return (int32x2_t)__builtin_neon_vqshrns_nv2di (__a, __b);
4642 }
4643 
4644 __extension__ extern __inline uint8x8_t
4645 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u16(uint16x8_t __a,const int __b)4646 vqshrn_n_u16 (uint16x8_t __a, const int __b)
4647 {
4648   return (uint8x8_t)__builtin_neon_vqshrnu_nv8hi ((int16x8_t) __a, __b);
4649 }
4650 
4651 __extension__ extern __inline uint16x4_t
4652 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u32(uint32x4_t __a,const int __b)4653 vqshrn_n_u32 (uint32x4_t __a, const int __b)
4654 {
4655   return (uint16x4_t)__builtin_neon_vqshrnu_nv4si ((int32x4_t) __a, __b);
4656 }
4657 
4658 __extension__ extern __inline uint32x2_t
4659 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u64(uint64x2_t __a,const int __b)4660 vqshrn_n_u64 (uint64x2_t __a, const int __b)
4661 {
4662   return (uint32x2_t)__builtin_neon_vqshrnu_nv2di ((int64x2_t) __a, __b);
4663 }
4664 
4665 __extension__ extern __inline int8x8_t
4666 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s16(int16x8_t __a,const int __b)4667 vqrshrn_n_s16 (int16x8_t __a, const int __b)
4668 {
4669   return (int8x8_t)__builtin_neon_vqrshrns_nv8hi (__a, __b);
4670 }
4671 
4672 __extension__ extern __inline int16x4_t
4673 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s32(int32x4_t __a,const int __b)4674 vqrshrn_n_s32 (int32x4_t __a, const int __b)
4675 {
4676   return (int16x4_t)__builtin_neon_vqrshrns_nv4si (__a, __b);
4677 }
4678 
4679 __extension__ extern __inline int32x2_t
4680 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s64(int64x2_t __a,const int __b)4681 vqrshrn_n_s64 (int64x2_t __a, const int __b)
4682 {
4683   return (int32x2_t)__builtin_neon_vqrshrns_nv2di (__a, __b);
4684 }
4685 
4686 __extension__ extern __inline uint8x8_t
4687 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u16(uint16x8_t __a,const int __b)4688 vqrshrn_n_u16 (uint16x8_t __a, const int __b)
4689 {
4690   return (uint8x8_t)__builtin_neon_vqrshrnu_nv8hi ((int16x8_t) __a, __b);
4691 }
4692 
4693 __extension__ extern __inline uint16x4_t
4694 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u32(uint32x4_t __a,const int __b)4695 vqrshrn_n_u32 (uint32x4_t __a, const int __b)
4696 {
4697   return (uint16x4_t)__builtin_neon_vqrshrnu_nv4si ((int32x4_t) __a, __b);
4698 }
4699 
4700 __extension__ extern __inline uint32x2_t
4701 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u64(uint64x2_t __a,const int __b)4702 vqrshrn_n_u64 (uint64x2_t __a, const int __b)
4703 {
4704   return (uint32x2_t)__builtin_neon_vqrshrnu_nv2di ((int64x2_t) __a, __b);
4705 }
4706 
4707 __extension__ extern __inline uint8x8_t
4708 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s16(int16x8_t __a,const int __b)4709 vqshrun_n_s16 (int16x8_t __a, const int __b)
4710 {
4711   return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b);
4712 }
4713 
4714 __extension__ extern __inline uint16x4_t
4715 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s32(int32x4_t __a,const int __b)4716 vqshrun_n_s32 (int32x4_t __a, const int __b)
4717 {
4718   return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b);
4719 }
4720 
4721 __extension__ extern __inline uint32x2_t
4722 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s64(int64x2_t __a,const int __b)4723 vqshrun_n_s64 (int64x2_t __a, const int __b)
4724 {
4725   return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b);
4726 }
4727 
4728 __extension__ extern __inline uint8x8_t
4729 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s16(int16x8_t __a,const int __b)4730 vqrshrun_n_s16 (int16x8_t __a, const int __b)
4731 {
4732   return (uint8x8_t)__builtin_neon_vqrshrun_nv8hi (__a, __b);
4733 }
4734 
4735 __extension__ extern __inline uint16x4_t
4736 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s32(int32x4_t __a,const int __b)4737 vqrshrun_n_s32 (int32x4_t __a, const int __b)
4738 {
4739   return (uint16x4_t)__builtin_neon_vqrshrun_nv4si (__a, __b);
4740 }
4741 
4742 __extension__ extern __inline uint32x2_t
4743 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s64(int64x2_t __a,const int __b)4744 vqrshrun_n_s64 (int64x2_t __a, const int __b)
4745 {
4746   return (uint32x2_t)__builtin_neon_vqrshrun_nv2di (__a, __b);
4747 }
4748 
4749 __extension__ extern __inline int8x8_t
4750 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s8(int8x8_t __a,const int __b)4751 vshl_n_s8 (int8x8_t __a, const int __b)
4752 {
4753   return (int8x8_t)__builtin_neon_vshl_nv8qi (__a, __b);
4754 }
4755 
4756 __extension__ extern __inline int16x4_t
4757 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s16(int16x4_t __a,const int __b)4758 vshl_n_s16 (int16x4_t __a, const int __b)
4759 {
4760   return (int16x4_t)__builtin_neon_vshl_nv4hi (__a, __b);
4761 }
4762 
4763 __extension__ extern __inline int32x2_t
4764 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s32(int32x2_t __a,const int __b)4765 vshl_n_s32 (int32x2_t __a, const int __b)
4766 {
4767   return (int32x2_t)__builtin_neon_vshl_nv2si (__a, __b);
4768 }
4769 
4770 __extension__ extern __inline int64x1_t
4771 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s64(int64x1_t __a,const int __b)4772 vshl_n_s64 (int64x1_t __a, const int __b)
4773 {
4774   return (int64x1_t)__builtin_neon_vshl_ndi (__a, __b);
4775 }
4776 
4777 __extension__ extern __inline uint8x8_t
4778 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u8(uint8x8_t __a,const int __b)4779 vshl_n_u8 (uint8x8_t __a, const int __b)
4780 {
4781   return (uint8x8_t)__builtin_neon_vshl_nv8qi ((int8x8_t) __a, __b);
4782 }
4783 
4784 __extension__ extern __inline uint16x4_t
4785 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u16(uint16x4_t __a,const int __b)4786 vshl_n_u16 (uint16x4_t __a, const int __b)
4787 {
4788   return (uint16x4_t)__builtin_neon_vshl_nv4hi ((int16x4_t) __a, __b);
4789 }
4790 
4791 __extension__ extern __inline uint32x2_t
4792 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u32(uint32x2_t __a,const int __b)4793 vshl_n_u32 (uint32x2_t __a, const int __b)
4794 {
4795   return (uint32x2_t)__builtin_neon_vshl_nv2si ((int32x2_t) __a, __b);
4796 }
4797 
4798 __extension__ extern __inline uint64x1_t
4799 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u64(uint64x1_t __a,const int __b)4800 vshl_n_u64 (uint64x1_t __a, const int __b)
4801 {
4802   return (uint64x1_t)__builtin_neon_vshl_ndi ((int64x1_t) __a, __b);
4803 }
4804 
4805 __extension__ extern __inline int8x16_t
4806 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s8(int8x16_t __a,const int __b)4807 vshlq_n_s8 (int8x16_t __a, const int __b)
4808 {
4809   return (int8x16_t)__builtin_neon_vshl_nv16qi (__a, __b);
4810 }
4811 
4812 __extension__ extern __inline int16x8_t
4813 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s16(int16x8_t __a,const int __b)4814 vshlq_n_s16 (int16x8_t __a, const int __b)
4815 {
4816   return (int16x8_t)__builtin_neon_vshl_nv8hi (__a, __b);
4817 }
4818 
4819 __extension__ extern __inline int32x4_t
4820 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s32(int32x4_t __a,const int __b)4821 vshlq_n_s32 (int32x4_t __a, const int __b)
4822 {
4823   return (int32x4_t)__builtin_neon_vshl_nv4si (__a, __b);
4824 }
4825 
4826 __extension__ extern __inline int64x2_t
4827 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s64(int64x2_t __a,const int __b)4828 vshlq_n_s64 (int64x2_t __a, const int __b)
4829 {
4830   return (int64x2_t)__builtin_neon_vshl_nv2di (__a, __b);
4831 }
4832 
4833 __extension__ extern __inline uint8x16_t
4834 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u8(uint8x16_t __a,const int __b)4835 vshlq_n_u8 (uint8x16_t __a, const int __b)
4836 {
4837   return (uint8x16_t)__builtin_neon_vshl_nv16qi ((int8x16_t) __a, __b);
4838 }
4839 
4840 __extension__ extern __inline uint16x8_t
4841 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u16(uint16x8_t __a,const int __b)4842 vshlq_n_u16 (uint16x8_t __a, const int __b)
4843 {
4844   return (uint16x8_t)__builtin_neon_vshl_nv8hi ((int16x8_t) __a, __b);
4845 }
4846 
4847 __extension__ extern __inline uint32x4_t
4848 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u32(uint32x4_t __a,const int __b)4849 vshlq_n_u32 (uint32x4_t __a, const int __b)
4850 {
4851   return (uint32x4_t)__builtin_neon_vshl_nv4si ((int32x4_t) __a, __b);
4852 }
4853 
4854 __extension__ extern __inline uint64x2_t
4855 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u64(uint64x2_t __a,const int __b)4856 vshlq_n_u64 (uint64x2_t __a, const int __b)
4857 {
4858   return (uint64x2_t)__builtin_neon_vshl_nv2di ((int64x2_t) __a, __b);
4859 }
4860 
4861 __extension__ extern __inline int8x8_t
4862 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s8(int8x8_t __a,const int __b)4863 vqshl_n_s8 (int8x8_t __a, const int __b)
4864 {
4865   return (int8x8_t)__builtin_neon_vqshl_s_nv8qi (__a, __b);
4866 }
4867 
4868 __extension__ extern __inline int16x4_t
4869 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s16(int16x4_t __a,const int __b)4870 vqshl_n_s16 (int16x4_t __a, const int __b)
4871 {
4872   return (int16x4_t)__builtin_neon_vqshl_s_nv4hi (__a, __b);
4873 }
4874 
4875 __extension__ extern __inline int32x2_t
4876 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s32(int32x2_t __a,const int __b)4877 vqshl_n_s32 (int32x2_t __a, const int __b)
4878 {
4879   return (int32x2_t)__builtin_neon_vqshl_s_nv2si (__a, __b);
4880 }
4881 
4882 __extension__ extern __inline int64x1_t
4883 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s64(int64x1_t __a,const int __b)4884 vqshl_n_s64 (int64x1_t __a, const int __b)
4885 {
4886   return (int64x1_t)__builtin_neon_vqshl_s_ndi (__a, __b);
4887 }
4888 
4889 __extension__ extern __inline uint8x8_t
4890 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u8(uint8x8_t __a,const int __b)4891 vqshl_n_u8 (uint8x8_t __a, const int __b)
4892 {
4893   return (uint8x8_t)__builtin_neon_vqshl_u_nv8qi ((int8x8_t) __a, __b);
4894 }
4895 
4896 __extension__ extern __inline uint16x4_t
4897 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u16(uint16x4_t __a,const int __b)4898 vqshl_n_u16 (uint16x4_t __a, const int __b)
4899 {
4900   return (uint16x4_t)__builtin_neon_vqshl_u_nv4hi ((int16x4_t) __a, __b);
4901 }
4902 
4903 __extension__ extern __inline uint32x2_t
4904 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u32(uint32x2_t __a,const int __b)4905 vqshl_n_u32 (uint32x2_t __a, const int __b)
4906 {
4907   return (uint32x2_t)__builtin_neon_vqshl_u_nv2si ((int32x2_t) __a, __b);
4908 }
4909 
4910 __extension__ extern __inline uint64x1_t
4911 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u64(uint64x1_t __a,const int __b)4912 vqshl_n_u64 (uint64x1_t __a, const int __b)
4913 {
4914   return (uint64x1_t)__builtin_neon_vqshl_u_ndi ((int64x1_t) __a, __b);
4915 }
4916 
4917 __extension__ extern __inline int8x16_t
4918 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s8(int8x16_t __a,const int __b)4919 vqshlq_n_s8 (int8x16_t __a, const int __b)
4920 {
4921   return (int8x16_t)__builtin_neon_vqshl_s_nv16qi (__a, __b);
4922 }
4923 
4924 __extension__ extern __inline int16x8_t
4925 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s16(int16x8_t __a,const int __b)4926 vqshlq_n_s16 (int16x8_t __a, const int __b)
4927 {
4928   return (int16x8_t)__builtin_neon_vqshl_s_nv8hi (__a, __b);
4929 }
4930 
4931 __extension__ extern __inline int32x4_t
4932 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s32(int32x4_t __a,const int __b)4933 vqshlq_n_s32 (int32x4_t __a, const int __b)
4934 {
4935   return (int32x4_t)__builtin_neon_vqshl_s_nv4si (__a, __b);
4936 }
4937 
4938 __extension__ extern __inline int64x2_t
4939 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s64(int64x2_t __a,const int __b)4940 vqshlq_n_s64 (int64x2_t __a, const int __b)
4941 {
4942   return (int64x2_t)__builtin_neon_vqshl_s_nv2di (__a, __b);
4943 }
4944 
4945 __extension__ extern __inline uint8x16_t
4946 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u8(uint8x16_t __a,const int __b)4947 vqshlq_n_u8 (uint8x16_t __a, const int __b)
4948 {
4949   return (uint8x16_t)__builtin_neon_vqshl_u_nv16qi ((int8x16_t) __a, __b);
4950 }
4951 
4952 __extension__ extern __inline uint16x8_t
4953 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u16(uint16x8_t __a,const int __b)4954 vqshlq_n_u16 (uint16x8_t __a, const int __b)
4955 {
4956   return (uint16x8_t)__builtin_neon_vqshl_u_nv8hi ((int16x8_t) __a, __b);
4957 }
4958 
4959 __extension__ extern __inline uint32x4_t
4960 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u32(uint32x4_t __a,const int __b)4961 vqshlq_n_u32 (uint32x4_t __a, const int __b)
4962 {
4963   return (uint32x4_t)__builtin_neon_vqshl_u_nv4si ((int32x4_t) __a, __b);
4964 }
4965 
4966 __extension__ extern __inline uint64x2_t
4967 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u64(uint64x2_t __a,const int __b)4968 vqshlq_n_u64 (uint64x2_t __a, const int __b)
4969 {
4970   return (uint64x2_t)__builtin_neon_vqshl_u_nv2di ((int64x2_t) __a, __b);
4971 }
4972 
4973 __extension__ extern __inline uint8x8_t
4974 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s8(int8x8_t __a,const int __b)4975 vqshlu_n_s8 (int8x8_t __a, const int __b)
4976 {
4977   return (uint8x8_t)__builtin_neon_vqshlu_nv8qi (__a, __b);
4978 }
4979 
4980 __extension__ extern __inline uint16x4_t
4981 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s16(int16x4_t __a,const int __b)4982 vqshlu_n_s16 (int16x4_t __a, const int __b)
4983 {
4984   return (uint16x4_t)__builtin_neon_vqshlu_nv4hi (__a, __b);
4985 }
4986 
4987 __extension__ extern __inline uint32x2_t
4988 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s32(int32x2_t __a,const int __b)4989 vqshlu_n_s32 (int32x2_t __a, const int __b)
4990 {
4991   return (uint32x2_t)__builtin_neon_vqshlu_nv2si (__a, __b);
4992 }
4993 
4994 __extension__ extern __inline uint64x1_t
4995 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s64(int64x1_t __a,const int __b)4996 vqshlu_n_s64 (int64x1_t __a, const int __b)
4997 {
4998   return (uint64x1_t)__builtin_neon_vqshlu_ndi (__a, __b);
4999 }
5000 
5001 __extension__ extern __inline uint8x16_t
5002 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s8(int8x16_t __a,const int __b)5003 vqshluq_n_s8 (int8x16_t __a, const int __b)
5004 {
5005   return (uint8x16_t)__builtin_neon_vqshlu_nv16qi (__a, __b);
5006 }
5007 
5008 __extension__ extern __inline uint16x8_t
5009 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s16(int16x8_t __a,const int __b)5010 vqshluq_n_s16 (int16x8_t __a, const int __b)
5011 {
5012   return (uint16x8_t)__builtin_neon_vqshlu_nv8hi (__a, __b);
5013 }
5014 
5015 __extension__ extern __inline uint32x4_t
5016 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s32(int32x4_t __a,const int __b)5017 vqshluq_n_s32 (int32x4_t __a, const int __b)
5018 {
5019   return (uint32x4_t)__builtin_neon_vqshlu_nv4si (__a, __b);
5020 }
5021 
5022 __extension__ extern __inline uint64x2_t
5023 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s64(int64x2_t __a,const int __b)5024 vqshluq_n_s64 (int64x2_t __a, const int __b)
5025 {
5026   return (uint64x2_t)__builtin_neon_vqshlu_nv2di (__a, __b);
5027 }
5028 
5029 __extension__ extern __inline int16x8_t
5030 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s8(int8x8_t __a,const int __b)5031 vshll_n_s8 (int8x8_t __a, const int __b)
5032 {
5033   return (int16x8_t)__builtin_neon_vshlls_nv8qi (__a, __b);
5034 }
5035 
5036 __extension__ extern __inline int32x4_t
5037 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s16(int16x4_t __a,const int __b)5038 vshll_n_s16 (int16x4_t __a, const int __b)
5039 {
5040   return (int32x4_t)__builtin_neon_vshlls_nv4hi (__a, __b);
5041 }
5042 
5043 __extension__ extern __inline int64x2_t
5044 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s32(int32x2_t __a,const int __b)5045 vshll_n_s32 (int32x2_t __a, const int __b)
5046 {
5047   return (int64x2_t)__builtin_neon_vshlls_nv2si (__a, __b);
5048 }
5049 
5050 __extension__ extern __inline uint16x8_t
5051 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u8(uint8x8_t __a,const int __b)5052 vshll_n_u8 (uint8x8_t __a, const int __b)
5053 {
5054   return (uint16x8_t)__builtin_neon_vshllu_nv8qi ((int8x8_t) __a, __b);
5055 }
5056 
5057 __extension__ extern __inline uint32x4_t
5058 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u16(uint16x4_t __a,const int __b)5059 vshll_n_u16 (uint16x4_t __a, const int __b)
5060 {
5061   return (uint32x4_t)__builtin_neon_vshllu_nv4hi ((int16x4_t) __a, __b);
5062 }
5063 
5064 __extension__ extern __inline uint64x2_t
5065 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u32(uint32x2_t __a,const int __b)5066 vshll_n_u32 (uint32x2_t __a, const int __b)
5067 {
5068   return (uint64x2_t)__builtin_neon_vshllu_nv2si ((int32x2_t) __a, __b);
5069 }
5070 
5071 __extension__ extern __inline int8x8_t
5072 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)5073 vsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
5074 {
5075   return (int8x8_t)__builtin_neon_vsras_nv8qi (__a, __b, __c);
5076 }
5077 
5078 __extension__ extern __inline int16x4_t
5079 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)5080 vsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
5081 {
5082   return (int16x4_t)__builtin_neon_vsras_nv4hi (__a, __b, __c);
5083 }
5084 
5085 __extension__ extern __inline int32x2_t
5086 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)5087 vsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
5088 {
5089   return (int32x2_t)__builtin_neon_vsras_nv2si (__a, __b, __c);
5090 }
5091 
5092 __extension__ extern __inline int64x1_t
5093 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)5094 vsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
5095 {
5096   return (int64x1_t)__builtin_neon_vsras_ndi (__a, __b, __c);
5097 }
5098 
5099 __extension__ extern __inline uint8x8_t
5100 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)5101 vsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
5102 {
5103   return (uint8x8_t)__builtin_neon_vsrau_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
5104 }
5105 
5106 __extension__ extern __inline uint16x4_t
5107 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)5108 vsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
5109 {
5110   return (uint16x4_t)__builtin_neon_vsrau_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
5111 }
5112 
5113 __extension__ extern __inline uint32x2_t
5114 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)5115 vsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
5116 {
5117   return (uint32x2_t)__builtin_neon_vsrau_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
5118 }
5119 
5120 __extension__ extern __inline uint64x1_t
5121 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)5122 vsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
5123 {
5124   return (uint64x1_t)__builtin_neon_vsrau_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
5125 }
5126 
5127 __extension__ extern __inline int8x16_t
5128 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)5129 vsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
5130 {
5131   return (int8x16_t)__builtin_neon_vsras_nv16qi (__a, __b, __c);
5132 }
5133 
5134 __extension__ extern __inline int16x8_t
5135 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)5136 vsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
5137 {
5138   return (int16x8_t)__builtin_neon_vsras_nv8hi (__a, __b, __c);
5139 }
5140 
5141 __extension__ extern __inline int32x4_t
5142 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)5143 vsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
5144 {
5145   return (int32x4_t)__builtin_neon_vsras_nv4si (__a, __b, __c);
5146 }
5147 
5148 __extension__ extern __inline int64x2_t
5149 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)5150 vsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
5151 {
5152   return (int64x2_t)__builtin_neon_vsras_nv2di (__a, __b, __c);
5153 }
5154 
5155 __extension__ extern __inline uint8x16_t
5156 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)5157 vsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
5158 {
5159   return (uint8x16_t)__builtin_neon_vsrau_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
5160 }
5161 
5162 __extension__ extern __inline uint16x8_t
5163 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)5164 vsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
5165 {
5166   return (uint16x8_t)__builtin_neon_vsrau_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
5167 }
5168 
5169 __extension__ extern __inline uint32x4_t
5170 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)5171 vsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
5172 {
5173   return (uint32x4_t)__builtin_neon_vsrau_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
5174 }
5175 
5176 __extension__ extern __inline uint64x2_t
5177 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)5178 vsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
5179 {
5180   return (uint64x2_t)__builtin_neon_vsrau_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
5181 }
5182 
5183 __extension__ extern __inline int8x8_t
5184 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)5185 vrsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
5186 {
5187   return (int8x8_t)__builtin_neon_vrsras_nv8qi (__a, __b, __c);
5188 }
5189 
5190 __extension__ extern __inline int16x4_t
5191 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)5192 vrsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
5193 {
5194   return (int16x4_t)__builtin_neon_vrsras_nv4hi (__a, __b, __c);
5195 }
5196 
5197 __extension__ extern __inline int32x2_t
5198 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)5199 vrsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
5200 {
5201   return (int32x2_t)__builtin_neon_vrsras_nv2si (__a, __b, __c);
5202 }
5203 
5204 __extension__ extern __inline int64x1_t
5205 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)5206 vrsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
5207 {
5208   return (int64x1_t)__builtin_neon_vrsras_ndi (__a, __b, __c);
5209 }
5210 
5211 __extension__ extern __inline uint8x8_t
5212 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)5213 vrsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
5214 {
5215   return (uint8x8_t)__builtin_neon_vrsrau_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
5216 }
5217 
5218 __extension__ extern __inline uint16x4_t
5219 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)5220 vrsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
5221 {
5222   return (uint16x4_t)__builtin_neon_vrsrau_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
5223 }
5224 
5225 __extension__ extern __inline uint32x2_t
5226 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)5227 vrsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
5228 {
5229   return (uint32x2_t)__builtin_neon_vrsrau_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
5230 }
5231 
5232 __extension__ extern __inline uint64x1_t
5233 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)5234 vrsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
5235 {
5236   return (uint64x1_t)__builtin_neon_vrsrau_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
5237 }
5238 
5239 __extension__ extern __inline int8x16_t
5240 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)5241 vrsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
5242 {
5243   return (int8x16_t)__builtin_neon_vrsras_nv16qi (__a, __b, __c);
5244 }
5245 
5246 __extension__ extern __inline int16x8_t
5247 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)5248 vrsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
5249 {
5250   return (int16x8_t)__builtin_neon_vrsras_nv8hi (__a, __b, __c);
5251 }
5252 
5253 __extension__ extern __inline int32x4_t
5254 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)5255 vrsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
5256 {
5257   return (int32x4_t)__builtin_neon_vrsras_nv4si (__a, __b, __c);
5258 }
5259 
5260 __extension__ extern __inline int64x2_t
5261 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)5262 vrsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
5263 {
5264   return (int64x2_t)__builtin_neon_vrsras_nv2di (__a, __b, __c);
5265 }
5266 
5267 __extension__ extern __inline uint8x16_t
5268 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)5269 vrsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
5270 {
5271   return (uint8x16_t)__builtin_neon_vrsrau_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
5272 }
5273 
5274 __extension__ extern __inline uint16x8_t
5275 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)5276 vrsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
5277 {
5278   return (uint16x8_t)__builtin_neon_vrsrau_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
5279 }
5280 
5281 __extension__ extern __inline uint32x4_t
5282 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)5283 vrsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
5284 {
5285   return (uint32x4_t)__builtin_neon_vrsrau_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
5286 }
5287 
5288 __extension__ extern __inline uint64x2_t
5289 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)5290 vrsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
5291 {
5292   return (uint64x2_t)__builtin_neon_vrsrau_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
5293 }
5294 
5295 #pragma GCC push_options
5296 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
5297 __extension__ extern __inline poly64x1_t
5298 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_p64(poly64x1_t __a,poly64x1_t __b,const int __c)5299 vsri_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
5300 {
5301   return (poly64x1_t)__builtin_neon_vsri_ndi (__a, __b, __c);
5302 }
5303 
5304 #pragma GCC pop_options
5305 __extension__ extern __inline int8x8_t
5306 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s8(int8x8_t __a,int8x8_t __b,const int __c)5307 vsri_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
5308 {
5309   return (int8x8_t)__builtin_neon_vsri_nv8qi (__a, __b, __c);
5310 }
5311 
5312 __extension__ extern __inline int16x4_t
5313 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s16(int16x4_t __a,int16x4_t __b,const int __c)5314 vsri_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
5315 {
5316   return (int16x4_t)__builtin_neon_vsri_nv4hi (__a, __b, __c);
5317 }
5318 
5319 __extension__ extern __inline int32x2_t
5320 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s32(int32x2_t __a,int32x2_t __b,const int __c)5321 vsri_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
5322 {
5323   return (int32x2_t)__builtin_neon_vsri_nv2si (__a, __b, __c);
5324 }
5325 
5326 __extension__ extern __inline int64x1_t
5327 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s64(int64x1_t __a,int64x1_t __b,const int __c)5328 vsri_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
5329 {
5330   return (int64x1_t)__builtin_neon_vsri_ndi (__a, __b, __c);
5331 }
5332 
5333 __extension__ extern __inline uint8x8_t
5334 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)5335 vsri_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
5336 {
5337   return (uint8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
5338 }
5339 
5340 __extension__ extern __inline uint16x4_t
5341 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)5342 vsri_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
5343 {
5344   return (uint16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
5345 }
5346 
5347 __extension__ extern __inline uint32x2_t
5348 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)5349 vsri_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
5350 {
5351   return (uint32x2_t)__builtin_neon_vsri_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
5352 }
5353 
5354 __extension__ extern __inline uint64x1_t
5355 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)5356 vsri_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
5357 {
5358   return (uint64x1_t)__builtin_neon_vsri_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
5359 }
5360 
5361 __extension__ extern __inline poly8x8_t
5362 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_p8(poly8x8_t __a,poly8x8_t __b,const int __c)5363 vsri_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
5364 {
5365   return (poly8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
5366 }
5367 
5368 __extension__ extern __inline poly16x4_t
5369 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_p16(poly16x4_t __a,poly16x4_t __b,const int __c)5370 vsri_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
5371 {
5372   return (poly16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
5373 }
5374 
5375 #pragma GCC push_options
5376 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
5377 __extension__ extern __inline poly64x2_t
5378 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_p64(poly64x2_t __a,poly64x2_t __b,const int __c)5379 vsriq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
5380 {
5381   return (poly64x2_t)__builtin_neon_vsri_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
5382 }
5383 
5384 #pragma GCC pop_options
5385 __extension__ extern __inline int8x16_t
5386 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)5387 vsriq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
5388 {
5389   return (int8x16_t)__builtin_neon_vsri_nv16qi (__a, __b, __c);
5390 }
5391 
5392 __extension__ extern __inline int16x8_t
5393 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)5394 vsriq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
5395 {
5396   return (int16x8_t)__builtin_neon_vsri_nv8hi (__a, __b, __c);
5397 }
5398 
5399 __extension__ extern __inline int32x4_t
5400 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)5401 vsriq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
5402 {
5403   return (int32x4_t)__builtin_neon_vsri_nv4si (__a, __b, __c);
5404 }
5405 
5406 __extension__ extern __inline int64x2_t
5407 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)5408 vsriq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
5409 {
5410   return (int64x2_t)__builtin_neon_vsri_nv2di (__a, __b, __c);
5411 }
5412 
5413 __extension__ extern __inline uint8x16_t
5414 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)5415 vsriq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
5416 {
5417   return (uint8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
5418 }
5419 
5420 __extension__ extern __inline uint16x8_t
5421 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)5422 vsriq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
5423 {
5424   return (uint16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
5425 }
5426 
5427 __extension__ extern __inline uint32x4_t
5428 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)5429 vsriq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
5430 {
5431   return (uint32x4_t)__builtin_neon_vsri_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
5432 }
5433 
5434 __extension__ extern __inline uint64x2_t
5435 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)5436 vsriq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
5437 {
5438   return (uint64x2_t)__builtin_neon_vsri_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
5439 }
5440 
5441 __extension__ extern __inline poly8x16_t
5442 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_p8(poly8x16_t __a,poly8x16_t __b,const int __c)5443 vsriq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
5444 {
5445   return (poly8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
5446 }
5447 
5448 __extension__ extern __inline poly16x8_t
5449 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_p16(poly16x8_t __a,poly16x8_t __b,const int __c)5450 vsriq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
5451 {
5452   return (poly16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
5453 }
5454 
5455 #pragma GCC push_options
5456 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
5457 __extension__ extern __inline poly64x1_t
5458 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_p64(poly64x1_t __a,poly64x1_t __b,const int __c)5459 vsli_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
5460 {
5461   return (poly64x1_t)__builtin_neon_vsli_ndi (__a, __b, __c);
5462 }
5463 
5464 #pragma GCC pop_options
5465 __extension__ extern __inline int8x8_t
5466 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s8(int8x8_t __a,int8x8_t __b,const int __c)5467 vsli_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
5468 {
5469   return (int8x8_t)__builtin_neon_vsli_nv8qi (__a, __b, __c);
5470 }
5471 
5472 __extension__ extern __inline int16x4_t
5473 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s16(int16x4_t __a,int16x4_t __b,const int __c)5474 vsli_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
5475 {
5476   return (int16x4_t)__builtin_neon_vsli_nv4hi (__a, __b, __c);
5477 }
5478 
5479 __extension__ extern __inline int32x2_t
5480 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s32(int32x2_t __a,int32x2_t __b,const int __c)5481 vsli_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
5482 {
5483   return (int32x2_t)__builtin_neon_vsli_nv2si (__a, __b, __c);
5484 }
5485 
5486 __extension__ extern __inline int64x1_t
5487 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s64(int64x1_t __a,int64x1_t __b,const int __c)5488 vsli_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
5489 {
5490   return (int64x1_t)__builtin_neon_vsli_ndi (__a, __b, __c);
5491 }
5492 
5493 __extension__ extern __inline uint8x8_t
5494 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)5495 vsli_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
5496 {
5497   return (uint8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
5498 }
5499 
5500 __extension__ extern __inline uint16x4_t
5501 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)5502 vsli_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
5503 {
5504   return (uint16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
5505 }
5506 
5507 __extension__ extern __inline uint32x2_t
5508 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)5509 vsli_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
5510 {
5511   return (uint32x2_t)__builtin_neon_vsli_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
5512 }
5513 
5514 __extension__ extern __inline uint64x1_t
5515 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)5516 vsli_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
5517 {
5518   return (uint64x1_t)__builtin_neon_vsli_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
5519 }
5520 
5521 __extension__ extern __inline poly8x8_t
5522 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_p8(poly8x8_t __a,poly8x8_t __b,const int __c)5523 vsli_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
5524 {
5525   return (poly8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
5526 }
5527 
5528 __extension__ extern __inline poly16x4_t
5529 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_p16(poly16x4_t __a,poly16x4_t __b,const int __c)5530 vsli_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
5531 {
5532   return (poly16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
5533 }
5534 
5535 #pragma GCC push_options
5536 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
5537 __extension__ extern __inline poly64x2_t
5538 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_p64(poly64x2_t __a,poly64x2_t __b,const int __c)5539 vsliq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
5540 {
5541   return (poly64x2_t)__builtin_neon_vsli_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
5542 }
5543 
5544 #pragma GCC pop_options
5545 __extension__ extern __inline int8x16_t
5546 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)5547 vsliq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
5548 {
5549   return (int8x16_t)__builtin_neon_vsli_nv16qi (__a, __b, __c);
5550 }
5551 
5552 __extension__ extern __inline int16x8_t
5553 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)5554 vsliq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
5555 {
5556   return (int16x8_t)__builtin_neon_vsli_nv8hi (__a, __b, __c);
5557 }
5558 
5559 __extension__ extern __inline int32x4_t
5560 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)5561 vsliq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
5562 {
5563   return (int32x4_t)__builtin_neon_vsli_nv4si (__a, __b, __c);
5564 }
5565 
5566 __extension__ extern __inline int64x2_t
5567 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)5568 vsliq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
5569 {
5570   return (int64x2_t)__builtin_neon_vsli_nv2di (__a, __b, __c);
5571 }
5572 
5573 __extension__ extern __inline uint8x16_t
5574 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)5575 vsliq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
5576 {
5577   return (uint8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
5578 }
5579 
5580 __extension__ extern __inline uint16x8_t
5581 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)5582 vsliq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
5583 {
5584   return (uint16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
5585 }
5586 
5587 __extension__ extern __inline uint32x4_t
5588 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)5589 vsliq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
5590 {
5591   return (uint32x4_t)__builtin_neon_vsli_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
5592 }
5593 
5594 __extension__ extern __inline uint64x2_t
5595 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)5596 vsliq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
5597 {
5598   return (uint64x2_t)__builtin_neon_vsli_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
5599 }
5600 
5601 __extension__ extern __inline poly8x16_t
5602 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_p8(poly8x16_t __a,poly8x16_t __b,const int __c)5603 vsliq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
5604 {
5605   return (poly8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
5606 }
5607 
5608 __extension__ extern __inline poly16x8_t
5609 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_p16(poly16x8_t __a,poly16x8_t __b,const int __c)5610 vsliq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
5611 {
5612   return (poly16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
5613 }
5614 
5615 __extension__ extern __inline int8x8_t
5616 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s8(int8x8_t __a)5617 vabs_s8 (int8x8_t __a)
5618 {
5619   return (int8x8_t)__builtin_neon_vabsv8qi (__a);
5620 }
5621 
5622 __extension__ extern __inline int16x4_t
5623 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s16(int16x4_t __a)5624 vabs_s16 (int16x4_t __a)
5625 {
5626   return (int16x4_t)__builtin_neon_vabsv4hi (__a);
5627 }
5628 
5629 __extension__ extern __inline int32x2_t
5630 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s32(int32x2_t __a)5631 vabs_s32 (int32x2_t __a)
5632 {
5633   return (int32x2_t)__builtin_neon_vabsv2si (__a);
5634 }
5635 
5636 __extension__ extern __inline float32x2_t
5637 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabs_f32(float32x2_t __a)5638 vabs_f32 (float32x2_t __a)
5639 {
5640   return (float32x2_t)__builtin_neon_vabsv2sf (__a);
5641 }
5642 
5643 __extension__ extern __inline int8x16_t
5644 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s8(int8x16_t __a)5645 vabsq_s8 (int8x16_t __a)
5646 {
5647   return (int8x16_t)__builtin_neon_vabsv16qi (__a);
5648 }
5649 
5650 __extension__ extern __inline int16x8_t
5651 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s16(int16x8_t __a)5652 vabsq_s16 (int16x8_t __a)
5653 {
5654   return (int16x8_t)__builtin_neon_vabsv8hi (__a);
5655 }
5656 
5657 __extension__ extern __inline int32x4_t
5658 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s32(int32x4_t __a)5659 vabsq_s32 (int32x4_t __a)
5660 {
5661   return (int32x4_t)__builtin_neon_vabsv4si (__a);
5662 }
5663 
5664 __extension__ extern __inline float32x4_t
5665 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_f32(float32x4_t __a)5666 vabsq_f32 (float32x4_t __a)
5667 {
5668   return (float32x4_t)__builtin_neon_vabsv4sf (__a);
5669 }
5670 
5671 __extension__ extern __inline int8x8_t
5672 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s8(int8x8_t __a)5673 vqabs_s8 (int8x8_t __a)
5674 {
5675   return (int8x8_t)__builtin_neon_vqabsv8qi (__a);
5676 }
5677 
5678 __extension__ extern __inline int16x4_t
5679 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s16(int16x4_t __a)5680 vqabs_s16 (int16x4_t __a)
5681 {
5682   return (int16x4_t)__builtin_neon_vqabsv4hi (__a);
5683 }
5684 
5685 __extension__ extern __inline int32x2_t
5686 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s32(int32x2_t __a)5687 vqabs_s32 (int32x2_t __a)
5688 {
5689   return (int32x2_t)__builtin_neon_vqabsv2si (__a);
5690 }
5691 
5692 __extension__ extern __inline int8x16_t
5693 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s8(int8x16_t __a)5694 vqabsq_s8 (int8x16_t __a)
5695 {
5696   return (int8x16_t)__builtin_neon_vqabsv16qi (__a);
5697 }
5698 
5699 __extension__ extern __inline int16x8_t
5700 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s16(int16x8_t __a)5701 vqabsq_s16 (int16x8_t __a)
5702 {
5703   return (int16x8_t)__builtin_neon_vqabsv8hi (__a);
5704 }
5705 
5706 __extension__ extern __inline int32x4_t
5707 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s32(int32x4_t __a)5708 vqabsq_s32 (int32x4_t __a)
5709 {
5710   return (int32x4_t)__builtin_neon_vqabsv4si (__a);
5711 }
5712 
5713 __extension__ extern __inline int8x8_t
5714 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s8(int8x8_t __a)5715 vneg_s8 (int8x8_t __a)
5716 {
5717   return (int8x8_t)__builtin_neon_vnegv8qi (__a);
5718 }
5719 
5720 __extension__ extern __inline int16x4_t
5721 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s16(int16x4_t __a)5722 vneg_s16 (int16x4_t __a)
5723 {
5724   return (int16x4_t)__builtin_neon_vnegv4hi (__a);
5725 }
5726 
5727 __extension__ extern __inline int32x2_t
5728 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s32(int32x2_t __a)5729 vneg_s32 (int32x2_t __a)
5730 {
5731   return (int32x2_t)__builtin_neon_vnegv2si (__a);
5732 }
5733 
5734 __extension__ extern __inline float32x2_t
5735 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vneg_f32(float32x2_t __a)5736 vneg_f32 (float32x2_t __a)
5737 {
5738   return (float32x2_t)__builtin_neon_vnegv2sf (__a);
5739 }
5740 
5741 __extension__ extern __inline int8x16_t
5742 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s8(int8x16_t __a)5743 vnegq_s8 (int8x16_t __a)
5744 {
5745   return (int8x16_t)__builtin_neon_vnegv16qi (__a);
5746 }
5747 
5748 __extension__ extern __inline int16x8_t
5749 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s16(int16x8_t __a)5750 vnegq_s16 (int16x8_t __a)
5751 {
5752   return (int16x8_t)__builtin_neon_vnegv8hi (__a);
5753 }
5754 
5755 __extension__ extern __inline int32x4_t
5756 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s32(int32x4_t __a)5757 vnegq_s32 (int32x4_t __a)
5758 {
5759   return (int32x4_t)__builtin_neon_vnegv4si (__a);
5760 }
5761 
5762 __extension__ extern __inline float32x4_t
5763 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_f32(float32x4_t __a)5764 vnegq_f32 (float32x4_t __a)
5765 {
5766   return (float32x4_t)__builtin_neon_vnegv4sf (__a);
5767 }
5768 
5769 __extension__ extern __inline int8x8_t
5770 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s8(int8x8_t __a)5771 vqneg_s8 (int8x8_t __a)
5772 {
5773   return (int8x8_t)__builtin_neon_vqnegv8qi (__a);
5774 }
5775 
5776 __extension__ extern __inline int16x4_t
5777 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s16(int16x4_t __a)5778 vqneg_s16 (int16x4_t __a)
5779 {
5780   return (int16x4_t)__builtin_neon_vqnegv4hi (__a);
5781 }
5782 
5783 __extension__ extern __inline int32x2_t
5784 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s32(int32x2_t __a)5785 vqneg_s32 (int32x2_t __a)
5786 {
5787   return (int32x2_t)__builtin_neon_vqnegv2si (__a);
5788 }
5789 
5790 __extension__ extern __inline int8x16_t
5791 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s8(int8x16_t __a)5792 vqnegq_s8 (int8x16_t __a)
5793 {
5794   return (int8x16_t)__builtin_neon_vqnegv16qi (__a);
5795 }
5796 
5797 __extension__ extern __inline int16x8_t
5798 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s16(int16x8_t __a)5799 vqnegq_s16 (int16x8_t __a)
5800 {
5801   return (int16x8_t)__builtin_neon_vqnegv8hi (__a);
5802 }
5803 
5804 __extension__ extern __inline int32x4_t
5805 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s32(int32x4_t __a)5806 vqnegq_s32 (int32x4_t __a)
5807 {
5808   return (int32x4_t)__builtin_neon_vqnegv4si (__a);
5809 }
5810 
5811 __extension__ extern __inline int8x8_t
5812 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s8(int8x8_t __a)5813 vmvn_s8 (int8x8_t __a)
5814 {
5815   return (int8x8_t)__builtin_neon_vmvnv8qi (__a);
5816 }
5817 
5818 __extension__ extern __inline int16x4_t
5819 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s16(int16x4_t __a)5820 vmvn_s16 (int16x4_t __a)
5821 {
5822   return (int16x4_t)__builtin_neon_vmvnv4hi (__a);
5823 }
5824 
5825 __extension__ extern __inline int32x2_t
5826 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s32(int32x2_t __a)5827 vmvn_s32 (int32x2_t __a)
5828 {
5829   return (int32x2_t)__builtin_neon_vmvnv2si (__a);
5830 }
5831 
5832 __extension__ extern __inline uint8x8_t
5833 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u8(uint8x8_t __a)5834 vmvn_u8 (uint8x8_t __a)
5835 {
5836   return (uint8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a);
5837 }
5838 
5839 __extension__ extern __inline uint16x4_t
5840 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u16(uint16x4_t __a)5841 vmvn_u16 (uint16x4_t __a)
5842 {
5843   return (uint16x4_t)__builtin_neon_vmvnv4hi ((int16x4_t) __a);
5844 }
5845 
5846 __extension__ extern __inline uint32x2_t
5847 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u32(uint32x2_t __a)5848 vmvn_u32 (uint32x2_t __a)
5849 {
5850   return (uint32x2_t)__builtin_neon_vmvnv2si ((int32x2_t) __a);
5851 }
5852 
5853 __extension__ extern __inline poly8x8_t
5854 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_p8(poly8x8_t __a)5855 vmvn_p8 (poly8x8_t __a)
5856 {
5857   return (poly8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a);
5858 }
5859 
5860 __extension__ extern __inline int8x16_t
5861 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s8(int8x16_t __a)5862 vmvnq_s8 (int8x16_t __a)
5863 {
5864   return (int8x16_t)__builtin_neon_vmvnv16qi (__a);
5865 }
5866 
5867 __extension__ extern __inline int16x8_t
5868 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s16(int16x8_t __a)5869 vmvnq_s16 (int16x8_t __a)
5870 {
5871   return (int16x8_t)__builtin_neon_vmvnv8hi (__a);
5872 }
5873 
5874 __extension__ extern __inline int32x4_t
5875 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s32(int32x4_t __a)5876 vmvnq_s32 (int32x4_t __a)
5877 {
5878   return (int32x4_t)__builtin_neon_vmvnv4si (__a);
5879 }
5880 
5881 __extension__ extern __inline uint8x16_t
5882 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u8(uint8x16_t __a)5883 vmvnq_u8 (uint8x16_t __a)
5884 {
5885   return (uint8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a);
5886 }
5887 
5888 __extension__ extern __inline uint16x8_t
5889 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u16(uint16x8_t __a)5890 vmvnq_u16 (uint16x8_t __a)
5891 {
5892   return (uint16x8_t)__builtin_neon_vmvnv8hi ((int16x8_t) __a);
5893 }
5894 
5895 __extension__ extern __inline uint32x4_t
5896 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u32(uint32x4_t __a)5897 vmvnq_u32 (uint32x4_t __a)
5898 {
5899   return (uint32x4_t)__builtin_neon_vmvnv4si ((int32x4_t) __a);
5900 }
5901 
5902 __extension__ extern __inline poly8x16_t
5903 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_p8(poly8x16_t __a)5904 vmvnq_p8 (poly8x16_t __a)
5905 {
5906   return (poly8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a);
5907 }
5908 
5909 __extension__ extern __inline int8x8_t
5910 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s8(int8x8_t __a)5911 vcls_s8 (int8x8_t __a)
5912 {
5913   return (int8x8_t)__builtin_neon_vclsv8qi (__a);
5914 }
5915 
5916 __extension__ extern __inline int16x4_t
5917 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s16(int16x4_t __a)5918 vcls_s16 (int16x4_t __a)
5919 {
5920   return (int16x4_t)__builtin_neon_vclsv4hi (__a);
5921 }
5922 
5923 __extension__ extern __inline int32x2_t
5924 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s32(int32x2_t __a)5925 vcls_s32 (int32x2_t __a)
5926 {
5927   return (int32x2_t)__builtin_neon_vclsv2si (__a);
5928 }
5929 
5930 __extension__ extern __inline int8x16_t
5931 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s8(int8x16_t __a)5932 vclsq_s8 (int8x16_t __a)
5933 {
5934   return (int8x16_t)__builtin_neon_vclsv16qi (__a);
5935 }
5936 
5937 __extension__ extern __inline int16x8_t
5938 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s16(int16x8_t __a)5939 vclsq_s16 (int16x8_t __a)
5940 {
5941   return (int16x8_t)__builtin_neon_vclsv8hi (__a);
5942 }
5943 
5944 __extension__ extern __inline int32x4_t
5945 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s32(int32x4_t __a)5946 vclsq_s32 (int32x4_t __a)
5947 {
5948   return (int32x4_t)__builtin_neon_vclsv4si (__a);
5949 }
5950 
5951 __extension__ extern __inline int8x8_t
5952 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s8(int8x8_t __a)5953 vclz_s8 (int8x8_t __a)
5954 {
5955   return (int8x8_t)__builtin_neon_vclzv8qi (__a);
5956 }
5957 
5958 __extension__ extern __inline int16x4_t
5959 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s16(int16x4_t __a)5960 vclz_s16 (int16x4_t __a)
5961 {
5962   return (int16x4_t)__builtin_neon_vclzv4hi (__a);
5963 }
5964 
5965 __extension__ extern __inline int32x2_t
5966 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s32(int32x2_t __a)5967 vclz_s32 (int32x2_t __a)
5968 {
5969   return (int32x2_t)__builtin_neon_vclzv2si (__a);
5970 }
5971 
5972 __extension__ extern __inline uint8x8_t
5973 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u8(uint8x8_t __a)5974 vclz_u8 (uint8x8_t __a)
5975 {
5976   return (uint8x8_t)__builtin_neon_vclzv8qi ((int8x8_t) __a);
5977 }
5978 
5979 __extension__ extern __inline uint16x4_t
5980 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u16(uint16x4_t __a)5981 vclz_u16 (uint16x4_t __a)
5982 {
5983   return (uint16x4_t)__builtin_neon_vclzv4hi ((int16x4_t) __a);
5984 }
5985 
5986 __extension__ extern __inline uint32x2_t
5987 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u32(uint32x2_t __a)5988 vclz_u32 (uint32x2_t __a)
5989 {
5990   return (uint32x2_t)__builtin_neon_vclzv2si ((int32x2_t) __a);
5991 }
5992 
5993 __extension__ extern __inline int8x16_t
5994 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s8(int8x16_t __a)5995 vclzq_s8 (int8x16_t __a)
5996 {
5997   return (int8x16_t)__builtin_neon_vclzv16qi (__a);
5998 }
5999 
6000 __extension__ extern __inline int16x8_t
6001 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s16(int16x8_t __a)6002 vclzq_s16 (int16x8_t __a)
6003 {
6004   return (int16x8_t)__builtin_neon_vclzv8hi (__a);
6005 }
6006 
6007 __extension__ extern __inline int32x4_t
6008 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s32(int32x4_t __a)6009 vclzq_s32 (int32x4_t __a)
6010 {
6011   return (int32x4_t)__builtin_neon_vclzv4si (__a);
6012 }
6013 
6014 __extension__ extern __inline uint8x16_t
6015 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u8(uint8x16_t __a)6016 vclzq_u8 (uint8x16_t __a)
6017 {
6018   return (uint8x16_t)__builtin_neon_vclzv16qi ((int8x16_t) __a);
6019 }
6020 
6021 __extension__ extern __inline uint16x8_t
6022 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u16(uint16x8_t __a)6023 vclzq_u16 (uint16x8_t __a)
6024 {
6025   return (uint16x8_t)__builtin_neon_vclzv8hi ((int16x8_t) __a);
6026 }
6027 
6028 __extension__ extern __inline uint32x4_t
6029 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u32(uint32x4_t __a)6030 vclzq_u32 (uint32x4_t __a)
6031 {
6032   return (uint32x4_t)__builtin_neon_vclzv4si ((int32x4_t) __a);
6033 }
6034 
6035 __extension__ extern __inline int8x8_t
6036 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_s8(int8x8_t __a)6037 vcnt_s8 (int8x8_t __a)
6038 {
6039   return (int8x8_t)__builtin_neon_vcntv8qi (__a);
6040 }
6041 
6042 __extension__ extern __inline uint8x8_t
6043 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_u8(uint8x8_t __a)6044 vcnt_u8 (uint8x8_t __a)
6045 {
6046   return (uint8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a);
6047 }
6048 
6049 __extension__ extern __inline poly8x8_t
6050 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_p8(poly8x8_t __a)6051 vcnt_p8 (poly8x8_t __a)
6052 {
6053   return (poly8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a);
6054 }
6055 
6056 __extension__ extern __inline int8x16_t
6057 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_s8(int8x16_t __a)6058 vcntq_s8 (int8x16_t __a)
6059 {
6060   return (int8x16_t)__builtin_neon_vcntv16qi (__a);
6061 }
6062 
6063 __extension__ extern __inline uint8x16_t
6064 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_u8(uint8x16_t __a)6065 vcntq_u8 (uint8x16_t __a)
6066 {
6067   return (uint8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a);
6068 }
6069 
6070 __extension__ extern __inline poly8x16_t
6071 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_p8(poly8x16_t __a)6072 vcntq_p8 (poly8x16_t __a)
6073 {
6074   return (poly8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a);
6075 }
6076 
6077 __extension__ extern __inline float32x2_t
6078 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_f32(float32x2_t __a)6079 vrecpe_f32 (float32x2_t __a)
6080 {
6081   return (float32x2_t)__builtin_neon_vrecpev2sf (__a);
6082 }
6083 
6084 __extension__ extern __inline uint32x2_t
6085 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_u32(uint32x2_t __a)6086 vrecpe_u32 (uint32x2_t __a)
6087 {
6088   return (uint32x2_t)__builtin_neon_vrecpev2si ((int32x2_t) __a);
6089 }
6090 
6091 __extension__ extern __inline float32x4_t
6092 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_f32(float32x4_t __a)6093 vrecpeq_f32 (float32x4_t __a)
6094 {
6095   return (float32x4_t)__builtin_neon_vrecpev4sf (__a);
6096 }
6097 
6098 __extension__ extern __inline uint32x4_t
6099 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_u32(uint32x4_t __a)6100 vrecpeq_u32 (uint32x4_t __a)
6101 {
6102   return (uint32x4_t)__builtin_neon_vrecpev4si ((int32x4_t) __a);
6103 }
6104 
6105 __extension__ extern __inline float32x2_t
6106 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_f32(float32x2_t __a)6107 vrsqrte_f32 (float32x2_t __a)
6108 {
6109   return (float32x2_t)__builtin_neon_vrsqrtev2sf (__a);
6110 }
6111 
6112 __extension__ extern __inline uint32x2_t
6113 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_u32(uint32x2_t __a)6114 vrsqrte_u32 (uint32x2_t __a)
6115 {
6116   return (uint32x2_t)__builtin_neon_vrsqrtev2si ((int32x2_t) __a);
6117 }
6118 
6119 __extension__ extern __inline float32x4_t
6120 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_f32(float32x4_t __a)6121 vrsqrteq_f32 (float32x4_t __a)
6122 {
6123   return (float32x4_t)__builtin_neon_vrsqrtev4sf (__a);
6124 }
6125 
6126 __extension__ extern __inline uint32x4_t
6127 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_u32(uint32x4_t __a)6128 vrsqrteq_u32 (uint32x4_t __a)
6129 {
6130   return (uint32x4_t)__builtin_neon_vrsqrtev4si ((int32x4_t) __a);
6131 }
6132 
6133 __extension__ extern __inline int8_t
6134 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s8(int8x8_t __a,const int __b)6135 vget_lane_s8 (int8x8_t __a, const int __b)
6136 {
6137   return (int8_t)__builtin_neon_vget_lanev8qi (__a, __b);
6138 }
6139 
6140 __extension__ extern __inline int16_t
6141 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s16(int16x4_t __a,const int __b)6142 vget_lane_s16 (int16x4_t __a, const int __b)
6143 {
6144   return (int16_t)__builtin_neon_vget_lanev4hi (__a, __b);
6145 }
6146 
6147 __extension__ extern __inline int32_t
6148 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s32(int32x2_t __a,const int __b)6149 vget_lane_s32 (int32x2_t __a, const int __b)
6150 {
6151   return (int32_t)__builtin_neon_vget_lanev2si (__a, __b);
6152 }
6153 
6154 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6155 /* Functions cannot accept or return __FP16 types.  Even if the function
6156    were marked always-inline so there were no call sites, the declaration
6157    would nonetheless raise an error.  Hence, we must use a macro instead.  */
6158 
6159 #define vget_lane_f16(__v, __idx)			\
6160   __extension__						\
6161   ({							\
6162     float16x4_t __vec = (__v);				\
6163     __builtin_arm_lane_check (4, __idx);		\
6164     float16_t __res = __vec[__arm_lane(__vec, __idx)];	\
6165     __res;						\
6166   })
6167 #endif
6168 
6169 __extension__ extern __inline float32_t
6170 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_f32(float32x2_t __a,const int __b)6171 vget_lane_f32 (float32x2_t __a, const int __b)
6172 {
6173   return (float32_t)__builtin_neon_vget_lanev2sf (__a, __b);
6174 }
6175 
6176 __extension__ extern __inline uint8_t
6177 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u8(uint8x8_t __a,const int __b)6178 vget_lane_u8 (uint8x8_t __a, const int __b)
6179 {
6180   return (uint8_t)__builtin_neon_vget_laneuv8qi ((int8x8_t) __a, __b);
6181 }
6182 
6183 __extension__ extern __inline uint16_t
6184 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u16(uint16x4_t __a,const int __b)6185 vget_lane_u16 (uint16x4_t __a, const int __b)
6186 {
6187   return (uint16_t)__builtin_neon_vget_laneuv4hi ((int16x4_t) __a, __b);
6188 }
6189 
6190 __extension__ extern __inline uint32_t
6191 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u32(uint32x2_t __a,const int __b)6192 vget_lane_u32 (uint32x2_t __a, const int __b)
6193 {
6194   return (uint32_t)__builtin_neon_vget_laneuv2si ((int32x2_t) __a, __b);
6195 }
6196 
6197 __extension__ extern __inline poly8_t
6198 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_p8(poly8x8_t __a,const int __b)6199 vget_lane_p8 (poly8x8_t __a, const int __b)
6200 {
6201   return (poly8_t)__builtin_neon_vget_laneuv8qi ((int8x8_t) __a, __b);
6202 }
6203 
6204 __extension__ extern __inline poly16_t
6205 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_p16(poly16x4_t __a,const int __b)6206 vget_lane_p16 (poly16x4_t __a, const int __b)
6207 {
6208   return (poly16_t)__builtin_neon_vget_laneuv4hi ((int16x4_t) __a, __b);
6209 }
6210 
6211 __extension__ extern __inline int64_t
6212 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s64(int64x1_t __a,const int __b)6213 vget_lane_s64 (int64x1_t __a, const int __b)
6214 {
6215   return (int64_t)__builtin_neon_vget_lanedi (__a, __b);
6216 }
6217 
6218 #pragma GCC push_options
6219 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6220 __extension__ extern __inline poly64_t
6221 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_p64(poly64x1_t __a,const int __b)6222 vget_lane_p64 (poly64x1_t __a, const int __b)
6223 {
6224   return (poly64_t)__builtin_neon_vget_lanedi ((int64x1_t) __a, __b);
6225 }
6226 
6227 #pragma GCC pop_options
6228 __extension__ extern __inline uint64_t
6229 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u64(uint64x1_t __a,const int __b)6230 vget_lane_u64 (uint64x1_t __a, const int __b)
6231 {
6232   return (uint64_t)__builtin_neon_vget_lanedi ((int64x1_t) __a, __b);
6233 }
6234 
6235 __extension__ extern __inline int8_t
6236 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s8(int8x16_t __a,const int __b)6237 vgetq_lane_s8 (int8x16_t __a, const int __b)
6238 {
6239   return (int8_t)__builtin_neon_vget_lanev16qi (__a, __b);
6240 }
6241 
6242 __extension__ extern __inline int16_t
6243 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s16(int16x8_t __a,const int __b)6244 vgetq_lane_s16 (int16x8_t __a, const int __b)
6245 {
6246   return (int16_t)__builtin_neon_vget_lanev8hi (__a, __b);
6247 }
6248 
6249 __extension__ extern __inline int32_t
6250 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s32(int32x4_t __a,const int __b)6251 vgetq_lane_s32 (int32x4_t __a, const int __b)
6252 {
6253   return (int32_t)__builtin_neon_vget_lanev4si (__a, __b);
6254 }
6255 
6256 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6257 #define vgetq_lane_f16(__v, __idx)			\
6258   __extension__						\
6259   ({							\
6260     float16x8_t __vec = (__v);				\
6261     __builtin_arm_lane_check (8, __idx);		\
6262     float16_t __res = __vec[__arm_laneq(__vec, __idx)];	\
6263     __res;						\
6264   })
6265 #endif
6266 
6267 __extension__ extern __inline float32_t
6268 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_f32(float32x4_t __a,const int __b)6269 vgetq_lane_f32 (float32x4_t __a, const int __b)
6270 {
6271   return (float32_t)__builtin_neon_vget_lanev4sf (__a, __b);
6272 }
6273 
6274 __extension__ extern __inline uint8_t
6275 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u8(uint8x16_t __a,const int __b)6276 vgetq_lane_u8 (uint8x16_t __a, const int __b)
6277 {
6278   return (uint8_t)__builtin_neon_vget_laneuv16qi ((int8x16_t) __a, __b);
6279 }
6280 
6281 __extension__ extern __inline uint16_t
6282 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u16(uint16x8_t __a,const int __b)6283 vgetq_lane_u16 (uint16x8_t __a, const int __b)
6284 {
6285   return (uint16_t)__builtin_neon_vget_laneuv8hi ((int16x8_t) __a, __b);
6286 }
6287 
6288 __extension__ extern __inline uint32_t
6289 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u32(uint32x4_t __a,const int __b)6290 vgetq_lane_u32 (uint32x4_t __a, const int __b)
6291 {
6292   return (uint32_t)__builtin_neon_vget_laneuv4si ((int32x4_t) __a, __b);
6293 }
6294 
6295 __extension__ extern __inline poly8_t
6296 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_p8(poly8x16_t __a,const int __b)6297 vgetq_lane_p8 (poly8x16_t __a, const int __b)
6298 {
6299   return (poly8_t)__builtin_neon_vget_laneuv16qi ((int8x16_t) __a, __b);
6300 }
6301 
6302 __extension__ extern __inline poly16_t
6303 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_p16(poly16x8_t __a,const int __b)6304 vgetq_lane_p16 (poly16x8_t __a, const int __b)
6305 {
6306   return (poly16_t)__builtin_neon_vget_laneuv8hi ((int16x8_t) __a, __b);
6307 }
6308 
6309 __extension__ extern __inline int64_t
6310 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s64(int64x2_t __a,const int __b)6311 vgetq_lane_s64 (int64x2_t __a, const int __b)
6312 {
6313   return (int64_t)__builtin_neon_vget_lanev2di (__a, __b);
6314 }
6315 
6316 #pragma GCC push_options
6317 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6318 __extension__ extern __inline poly64_t
6319 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_p64(poly64x2_t __a,const int __b)6320 vgetq_lane_p64 (poly64x2_t __a, const int __b)
6321 {
6322   return (poly64_t)__builtin_neon_vget_lanev2di ((int64x2_t) __a, __b);
6323 }
6324 
6325 #pragma GCC pop_options
6326 __extension__ extern __inline uint64_t
6327 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u64(uint64x2_t __a,const int __b)6328 vgetq_lane_u64 (uint64x2_t __a, const int __b)
6329 {
6330   return (uint64_t)__builtin_neon_vget_lanev2di ((int64x2_t) __a, __b);
6331 }
6332 
6333 __extension__ extern __inline int8x8_t
6334 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s8(int8_t __a,int8x8_t __b,const int __c)6335 vset_lane_s8 (int8_t __a, int8x8_t __b, const int __c)
6336 {
6337   return (int8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, __b, __c);
6338 }
6339 
6340 __extension__ extern __inline int16x4_t
6341 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s16(int16_t __a,int16x4_t __b,const int __c)6342 vset_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
6343 {
6344   return (int16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, __b, __c);
6345 }
6346 
6347 __extension__ extern __inline int32x2_t
6348 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s32(int32_t __a,int32x2_t __b,const int __c)6349 vset_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
6350 {
6351   return (int32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, __b, __c);
6352 }
6353 
6354 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6355 #define vset_lane_f16(__e, __v, __idx)		\
6356   __extension__					\
6357   ({						\
6358     float16_t __elem = (__e);			\
6359     float16x4_t __vec = (__v);			\
6360     __builtin_arm_lane_check (4, __idx);	\
6361     __vec[__arm_lane (__vec, __idx)] = __elem;	\
6362     __vec;					\
6363   })
6364 #endif
6365 
6366 __extension__ extern __inline float32x2_t
6367 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_f32(float32_t __a,float32x2_t __b,const int __c)6368 vset_lane_f32 (float32_t __a, float32x2_t __b, const int __c)
6369 {
6370   return (float32x2_t)__builtin_neon_vset_lanev2sf ((__builtin_neon_sf) __a, __b, __c);
6371 }
6372 
6373 __extension__ extern __inline uint8x8_t
6374 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u8(uint8_t __a,uint8x8_t __b,const int __c)6375 vset_lane_u8 (uint8_t __a, uint8x8_t __b, const int __c)
6376 {
6377   return (uint8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
6378 }
6379 
6380 __extension__ extern __inline uint16x4_t
6381 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u16(uint16_t __a,uint16x4_t __b,const int __c)6382 vset_lane_u16 (uint16_t __a, uint16x4_t __b, const int __c)
6383 {
6384   return (uint16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
6385 }
6386 
6387 __extension__ extern __inline uint32x2_t
6388 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u32(uint32_t __a,uint32x2_t __b,const int __c)6389 vset_lane_u32 (uint32_t __a, uint32x2_t __b, const int __c)
6390 {
6391   return (uint32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, (int32x2_t) __b, __c);
6392 }
6393 
6394 __extension__ extern __inline poly8x8_t
6395 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_p8(poly8_t __a,poly8x8_t __b,const int __c)6396 vset_lane_p8 (poly8_t __a, poly8x8_t __b, const int __c)
6397 {
6398   return (poly8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
6399 }
6400 
6401 __extension__ extern __inline poly16x4_t
6402 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_p16(poly16_t __a,poly16x4_t __b,const int __c)6403 vset_lane_p16 (poly16_t __a, poly16x4_t __b, const int __c)
6404 {
6405   return (poly16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
6406 }
6407 
6408 __extension__ extern __inline int64x1_t
6409 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s64(int64_t __a,int64x1_t __b,const int __c)6410 vset_lane_s64 (int64_t __a, int64x1_t __b, const int __c)
6411 {
6412   return (int64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, __b, __c);
6413 }
6414 
6415 __extension__ extern __inline uint64x1_t
6416 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u64(uint64_t __a,uint64x1_t __b,const int __c)6417 vset_lane_u64 (uint64_t __a, uint64x1_t __b, const int __c)
6418 {
6419   return (uint64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, (int64x1_t) __b, __c);
6420 }
6421 
6422 #pragma GCC push_options
6423 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6424 __extension__ extern __inline poly64x1_t
6425 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_p64(poly64_t __a,poly64x1_t __b,const int __c)6426 vset_lane_p64 (poly64_t __a, poly64x1_t __b, const int __c)
6427 {
6428   return (poly64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, (int64x1_t) __b, __c);
6429 }
6430 
6431 #pragma GCC pop_options
6432 __extension__ extern __inline int8x16_t
6433 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s8(int8_t __a,int8x16_t __b,const int __c)6434 vsetq_lane_s8 (int8_t __a, int8x16_t __b, const int __c)
6435 {
6436   return (int8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, __b, __c);
6437 }
6438 
6439 __extension__ extern __inline int16x8_t
6440 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s16(int16_t __a,int16x8_t __b,const int __c)6441 vsetq_lane_s16 (int16_t __a, int16x8_t __b, const int __c)
6442 {
6443   return (int16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, __b, __c);
6444 }
6445 
6446 __extension__ extern __inline int32x4_t
6447 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s32(int32_t __a,int32x4_t __b,const int __c)6448 vsetq_lane_s32 (int32_t __a, int32x4_t __b, const int __c)
6449 {
6450   return (int32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, __b, __c);
6451 }
6452 
6453 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6454 #define vsetq_lane_f16(__e, __v, __idx)		\
6455   __extension__					\
6456   ({						\
6457     float16_t __elem = (__e);			\
6458     float16x8_t __vec = (__v);			\
6459     __builtin_arm_lane_check (8, __idx);	\
6460     __vec[__arm_laneq (__vec, __idx)] = __elem;	\
6461     __vec;					\
6462   })
6463 #endif
6464 
6465 __extension__ extern __inline float32x4_t
6466 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_f32(float32_t __a,float32x4_t __b,const int __c)6467 vsetq_lane_f32 (float32_t __a, float32x4_t __b, const int __c)
6468 {
6469   return (float32x4_t)__builtin_neon_vset_lanev4sf ((__builtin_neon_sf) __a, __b, __c);
6470 }
6471 
6472 __extension__ extern __inline uint8x16_t
6473 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u8(uint8_t __a,uint8x16_t __b,const int __c)6474 vsetq_lane_u8 (uint8_t __a, uint8x16_t __b, const int __c)
6475 {
6476   return (uint8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
6477 }
6478 
6479 __extension__ extern __inline uint16x8_t
6480 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u16(uint16_t __a,uint16x8_t __b,const int __c)6481 vsetq_lane_u16 (uint16_t __a, uint16x8_t __b, const int __c)
6482 {
6483   return (uint16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
6484 }
6485 
6486 __extension__ extern __inline uint32x4_t
6487 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u32(uint32_t __a,uint32x4_t __b,const int __c)6488 vsetq_lane_u32 (uint32_t __a, uint32x4_t __b, const int __c)
6489 {
6490   return (uint32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, (int32x4_t) __b, __c);
6491 }
6492 
6493 __extension__ extern __inline poly8x16_t
6494 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_p8(poly8_t __a,poly8x16_t __b,const int __c)6495 vsetq_lane_p8 (poly8_t __a, poly8x16_t __b, const int __c)
6496 {
6497   return (poly8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
6498 }
6499 
6500 __extension__ extern __inline poly16x8_t
6501 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_p16(poly16_t __a,poly16x8_t __b,const int __c)6502 vsetq_lane_p16 (poly16_t __a, poly16x8_t __b, const int __c)
6503 {
6504   return (poly16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
6505 }
6506 
6507 __extension__ extern __inline int64x2_t
6508 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s64(int64_t __a,int64x2_t __b,const int __c)6509 vsetq_lane_s64 (int64_t __a, int64x2_t __b, const int __c)
6510 {
6511   return (int64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, __b, __c);
6512 }
6513 
6514 __extension__ extern __inline uint64x2_t
6515 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u64(uint64_t __a,uint64x2_t __b,const int __c)6516 vsetq_lane_u64 (uint64_t __a, uint64x2_t __b, const int __c)
6517 {
6518   return (uint64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, (int64x2_t) __b, __c);
6519 }
6520 
6521 #pragma GCC push_options
6522 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6523 __extension__ extern __inline poly64x2_t
6524 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_p64(poly64_t __a,poly64x2_t __b,const int __c)6525 vsetq_lane_p64 (poly64_t __a, poly64x2_t __b, const int __c)
6526 {
6527   return (poly64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, (int64x2_t) __b, __c);
6528 }
6529 
6530 __extension__ extern __inline poly64x1_t
6531 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_p64(uint64_t __a)6532 vcreate_p64 (uint64_t __a)
6533 {
6534   return (poly64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
6535 }
6536 
6537 #pragma GCC pop_options
6538 __extension__ extern __inline int8x8_t
6539 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s8(uint64_t __a)6540 vcreate_s8 (uint64_t __a)
6541 {
6542   return (int8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
6543 }
6544 
6545 __extension__ extern __inline int16x4_t
6546 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s16(uint64_t __a)6547 vcreate_s16 (uint64_t __a)
6548 {
6549   return (int16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
6550 }
6551 
6552 __extension__ extern __inline int32x2_t
6553 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s32(uint64_t __a)6554 vcreate_s32 (uint64_t __a)
6555 {
6556   return (int32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
6557 }
6558 
6559 __extension__ extern __inline int64x1_t
6560 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s64(uint64_t __a)6561 vcreate_s64 (uint64_t __a)
6562 {
6563   return (int64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
6564 }
6565 
6566 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6567 __extension__ extern __inline float16x4_t
6568 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_f16(uint64_t __a)6569 vcreate_f16 (uint64_t __a)
6570 {
6571   return (float16x4_t) __a;
6572 }
6573 #endif
6574 
6575 __extension__ extern __inline float32x2_t
6576 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_f32(uint64_t __a)6577 vcreate_f32 (uint64_t __a)
6578 {
6579   return (float32x2_t)__builtin_neon_vcreatev2sf ((__builtin_neon_di) __a);
6580 }
6581 
6582 __extension__ extern __inline uint8x8_t
6583 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u8(uint64_t __a)6584 vcreate_u8 (uint64_t __a)
6585 {
6586   return (uint8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
6587 }
6588 
6589 __extension__ extern __inline uint16x4_t
6590 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u16(uint64_t __a)6591 vcreate_u16 (uint64_t __a)
6592 {
6593   return (uint16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
6594 }
6595 
6596 __extension__ extern __inline uint32x2_t
6597 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u32(uint64_t __a)6598 vcreate_u32 (uint64_t __a)
6599 {
6600   return (uint32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
6601 }
6602 
6603 __extension__ extern __inline uint64x1_t
6604 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u64(uint64_t __a)6605 vcreate_u64 (uint64_t __a)
6606 {
6607   return (uint64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
6608 }
6609 
6610 __extension__ extern __inline poly8x8_t
6611 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_p8(uint64_t __a)6612 vcreate_p8 (uint64_t __a)
6613 {
6614   return (poly8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
6615 }
6616 
6617 __extension__ extern __inline poly16x4_t
6618 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_p16(uint64_t __a)6619 vcreate_p16 (uint64_t __a)
6620 {
6621   return (poly16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
6622 }
6623 
6624 __extension__ extern __inline int8x8_t
6625 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s8(int8_t __a)6626 vdup_n_s8 (int8_t __a)
6627 {
6628   return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
6629 }
6630 
6631 __extension__ extern __inline int16x4_t
6632 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s16(int16_t __a)6633 vdup_n_s16 (int16_t __a)
6634 {
6635   return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
6636 }
6637 
6638 __extension__ extern __inline int32x2_t
6639 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s32(int32_t __a)6640 vdup_n_s32 (int32_t __a)
6641 {
6642   return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
6643 }
6644 
6645 __extension__ extern __inline float32x2_t
6646 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_f32(float32_t __a)6647 vdup_n_f32 (float32_t __a)
6648 {
6649   return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
6650 }
6651 
6652 __extension__ extern __inline uint8x8_t
6653 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u8(uint8_t __a)6654 vdup_n_u8 (uint8_t __a)
6655 {
6656   return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
6657 }
6658 
6659 __extension__ extern __inline uint16x4_t
6660 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u16(uint16_t __a)6661 vdup_n_u16 (uint16_t __a)
6662 {
6663   return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
6664 }
6665 
6666 __extension__ extern __inline uint32x2_t
6667 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u32(uint32_t __a)6668 vdup_n_u32 (uint32_t __a)
6669 {
6670   return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
6671 }
6672 
6673 __extension__ extern __inline poly8x8_t
6674 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p8(poly8_t __a)6675 vdup_n_p8 (poly8_t __a)
6676 {
6677   return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
6678 }
6679 
6680 __extension__ extern __inline poly16x4_t
6681 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p16(poly16_t __a)6682 vdup_n_p16 (poly16_t __a)
6683 {
6684   return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
6685 }
6686 
6687 #pragma GCC push_options
6688 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6689 __extension__ extern __inline poly64x1_t
6690 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p64(poly64_t __a)6691 vdup_n_p64 (poly64_t __a)
6692 {
6693   return (poly64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
6694 }
6695 
6696 #pragma GCC pop_options
6697 __extension__ extern __inline int64x1_t
6698 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s64(int64_t __a)6699 vdup_n_s64 (int64_t __a)
6700 {
6701   return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
6702 }
6703 
6704 __extension__ extern __inline uint64x1_t
6705 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u64(uint64_t __a)6706 vdup_n_u64 (uint64_t __a)
6707 {
6708   return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
6709 }
6710 
6711 #pragma GCC push_options
6712 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6713 __extension__ extern __inline poly64x2_t
6714 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p64(poly64_t __a)6715 vdupq_n_p64 (poly64_t __a)
6716 {
6717   return (poly64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
6718 }
6719 
6720 #pragma GCC pop_options
6721 __extension__ extern __inline int8x16_t
6722 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s8(int8_t __a)6723 vdupq_n_s8 (int8_t __a)
6724 {
6725   return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
6726 }
6727 
6728 __extension__ extern __inline int16x8_t
6729 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s16(int16_t __a)6730 vdupq_n_s16 (int16_t __a)
6731 {
6732   return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
6733 }
6734 
6735 __extension__ extern __inline int32x4_t
6736 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s32(int32_t __a)6737 vdupq_n_s32 (int32_t __a)
6738 {
6739   return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
6740 }
6741 
6742 __extension__ extern __inline float32x4_t
6743 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_f32(float32_t __a)6744 vdupq_n_f32 (float32_t __a)
6745 {
6746   return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
6747 }
6748 
6749 __extension__ extern __inline uint8x16_t
6750 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u8(uint8_t __a)6751 vdupq_n_u8 (uint8_t __a)
6752 {
6753   return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
6754 }
6755 
6756 __extension__ extern __inline uint16x8_t
6757 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u16(uint16_t __a)6758 vdupq_n_u16 (uint16_t __a)
6759 {
6760   return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
6761 }
6762 
6763 __extension__ extern __inline uint32x4_t
6764 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u32(uint32_t __a)6765 vdupq_n_u32 (uint32_t __a)
6766 {
6767   return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
6768 }
6769 
6770 __extension__ extern __inline poly8x16_t
6771 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p8(poly8_t __a)6772 vdupq_n_p8 (poly8_t __a)
6773 {
6774   return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
6775 }
6776 
6777 __extension__ extern __inline poly16x8_t
6778 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p16(poly16_t __a)6779 vdupq_n_p16 (poly16_t __a)
6780 {
6781   return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
6782 }
6783 
6784 __extension__ extern __inline int64x2_t
6785 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s64(int64_t __a)6786 vdupq_n_s64 (int64_t __a)
6787 {
6788   return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
6789 }
6790 
6791 __extension__ extern __inline uint64x2_t
6792 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u64(uint64_t __a)6793 vdupq_n_u64 (uint64_t __a)
6794 {
6795   return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
6796 }
6797 
6798 __extension__ extern __inline int8x8_t
6799 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s8(int8_t __a)6800 vmov_n_s8 (int8_t __a)
6801 {
6802   return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
6803 }
6804 
6805 __extension__ extern __inline int16x4_t
6806 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s16(int16_t __a)6807 vmov_n_s16 (int16_t __a)
6808 {
6809   return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
6810 }
6811 
6812 __extension__ extern __inline int32x2_t
6813 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s32(int32_t __a)6814 vmov_n_s32 (int32_t __a)
6815 {
6816   return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
6817 }
6818 
6819 __extension__ extern __inline float32x2_t
6820 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_f32(float32_t __a)6821 vmov_n_f32 (float32_t __a)
6822 {
6823   return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
6824 }
6825 
6826 __extension__ extern __inline uint8x8_t
6827 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u8(uint8_t __a)6828 vmov_n_u8 (uint8_t __a)
6829 {
6830   return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
6831 }
6832 
6833 __extension__ extern __inline uint16x4_t
6834 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u16(uint16_t __a)6835 vmov_n_u16 (uint16_t __a)
6836 {
6837   return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
6838 }
6839 
6840 __extension__ extern __inline uint32x2_t
6841 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u32(uint32_t __a)6842 vmov_n_u32 (uint32_t __a)
6843 {
6844   return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
6845 }
6846 
6847 __extension__ extern __inline poly8x8_t
6848 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_p8(poly8_t __a)6849 vmov_n_p8 (poly8_t __a)
6850 {
6851   return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
6852 }
6853 
6854 __extension__ extern __inline poly16x4_t
6855 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_p16(poly16_t __a)6856 vmov_n_p16 (poly16_t __a)
6857 {
6858   return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
6859 }
6860 
6861 __extension__ extern __inline int64x1_t
6862 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s64(int64_t __a)6863 vmov_n_s64 (int64_t __a)
6864 {
6865   return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
6866 }
6867 
6868 __extension__ extern __inline uint64x1_t
6869 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u64(uint64_t __a)6870 vmov_n_u64 (uint64_t __a)
6871 {
6872   return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
6873 }
6874 
6875 __extension__ extern __inline int8x16_t
6876 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s8(int8_t __a)6877 vmovq_n_s8 (int8_t __a)
6878 {
6879   return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
6880 }
6881 
6882 __extension__ extern __inline int16x8_t
6883 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s16(int16_t __a)6884 vmovq_n_s16 (int16_t __a)
6885 {
6886   return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
6887 }
6888 
6889 __extension__ extern __inline int32x4_t
6890 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s32(int32_t __a)6891 vmovq_n_s32 (int32_t __a)
6892 {
6893   return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
6894 }
6895 
6896 __extension__ extern __inline float32x4_t
6897 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_f32(float32_t __a)6898 vmovq_n_f32 (float32_t __a)
6899 {
6900   return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
6901 }
6902 
6903 __extension__ extern __inline uint8x16_t
6904 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u8(uint8_t __a)6905 vmovq_n_u8 (uint8_t __a)
6906 {
6907   return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
6908 }
6909 
6910 __extension__ extern __inline uint16x8_t
6911 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u16(uint16_t __a)6912 vmovq_n_u16 (uint16_t __a)
6913 {
6914   return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
6915 }
6916 
6917 __extension__ extern __inline uint32x4_t
6918 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u32(uint32_t __a)6919 vmovq_n_u32 (uint32_t __a)
6920 {
6921   return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
6922 }
6923 
6924 __extension__ extern __inline poly8x16_t
6925 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_p8(poly8_t __a)6926 vmovq_n_p8 (poly8_t __a)
6927 {
6928   return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
6929 }
6930 
6931 __extension__ extern __inline poly16x8_t
6932 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_p16(poly16_t __a)6933 vmovq_n_p16 (poly16_t __a)
6934 {
6935   return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
6936 }
6937 
6938 __extension__ extern __inline int64x2_t
6939 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s64(int64_t __a)6940 vmovq_n_s64 (int64_t __a)
6941 {
6942   return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
6943 }
6944 
6945 __extension__ extern __inline uint64x2_t
6946 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u64(uint64_t __a)6947 vmovq_n_u64 (uint64_t __a)
6948 {
6949   return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
6950 }
6951 
6952 __extension__ extern __inline int8x8_t
6953 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s8(int8x8_t __a,const int __b)6954 vdup_lane_s8 (int8x8_t __a, const int __b)
6955 {
6956   return (int8x8_t)__builtin_neon_vdup_lanev8qi (__a, __b);
6957 }
6958 
6959 __extension__ extern __inline int16x4_t
6960 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s16(int16x4_t __a,const int __b)6961 vdup_lane_s16 (int16x4_t __a, const int __b)
6962 {
6963   return (int16x4_t)__builtin_neon_vdup_lanev4hi (__a, __b);
6964 }
6965 
6966 __extension__ extern __inline int32x2_t
6967 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s32(int32x2_t __a,const int __b)6968 vdup_lane_s32 (int32x2_t __a, const int __b)
6969 {
6970   return (int32x2_t)__builtin_neon_vdup_lanev2si (__a, __b);
6971 }
6972 
6973 __extension__ extern __inline float32x2_t
6974 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_f32(float32x2_t __a,const int __b)6975 vdup_lane_f32 (float32x2_t __a, const int __b)
6976 {
6977   return (float32x2_t)__builtin_neon_vdup_lanev2sf (__a, __b);
6978 }
6979 
6980 __extension__ extern __inline uint8x8_t
6981 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u8(uint8x8_t __a,const int __b)6982 vdup_lane_u8 (uint8x8_t __a, const int __b)
6983 {
6984   return (uint8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
6985 }
6986 
6987 __extension__ extern __inline uint16x4_t
6988 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u16(uint16x4_t __a,const int __b)6989 vdup_lane_u16 (uint16x4_t __a, const int __b)
6990 {
6991   return (uint16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
6992 }
6993 
6994 __extension__ extern __inline uint32x2_t
6995 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u32(uint32x2_t __a,const int __b)6996 vdup_lane_u32 (uint32x2_t __a, const int __b)
6997 {
6998   return (uint32x2_t)__builtin_neon_vdup_lanev2si ((int32x2_t) __a, __b);
6999 }
7000 
7001 __extension__ extern __inline poly8x8_t
7002 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p8(poly8x8_t __a,const int __b)7003 vdup_lane_p8 (poly8x8_t __a, const int __b)
7004 {
7005   return (poly8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
7006 }
7007 
7008 __extension__ extern __inline poly16x4_t
7009 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p16(poly16x4_t __a,const int __b)7010 vdup_lane_p16 (poly16x4_t __a, const int __b)
7011 {
7012   return (poly16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
7013 }
7014 
7015 #pragma GCC push_options
7016 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7017 __extension__ extern __inline poly64x1_t
7018 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p64(poly64x1_t __a,const int __b)7019 vdup_lane_p64 (poly64x1_t __a, const int __b)
7020 {
7021   return (poly64x1_t)__builtin_neon_vdup_lanedi (__a, __b);
7022 }
7023 
7024 #pragma GCC pop_options
7025 __extension__ extern __inline int64x1_t
7026 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s64(int64x1_t __a,const int __b)7027 vdup_lane_s64 (int64x1_t __a, const int __b)
7028 {
7029   return (int64x1_t)__builtin_neon_vdup_lanedi (__a, __b);
7030 }
7031 
7032 __extension__ extern __inline uint64x1_t
7033 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u64(uint64x1_t __a,const int __b)7034 vdup_lane_u64 (uint64x1_t __a, const int __b)
7035 {
7036   return (uint64x1_t)__builtin_neon_vdup_lanedi ((int64x1_t) __a, __b);
7037 }
7038 
7039 __extension__ extern __inline int8x16_t
7040 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s8(int8x8_t __a,const int __b)7041 vdupq_lane_s8 (int8x8_t __a, const int __b)
7042 {
7043   return (int8x16_t)__builtin_neon_vdup_lanev16qi (__a, __b);
7044 }
7045 
7046 __extension__ extern __inline int16x8_t
7047 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s16(int16x4_t __a,const int __b)7048 vdupq_lane_s16 (int16x4_t __a, const int __b)
7049 {
7050   return (int16x8_t)__builtin_neon_vdup_lanev8hi (__a, __b);
7051 }
7052 
7053 __extension__ extern __inline int32x4_t
7054 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s32(int32x2_t __a,const int __b)7055 vdupq_lane_s32 (int32x2_t __a, const int __b)
7056 {
7057   return (int32x4_t)__builtin_neon_vdup_lanev4si (__a, __b);
7058 }
7059 
7060 __extension__ extern __inline float32x4_t
7061 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_f32(float32x2_t __a,const int __b)7062 vdupq_lane_f32 (float32x2_t __a, const int __b)
7063 {
7064   return (float32x4_t)__builtin_neon_vdup_lanev4sf (__a, __b);
7065 }
7066 
7067 __extension__ extern __inline uint8x16_t
7068 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u8(uint8x8_t __a,const int __b)7069 vdupq_lane_u8 (uint8x8_t __a, const int __b)
7070 {
7071   return (uint8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
7072 }
7073 
7074 __extension__ extern __inline uint16x8_t
7075 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u16(uint16x4_t __a,const int __b)7076 vdupq_lane_u16 (uint16x4_t __a, const int __b)
7077 {
7078   return (uint16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
7079 }
7080 
7081 __extension__ extern __inline uint32x4_t
7082 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u32(uint32x2_t __a,const int __b)7083 vdupq_lane_u32 (uint32x2_t __a, const int __b)
7084 {
7085   return (uint32x4_t)__builtin_neon_vdup_lanev4si ((int32x2_t) __a, __b);
7086 }
7087 
7088 __extension__ extern __inline poly8x16_t
7089 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p8(poly8x8_t __a,const int __b)7090 vdupq_lane_p8 (poly8x8_t __a, const int __b)
7091 {
7092   return (poly8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
7093 }
7094 
7095 __extension__ extern __inline poly16x8_t
7096 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p16(poly16x4_t __a,const int __b)7097 vdupq_lane_p16 (poly16x4_t __a, const int __b)
7098 {
7099   return (poly16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
7100 }
7101 
7102 #pragma GCC push_options
7103 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7104 __extension__ extern __inline poly64x2_t
7105 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p64(poly64x1_t __a,const int __b)7106 vdupq_lane_p64 (poly64x1_t __a, const int __b)
7107 {
7108   return (poly64x2_t)__builtin_neon_vdup_lanev2di (__a, __b);
7109 }
7110 
7111 #pragma GCC pop_options
7112 __extension__ extern __inline int64x2_t
7113 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s64(int64x1_t __a,const int __b)7114 vdupq_lane_s64 (int64x1_t __a, const int __b)
7115 {
7116   return (int64x2_t)__builtin_neon_vdup_lanev2di (__a, __b);
7117 }
7118 
7119 __extension__ extern __inline uint64x2_t
7120 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u64(uint64x1_t __a,const int __b)7121 vdupq_lane_u64 (uint64x1_t __a, const int __b)
7122 {
7123   return (uint64x2_t)__builtin_neon_vdup_lanev2di ((int64x1_t) __a, __b);
7124 }
7125 
7126 #pragma GCC push_options
7127 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7128 __extension__ extern __inline poly64x2_t
7129 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p64(poly64x1_t __a,poly64x1_t __b)7130 vcombine_p64 (poly64x1_t __a, poly64x1_t __b)
7131 {
7132   return (poly64x2_t)__builtin_neon_vcombinedi (__a, __b);
7133 }
7134 
7135 #pragma GCC pop_options
7136 __extension__ extern __inline int8x16_t
7137 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s8(int8x8_t __a,int8x8_t __b)7138 vcombine_s8 (int8x8_t __a, int8x8_t __b)
7139 {
7140   return (int8x16_t)__builtin_neon_vcombinev8qi (__a, __b);
7141 }
7142 
7143 __extension__ extern __inline int16x8_t
7144 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s16(int16x4_t __a,int16x4_t __b)7145 vcombine_s16 (int16x4_t __a, int16x4_t __b)
7146 {
7147   return (int16x8_t)__builtin_neon_vcombinev4hi (__a, __b);
7148 }
7149 
7150 __extension__ extern __inline int32x4_t
7151 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s32(int32x2_t __a,int32x2_t __b)7152 vcombine_s32 (int32x2_t __a, int32x2_t __b)
7153 {
7154   return (int32x4_t)__builtin_neon_vcombinev2si (__a, __b);
7155 }
7156 
7157 __extension__ extern __inline int64x2_t
7158 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s64(int64x1_t __a,int64x1_t __b)7159 vcombine_s64 (int64x1_t __a, int64x1_t __b)
7160 {
7161   return (int64x2_t)__builtin_neon_vcombinedi (__a, __b);
7162 }
7163 
7164 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7165 __extension__ extern __inline float16x8_t
7166 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_f16(float16x4_t __a,float16x4_t __b)7167 vcombine_f16 (float16x4_t __a, float16x4_t __b)
7168 {
7169   return __builtin_neon_vcombinev4hf (__a, __b);
7170 }
7171 #endif
7172 
7173 __extension__ extern __inline float32x4_t
7174 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_f32(float32x2_t __a,float32x2_t __b)7175 vcombine_f32 (float32x2_t __a, float32x2_t __b)
7176 {
7177   return (float32x4_t)__builtin_neon_vcombinev2sf (__a, __b);
7178 }
7179 
7180 __extension__ extern __inline uint8x16_t
7181 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u8(uint8x8_t __a,uint8x8_t __b)7182 vcombine_u8 (uint8x8_t __a, uint8x8_t __b)
7183 {
7184   return (uint8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
7185 }
7186 
7187 __extension__ extern __inline uint16x8_t
7188 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u16(uint16x4_t __a,uint16x4_t __b)7189 vcombine_u16 (uint16x4_t __a, uint16x4_t __b)
7190 {
7191   return (uint16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
7192 }
7193 
7194 __extension__ extern __inline uint32x4_t
7195 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u32(uint32x2_t __a,uint32x2_t __b)7196 vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
7197 {
7198   return (uint32x4_t)__builtin_neon_vcombinev2si ((int32x2_t) __a, (int32x2_t) __b);
7199 }
7200 
7201 __extension__ extern __inline uint64x2_t
7202 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u64(uint64x1_t __a,uint64x1_t __b)7203 vcombine_u64 (uint64x1_t __a, uint64x1_t __b)
7204 {
7205   return (uint64x2_t)__builtin_neon_vcombinedi ((int64x1_t) __a, (int64x1_t) __b);
7206 }
7207 
7208 __extension__ extern __inline poly8x16_t
7209 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p8(poly8x8_t __a,poly8x8_t __b)7210 vcombine_p8 (poly8x8_t __a, poly8x8_t __b)
7211 {
7212   return (poly8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
7213 }
7214 
7215 __extension__ extern __inline poly16x8_t
7216 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p16(poly16x4_t __a,poly16x4_t __b)7217 vcombine_p16 (poly16x4_t __a, poly16x4_t __b)
7218 {
7219   return (poly16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
7220 }
7221 
7222 #pragma GCC push_options
7223 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7224 __extension__ extern __inline poly64x1_t
7225 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p64(poly64x2_t __a)7226 vget_high_p64 (poly64x2_t __a)
7227 {
7228   return (poly64x1_t)__builtin_neon_vget_highv2di ((int64x2_t) __a);
7229 }
7230 
7231 #pragma GCC pop_options
7232 __extension__ extern __inline int8x8_t
7233 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s8(int8x16_t __a)7234 vget_high_s8 (int8x16_t __a)
7235 {
7236   return (int8x8_t)__builtin_neon_vget_highv16qi (__a);
7237 }
7238 
7239 __extension__ extern __inline int16x4_t
7240 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s16(int16x8_t __a)7241 vget_high_s16 (int16x8_t __a)
7242 {
7243   return (int16x4_t)__builtin_neon_vget_highv8hi (__a);
7244 }
7245 
7246 __extension__ extern __inline int32x2_t
7247 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s32(int32x4_t __a)7248 vget_high_s32 (int32x4_t __a)
7249 {
7250   return (int32x2_t)__builtin_neon_vget_highv4si (__a);
7251 }
7252 
7253 __extension__ extern __inline int64x1_t
7254 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s64(int64x2_t __a)7255 vget_high_s64 (int64x2_t __a)
7256 {
7257   return (int64x1_t)__builtin_neon_vget_highv2di (__a);
7258 }
7259 
7260 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7261 __extension__ extern __inline float16x4_t
7262 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_f16(float16x8_t __a)7263 vget_high_f16 (float16x8_t __a)
7264 {
7265   return __builtin_neon_vget_highv8hf (__a);
7266 }
7267 #endif
7268 
7269 __extension__ extern __inline float32x2_t
7270 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_f32(float32x4_t __a)7271 vget_high_f32 (float32x4_t __a)
7272 {
7273   return (float32x2_t)__builtin_neon_vget_highv4sf (__a);
7274 }
7275 
7276 __extension__ extern __inline uint8x8_t
7277 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u8(uint8x16_t __a)7278 vget_high_u8 (uint8x16_t __a)
7279 {
7280   return (uint8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
7281 }
7282 
7283 __extension__ extern __inline uint16x4_t
7284 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u16(uint16x8_t __a)7285 vget_high_u16 (uint16x8_t __a)
7286 {
7287   return (uint16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
7288 }
7289 
7290 __extension__ extern __inline uint32x2_t
7291 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u32(uint32x4_t __a)7292 vget_high_u32 (uint32x4_t __a)
7293 {
7294   return (uint32x2_t)__builtin_neon_vget_highv4si ((int32x4_t) __a);
7295 }
7296 
7297 __extension__ extern __inline uint64x1_t
7298 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u64(uint64x2_t __a)7299 vget_high_u64 (uint64x2_t __a)
7300 {
7301   return (uint64x1_t)__builtin_neon_vget_highv2di ((int64x2_t) __a);
7302 }
7303 
7304 __extension__ extern __inline poly8x8_t
7305 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p8(poly8x16_t __a)7306 vget_high_p8 (poly8x16_t __a)
7307 {
7308   return (poly8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
7309 }
7310 
7311 __extension__ extern __inline poly16x4_t
7312 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p16(poly16x8_t __a)7313 vget_high_p16 (poly16x8_t __a)
7314 {
7315   return (poly16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
7316 }
7317 
7318 __extension__ extern __inline int8x8_t
7319 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s8(int8x16_t __a)7320 vget_low_s8 (int8x16_t __a)
7321 {
7322   return (int8x8_t)__builtin_neon_vget_lowv16qi (__a);
7323 }
7324 
7325 __extension__ extern __inline int16x4_t
7326 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s16(int16x8_t __a)7327 vget_low_s16 (int16x8_t __a)
7328 {
7329   return (int16x4_t)__builtin_neon_vget_lowv8hi (__a);
7330 }
7331 
7332 __extension__ extern __inline int32x2_t
7333 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s32(int32x4_t __a)7334 vget_low_s32 (int32x4_t __a)
7335 {
7336   return (int32x2_t)__builtin_neon_vget_lowv4si (__a);
7337 }
7338 
7339 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7340 __extension__ extern __inline float16x4_t
7341 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_f16(float16x8_t __a)7342 vget_low_f16 (float16x8_t __a)
7343 {
7344   return __builtin_neon_vget_lowv8hf (__a);
7345 }
7346 #endif
7347 
7348 __extension__ extern __inline float32x2_t
7349 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_f32(float32x4_t __a)7350 vget_low_f32 (float32x4_t __a)
7351 {
7352   return (float32x2_t)__builtin_neon_vget_lowv4sf (__a);
7353 }
7354 
7355 __extension__ extern __inline uint8x8_t
7356 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u8(uint8x16_t __a)7357 vget_low_u8 (uint8x16_t __a)
7358 {
7359   return (uint8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
7360 }
7361 
7362 __extension__ extern __inline uint16x4_t
7363 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u16(uint16x8_t __a)7364 vget_low_u16 (uint16x8_t __a)
7365 {
7366   return (uint16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
7367 }
7368 
7369 __extension__ extern __inline uint32x2_t
7370 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u32(uint32x4_t __a)7371 vget_low_u32 (uint32x4_t __a)
7372 {
7373   return (uint32x2_t)__builtin_neon_vget_lowv4si ((int32x4_t) __a);
7374 }
7375 
7376 __extension__ extern __inline poly8x8_t
7377 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p8(poly8x16_t __a)7378 vget_low_p8 (poly8x16_t __a)
7379 {
7380   return (poly8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
7381 }
7382 
7383 __extension__ extern __inline poly16x4_t
7384 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p16(poly16x8_t __a)7385 vget_low_p16 (poly16x8_t __a)
7386 {
7387   return (poly16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
7388 }
7389 
7390 #pragma GCC push_options
7391 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7392 __extension__ extern __inline poly64x1_t
7393 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p64(poly64x2_t __a)7394 vget_low_p64 (poly64x2_t __a)
7395 {
7396   return (poly64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a);
7397 }
7398 
7399 #pragma GCC pop_options
7400 __extension__ extern __inline int64x1_t
7401 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s64(int64x2_t __a)7402 vget_low_s64 (int64x2_t __a)
7403 {
7404   return (int64x1_t)__builtin_neon_vget_lowv2di (__a);
7405 }
7406 
7407 __extension__ extern __inline uint64x1_t
7408 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u64(uint64x2_t __a)7409 vget_low_u64 (uint64x2_t __a)
7410 {
7411   return (uint64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a);
7412 }
7413 
7414 __extension__ extern __inline int32x2_t
7415 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_s32_f32(float32x2_t __a)7416 vcvt_s32_f32 (float32x2_t __a)
7417 {
7418   return (int32x2_t)__builtin_neon_vcvtsv2sf (__a);
7419 }
7420 
7421 __extension__ extern __inline float32x2_t
7422 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_s32(int32x2_t __a)7423 vcvt_f32_s32 (int32x2_t __a)
7424 {
7425   return (float32x2_t)__builtin_neon_vcvtsv2si (__a);
7426 }
7427 
7428 __extension__ extern __inline float32x2_t
7429 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_u32(uint32x2_t __a)7430 vcvt_f32_u32 (uint32x2_t __a)
7431 {
7432   return (float32x2_t)__builtin_neon_vcvtuv2si ((int32x2_t) __a);
7433 }
7434 
7435 __extension__ extern __inline uint32x2_t
7436 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_u32_f32(float32x2_t __a)7437 vcvt_u32_f32 (float32x2_t __a)
7438 {
7439   return (uint32x2_t)__builtin_neon_vcvtuv2sf (__a);
7440 }
7441 
7442 __extension__ extern __inline int32x4_t
7443 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_s32_f32(float32x4_t __a)7444 vcvtq_s32_f32 (float32x4_t __a)
7445 {
7446   return (int32x4_t)__builtin_neon_vcvtsv4sf (__a);
7447 }
7448 
7449 __extension__ extern __inline float32x4_t
7450 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f32_s32(int32x4_t __a)7451 vcvtq_f32_s32 (int32x4_t __a)
7452 {
7453   return (float32x4_t)__builtin_neon_vcvtsv4si (__a);
7454 }
7455 
7456 __extension__ extern __inline float32x4_t
7457 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f32_u32(uint32x4_t __a)7458 vcvtq_f32_u32 (uint32x4_t __a)
7459 {
7460   return (float32x4_t)__builtin_neon_vcvtuv4si ((int32x4_t) __a);
7461 }
7462 
7463 __extension__ extern __inline uint32x4_t
7464 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_u32_f32(float32x4_t __a)7465 vcvtq_u32_f32 (float32x4_t __a)
7466 {
7467   return (uint32x4_t)__builtin_neon_vcvtuv4sf (__a);
7468 }
7469 
7470 #pragma GCC push_options
7471 #pragma GCC target ("fpu=neon-fp16")
7472 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7473 __extension__ extern __inline float16x4_t
7474 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_f32(float32x4_t __a)7475 vcvt_f16_f32 (float32x4_t __a)
7476 {
7477   return (float16x4_t)__builtin_neon_vcvtv4hfv4sf (__a);
7478 }
7479 #endif
7480 
7481 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7482 __extension__ extern __inline float32x4_t
7483 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_f16(float16x4_t __a)7484 vcvt_f32_f16 (float16x4_t __a)
7485 {
7486   return (float32x4_t)__builtin_neon_vcvtv4sfv4hf (__a);
7487 }
7488 #endif
7489 #pragma GCC pop_options
7490 
7491 __extension__ extern __inline int32x2_t
7492 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_s32_f32(float32x2_t __a,const int __b)7493 vcvt_n_s32_f32 (float32x2_t __a, const int __b)
7494 {
7495   return (int32x2_t)__builtin_neon_vcvts_nv2sf (__a, __b);
7496 }
7497 
7498 __extension__ extern __inline float32x2_t
7499 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f32_s32(int32x2_t __a,const int __b)7500 vcvt_n_f32_s32 (int32x2_t __a, const int __b)
7501 {
7502   return (float32x2_t)__builtin_neon_vcvts_nv2si (__a, __b);
7503 }
7504 
7505 __extension__ extern __inline float32x2_t
7506 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f32_u32(uint32x2_t __a,const int __b)7507 vcvt_n_f32_u32 (uint32x2_t __a, const int __b)
7508 {
7509   return (float32x2_t)__builtin_neon_vcvtu_nv2si ((int32x2_t) __a, __b);
7510 }
7511 
7512 __extension__ extern __inline uint32x2_t
7513 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_u32_f32(float32x2_t __a,const int __b)7514 vcvt_n_u32_f32 (float32x2_t __a, const int __b)
7515 {
7516   return (uint32x2_t)__builtin_neon_vcvtu_nv2sf (__a, __b);
7517 }
7518 
7519 __extension__ extern __inline int32x4_t
7520 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_s32_f32(float32x4_t __a,const int __b)7521 vcvtq_n_s32_f32 (float32x4_t __a, const int __b)
7522 {
7523   return (int32x4_t)__builtin_neon_vcvts_nv4sf (__a, __b);
7524 }
7525 
7526 __extension__ extern __inline float32x4_t
7527 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f32_s32(int32x4_t __a,const int __b)7528 vcvtq_n_f32_s32 (int32x4_t __a, const int __b)
7529 {
7530   return (float32x4_t)__builtin_neon_vcvts_nv4si (__a, __b);
7531 }
7532 
7533 __extension__ extern __inline float32x4_t
7534 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f32_u32(uint32x4_t __a,const int __b)7535 vcvtq_n_f32_u32 (uint32x4_t __a, const int __b)
7536 {
7537   return (float32x4_t)__builtin_neon_vcvtu_nv4si ((int32x4_t) __a, __b);
7538 }
7539 
7540 __extension__ extern __inline uint32x4_t
7541 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_u32_f32(float32x4_t __a,const int __b)7542 vcvtq_n_u32_f32 (float32x4_t __a, const int __b)
7543 {
7544   return (uint32x4_t)__builtin_neon_vcvtu_nv4sf (__a, __b);
7545 }
7546 
7547 __extension__ extern __inline int8x8_t
7548 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s16(int16x8_t __a)7549 vmovn_s16 (int16x8_t __a)
7550 {
7551   return (int8x8_t)__builtin_neon_vmovnv8hi (__a);
7552 }
7553 
7554 __extension__ extern __inline int16x4_t
7555 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s32(int32x4_t __a)7556 vmovn_s32 (int32x4_t __a)
7557 {
7558   return (int16x4_t)__builtin_neon_vmovnv4si (__a);
7559 }
7560 
7561 __extension__ extern __inline int32x2_t
7562 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s64(int64x2_t __a)7563 vmovn_s64 (int64x2_t __a)
7564 {
7565   return (int32x2_t)__builtin_neon_vmovnv2di (__a);
7566 }
7567 
7568 __extension__ extern __inline uint8x8_t
7569 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u16(uint16x8_t __a)7570 vmovn_u16 (uint16x8_t __a)
7571 {
7572   return (uint8x8_t)__builtin_neon_vmovnv8hi ((int16x8_t) __a);
7573 }
7574 
7575 __extension__ extern __inline uint16x4_t
7576 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u32(uint32x4_t __a)7577 vmovn_u32 (uint32x4_t __a)
7578 {
7579   return (uint16x4_t)__builtin_neon_vmovnv4si ((int32x4_t) __a);
7580 }
7581 
7582 __extension__ extern __inline uint32x2_t
7583 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u64(uint64x2_t __a)7584 vmovn_u64 (uint64x2_t __a)
7585 {
7586   return (uint32x2_t)__builtin_neon_vmovnv2di ((int64x2_t) __a);
7587 }
7588 
7589 __extension__ extern __inline int8x8_t
7590 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s16(int16x8_t __a)7591 vqmovn_s16 (int16x8_t __a)
7592 {
7593   return (int8x8_t)__builtin_neon_vqmovnsv8hi (__a);
7594 }
7595 
7596 __extension__ extern __inline int16x4_t
7597 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s32(int32x4_t __a)7598 vqmovn_s32 (int32x4_t __a)
7599 {
7600   return (int16x4_t)__builtin_neon_vqmovnsv4si (__a);
7601 }
7602 
7603 __extension__ extern __inline int32x2_t
7604 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s64(int64x2_t __a)7605 vqmovn_s64 (int64x2_t __a)
7606 {
7607   return (int32x2_t)__builtin_neon_vqmovnsv2di (__a);
7608 }
7609 
7610 __extension__ extern __inline uint8x8_t
7611 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u16(uint16x8_t __a)7612 vqmovn_u16 (uint16x8_t __a)
7613 {
7614   return (uint8x8_t)__builtin_neon_vqmovnuv8hi ((int16x8_t) __a);
7615 }
7616 
7617 __extension__ extern __inline uint16x4_t
7618 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u32(uint32x4_t __a)7619 vqmovn_u32 (uint32x4_t __a)
7620 {
7621   return (uint16x4_t)__builtin_neon_vqmovnuv4si ((int32x4_t) __a);
7622 }
7623 
7624 __extension__ extern __inline uint32x2_t
7625 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u64(uint64x2_t __a)7626 vqmovn_u64 (uint64x2_t __a)
7627 {
7628   return (uint32x2_t)__builtin_neon_vqmovnuv2di ((int64x2_t) __a);
7629 }
7630 
7631 __extension__ extern __inline uint8x8_t
7632 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s16(int16x8_t __a)7633 vqmovun_s16 (int16x8_t __a)
7634 {
7635   return (uint8x8_t)__builtin_neon_vqmovunv8hi (__a);
7636 }
7637 
7638 __extension__ extern __inline uint16x4_t
7639 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s32(int32x4_t __a)7640 vqmovun_s32 (int32x4_t __a)
7641 {
7642   return (uint16x4_t)__builtin_neon_vqmovunv4si (__a);
7643 }
7644 
7645 __extension__ extern __inline uint32x2_t
7646 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s64(int64x2_t __a)7647 vqmovun_s64 (int64x2_t __a)
7648 {
7649   return (uint32x2_t)__builtin_neon_vqmovunv2di (__a);
7650 }
7651 
7652 __extension__ extern __inline int16x8_t
7653 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s8(int8x8_t __a)7654 vmovl_s8 (int8x8_t __a)
7655 {
7656   return (int16x8_t)__builtin_neon_vmovlsv8qi (__a);
7657 }
7658 
7659 __extension__ extern __inline int32x4_t
7660 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s16(int16x4_t __a)7661 vmovl_s16 (int16x4_t __a)
7662 {
7663   return (int32x4_t)__builtin_neon_vmovlsv4hi (__a);
7664 }
7665 
7666 __extension__ extern __inline int64x2_t
7667 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s32(int32x2_t __a)7668 vmovl_s32 (int32x2_t __a)
7669 {
7670   return (int64x2_t)__builtin_neon_vmovlsv2si (__a);
7671 }
7672 
7673 __extension__ extern __inline uint16x8_t
7674 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u8(uint8x8_t __a)7675 vmovl_u8 (uint8x8_t __a)
7676 {
7677   return (uint16x8_t)__builtin_neon_vmovluv8qi ((int8x8_t) __a);
7678 }
7679 
7680 __extension__ extern __inline uint32x4_t
7681 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u16(uint16x4_t __a)7682 vmovl_u16 (uint16x4_t __a)
7683 {
7684   return (uint32x4_t)__builtin_neon_vmovluv4hi ((int16x4_t) __a);
7685 }
7686 
7687 __extension__ extern __inline uint64x2_t
7688 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u32(uint32x2_t __a)7689 vmovl_u32 (uint32x2_t __a)
7690 {
7691   return (uint64x2_t)__builtin_neon_vmovluv2si ((int32x2_t) __a);
7692 }
7693 
7694 __extension__ extern __inline int8x8_t
7695 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_s8(int8x8_t __a,int8x8_t __b)7696 vtbl1_s8 (int8x8_t __a, int8x8_t __b)
7697 {
7698   return (int8x8_t)__builtin_neon_vtbl1v8qi (__a, __b);
7699 }
7700 
7701 __extension__ extern __inline uint8x8_t
7702 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_u8(uint8x8_t __a,uint8x8_t __b)7703 vtbl1_u8 (uint8x8_t __a, uint8x8_t __b)
7704 {
7705   return (uint8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
7706 }
7707 
7708 __extension__ extern __inline poly8x8_t
7709 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_p8(poly8x8_t __a,uint8x8_t __b)7710 vtbl1_p8 (poly8x8_t __a, uint8x8_t __b)
7711 {
7712   return (poly8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
7713 }
7714 
7715 __extension__ extern __inline int8x8_t
7716 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_s8(int8x8x2_t __a,int8x8_t __b)7717 vtbl2_s8 (int8x8x2_t __a, int8x8_t __b)
7718 {
7719   union { int8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
7720   return (int8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, __b);
7721 }
7722 
7723 __extension__ extern __inline uint8x8_t
7724 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_u8(uint8x8x2_t __a,uint8x8_t __b)7725 vtbl2_u8 (uint8x8x2_t __a, uint8x8_t __b)
7726 {
7727   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
7728   return (uint8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
7729 }
7730 
7731 __extension__ extern __inline poly8x8_t
7732 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_p8(poly8x8x2_t __a,uint8x8_t __b)7733 vtbl2_p8 (poly8x8x2_t __a, uint8x8_t __b)
7734 {
7735   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
7736   return (poly8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
7737 }
7738 
7739 __extension__ extern __inline int8x8_t
7740 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_s8(int8x8x3_t __a,int8x8_t __b)7741 vtbl3_s8 (int8x8x3_t __a, int8x8_t __b)
7742 {
7743   union { int8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
7744   return (int8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, __b);
7745 }
7746 
7747 __extension__ extern __inline uint8x8_t
7748 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_u8(uint8x8x3_t __a,uint8x8_t __b)7749 vtbl3_u8 (uint8x8x3_t __a, uint8x8_t __b)
7750 {
7751   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
7752   return (uint8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
7753 }
7754 
7755 __extension__ extern __inline poly8x8_t
7756 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_p8(poly8x8x3_t __a,uint8x8_t __b)7757 vtbl3_p8 (poly8x8x3_t __a, uint8x8_t __b)
7758 {
7759   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
7760   return (poly8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
7761 }
7762 
7763 __extension__ extern __inline int8x8_t
7764 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_s8(int8x8x4_t __a,int8x8_t __b)7765 vtbl4_s8 (int8x8x4_t __a, int8x8_t __b)
7766 {
7767   union { int8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
7768   return (int8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, __b);
7769 }
7770 
7771 __extension__ extern __inline uint8x8_t
7772 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_u8(uint8x8x4_t __a,uint8x8_t __b)7773 vtbl4_u8 (uint8x8x4_t __a, uint8x8_t __b)
7774 {
7775   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
7776   return (uint8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
7777 }
7778 
7779 __extension__ extern __inline poly8x8_t
7780 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_p8(poly8x8x4_t __a,uint8x8_t __b)7781 vtbl4_p8 (poly8x8x4_t __a, uint8x8_t __b)
7782 {
7783   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
7784   return (poly8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
7785 }
7786 
7787 __extension__ extern __inline int8x8_t
7788 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)7789 vtbx1_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
7790 {
7791   return (int8x8_t)__builtin_neon_vtbx1v8qi (__a, __b, __c);
7792 }
7793 
7794 __extension__ extern __inline uint8x8_t
7795 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)7796 vtbx1_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
7797 {
7798   return (uint8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7799 }
7800 
7801 __extension__ extern __inline poly8x8_t
7802 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_p8(poly8x8_t __a,poly8x8_t __b,uint8x8_t __c)7803 vtbx1_p8 (poly8x8_t __a, poly8x8_t __b, uint8x8_t __c)
7804 {
7805   return (poly8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7806 }
7807 
7808 __extension__ extern __inline int8x8_t
7809 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_s8(int8x8_t __a,int8x8x2_t __b,int8x8_t __c)7810 vtbx2_s8 (int8x8_t __a, int8x8x2_t __b, int8x8_t __c)
7811 {
7812   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
7813   return (int8x8_t)__builtin_neon_vtbx2v8qi (__a, __bu.__o, __c);
7814 }
7815 
7816 __extension__ extern __inline uint8x8_t
7817 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_u8(uint8x8_t __a,uint8x8x2_t __b,uint8x8_t __c)7818 vtbx2_u8 (uint8x8_t __a, uint8x8x2_t __b, uint8x8_t __c)
7819 {
7820   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
7821   return (uint8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
7822 }
7823 
7824 __extension__ extern __inline poly8x8_t
7825 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_p8(poly8x8_t __a,poly8x8x2_t __b,uint8x8_t __c)7826 vtbx2_p8 (poly8x8_t __a, poly8x8x2_t __b, uint8x8_t __c)
7827 {
7828   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
7829   return (poly8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
7830 }
7831 
7832 __extension__ extern __inline int8x8_t
7833 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_s8(int8x8_t __a,int8x8x3_t __b,int8x8_t __c)7834 vtbx3_s8 (int8x8_t __a, int8x8x3_t __b, int8x8_t __c)
7835 {
7836   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
7837   return (int8x8_t)__builtin_neon_vtbx3v8qi (__a, __bu.__o, __c);
7838 }
7839 
7840 __extension__ extern __inline uint8x8_t
7841 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_u8(uint8x8_t __a,uint8x8x3_t __b,uint8x8_t __c)7842 vtbx3_u8 (uint8x8_t __a, uint8x8x3_t __b, uint8x8_t __c)
7843 {
7844   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
7845   return (uint8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
7846 }
7847 
7848 __extension__ extern __inline poly8x8_t
7849 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_p8(poly8x8_t __a,poly8x8x3_t __b,uint8x8_t __c)7850 vtbx3_p8 (poly8x8_t __a, poly8x8x3_t __b, uint8x8_t __c)
7851 {
7852   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
7853   return (poly8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
7854 }
7855 
7856 __extension__ extern __inline int8x8_t
7857 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_s8(int8x8_t __a,int8x8x4_t __b,int8x8_t __c)7858 vtbx4_s8 (int8x8_t __a, int8x8x4_t __b, int8x8_t __c)
7859 {
7860   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
7861   return (int8x8_t)__builtin_neon_vtbx4v8qi (__a, __bu.__o, __c);
7862 }
7863 
7864 __extension__ extern __inline uint8x8_t
7865 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_u8(uint8x8_t __a,uint8x8x4_t __b,uint8x8_t __c)7866 vtbx4_u8 (uint8x8_t __a, uint8x8x4_t __b, uint8x8_t __c)
7867 {
7868   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
7869   return (uint8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
7870 }
7871 
7872 __extension__ extern __inline poly8x8_t
7873 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_p8(poly8x8_t __a,poly8x8x4_t __b,uint8x8_t __c)7874 vtbx4_p8 (poly8x8_t __a, poly8x8x4_t __b, uint8x8_t __c)
7875 {
7876   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
7877   return (poly8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
7878 }
7879 
7880 __extension__ extern __inline int16x4_t
7881 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)7882 vmul_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
7883 {
7884   return (int16x4_t)__builtin_neon_vmul_lanev4hi (__a, __b, __c);
7885 }
7886 
7887 __extension__ extern __inline int32x2_t
7888 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)7889 vmul_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
7890 {
7891   return (int32x2_t)__builtin_neon_vmul_lanev2si (__a, __b, __c);
7892 }
7893 
7894 __extension__ extern __inline float32x2_t
7895 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_f32(float32x2_t __a,float32x2_t __b,const int __c)7896 vmul_lane_f32 (float32x2_t __a, float32x2_t __b, const int __c)
7897 {
7898   return (float32x2_t)__builtin_neon_vmul_lanev2sf (__a, __b, __c);
7899 }
7900 
7901 __extension__ extern __inline uint16x4_t
7902 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __c)7903 vmul_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
7904 {
7905   return (uint16x4_t)__builtin_neon_vmul_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
7906 }
7907 
7908 __extension__ extern __inline uint32x2_t
7909 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __c)7910 vmul_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
7911 {
7912   return (uint32x2_t)__builtin_neon_vmul_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c);
7913 }
7914 
7915 __extension__ extern __inline int16x8_t
7916 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)7917 vmulq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
7918 {
7919   return (int16x8_t)__builtin_neon_vmul_lanev8hi (__a, __b, __c);
7920 }
7921 
7922 __extension__ extern __inline int32x4_t
7923 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)7924 vmulq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
7925 {
7926   return (int32x4_t)__builtin_neon_vmul_lanev4si (__a, __b, __c);
7927 }
7928 
7929 __extension__ extern __inline float32x4_t
7930 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_f32(float32x4_t __a,float32x2_t __b,const int __c)7931 vmulq_lane_f32 (float32x4_t __a, float32x2_t __b, const int __c)
7932 {
7933   return (float32x4_t)__builtin_neon_vmul_lanev4sf (__a, __b, __c);
7934 }
7935 
7936 __extension__ extern __inline uint16x8_t
7937 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_u16(uint16x8_t __a,uint16x4_t __b,const int __c)7938 vmulq_lane_u16 (uint16x8_t __a, uint16x4_t __b, const int __c)
7939 {
7940   return (uint16x8_t)__builtin_neon_vmul_lanev8hi ((int16x8_t) __a, (int16x4_t) __b, __c);
7941 }
7942 
7943 __extension__ extern __inline uint32x4_t
7944 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_u32(uint32x4_t __a,uint32x2_t __b,const int __c)7945 vmulq_lane_u32 (uint32x4_t __a, uint32x2_t __b, const int __c)
7946 {
7947   return (uint32x4_t)__builtin_neon_vmul_lanev4si ((int32x4_t) __a, (int32x2_t) __b, __c);
7948 }
7949 
7950 __extension__ extern __inline int16x4_t
7951 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)7952 vmla_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
7953 {
7954   return (int16x4_t)__builtin_neon_vmla_lanev4hi (__a, __b, __c, __d);
7955 }
7956 
7957 __extension__ extern __inline int32x2_t
7958 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)7959 vmla_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
7960 {
7961   return (int32x2_t)__builtin_neon_vmla_lanev2si (__a, __b, __c, __d);
7962 }
7963 
7964 __extension__ extern __inline float32x2_t
7965 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __d)7966 vmla_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
7967 {
7968   return (float32x2_t)__builtin_neon_vmla_lanev2sf (__a, __b, __c, __d);
7969 }
7970 
7971 __extension__ extern __inline uint16x4_t
7972 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)7973 vmla_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
7974 {
7975   return (uint16x4_t)__builtin_neon_vmla_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d);
7976 }
7977 
7978 __extension__ extern __inline uint32x2_t
7979 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)7980 vmla_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
7981 {
7982   return (uint32x2_t)__builtin_neon_vmla_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d);
7983 }
7984 
7985 __extension__ extern __inline int16x8_t
7986 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)7987 vmlaq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
7988 {
7989   return (int16x8_t)__builtin_neon_vmla_lanev8hi (__a, __b, __c, __d);
7990 }
7991 
7992 __extension__ extern __inline int32x4_t
7993 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)7994 vmlaq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
7995 {
7996   return (int32x4_t)__builtin_neon_vmla_lanev4si (__a, __b, __c, __d);
7997 }
7998 
7999 __extension__ extern __inline float32x4_t
8000 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __d)8001 vmlaq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
8002 {
8003   return (float32x4_t)__builtin_neon_vmla_lanev4sf (__a, __b, __c, __d);
8004 }
8005 
8006 __extension__ extern __inline uint16x8_t
8007 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __d)8008 vmlaq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
8009 {
8010   return (uint16x8_t)__builtin_neon_vmla_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d);
8011 }
8012 
8013 __extension__ extern __inline uint32x4_t
8014 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __d)8015 vmlaq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
8016 {
8017   return (uint32x4_t)__builtin_neon_vmla_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d);
8018 }
8019 
8020 __extension__ extern __inline int32x4_t
8021 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8022 vmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8023 {
8024   return (int32x4_t)__builtin_neon_vmlals_lanev4hi (__a, __b, __c, __d);
8025 }
8026 
8027 __extension__ extern __inline int64x2_t
8028 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8029 vmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8030 {
8031   return (int64x2_t)__builtin_neon_vmlals_lanev2si (__a, __b, __c, __d);
8032 }
8033 
8034 __extension__ extern __inline uint32x4_t
8035 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)8036 vmlal_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
8037 {
8038   return (uint32x4_t)__builtin_neon_vmlalu_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d);
8039 }
8040 
8041 __extension__ extern __inline uint64x2_t
8042 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)8043 vmlal_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
8044 {
8045   return (uint64x2_t)__builtin_neon_vmlalu_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d);
8046 }
8047 
8048 __extension__ extern __inline int32x4_t
8049 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8050 vqdmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8051 {
8052   return (int32x4_t)__builtin_neon_vqdmlal_lanev4hi (__a, __b, __c, __d);
8053 }
8054 
8055 __extension__ extern __inline int64x2_t
8056 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8057 vqdmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8058 {
8059   return (int64x2_t)__builtin_neon_vqdmlal_lanev2si (__a, __b, __c, __d);
8060 }
8061 
8062 __extension__ extern __inline int16x4_t
8063 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8064 vmls_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8065 {
8066   return (int16x4_t)__builtin_neon_vmls_lanev4hi (__a, __b, __c, __d);
8067 }
8068 
8069 __extension__ extern __inline int32x2_t
8070 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8071 vmls_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8072 {
8073   return (int32x2_t)__builtin_neon_vmls_lanev2si (__a, __b, __c, __d);
8074 }
8075 
8076 __extension__ extern __inline float32x2_t
8077 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __d)8078 vmls_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
8079 {
8080   return (float32x2_t)__builtin_neon_vmls_lanev2sf (__a, __b, __c, __d);
8081 }
8082 
8083 __extension__ extern __inline uint16x4_t
8084 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)8085 vmls_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
8086 {
8087   return (uint16x4_t)__builtin_neon_vmls_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d);
8088 }
8089 
8090 __extension__ extern __inline uint32x2_t
8091 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)8092 vmls_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
8093 {
8094   return (uint32x2_t)__builtin_neon_vmls_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d);
8095 }
8096 
8097 __extension__ extern __inline int16x8_t
8098 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)8099 vmlsq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
8100 {
8101   return (int16x8_t)__builtin_neon_vmls_lanev8hi (__a, __b, __c, __d);
8102 }
8103 
8104 __extension__ extern __inline int32x4_t
8105 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)8106 vmlsq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
8107 {
8108   return (int32x4_t)__builtin_neon_vmls_lanev4si (__a, __b, __c, __d);
8109 }
8110 
8111 __extension__ extern __inline float32x4_t
8112 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __d)8113 vmlsq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
8114 {
8115   return (float32x4_t)__builtin_neon_vmls_lanev4sf (__a, __b, __c, __d);
8116 }
8117 
8118 __extension__ extern __inline uint16x8_t
8119 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __d)8120 vmlsq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
8121 {
8122   return (uint16x8_t)__builtin_neon_vmls_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d);
8123 }
8124 
8125 __extension__ extern __inline uint32x4_t
8126 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __d)8127 vmlsq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
8128 {
8129   return (uint32x4_t)__builtin_neon_vmls_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d);
8130 }
8131 
8132 __extension__ extern __inline int32x4_t
8133 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8134 vmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8135 {
8136   return (int32x4_t)__builtin_neon_vmlsls_lanev4hi (__a, __b, __c, __d);
8137 }
8138 
8139 __extension__ extern __inline int64x2_t
8140 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8141 vmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8142 {
8143   return (int64x2_t)__builtin_neon_vmlsls_lanev2si (__a, __b, __c, __d);
8144 }
8145 
8146 __extension__ extern __inline uint32x4_t
8147 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_lane_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)8148 vmlsl_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
8149 {
8150   return (uint32x4_t)__builtin_neon_vmlslu_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d);
8151 }
8152 
8153 __extension__ extern __inline uint64x2_t
8154 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_lane_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)8155 vmlsl_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
8156 {
8157   return (uint64x2_t)__builtin_neon_vmlslu_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d);
8158 }
8159 
8160 __extension__ extern __inline int32x4_t
8161 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8162 vqdmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8163 {
8164   return (int32x4_t)__builtin_neon_vqdmlsl_lanev4hi (__a, __b, __c, __d);
8165 }
8166 
8167 __extension__ extern __inline int64x2_t
8168 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8169 vqdmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8170 {
8171   return (int64x2_t)__builtin_neon_vqdmlsl_lanev2si (__a, __b, __c, __d);
8172 }
8173 
8174 __extension__ extern __inline int32x4_t
8175 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)8176 vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
8177 {
8178   return (int32x4_t)__builtin_neon_vmulls_lanev4hi (__a, __b, __c);
8179 }
8180 
8181 __extension__ extern __inline int64x2_t
8182 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)8183 vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
8184 {
8185   return (int64x2_t)__builtin_neon_vmulls_lanev2si (__a, __b, __c);
8186 }
8187 
8188 __extension__ extern __inline uint32x4_t
8189 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __c)8190 vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
8191 {
8192   return (uint32x4_t)__builtin_neon_vmullu_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
8193 }
8194 
8195 __extension__ extern __inline uint64x2_t
8196 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __c)8197 vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
8198 {
8199   return (uint64x2_t)__builtin_neon_vmullu_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c);
8200 }
8201 
8202 __extension__ extern __inline int32x4_t
8203 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)8204 vqdmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
8205 {
8206   return (int32x4_t)__builtin_neon_vqdmull_lanev4hi (__a, __b, __c);
8207 }
8208 
8209 __extension__ extern __inline int64x2_t
8210 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)8211 vqdmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
8212 {
8213   return (int64x2_t)__builtin_neon_vqdmull_lanev2si (__a, __b, __c);
8214 }
8215 
8216 __extension__ extern __inline int16x8_t
8217 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)8218 vqdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
8219 {
8220   return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c);
8221 }
8222 
8223 __extension__ extern __inline int32x4_t
8224 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)8225 vqdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
8226 {
8227   return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c);
8228 }
8229 
8230 __extension__ extern __inline int16x4_t
8231 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)8232 vqdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
8233 {
8234   return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c);
8235 }
8236 
8237 __extension__ extern __inline int32x2_t
8238 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)8239 vqdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
8240 {
8241   return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c);
8242 }
8243 
8244 __extension__ extern __inline int16x8_t
8245 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)8246 vqrdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
8247 {
8248   return (int16x8_t)__builtin_neon_vqrdmulh_lanev8hi (__a, __b, __c);
8249 }
8250 
8251 __extension__ extern __inline int32x4_t
8252 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)8253 vqrdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
8254 {
8255   return (int32x4_t)__builtin_neon_vqrdmulh_lanev4si (__a, __b, __c);
8256 }
8257 
8258 __extension__ extern __inline int16x4_t
8259 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)8260 vqrdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
8261 {
8262   return (int16x4_t)__builtin_neon_vqrdmulh_lanev4hi (__a, __b, __c);
8263 }
8264 
8265 __extension__ extern __inline int32x2_t
8266 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)8267 vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
8268 {
8269   return (int32x2_t)__builtin_neon_vqrdmulh_lanev2si (__a, __b, __c);
8270 }
8271 
8272 #ifdef __ARM_FEATURE_QRDMX
8273 __extension__ extern __inline int16x8_t
8274 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)8275 vqrdmlahq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
8276 {
8277   return (int16x8_t)__builtin_neon_vqrdmlah_lanev8hi (__a, __b, __c, __d);
8278 }
8279 
8280 __extension__ extern __inline int32x4_t
8281 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)8282 vqrdmlahq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
8283 {
8284   return (int32x4_t)__builtin_neon_vqrdmlah_lanev4si (__a, __b, __c, __d);
8285 }
8286 
8287 __extension__ extern __inline int16x4_t
8288 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8289 vqrdmlah_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8290 {
8291   return (int16x4_t)__builtin_neon_vqrdmlah_lanev4hi (__a, __b, __c, __d);
8292 }
8293 
8294 __extension__ extern __inline int32x2_t
8295 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8296 vqrdmlah_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8297 {
8298   return (int32x2_t)__builtin_neon_vqrdmlah_lanev2si (__a, __b, __c, __d);
8299 }
8300 
8301 __extension__ extern __inline int16x8_t
8302 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)8303 vqrdmlshq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
8304 {
8305   return (int16x8_t)__builtin_neon_vqrdmlsh_lanev8hi (__a, __b, __c, __d);
8306 }
8307 
8308 __extension__ extern __inline int32x4_t
8309 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)8310 vqrdmlshq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
8311 {
8312   return (int32x4_t)__builtin_neon_vqrdmlsh_lanev4si (__a, __b, __c, __d);
8313 }
8314 
8315 __extension__ extern __inline int16x4_t
8316 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8317 vqrdmlsh_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8318 {
8319   return (int16x4_t)__builtin_neon_vqrdmlsh_lanev4hi (__a, __b, __c, __d);
8320 }
8321 
8322 __extension__ extern __inline int32x2_t
8323 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8324 vqrdmlsh_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8325 {
8326   return (int32x2_t)__builtin_neon_vqrdmlsh_lanev2si (__a, __b, __c, __d);
8327 }
8328 #endif
8329 
8330 __extension__ extern __inline int16x4_t
8331 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_s16(int16x4_t __a,int16_t __b)8332 vmul_n_s16 (int16x4_t __a, int16_t __b)
8333 {
8334   return (int16x4_t)__builtin_neon_vmul_nv4hi (__a, (__builtin_neon_hi) __b);
8335 }
8336 
8337 __extension__ extern __inline int32x2_t
8338 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_s32(int32x2_t __a,int32_t __b)8339 vmul_n_s32 (int32x2_t __a, int32_t __b)
8340 {
8341   return (int32x2_t)__builtin_neon_vmul_nv2si (__a, (__builtin_neon_si) __b);
8342 }
8343 
8344 __extension__ extern __inline float32x2_t
8345 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_f32(float32x2_t __a,float32_t __b)8346 vmul_n_f32 (float32x2_t __a, float32_t __b)
8347 {
8348   return (float32x2_t)__builtin_neon_vmul_nv2sf (__a, (__builtin_neon_sf) __b);
8349 }
8350 
8351 __extension__ extern __inline uint16x4_t
8352 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_u16(uint16x4_t __a,uint16_t __b)8353 vmul_n_u16 (uint16x4_t __a, uint16_t __b)
8354 {
8355   return (uint16x4_t)__builtin_neon_vmul_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b);
8356 }
8357 
8358 __extension__ extern __inline uint32x2_t
8359 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_u32(uint32x2_t __a,uint32_t __b)8360 vmul_n_u32 (uint32x2_t __a, uint32_t __b)
8361 {
8362   return (uint32x2_t)__builtin_neon_vmul_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b);
8363 }
8364 
8365 __extension__ extern __inline int16x8_t
8366 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_s16(int16x8_t __a,int16_t __b)8367 vmulq_n_s16 (int16x8_t __a, int16_t __b)
8368 {
8369   return (int16x8_t)__builtin_neon_vmul_nv8hi (__a, (__builtin_neon_hi) __b);
8370 }
8371 
8372 __extension__ extern __inline int32x4_t
8373 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_s32(int32x4_t __a,int32_t __b)8374 vmulq_n_s32 (int32x4_t __a, int32_t __b)
8375 {
8376   return (int32x4_t)__builtin_neon_vmul_nv4si (__a, (__builtin_neon_si) __b);
8377 }
8378 
8379 __extension__ extern __inline float32x4_t
8380 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_f32(float32x4_t __a,float32_t __b)8381 vmulq_n_f32 (float32x4_t __a, float32_t __b)
8382 {
8383   return (float32x4_t)__builtin_neon_vmul_nv4sf (__a, (__builtin_neon_sf) __b);
8384 }
8385 
8386 __extension__ extern __inline uint16x8_t
8387 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_u16(uint16x8_t __a,uint16_t __b)8388 vmulq_n_u16 (uint16x8_t __a, uint16_t __b)
8389 {
8390   return (uint16x8_t)__builtin_neon_vmul_nv8hi ((int16x8_t) __a, (__builtin_neon_hi) __b);
8391 }
8392 
8393 __extension__ extern __inline uint32x4_t
8394 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_u32(uint32x4_t __a,uint32_t __b)8395 vmulq_n_u32 (uint32x4_t __a, uint32_t __b)
8396 {
8397   return (uint32x4_t)__builtin_neon_vmul_nv4si ((int32x4_t) __a, (__builtin_neon_si) __b);
8398 }
8399 
8400 __extension__ extern __inline int32x4_t
8401 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_s16(int16x4_t __a,int16_t __b)8402 vmull_n_s16 (int16x4_t __a, int16_t __b)
8403 {
8404   return (int32x4_t)__builtin_neon_vmulls_nv4hi (__a, (__builtin_neon_hi) __b);
8405 }
8406 
8407 __extension__ extern __inline int64x2_t
8408 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_s32(int32x2_t __a,int32_t __b)8409 vmull_n_s32 (int32x2_t __a, int32_t __b)
8410 {
8411   return (int64x2_t)__builtin_neon_vmulls_nv2si (__a, (__builtin_neon_si) __b);
8412 }
8413 
8414 __extension__ extern __inline uint32x4_t
8415 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_u16(uint16x4_t __a,uint16_t __b)8416 vmull_n_u16 (uint16x4_t __a, uint16_t __b)
8417 {
8418   return (uint32x4_t)__builtin_neon_vmullu_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b);
8419 }
8420 
8421 __extension__ extern __inline uint64x2_t
8422 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_u32(uint32x2_t __a,uint32_t __b)8423 vmull_n_u32 (uint32x2_t __a, uint32_t __b)
8424 {
8425   return (uint64x2_t)__builtin_neon_vmullu_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b);
8426 }
8427 
8428 __extension__ extern __inline int32x4_t
8429 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_n_s16(int16x4_t __a,int16_t __b)8430 vqdmull_n_s16 (int16x4_t __a, int16_t __b)
8431 {
8432   return (int32x4_t)__builtin_neon_vqdmull_nv4hi (__a, (__builtin_neon_hi) __b);
8433 }
8434 
8435 __extension__ extern __inline int64x2_t
8436 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_n_s32(int32x2_t __a,int32_t __b)8437 vqdmull_n_s32 (int32x2_t __a, int32_t __b)
8438 {
8439   return (int64x2_t)__builtin_neon_vqdmull_nv2si (__a, (__builtin_neon_si) __b);
8440 }
8441 
8442 __extension__ extern __inline int16x8_t
8443 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_n_s16(int16x8_t __a,int16_t __b)8444 vqdmulhq_n_s16 (int16x8_t __a, int16_t __b)
8445 {
8446   return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b);
8447 }
8448 
8449 __extension__ extern __inline int32x4_t
8450 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_n_s32(int32x4_t __a,int32_t __b)8451 vqdmulhq_n_s32 (int32x4_t __a, int32_t __b)
8452 {
8453   return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b);
8454 }
8455 
8456 __extension__ extern __inline int16x4_t
8457 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_n_s16(int16x4_t __a,int16_t __b)8458 vqdmulh_n_s16 (int16x4_t __a, int16_t __b)
8459 {
8460   return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b);
8461 }
8462 
8463 __extension__ extern __inline int32x2_t
8464 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_n_s32(int32x2_t __a,int32_t __b)8465 vqdmulh_n_s32 (int32x2_t __a, int32_t __b)
8466 {
8467   return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b);
8468 }
8469 
8470 __extension__ extern __inline int16x8_t
8471 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_n_s16(int16x8_t __a,int16_t __b)8472 vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b)
8473 {
8474   return (int16x8_t)__builtin_neon_vqrdmulh_nv8hi (__a, (__builtin_neon_hi) __b);
8475 }
8476 
8477 __extension__ extern __inline int32x4_t
8478 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_n_s32(int32x4_t __a,int32_t __b)8479 vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b)
8480 {
8481   return (int32x4_t)__builtin_neon_vqrdmulh_nv4si (__a, (__builtin_neon_si) __b);
8482 }
8483 
8484 __extension__ extern __inline int16x4_t
8485 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_n_s16(int16x4_t __a,int16_t __b)8486 vqrdmulh_n_s16 (int16x4_t __a, int16_t __b)
8487 {
8488   return (int16x4_t)__builtin_neon_vqrdmulh_nv4hi (__a, (__builtin_neon_hi) __b);
8489 }
8490 
8491 __extension__ extern __inline int32x2_t
8492 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_n_s32(int32x2_t __a,int32_t __b)8493 vqrdmulh_n_s32 (int32x2_t __a, int32_t __b)
8494 {
8495   return (int32x2_t)__builtin_neon_vqrdmulh_nv2si (__a, (__builtin_neon_si) __b);
8496 }
8497 
8498 __extension__ extern __inline int16x4_t
8499 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)8500 vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
8501 {
8502   return (int16x4_t)__builtin_neon_vmla_nv4hi (__a, __b, (__builtin_neon_hi) __c);
8503 }
8504 
8505 __extension__ extern __inline int32x2_t
8506 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)8507 vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
8508 {
8509   return (int32x2_t)__builtin_neon_vmla_nv2si (__a, __b, (__builtin_neon_si) __c);
8510 }
8511 
8512 __extension__ extern __inline float32x2_t
8513 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)8514 vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
8515 {
8516   return (float32x2_t)__builtin_neon_vmla_nv2sf (__a, __b, (__builtin_neon_sf) __c);
8517 }
8518 
8519 __extension__ extern __inline uint16x4_t
8520 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)8521 vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
8522 {
8523   return (uint16x4_t)__builtin_neon_vmla_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c);
8524 }
8525 
8526 __extension__ extern __inline uint32x2_t
8527 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)8528 vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
8529 {
8530   return (uint32x2_t)__builtin_neon_vmla_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c);
8531 }
8532 
8533 __extension__ extern __inline int16x8_t
8534 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)8535 vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
8536 {
8537   return (int16x8_t)__builtin_neon_vmla_nv8hi (__a, __b, (__builtin_neon_hi) __c);
8538 }
8539 
8540 __extension__ extern __inline int32x4_t
8541 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)8542 vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
8543 {
8544   return (int32x4_t)__builtin_neon_vmla_nv4si (__a, __b, (__builtin_neon_si) __c);
8545 }
8546 
8547 __extension__ extern __inline float32x4_t
8548 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)8549 vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
8550 {
8551   return (float32x4_t)__builtin_neon_vmla_nv4sf (__a, __b, (__builtin_neon_sf) __c);
8552 }
8553 
8554 __extension__ extern __inline uint16x8_t
8555 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)8556 vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
8557 {
8558   return (uint16x8_t)__builtin_neon_vmla_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c);
8559 }
8560 
8561 __extension__ extern __inline uint32x4_t
8562 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)8563 vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
8564 {
8565   return (uint32x4_t)__builtin_neon_vmla_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c);
8566 }
8567 
8568 __extension__ extern __inline int32x4_t
8569 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)8570 vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
8571 {
8572   return (int32x4_t)__builtin_neon_vmlals_nv4hi (__a, __b, (__builtin_neon_hi) __c);
8573 }
8574 
8575 __extension__ extern __inline int64x2_t
8576 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)8577 vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
8578 {
8579   return (int64x2_t)__builtin_neon_vmlals_nv2si (__a, __b, (__builtin_neon_si) __c);
8580 }
8581 
8582 __extension__ extern __inline uint32x4_t
8583 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)8584 vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
8585 {
8586   return (uint32x4_t)__builtin_neon_vmlalu_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c);
8587 }
8588 
8589 __extension__ extern __inline uint64x2_t
8590 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)8591 vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
8592 {
8593   return (uint64x2_t)__builtin_neon_vmlalu_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c);
8594 }
8595 
8596 __extension__ extern __inline int32x4_t
8597 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)8598 vqdmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
8599 {
8600   return (int32x4_t)__builtin_neon_vqdmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c);
8601 }
8602 
8603 __extension__ extern __inline int64x2_t
8604 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)8605 vqdmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
8606 {
8607   return (int64x2_t)__builtin_neon_vqdmlal_nv2si (__a, __b, (__builtin_neon_si) __c);
8608 }
8609 
8610 __extension__ extern __inline int16x4_t
8611 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)8612 vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
8613 {
8614   return (int16x4_t)__builtin_neon_vmls_nv4hi (__a, __b, (__builtin_neon_hi) __c);
8615 }
8616 
8617 __extension__ extern __inline int32x2_t
8618 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)8619 vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
8620 {
8621   return (int32x2_t)__builtin_neon_vmls_nv2si (__a, __b, (__builtin_neon_si) __c);
8622 }
8623 
8624 __extension__ extern __inline float32x2_t
8625 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)8626 vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
8627 {
8628   return (float32x2_t)__builtin_neon_vmls_nv2sf (__a, __b, (__builtin_neon_sf) __c);
8629 }
8630 
8631 __extension__ extern __inline uint16x4_t
8632 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)8633 vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
8634 {
8635   return (uint16x4_t)__builtin_neon_vmls_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c);
8636 }
8637 
8638 __extension__ extern __inline uint32x2_t
8639 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)8640 vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
8641 {
8642   return (uint32x2_t)__builtin_neon_vmls_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c);
8643 }
8644 
8645 __extension__ extern __inline int16x8_t
8646 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)8647 vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
8648 {
8649   return (int16x8_t)__builtin_neon_vmls_nv8hi (__a, __b, (__builtin_neon_hi) __c);
8650 }
8651 
8652 __extension__ extern __inline int32x4_t
8653 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)8654 vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
8655 {
8656   return (int32x4_t)__builtin_neon_vmls_nv4si (__a, __b, (__builtin_neon_si) __c);
8657 }
8658 
8659 __extension__ extern __inline float32x4_t
8660 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)8661 vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
8662 {
8663   return (float32x4_t)__builtin_neon_vmls_nv4sf (__a, __b, (__builtin_neon_sf) __c);
8664 }
8665 
8666 __extension__ extern __inline uint16x8_t
8667 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)8668 vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
8669 {
8670   return (uint16x8_t)__builtin_neon_vmls_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c);
8671 }
8672 
8673 __extension__ extern __inline uint32x4_t
8674 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)8675 vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
8676 {
8677   return (uint32x4_t)__builtin_neon_vmls_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c);
8678 }
8679 
8680 __extension__ extern __inline int32x4_t
8681 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)8682 vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
8683 {
8684   return (int32x4_t)__builtin_neon_vmlsls_nv4hi (__a, __b, (__builtin_neon_hi) __c);
8685 }
8686 
8687 __extension__ extern __inline int64x2_t
8688 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)8689 vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
8690 {
8691   return (int64x2_t)__builtin_neon_vmlsls_nv2si (__a, __b, (__builtin_neon_si) __c);
8692 }
8693 
8694 __extension__ extern __inline uint32x4_t
8695 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)8696 vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
8697 {
8698   return (uint32x4_t)__builtin_neon_vmlslu_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c);
8699 }
8700 
8701 __extension__ extern __inline uint64x2_t
8702 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)8703 vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
8704 {
8705   return (uint64x2_t)__builtin_neon_vmlslu_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c);
8706 }
8707 
8708 __extension__ extern __inline int32x4_t
8709 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)8710 vqdmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
8711 {
8712   return (int32x4_t)__builtin_neon_vqdmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c);
8713 }
8714 
8715 __extension__ extern __inline int64x2_t
8716 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)8717 vqdmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
8718 {
8719   return (int64x2_t)__builtin_neon_vqdmlsl_nv2si (__a, __b, (__builtin_neon_si) __c);
8720 }
8721 
8722 #pragma GCC push_options
8723 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
8724 __extension__ extern __inline poly64x1_t
8725 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_p64(poly64x1_t __a,poly64x1_t __b,const int __c)8726 vext_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
8727 {
8728   return (poly64x1_t)__builtin_neon_vextdi (__a, __b, __c);
8729 }
8730 
8731 #pragma GCC pop_options
8732 __extension__ extern __inline int8x8_t
8733 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_s8(int8x8_t __a,int8x8_t __b,const int __c)8734 vext_s8 (int8x8_t __a, int8x8_t __b, const int __c)
8735 {
8736   return (int8x8_t)__builtin_neon_vextv8qi (__a, __b, __c);
8737 }
8738 
8739 __extension__ extern __inline int16x4_t
8740 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_s16(int16x4_t __a,int16x4_t __b,const int __c)8741 vext_s16 (int16x4_t __a, int16x4_t __b, const int __c)
8742 {
8743   return (int16x4_t)__builtin_neon_vextv4hi (__a, __b, __c);
8744 }
8745 
8746 __extension__ extern __inline int32x2_t
8747 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_s32(int32x2_t __a,int32x2_t __b,const int __c)8748 vext_s32 (int32x2_t __a, int32x2_t __b, const int __c)
8749 {
8750   return (int32x2_t)__builtin_neon_vextv2si (__a, __b, __c);
8751 }
8752 
8753 __extension__ extern __inline int64x1_t
8754 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_s64(int64x1_t __a,int64x1_t __b,const int __c)8755 vext_s64 (int64x1_t __a, int64x1_t __b, const int __c)
8756 {
8757   return (int64x1_t)__builtin_neon_vextdi (__a, __b, __c);
8758 }
8759 
8760 __extension__ extern __inline float32x2_t
8761 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_f32(float32x2_t __a,float32x2_t __b,const int __c)8762 vext_f32 (float32x2_t __a, float32x2_t __b, const int __c)
8763 {
8764   return (float32x2_t)__builtin_neon_vextv2sf (__a, __b, __c);
8765 }
8766 
8767 __extension__ extern __inline uint8x8_t
8768 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_u8(uint8x8_t __a,uint8x8_t __b,const int __c)8769 vext_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
8770 {
8771   return (uint8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
8772 }
8773 
8774 __extension__ extern __inline uint16x4_t
8775 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_u16(uint16x4_t __a,uint16x4_t __b,const int __c)8776 vext_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
8777 {
8778   return (uint16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
8779 }
8780 
8781 __extension__ extern __inline uint32x2_t
8782 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_u32(uint32x2_t __a,uint32x2_t __b,const int __c)8783 vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
8784 {
8785   return (uint32x2_t)__builtin_neon_vextv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
8786 }
8787 
8788 __extension__ extern __inline uint64x1_t
8789 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_u64(uint64x1_t __a,uint64x1_t __b,const int __c)8790 vext_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
8791 {
8792   return (uint64x1_t)__builtin_neon_vextdi ((int64x1_t) __a, (int64x1_t) __b, __c);
8793 }
8794 
8795 __extension__ extern __inline poly8x8_t
8796 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_p8(poly8x8_t __a,poly8x8_t __b,const int __c)8797 vext_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
8798 {
8799   return (poly8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
8800 }
8801 
8802 __extension__ extern __inline poly16x4_t
8803 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_p16(poly16x4_t __a,poly16x4_t __b,const int __c)8804 vext_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
8805 {
8806   return (poly16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
8807 }
8808 
8809 #pragma GCC push_options
8810 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
8811 __extension__ extern __inline poly64x2_t
8812 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p64(poly64x2_t __a,poly64x2_t __b,const int __c)8813 vextq_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
8814 {
8815   return (poly64x2_t)__builtin_neon_vextv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
8816 }
8817 
8818 #pragma GCC pop_options
8819 __extension__ extern __inline int8x16_t
8820 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s8(int8x16_t __a,int8x16_t __b,const int __c)8821 vextq_s8 (int8x16_t __a, int8x16_t __b, const int __c)
8822 {
8823   return (int8x16_t)__builtin_neon_vextv16qi (__a, __b, __c);
8824 }
8825 
8826 __extension__ extern __inline int16x8_t
8827 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s16(int16x8_t __a,int16x8_t __b,const int __c)8828 vextq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
8829 {
8830   return (int16x8_t)__builtin_neon_vextv8hi (__a, __b, __c);
8831 }
8832 
8833 __extension__ extern __inline int32x4_t
8834 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s32(int32x4_t __a,int32x4_t __b,const int __c)8835 vextq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
8836 {
8837   return (int32x4_t)__builtin_neon_vextv4si (__a, __b, __c);
8838 }
8839 
8840 __extension__ extern __inline int64x2_t
8841 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s64(int64x2_t __a,int64x2_t __b,const int __c)8842 vextq_s64 (int64x2_t __a, int64x2_t __b, const int __c)
8843 {
8844   return (int64x2_t)__builtin_neon_vextv2di (__a, __b, __c);
8845 }
8846 
8847 __extension__ extern __inline float32x4_t
8848 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_f32(float32x4_t __a,float32x4_t __b,const int __c)8849 vextq_f32 (float32x4_t __a, float32x4_t __b, const int __c)
8850 {
8851   return (float32x4_t)__builtin_neon_vextv4sf (__a, __b, __c);
8852 }
8853 
8854 __extension__ extern __inline uint8x16_t
8855 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u8(uint8x16_t __a,uint8x16_t __b,const int __c)8856 vextq_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
8857 {
8858   return (uint8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
8859 }
8860 
8861 __extension__ extern __inline uint16x8_t
8862 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u16(uint16x8_t __a,uint16x8_t __b,const int __c)8863 vextq_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
8864 {
8865   return (uint16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
8866 }
8867 
8868 __extension__ extern __inline uint32x4_t
8869 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u32(uint32x4_t __a,uint32x4_t __b,const int __c)8870 vextq_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
8871 {
8872   return (uint32x4_t)__builtin_neon_vextv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
8873 }
8874 
8875 __extension__ extern __inline uint64x2_t
8876 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u64(uint64x2_t __a,uint64x2_t __b,const int __c)8877 vextq_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
8878 {
8879   return (uint64x2_t)__builtin_neon_vextv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
8880 }
8881 
8882 __extension__ extern __inline poly8x16_t
8883 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p8(poly8x16_t __a,poly8x16_t __b,const int __c)8884 vextq_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
8885 {
8886   return (poly8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
8887 }
8888 
8889 __extension__ extern __inline poly16x8_t
8890 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p16(poly16x8_t __a,poly16x8_t __b,const int __c)8891 vextq_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
8892 {
8893   return (poly16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
8894 }
8895 
8896 __extension__ extern __inline int8x8_t
8897 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s8(int8x8_t __a)8898 vrev64_s8 (int8x8_t __a)
8899 {
8900   return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
8901 }
8902 
8903 __extension__ extern __inline int16x4_t
8904 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s16(int16x4_t __a)8905 vrev64_s16 (int16x4_t __a)
8906 {
8907   return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
8908 }
8909 
8910 __extension__ extern __inline int32x2_t
8911 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s32(int32x2_t __a)8912 vrev64_s32 (int32x2_t __a)
8913 {
8914   return (int32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
8915 }
8916 
8917 __extension__ extern __inline float32x2_t
8918 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_f32(float32x2_t __a)8919 vrev64_f32 (float32x2_t __a)
8920 {
8921   return (float32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
8922 }
8923 
8924 __extension__ extern __inline uint8x8_t
8925 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u8(uint8x8_t __a)8926 vrev64_u8 (uint8x8_t __a)
8927 {
8928   return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
8929 }
8930 
8931 __extension__ extern __inline uint16x4_t
8932 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u16(uint16x4_t __a)8933 vrev64_u16 (uint16x4_t __a)
8934 {
8935   return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
8936 }
8937 
8938 __extension__ extern __inline uint32x2_t
8939 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u32(uint32x2_t __a)8940 vrev64_u32 (uint32x2_t __a)
8941 {
8942   return (uint32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
8943 }
8944 
8945 __extension__ extern __inline poly8x8_t
8946 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_p8(poly8x8_t __a)8947 vrev64_p8 (poly8x8_t __a)
8948 {
8949   return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
8950 }
8951 
8952 __extension__ extern __inline poly16x4_t
8953 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_p16(poly16x4_t __a)8954 vrev64_p16 (poly16x4_t __a)
8955 {
8956   return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
8957 }
8958 
8959 __extension__ extern __inline int8x16_t
8960 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s8(int8x16_t __a)8961 vrev64q_s8 (int8x16_t __a)
8962 {
8963   return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
8964 }
8965 
8966 __extension__ extern __inline int16x8_t
8967 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s16(int16x8_t __a)8968 vrev64q_s16 (int16x8_t __a)
8969 {
8970   return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
8971 }
8972 
8973 __extension__ extern __inline int32x4_t
8974 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s32(int32x4_t __a)8975 vrev64q_s32 (int32x4_t __a)
8976 {
8977   return (int32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
8978 }
8979 
8980 __extension__ extern __inline float32x4_t
8981 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_f32(float32x4_t __a)8982 vrev64q_f32 (float32x4_t __a)
8983 {
8984   return (float32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
8985 }
8986 
8987 __extension__ extern __inline uint8x16_t
8988 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u8(uint8x16_t __a)8989 vrev64q_u8 (uint8x16_t __a)
8990 {
8991   return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
8992 }
8993 
8994 __extension__ extern __inline uint16x8_t
8995 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u16(uint16x8_t __a)8996 vrev64q_u16 (uint16x8_t __a)
8997 {
8998   return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
8999 }
9000 
9001 __extension__ extern __inline uint32x4_t
9002 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u32(uint32x4_t __a)9003 vrev64q_u32 (uint32x4_t __a)
9004 {
9005   return (uint32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
9006 }
9007 
9008 __extension__ extern __inline poly8x16_t
9009 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_p8(poly8x16_t __a)9010 vrev64q_p8 (poly8x16_t __a)
9011 {
9012   return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
9013 }
9014 
9015 __extension__ extern __inline poly16x8_t
9016 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_p16(poly16x8_t __a)9017 vrev64q_p16 (poly16x8_t __a)
9018 {
9019   return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
9020 }
9021 
9022 __extension__ extern __inline int8x8_t
9023 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_s8(int8x8_t __a)9024 vrev32_s8 (int8x8_t __a)
9025 {
9026   return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
9027 }
9028 
9029 __extension__ extern __inline int16x4_t
9030 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_s16(int16x4_t __a)9031 vrev32_s16 (int16x4_t __a)
9032 {
9033   return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
9034 }
9035 
9036 __extension__ extern __inline uint8x8_t
9037 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_u8(uint8x8_t __a)9038 vrev32_u8 (uint8x8_t __a)
9039 {
9040   return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
9041 }
9042 
9043 __extension__ extern __inline uint16x4_t
9044 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_u16(uint16x4_t __a)9045 vrev32_u16 (uint16x4_t __a)
9046 {
9047   return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
9048 }
9049 
9050 __extension__ extern __inline poly8x8_t
9051 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_p8(poly8x8_t __a)9052 vrev32_p8 (poly8x8_t __a)
9053 {
9054   return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
9055 }
9056 
9057 __extension__ extern __inline poly16x4_t
9058 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_p16(poly16x4_t __a)9059 vrev32_p16 (poly16x4_t __a)
9060 {
9061   return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
9062 }
9063 
9064 __extension__ extern __inline int8x16_t
9065 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_s8(int8x16_t __a)9066 vrev32q_s8 (int8x16_t __a)
9067 {
9068   return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
9069 }
9070 
9071 __extension__ extern __inline int16x8_t
9072 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_s16(int16x8_t __a)9073 vrev32q_s16 (int16x8_t __a)
9074 {
9075   return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
9076 }
9077 
9078 __extension__ extern __inline uint8x16_t
9079 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_u8(uint8x16_t __a)9080 vrev32q_u8 (uint8x16_t __a)
9081 {
9082   return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
9083 }
9084 
9085 __extension__ extern __inline uint16x8_t
9086 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_u16(uint16x8_t __a)9087 vrev32q_u16 (uint16x8_t __a)
9088 {
9089   return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
9090 }
9091 
9092 __extension__ extern __inline poly8x16_t
9093 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_p8(poly8x16_t __a)9094 vrev32q_p8 (poly8x16_t __a)
9095 {
9096   return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
9097 }
9098 
9099 __extension__ extern __inline poly16x8_t
9100 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_p16(poly16x8_t __a)9101 vrev32q_p16 (poly16x8_t __a)
9102 {
9103   return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
9104 }
9105 
9106 __extension__ extern __inline int8x8_t
9107 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_s8(int8x8_t __a)9108 vrev16_s8 (int8x8_t __a)
9109 {
9110   return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
9111 }
9112 
9113 __extension__ extern __inline uint8x8_t
9114 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_u8(uint8x8_t __a)9115 vrev16_u8 (uint8x8_t __a)
9116 {
9117   return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
9118 }
9119 
9120 __extension__ extern __inline poly8x8_t
9121 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_p8(poly8x8_t __a)9122 vrev16_p8 (poly8x8_t __a)
9123 {
9124   return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
9125 }
9126 
9127 __extension__ extern __inline int8x16_t
9128 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_s8(int8x16_t __a)9129 vrev16q_s8 (int8x16_t __a)
9130 {
9131   return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
9132 }
9133 
9134 __extension__ extern __inline uint8x16_t
9135 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_u8(uint8x16_t __a)9136 vrev16q_u8 (uint8x16_t __a)
9137 {
9138   return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
9139 }
9140 
9141 __extension__ extern __inline poly8x16_t
9142 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_p8(poly8x16_t __a)9143 vrev16q_p8 (poly8x16_t __a)
9144 {
9145   return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
9146 }
9147 
9148 #pragma GCC push_options
9149 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
9150 __extension__ extern __inline poly64x1_t
9151 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p64(uint64x1_t __a,poly64x1_t __b,poly64x1_t __c)9152 vbsl_p64 (uint64x1_t __a, poly64x1_t __b, poly64x1_t __c)
9153 {
9154   return (poly64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, __b, __c);
9155 }
9156 
9157 #pragma GCC pop_options
9158 __extension__ extern __inline int8x8_t
9159 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s8(uint8x8_t __a,int8x8_t __b,int8x8_t __c)9160 vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c)
9161 {
9162   return (int8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, __b, __c);
9163 }
9164 
9165 __extension__ extern __inline int16x4_t
9166 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s16(uint16x4_t __a,int16x4_t __b,int16x4_t __c)9167 vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c)
9168 {
9169   return (int16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, __b, __c);
9170 }
9171 
9172 __extension__ extern __inline int32x2_t
9173 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s32(uint32x2_t __a,int32x2_t __b,int32x2_t __c)9174 vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c)
9175 {
9176   return (int32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, __b, __c);
9177 }
9178 
9179 __extension__ extern __inline int64x1_t
9180 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s64(uint64x1_t __a,int64x1_t __b,int64x1_t __c)9181 vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c)
9182 {
9183   return (int64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, __b, __c);
9184 }
9185 
9186 __extension__ extern __inline float32x2_t
9187 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_f32(uint32x2_t __a,float32x2_t __b,float32x2_t __c)9188 vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c)
9189 {
9190   return (float32x2_t)__builtin_neon_vbslv2sf ((int32x2_t) __a, __b, __c);
9191 }
9192 
9193 __extension__ extern __inline uint8x8_t
9194 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)9195 vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
9196 {
9197   return (uint8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
9198 }
9199 
9200 __extension__ extern __inline uint16x4_t
9201 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)9202 vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
9203 {
9204   return (uint16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
9205 }
9206 
9207 __extension__ extern __inline uint32x2_t
9208 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)9209 vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
9210 {
9211   return (uint32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
9212 }
9213 
9214 __extension__ extern __inline uint64x1_t
9215 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u64(uint64x1_t __a,uint64x1_t __b,uint64x1_t __c)9216 vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c)
9217 {
9218   return (uint64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, (int64x1_t) __b, (int64x1_t) __c);
9219 }
9220 
9221 __extension__ extern __inline poly8x8_t
9222 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p8(uint8x8_t __a,poly8x8_t __b,poly8x8_t __c)9223 vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c)
9224 {
9225   return (poly8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
9226 }
9227 
9228 __extension__ extern __inline poly16x4_t
9229 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p16(uint16x4_t __a,poly16x4_t __b,poly16x4_t __c)9230 vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c)
9231 {
9232   return (poly16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
9233 }
9234 
9235 #pragma GCC push_options
9236 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
9237 __extension__ extern __inline poly64x2_t
9238 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p64(uint64x2_t __a,poly64x2_t __b,poly64x2_t __c)9239 vbslq_p64 (uint64x2_t __a, poly64x2_t __b, poly64x2_t __c)
9240 {
9241   return (poly64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, (int64x2_t) __b, (int64x2_t) __c);
9242 }
9243 
9244 #pragma GCC pop_options
9245 __extension__ extern __inline int8x16_t
9246 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s8(uint8x16_t __a,int8x16_t __b,int8x16_t __c)9247 vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c)
9248 {
9249   return (int8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, __b, __c);
9250 }
9251 
9252 __extension__ extern __inline int16x8_t
9253 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s16(uint16x8_t __a,int16x8_t __b,int16x8_t __c)9254 vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c)
9255 {
9256   return (int16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, __b, __c);
9257 }
9258 
9259 __extension__ extern __inline int32x4_t
9260 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s32(uint32x4_t __a,int32x4_t __b,int32x4_t __c)9261 vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c)
9262 {
9263   return (int32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, __b, __c);
9264 }
9265 
9266 __extension__ extern __inline int64x2_t
9267 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s64(uint64x2_t __a,int64x2_t __b,int64x2_t __c)9268 vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c)
9269 {
9270   return (int64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, __b, __c);
9271 }
9272 
9273 __extension__ extern __inline float32x4_t
9274 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_f32(uint32x4_t __a,float32x4_t __b,float32x4_t __c)9275 vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c)
9276 {
9277   return (float32x4_t)__builtin_neon_vbslv4sf ((int32x4_t) __a, __b, __c);
9278 }
9279 
9280 __extension__ extern __inline uint8x16_t
9281 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)9282 vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
9283 {
9284   return (uint8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
9285 }
9286 
9287 __extension__ extern __inline uint16x8_t
9288 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)9289 vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
9290 {
9291   return (uint16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
9292 }
9293 
9294 __extension__ extern __inline uint32x4_t
9295 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)9296 vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
9297 {
9298   return (uint32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c);
9299 }
9300 
9301 __extension__ extern __inline uint64x2_t
9302 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)9303 vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
9304 {
9305   return (uint64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, (int64x2_t) __b, (int64x2_t) __c);
9306 }
9307 
9308 __extension__ extern __inline poly8x16_t
9309 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p8(uint8x16_t __a,poly8x16_t __b,poly8x16_t __c)9310 vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c)
9311 {
9312   return (poly8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
9313 }
9314 
9315 __extension__ extern __inline poly16x8_t
9316 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p16(uint16x8_t __a,poly16x8_t __b,poly16x8_t __c)9317 vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c)
9318 {
9319   return (poly16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
9320 }
9321 
9322 /* For big-endian, the shuffle masks for ZIP, UZP and TRN must be changed as
9323    follows. (nelt = the number of elements within a vector.)
9324 
9325    Firstly, a value of N within a mask, becomes (N ^ (nelt - 1)), as gcc vector
9326    extension's indexing scheme is reversed *within each vector* (relative to the
9327    neon intrinsics view), but without changing which of the two vectors.
9328 
9329    Secondly, the elements within each mask are reversed, as the mask is itself a
9330    vector, and will itself be loaded in reverse order (again, relative to the
9331    neon intrinsics view, i.e. that would result from a "vld1" instruction).  */
9332 
9333 __extension__ extern __inline int8x8x2_t
9334 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s8(int8x8_t __a,int8x8_t __b)9335 vtrn_s8 (int8x8_t __a, int8x8_t __b)
9336 {
9337   int8x8x2_t __rv;
9338 #ifdef __ARM_BIG_ENDIAN
9339   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9340       { 9, 1, 11, 3, 13, 5, 15, 7 });
9341   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9342       { 8, 0, 10, 2, 12, 4, 14, 6 });
9343 #else
9344   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9345       { 0, 8, 2, 10, 4, 12, 6, 14 });
9346   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9347       { 1, 9, 3, 11, 5, 13, 7, 15 });
9348 #endif
9349   return __rv;
9350 }
9351 
9352 __extension__ extern __inline int16x4x2_t
9353 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s16(int16x4_t __a,int16x4_t __b)9354 vtrn_s16 (int16x4_t __a, int16x4_t __b)
9355 {
9356   int16x4x2_t __rv;
9357 #ifdef __ARM_BIG_ENDIAN
9358   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 1, 7, 3 });
9359   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 6, 2 });
9360 #else
9361   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
9362   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
9363 #endif
9364   return __rv;
9365 }
9366 
9367 __extension__ extern __inline uint8x8x2_t
9368 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u8(uint8x8_t __a,uint8x8_t __b)9369 vtrn_u8 (uint8x8_t __a, uint8x8_t __b)
9370 {
9371   uint8x8x2_t __rv;
9372 #ifdef __ARM_BIG_ENDIAN
9373   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9374       { 9, 1, 11, 3, 13, 5, 15, 7 });
9375   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9376       { 8, 0, 10, 2, 12, 4, 14, 6 });
9377 #else
9378   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9379       { 0, 8, 2, 10, 4, 12, 6, 14 });
9380   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9381       { 1, 9, 3, 11, 5, 13, 7, 15 });
9382 #endif
9383   return __rv;
9384 }
9385 
9386 __extension__ extern __inline uint16x4x2_t
9387 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u16(uint16x4_t __a,uint16x4_t __b)9388 vtrn_u16 (uint16x4_t __a, uint16x4_t __b)
9389 {
9390   uint16x4x2_t __rv;
9391 #ifdef __ARM_BIG_ENDIAN
9392   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 1, 7, 3 });
9393   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 6, 2 });
9394 #else
9395   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
9396   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
9397 #endif
9398   return __rv;
9399 }
9400 
9401 __extension__ extern __inline poly8x8x2_t
9402 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_p8(poly8x8_t __a,poly8x8_t __b)9403 vtrn_p8 (poly8x8_t __a, poly8x8_t __b)
9404 {
9405   poly8x8x2_t __rv;
9406 #ifdef __ARM_BIG_ENDIAN
9407   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9408       { 9, 1, 11, 3, 13, 5, 15, 7 });
9409   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9410       { 8, 0, 10, 2, 12, 4, 14, 6 });
9411 #else
9412   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9413       { 0, 8, 2, 10, 4, 12, 6, 14 });
9414   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9415       { 1, 9, 3, 11, 5, 13, 7, 15 });
9416 #endif
9417   return __rv;
9418 }
9419 
9420 __extension__ extern __inline poly16x4x2_t
9421 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_p16(poly16x4_t __a,poly16x4_t __b)9422 vtrn_p16 (poly16x4_t __a, poly16x4_t __b)
9423 {
9424   poly16x4x2_t __rv;
9425 #ifdef __ARM_BIG_ENDIAN
9426   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 1, 7, 3 });
9427   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 6, 2 });
9428 #else
9429   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
9430   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
9431 #endif
9432   return __rv;
9433 }
9434 
9435 __extension__ extern __inline int32x2x2_t
9436 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s32(int32x2_t __a,int32x2_t __b)9437 vtrn_s32 (int32x2_t __a, int32x2_t __b)
9438 {
9439   int32x2x2_t __rv;
9440 #ifdef __ARM_BIG_ENDIAN
9441   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9442   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9443 #else
9444   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9445   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9446 #endif
9447   return __rv;
9448 }
9449 
9450 __extension__ extern __inline float32x2x2_t
9451 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_f32(float32x2_t __a,float32x2_t __b)9452 vtrn_f32 (float32x2_t __a, float32x2_t __b)
9453 {
9454   float32x2x2_t __rv;
9455 #ifdef __ARM_BIG_ENDIAN
9456   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9457   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9458 #else
9459   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9460   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9461 #endif
9462   return __rv;
9463 }
9464 
9465 __extension__ extern __inline uint32x2x2_t
9466 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u32(uint32x2_t __a,uint32x2_t __b)9467 vtrn_u32 (uint32x2_t __a, uint32x2_t __b)
9468 {
9469   uint32x2x2_t __rv;
9470 #ifdef __ARM_BIG_ENDIAN
9471   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9472   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9473 #else
9474   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9475   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9476 #endif
9477   return __rv;
9478 }
9479 
9480 __extension__ extern __inline int8x16x2_t
9481 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s8(int8x16_t __a,int8x16_t __b)9482 vtrnq_s8 (int8x16_t __a, int8x16_t __b)
9483 {
9484   int8x16x2_t __rv;
9485 #ifdef __ARM_BIG_ENDIAN
9486   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9487       { 17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15 });
9488   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9489       { 16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14 });
9490 #else
9491   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9492       { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
9493   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9494       { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
9495 #endif
9496   return __rv;
9497 }
9498 
9499 __extension__ extern __inline int16x8x2_t
9500 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s16(int16x8_t __a,int16x8_t __b)9501 vtrnq_s16 (int16x8_t __a, int16x8_t __b)
9502 {
9503   int16x8x2_t __rv;
9504 #ifdef __ARM_BIG_ENDIAN
9505   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9506       { 9, 1, 11, 3, 13, 5, 15, 7 });
9507   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9508       { 8, 0, 10, 2, 12, 4, 14, 6 });
9509 #else
9510   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9511       { 0, 8, 2, 10, 4, 12, 6, 14 });
9512   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9513       { 1, 9, 3, 11, 5, 13, 7, 15 });
9514 #endif
9515   return __rv;
9516 }
9517 
9518 __extension__ extern __inline int32x4x2_t
9519 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s32(int32x4_t __a,int32x4_t __b)9520 vtrnq_s32 (int32x4_t __a, int32x4_t __b)
9521 {
9522   int32x4x2_t __rv;
9523 #ifdef __ARM_BIG_ENDIAN
9524   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 7, 3 });
9525   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 0, 6, 2 });
9526 #else
9527   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
9528   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
9529 #endif
9530   return __rv;
9531 }
9532 
9533 __extension__ extern __inline float32x4x2_t
9534 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_f32(float32x4_t __a,float32x4_t __b)9535 vtrnq_f32 (float32x4_t __a, float32x4_t __b)
9536 {
9537   float32x4x2_t __rv;
9538 #ifdef __ARM_BIG_ENDIAN
9539   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 7, 3 });
9540   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 0, 6, 2 });
9541 #else
9542   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
9543   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
9544 #endif
9545   return __rv;
9546 }
9547 
9548 __extension__ extern __inline uint8x16x2_t
9549 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u8(uint8x16_t __a,uint8x16_t __b)9550 vtrnq_u8 (uint8x16_t __a, uint8x16_t __b)
9551 {
9552   uint8x16x2_t __rv;
9553 #ifdef __ARM_BIG_ENDIAN
9554   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9555       { 17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15 });
9556   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9557       { 16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14 });
9558 #else
9559   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9560       { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
9561   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9562       { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
9563 #endif
9564   return __rv;
9565 }
9566 
9567 __extension__ extern __inline uint16x8x2_t
9568 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u16(uint16x8_t __a,uint16x8_t __b)9569 vtrnq_u16 (uint16x8_t __a, uint16x8_t __b)
9570 {
9571   uint16x8x2_t __rv;
9572 #ifdef __ARM_BIG_ENDIAN
9573   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9574       { 9, 1, 11, 3, 13, 5, 15, 7 });
9575   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9576       { 8, 0, 10, 2, 12, 4, 14, 6 });
9577 #else
9578   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9579       { 0, 8, 2, 10, 4, 12, 6, 14 });
9580   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9581       { 1, 9, 3, 11, 5, 13, 7, 15 });
9582 #endif
9583   return __rv;
9584 }
9585 
9586 __extension__ extern __inline uint32x4x2_t
9587 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u32(uint32x4_t __a,uint32x4_t __b)9588 vtrnq_u32 (uint32x4_t __a, uint32x4_t __b)
9589 {
9590   uint32x4x2_t __rv;
9591 #ifdef __ARM_BIG_ENDIAN
9592   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 7, 3 });
9593   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 0, 6, 2 });
9594 #else
9595   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
9596   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
9597 #endif
9598   return __rv;
9599 }
9600 
9601 __extension__ extern __inline poly8x16x2_t
9602 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_p8(poly8x16_t __a,poly8x16_t __b)9603 vtrnq_p8 (poly8x16_t __a, poly8x16_t __b)
9604 {
9605   poly8x16x2_t __rv;
9606 #ifdef __ARM_BIG_ENDIAN
9607   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9608       { 17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15 });
9609   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9610       { 16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14 });
9611 #else
9612   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9613       { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
9614   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9615       { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
9616 #endif
9617   return __rv;
9618 }
9619 
9620 __extension__ extern __inline poly16x8x2_t
9621 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_p16(poly16x8_t __a,poly16x8_t __b)9622 vtrnq_p16 (poly16x8_t __a, poly16x8_t __b)
9623 {
9624   poly16x8x2_t __rv;
9625 #ifdef __ARM_BIG_ENDIAN
9626   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9627       { 9, 1, 11, 3, 13, 5, 15, 7 });
9628   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9629       { 8, 0, 10, 2, 12, 4, 14, 6 });
9630 #else
9631   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9632       { 0, 8, 2, 10, 4, 12, 6, 14 });
9633   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9634       { 1, 9, 3, 11, 5, 13, 7, 15 });
9635 #endif
9636   return __rv;
9637 }
9638 
9639 __extension__ extern __inline int8x8x2_t
9640 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_s8(int8x8_t __a,int8x8_t __b)9641 vzip_s8 (int8x8_t __a, int8x8_t __b)
9642 {
9643   int8x8x2_t __rv;
9644 #ifdef __ARM_BIG_ENDIAN
9645   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9646       { 12, 4, 13, 5, 14, 6, 15, 7 });
9647   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9648       { 8, 0, 9, 1, 10, 2, 11, 3 });
9649 #else
9650   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9651       { 0, 8, 1, 9, 2, 10, 3, 11 });
9652   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9653       { 4, 12, 5, 13, 6, 14, 7, 15 });
9654 #endif
9655   return __rv;
9656 }
9657 
9658 __extension__ extern __inline int16x4x2_t
9659 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_s16(int16x4_t __a,int16x4_t __b)9660 vzip_s16 (int16x4_t __a, int16x4_t __b)
9661 {
9662   int16x4x2_t __rv;
9663 #ifdef __ARM_BIG_ENDIAN
9664   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 6, 2, 7, 3 });
9665   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 5, 1 });
9666 #else
9667   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
9668   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
9669 #endif
9670   return __rv;
9671 }
9672 
9673 __extension__ extern __inline uint8x8x2_t
9674 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_u8(uint8x8_t __a,uint8x8_t __b)9675 vzip_u8 (uint8x8_t __a, uint8x8_t __b)
9676 {
9677   uint8x8x2_t __rv;
9678 #ifdef __ARM_BIG_ENDIAN
9679   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9680       { 12, 4, 13, 5, 14, 6, 15, 7 });
9681   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9682       { 8, 0, 9, 1, 10, 2, 11, 3 });
9683 #else
9684   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9685       { 0, 8, 1, 9, 2, 10, 3, 11 });
9686   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9687       { 4, 12, 5, 13, 6, 14, 7, 15 });
9688 #endif
9689   return __rv;
9690 }
9691 
9692 __extension__ extern __inline uint16x4x2_t
9693 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_u16(uint16x4_t __a,uint16x4_t __b)9694 vzip_u16 (uint16x4_t __a, uint16x4_t __b)
9695 {
9696   uint16x4x2_t __rv;
9697 #ifdef __ARM_BIG_ENDIAN
9698   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 6, 2, 7, 3 });
9699   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 5, 1 });
9700 #else
9701   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
9702   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
9703 #endif
9704   return __rv;
9705 }
9706 
9707 __extension__ extern __inline poly8x8x2_t
9708 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_p8(poly8x8_t __a,poly8x8_t __b)9709 vzip_p8 (poly8x8_t __a, poly8x8_t __b)
9710 {
9711   poly8x8x2_t __rv;
9712 #ifdef __ARM_BIG_ENDIAN
9713   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9714       { 12, 4, 13, 5, 14, 6, 15, 7 });
9715   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9716       { 8, 0, 9, 1, 10, 2, 11, 3 });
9717 #else
9718   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9719       { 0, 8, 1, 9, 2, 10, 3, 11 });
9720   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9721       { 4, 12, 5, 13, 6, 14, 7, 15 });
9722 #endif
9723   return __rv;
9724 }
9725 
9726 __extension__ extern __inline poly16x4x2_t
9727 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_p16(poly16x4_t __a,poly16x4_t __b)9728 vzip_p16 (poly16x4_t __a, poly16x4_t __b)
9729 {
9730   poly16x4x2_t __rv;
9731 #ifdef __ARM_BIG_ENDIAN
9732   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 6, 2, 7, 3 });
9733   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 5, 1 });
9734 #else
9735   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
9736   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
9737 #endif
9738   return __rv;
9739 }
9740 
9741 __extension__ extern __inline int32x2x2_t
9742 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_s32(int32x2_t __a,int32x2_t __b)9743 vzip_s32 (int32x2_t __a, int32x2_t __b)
9744 {
9745   int32x2x2_t __rv;
9746 #ifdef __ARM_BIG_ENDIAN
9747   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9748   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9749 #else
9750   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9751   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9752 #endif
9753   return __rv;
9754 }
9755 
9756 __extension__ extern __inline float32x2x2_t
9757 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_f32(float32x2_t __a,float32x2_t __b)9758 vzip_f32 (float32x2_t __a, float32x2_t __b)
9759 {
9760   float32x2x2_t __rv;
9761 #ifdef __ARM_BIG_ENDIAN
9762   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9763   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9764 #else
9765   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9766   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9767 #endif
9768   return __rv;
9769 }
9770 
9771 __extension__ extern __inline uint32x2x2_t
9772 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_u32(uint32x2_t __a,uint32x2_t __b)9773 vzip_u32 (uint32x2_t __a, uint32x2_t __b)
9774 {
9775   uint32x2x2_t __rv;
9776 #ifdef __ARM_BIG_ENDIAN
9777   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9778   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9779 #else
9780   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9781   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9782 #endif
9783   return __rv;
9784 }
9785 
9786 __extension__ extern __inline int8x16x2_t
9787 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_s8(int8x16_t __a,int8x16_t __b)9788 vzipq_s8 (int8x16_t __a, int8x16_t __b)
9789 {
9790   int8x16x2_t __rv;
9791 #ifdef __ARM_BIG_ENDIAN
9792   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9793       { 20, 4, 21, 5, 22, 6, 23, 7, 16, 0, 17, 1, 18, 2, 19, 3 });
9794   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9795       { 28, 12, 29, 13, 30, 14, 31, 15, 24, 8, 25, 9, 26, 10, 27, 11 });
9796 #else
9797   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9798       { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
9799   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9800       { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
9801 #endif
9802   return __rv;
9803 }
9804 
9805 __extension__ extern __inline int16x8x2_t
9806 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_s16(int16x8_t __a,int16x8_t __b)9807 vzipq_s16 (int16x8_t __a, int16x8_t __b)
9808 {
9809   int16x8x2_t __rv;
9810 #ifdef __ARM_BIG_ENDIAN
9811   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9812       { 10, 2, 11, 3, 8, 0, 9, 1 });
9813   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9814       { 14, 6, 15, 7, 12, 4, 13, 5 });
9815 #else
9816   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9817       { 0, 8, 1, 9, 2, 10, 3, 11 });
9818   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9819       { 4, 12, 5, 13, 6, 14, 7, 15 });
9820 #endif
9821   return __rv;
9822 }
9823 
9824 __extension__ extern __inline int32x4x2_t
9825 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_s32(int32x4_t __a,int32x4_t __b)9826 vzipq_s32 (int32x4_t __a, int32x4_t __b)
9827 {
9828   int32x4x2_t __rv;
9829 #ifdef __ARM_BIG_ENDIAN
9830   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 4, 0 });
9831   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 7, 3, 6, 2 });
9832 #else
9833   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
9834   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
9835 #endif
9836   return __rv;
9837 }
9838 
9839 __extension__ extern __inline float32x4x2_t
9840 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_f32(float32x4_t __a,float32x4_t __b)9841 vzipq_f32 (float32x4_t __a, float32x4_t __b)
9842 {
9843   float32x4x2_t __rv;
9844 #ifdef __ARM_BIG_ENDIAN
9845   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 4, 0 });
9846   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 7, 3, 6, 2 });
9847 #else
9848   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
9849   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
9850 #endif
9851   return __rv;
9852 }
9853 
9854 __extension__ extern __inline uint8x16x2_t
9855 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_u8(uint8x16_t __a,uint8x16_t __b)9856 vzipq_u8 (uint8x16_t __a, uint8x16_t __b)
9857 {
9858   uint8x16x2_t __rv;
9859 #ifdef __ARM_BIG_ENDIAN
9860   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9861       { 20, 4, 21, 5, 22, 6, 23, 7, 16, 0, 17, 1, 18, 2, 19, 3 });
9862   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9863       { 28, 12, 29, 13, 30, 14, 31, 15, 24, 8, 25, 9, 26, 10, 27, 11 });
9864 #else
9865   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9866       { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
9867   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9868       { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
9869 #endif
9870   return __rv;
9871 }
9872 
9873 __extension__ extern __inline uint16x8x2_t
9874 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_u16(uint16x8_t __a,uint16x8_t __b)9875 vzipq_u16 (uint16x8_t __a, uint16x8_t __b)
9876 {
9877   uint16x8x2_t __rv;
9878 #ifdef __ARM_BIG_ENDIAN
9879   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9880       { 10, 2, 11, 3, 8, 0, 9, 1 });
9881   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9882       { 14, 6, 15, 7, 12, 4, 13, 5 });
9883 #else
9884   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9885       { 0, 8, 1, 9, 2, 10, 3, 11 });
9886   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9887       { 4, 12, 5, 13, 6, 14, 7, 15 });
9888 #endif
9889   return __rv;
9890 }
9891 
9892 __extension__ extern __inline uint32x4x2_t
9893 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_u32(uint32x4_t __a,uint32x4_t __b)9894 vzipq_u32 (uint32x4_t __a, uint32x4_t __b)
9895 {
9896   uint32x4x2_t __rv;
9897 #ifdef __ARM_BIG_ENDIAN
9898   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 4, 0 });
9899   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 7, 3, 6, 2 });
9900 #else
9901   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
9902   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
9903 #endif
9904   return __rv;
9905 }
9906 
9907 __extension__ extern __inline poly8x16x2_t
9908 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_p8(poly8x16_t __a,poly8x16_t __b)9909 vzipq_p8 (poly8x16_t __a, poly8x16_t __b)
9910 {
9911   poly8x16x2_t __rv;
9912 #ifdef __ARM_BIG_ENDIAN
9913   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9914       { 20, 4, 21, 5, 22, 6, 23, 7, 16, 0, 17, 1, 18, 2, 19, 3 });
9915   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9916       { 28, 12, 29, 13, 30, 14, 31, 15, 24, 8, 25, 9, 26, 10, 27, 11 });
9917 #else
9918   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9919       { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
9920   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9921       { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
9922 #endif
9923   return __rv;
9924 }
9925 
9926 __extension__ extern __inline poly16x8x2_t
9927 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_p16(poly16x8_t __a,poly16x8_t __b)9928 vzipq_p16 (poly16x8_t __a, poly16x8_t __b)
9929 {
9930   poly16x8x2_t __rv;
9931 #ifdef __ARM_BIG_ENDIAN
9932   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9933       { 10, 2, 11, 3, 8, 0, 9, 1 });
9934   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9935       { 14, 6, 15, 7, 12, 4, 13, 5 });
9936 #else
9937   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9938       { 0, 8, 1, 9, 2, 10, 3, 11 });
9939   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9940       { 4, 12, 5, 13, 6, 14, 7, 15 });
9941 #endif
9942   return __rv;
9943 }
9944 
9945 __extension__ extern __inline int8x8x2_t
9946 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_s8(int8x8_t __a,int8x8_t __b)9947 vuzp_s8 (int8x8_t __a, int8x8_t __b)
9948 {
9949   int8x8x2_t __rv;
9950 #ifdef __ARM_BIG_ENDIAN
9951   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9952       { 9, 11, 13, 15, 1, 3, 5, 7 });
9953   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9954       { 8, 10, 12, 14, 0, 2, 4, 6 });
9955 #else
9956   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9957       { 0, 2, 4, 6, 8, 10, 12, 14 });
9958   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9959       { 1, 3, 5, 7, 9, 11, 13, 15 });
9960 #endif
9961   return __rv;
9962 }
9963 
9964 __extension__ extern __inline int16x4x2_t
9965 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_s16(int16x4_t __a,int16x4_t __b)9966 vuzp_s16 (int16x4_t __a, int16x4_t __b)
9967 {
9968   int16x4x2_t __rv;
9969 #ifdef __ARM_BIG_ENDIAN
9970   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 7, 1, 3 });
9971   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 6, 0, 2 });
9972 #else
9973   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
9974   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
9975 #endif
9976   return __rv;
9977 }
9978 
9979 __extension__ extern __inline int32x2x2_t
9980 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_s32(int32x2_t __a,int32x2_t __b)9981 vuzp_s32 (int32x2_t __a, int32x2_t __b)
9982 {
9983   int32x2x2_t __rv;
9984 #ifdef __ARM_BIG_ENDIAN
9985   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9986   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9987 #else
9988   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9989   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9990 #endif
9991   return __rv;
9992 }
9993 
9994 __extension__ extern __inline float32x2x2_t
9995 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_f32(float32x2_t __a,float32x2_t __b)9996 vuzp_f32 (float32x2_t __a, float32x2_t __b)
9997 {
9998   float32x2x2_t __rv;
9999 #ifdef __ARM_BIG_ENDIAN
10000   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
10001   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
10002 #else
10003   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
10004   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
10005 #endif
10006   return __rv;
10007 }
10008 
10009 __extension__ extern __inline uint8x8x2_t
10010 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_u8(uint8x8_t __a,uint8x8_t __b)10011 vuzp_u8 (uint8x8_t __a, uint8x8_t __b)
10012 {
10013   uint8x8x2_t __rv;
10014 #ifdef __ARM_BIG_ENDIAN
10015   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
10016       { 9, 11, 13, 15, 1, 3, 5, 7 });
10017   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
10018       { 8, 10, 12, 14, 0, 2, 4, 6 });
10019 #else
10020   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
10021       { 0, 2, 4, 6, 8, 10, 12, 14 });
10022   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
10023       { 1, 3, 5, 7, 9, 11, 13, 15 });
10024 #endif
10025   return __rv;
10026 }
10027 
10028 __extension__ extern __inline uint16x4x2_t
10029 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_u16(uint16x4_t __a,uint16x4_t __b)10030 vuzp_u16 (uint16x4_t __a, uint16x4_t __b)
10031 {
10032   uint16x4x2_t __rv;
10033 #ifdef __ARM_BIG_ENDIAN
10034   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 7, 1, 3 });
10035   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 6, 0, 2 });
10036 #else
10037   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
10038   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
10039 #endif
10040   return __rv;
10041 }
10042 
10043 __extension__ extern __inline uint32x2x2_t
10044 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_u32(uint32x2_t __a,uint32x2_t __b)10045 vuzp_u32 (uint32x2_t __a, uint32x2_t __b)
10046 {
10047   uint32x2x2_t __rv;
10048 #ifdef __ARM_BIG_ENDIAN
10049   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
10050   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
10051 #else
10052   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
10053   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
10054 #endif
10055   return __rv;
10056 }
10057 
10058 __extension__ extern __inline poly8x8x2_t
10059 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_p8(poly8x8_t __a,poly8x8_t __b)10060 vuzp_p8 (poly8x8_t __a, poly8x8_t __b)
10061 {
10062   poly8x8x2_t __rv;
10063 #ifdef __ARM_BIG_ENDIAN
10064   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
10065       { 9, 11, 13, 15, 1, 3, 5, 7 });
10066   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
10067       { 8, 10, 12, 14, 0, 2, 4, 6 });
10068 #else
10069   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
10070       { 0, 2, 4, 6, 8, 10, 12, 14 });
10071   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
10072       { 1, 3, 5, 7, 9, 11, 13, 15 });
10073 #endif
10074   return __rv;
10075 }
10076 
10077 __extension__ extern __inline poly16x4x2_t
10078 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_p16(poly16x4_t __a,poly16x4_t __b)10079 vuzp_p16 (poly16x4_t __a, poly16x4_t __b)
10080 {
10081   poly16x4x2_t __rv;
10082 #ifdef __ARM_BIG_ENDIAN
10083   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 7, 1, 3 });
10084   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 6, 0, 2 });
10085 #else
10086   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
10087   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
10088 #endif
10089   return __rv;
10090 }
10091 
10092 __extension__ extern __inline int8x16x2_t
10093 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_s8(int8x16_t __a,int8x16_t __b)10094 vuzpq_s8 (int8x16_t __a, int8x16_t __b)
10095 {
10096   int8x16x2_t __rv;
10097 #ifdef __ARM_BIG_ENDIAN
10098   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
10099       { 9, 11, 13, 15, 1, 3, 5, 7, 25, 27, 29, 31, 17, 19, 21, 23 });
10100   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
10101       { 8, 10, 12, 14, 0, 2, 4, 6, 24, 26, 28, 30, 16, 18, 20, 22 });
10102 #else
10103   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
10104       { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
10105   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
10106       { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
10107 #endif
10108   return __rv;
10109 }
10110 
10111 __extension__ extern __inline int16x8x2_t
10112 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_s16(int16x8_t __a,int16x8_t __b)10113 vuzpq_s16 (int16x8_t __a, int16x8_t __b)
10114 {
10115   int16x8x2_t __rv;
10116 #ifdef __ARM_BIG_ENDIAN
10117   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
10118       { 5, 7, 1, 3, 13, 15, 9, 11 });
10119   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
10120       { 4, 6, 0, 2, 12, 14, 8, 10 });
10121 #else
10122   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
10123       { 0, 2, 4, 6, 8, 10, 12, 14 });
10124   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
10125       { 1, 3, 5, 7, 9, 11, 13, 15 });
10126 #endif
10127   return __rv;
10128 }
10129 
10130 __extension__ extern __inline int32x4x2_t
10131 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_s32(int32x4_t __a,int32x4_t __b)10132 vuzpq_s32 (int32x4_t __a, int32x4_t __b)
10133 {
10134   int32x4x2_t __rv;
10135 #ifdef __ARM_BIG_ENDIAN
10136   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 3, 1, 7, 5 });
10137   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 0, 6, 4 });
10138 #else
10139   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
10140   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
10141 #endif
10142   return __rv;
10143 }
10144 
10145 __extension__ extern __inline float32x4x2_t
10146 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_f32(float32x4_t __a,float32x4_t __b)10147 vuzpq_f32 (float32x4_t __a, float32x4_t __b)
10148 {
10149   float32x4x2_t __rv;
10150 #ifdef __ARM_BIG_ENDIAN
10151   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 3, 1, 7, 5 });
10152   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 0, 6, 4 });
10153 #else
10154   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
10155   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
10156 #endif
10157   return __rv;
10158 }
10159 
10160 __extension__ extern __inline uint8x16x2_t
10161 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_u8(uint8x16_t __a,uint8x16_t __b)10162 vuzpq_u8 (uint8x16_t __a, uint8x16_t __b)
10163 {
10164   uint8x16x2_t __rv;
10165 #ifdef __ARM_BIG_ENDIAN
10166   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
10167       { 9, 11, 13, 15, 1, 3, 5, 7, 25, 27, 29, 31, 17, 19, 21, 23 });
10168   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
10169       { 8, 10, 12, 14, 0, 2, 4, 6, 24, 26, 28, 30, 16, 18, 20, 22 });
10170 #else
10171   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
10172       { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
10173   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
10174       { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
10175 #endif
10176   return __rv;
10177 }
10178 
10179 __extension__ extern __inline uint16x8x2_t
10180 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_u16(uint16x8_t __a,uint16x8_t __b)10181 vuzpq_u16 (uint16x8_t __a, uint16x8_t __b)
10182 {
10183   uint16x8x2_t __rv;
10184 #ifdef __ARM_BIG_ENDIAN
10185   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
10186       { 5, 7, 1, 3, 13, 15, 9, 11 });
10187   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
10188       { 4, 6, 0, 2, 12, 14, 8, 10 });
10189 #else
10190   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
10191       { 0, 2, 4, 6, 8, 10, 12, 14 });
10192   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
10193       { 1, 3, 5, 7, 9, 11, 13, 15 });
10194 #endif
10195   return __rv;
10196 }
10197 
10198 __extension__ extern __inline uint32x4x2_t
10199 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_u32(uint32x4_t __a,uint32x4_t __b)10200 vuzpq_u32 (uint32x4_t __a, uint32x4_t __b)
10201 {
10202   uint32x4x2_t __rv;
10203 #ifdef __ARM_BIG_ENDIAN
10204   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 3, 1, 7, 5 });
10205   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 0, 6, 4 });
10206 #else
10207   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
10208   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
10209 #endif
10210   return __rv;
10211 }
10212 
10213 __extension__ extern __inline poly8x16x2_t
10214 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_p8(poly8x16_t __a,poly8x16_t __b)10215 vuzpq_p8 (poly8x16_t __a, poly8x16_t __b)
10216 {
10217   poly8x16x2_t __rv;
10218 #ifdef __ARM_BIG_ENDIAN
10219   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
10220       { 9, 11, 13, 15, 1, 3, 5, 7, 25, 27, 29, 31, 17, 19, 21, 23 });
10221   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
10222       { 8, 10, 12, 14, 0, 2, 4, 6, 24, 26, 28, 30, 16, 18, 20, 22 });
10223 #else
10224   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
10225       { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
10226   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
10227       { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
10228 #endif
10229   return __rv;
10230 }
10231 
10232 __extension__ extern __inline poly16x8x2_t
10233 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_p16(poly16x8_t __a,poly16x8_t __b)10234 vuzpq_p16 (poly16x8_t __a, poly16x8_t __b)
10235 {
10236   poly16x8x2_t __rv;
10237 #ifdef __ARM_BIG_ENDIAN
10238   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
10239       { 5, 7, 1, 3, 13, 15, 9, 11 });
10240   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
10241       { 4, 6, 0, 2, 12, 14, 8, 10 });
10242 #else
10243   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
10244       { 0, 2, 4, 6, 8, 10, 12, 14 });
10245   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
10246       { 1, 3, 5, 7, 9, 11, 13, 15 });
10247 #endif
10248   return __rv;
10249 }
10250 
10251 #pragma GCC push_options
10252 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10253 __extension__ extern __inline poly64x1_t
10254 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64(const poly64_t * __a)10255 vld1_p64 (const poly64_t * __a)
10256 {
10257   return (poly64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
10258 }
10259 
10260 #pragma GCC pop_options
10261 __extension__ extern __inline int8x8_t
10262 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8(const int8_t * __a)10263 vld1_s8 (const int8_t * __a)
10264 {
10265   return (int8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
10266 }
10267 
10268 __extension__ extern __inline int16x4_t
10269 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16(const int16_t * __a)10270 vld1_s16 (const int16_t * __a)
10271 {
10272   return (int16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
10273 }
10274 
10275 __extension__ extern __inline int32x2_t
10276 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32(const int32_t * __a)10277 vld1_s32 (const int32_t * __a)
10278 {
10279   return (int32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
10280 }
10281 
10282 __extension__ extern __inline int64x1_t
10283 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64(const int64_t * __a)10284 vld1_s64 (const int64_t * __a)
10285 {
10286   return (int64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
10287 }
10288 
10289 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10290 __extension__ extern __inline float16x4_t
10291 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16(const float16_t * __a)10292 vld1_f16 (const float16_t * __a)
10293 {
10294   return __builtin_neon_vld1v4hf (__a);
10295 }
10296 #endif
10297 
10298 __extension__ extern __inline float32x2_t
10299 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32(const float32_t * __a)10300 vld1_f32 (const float32_t * __a)
10301 {
10302   return (float32x2_t)__builtin_neon_vld1v2sf ((const __builtin_neon_sf *) __a);
10303 }
10304 
10305 __extension__ extern __inline uint8x8_t
10306 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8(const uint8_t * __a)10307 vld1_u8 (const uint8_t * __a)
10308 {
10309   return (uint8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
10310 }
10311 
10312 __extension__ extern __inline uint16x4_t
10313 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16(const uint16_t * __a)10314 vld1_u16 (const uint16_t * __a)
10315 {
10316   return (uint16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
10317 }
10318 
10319 __extension__ extern __inline uint32x2_t
10320 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32(const uint32_t * __a)10321 vld1_u32 (const uint32_t * __a)
10322 {
10323   return (uint32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
10324 }
10325 
10326 __extension__ extern __inline uint64x1_t
10327 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64(const uint64_t * __a)10328 vld1_u64 (const uint64_t * __a)
10329 {
10330   return (uint64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
10331 }
10332 
10333 __extension__ extern __inline poly8x8_t
10334 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8(const poly8_t * __a)10335 vld1_p8 (const poly8_t * __a)
10336 {
10337   return (poly8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
10338 }
10339 
10340 __extension__ extern __inline poly16x4_t
10341 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16(const poly16_t * __a)10342 vld1_p16 (const poly16_t * __a)
10343 {
10344   return (poly16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
10345 }
10346 
10347 #pragma GCC push_options
10348 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10349 __extension__ extern __inline poly64x2_t
10350 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64(const poly64_t * __a)10351 vld1q_p64 (const poly64_t * __a)
10352 {
10353   return (poly64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
10354 }
10355 
10356 #pragma GCC pop_options
10357 __extension__ extern __inline int8x16_t
10358 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8(const int8_t * __a)10359 vld1q_s8 (const int8_t * __a)
10360 {
10361   return (int8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
10362 }
10363 
10364 __extension__ extern __inline int16x8_t
10365 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16(const int16_t * __a)10366 vld1q_s16 (const int16_t * __a)
10367 {
10368   return (int16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
10369 }
10370 
10371 __extension__ extern __inline int32x4_t
10372 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32(const int32_t * __a)10373 vld1q_s32 (const int32_t * __a)
10374 {
10375   return (int32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
10376 }
10377 
10378 __extension__ extern __inline int64x2_t
10379 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64(const int64_t * __a)10380 vld1q_s64 (const int64_t * __a)
10381 {
10382   return (int64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
10383 }
10384 
10385 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10386 __extension__ extern __inline float16x8_t
10387 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16(const float16_t * __a)10388 vld1q_f16 (const float16_t * __a)
10389 {
10390   return __builtin_neon_vld1v8hf (__a);
10391 }
10392 #endif
10393 
10394 __extension__ extern __inline float32x4_t
10395 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32(const float32_t * __a)10396 vld1q_f32 (const float32_t * __a)
10397 {
10398   return (float32x4_t)__builtin_neon_vld1v4sf ((const __builtin_neon_sf *) __a);
10399 }
10400 
10401 __extension__ extern __inline uint8x16_t
10402 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8(const uint8_t * __a)10403 vld1q_u8 (const uint8_t * __a)
10404 {
10405   return (uint8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
10406 }
10407 
10408 __extension__ extern __inline uint16x8_t
10409 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16(const uint16_t * __a)10410 vld1q_u16 (const uint16_t * __a)
10411 {
10412   return (uint16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
10413 }
10414 
10415 __extension__ extern __inline uint32x4_t
10416 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32(const uint32_t * __a)10417 vld1q_u32 (const uint32_t * __a)
10418 {
10419   return (uint32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
10420 }
10421 
10422 __extension__ extern __inline uint64x2_t
10423 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64(const uint64_t * __a)10424 vld1q_u64 (const uint64_t * __a)
10425 {
10426   return (uint64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
10427 }
10428 
10429 __extension__ extern __inline poly8x16_t
10430 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8(const poly8_t * __a)10431 vld1q_p8 (const poly8_t * __a)
10432 {
10433   return (poly8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
10434 }
10435 
10436 __extension__ extern __inline poly16x8_t
10437 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16(const poly16_t * __a)10438 vld1q_p16 (const poly16_t * __a)
10439 {
10440   return (poly16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
10441 }
10442 
10443 __extension__ extern __inline int8x8_t
10444 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s8(const int8_t * __a,int8x8_t __b,const int __c)10445 vld1_lane_s8 (const int8_t * __a, int8x8_t __b, const int __c)
10446 {
10447   return (int8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, __b, __c);
10448 }
10449 
10450 __extension__ extern __inline int16x4_t
10451 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s16(const int16_t * __a,int16x4_t __b,const int __c)10452 vld1_lane_s16 (const int16_t * __a, int16x4_t __b, const int __c)
10453 {
10454   return (int16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, __b, __c);
10455 }
10456 
10457 __extension__ extern __inline int32x2_t
10458 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s32(const int32_t * __a,int32x2_t __b,const int __c)10459 vld1_lane_s32 (const int32_t * __a, int32x2_t __b, const int __c)
10460 {
10461   return (int32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, __b, __c);
10462 }
10463 
10464 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10465 __extension__ extern __inline float16x4_t
10466 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_f16(const float16_t * __a,float16x4_t __b,const int __c)10467 vld1_lane_f16 (const float16_t * __a, float16x4_t __b, const int __c)
10468 {
10469   return vset_lane_f16 (*__a, __b, __c);
10470 }
10471 #endif
10472 
10473 __extension__ extern __inline float32x2_t
10474 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_f32(const float32_t * __a,float32x2_t __b,const int __c)10475 vld1_lane_f32 (const float32_t * __a, float32x2_t __b, const int __c)
10476 {
10477   return (float32x2_t)__builtin_neon_vld1_lanev2sf ((const __builtin_neon_sf *) __a, __b, __c);
10478 }
10479 
10480 __extension__ extern __inline uint8x8_t
10481 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u8(const uint8_t * __a,uint8x8_t __b,const int __c)10482 vld1_lane_u8 (const uint8_t * __a, uint8x8_t __b, const int __c)
10483 {
10484   return (uint8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
10485 }
10486 
10487 __extension__ extern __inline uint16x4_t
10488 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u16(const uint16_t * __a,uint16x4_t __b,const int __c)10489 vld1_lane_u16 (const uint16_t * __a, uint16x4_t __b, const int __c)
10490 {
10491   return (uint16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
10492 }
10493 
10494 __extension__ extern __inline uint32x2_t
10495 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u32(const uint32_t * __a,uint32x2_t __b,const int __c)10496 vld1_lane_u32 (const uint32_t * __a, uint32x2_t __b, const int __c)
10497 {
10498   return (uint32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, (int32x2_t) __b, __c);
10499 }
10500 
10501 __extension__ extern __inline poly8x8_t
10502 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p8(const poly8_t * __a,poly8x8_t __b,const int __c)10503 vld1_lane_p8 (const poly8_t * __a, poly8x8_t __b, const int __c)
10504 {
10505   return (poly8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
10506 }
10507 
10508 __extension__ extern __inline poly16x4_t
10509 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p16(const poly16_t * __a,poly16x4_t __b,const int __c)10510 vld1_lane_p16 (const poly16_t * __a, poly16x4_t __b, const int __c)
10511 {
10512   return (poly16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
10513 }
10514 
10515 #pragma GCC push_options
10516 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10517 __extension__ extern __inline poly64x1_t
10518 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p64(const poly64_t * __a,poly64x1_t __b,const int __c)10519 vld1_lane_p64 (const poly64_t * __a, poly64x1_t __b, const int __c)
10520 {
10521   return (poly64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, __b, __c);
10522 }
10523 
10524 #pragma GCC pop_options
10525 __extension__ extern __inline int64x1_t
10526 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s64(const int64_t * __a,int64x1_t __b,const int __c)10527 vld1_lane_s64 (const int64_t * __a, int64x1_t __b, const int __c)
10528 {
10529   return (int64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, __b, __c);
10530 }
10531 
10532 __extension__ extern __inline uint64x1_t
10533 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u64(const uint64_t * __a,uint64x1_t __b,const int __c)10534 vld1_lane_u64 (const uint64_t * __a, uint64x1_t __b, const int __c)
10535 {
10536   return (uint64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, (int64x1_t) __b, __c);
10537 }
10538 
10539 __extension__ extern __inline int8x16_t
10540 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s8(const int8_t * __a,int8x16_t __b,const int __c)10541 vld1q_lane_s8 (const int8_t * __a, int8x16_t __b, const int __c)
10542 {
10543   return (int8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, __b, __c);
10544 }
10545 
10546 __extension__ extern __inline int16x8_t
10547 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s16(const int16_t * __a,int16x8_t __b,const int __c)10548 vld1q_lane_s16 (const int16_t * __a, int16x8_t __b, const int __c)
10549 {
10550   return (int16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, __b, __c);
10551 }
10552 
10553 __extension__ extern __inline int32x4_t
10554 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s32(const int32_t * __a,int32x4_t __b,const int __c)10555 vld1q_lane_s32 (const int32_t * __a, int32x4_t __b, const int __c)
10556 {
10557   return (int32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, __b, __c);
10558 }
10559 
10560 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10561 __extension__ extern __inline float16x8_t
10562 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_f16(const float16_t * __a,float16x8_t __b,const int __c)10563 vld1q_lane_f16 (const float16_t * __a, float16x8_t __b, const int __c)
10564 {
10565   return vsetq_lane_f16 (*__a, __b, __c);
10566 }
10567 #endif
10568 
10569 __extension__ extern __inline float32x4_t
10570 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_f32(const float32_t * __a,float32x4_t __b,const int __c)10571 vld1q_lane_f32 (const float32_t * __a, float32x4_t __b, const int __c)
10572 {
10573   return (float32x4_t)__builtin_neon_vld1_lanev4sf ((const __builtin_neon_sf *) __a, __b, __c);
10574 }
10575 
10576 __extension__ extern __inline uint8x16_t
10577 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u8(const uint8_t * __a,uint8x16_t __b,const int __c)10578 vld1q_lane_u8 (const uint8_t * __a, uint8x16_t __b, const int __c)
10579 {
10580   return (uint8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
10581 }
10582 
10583 __extension__ extern __inline uint16x8_t
10584 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u16(const uint16_t * __a,uint16x8_t __b,const int __c)10585 vld1q_lane_u16 (const uint16_t * __a, uint16x8_t __b, const int __c)
10586 {
10587   return (uint16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
10588 }
10589 
10590 __extension__ extern __inline uint32x4_t
10591 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u32(const uint32_t * __a,uint32x4_t __b,const int __c)10592 vld1q_lane_u32 (const uint32_t * __a, uint32x4_t __b, const int __c)
10593 {
10594   return (uint32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, (int32x4_t) __b, __c);
10595 }
10596 
10597 __extension__ extern __inline poly8x16_t
10598 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p8(const poly8_t * __a,poly8x16_t __b,const int __c)10599 vld1q_lane_p8 (const poly8_t * __a, poly8x16_t __b, const int __c)
10600 {
10601   return (poly8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
10602 }
10603 
10604 __extension__ extern __inline poly16x8_t
10605 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p16(const poly16_t * __a,poly16x8_t __b,const int __c)10606 vld1q_lane_p16 (const poly16_t * __a, poly16x8_t __b, const int __c)
10607 {
10608   return (poly16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
10609 }
10610 
10611 #pragma GCC push_options
10612 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10613 __extension__ extern __inline poly64x2_t
10614 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p64(const poly64_t * __a,poly64x2_t __b,const int __c)10615 vld1q_lane_p64 (const poly64_t * __a, poly64x2_t __b, const int __c)
10616 {
10617   return (poly64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, (int64x2_t) __b, __c);
10618 }
10619 
10620 #pragma GCC pop_options
10621 __extension__ extern __inline int64x2_t
10622 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s64(const int64_t * __a,int64x2_t __b,const int __c)10623 vld1q_lane_s64 (const int64_t * __a, int64x2_t __b, const int __c)
10624 {
10625   return (int64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, __b, __c);
10626 }
10627 
10628 __extension__ extern __inline uint64x2_t
10629 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u64(const uint64_t * __a,uint64x2_t __b,const int __c)10630 vld1q_lane_u64 (const uint64_t * __a, uint64x2_t __b, const int __c)
10631 {
10632   return (uint64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, (int64x2_t) __b, __c);
10633 }
10634 
10635 __extension__ extern __inline int8x8_t
10636 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s8(const int8_t * __a)10637 vld1_dup_s8 (const int8_t * __a)
10638 {
10639   return (int8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
10640 }
10641 
10642 __extension__ extern __inline int16x4_t
10643 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s16(const int16_t * __a)10644 vld1_dup_s16 (const int16_t * __a)
10645 {
10646   return (int16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
10647 }
10648 
10649 __extension__ extern __inline int32x2_t
10650 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s32(const int32_t * __a)10651 vld1_dup_s32 (const int32_t * __a)
10652 {
10653   return (int32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
10654 }
10655 
10656 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10657 __extension__ extern __inline float16x4_t
10658 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_f16(const float16_t * __a)10659 vld1_dup_f16 (const float16_t * __a)
10660 {
10661   float16_t __f = *__a;
10662   return (float16x4_t) { __f, __f, __f, __f };
10663 }
10664 #endif
10665 
10666 __extension__ extern __inline float32x2_t
10667 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_f32(const float32_t * __a)10668 vld1_dup_f32 (const float32_t * __a)
10669 {
10670   return (float32x2_t)__builtin_neon_vld1_dupv2sf ((const __builtin_neon_sf *) __a);
10671 }
10672 
10673 __extension__ extern __inline uint8x8_t
10674 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u8(const uint8_t * __a)10675 vld1_dup_u8 (const uint8_t * __a)
10676 {
10677   return (uint8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
10678 }
10679 
10680 __extension__ extern __inline uint16x4_t
10681 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u16(const uint16_t * __a)10682 vld1_dup_u16 (const uint16_t * __a)
10683 {
10684   return (uint16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
10685 }
10686 
10687 __extension__ extern __inline uint32x2_t
10688 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u32(const uint32_t * __a)10689 vld1_dup_u32 (const uint32_t * __a)
10690 {
10691   return (uint32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
10692 }
10693 
10694 __extension__ extern __inline poly8x8_t
10695 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p8(const poly8_t * __a)10696 vld1_dup_p8 (const poly8_t * __a)
10697 {
10698   return (poly8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
10699 }
10700 
10701 __extension__ extern __inline poly16x4_t
10702 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p16(const poly16_t * __a)10703 vld1_dup_p16 (const poly16_t * __a)
10704 {
10705   return (poly16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
10706 }
10707 
10708 #pragma GCC push_options
10709 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10710 __extension__ extern __inline poly64x1_t
10711 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p64(const poly64_t * __a)10712 vld1_dup_p64 (const poly64_t * __a)
10713 {
10714   return (poly64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
10715 }
10716 
10717 #pragma GCC pop_options
10718 __extension__ extern __inline int64x1_t
10719 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s64(const int64_t * __a)10720 vld1_dup_s64 (const int64_t * __a)
10721 {
10722   return (int64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
10723 }
10724 
10725 __extension__ extern __inline uint64x1_t
10726 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u64(const uint64_t * __a)10727 vld1_dup_u64 (const uint64_t * __a)
10728 {
10729   return (uint64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
10730 }
10731 
10732 __extension__ extern __inline int8x16_t
10733 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s8(const int8_t * __a)10734 vld1q_dup_s8 (const int8_t * __a)
10735 {
10736   return (int8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
10737 }
10738 
10739 __extension__ extern __inline int16x8_t
10740 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s16(const int16_t * __a)10741 vld1q_dup_s16 (const int16_t * __a)
10742 {
10743   return (int16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
10744 }
10745 
10746 __extension__ extern __inline int32x4_t
10747 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s32(const int32_t * __a)10748 vld1q_dup_s32 (const int32_t * __a)
10749 {
10750   return (int32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
10751 }
10752 
10753 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10754 __extension__ extern __inline float16x8_t
10755 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_f16(const float16_t * __a)10756 vld1q_dup_f16 (const float16_t * __a)
10757 {
10758   float16_t __f = *__a;
10759   return (float16x8_t) { __f, __f, __f, __f, __f, __f, __f, __f };
10760 }
10761 #endif
10762 
10763 __extension__ extern __inline float32x4_t
10764 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_f32(const float32_t * __a)10765 vld1q_dup_f32 (const float32_t * __a)
10766 {
10767   return (float32x4_t)__builtin_neon_vld1_dupv4sf ((const __builtin_neon_sf *) __a);
10768 }
10769 
10770 __extension__ extern __inline uint8x16_t
10771 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u8(const uint8_t * __a)10772 vld1q_dup_u8 (const uint8_t * __a)
10773 {
10774   return (uint8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
10775 }
10776 
10777 __extension__ extern __inline uint16x8_t
10778 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u16(const uint16_t * __a)10779 vld1q_dup_u16 (const uint16_t * __a)
10780 {
10781   return (uint16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
10782 }
10783 
10784 __extension__ extern __inline uint32x4_t
10785 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u32(const uint32_t * __a)10786 vld1q_dup_u32 (const uint32_t * __a)
10787 {
10788   return (uint32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
10789 }
10790 
10791 __extension__ extern __inline poly8x16_t
10792 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p8(const poly8_t * __a)10793 vld1q_dup_p8 (const poly8_t * __a)
10794 {
10795   return (poly8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
10796 }
10797 
10798 __extension__ extern __inline poly16x8_t
10799 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p16(const poly16_t * __a)10800 vld1q_dup_p16 (const poly16_t * __a)
10801 {
10802   return (poly16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
10803 }
10804 
10805 #pragma GCC push_options
10806 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10807 __extension__ extern __inline poly64x2_t
10808 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p64(const poly64_t * __a)10809 vld1q_dup_p64 (const poly64_t * __a)
10810 {
10811   return (poly64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
10812 }
10813 
10814 #pragma GCC pop_options
10815 __extension__ extern __inline int64x2_t
10816 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s64(const int64_t * __a)10817 vld1q_dup_s64 (const int64_t * __a)
10818 {
10819   return (int64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
10820 }
10821 
10822 __extension__ extern __inline uint64x2_t
10823 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u64(const uint64_t * __a)10824 vld1q_dup_u64 (const uint64_t * __a)
10825 {
10826   return (uint64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
10827 }
10828 
10829 #pragma GCC push_options
10830 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10831 __extension__ extern __inline void
10832 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64(poly64_t * __a,poly64x1_t __b)10833 vst1_p64 (poly64_t * __a, poly64x1_t __b)
10834 {
10835   __builtin_neon_vst1di ((__builtin_neon_di *) __a, __b);
10836 }
10837 
10838 #pragma GCC pop_options
10839 __extension__ extern __inline void
10840 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8(int8_t * __a,int8x8_t __b)10841 vst1_s8 (int8_t * __a, int8x8_t __b)
10842 {
10843   __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, __b);
10844 }
10845 
10846 __extension__ extern __inline void
10847 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16(int16_t * __a,int16x4_t __b)10848 vst1_s16 (int16_t * __a, int16x4_t __b)
10849 {
10850   __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, __b);
10851 }
10852 
10853 __extension__ extern __inline void
10854 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32(int32_t * __a,int32x2_t __b)10855 vst1_s32 (int32_t * __a, int32x2_t __b)
10856 {
10857   __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, __b);
10858 }
10859 
10860 __extension__ extern __inline void
10861 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64(int64_t * __a,int64x1_t __b)10862 vst1_s64 (int64_t * __a, int64x1_t __b)
10863 {
10864   __builtin_neon_vst1di ((__builtin_neon_di *) __a, __b);
10865 }
10866 
10867 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10868 __extension__ extern __inline void
10869 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16(float16_t * __a,float16x4_t __b)10870 vst1_f16 (float16_t * __a, float16x4_t __b)
10871 {
10872   __builtin_neon_vst1v4hf (__a, __b);
10873 }
10874 #endif
10875 
10876 __extension__ extern __inline void
10877 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32(float32_t * __a,float32x2_t __b)10878 vst1_f32 (float32_t * __a, float32x2_t __b)
10879 {
10880   __builtin_neon_vst1v2sf ((__builtin_neon_sf *) __a, __b);
10881 }
10882 
10883 __extension__ extern __inline void
10884 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8(uint8_t * __a,uint8x8_t __b)10885 vst1_u8 (uint8_t * __a, uint8x8_t __b)
10886 {
10887   __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
10888 }
10889 
10890 __extension__ extern __inline void
10891 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16(uint16_t * __a,uint16x4_t __b)10892 vst1_u16 (uint16_t * __a, uint16x4_t __b)
10893 {
10894   __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
10895 }
10896 
10897 __extension__ extern __inline void
10898 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32(uint32_t * __a,uint32x2_t __b)10899 vst1_u32 (uint32_t * __a, uint32x2_t __b)
10900 {
10901   __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, (int32x2_t) __b);
10902 }
10903 
10904 __extension__ extern __inline void
10905 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64(uint64_t * __a,uint64x1_t __b)10906 vst1_u64 (uint64_t * __a, uint64x1_t __b)
10907 {
10908   __builtin_neon_vst1di ((__builtin_neon_di *) __a, (int64x1_t) __b);
10909 }
10910 
10911 __extension__ extern __inline void
10912 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8(poly8_t * __a,poly8x8_t __b)10913 vst1_p8 (poly8_t * __a, poly8x8_t __b)
10914 {
10915   __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
10916 }
10917 
10918 __extension__ extern __inline void
10919 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16(poly16_t * __a,poly16x4_t __b)10920 vst1_p16 (poly16_t * __a, poly16x4_t __b)
10921 {
10922   __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
10923 }
10924 
10925 #pragma GCC push_options
10926 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10927 __extension__ extern __inline void
10928 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64(poly64_t * __a,poly64x2_t __b)10929 vst1q_p64 (poly64_t * __a, poly64x2_t __b)
10930 {
10931   __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, (int64x2_t) __b);
10932 }
10933 
10934 #pragma GCC pop_options
10935 __extension__ extern __inline void
10936 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8(int8_t * __a,int8x16_t __b)10937 vst1q_s8 (int8_t * __a, int8x16_t __b)
10938 {
10939   __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, __b);
10940 }
10941 
10942 __extension__ extern __inline void
10943 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16(int16_t * __a,int16x8_t __b)10944 vst1q_s16 (int16_t * __a, int16x8_t __b)
10945 {
10946   __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, __b);
10947 }
10948 
10949 __extension__ extern __inline void
10950 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32(int32_t * __a,int32x4_t __b)10951 vst1q_s32 (int32_t * __a, int32x4_t __b)
10952 {
10953   __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, __b);
10954 }
10955 
10956 __extension__ extern __inline void
10957 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64(int64_t * __a,int64x2_t __b)10958 vst1q_s64 (int64_t * __a, int64x2_t __b)
10959 {
10960   __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, __b);
10961 }
10962 
10963 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10964 __extension__ extern __inline void
10965 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16(float16_t * __a,float16x8_t __b)10966 vst1q_f16 (float16_t * __a, float16x8_t __b)
10967 {
10968   __builtin_neon_vst1v8hf (__a, __b);
10969 }
10970 #endif
10971 
10972 __extension__ extern __inline void
10973 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32(float32_t * __a,float32x4_t __b)10974 vst1q_f32 (float32_t * __a, float32x4_t __b)
10975 {
10976   __builtin_neon_vst1v4sf ((__builtin_neon_sf *) __a, __b);
10977 }
10978 
10979 __extension__ extern __inline void
10980 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8(uint8_t * __a,uint8x16_t __b)10981 vst1q_u8 (uint8_t * __a, uint8x16_t __b)
10982 {
10983   __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
10984 }
10985 
10986 __extension__ extern __inline void
10987 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16(uint16_t * __a,uint16x8_t __b)10988 vst1q_u16 (uint16_t * __a, uint16x8_t __b)
10989 {
10990   __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
10991 }
10992 
10993 __extension__ extern __inline void
10994 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32(uint32_t * __a,uint32x4_t __b)10995 vst1q_u32 (uint32_t * __a, uint32x4_t __b)
10996 {
10997   __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, (int32x4_t) __b);
10998 }
10999 
11000 __extension__ extern __inline void
11001 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64(uint64_t * __a,uint64x2_t __b)11002 vst1q_u64 (uint64_t * __a, uint64x2_t __b)
11003 {
11004   __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, (int64x2_t) __b);
11005 }
11006 
11007 __extension__ extern __inline void
11008 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8(poly8_t * __a,poly8x16_t __b)11009 vst1q_p8 (poly8_t * __a, poly8x16_t __b)
11010 {
11011   __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
11012 }
11013 
11014 __extension__ extern __inline void
11015 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16(poly16_t * __a,poly16x8_t __b)11016 vst1q_p16 (poly16_t * __a, poly16x8_t __b)
11017 {
11018   __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
11019 }
11020 
11021 __extension__ extern __inline void
11022 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s8(int8_t * __a,int8x8_t __b,const int __c)11023 vst1_lane_s8 (int8_t * __a, int8x8_t __b, const int __c)
11024 {
11025   __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, __b, __c);
11026 }
11027 
11028 __extension__ extern __inline void
11029 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s16(int16_t * __a,int16x4_t __b,const int __c)11030 vst1_lane_s16 (int16_t * __a, int16x4_t __b, const int __c)
11031 {
11032   __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, __b, __c);
11033 }
11034 
11035 __extension__ extern __inline void
11036 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s32(int32_t * __a,int32x2_t __b,const int __c)11037 vst1_lane_s32 (int32_t * __a, int32x2_t __b, const int __c)
11038 {
11039   __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, __b, __c);
11040 }
11041 
11042 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11043 __extension__ extern __inline void
11044 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_f16(float16_t * __a,float16x4_t __b,const int __c)11045 vst1_lane_f16 (float16_t * __a, float16x4_t __b, const int __c)
11046 {
11047   __builtin_neon_vst1_lanev4hf (__a, __b, __c);
11048 }
11049 #endif
11050 
11051 __extension__ extern __inline void
11052 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_f32(float32_t * __a,float32x2_t __b,const int __c)11053 vst1_lane_f32 (float32_t * __a, float32x2_t __b, const int __c)
11054 {
11055   __builtin_neon_vst1_lanev2sf ((__builtin_neon_sf *) __a, __b, __c);
11056 }
11057 
11058 __extension__ extern __inline void
11059 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u8(uint8_t * __a,uint8x8_t __b,const int __c)11060 vst1_lane_u8 (uint8_t * __a, uint8x8_t __b, const int __c)
11061 {
11062   __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
11063 }
11064 
11065 __extension__ extern __inline void
11066 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u16(uint16_t * __a,uint16x4_t __b,const int __c)11067 vst1_lane_u16 (uint16_t * __a, uint16x4_t __b, const int __c)
11068 {
11069   __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
11070 }
11071 
11072 __extension__ extern __inline void
11073 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u32(uint32_t * __a,uint32x2_t __b,const int __c)11074 vst1_lane_u32 (uint32_t * __a, uint32x2_t __b, const int __c)
11075 {
11076   __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, (int32x2_t) __b, __c);
11077 }
11078 
11079 __extension__ extern __inline void
11080 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p8(poly8_t * __a,poly8x8_t __b,const int __c)11081 vst1_lane_p8 (poly8_t * __a, poly8x8_t __b, const int __c)
11082 {
11083   __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
11084 }
11085 
11086 __extension__ extern __inline void
11087 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p16(poly16_t * __a,poly16x4_t __b,const int __c)11088 vst1_lane_p16 (poly16_t * __a, poly16x4_t __b, const int __c)
11089 {
11090   __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
11091 }
11092 
11093 #pragma GCC push_options
11094 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11095 __extension__ extern __inline void
11096 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p64(poly64_t * __a,poly64x1_t __b,const int __c)11097 vst1_lane_p64 (poly64_t * __a, poly64x1_t __b, const int __c)
11098 {
11099   __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, __b, __c);
11100 }
11101 
11102 #pragma GCC pop_options
11103 __extension__ extern __inline void
11104 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s64(int64_t * __a,int64x1_t __b,const int __c)11105 vst1_lane_s64 (int64_t * __a, int64x1_t __b, const int __c)
11106 {
11107   __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, __b, __c);
11108 }
11109 
11110 __extension__ extern __inline void
11111 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u64(uint64_t * __a,uint64x1_t __b,const int __c)11112 vst1_lane_u64 (uint64_t * __a, uint64x1_t __b, const int __c)
11113 {
11114   __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, (int64x1_t) __b, __c);
11115 }
11116 
11117 __extension__ extern __inline void
11118 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s8(int8_t * __a,int8x16_t __b,const int __c)11119 vst1q_lane_s8 (int8_t * __a, int8x16_t __b, const int __c)
11120 {
11121   __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, __b, __c);
11122 }
11123 
11124 __extension__ extern __inline void
11125 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s16(int16_t * __a,int16x8_t __b,const int __c)11126 vst1q_lane_s16 (int16_t * __a, int16x8_t __b, const int __c)
11127 {
11128   __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, __b, __c);
11129 }
11130 
11131 __extension__ extern __inline void
11132 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s32(int32_t * __a,int32x4_t __b,const int __c)11133 vst1q_lane_s32 (int32_t * __a, int32x4_t __b, const int __c)
11134 {
11135   __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, __b, __c);
11136 }
11137 
11138 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11139 __extension__ extern __inline void
11140 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_f16(float16_t * __a,float16x8_t __b,const int __c)11141 vst1q_lane_f16 (float16_t * __a, float16x8_t __b, const int __c)
11142 {
11143   __builtin_neon_vst1_lanev8hf (__a, __b, __c);
11144 }
11145 #endif
11146 
11147 __extension__ extern __inline void
11148 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_f32(float32_t * __a,float32x4_t __b,const int __c)11149 vst1q_lane_f32 (float32_t * __a, float32x4_t __b, const int __c)
11150 {
11151   __builtin_neon_vst1_lanev4sf ((__builtin_neon_sf *) __a, __b, __c);
11152 }
11153 
11154 __extension__ extern __inline void
11155 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u8(uint8_t * __a,uint8x16_t __b,const int __c)11156 vst1q_lane_u8 (uint8_t * __a, uint8x16_t __b, const int __c)
11157 {
11158   __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
11159 }
11160 
11161 __extension__ extern __inline void
11162 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u16(uint16_t * __a,uint16x8_t __b,const int __c)11163 vst1q_lane_u16 (uint16_t * __a, uint16x8_t __b, const int __c)
11164 {
11165   __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
11166 }
11167 
11168 __extension__ extern __inline void
11169 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u32(uint32_t * __a,uint32x4_t __b,const int __c)11170 vst1q_lane_u32 (uint32_t * __a, uint32x4_t __b, const int __c)
11171 {
11172   __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, (int32x4_t) __b, __c);
11173 }
11174 
11175 __extension__ extern __inline void
11176 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p8(poly8_t * __a,poly8x16_t __b,const int __c)11177 vst1q_lane_p8 (poly8_t * __a, poly8x16_t __b, const int __c)
11178 {
11179   __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
11180 }
11181 
11182 __extension__ extern __inline void
11183 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p16(poly16_t * __a,poly16x8_t __b,const int __c)11184 vst1q_lane_p16 (poly16_t * __a, poly16x8_t __b, const int __c)
11185 {
11186   __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
11187 }
11188 
11189 #pragma GCC push_options
11190 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11191 __extension__ extern __inline void
11192 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p64(poly64_t * __a,poly64x2_t __b,const int __c)11193 vst1q_lane_p64 (poly64_t * __a, poly64x2_t __b, const int __c)
11194 {
11195   __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, (int64x2_t) __b, __c);
11196 }
11197 
11198 #pragma GCC pop_options
11199 __extension__ extern __inline void
11200 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s64(int64_t * __a,int64x2_t __b,const int __c)11201 vst1q_lane_s64 (int64_t * __a, int64x2_t __b, const int __c)
11202 {
11203   __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, __b, __c);
11204 }
11205 
11206 __extension__ extern __inline void
11207 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u64(uint64_t * __a,uint64x2_t __b,const int __c)11208 vst1q_lane_u64 (uint64_t * __a, uint64x2_t __b, const int __c)
11209 {
11210   __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, (int64x2_t) __b, __c);
11211 }
11212 
11213 __extension__ extern __inline int8x8x2_t
11214 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s8(const int8_t * __a)11215 vld2_s8 (const int8_t * __a)
11216 {
11217   union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11218   __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
11219   return __rv.__i;
11220 }
11221 
11222 __extension__ extern __inline int16x4x2_t
11223 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s16(const int16_t * __a)11224 vld2_s16 (const int16_t * __a)
11225 {
11226   union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11227   __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
11228   return __rv.__i;
11229 }
11230 
11231 __extension__ extern __inline int32x2x2_t
11232 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s32(const int32_t * __a)11233 vld2_s32 (const int32_t * __a)
11234 {
11235   union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11236   __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
11237   return __rv.__i;
11238 }
11239 
11240 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11241 __extension__ extern __inline float16x4x2_t
11242 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_f16(const float16_t * __a)11243 vld2_f16 (const float16_t * __a)
11244 {
11245   union { float16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11246   __rv.__o = __builtin_neon_vld2v4hf (__a);
11247   return __rv.__i;
11248 }
11249 #endif
11250 
11251 __extension__ extern __inline float32x2x2_t
11252 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_f32(const float32_t * __a)11253 vld2_f32 (const float32_t * __a)
11254 {
11255   union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11256   __rv.__o = __builtin_neon_vld2v2sf ((const __builtin_neon_sf *) __a);
11257   return __rv.__i;
11258 }
11259 
11260 __extension__ extern __inline uint8x8x2_t
11261 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u8(const uint8_t * __a)11262 vld2_u8 (const uint8_t * __a)
11263 {
11264   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11265   __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
11266   return __rv.__i;
11267 }
11268 
11269 __extension__ extern __inline uint16x4x2_t
11270 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u16(const uint16_t * __a)11271 vld2_u16 (const uint16_t * __a)
11272 {
11273   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11274   __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
11275   return __rv.__i;
11276 }
11277 
11278 __extension__ extern __inline uint32x2x2_t
11279 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u32(const uint32_t * __a)11280 vld2_u32 (const uint32_t * __a)
11281 {
11282   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11283   __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
11284   return __rv.__i;
11285 }
11286 
11287 __extension__ extern __inline poly8x8x2_t
11288 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p8(const poly8_t * __a)11289 vld2_p8 (const poly8_t * __a)
11290 {
11291   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11292   __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
11293   return __rv.__i;
11294 }
11295 
11296 __extension__ extern __inline poly16x4x2_t
11297 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p16(const poly16_t * __a)11298 vld2_p16 (const poly16_t * __a)
11299 {
11300   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11301   __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
11302   return __rv.__i;
11303 }
11304 
11305 #pragma GCC push_options
11306 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11307 __extension__ extern __inline poly64x1x2_t
11308 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p64(const poly64_t * __a)11309 vld2_p64 (const poly64_t * __a)
11310 {
11311   union { poly64x1x2_t __i; __builtin_neon_ti __o; } __rv;
11312   __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
11313   return __rv.__i;
11314 }
11315 
11316 #pragma GCC pop_options
11317 __extension__ extern __inline int64x1x2_t
11318 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s64(const int64_t * __a)11319 vld2_s64 (const int64_t * __a)
11320 {
11321   union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
11322   __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
11323   return __rv.__i;
11324 }
11325 
11326 __extension__ extern __inline uint64x1x2_t
11327 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u64(const uint64_t * __a)11328 vld2_u64 (const uint64_t * __a)
11329 {
11330   union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
11331   __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
11332   return __rv.__i;
11333 }
11334 
11335 __extension__ extern __inline int8x16x2_t
11336 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s8(const int8_t * __a)11337 vld2q_s8 (const int8_t * __a)
11338 {
11339   union { int8x16x2_t __i; __builtin_neon_oi __o; } __rv;
11340   __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
11341   return __rv.__i;
11342 }
11343 
11344 __extension__ extern __inline int16x8x2_t
11345 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s16(const int16_t * __a)11346 vld2q_s16 (const int16_t * __a)
11347 {
11348   union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11349   __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
11350   return __rv.__i;
11351 }
11352 
11353 __extension__ extern __inline int32x4x2_t
11354 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s32(const int32_t * __a)11355 vld2q_s32 (const int32_t * __a)
11356 {
11357   union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
11358   __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
11359   return __rv.__i;
11360 }
11361 
11362 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11363 __extension__ extern __inline float16x8x2_t
11364 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_f16(const float16_t * __a)11365 vld2q_f16 (const float16_t * __a)
11366 {
11367   union { float16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11368   __rv.__o = __builtin_neon_vld2v8hf (__a);
11369   return __rv.__i;
11370 }
11371 #endif
11372 
11373 __extension__ extern __inline float32x4x2_t
11374 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_f32(const float32_t * __a)11375 vld2q_f32 (const float32_t * __a)
11376 {
11377   union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
11378   __rv.__o = __builtin_neon_vld2v4sf ((const __builtin_neon_sf *) __a);
11379   return __rv.__i;
11380 }
11381 
11382 __extension__ extern __inline uint8x16x2_t
11383 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u8(const uint8_t * __a)11384 vld2q_u8 (const uint8_t * __a)
11385 {
11386   union { uint8x16x2_t __i; __builtin_neon_oi __o; } __rv;
11387   __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
11388   return __rv.__i;
11389 }
11390 
11391 __extension__ extern __inline uint16x8x2_t
11392 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u16(const uint16_t * __a)11393 vld2q_u16 (const uint16_t * __a)
11394 {
11395   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11396   __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
11397   return __rv.__i;
11398 }
11399 
11400 __extension__ extern __inline uint32x4x2_t
11401 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u32(const uint32_t * __a)11402 vld2q_u32 (const uint32_t * __a)
11403 {
11404   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
11405   __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
11406   return __rv.__i;
11407 }
11408 
11409 __extension__ extern __inline poly8x16x2_t
11410 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_p8(const poly8_t * __a)11411 vld2q_p8 (const poly8_t * __a)
11412 {
11413   union { poly8x16x2_t __i; __builtin_neon_oi __o; } __rv;
11414   __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
11415   return __rv.__i;
11416 }
11417 
11418 __extension__ extern __inline poly16x8x2_t
11419 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_p16(const poly16_t * __a)11420 vld2q_p16 (const poly16_t * __a)
11421 {
11422   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11423   __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
11424   return __rv.__i;
11425 }
11426 
11427 __extension__ extern __inline int8x8x2_t
11428 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_s8(const int8_t * __a,int8x8x2_t __b,const int __c)11429 vld2_lane_s8 (const int8_t * __a, int8x8x2_t __b, const int __c)
11430 {
11431   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11432   union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11433   __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
11434   return __rv.__i;
11435 }
11436 
11437 __extension__ extern __inline int16x4x2_t
11438 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_s16(const int16_t * __a,int16x4x2_t __b,const int __c)11439 vld2_lane_s16 (const int16_t * __a, int16x4x2_t __b, const int __c)
11440 {
11441   union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11442   union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11443   __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
11444   return __rv.__i;
11445 }
11446 
11447 __extension__ extern __inline int32x2x2_t
11448 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_s32(const int32_t * __a,int32x2x2_t __b,const int __c)11449 vld2_lane_s32 (const int32_t * __a, int32x2x2_t __b, const int __c)
11450 {
11451   union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11452   union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11453   __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
11454   return __rv.__i;
11455 }
11456 
11457 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11458 __extension__ extern __inline float16x4x2_t
11459 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_f16(const float16_t * __a,float16x4x2_t __b,const int __c)11460 vld2_lane_f16 (const float16_t * __a, float16x4x2_t __b, const int __c)
11461 {
11462   union { float16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11463   union { float16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11464   __rv.__o = __builtin_neon_vld2_lanev4hf ( __a, __bu.__o, __c);
11465   return __rv.__i;
11466 }
11467 #endif
11468 
11469 __extension__ extern __inline float32x2x2_t
11470 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_f32(const float32_t * __a,float32x2x2_t __b,const int __c)11471 vld2_lane_f32 (const float32_t * __a, float32x2x2_t __b, const int __c)
11472 {
11473   union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11474   union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11475   __rv.__o = __builtin_neon_vld2_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
11476   return __rv.__i;
11477 }
11478 
11479 __extension__ extern __inline uint8x8x2_t
11480 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_u8(const uint8_t * __a,uint8x8x2_t __b,const int __c)11481 vld2_lane_u8 (const uint8_t * __a, uint8x8x2_t __b, const int __c)
11482 {
11483   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11484   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11485   __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
11486   return __rv.__i;
11487 }
11488 
11489 __extension__ extern __inline uint16x4x2_t
11490 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_u16(const uint16_t * __a,uint16x4x2_t __b,const int __c)11491 vld2_lane_u16 (const uint16_t * __a, uint16x4x2_t __b, const int __c)
11492 {
11493   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11494   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11495   __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
11496   return __rv.__i;
11497 }
11498 
11499 __extension__ extern __inline uint32x2x2_t
11500 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_u32(const uint32_t * __a,uint32x2x2_t __b,const int __c)11501 vld2_lane_u32 (const uint32_t * __a, uint32x2x2_t __b, const int __c)
11502 {
11503   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11504   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11505   __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
11506   return __rv.__i;
11507 }
11508 
11509 __extension__ extern __inline poly8x8x2_t
11510 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_p8(const poly8_t * __a,poly8x8x2_t __b,const int __c)11511 vld2_lane_p8 (const poly8_t * __a, poly8x8x2_t __b, const int __c)
11512 {
11513   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11514   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11515   __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
11516   return __rv.__i;
11517 }
11518 
11519 __extension__ extern __inline poly16x4x2_t
11520 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_p16(const poly16_t * __a,poly16x4x2_t __b,const int __c)11521 vld2_lane_p16 (const poly16_t * __a, poly16x4x2_t __b, const int __c)
11522 {
11523   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11524   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11525   __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
11526   return __rv.__i;
11527 }
11528 
11529 __extension__ extern __inline int16x8x2_t
11530 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_s16(const int16_t * __a,int16x8x2_t __b,const int __c)11531 vld2q_lane_s16 (const int16_t * __a, int16x8x2_t __b, const int __c)
11532 {
11533   union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11534   union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11535   __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
11536   return __rv.__i;
11537 }
11538 
11539 __extension__ extern __inline int32x4x2_t
11540 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_s32(const int32_t * __a,int32x4x2_t __b,const int __c)11541 vld2q_lane_s32 (const int32_t * __a, int32x4x2_t __b, const int __c)
11542 {
11543   union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11544   union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
11545   __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
11546   return __rv.__i;
11547 }
11548 
11549 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11550 __extension__ extern __inline float16x8x2_t
11551 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_f16(const float16_t * __a,float16x8x2_t __b,const int __c)11552 vld2q_lane_f16 (const float16_t * __a, float16x8x2_t __b, const int __c)
11553 {
11554   union { float16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11555   union { float16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11556   __rv.__o = __builtin_neon_vld2_lanev8hf (__a, __bu.__o, __c);
11557   return __rv.__i;
11558 }
11559 #endif
11560 
11561 __extension__ extern __inline float32x4x2_t
11562 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_f32(const float32_t * __a,float32x4x2_t __b,const int __c)11563 vld2q_lane_f32 (const float32_t * __a, float32x4x2_t __b, const int __c)
11564 {
11565   union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11566   union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
11567   __rv.__o = __builtin_neon_vld2_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
11568   return __rv.__i;
11569 }
11570 
11571 __extension__ extern __inline uint16x8x2_t
11572 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_u16(const uint16_t * __a,uint16x8x2_t __b,const int __c)11573 vld2q_lane_u16 (const uint16_t * __a, uint16x8x2_t __b, const int __c)
11574 {
11575   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11576   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11577   __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
11578   return __rv.__i;
11579 }
11580 
11581 __extension__ extern __inline uint32x4x2_t
11582 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_u32(const uint32_t * __a,uint32x4x2_t __b,const int __c)11583 vld2q_lane_u32 (const uint32_t * __a, uint32x4x2_t __b, const int __c)
11584 {
11585   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11586   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
11587   __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
11588   return __rv.__i;
11589 }
11590 
11591 __extension__ extern __inline poly16x8x2_t
11592 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_p16(const poly16_t * __a,poly16x8x2_t __b,const int __c)11593 vld2q_lane_p16 (const poly16_t * __a, poly16x8x2_t __b, const int __c)
11594 {
11595   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11596   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11597   __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
11598   return __rv.__i;
11599 }
11600 
11601 __extension__ extern __inline int8x8x2_t
11602 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s8(const int8_t * __a)11603 vld2_dup_s8 (const int8_t * __a)
11604 {
11605   union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11606   __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
11607   return __rv.__i;
11608 }
11609 
11610 __extension__ extern __inline int16x4x2_t
11611 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s16(const int16_t * __a)11612 vld2_dup_s16 (const int16_t * __a)
11613 {
11614   union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11615   __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
11616   return __rv.__i;
11617 }
11618 
11619 __extension__ extern __inline int32x2x2_t
11620 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s32(const int32_t * __a)11621 vld2_dup_s32 (const int32_t * __a)
11622 {
11623   union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11624   __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
11625   return __rv.__i;
11626 }
11627 
11628 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11629 __extension__ extern __inline float16x4x2_t
11630 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_f16(const float16_t * __a)11631 vld2_dup_f16 (const float16_t * __a)
11632 {
11633   union { float16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11634   __rv.__o = __builtin_neon_vld2_dupv4hf (__a);
11635   return __rv.__i;
11636 }
11637 #endif
11638 
11639 __extension__ extern __inline float32x2x2_t
11640 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_f32(const float32_t * __a)11641 vld2_dup_f32 (const float32_t * __a)
11642 {
11643   union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11644   __rv.__o = __builtin_neon_vld2_dupv2sf ((const __builtin_neon_sf *) __a);
11645   return __rv.__i;
11646 }
11647 
11648 __extension__ extern __inline uint8x8x2_t
11649 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u8(const uint8_t * __a)11650 vld2_dup_u8 (const uint8_t * __a)
11651 {
11652   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11653   __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
11654   return __rv.__i;
11655 }
11656 
11657 __extension__ extern __inline uint16x4x2_t
11658 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u16(const uint16_t * __a)11659 vld2_dup_u16 (const uint16_t * __a)
11660 {
11661   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11662   __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
11663   return __rv.__i;
11664 }
11665 
11666 __extension__ extern __inline uint32x2x2_t
11667 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u32(const uint32_t * __a)11668 vld2_dup_u32 (const uint32_t * __a)
11669 {
11670   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11671   __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
11672   return __rv.__i;
11673 }
11674 
11675 __extension__ extern __inline poly8x8x2_t
11676 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p8(const poly8_t * __a)11677 vld2_dup_p8 (const poly8_t * __a)
11678 {
11679   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11680   __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
11681   return __rv.__i;
11682 }
11683 
11684 __extension__ extern __inline poly16x4x2_t
11685 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p16(const poly16_t * __a)11686 vld2_dup_p16 (const poly16_t * __a)
11687 {
11688   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11689   __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
11690   return __rv.__i;
11691 }
11692 
11693 #pragma GCC push_options
11694 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11695 __extension__ extern __inline poly64x1x2_t
11696 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p64(const poly64_t * __a)11697 vld2_dup_p64 (const poly64_t * __a)
11698 {
11699   union { poly64x1x2_t __i; __builtin_neon_ti __o; } __rv;
11700   __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
11701   return __rv.__i;
11702 }
11703 
11704 #pragma GCC pop_options
11705 __extension__ extern __inline int64x1x2_t
11706 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s64(const int64_t * __a)11707 vld2_dup_s64 (const int64_t * __a)
11708 {
11709   union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
11710   __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
11711   return __rv.__i;
11712 }
11713 
11714 __extension__ extern __inline uint64x1x2_t
11715 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u64(const uint64_t * __a)11716 vld2_dup_u64 (const uint64_t * __a)
11717 {
11718   union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
11719   __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
11720   return __rv.__i;
11721 }
11722 
11723 __extension__ extern __inline void
11724 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s8(int8_t * __a,int8x8x2_t __b)11725 vst2_s8 (int8_t * __a, int8x8x2_t __b)
11726 {
11727   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11728   __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
11729 }
11730 
11731 __extension__ extern __inline void
11732 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s16(int16_t * __a,int16x4x2_t __b)11733 vst2_s16 (int16_t * __a, int16x4x2_t __b)
11734 {
11735   union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11736   __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
11737 }
11738 
11739 __extension__ extern __inline void
11740 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s32(int32_t * __a,int32x2x2_t __b)11741 vst2_s32 (int32_t * __a, int32x2x2_t __b)
11742 {
11743   union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11744   __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
11745 }
11746 
11747 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11748 __extension__ extern __inline void
11749 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_f16(float16_t * __a,float16x4x2_t __b)11750 vst2_f16 (float16_t * __a, float16x4x2_t __b)
11751 {
11752   union { float16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11753   __builtin_neon_vst2v4hf (__a, __bu.__o);
11754 }
11755 #endif
11756 
11757 __extension__ extern __inline void
11758 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_f32(float32_t * __a,float32x2x2_t __b)11759 vst2_f32 (float32_t * __a, float32x2x2_t __b)
11760 {
11761   union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11762   __builtin_neon_vst2v2sf ((__builtin_neon_sf *) __a, __bu.__o);
11763 }
11764 
11765 __extension__ extern __inline void
11766 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u8(uint8_t * __a,uint8x8x2_t __b)11767 vst2_u8 (uint8_t * __a, uint8x8x2_t __b)
11768 {
11769   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11770   __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
11771 }
11772 
11773 __extension__ extern __inline void
11774 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u16(uint16_t * __a,uint16x4x2_t __b)11775 vst2_u16 (uint16_t * __a, uint16x4x2_t __b)
11776 {
11777   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11778   __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
11779 }
11780 
11781 __extension__ extern __inline void
11782 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u32(uint32_t * __a,uint32x2x2_t __b)11783 vst2_u32 (uint32_t * __a, uint32x2x2_t __b)
11784 {
11785   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11786   __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
11787 }
11788 
11789 __extension__ extern __inline void
11790 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p8(poly8_t * __a,poly8x8x2_t __b)11791 vst2_p8 (poly8_t * __a, poly8x8x2_t __b)
11792 {
11793   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11794   __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
11795 }
11796 
11797 __extension__ extern __inline void
11798 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p16(poly16_t * __a,poly16x4x2_t __b)11799 vst2_p16 (poly16_t * __a, poly16x4x2_t __b)
11800 {
11801   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11802   __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
11803 }
11804 
11805 #pragma GCC push_options
11806 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11807 __extension__ extern __inline void
11808 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p64(poly64_t * __a,poly64x1x2_t __b)11809 vst2_p64 (poly64_t * __a, poly64x1x2_t __b)
11810 {
11811   union { poly64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11812   __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
11813 }
11814 
11815 #pragma GCC pop_options
11816 __extension__ extern __inline void
11817 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s64(int64_t * __a,int64x1x2_t __b)11818 vst2_s64 (int64_t * __a, int64x1x2_t __b)
11819 {
11820   union { int64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11821   __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
11822 }
11823 
11824 __extension__ extern __inline void
11825 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u64(uint64_t * __a,uint64x1x2_t __b)11826 vst2_u64 (uint64_t * __a, uint64x1x2_t __b)
11827 {
11828   union { uint64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11829   __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
11830 }
11831 
11832 __extension__ extern __inline void
11833 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s8(int8_t * __a,int8x16x2_t __b)11834 vst2q_s8 (int8_t * __a, int8x16x2_t __b)
11835 {
11836   union { int8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11837   __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
11838 }
11839 
11840 __extension__ extern __inline void
11841 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s16(int16_t * __a,int16x8x2_t __b)11842 vst2q_s16 (int16_t * __a, int16x8x2_t __b)
11843 {
11844   union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11845   __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
11846 }
11847 
11848 __extension__ extern __inline void
11849 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s32(int32_t * __a,int32x4x2_t __b)11850 vst2q_s32 (int32_t * __a, int32x4x2_t __b)
11851 {
11852   union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11853   __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
11854 }
11855 
11856 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11857 __extension__ extern __inline void
11858 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_f16(float16_t * __a,float16x8x2_t __b)11859 vst2q_f16 (float16_t * __a, float16x8x2_t __b)
11860 {
11861   union { float16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11862   __builtin_neon_vst2v8hf (__a, __bu.__o);
11863 }
11864 #endif
11865 
11866 __extension__ extern __inline void
11867 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_f32(float32_t * __a,float32x4x2_t __b)11868 vst2q_f32 (float32_t * __a, float32x4x2_t __b)
11869 {
11870   union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11871   __builtin_neon_vst2v4sf ((__builtin_neon_sf *) __a, __bu.__o);
11872 }
11873 
11874 __extension__ extern __inline void
11875 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u8(uint8_t * __a,uint8x16x2_t __b)11876 vst2q_u8 (uint8_t * __a, uint8x16x2_t __b)
11877 {
11878   union { uint8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11879   __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
11880 }
11881 
11882 __extension__ extern __inline void
11883 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u16(uint16_t * __a,uint16x8x2_t __b)11884 vst2q_u16 (uint16_t * __a, uint16x8x2_t __b)
11885 {
11886   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11887   __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
11888 }
11889 
11890 __extension__ extern __inline void
11891 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u32(uint32_t * __a,uint32x4x2_t __b)11892 vst2q_u32 (uint32_t * __a, uint32x4x2_t __b)
11893 {
11894   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11895   __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
11896 }
11897 
11898 __extension__ extern __inline void
11899 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_p8(poly8_t * __a,poly8x16x2_t __b)11900 vst2q_p8 (poly8_t * __a, poly8x16x2_t __b)
11901 {
11902   union { poly8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11903   __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
11904 }
11905 
11906 __extension__ extern __inline void
11907 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_p16(poly16_t * __a,poly16x8x2_t __b)11908 vst2q_p16 (poly16_t * __a, poly16x8x2_t __b)
11909 {
11910   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11911   __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
11912 }
11913 
11914 __extension__ extern __inline void
11915 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_s8(int8_t * __a,int8x8x2_t __b,const int __c)11916 vst2_lane_s8 (int8_t * __a, int8x8x2_t __b, const int __c)
11917 {
11918   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11919   __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
11920 }
11921 
11922 __extension__ extern __inline void
11923 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_s16(int16_t * __a,int16x4x2_t __b,const int __c)11924 vst2_lane_s16 (int16_t * __a, int16x4x2_t __b, const int __c)
11925 {
11926   union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11927   __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
11928 }
11929 
11930 __extension__ extern __inline void
11931 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_s32(int32_t * __a,int32x2x2_t __b,const int __c)11932 vst2_lane_s32 (int32_t * __a, int32x2x2_t __b, const int __c)
11933 {
11934   union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11935   __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
11936 }
11937 
11938 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11939 __extension__ extern __inline void
11940 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_f16(float16_t * __a,float16x4x2_t __b,const int __c)11941 vst2_lane_f16 (float16_t * __a, float16x4x2_t __b, const int __c)
11942 {
11943   union { float16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11944   __builtin_neon_vst2_lanev4hf (__a, __bu.__o, __c);
11945 }
11946 #endif
11947 
11948 __extension__ extern __inline void
11949 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_f32(float32_t * __a,float32x2x2_t __b,const int __c)11950 vst2_lane_f32 (float32_t * __a, float32x2x2_t __b, const int __c)
11951 {
11952   union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11953   __builtin_neon_vst2_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
11954 }
11955 
11956 __extension__ extern __inline void
11957 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_u8(uint8_t * __a,uint8x8x2_t __b,const int __c)11958 vst2_lane_u8 (uint8_t * __a, uint8x8x2_t __b, const int __c)
11959 {
11960   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11961   __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
11962 }
11963 
11964 __extension__ extern __inline void
11965 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_u16(uint16_t * __a,uint16x4x2_t __b,const int __c)11966 vst2_lane_u16 (uint16_t * __a, uint16x4x2_t __b, const int __c)
11967 {
11968   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11969   __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
11970 }
11971 
11972 __extension__ extern __inline void
11973 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_u32(uint32_t * __a,uint32x2x2_t __b,const int __c)11974 vst2_lane_u32 (uint32_t * __a, uint32x2x2_t __b, const int __c)
11975 {
11976   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11977   __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
11978 }
11979 
11980 __extension__ extern __inline void
11981 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_p8(poly8_t * __a,poly8x8x2_t __b,const int __c)11982 vst2_lane_p8 (poly8_t * __a, poly8x8x2_t __b, const int __c)
11983 {
11984   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11985   __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
11986 }
11987 
11988 __extension__ extern __inline void
11989 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_p16(poly16_t * __a,poly16x4x2_t __b,const int __c)11990 vst2_lane_p16 (poly16_t * __a, poly16x4x2_t __b, const int __c)
11991 {
11992   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11993   __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
11994 }
11995 
11996 __extension__ extern __inline void
11997 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_s16(int16_t * __a,int16x8x2_t __b,const int __c)11998 vst2q_lane_s16 (int16_t * __a, int16x8x2_t __b, const int __c)
11999 {
12000   union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
12001   __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12002 }
12003 
12004 __extension__ extern __inline void
12005 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_s32(int32_t * __a,int32x4x2_t __b,const int __c)12006 vst2q_lane_s32 (int32_t * __a, int32x4x2_t __b, const int __c)
12007 {
12008   union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
12009   __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
12010 }
12011 
12012 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12013 __extension__ extern __inline void
12014 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_f16(float16_t * __a,float16x8x2_t __b,const int __c)12015 vst2q_lane_f16 (float16_t * __a, float16x8x2_t __b, const int __c)
12016 {
12017   union { float16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
12018   __builtin_neon_vst2_lanev8hf (__a, __bu.__o, __c);
12019 }
12020 #endif
12021 
12022 __extension__ extern __inline void
12023 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_f32(float32_t * __a,float32x4x2_t __b,const int __c)12024 vst2q_lane_f32 (float32_t * __a, float32x4x2_t __b, const int __c)
12025 {
12026   union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
12027   __builtin_neon_vst2_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
12028 }
12029 
12030 __extension__ extern __inline void
12031 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_u16(uint16_t * __a,uint16x8x2_t __b,const int __c)12032 vst2q_lane_u16 (uint16_t * __a, uint16x8x2_t __b, const int __c)
12033 {
12034   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
12035   __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12036 }
12037 
12038 __extension__ extern __inline void
12039 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_u32(uint32_t * __a,uint32x4x2_t __b,const int __c)12040 vst2q_lane_u32 (uint32_t * __a, uint32x4x2_t __b, const int __c)
12041 {
12042   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
12043   __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
12044 }
12045 
12046 __extension__ extern __inline void
12047 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_p16(poly16_t * __a,poly16x8x2_t __b,const int __c)12048 vst2q_lane_p16 (poly16_t * __a, poly16x8x2_t __b, const int __c)
12049 {
12050   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
12051   __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12052 }
12053 
12054 __extension__ extern __inline int8x8x3_t
12055 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s8(const int8_t * __a)12056 vld3_s8 (const int8_t * __a)
12057 {
12058   union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12059   __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
12060   return __rv.__i;
12061 }
12062 
12063 __extension__ extern __inline int16x4x3_t
12064 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s16(const int16_t * __a)12065 vld3_s16 (const int16_t * __a)
12066 {
12067   union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12068   __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
12069   return __rv.__i;
12070 }
12071 
12072 __extension__ extern __inline int32x2x3_t
12073 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s32(const int32_t * __a)12074 vld3_s32 (const int32_t * __a)
12075 {
12076   union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12077   __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
12078   return __rv.__i;
12079 }
12080 
12081 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12082 __extension__ extern __inline float16x4x3_t
12083 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_f16(const float16_t * __a)12084 vld3_f16 (const float16_t * __a)
12085 {
12086   union { float16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12087   __rv.__o = __builtin_neon_vld3v4hf (__a);
12088   return __rv.__i;
12089 }
12090 #endif
12091 
12092 __extension__ extern __inline float32x2x3_t
12093 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_f32(const float32_t * __a)12094 vld3_f32 (const float32_t * __a)
12095 {
12096   union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12097   __rv.__o = __builtin_neon_vld3v2sf ((const __builtin_neon_sf *) __a);
12098   return __rv.__i;
12099 }
12100 
12101 __extension__ extern __inline uint8x8x3_t
12102 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u8(const uint8_t * __a)12103 vld3_u8 (const uint8_t * __a)
12104 {
12105   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12106   __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
12107   return __rv.__i;
12108 }
12109 
12110 __extension__ extern __inline uint16x4x3_t
12111 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u16(const uint16_t * __a)12112 vld3_u16 (const uint16_t * __a)
12113 {
12114   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12115   __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
12116   return __rv.__i;
12117 }
12118 
12119 __extension__ extern __inline uint32x2x3_t
12120 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u32(const uint32_t * __a)12121 vld3_u32 (const uint32_t * __a)
12122 {
12123   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12124   __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
12125   return __rv.__i;
12126 }
12127 
12128 __extension__ extern __inline poly8x8x3_t
12129 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p8(const poly8_t * __a)12130 vld3_p8 (const poly8_t * __a)
12131 {
12132   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12133   __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
12134   return __rv.__i;
12135 }
12136 
12137 __extension__ extern __inline poly16x4x3_t
12138 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p16(const poly16_t * __a)12139 vld3_p16 (const poly16_t * __a)
12140 {
12141   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12142   __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
12143   return __rv.__i;
12144 }
12145 
12146 #pragma GCC push_options
12147 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
12148 __extension__ extern __inline poly64x1x3_t
12149 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p64(const poly64_t * __a)12150 vld3_p64 (const poly64_t * __a)
12151 {
12152   union { poly64x1x3_t __i; __builtin_neon_ei __o; } __rv;
12153   __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
12154   return __rv.__i;
12155 }
12156 
12157 #pragma GCC pop_options
12158 __extension__ extern __inline int64x1x3_t
12159 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s64(const int64_t * __a)12160 vld3_s64 (const int64_t * __a)
12161 {
12162   union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
12163   __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
12164   return __rv.__i;
12165 }
12166 
12167 __extension__ extern __inline uint64x1x3_t
12168 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u64(const uint64_t * __a)12169 vld3_u64 (const uint64_t * __a)
12170 {
12171   union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
12172   __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
12173   return __rv.__i;
12174 }
12175 
12176 __extension__ extern __inline int8x16x3_t
12177 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s8(const int8_t * __a)12178 vld3q_s8 (const int8_t * __a)
12179 {
12180   union { int8x16x3_t __i; __builtin_neon_ci __o; } __rv;
12181   __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
12182   return __rv.__i;
12183 }
12184 
12185 __extension__ extern __inline int16x8x3_t
12186 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s16(const int16_t * __a)12187 vld3q_s16 (const int16_t * __a)
12188 {
12189   union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12190   __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
12191   return __rv.__i;
12192 }
12193 
12194 __extension__ extern __inline int32x4x3_t
12195 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s32(const int32_t * __a)12196 vld3q_s32 (const int32_t * __a)
12197 {
12198   union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
12199   __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
12200   return __rv.__i;
12201 }
12202 
12203 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12204 __extension__ extern __inline float16x8x3_t
12205 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_f16(const float16_t * __a)12206 vld3q_f16 (const float16_t * __a)
12207 {
12208   union { float16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12209   __rv.__o = __builtin_neon_vld3v8hf (__a);
12210   return __rv.__i;
12211 }
12212 #endif
12213 
12214 __extension__ extern __inline float32x4x3_t
12215 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_f32(const float32_t * __a)12216 vld3q_f32 (const float32_t * __a)
12217 {
12218   union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
12219   __rv.__o = __builtin_neon_vld3v4sf ((const __builtin_neon_sf *) __a);
12220   return __rv.__i;
12221 }
12222 
12223 __extension__ extern __inline uint8x16x3_t
12224 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u8(const uint8_t * __a)12225 vld3q_u8 (const uint8_t * __a)
12226 {
12227   union { uint8x16x3_t __i; __builtin_neon_ci __o; } __rv;
12228   __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
12229   return __rv.__i;
12230 }
12231 
12232 __extension__ extern __inline uint16x8x3_t
12233 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u16(const uint16_t * __a)12234 vld3q_u16 (const uint16_t * __a)
12235 {
12236   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12237   __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
12238   return __rv.__i;
12239 }
12240 
12241 __extension__ extern __inline uint32x4x3_t
12242 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u32(const uint32_t * __a)12243 vld3q_u32 (const uint32_t * __a)
12244 {
12245   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
12246   __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
12247   return __rv.__i;
12248 }
12249 
12250 __extension__ extern __inline poly8x16x3_t
12251 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_p8(const poly8_t * __a)12252 vld3q_p8 (const poly8_t * __a)
12253 {
12254   union { poly8x16x3_t __i; __builtin_neon_ci __o; } __rv;
12255   __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
12256   return __rv.__i;
12257 }
12258 
12259 __extension__ extern __inline poly16x8x3_t
12260 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_p16(const poly16_t * __a)12261 vld3q_p16 (const poly16_t * __a)
12262 {
12263   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12264   __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
12265   return __rv.__i;
12266 }
12267 
12268 __extension__ extern __inline int8x8x3_t
12269 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_s8(const int8_t * __a,int8x8x3_t __b,const int __c)12270 vld3_lane_s8 (const int8_t * __a, int8x8x3_t __b, const int __c)
12271 {
12272   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12273   union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12274   __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
12275   return __rv.__i;
12276 }
12277 
12278 __extension__ extern __inline int16x4x3_t
12279 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_s16(const int16_t * __a,int16x4x3_t __b,const int __c)12280 vld3_lane_s16 (const int16_t * __a, int16x4x3_t __b, const int __c)
12281 {
12282   union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12283   union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12284   __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
12285   return __rv.__i;
12286 }
12287 
12288 __extension__ extern __inline int32x2x3_t
12289 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_s32(const int32_t * __a,int32x2x3_t __b,const int __c)12290 vld3_lane_s32 (const int32_t * __a, int32x2x3_t __b, const int __c)
12291 {
12292   union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12293   union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12294   __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
12295   return __rv.__i;
12296 }
12297 
12298 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12299 __extension__ extern __inline float16x4x3_t
12300 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_f16(const float16_t * __a,float16x4x3_t __b,const int __c)12301 vld3_lane_f16 (const float16_t * __a, float16x4x3_t __b, const int __c)
12302 {
12303   union { float16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12304   union { float16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12305   __rv.__o = __builtin_neon_vld3_lanev4hf (__a, __bu.__o, __c);
12306   return __rv.__i;
12307 }
12308 #endif
12309 
12310 __extension__ extern __inline float32x2x3_t
12311 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_f32(const float32_t * __a,float32x2x3_t __b,const int __c)12312 vld3_lane_f32 (const float32_t * __a, float32x2x3_t __b, const int __c)
12313 {
12314   union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12315   union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12316   __rv.__o = __builtin_neon_vld3_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
12317   return __rv.__i;
12318 }
12319 
12320 __extension__ extern __inline uint8x8x3_t
12321 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_u8(const uint8_t * __a,uint8x8x3_t __b,const int __c)12322 vld3_lane_u8 (const uint8_t * __a, uint8x8x3_t __b, const int __c)
12323 {
12324   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12325   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12326   __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
12327   return __rv.__i;
12328 }
12329 
12330 __extension__ extern __inline uint16x4x3_t
12331 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_u16(const uint16_t * __a,uint16x4x3_t __b,const int __c)12332 vld3_lane_u16 (const uint16_t * __a, uint16x4x3_t __b, const int __c)
12333 {
12334   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12335   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12336   __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
12337   return __rv.__i;
12338 }
12339 
12340 __extension__ extern __inline uint32x2x3_t
12341 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_u32(const uint32_t * __a,uint32x2x3_t __b,const int __c)12342 vld3_lane_u32 (const uint32_t * __a, uint32x2x3_t __b, const int __c)
12343 {
12344   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12345   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12346   __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
12347   return __rv.__i;
12348 }
12349 
12350 __extension__ extern __inline poly8x8x3_t
12351 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_p8(const poly8_t * __a,poly8x8x3_t __b,const int __c)12352 vld3_lane_p8 (const poly8_t * __a, poly8x8x3_t __b, const int __c)
12353 {
12354   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12355   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12356   __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
12357   return __rv.__i;
12358 }
12359 
12360 __extension__ extern __inline poly16x4x3_t
12361 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_p16(const poly16_t * __a,poly16x4x3_t __b,const int __c)12362 vld3_lane_p16 (const poly16_t * __a, poly16x4x3_t __b, const int __c)
12363 {
12364   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12365   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12366   __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
12367   return __rv.__i;
12368 }
12369 
12370 __extension__ extern __inline int16x8x3_t
12371 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_s16(const int16_t * __a,int16x8x3_t __b,const int __c)12372 vld3q_lane_s16 (const int16_t * __a, int16x8x3_t __b, const int __c)
12373 {
12374   union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12375   union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12376   __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
12377   return __rv.__i;
12378 }
12379 
12380 __extension__ extern __inline int32x4x3_t
12381 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_s32(const int32_t * __a,int32x4x3_t __b,const int __c)12382 vld3q_lane_s32 (const int32_t * __a, int32x4x3_t __b, const int __c)
12383 {
12384   union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12385   union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
12386   __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
12387   return __rv.__i;
12388 }
12389 
12390 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12391 __extension__ extern __inline float16x8x3_t
12392 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_f16(const float16_t * __a,float16x8x3_t __b,const int __c)12393 vld3q_lane_f16 (const float16_t * __a, float16x8x3_t __b, const int __c)
12394 {
12395   union { float16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12396   union { float16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12397   __rv.__o = __builtin_neon_vld3_lanev8hf (__a, __bu.__o, __c);
12398   return __rv.__i;
12399 }
12400 #endif
12401 
12402 __extension__ extern __inline float32x4x3_t
12403 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_f32(const float32_t * __a,float32x4x3_t __b,const int __c)12404 vld3q_lane_f32 (const float32_t * __a, float32x4x3_t __b, const int __c)
12405 {
12406   union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12407   union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
12408   __rv.__o = __builtin_neon_vld3_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
12409   return __rv.__i;
12410 }
12411 
12412 __extension__ extern __inline uint16x8x3_t
12413 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_u16(const uint16_t * __a,uint16x8x3_t __b,const int __c)12414 vld3q_lane_u16 (const uint16_t * __a, uint16x8x3_t __b, const int __c)
12415 {
12416   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12417   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12418   __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
12419   return __rv.__i;
12420 }
12421 
12422 __extension__ extern __inline uint32x4x3_t
12423 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_u32(const uint32_t * __a,uint32x4x3_t __b,const int __c)12424 vld3q_lane_u32 (const uint32_t * __a, uint32x4x3_t __b, const int __c)
12425 {
12426   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12427   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
12428   __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
12429   return __rv.__i;
12430 }
12431 
12432 __extension__ extern __inline poly16x8x3_t
12433 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_p16(const poly16_t * __a,poly16x8x3_t __b,const int __c)12434 vld3q_lane_p16 (const poly16_t * __a, poly16x8x3_t __b, const int __c)
12435 {
12436   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12437   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12438   __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
12439   return __rv.__i;
12440 }
12441 
12442 __extension__ extern __inline int8x8x3_t
12443 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s8(const int8_t * __a)12444 vld3_dup_s8 (const int8_t * __a)
12445 {
12446   union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12447   __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
12448   return __rv.__i;
12449 }
12450 
12451 __extension__ extern __inline int16x4x3_t
12452 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s16(const int16_t * __a)12453 vld3_dup_s16 (const int16_t * __a)
12454 {
12455   union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12456   __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
12457   return __rv.__i;
12458 }
12459 
12460 __extension__ extern __inline int32x2x3_t
12461 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s32(const int32_t * __a)12462 vld3_dup_s32 (const int32_t * __a)
12463 {
12464   union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12465   __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
12466   return __rv.__i;
12467 }
12468 
12469 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12470 __extension__ extern __inline float16x4x3_t
12471 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_f16(const float16_t * __a)12472 vld3_dup_f16 (const float16_t * __a)
12473 {
12474   union { float16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12475   __rv.__o = __builtin_neon_vld3_dupv4hf (__a);
12476   return __rv.__i;
12477 }
12478 #endif
12479 
12480 __extension__ extern __inline float32x2x3_t
12481 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_f32(const float32_t * __a)12482 vld3_dup_f32 (const float32_t * __a)
12483 {
12484   union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12485   __rv.__o = __builtin_neon_vld3_dupv2sf ((const __builtin_neon_sf *) __a);
12486   return __rv.__i;
12487 }
12488 
12489 __extension__ extern __inline uint8x8x3_t
12490 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u8(const uint8_t * __a)12491 vld3_dup_u8 (const uint8_t * __a)
12492 {
12493   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12494   __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
12495   return __rv.__i;
12496 }
12497 
12498 __extension__ extern __inline uint16x4x3_t
12499 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u16(const uint16_t * __a)12500 vld3_dup_u16 (const uint16_t * __a)
12501 {
12502   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12503   __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
12504   return __rv.__i;
12505 }
12506 
12507 __extension__ extern __inline uint32x2x3_t
12508 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u32(const uint32_t * __a)12509 vld3_dup_u32 (const uint32_t * __a)
12510 {
12511   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12512   __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
12513   return __rv.__i;
12514 }
12515 
12516 __extension__ extern __inline poly8x8x3_t
12517 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p8(const poly8_t * __a)12518 vld3_dup_p8 (const poly8_t * __a)
12519 {
12520   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12521   __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
12522   return __rv.__i;
12523 }
12524 
12525 __extension__ extern __inline poly16x4x3_t
12526 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p16(const poly16_t * __a)12527 vld3_dup_p16 (const poly16_t * __a)
12528 {
12529   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12530   __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
12531   return __rv.__i;
12532 }
12533 
12534 #pragma GCC push_options
12535 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
12536 __extension__ extern __inline poly64x1x3_t
12537 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p64(const poly64_t * __a)12538 vld3_dup_p64 (const poly64_t * __a)
12539 {
12540   union { poly64x1x3_t __i; __builtin_neon_ei __o; } __rv;
12541   __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
12542   return __rv.__i;
12543 }
12544 
12545 #pragma GCC pop_options
12546 __extension__ extern __inline int64x1x3_t
12547 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s64(const int64_t * __a)12548 vld3_dup_s64 (const int64_t * __a)
12549 {
12550   union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
12551   __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
12552   return __rv.__i;
12553 }
12554 
12555 __extension__ extern __inline uint64x1x3_t
12556 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u64(const uint64_t * __a)12557 vld3_dup_u64 (const uint64_t * __a)
12558 {
12559   union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
12560   __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
12561   return __rv.__i;
12562 }
12563 
12564 __extension__ extern __inline void
12565 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s8(int8_t * __a,int8x8x3_t __b)12566 vst3_s8 (int8_t * __a, int8x8x3_t __b)
12567 {
12568   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12569   __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
12570 }
12571 
12572 __extension__ extern __inline void
12573 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s16(int16_t * __a,int16x4x3_t __b)12574 vst3_s16 (int16_t * __a, int16x4x3_t __b)
12575 {
12576   union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12577   __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
12578 }
12579 
12580 __extension__ extern __inline void
12581 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s32(int32_t * __a,int32x2x3_t __b)12582 vst3_s32 (int32_t * __a, int32x2x3_t __b)
12583 {
12584   union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12585   __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
12586 }
12587 
12588 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12589 __extension__ extern __inline void
12590 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_f16(float16_t * __a,float16x4x3_t __b)12591 vst3_f16 (float16_t * __a, float16x4x3_t __b)
12592 {
12593   union { float16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12594   __builtin_neon_vst3v4hf (__a, __bu.__o);
12595 }
12596 #endif
12597 
12598 __extension__ extern __inline void
12599 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_f32(float32_t * __a,float32x2x3_t __b)12600 vst3_f32 (float32_t * __a, float32x2x3_t __b)
12601 {
12602   union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12603   __builtin_neon_vst3v2sf ((__builtin_neon_sf *) __a, __bu.__o);
12604 }
12605 
12606 __extension__ extern __inline void
12607 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u8(uint8_t * __a,uint8x8x3_t __b)12608 vst3_u8 (uint8_t * __a, uint8x8x3_t __b)
12609 {
12610   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12611   __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
12612 }
12613 
12614 __extension__ extern __inline void
12615 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u16(uint16_t * __a,uint16x4x3_t __b)12616 vst3_u16 (uint16_t * __a, uint16x4x3_t __b)
12617 {
12618   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12619   __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
12620 }
12621 
12622 __extension__ extern __inline void
12623 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u32(uint32_t * __a,uint32x2x3_t __b)12624 vst3_u32 (uint32_t * __a, uint32x2x3_t __b)
12625 {
12626   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12627   __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
12628 }
12629 
12630 __extension__ extern __inline void
12631 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p8(poly8_t * __a,poly8x8x3_t __b)12632 vst3_p8 (poly8_t * __a, poly8x8x3_t __b)
12633 {
12634   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12635   __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
12636 }
12637 
12638 __extension__ extern __inline void
12639 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p16(poly16_t * __a,poly16x4x3_t __b)12640 vst3_p16 (poly16_t * __a, poly16x4x3_t __b)
12641 {
12642   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12643   __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
12644 }
12645 
12646 #pragma GCC push_options
12647 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
12648 __extension__ extern __inline void
12649 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p64(poly64_t * __a,poly64x1x3_t __b)12650 vst3_p64 (poly64_t * __a, poly64x1x3_t __b)
12651 {
12652   union { poly64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12653   __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
12654 }
12655 
12656 #pragma GCC pop_options
12657 __extension__ extern __inline void
12658 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s64(int64_t * __a,int64x1x3_t __b)12659 vst3_s64 (int64_t * __a, int64x1x3_t __b)
12660 {
12661   union { int64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12662   __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
12663 }
12664 
12665 __extension__ extern __inline void
12666 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u64(uint64_t * __a,uint64x1x3_t __b)12667 vst3_u64 (uint64_t * __a, uint64x1x3_t __b)
12668 {
12669   union { uint64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12670   __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
12671 }
12672 
12673 __extension__ extern __inline void
12674 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s8(int8_t * __a,int8x16x3_t __b)12675 vst3q_s8 (int8_t * __a, int8x16x3_t __b)
12676 {
12677   union { int8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12678   __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
12679 }
12680 
12681 __extension__ extern __inline void
12682 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s16(int16_t * __a,int16x8x3_t __b)12683 vst3q_s16 (int16_t * __a, int16x8x3_t __b)
12684 {
12685   union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12686   __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
12687 }
12688 
12689 __extension__ extern __inline void
12690 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s32(int32_t * __a,int32x4x3_t __b)12691 vst3q_s32 (int32_t * __a, int32x4x3_t __b)
12692 {
12693   union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12694   __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
12695 }
12696 
12697 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12698 __extension__ extern __inline void
12699 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_f16(float16_t * __a,float16x8x3_t __b)12700 vst3q_f16 (float16_t * __a, float16x8x3_t __b)
12701 {
12702   union { float16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12703   __builtin_neon_vst3v8hf (__a, __bu.__o);
12704 }
12705 #endif
12706 
12707 __extension__ extern __inline void
12708 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_f32(float32_t * __a,float32x4x3_t __b)12709 vst3q_f32 (float32_t * __a, float32x4x3_t __b)
12710 {
12711   union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12712   __builtin_neon_vst3v4sf ((__builtin_neon_sf *) __a, __bu.__o);
12713 }
12714 
12715 __extension__ extern __inline void
12716 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u8(uint8_t * __a,uint8x16x3_t __b)12717 vst3q_u8 (uint8_t * __a, uint8x16x3_t __b)
12718 {
12719   union { uint8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12720   __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
12721 }
12722 
12723 __extension__ extern __inline void
12724 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u16(uint16_t * __a,uint16x8x3_t __b)12725 vst3q_u16 (uint16_t * __a, uint16x8x3_t __b)
12726 {
12727   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12728   __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
12729 }
12730 
12731 __extension__ extern __inline void
12732 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u32(uint32_t * __a,uint32x4x3_t __b)12733 vst3q_u32 (uint32_t * __a, uint32x4x3_t __b)
12734 {
12735   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12736   __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
12737 }
12738 
12739 __extension__ extern __inline void
12740 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_p8(poly8_t * __a,poly8x16x3_t __b)12741 vst3q_p8 (poly8_t * __a, poly8x16x3_t __b)
12742 {
12743   union { poly8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12744   __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
12745 }
12746 
12747 __extension__ extern __inline void
12748 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_p16(poly16_t * __a,poly16x8x3_t __b)12749 vst3q_p16 (poly16_t * __a, poly16x8x3_t __b)
12750 {
12751   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12752   __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
12753 }
12754 
12755 __extension__ extern __inline void
12756 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_s8(int8_t * __a,int8x8x3_t __b,const int __c)12757 vst3_lane_s8 (int8_t * __a, int8x8x3_t __b, const int __c)
12758 {
12759   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12760   __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
12761 }
12762 
12763 __extension__ extern __inline void
12764 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_s16(int16_t * __a,int16x4x3_t __b,const int __c)12765 vst3_lane_s16 (int16_t * __a, int16x4x3_t __b, const int __c)
12766 {
12767   union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12768   __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12769 }
12770 
12771 __extension__ extern __inline void
12772 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_s32(int32_t * __a,int32x2x3_t __b,const int __c)12773 vst3_lane_s32 (int32_t * __a, int32x2x3_t __b, const int __c)
12774 {
12775   union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12776   __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
12777 }
12778 
12779 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12780 __extension__ extern __inline void
12781 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_f16(float16_t * __a,float16x4x3_t __b,const int __c)12782 vst3_lane_f16 (float16_t * __a, float16x4x3_t __b, const int __c)
12783 {
12784   union { float16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12785   __builtin_neon_vst3_lanev4hf (__a, __bu.__o, __c);
12786 }
12787 #endif
12788 
12789 __extension__ extern __inline void
12790 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_f32(float32_t * __a,float32x2x3_t __b,const int __c)12791 vst3_lane_f32 (float32_t * __a, float32x2x3_t __b, const int __c)
12792 {
12793   union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12794   __builtin_neon_vst3_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
12795 }
12796 
12797 __extension__ extern __inline void
12798 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_u8(uint8_t * __a,uint8x8x3_t __b,const int __c)12799 vst3_lane_u8 (uint8_t * __a, uint8x8x3_t __b, const int __c)
12800 {
12801   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12802   __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
12803 }
12804 
12805 __extension__ extern __inline void
12806 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_u16(uint16_t * __a,uint16x4x3_t __b,const int __c)12807 vst3_lane_u16 (uint16_t * __a, uint16x4x3_t __b, const int __c)
12808 {
12809   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12810   __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12811 }
12812 
12813 __extension__ extern __inline void
12814 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_u32(uint32_t * __a,uint32x2x3_t __b,const int __c)12815 vst3_lane_u32 (uint32_t * __a, uint32x2x3_t __b, const int __c)
12816 {
12817   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12818   __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
12819 }
12820 
12821 __extension__ extern __inline void
12822 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_p8(poly8_t * __a,poly8x8x3_t __b,const int __c)12823 vst3_lane_p8 (poly8_t * __a, poly8x8x3_t __b, const int __c)
12824 {
12825   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12826   __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
12827 }
12828 
12829 __extension__ extern __inline void
12830 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_p16(poly16_t * __a,poly16x4x3_t __b,const int __c)12831 vst3_lane_p16 (poly16_t * __a, poly16x4x3_t __b, const int __c)
12832 {
12833   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12834   __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12835 }
12836 
12837 __extension__ extern __inline void
12838 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_s16(int16_t * __a,int16x8x3_t __b,const int __c)12839 vst3q_lane_s16 (int16_t * __a, int16x8x3_t __b, const int __c)
12840 {
12841   union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12842   __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12843 }
12844 
12845 __extension__ extern __inline void
12846 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_s32(int32_t * __a,int32x4x3_t __b,const int __c)12847 vst3q_lane_s32 (int32_t * __a, int32x4x3_t __b, const int __c)
12848 {
12849   union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12850   __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
12851 }
12852 
12853 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12854 __extension__ extern __inline void
12855 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_f16(float16_t * __a,float16x8x3_t __b,const int __c)12856 vst3q_lane_f16 (float16_t * __a, float16x8x3_t __b, const int __c)
12857 {
12858   union { float16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12859   __builtin_neon_vst3_lanev8hf (__a, __bu.__o, __c);
12860 }
12861 #endif
12862 
12863 __extension__ extern __inline void
12864 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_f32(float32_t * __a,float32x4x3_t __b,const int __c)12865 vst3q_lane_f32 (float32_t * __a, float32x4x3_t __b, const int __c)
12866 {
12867   union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12868   __builtin_neon_vst3_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
12869 }
12870 
12871 __extension__ extern __inline void
12872 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_u16(uint16_t * __a,uint16x8x3_t __b,const int __c)12873 vst3q_lane_u16 (uint16_t * __a, uint16x8x3_t __b, const int __c)
12874 {
12875   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12876   __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12877 }
12878 
12879 __extension__ extern __inline void
12880 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_u32(uint32_t * __a,uint32x4x3_t __b,const int __c)12881 vst3q_lane_u32 (uint32_t * __a, uint32x4x3_t __b, const int __c)
12882 {
12883   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12884   __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
12885 }
12886 
12887 __extension__ extern __inline void
12888 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_p16(poly16_t * __a,poly16x8x3_t __b,const int __c)12889 vst3q_lane_p16 (poly16_t * __a, poly16x8x3_t __b, const int __c)
12890 {
12891   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12892   __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12893 }
12894 
12895 __extension__ extern __inline int8x8x4_t
12896 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s8(const int8_t * __a)12897 vld4_s8 (const int8_t * __a)
12898 {
12899   union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
12900   __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
12901   return __rv.__i;
12902 }
12903 
12904 __extension__ extern __inline int16x4x4_t
12905 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s16(const int16_t * __a)12906 vld4_s16 (const int16_t * __a)
12907 {
12908   union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
12909   __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
12910   return __rv.__i;
12911 }
12912 
12913 __extension__ extern __inline int32x2x4_t
12914 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s32(const int32_t * __a)12915 vld4_s32 (const int32_t * __a)
12916 {
12917   union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
12918   __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
12919   return __rv.__i;
12920 }
12921 
12922 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12923 __extension__ extern __inline float16x4x4_t
12924 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_f16(const float16_t * __a)12925 vld4_f16 (const float16_t * __a)
12926 {
12927   union { float16x4x4_t __i; __builtin_neon_oi __o; } __rv;
12928   __rv.__o = __builtin_neon_vld4v4hf (__a);
12929   return __rv.__i;
12930 }
12931 #endif
12932 
12933 __extension__ extern __inline float32x2x4_t
12934 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_f32(const float32_t * __a)12935 vld4_f32 (const float32_t * __a)
12936 {
12937   union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
12938   __rv.__o = __builtin_neon_vld4v2sf ((const __builtin_neon_sf *) __a);
12939   return __rv.__i;
12940 }
12941 
12942 __extension__ extern __inline uint8x8x4_t
12943 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u8(const uint8_t * __a)12944 vld4_u8 (const uint8_t * __a)
12945 {
12946   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
12947   __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
12948   return __rv.__i;
12949 }
12950 
12951 __extension__ extern __inline uint16x4x4_t
12952 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u16(const uint16_t * __a)12953 vld4_u16 (const uint16_t * __a)
12954 {
12955   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
12956   __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
12957   return __rv.__i;
12958 }
12959 
12960 __extension__ extern __inline uint32x2x4_t
12961 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u32(const uint32_t * __a)12962 vld4_u32 (const uint32_t * __a)
12963 {
12964   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
12965   __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
12966   return __rv.__i;
12967 }
12968 
12969 __extension__ extern __inline poly8x8x4_t
12970 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p8(const poly8_t * __a)12971 vld4_p8 (const poly8_t * __a)
12972 {
12973   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
12974   __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
12975   return __rv.__i;
12976 }
12977 
12978 __extension__ extern __inline poly16x4x4_t
12979 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p16(const poly16_t * __a)12980 vld4_p16 (const poly16_t * __a)
12981 {
12982   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
12983   __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
12984   return __rv.__i;
12985 }
12986 
12987 #pragma GCC push_options
12988 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
12989 __extension__ extern __inline poly64x1x4_t
12990 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p64(const poly64_t * __a)12991 vld4_p64 (const poly64_t * __a)
12992 {
12993   union { poly64x1x4_t __i; __builtin_neon_oi __o; } __rv;
12994   __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
12995   return __rv.__i;
12996 }
12997 
12998 #pragma GCC pop_options
12999 __extension__ extern __inline int64x1x4_t
13000 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s64(const int64_t * __a)13001 vld4_s64 (const int64_t * __a)
13002 {
13003   union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
13004   __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
13005   return __rv.__i;
13006 }
13007 
13008 __extension__ extern __inline uint64x1x4_t
13009 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u64(const uint64_t * __a)13010 vld4_u64 (const uint64_t * __a)
13011 {
13012   union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
13013   __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
13014   return __rv.__i;
13015 }
13016 
13017 __extension__ extern __inline int8x16x4_t
13018 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s8(const int8_t * __a)13019 vld4q_s8 (const int8_t * __a)
13020 {
13021   union { int8x16x4_t __i; __builtin_neon_xi __o; } __rv;
13022   __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
13023   return __rv.__i;
13024 }
13025 
13026 __extension__ extern __inline int16x8x4_t
13027 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s16(const int16_t * __a)13028 vld4q_s16 (const int16_t * __a)
13029 {
13030   union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13031   __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
13032   return __rv.__i;
13033 }
13034 
13035 __extension__ extern __inline int32x4x4_t
13036 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s32(const int32_t * __a)13037 vld4q_s32 (const int32_t * __a)
13038 {
13039   union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
13040   __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
13041   return __rv.__i;
13042 }
13043 
13044 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13045 __extension__ extern __inline float16x8x4_t
13046 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_f16(const float16_t * __a)13047 vld4q_f16 (const float16_t * __a)
13048 {
13049   union { float16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13050   __rv.__o = __builtin_neon_vld4v8hf (__a);
13051   return __rv.__i;
13052 }
13053 #endif
13054 
13055 __extension__ extern __inline float32x4x4_t
13056 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_f32(const float32_t * __a)13057 vld4q_f32 (const float32_t * __a)
13058 {
13059   union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
13060   __rv.__o = __builtin_neon_vld4v4sf ((const __builtin_neon_sf *) __a);
13061   return __rv.__i;
13062 }
13063 
13064 __extension__ extern __inline uint8x16x4_t
13065 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u8(const uint8_t * __a)13066 vld4q_u8 (const uint8_t * __a)
13067 {
13068   union { uint8x16x4_t __i; __builtin_neon_xi __o; } __rv;
13069   __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
13070   return __rv.__i;
13071 }
13072 
13073 __extension__ extern __inline uint16x8x4_t
13074 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u16(const uint16_t * __a)13075 vld4q_u16 (const uint16_t * __a)
13076 {
13077   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13078   __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
13079   return __rv.__i;
13080 }
13081 
13082 __extension__ extern __inline uint32x4x4_t
13083 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u32(const uint32_t * __a)13084 vld4q_u32 (const uint32_t * __a)
13085 {
13086   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
13087   __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
13088   return __rv.__i;
13089 }
13090 
13091 __extension__ extern __inline poly8x16x4_t
13092 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_p8(const poly8_t * __a)13093 vld4q_p8 (const poly8_t * __a)
13094 {
13095   union { poly8x16x4_t __i; __builtin_neon_xi __o; } __rv;
13096   __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
13097   return __rv.__i;
13098 }
13099 
13100 __extension__ extern __inline poly16x8x4_t
13101 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_p16(const poly16_t * __a)13102 vld4q_p16 (const poly16_t * __a)
13103 {
13104   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13105   __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
13106   return __rv.__i;
13107 }
13108 
13109 __extension__ extern __inline int8x8x4_t
13110 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_s8(const int8_t * __a,int8x8x4_t __b,const int __c)13111 vld4_lane_s8 (const int8_t * __a, int8x8x4_t __b, const int __c)
13112 {
13113   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13114   union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
13115   __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
13116   return __rv.__i;
13117 }
13118 
13119 __extension__ extern __inline int16x4x4_t
13120 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_s16(const int16_t * __a,int16x4x4_t __b,const int __c)13121 vld4_lane_s16 (const int16_t * __a, int16x4x4_t __b, const int __c)
13122 {
13123   union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13124   union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13125   __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
13126   return __rv.__i;
13127 }
13128 
13129 __extension__ extern __inline int32x2x4_t
13130 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_s32(const int32_t * __a,int32x2x4_t __b,const int __c)13131 vld4_lane_s32 (const int32_t * __a, int32x2x4_t __b, const int __c)
13132 {
13133   union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13134   union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
13135   __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
13136   return __rv.__i;
13137 }
13138 
13139 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13140 __extension__ extern __inline float16x4x4_t
13141 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_f16(const float16_t * __a,float16x4x4_t __b,const int __c)13142 vld4_lane_f16 (const float16_t * __a, float16x4x4_t __b, const int __c)
13143 {
13144   union { float16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13145   union { float16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13146   __rv.__o = __builtin_neon_vld4_lanev4hf (__a,
13147 					   __bu.__o, __c);
13148   return __rv.__i;
13149 }
13150 #endif
13151 
13152 __extension__ extern __inline float32x2x4_t
13153 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_f32(const float32_t * __a,float32x2x4_t __b,const int __c)13154 vld4_lane_f32 (const float32_t * __a, float32x2x4_t __b, const int __c)
13155 {
13156   union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13157   union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
13158   __rv.__o = __builtin_neon_vld4_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
13159   return __rv.__i;
13160 }
13161 
13162 __extension__ extern __inline uint8x8x4_t
13163 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_u8(const uint8_t * __a,uint8x8x4_t __b,const int __c)13164 vld4_lane_u8 (const uint8_t * __a, uint8x8x4_t __b, const int __c)
13165 {
13166   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13167   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
13168   __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
13169   return __rv.__i;
13170 }
13171 
13172 __extension__ extern __inline uint16x4x4_t
13173 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_u16(const uint16_t * __a,uint16x4x4_t __b,const int __c)13174 vld4_lane_u16 (const uint16_t * __a, uint16x4x4_t __b, const int __c)
13175 {
13176   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13177   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13178   __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
13179   return __rv.__i;
13180 }
13181 
13182 __extension__ extern __inline uint32x2x4_t
13183 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_u32(const uint32_t * __a,uint32x2x4_t __b,const int __c)13184 vld4_lane_u32 (const uint32_t * __a, uint32x2x4_t __b, const int __c)
13185 {
13186   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13187   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
13188   __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
13189   return __rv.__i;
13190 }
13191 
13192 __extension__ extern __inline poly8x8x4_t
13193 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_p8(const poly8_t * __a,poly8x8x4_t __b,const int __c)13194 vld4_lane_p8 (const poly8_t * __a, poly8x8x4_t __b, const int __c)
13195 {
13196   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13197   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
13198   __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
13199   return __rv.__i;
13200 }
13201 
13202 __extension__ extern __inline poly16x4x4_t
13203 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_p16(const poly16_t * __a,poly16x4x4_t __b,const int __c)13204 vld4_lane_p16 (const poly16_t * __a, poly16x4x4_t __b, const int __c)
13205 {
13206   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13207   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13208   __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
13209   return __rv.__i;
13210 }
13211 
13212 __extension__ extern __inline int16x8x4_t
13213 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_s16(const int16_t * __a,int16x8x4_t __b,const int __c)13214 vld4q_lane_s16 (const int16_t * __a, int16x8x4_t __b, const int __c)
13215 {
13216   union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13217   union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13218   __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
13219   return __rv.__i;
13220 }
13221 
13222 __extension__ extern __inline int32x4x4_t
13223 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_s32(const int32_t * __a,int32x4x4_t __b,const int __c)13224 vld4q_lane_s32 (const int32_t * __a, int32x4x4_t __b, const int __c)
13225 {
13226   union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13227   union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
13228   __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
13229   return __rv.__i;
13230 }
13231 
13232 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13233 __extension__ extern __inline float16x8x4_t
13234 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_f16(const float16_t * __a,float16x8x4_t __b,const int __c)13235 vld4q_lane_f16 (const float16_t * __a, float16x8x4_t __b, const int __c)
13236 {
13237   union { float16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13238   union { float16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13239   __rv.__o = __builtin_neon_vld4_lanev8hf (__a,
13240 					   __bu.__o, __c);
13241   return __rv.__i;
13242 }
13243 #endif
13244 
13245 __extension__ extern __inline float32x4x4_t
13246 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_f32(const float32_t * __a,float32x4x4_t __b,const int __c)13247 vld4q_lane_f32 (const float32_t * __a, float32x4x4_t __b, const int __c)
13248 {
13249   union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13250   union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
13251   __rv.__o = __builtin_neon_vld4_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
13252   return __rv.__i;
13253 }
13254 
13255 __extension__ extern __inline uint16x8x4_t
13256 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_u16(const uint16_t * __a,uint16x8x4_t __b,const int __c)13257 vld4q_lane_u16 (const uint16_t * __a, uint16x8x4_t __b, const int __c)
13258 {
13259   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13260   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13261   __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
13262   return __rv.__i;
13263 }
13264 
13265 __extension__ extern __inline uint32x4x4_t
13266 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_u32(const uint32_t * __a,uint32x4x4_t __b,const int __c)13267 vld4q_lane_u32 (const uint32_t * __a, uint32x4x4_t __b, const int __c)
13268 {
13269   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13270   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
13271   __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
13272   return __rv.__i;
13273 }
13274 
13275 __extension__ extern __inline poly16x8x4_t
13276 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_p16(const poly16_t * __a,poly16x8x4_t __b,const int __c)13277 vld4q_lane_p16 (const poly16_t * __a, poly16x8x4_t __b, const int __c)
13278 {
13279   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13280   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13281   __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
13282   return __rv.__i;
13283 }
13284 
13285 __extension__ extern __inline int8x8x4_t
13286 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s8(const int8_t * __a)13287 vld4_dup_s8 (const int8_t * __a)
13288 {
13289   union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
13290   __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
13291   return __rv.__i;
13292 }
13293 
13294 __extension__ extern __inline int16x4x4_t
13295 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s16(const int16_t * __a)13296 vld4_dup_s16 (const int16_t * __a)
13297 {
13298   union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13299   __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
13300   return __rv.__i;
13301 }
13302 
13303 __extension__ extern __inline int32x2x4_t
13304 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s32(const int32_t * __a)13305 vld4_dup_s32 (const int32_t * __a)
13306 {
13307   union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
13308   __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
13309   return __rv.__i;
13310 }
13311 
13312 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13313 __extension__ extern __inline float16x4x4_t
13314 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_f16(const float16_t * __a)13315 vld4_dup_f16 (const float16_t * __a)
13316 {
13317   union { float16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13318   __rv.__o = __builtin_neon_vld4_dupv4hf (__a);
13319   return __rv.__i;
13320 }
13321 #endif
13322 
13323 __extension__ extern __inline float32x2x4_t
13324 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_f32(const float32_t * __a)13325 vld4_dup_f32 (const float32_t * __a)
13326 {
13327   union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
13328   __rv.__o = __builtin_neon_vld4_dupv2sf ((const __builtin_neon_sf *) __a);
13329   return __rv.__i;
13330 }
13331 
13332 __extension__ extern __inline uint8x8x4_t
13333 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u8(const uint8_t * __a)13334 vld4_dup_u8 (const uint8_t * __a)
13335 {
13336   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
13337   __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
13338   return __rv.__i;
13339 }
13340 
13341 __extension__ extern __inline uint16x4x4_t
13342 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u16(const uint16_t * __a)13343 vld4_dup_u16 (const uint16_t * __a)
13344 {
13345   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13346   __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
13347   return __rv.__i;
13348 }
13349 
13350 __extension__ extern __inline uint32x2x4_t
13351 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u32(const uint32_t * __a)13352 vld4_dup_u32 (const uint32_t * __a)
13353 {
13354   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
13355   __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
13356   return __rv.__i;
13357 }
13358 
13359 __extension__ extern __inline poly8x8x4_t
13360 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p8(const poly8_t * __a)13361 vld4_dup_p8 (const poly8_t * __a)
13362 {
13363   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
13364   __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
13365   return __rv.__i;
13366 }
13367 
13368 __extension__ extern __inline poly16x4x4_t
13369 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p16(const poly16_t * __a)13370 vld4_dup_p16 (const poly16_t * __a)
13371 {
13372   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13373   __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
13374   return __rv.__i;
13375 }
13376 
13377 #pragma GCC push_options
13378 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
13379 __extension__ extern __inline poly64x1x4_t
13380 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p64(const poly64_t * __a)13381 vld4_dup_p64 (const poly64_t * __a)
13382 {
13383   union { poly64x1x4_t __i; __builtin_neon_oi __o; } __rv;
13384   __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
13385   return __rv.__i;
13386 }
13387 
13388 #pragma GCC pop_options
13389 __extension__ extern __inline int64x1x4_t
13390 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s64(const int64_t * __a)13391 vld4_dup_s64 (const int64_t * __a)
13392 {
13393   union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
13394   __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
13395   return __rv.__i;
13396 }
13397 
13398 __extension__ extern __inline uint64x1x4_t
13399 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u64(const uint64_t * __a)13400 vld4_dup_u64 (const uint64_t * __a)
13401 {
13402   union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
13403   __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
13404   return __rv.__i;
13405 }
13406 
13407 __extension__ extern __inline void
13408 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s8(int8_t * __a,int8x8x4_t __b)13409 vst4_s8 (int8_t * __a, int8x8x4_t __b)
13410 {
13411   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13412   __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
13413 }
13414 
13415 __extension__ extern __inline void
13416 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s16(int16_t * __a,int16x4x4_t __b)13417 vst4_s16 (int16_t * __a, int16x4x4_t __b)
13418 {
13419   union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13420   __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
13421 }
13422 
13423 __extension__ extern __inline void
13424 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s32(int32_t * __a,int32x2x4_t __b)13425 vst4_s32 (int32_t * __a, int32x2x4_t __b)
13426 {
13427   union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13428   __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
13429 }
13430 
13431 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13432 __extension__ extern __inline void
13433 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_f16(float16_t * __a,float16x4x4_t __b)13434 vst4_f16 (float16_t * __a, float16x4x4_t __b)
13435 {
13436   union { float16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13437   __builtin_neon_vst4v4hf (__a, __bu.__o);
13438 }
13439 #endif
13440 
13441 __extension__ extern __inline void
13442 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_f32(float32_t * __a,float32x2x4_t __b)13443 vst4_f32 (float32_t * __a, float32x2x4_t __b)
13444 {
13445   union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13446   __builtin_neon_vst4v2sf ((__builtin_neon_sf *) __a, __bu.__o);
13447 }
13448 
13449 __extension__ extern __inline void
13450 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u8(uint8_t * __a,uint8x8x4_t __b)13451 vst4_u8 (uint8_t * __a, uint8x8x4_t __b)
13452 {
13453   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13454   __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
13455 }
13456 
13457 __extension__ extern __inline void
13458 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u16(uint16_t * __a,uint16x4x4_t __b)13459 vst4_u16 (uint16_t * __a, uint16x4x4_t __b)
13460 {
13461   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13462   __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
13463 }
13464 
13465 __extension__ extern __inline void
13466 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u32(uint32_t * __a,uint32x2x4_t __b)13467 vst4_u32 (uint32_t * __a, uint32x2x4_t __b)
13468 {
13469   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13470   __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
13471 }
13472 
13473 __extension__ extern __inline void
13474 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p8(poly8_t * __a,poly8x8x4_t __b)13475 vst4_p8 (poly8_t * __a, poly8x8x4_t __b)
13476 {
13477   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13478   __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
13479 }
13480 
13481 __extension__ extern __inline void
13482 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p16(poly16_t * __a,poly16x4x4_t __b)13483 vst4_p16 (poly16_t * __a, poly16x4x4_t __b)
13484 {
13485   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13486   __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
13487 }
13488 
13489 #pragma GCC push_options
13490 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
13491 __extension__ extern __inline void
13492 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p64(poly64_t * __a,poly64x1x4_t __b)13493 vst4_p64 (poly64_t * __a, poly64x1x4_t __b)
13494 {
13495   union { poly64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13496   __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
13497 }
13498 
13499 #pragma GCC pop_options
13500 __extension__ extern __inline void
13501 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s64(int64_t * __a,int64x1x4_t __b)13502 vst4_s64 (int64_t * __a, int64x1x4_t __b)
13503 {
13504   union { int64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13505   __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
13506 }
13507 
13508 __extension__ extern __inline void
13509 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u64(uint64_t * __a,uint64x1x4_t __b)13510 vst4_u64 (uint64_t * __a, uint64x1x4_t __b)
13511 {
13512   union { uint64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13513   __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
13514 }
13515 
13516 __extension__ extern __inline void
13517 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s8(int8_t * __a,int8x16x4_t __b)13518 vst4q_s8 (int8_t * __a, int8x16x4_t __b)
13519 {
13520   union { int8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13521   __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
13522 }
13523 
13524 __extension__ extern __inline void
13525 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s16(int16_t * __a,int16x8x4_t __b)13526 vst4q_s16 (int16_t * __a, int16x8x4_t __b)
13527 {
13528   union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13529   __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
13530 }
13531 
13532 __extension__ extern __inline void
13533 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s32(int32_t * __a,int32x4x4_t __b)13534 vst4q_s32 (int32_t * __a, int32x4x4_t __b)
13535 {
13536   union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13537   __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
13538 }
13539 
13540 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13541 __extension__ extern __inline void
13542 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_f16(float16_t * __a,float16x8x4_t __b)13543 vst4q_f16 (float16_t * __a, float16x8x4_t __b)
13544 {
13545   union { float16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13546   __builtin_neon_vst4v8hf (__a, __bu.__o);
13547 }
13548 #endif
13549 
13550 __extension__ extern __inline void
13551 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_f32(float32_t * __a,float32x4x4_t __b)13552 vst4q_f32 (float32_t * __a, float32x4x4_t __b)
13553 {
13554   union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13555   __builtin_neon_vst4v4sf ((__builtin_neon_sf *) __a, __bu.__o);
13556 }
13557 
13558 __extension__ extern __inline void
13559 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u8(uint8_t * __a,uint8x16x4_t __b)13560 vst4q_u8 (uint8_t * __a, uint8x16x4_t __b)
13561 {
13562   union { uint8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13563   __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
13564 }
13565 
13566 __extension__ extern __inline void
13567 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u16(uint16_t * __a,uint16x8x4_t __b)13568 vst4q_u16 (uint16_t * __a, uint16x8x4_t __b)
13569 {
13570   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13571   __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
13572 }
13573 
13574 __extension__ extern __inline void
13575 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u32(uint32_t * __a,uint32x4x4_t __b)13576 vst4q_u32 (uint32_t * __a, uint32x4x4_t __b)
13577 {
13578   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13579   __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
13580 }
13581 
13582 __extension__ extern __inline void
13583 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_p8(poly8_t * __a,poly8x16x4_t __b)13584 vst4q_p8 (poly8_t * __a, poly8x16x4_t __b)
13585 {
13586   union { poly8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13587   __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
13588 }
13589 
13590 __extension__ extern __inline void
13591 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_p16(poly16_t * __a,poly16x8x4_t __b)13592 vst4q_p16 (poly16_t * __a, poly16x8x4_t __b)
13593 {
13594   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13595   __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
13596 }
13597 
13598 __extension__ extern __inline void
13599 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_s8(int8_t * __a,int8x8x4_t __b,const int __c)13600 vst4_lane_s8 (int8_t * __a, int8x8x4_t __b, const int __c)
13601 {
13602   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13603   __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
13604 }
13605 
13606 __extension__ extern __inline void
13607 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_s16(int16_t * __a,int16x4x4_t __b,const int __c)13608 vst4_lane_s16 (int16_t * __a, int16x4x4_t __b, const int __c)
13609 {
13610   union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13611   __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
13612 }
13613 
13614 __extension__ extern __inline void
13615 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_s32(int32_t * __a,int32x2x4_t __b,const int __c)13616 vst4_lane_s32 (int32_t * __a, int32x2x4_t __b, const int __c)
13617 {
13618   union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13619   __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
13620 }
13621 
13622 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13623 __extension__ extern __inline void
13624 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_f16(float16_t * __a,float16x4x4_t __b,const int __c)13625 vst4_lane_f16 (float16_t * __a, float16x4x4_t __b, const int __c)
13626 {
13627   union { float16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13628   __builtin_neon_vst4_lanev4hf (__a, __bu.__o, __c);
13629 }
13630 #endif
13631 
13632 __extension__ extern __inline void
13633 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_f32(float32_t * __a,float32x2x4_t __b,const int __c)13634 vst4_lane_f32 (float32_t * __a, float32x2x4_t __b, const int __c)
13635 {
13636   union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13637   __builtin_neon_vst4_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
13638 }
13639 
13640 __extension__ extern __inline void
13641 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_u8(uint8_t * __a,uint8x8x4_t __b,const int __c)13642 vst4_lane_u8 (uint8_t * __a, uint8x8x4_t __b, const int __c)
13643 {
13644   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13645   __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
13646 }
13647 
13648 __extension__ extern __inline void
13649 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_u16(uint16_t * __a,uint16x4x4_t __b,const int __c)13650 vst4_lane_u16 (uint16_t * __a, uint16x4x4_t __b, const int __c)
13651 {
13652   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13653   __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
13654 }
13655 
13656 __extension__ extern __inline void
13657 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_u32(uint32_t * __a,uint32x2x4_t __b,const int __c)13658 vst4_lane_u32 (uint32_t * __a, uint32x2x4_t __b, const int __c)
13659 {
13660   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13661   __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
13662 }
13663 
13664 __extension__ extern __inline void
13665 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_p8(poly8_t * __a,poly8x8x4_t __b,const int __c)13666 vst4_lane_p8 (poly8_t * __a, poly8x8x4_t __b, const int __c)
13667 {
13668   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13669   __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
13670 }
13671 
13672 __extension__ extern __inline void
13673 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_p16(poly16_t * __a,poly16x4x4_t __b,const int __c)13674 vst4_lane_p16 (poly16_t * __a, poly16x4x4_t __b, const int __c)
13675 {
13676   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13677   __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
13678 }
13679 
13680 __extension__ extern __inline void
13681 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_s16(int16_t * __a,int16x8x4_t __b,const int __c)13682 vst4q_lane_s16 (int16_t * __a, int16x8x4_t __b, const int __c)
13683 {
13684   union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13685   __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
13686 }
13687 
13688 __extension__ extern __inline void
13689 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_s32(int32_t * __a,int32x4x4_t __b,const int __c)13690 vst4q_lane_s32 (int32_t * __a, int32x4x4_t __b, const int __c)
13691 {
13692   union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13693   __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
13694 }
13695 
13696 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13697 __extension__ extern __inline void
13698 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_f16(float16_t * __a,float16x8x4_t __b,const int __c)13699 vst4q_lane_f16 (float16_t * __a, float16x8x4_t __b, const int __c)
13700 {
13701   union { float16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13702   __builtin_neon_vst4_lanev8hf (__a, __bu.__o, __c);
13703 }
13704 #endif
13705 
13706 __extension__ extern __inline void
13707 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_f32(float32_t * __a,float32x4x4_t __b,const int __c)13708 vst4q_lane_f32 (float32_t * __a, float32x4x4_t __b, const int __c)
13709 {
13710   union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13711   __builtin_neon_vst4_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
13712 }
13713 
13714 __extension__ extern __inline void
13715 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_u16(uint16_t * __a,uint16x8x4_t __b,const int __c)13716 vst4q_lane_u16 (uint16_t * __a, uint16x8x4_t __b, const int __c)
13717 {
13718   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13719   __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
13720 }
13721 
13722 __extension__ extern __inline void
13723 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_u32(uint32_t * __a,uint32x4x4_t __b,const int __c)13724 vst4q_lane_u32 (uint32_t * __a, uint32x4x4_t __b, const int __c)
13725 {
13726   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13727   __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
13728 }
13729 
13730 __extension__ extern __inline void
13731 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_p16(poly16_t * __a,poly16x8x4_t __b,const int __c)13732 vst4q_lane_p16 (poly16_t * __a, poly16x8x4_t __b, const int __c)
13733 {
13734   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13735   __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
13736 }
13737 
13738 __extension__ extern __inline int8x8_t
13739 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_s8(int8x8_t __a,int8x8_t __b)13740 vand_s8 (int8x8_t __a, int8x8_t __b)
13741 {
13742   return __a & __b;
13743 }
13744 
13745 __extension__ extern __inline int16x4_t
13746 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_s16(int16x4_t __a,int16x4_t __b)13747 vand_s16 (int16x4_t __a, int16x4_t __b)
13748 {
13749   return __a & __b;
13750 }
13751 
13752 __extension__ extern __inline int32x2_t
13753 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_s32(int32x2_t __a,int32x2_t __b)13754 vand_s32 (int32x2_t __a, int32x2_t __b)
13755 {
13756   return __a & __b;
13757 }
13758 
13759 __extension__ extern __inline uint8x8_t
13760 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_u8(uint8x8_t __a,uint8x8_t __b)13761 vand_u8 (uint8x8_t __a, uint8x8_t __b)
13762 {
13763   return __a & __b;
13764 }
13765 
13766 __extension__ extern __inline uint16x4_t
13767 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_u16(uint16x4_t __a,uint16x4_t __b)13768 vand_u16 (uint16x4_t __a, uint16x4_t __b)
13769 {
13770   return __a & __b;
13771 }
13772 
13773 __extension__ extern __inline uint32x2_t
13774 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_u32(uint32x2_t __a,uint32x2_t __b)13775 vand_u32 (uint32x2_t __a, uint32x2_t __b)
13776 {
13777   return __a & __b;
13778 }
13779 
13780 __extension__ extern __inline int64x1_t
13781 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_s64(int64x1_t __a,int64x1_t __b)13782 vand_s64 (int64x1_t __a, int64x1_t __b)
13783 {
13784   return __a & __b;
13785 }
13786 
13787 __extension__ extern __inline uint64x1_t
13788 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_u64(uint64x1_t __a,uint64x1_t __b)13789 vand_u64 (uint64x1_t __a, uint64x1_t __b)
13790 {
13791   return __a & __b;
13792 }
13793 
13794 __extension__ extern __inline int8x16_t
13795 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s8(int8x16_t __a,int8x16_t __b)13796 vandq_s8 (int8x16_t __a, int8x16_t __b)
13797 {
13798   return __a & __b;
13799 }
13800 
13801 __extension__ extern __inline int16x8_t
13802 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s16(int16x8_t __a,int16x8_t __b)13803 vandq_s16 (int16x8_t __a, int16x8_t __b)
13804 {
13805   return __a & __b;
13806 }
13807 
13808 __extension__ extern __inline int32x4_t
13809 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s32(int32x4_t __a,int32x4_t __b)13810 vandq_s32 (int32x4_t __a, int32x4_t __b)
13811 {
13812   return __a & __b;
13813 }
13814 
13815 __extension__ extern __inline int64x2_t
13816 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s64(int64x2_t __a,int64x2_t __b)13817 vandq_s64 (int64x2_t __a, int64x2_t __b)
13818 {
13819   return __a & __b;
13820 }
13821 
13822 __extension__ extern __inline uint8x16_t
13823 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u8(uint8x16_t __a,uint8x16_t __b)13824 vandq_u8 (uint8x16_t __a, uint8x16_t __b)
13825 {
13826   return __a & __b;
13827 }
13828 
13829 __extension__ extern __inline uint16x8_t
13830 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u16(uint16x8_t __a,uint16x8_t __b)13831 vandq_u16 (uint16x8_t __a, uint16x8_t __b)
13832 {
13833   return __a & __b;
13834 }
13835 
13836 __extension__ extern __inline uint32x4_t
13837 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u32(uint32x4_t __a,uint32x4_t __b)13838 vandq_u32 (uint32x4_t __a, uint32x4_t __b)
13839 {
13840   return __a & __b;
13841 }
13842 
13843 __extension__ extern __inline uint64x2_t
13844 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u64(uint64x2_t __a,uint64x2_t __b)13845 vandq_u64 (uint64x2_t __a, uint64x2_t __b)
13846 {
13847   return __a & __b;
13848 }
13849 
13850 __extension__ extern __inline int8x8_t
13851 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s8(int8x8_t __a,int8x8_t __b)13852 vorr_s8 (int8x8_t __a, int8x8_t __b)
13853 {
13854   return __a | __b;
13855 }
13856 
13857 __extension__ extern __inline int16x4_t
13858 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s16(int16x4_t __a,int16x4_t __b)13859 vorr_s16 (int16x4_t __a, int16x4_t __b)
13860 {
13861   return __a | __b;
13862 }
13863 
13864 __extension__ extern __inline int32x2_t
13865 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s32(int32x2_t __a,int32x2_t __b)13866 vorr_s32 (int32x2_t __a, int32x2_t __b)
13867 {
13868   return __a | __b;
13869 }
13870 
13871 __extension__ extern __inline uint8x8_t
13872 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u8(uint8x8_t __a,uint8x8_t __b)13873 vorr_u8 (uint8x8_t __a, uint8x8_t __b)
13874 {
13875   return __a | __b;
13876 }
13877 
13878 __extension__ extern __inline uint16x4_t
13879 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u16(uint16x4_t __a,uint16x4_t __b)13880 vorr_u16 (uint16x4_t __a, uint16x4_t __b)
13881 {
13882   return __a | __b;
13883 }
13884 
13885 __extension__ extern __inline uint32x2_t
13886 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u32(uint32x2_t __a,uint32x2_t __b)13887 vorr_u32 (uint32x2_t __a, uint32x2_t __b)
13888 {
13889   return __a | __b;
13890 }
13891 
13892 __extension__ extern __inline int64x1_t
13893 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s64(int64x1_t __a,int64x1_t __b)13894 vorr_s64 (int64x1_t __a, int64x1_t __b)
13895 {
13896   return __a | __b;
13897 }
13898 
13899 __extension__ extern __inline uint64x1_t
13900 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u64(uint64x1_t __a,uint64x1_t __b)13901 vorr_u64 (uint64x1_t __a, uint64x1_t __b)
13902 {
13903   return __a | __b;
13904 }
13905 
13906 __extension__ extern __inline int8x16_t
13907 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s8(int8x16_t __a,int8x16_t __b)13908 vorrq_s8 (int8x16_t __a, int8x16_t __b)
13909 {
13910   return __a | __b;
13911 }
13912 
13913 __extension__ extern __inline int16x8_t
13914 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s16(int16x8_t __a,int16x8_t __b)13915 vorrq_s16 (int16x8_t __a, int16x8_t __b)
13916 {
13917   return __a | __b;
13918 }
13919 
13920 __extension__ extern __inline int32x4_t
13921 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s32(int32x4_t __a,int32x4_t __b)13922 vorrq_s32 (int32x4_t __a, int32x4_t __b)
13923 {
13924   return __a | __b;
13925 }
13926 
13927 __extension__ extern __inline int64x2_t
13928 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s64(int64x2_t __a,int64x2_t __b)13929 vorrq_s64 (int64x2_t __a, int64x2_t __b)
13930 {
13931   return __a | __b;
13932 }
13933 
13934 __extension__ extern __inline uint8x16_t
13935 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u8(uint8x16_t __a,uint8x16_t __b)13936 vorrq_u8 (uint8x16_t __a, uint8x16_t __b)
13937 {
13938   return __a | __b;
13939 }
13940 
13941 __extension__ extern __inline uint16x8_t
13942 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u16(uint16x8_t __a,uint16x8_t __b)13943 vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
13944 {
13945   return __a | __b;
13946 }
13947 
13948 __extension__ extern __inline uint32x4_t
13949 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u32(uint32x4_t __a,uint32x4_t __b)13950 vorrq_u32 (uint32x4_t __a, uint32x4_t __b)
13951 {
13952   return __a | __b;
13953 }
13954 
13955 __extension__ extern __inline uint64x2_t
13956 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u64(uint64x2_t __a,uint64x2_t __b)13957 vorrq_u64 (uint64x2_t __a, uint64x2_t __b)
13958 {
13959   return __a | __b;
13960 }
13961 
13962 __extension__ extern __inline int8x8_t
13963 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_s8(int8x8_t __a,int8x8_t __b)13964 veor_s8 (int8x8_t __a, int8x8_t __b)
13965 {
13966   return __a ^ __b;
13967 }
13968 
13969 __extension__ extern __inline int16x4_t
13970 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_s16(int16x4_t __a,int16x4_t __b)13971 veor_s16 (int16x4_t __a, int16x4_t __b)
13972 {
13973   return __a ^ __b;
13974 }
13975 
13976 __extension__ extern __inline int32x2_t
13977 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_s32(int32x2_t __a,int32x2_t __b)13978 veor_s32 (int32x2_t __a, int32x2_t __b)
13979 {
13980   return __a ^ __b;
13981 }
13982 
13983 __extension__ extern __inline uint8x8_t
13984 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_u8(uint8x8_t __a,uint8x8_t __b)13985 veor_u8 (uint8x8_t __a, uint8x8_t __b)
13986 {
13987   return __a ^ __b;
13988 }
13989 
13990 __extension__ extern __inline uint16x4_t
13991 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_u16(uint16x4_t __a,uint16x4_t __b)13992 veor_u16 (uint16x4_t __a, uint16x4_t __b)
13993 {
13994   return __a ^ __b;
13995 }
13996 
13997 __extension__ extern __inline uint32x2_t
13998 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_u32(uint32x2_t __a,uint32x2_t __b)13999 veor_u32 (uint32x2_t __a, uint32x2_t __b)
14000 {
14001   return __a ^ __b;
14002 }
14003 
14004 __extension__ extern __inline int64x1_t
14005 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_s64(int64x1_t __a,int64x1_t __b)14006 veor_s64 (int64x1_t __a, int64x1_t __b)
14007 {
14008   return __a ^ __b;
14009 }
14010 
14011 __extension__ extern __inline uint64x1_t
14012 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_u64(uint64x1_t __a,uint64x1_t __b)14013 veor_u64 (uint64x1_t __a, uint64x1_t __b)
14014 {
14015   return __a ^ __b;
14016 }
14017 
14018 __extension__ extern __inline int8x16_t
14019 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s8(int8x16_t __a,int8x16_t __b)14020 veorq_s8 (int8x16_t __a, int8x16_t __b)
14021 {
14022   return __a ^ __b;
14023 }
14024 
14025 __extension__ extern __inline int16x8_t
14026 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s16(int16x8_t __a,int16x8_t __b)14027 veorq_s16 (int16x8_t __a, int16x8_t __b)
14028 {
14029   return __a ^ __b;
14030 }
14031 
14032 __extension__ extern __inline int32x4_t
14033 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s32(int32x4_t __a,int32x4_t __b)14034 veorq_s32 (int32x4_t __a, int32x4_t __b)
14035 {
14036   return __a ^ __b;
14037 }
14038 
14039 __extension__ extern __inline int64x2_t
14040 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s64(int64x2_t __a,int64x2_t __b)14041 veorq_s64 (int64x2_t __a, int64x2_t __b)
14042 {
14043   return __a ^ __b;
14044 }
14045 
14046 __extension__ extern __inline uint8x16_t
14047 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u8(uint8x16_t __a,uint8x16_t __b)14048 veorq_u8 (uint8x16_t __a, uint8x16_t __b)
14049 {
14050   return __a ^ __b;
14051 }
14052 
14053 __extension__ extern __inline uint16x8_t
14054 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u16(uint16x8_t __a,uint16x8_t __b)14055 veorq_u16 (uint16x8_t __a, uint16x8_t __b)
14056 {
14057   return __a ^ __b;
14058 }
14059 
14060 __extension__ extern __inline uint32x4_t
14061 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u32(uint32x4_t __a,uint32x4_t __b)14062 veorq_u32 (uint32x4_t __a, uint32x4_t __b)
14063 {
14064   return __a ^ __b;
14065 }
14066 
14067 __extension__ extern __inline uint64x2_t
14068 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u64(uint64x2_t __a,uint64x2_t __b)14069 veorq_u64 (uint64x2_t __a, uint64x2_t __b)
14070 {
14071   return __a ^ __b;
14072 }
14073 
14074 __extension__ extern __inline int8x8_t
14075 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s8(int8x8_t __a,int8x8_t __b)14076 vbic_s8 (int8x8_t __a, int8x8_t __b)
14077 {
14078   return __a & ~__b;
14079 }
14080 
14081 __extension__ extern __inline int16x4_t
14082 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s16(int16x4_t __a,int16x4_t __b)14083 vbic_s16 (int16x4_t __a, int16x4_t __b)
14084 {
14085   return __a & ~__b;
14086 }
14087 
14088 __extension__ extern __inline int32x2_t
14089 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s32(int32x2_t __a,int32x2_t __b)14090 vbic_s32 (int32x2_t __a, int32x2_t __b)
14091 {
14092   return __a & ~__b;
14093 }
14094 
14095 __extension__ extern __inline uint8x8_t
14096 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u8(uint8x8_t __a,uint8x8_t __b)14097 vbic_u8 (uint8x8_t __a, uint8x8_t __b)
14098 {
14099   return __a & ~__b;
14100 }
14101 
14102 __extension__ extern __inline uint16x4_t
14103 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u16(uint16x4_t __a,uint16x4_t __b)14104 vbic_u16 (uint16x4_t __a, uint16x4_t __b)
14105 {
14106   return __a & ~__b;
14107 }
14108 
14109 __extension__ extern __inline uint32x2_t
14110 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u32(uint32x2_t __a,uint32x2_t __b)14111 vbic_u32 (uint32x2_t __a, uint32x2_t __b)
14112 {
14113   return __a & ~__b;
14114 }
14115 
14116 __extension__ extern __inline int64x1_t
14117 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s64(int64x1_t __a,int64x1_t __b)14118 vbic_s64 (int64x1_t __a, int64x1_t __b)
14119 {
14120   return __a & ~__b;
14121 }
14122 
14123 __extension__ extern __inline uint64x1_t
14124 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u64(uint64x1_t __a,uint64x1_t __b)14125 vbic_u64 (uint64x1_t __a, uint64x1_t __b)
14126 {
14127   return __a & ~__b;
14128 }
14129 
14130 __extension__ extern __inline int8x16_t
14131 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s8(int8x16_t __a,int8x16_t __b)14132 vbicq_s8 (int8x16_t __a, int8x16_t __b)
14133 {
14134   return __a & ~__b;
14135 }
14136 
14137 __extension__ extern __inline int16x8_t
14138 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s16(int16x8_t __a,int16x8_t __b)14139 vbicq_s16 (int16x8_t __a, int16x8_t __b)
14140 {
14141   return __a & ~__b;
14142 }
14143 
14144 __extension__ extern __inline int32x4_t
14145 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s32(int32x4_t __a,int32x4_t __b)14146 vbicq_s32 (int32x4_t __a, int32x4_t __b)
14147 {
14148   return __a & ~__b;
14149 }
14150 
14151 __extension__ extern __inline int64x2_t
14152 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s64(int64x2_t __a,int64x2_t __b)14153 vbicq_s64 (int64x2_t __a, int64x2_t __b)
14154 {
14155   return __a & ~__b;
14156 }
14157 
14158 __extension__ extern __inline uint8x16_t
14159 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u8(uint8x16_t __a,uint8x16_t __b)14160 vbicq_u8 (uint8x16_t __a, uint8x16_t __b)
14161 {
14162   return __a & ~__b;
14163 }
14164 
14165 __extension__ extern __inline uint16x8_t
14166 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u16(uint16x8_t __a,uint16x8_t __b)14167 vbicq_u16 (uint16x8_t __a, uint16x8_t __b)
14168 {
14169   return __a & ~__b;
14170 }
14171 
14172 __extension__ extern __inline uint32x4_t
14173 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u32(uint32x4_t __a,uint32x4_t __b)14174 vbicq_u32 (uint32x4_t __a, uint32x4_t __b)
14175 {
14176   return __a & ~__b;
14177 }
14178 
14179 __extension__ extern __inline uint64x2_t
14180 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u64(uint64x2_t __a,uint64x2_t __b)14181 vbicq_u64 (uint64x2_t __a, uint64x2_t __b)
14182 {
14183   return __a & ~__b;
14184 }
14185 
14186 __extension__ extern __inline int8x8_t
14187 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s8(int8x8_t __a,int8x8_t __b)14188 vorn_s8 (int8x8_t __a, int8x8_t __b)
14189 {
14190   return __a | ~__b;
14191 }
14192 
14193 __extension__ extern __inline int16x4_t
14194 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s16(int16x4_t __a,int16x4_t __b)14195 vorn_s16 (int16x4_t __a, int16x4_t __b)
14196 {
14197   return __a | ~__b;
14198 }
14199 
14200 __extension__ extern __inline int32x2_t
14201 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s32(int32x2_t __a,int32x2_t __b)14202 vorn_s32 (int32x2_t __a, int32x2_t __b)
14203 {
14204   return __a | ~__b;
14205 }
14206 
14207 __extension__ extern __inline uint8x8_t
14208 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u8(uint8x8_t __a,uint8x8_t __b)14209 vorn_u8 (uint8x8_t __a, uint8x8_t __b)
14210 {
14211   return __a | ~__b;
14212 }
14213 
14214 __extension__ extern __inline uint16x4_t
14215 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u16(uint16x4_t __a,uint16x4_t __b)14216 vorn_u16 (uint16x4_t __a, uint16x4_t __b)
14217 {
14218   return __a | ~__b;
14219 }
14220 
14221 __extension__ extern __inline uint32x2_t
14222 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u32(uint32x2_t __a,uint32x2_t __b)14223 vorn_u32 (uint32x2_t __a, uint32x2_t __b)
14224 {
14225   return __a | ~__b;
14226 }
14227 
14228 __extension__ extern __inline int64x1_t
14229 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s64(int64x1_t __a,int64x1_t __b)14230 vorn_s64 (int64x1_t __a, int64x1_t __b)
14231 {
14232   return __a | ~__b;
14233 }
14234 
14235 __extension__ extern __inline uint64x1_t
14236 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u64(uint64x1_t __a,uint64x1_t __b)14237 vorn_u64 (uint64x1_t __a, uint64x1_t __b)
14238 {
14239   return __a | ~__b;
14240 }
14241 
14242 __extension__ extern __inline int8x16_t
14243 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s8(int8x16_t __a,int8x16_t __b)14244 vornq_s8 (int8x16_t __a, int8x16_t __b)
14245 {
14246   return __a | ~__b;
14247 }
14248 
14249 __extension__ extern __inline int16x8_t
14250 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s16(int16x8_t __a,int16x8_t __b)14251 vornq_s16 (int16x8_t __a, int16x8_t __b)
14252 {
14253   return __a | ~__b;
14254 }
14255 
14256 __extension__ extern __inline int32x4_t
14257 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s32(int32x4_t __a,int32x4_t __b)14258 vornq_s32 (int32x4_t __a, int32x4_t __b)
14259 {
14260   return __a | ~__b;
14261 }
14262 
14263 __extension__ extern __inline int64x2_t
14264 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s64(int64x2_t __a,int64x2_t __b)14265 vornq_s64 (int64x2_t __a, int64x2_t __b)
14266 {
14267   return __a | ~__b;
14268 }
14269 
14270 __extension__ extern __inline uint8x16_t
14271 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u8(uint8x16_t __a,uint8x16_t __b)14272 vornq_u8 (uint8x16_t __a, uint8x16_t __b)
14273 {
14274   return __a | ~__b;
14275 }
14276 
14277 __extension__ extern __inline uint16x8_t
14278 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u16(uint16x8_t __a,uint16x8_t __b)14279 vornq_u16 (uint16x8_t __a, uint16x8_t __b)
14280 {
14281   return __a | ~__b;
14282 }
14283 
14284 __extension__ extern __inline uint32x4_t
14285 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u32(uint32x4_t __a,uint32x4_t __b)14286 vornq_u32 (uint32x4_t __a, uint32x4_t __b)
14287 {
14288   return __a | ~__b;
14289 }
14290 
14291 __extension__ extern __inline uint64x2_t
14292 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u64(uint64x2_t __a,uint64x2_t __b)14293 vornq_u64 (uint64x2_t __a, uint64x2_t __b)
14294 {
14295   return __a | ~__b;
14296 }
14297 
14298 __extension__ extern __inline poly8x8_t
14299 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_p16(poly16x4_t __a)14300 vreinterpret_p8_p16 (poly16x4_t __a)
14301 {
14302   return (poly8x8_t) __a;
14303 }
14304 
14305 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14306 __extension__ extern __inline poly8x8_t
14307 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_f16(float16x4_t __a)14308 vreinterpret_p8_f16 (float16x4_t __a)
14309 {
14310   return (poly8x8_t) __a;
14311 }
14312 #endif
14313 
14314 __extension__ extern __inline poly8x8_t
14315 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_f32(float32x2_t __a)14316 vreinterpret_p8_f32 (float32x2_t __a)
14317 {
14318   return (poly8x8_t)__a;
14319 }
14320 
14321 #pragma GCC push_options
14322 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14323 __extension__ extern __inline poly8x8_t
14324 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_p64(poly64x1_t __a)14325 vreinterpret_p8_p64 (poly64x1_t __a)
14326 {
14327   return (poly8x8_t)__a;
14328 }
14329 
14330 #pragma GCC pop_options
14331 __extension__ extern __inline poly8x8_t
14332 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s64(int64x1_t __a)14333 vreinterpret_p8_s64 (int64x1_t __a)
14334 {
14335   return (poly8x8_t)__a;
14336 }
14337 
14338 __extension__ extern __inline poly8x8_t
14339 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u64(uint64x1_t __a)14340 vreinterpret_p8_u64 (uint64x1_t __a)
14341 {
14342   return (poly8x8_t)__a;
14343 }
14344 
14345 __extension__ extern __inline poly8x8_t
14346 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s8(int8x8_t __a)14347 vreinterpret_p8_s8 (int8x8_t __a)
14348 {
14349   return (poly8x8_t)__a;
14350 }
14351 
14352 __extension__ extern __inline poly8x8_t
14353 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s16(int16x4_t __a)14354 vreinterpret_p8_s16 (int16x4_t __a)
14355 {
14356   return (poly8x8_t)__a;
14357 }
14358 
14359 __extension__ extern __inline poly8x8_t
14360 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s32(int32x2_t __a)14361 vreinterpret_p8_s32 (int32x2_t __a)
14362 {
14363   return (poly8x8_t)__a;
14364 }
14365 
14366 __extension__ extern __inline poly8x8_t
14367 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u8(uint8x8_t __a)14368 vreinterpret_p8_u8 (uint8x8_t __a)
14369 {
14370   return (poly8x8_t)__a;
14371 }
14372 
14373 __extension__ extern __inline poly8x8_t
14374 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u16(uint16x4_t __a)14375 vreinterpret_p8_u16 (uint16x4_t __a)
14376 {
14377   return (poly8x8_t)__a;
14378 }
14379 
14380 __extension__ extern __inline poly8x8_t
14381 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u32(uint32x2_t __a)14382 vreinterpret_p8_u32 (uint32x2_t __a)
14383 {
14384   return (poly8x8_t)__a;
14385 }
14386 
14387 __extension__ extern __inline poly16x4_t
14388 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_p8(poly8x8_t __a)14389 vreinterpret_p16_p8 (poly8x8_t __a)
14390 {
14391   return (poly16x4_t)__a;
14392 }
14393 
14394 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14395 __extension__ extern __inline poly16x4_t
14396 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_f16(float16x4_t __a)14397 vreinterpret_p16_f16 (float16x4_t __a)
14398 {
14399   return (poly16x4_t) __a;
14400 }
14401 #endif
14402 
14403 __extension__ extern __inline poly16x4_t
14404 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_f32(float32x2_t __a)14405 vreinterpret_p16_f32 (float32x2_t __a)
14406 {
14407   return (poly16x4_t)__a;
14408 }
14409 
14410 #pragma GCC push_options
14411 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14412 __extension__ extern __inline poly16x4_t
14413 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_p64(poly64x1_t __a)14414 vreinterpret_p16_p64 (poly64x1_t __a)
14415 {
14416   return (poly16x4_t)__a;
14417 }
14418 
14419 #pragma GCC pop_options
14420 __extension__ extern __inline poly16x4_t
14421 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s64(int64x1_t __a)14422 vreinterpret_p16_s64 (int64x1_t __a)
14423 {
14424   return (poly16x4_t)__a;
14425 }
14426 
14427 __extension__ extern __inline poly16x4_t
14428 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u64(uint64x1_t __a)14429 vreinterpret_p16_u64 (uint64x1_t __a)
14430 {
14431   return (poly16x4_t)__a;
14432 }
14433 
14434 __extension__ extern __inline poly16x4_t
14435 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s8(int8x8_t __a)14436 vreinterpret_p16_s8 (int8x8_t __a)
14437 {
14438   return (poly16x4_t)__a;
14439 }
14440 
14441 __extension__ extern __inline poly16x4_t
14442 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s16(int16x4_t __a)14443 vreinterpret_p16_s16 (int16x4_t __a)
14444 {
14445   return (poly16x4_t)__a;
14446 }
14447 
14448 __extension__ extern __inline poly16x4_t
14449 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s32(int32x2_t __a)14450 vreinterpret_p16_s32 (int32x2_t __a)
14451 {
14452   return (poly16x4_t)__a;
14453 }
14454 
14455 __extension__ extern __inline poly16x4_t
14456 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u8(uint8x8_t __a)14457 vreinterpret_p16_u8 (uint8x8_t __a)
14458 {
14459   return (poly16x4_t)__a;
14460 }
14461 
14462 __extension__ extern __inline poly16x4_t
14463 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u16(uint16x4_t __a)14464 vreinterpret_p16_u16 (uint16x4_t __a)
14465 {
14466   return (poly16x4_t)__a;
14467 }
14468 
14469 __extension__ extern __inline poly16x4_t
14470 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u32(uint32x2_t __a)14471 vreinterpret_p16_u32 (uint32x2_t __a)
14472 {
14473   return (poly16x4_t)__a;
14474 }
14475 
14476 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14477 __extension__ extern __inline float16x4_t
14478 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_bf16(bfloat16x4_t __a)14479 vreinterpret_f16_bf16 (bfloat16x4_t __a)
14480 {
14481   return (float16x4_t) __a;
14482 }
14483 #endif
14484 
14485 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14486 __extension__ extern __inline float16x4_t
14487 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_p8(poly8x8_t __a)14488 vreinterpret_f16_p8 (poly8x8_t __a)
14489 {
14490   return (float16x4_t) __a;
14491 }
14492 #endif
14493 
14494 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14495 __extension__ extern __inline float16x4_t
14496 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_p16(poly16x4_t __a)14497 vreinterpret_f16_p16 (poly16x4_t __a)
14498 {
14499   return (float16x4_t) __a;
14500 }
14501 #endif
14502 
14503 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14504 __extension__ extern __inline float16x4_t
14505 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_f32(float32x2_t __a)14506 vreinterpret_f16_f32 (float32x2_t __a)
14507 {
14508   return (float16x4_t) __a;
14509 }
14510 #endif
14511 
14512 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14513 #pragma GCC push_options
14514 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14515 __extension__ extern __inline float16x4_t
14516 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_p64(poly64x1_t __a)14517 vreinterpret_f16_p64 (poly64x1_t __a)
14518 {
14519   return (float16x4_t) __a;
14520 }
14521 #pragma GCC pop_options
14522 #endif
14523 
14524 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14525 __extension__ extern __inline float16x4_t
14526 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s64(int64x1_t __a)14527 vreinterpret_f16_s64 (int64x1_t __a)
14528 {
14529   return (float16x4_t) __a;
14530 }
14531 #endif
14532 
14533 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14534 __extension__ extern __inline float16x4_t
14535 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u64(uint64x1_t __a)14536 vreinterpret_f16_u64 (uint64x1_t __a)
14537 {
14538   return (float16x4_t) __a;
14539 }
14540 #endif
14541 
14542 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14543 __extension__ extern __inline float16x4_t
14544 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s8(int8x8_t __a)14545 vreinterpret_f16_s8 (int8x8_t __a)
14546 {
14547   return (float16x4_t) __a;
14548 }
14549 #endif
14550 
14551 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14552 __extension__ extern __inline float16x4_t
14553 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s16(int16x4_t __a)14554 vreinterpret_f16_s16 (int16x4_t __a)
14555 {
14556   return (float16x4_t) __a;
14557 }
14558 #endif
14559 
14560 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14561 __extension__ extern __inline float16x4_t
14562 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s32(int32x2_t __a)14563 vreinterpret_f16_s32 (int32x2_t __a)
14564 {
14565   return (float16x4_t) __a;
14566 }
14567 #endif
14568 
14569 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14570 __extension__ extern __inline float16x4_t
14571 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u8(uint8x8_t __a)14572 vreinterpret_f16_u8 (uint8x8_t __a)
14573 {
14574   return (float16x4_t) __a;
14575 }
14576 #endif
14577 
14578 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14579 __extension__ extern __inline float16x4_t
14580 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u16(uint16x4_t __a)14581 vreinterpret_f16_u16 (uint16x4_t __a)
14582 {
14583   return (float16x4_t) __a;
14584 }
14585 #endif
14586 
14587 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14588 __extension__ extern __inline float16x4_t
14589 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u32(uint32x2_t __a)14590 vreinterpret_f16_u32 (uint32x2_t __a)
14591 {
14592   return (float16x4_t) __a;
14593 }
14594 #endif
14595 
14596 __extension__ extern __inline float32x2_t
14597 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_p8(poly8x8_t __a)14598 vreinterpret_f32_p8 (poly8x8_t __a)
14599 {
14600   return (float32x2_t)__a;
14601 }
14602 
14603 __extension__ extern __inline float32x2_t
14604 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_p16(poly16x4_t __a)14605 vreinterpret_f32_p16 (poly16x4_t __a)
14606 {
14607   return (float32x2_t)__a;
14608 }
14609 
14610 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14611 __extension__ extern __inline float32x2_t
14612 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_f16(float16x4_t __a)14613 vreinterpret_f32_f16 (float16x4_t __a)
14614 {
14615   return (float32x2_t) __a;
14616 }
14617 #endif
14618 
14619 #pragma GCC push_options
14620 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14621 __extension__ extern __inline float32x2_t
14622 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_p64(poly64x1_t __a)14623 vreinterpret_f32_p64 (poly64x1_t __a)
14624 {
14625   return (float32x2_t)__a;
14626 }
14627 
14628 #pragma GCC pop_options
14629 __extension__ extern __inline float32x2_t
14630 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s64(int64x1_t __a)14631 vreinterpret_f32_s64 (int64x1_t __a)
14632 {
14633   return (float32x2_t)__a;
14634 }
14635 
14636 __extension__ extern __inline float32x2_t
14637 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u64(uint64x1_t __a)14638 vreinterpret_f32_u64 (uint64x1_t __a)
14639 {
14640   return (float32x2_t)__a;
14641 }
14642 
14643 __extension__ extern __inline float32x2_t
14644 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s8(int8x8_t __a)14645 vreinterpret_f32_s8 (int8x8_t __a)
14646 {
14647   return (float32x2_t)__a;
14648 }
14649 
14650 __extension__ extern __inline float32x2_t
14651 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s16(int16x4_t __a)14652 vreinterpret_f32_s16 (int16x4_t __a)
14653 {
14654   return (float32x2_t)__a;
14655 }
14656 
14657 __extension__ extern __inline float32x2_t
14658 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s32(int32x2_t __a)14659 vreinterpret_f32_s32 (int32x2_t __a)
14660 {
14661   return (float32x2_t)__a;
14662 }
14663 
14664 __extension__ extern __inline float32x2_t
14665 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u8(uint8x8_t __a)14666 vreinterpret_f32_u8 (uint8x8_t __a)
14667 {
14668   return (float32x2_t)__a;
14669 }
14670 
14671 __extension__ extern __inline float32x2_t
14672 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u16(uint16x4_t __a)14673 vreinterpret_f32_u16 (uint16x4_t __a)
14674 {
14675   return (float32x2_t)__a;
14676 }
14677 
14678 __extension__ extern __inline float32x2_t
14679 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u32(uint32x2_t __a)14680 vreinterpret_f32_u32 (uint32x2_t __a)
14681 {
14682   return (float32x2_t)__a;
14683 }
14684 
14685 #pragma GCC push_options
14686 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14687 __extension__ extern __inline poly64x1_t
14688 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_p8(poly8x8_t __a)14689 vreinterpret_p64_p8 (poly8x8_t __a)
14690 {
14691   return (poly64x1_t)__a;
14692 }
14693 
14694 __extension__ extern __inline poly64x1_t
14695 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_p16(poly16x4_t __a)14696 vreinterpret_p64_p16 (poly16x4_t __a)
14697 {
14698   return (poly64x1_t)__a;
14699 }
14700 
14701 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14702 __extension__ extern __inline poly64x1_t
14703 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_f16(float16x4_t __a)14704 vreinterpret_p64_f16 (float16x4_t __a)
14705 {
14706   return (poly64x1_t) __a;
14707 }
14708 #endif
14709 
14710 __extension__ extern __inline poly64x1_t
14711 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_f32(float32x2_t __a)14712 vreinterpret_p64_f32 (float32x2_t __a)
14713 {
14714   return (poly64x1_t)__a;
14715 }
14716 
14717 __extension__ extern __inline poly64x1_t
14718 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s64(int64x1_t __a)14719 vreinterpret_p64_s64 (int64x1_t __a)
14720 {
14721   return (poly64x1_t)__a;
14722 }
14723 
14724 __extension__ extern __inline poly64x1_t
14725 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u64(uint64x1_t __a)14726 vreinterpret_p64_u64 (uint64x1_t __a)
14727 {
14728   return (poly64x1_t)__a;
14729 }
14730 
14731 __extension__ extern __inline poly64x1_t
14732 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s8(int8x8_t __a)14733 vreinterpret_p64_s8 (int8x8_t __a)
14734 {
14735   return (poly64x1_t)__a;
14736 }
14737 
14738 __extension__ extern __inline poly64x1_t
14739 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s16(int16x4_t __a)14740 vreinterpret_p64_s16 (int16x4_t __a)
14741 {
14742   return (poly64x1_t)__a;
14743 }
14744 
14745 __extension__ extern __inline poly64x1_t
14746 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s32(int32x2_t __a)14747 vreinterpret_p64_s32 (int32x2_t __a)
14748 {
14749   return (poly64x1_t)__a;
14750 }
14751 
14752 __extension__ extern __inline poly64x1_t
14753 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u8(uint8x8_t __a)14754 vreinterpret_p64_u8 (uint8x8_t __a)
14755 {
14756   return (poly64x1_t)__a;
14757 }
14758 
14759 __extension__ extern __inline poly64x1_t
14760 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u16(uint16x4_t __a)14761 vreinterpret_p64_u16 (uint16x4_t __a)
14762 {
14763   return (poly64x1_t)__a;
14764 }
14765 
14766 __extension__ extern __inline poly64x1_t
14767 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u32(uint32x2_t __a)14768 vreinterpret_p64_u32 (uint32x2_t __a)
14769 {
14770   return (poly64x1_t)__a;
14771 }
14772 
14773 #pragma GCC pop_options
14774 __extension__ extern __inline int64x1_t
14775 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_p8(poly8x8_t __a)14776 vreinterpret_s64_p8 (poly8x8_t __a)
14777 {
14778   return (int64x1_t)__a;
14779 }
14780 
14781 __extension__ extern __inline int64x1_t
14782 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_p16(poly16x4_t __a)14783 vreinterpret_s64_p16 (poly16x4_t __a)
14784 {
14785   return (int64x1_t)__a;
14786 }
14787 
14788 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14789 __extension__ extern __inline int64x1_t
14790 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_f16(float16x4_t __a)14791 vreinterpret_s64_f16 (float16x4_t __a)
14792 {
14793   return (int64x1_t) __a;
14794 }
14795 #endif
14796 
14797 __extension__ extern __inline int64x1_t
14798 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_f32(float32x2_t __a)14799 vreinterpret_s64_f32 (float32x2_t __a)
14800 {
14801   return (int64x1_t)__a;
14802 }
14803 
14804 #pragma GCC push_options
14805 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14806 __extension__ extern __inline int64x1_t
14807 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_p64(poly64x1_t __a)14808 vreinterpret_s64_p64 (poly64x1_t __a)
14809 {
14810   return (int64x1_t)__a;
14811 }
14812 
14813 #pragma GCC pop_options
14814 __extension__ extern __inline int64x1_t
14815 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u64(uint64x1_t __a)14816 vreinterpret_s64_u64 (uint64x1_t __a)
14817 {
14818   return (int64x1_t)__a;
14819 }
14820 
14821 __extension__ extern __inline int64x1_t
14822 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_s8(int8x8_t __a)14823 vreinterpret_s64_s8 (int8x8_t __a)
14824 {
14825   return (int64x1_t)__a;
14826 }
14827 
14828 __extension__ extern __inline int64x1_t
14829 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_s16(int16x4_t __a)14830 vreinterpret_s64_s16 (int16x4_t __a)
14831 {
14832   return (int64x1_t)__a;
14833 }
14834 
14835 __extension__ extern __inline int64x1_t
14836 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_s32(int32x2_t __a)14837 vreinterpret_s64_s32 (int32x2_t __a)
14838 {
14839   return (int64x1_t)__a;
14840 }
14841 
14842 __extension__ extern __inline int64x1_t
14843 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u8(uint8x8_t __a)14844 vreinterpret_s64_u8 (uint8x8_t __a)
14845 {
14846   return (int64x1_t)__a;
14847 }
14848 
14849 __extension__ extern __inline int64x1_t
14850 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u16(uint16x4_t __a)14851 vreinterpret_s64_u16 (uint16x4_t __a)
14852 {
14853   return (int64x1_t)__a;
14854 }
14855 
14856 __extension__ extern __inline int64x1_t
14857 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u32(uint32x2_t __a)14858 vreinterpret_s64_u32 (uint32x2_t __a)
14859 {
14860   return (int64x1_t)__a;
14861 }
14862 
14863 __extension__ extern __inline uint64x1_t
14864 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_p8(poly8x8_t __a)14865 vreinterpret_u64_p8 (poly8x8_t __a)
14866 {
14867   return (uint64x1_t)__a;
14868 }
14869 
14870 __extension__ extern __inline uint64x1_t
14871 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_p16(poly16x4_t __a)14872 vreinterpret_u64_p16 (poly16x4_t __a)
14873 {
14874   return (uint64x1_t)__a;
14875 }
14876 
14877 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14878 __extension__ extern __inline uint64x1_t
14879 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_f16(float16x4_t __a)14880 vreinterpret_u64_f16 (float16x4_t __a)
14881 {
14882   return (uint64x1_t) __a;
14883 }
14884 #endif
14885 
14886 __extension__ extern __inline uint64x1_t
14887 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_f32(float32x2_t __a)14888 vreinterpret_u64_f32 (float32x2_t __a)
14889 {
14890   return (uint64x1_t)__a;
14891 }
14892 
14893 #pragma GCC push_options
14894 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14895 __extension__ extern __inline uint64x1_t
14896 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_p64(poly64x1_t __a)14897 vreinterpret_u64_p64 (poly64x1_t __a)
14898 {
14899   return (uint64x1_t)__a;
14900 }
14901 
14902 #pragma GCC pop_options
14903 __extension__ extern __inline uint64x1_t
14904 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s64(int64x1_t __a)14905 vreinterpret_u64_s64 (int64x1_t __a)
14906 {
14907   return (uint64x1_t)__a;
14908 }
14909 
14910 __extension__ extern __inline uint64x1_t
14911 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s8(int8x8_t __a)14912 vreinterpret_u64_s8 (int8x8_t __a)
14913 {
14914   return (uint64x1_t)__a;
14915 }
14916 
14917 __extension__ extern __inline uint64x1_t
14918 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s16(int16x4_t __a)14919 vreinterpret_u64_s16 (int16x4_t __a)
14920 {
14921   return (uint64x1_t)__a;
14922 }
14923 
14924 __extension__ extern __inline uint64x1_t
14925 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s32(int32x2_t __a)14926 vreinterpret_u64_s32 (int32x2_t __a)
14927 {
14928   return (uint64x1_t)__a;
14929 }
14930 
14931 __extension__ extern __inline uint64x1_t
14932 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_u8(uint8x8_t __a)14933 vreinterpret_u64_u8 (uint8x8_t __a)
14934 {
14935   return (uint64x1_t)__a;
14936 }
14937 
14938 __extension__ extern __inline uint64x1_t
14939 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_u16(uint16x4_t __a)14940 vreinterpret_u64_u16 (uint16x4_t __a)
14941 {
14942   return (uint64x1_t)__a;
14943 }
14944 
14945 __extension__ extern __inline uint64x1_t
14946 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_u32(uint32x2_t __a)14947 vreinterpret_u64_u32 (uint32x2_t __a)
14948 {
14949   return (uint64x1_t)__a;
14950 }
14951 
14952 __extension__ extern __inline int8x8_t
14953 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_p8(poly8x8_t __a)14954 vreinterpret_s8_p8 (poly8x8_t __a)
14955 {
14956   return (int8x8_t)__a;
14957 }
14958 
14959 __extension__ extern __inline int8x8_t
14960 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_p16(poly16x4_t __a)14961 vreinterpret_s8_p16 (poly16x4_t __a)
14962 {
14963   return (int8x8_t)__a;
14964 }
14965 
14966 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14967 __extension__ extern __inline int8x8_t
14968 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_f16(float16x4_t __a)14969 vreinterpret_s8_f16 (float16x4_t __a)
14970 {
14971   return (int8x8_t) __a;
14972 }
14973 #endif
14974 
14975 __extension__ extern __inline int8x8_t
14976 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_f32(float32x2_t __a)14977 vreinterpret_s8_f32 (float32x2_t __a)
14978 {
14979   return (int8x8_t)__a;
14980 }
14981 
14982 #pragma GCC push_options
14983 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14984 __extension__ extern __inline int8x8_t
14985 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_p64(poly64x1_t __a)14986 vreinterpret_s8_p64 (poly64x1_t __a)
14987 {
14988   return (int8x8_t)__a;
14989 }
14990 
14991 #pragma GCC pop_options
14992 __extension__ extern __inline int8x8_t
14993 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_s64(int64x1_t __a)14994 vreinterpret_s8_s64 (int64x1_t __a)
14995 {
14996   return (int8x8_t)__a;
14997 }
14998 
14999 __extension__ extern __inline int8x8_t
15000 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u64(uint64x1_t __a)15001 vreinterpret_s8_u64 (uint64x1_t __a)
15002 {
15003   return (int8x8_t)__a;
15004 }
15005 
15006 __extension__ extern __inline int8x8_t
15007 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_s16(int16x4_t __a)15008 vreinterpret_s8_s16 (int16x4_t __a)
15009 {
15010   return (int8x8_t)__a;
15011 }
15012 
15013 __extension__ extern __inline int8x8_t
15014 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_s32(int32x2_t __a)15015 vreinterpret_s8_s32 (int32x2_t __a)
15016 {
15017   return (int8x8_t)__a;
15018 }
15019 
15020 __extension__ extern __inline int8x8_t
15021 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u8(uint8x8_t __a)15022 vreinterpret_s8_u8 (uint8x8_t __a)
15023 {
15024   return (int8x8_t)__a;
15025 }
15026 
15027 __extension__ extern __inline int8x8_t
15028 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u16(uint16x4_t __a)15029 vreinterpret_s8_u16 (uint16x4_t __a)
15030 {
15031   return (int8x8_t)__a;
15032 }
15033 
15034 __extension__ extern __inline int8x8_t
15035 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u32(uint32x2_t __a)15036 vreinterpret_s8_u32 (uint32x2_t __a)
15037 {
15038   return (int8x8_t)__a;
15039 }
15040 
15041 __extension__ extern __inline int16x4_t
15042 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_p8(poly8x8_t __a)15043 vreinterpret_s16_p8 (poly8x8_t __a)
15044 {
15045   return (int16x4_t)__a;
15046 }
15047 
15048 __extension__ extern __inline int16x4_t
15049 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_p16(poly16x4_t __a)15050 vreinterpret_s16_p16 (poly16x4_t __a)
15051 {
15052   return (int16x4_t)__a;
15053 }
15054 
15055 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15056 __extension__ extern __inline int16x4_t
15057 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_f16(float16x4_t __a)15058 vreinterpret_s16_f16 (float16x4_t __a)
15059 {
15060   return (int16x4_t) __a;
15061 }
15062 #endif
15063 
15064 __extension__ extern __inline int16x4_t
15065 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_f32(float32x2_t __a)15066 vreinterpret_s16_f32 (float32x2_t __a)
15067 {
15068   return (int16x4_t)__a;
15069 }
15070 
15071 #pragma GCC push_options
15072 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15073 __extension__ extern __inline int16x4_t
15074 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_p64(poly64x1_t __a)15075 vreinterpret_s16_p64 (poly64x1_t __a)
15076 {
15077   return (int16x4_t)__a;
15078 }
15079 
15080 #pragma GCC pop_options
15081 __extension__ extern __inline int16x4_t
15082 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_s64(int64x1_t __a)15083 vreinterpret_s16_s64 (int64x1_t __a)
15084 {
15085   return (int16x4_t)__a;
15086 }
15087 
15088 __extension__ extern __inline int16x4_t
15089 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u64(uint64x1_t __a)15090 vreinterpret_s16_u64 (uint64x1_t __a)
15091 {
15092   return (int16x4_t)__a;
15093 }
15094 
15095 __extension__ extern __inline int16x4_t
15096 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_s8(int8x8_t __a)15097 vreinterpret_s16_s8 (int8x8_t __a)
15098 {
15099   return (int16x4_t)__a;
15100 }
15101 
15102 __extension__ extern __inline int16x4_t
15103 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_s32(int32x2_t __a)15104 vreinterpret_s16_s32 (int32x2_t __a)
15105 {
15106   return (int16x4_t)__a;
15107 }
15108 
15109 __extension__ extern __inline int16x4_t
15110 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u8(uint8x8_t __a)15111 vreinterpret_s16_u8 (uint8x8_t __a)
15112 {
15113   return (int16x4_t)__a;
15114 }
15115 
15116 __extension__ extern __inline int16x4_t
15117 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u16(uint16x4_t __a)15118 vreinterpret_s16_u16 (uint16x4_t __a)
15119 {
15120   return (int16x4_t)__a;
15121 }
15122 
15123 __extension__ extern __inline int16x4_t
15124 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u32(uint32x2_t __a)15125 vreinterpret_s16_u32 (uint32x2_t __a)
15126 {
15127   return (int16x4_t)__a;
15128 }
15129 
15130 __extension__ extern __inline int32x2_t
15131 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_p8(poly8x8_t __a)15132 vreinterpret_s32_p8 (poly8x8_t __a)
15133 {
15134   return (int32x2_t)__a;
15135 }
15136 
15137 __extension__ extern __inline int32x2_t
15138 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_p16(poly16x4_t __a)15139 vreinterpret_s32_p16 (poly16x4_t __a)
15140 {
15141   return (int32x2_t)__a;
15142 }
15143 
15144 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15145 __extension__ extern __inline int32x2_t
15146 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_f16(float16x4_t __a)15147 vreinterpret_s32_f16 (float16x4_t __a)
15148 {
15149   return (int32x2_t) __a;
15150 }
15151 #endif
15152 
15153 __extension__ extern __inline int32x2_t
15154 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_f32(float32x2_t __a)15155 vreinterpret_s32_f32 (float32x2_t __a)
15156 {
15157   return (int32x2_t)__a;
15158 }
15159 
15160 #pragma GCC push_options
15161 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15162 __extension__ extern __inline int32x2_t
15163 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_p64(poly64x1_t __a)15164 vreinterpret_s32_p64 (poly64x1_t __a)
15165 {
15166   return (int32x2_t)__a;
15167 }
15168 
15169 #pragma GCC pop_options
15170 __extension__ extern __inline int32x2_t
15171 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_s64(int64x1_t __a)15172 vreinterpret_s32_s64 (int64x1_t __a)
15173 {
15174   return (int32x2_t)__a;
15175 }
15176 
15177 __extension__ extern __inline int32x2_t
15178 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u64(uint64x1_t __a)15179 vreinterpret_s32_u64 (uint64x1_t __a)
15180 {
15181   return (int32x2_t)__a;
15182 }
15183 
15184 __extension__ extern __inline int32x2_t
15185 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_s8(int8x8_t __a)15186 vreinterpret_s32_s8 (int8x8_t __a)
15187 {
15188   return (int32x2_t)__a;
15189 }
15190 
15191 __extension__ extern __inline int32x2_t
15192 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_s16(int16x4_t __a)15193 vreinterpret_s32_s16 (int16x4_t __a)
15194 {
15195   return (int32x2_t)__a;
15196 }
15197 
15198 __extension__ extern __inline int32x2_t
15199 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u8(uint8x8_t __a)15200 vreinterpret_s32_u8 (uint8x8_t __a)
15201 {
15202   return (int32x2_t)__a;
15203 }
15204 
15205 __extension__ extern __inline int32x2_t
15206 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u16(uint16x4_t __a)15207 vreinterpret_s32_u16 (uint16x4_t __a)
15208 {
15209   return (int32x2_t)__a;
15210 }
15211 
15212 __extension__ extern __inline int32x2_t
15213 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u32(uint32x2_t __a)15214 vreinterpret_s32_u32 (uint32x2_t __a)
15215 {
15216   return (int32x2_t)__a;
15217 }
15218 
15219 __extension__ extern __inline uint8x8_t
15220 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_p8(poly8x8_t __a)15221 vreinterpret_u8_p8 (poly8x8_t __a)
15222 {
15223   return (uint8x8_t)__a;
15224 }
15225 
15226 __extension__ extern __inline uint8x8_t
15227 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_p16(poly16x4_t __a)15228 vreinterpret_u8_p16 (poly16x4_t __a)
15229 {
15230   return (uint8x8_t)__a;
15231 }
15232 
15233 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15234 __extension__ extern __inline uint8x8_t
15235 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_f16(float16x4_t __a)15236 vreinterpret_u8_f16 (float16x4_t __a)
15237 {
15238   return (uint8x8_t) __a;
15239 }
15240 #endif
15241 
15242 __extension__ extern __inline uint8x8_t
15243 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_f32(float32x2_t __a)15244 vreinterpret_u8_f32 (float32x2_t __a)
15245 {
15246   return (uint8x8_t)__a;
15247 }
15248 
15249 #pragma GCC push_options
15250 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15251 __extension__ extern __inline uint8x8_t
15252 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_p64(poly64x1_t __a)15253 vreinterpret_u8_p64 (poly64x1_t __a)
15254 {
15255   return (uint8x8_t)__a;
15256 }
15257 
15258 #pragma GCC pop_options
15259 __extension__ extern __inline uint8x8_t
15260 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s64(int64x1_t __a)15261 vreinterpret_u8_s64 (int64x1_t __a)
15262 {
15263   return (uint8x8_t)__a;
15264 }
15265 
15266 __extension__ extern __inline uint8x8_t
15267 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_u64(uint64x1_t __a)15268 vreinterpret_u8_u64 (uint64x1_t __a)
15269 {
15270   return (uint8x8_t)__a;
15271 }
15272 
15273 __extension__ extern __inline uint8x8_t
15274 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s8(int8x8_t __a)15275 vreinterpret_u8_s8 (int8x8_t __a)
15276 {
15277   return (uint8x8_t)__a;
15278 }
15279 
15280 __extension__ extern __inline uint8x8_t
15281 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s16(int16x4_t __a)15282 vreinterpret_u8_s16 (int16x4_t __a)
15283 {
15284   return (uint8x8_t)__a;
15285 }
15286 
15287 __extension__ extern __inline uint8x8_t
15288 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s32(int32x2_t __a)15289 vreinterpret_u8_s32 (int32x2_t __a)
15290 {
15291   return (uint8x8_t)__a;
15292 }
15293 
15294 __extension__ extern __inline uint8x8_t
15295 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_u16(uint16x4_t __a)15296 vreinterpret_u8_u16 (uint16x4_t __a)
15297 {
15298   return (uint8x8_t)__a;
15299 }
15300 
15301 __extension__ extern __inline uint8x8_t
15302 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_u32(uint32x2_t __a)15303 vreinterpret_u8_u32 (uint32x2_t __a)
15304 {
15305   return (uint8x8_t)__a;
15306 }
15307 
15308 __extension__ extern __inline uint16x4_t
15309 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_p8(poly8x8_t __a)15310 vreinterpret_u16_p8 (poly8x8_t __a)
15311 {
15312   return (uint16x4_t)__a;
15313 }
15314 
15315 __extension__ extern __inline uint16x4_t
15316 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_p16(poly16x4_t __a)15317 vreinterpret_u16_p16 (poly16x4_t __a)
15318 {
15319   return (uint16x4_t)__a;
15320 }
15321 
15322 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15323 __extension__ extern __inline uint16x4_t
15324 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_f16(float16x4_t __a)15325 vreinterpret_u16_f16 (float16x4_t __a)
15326 {
15327   return (uint16x4_t) __a;
15328 }
15329 #endif
15330 
15331 __extension__ extern __inline uint16x4_t
15332 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_f32(float32x2_t __a)15333 vreinterpret_u16_f32 (float32x2_t __a)
15334 {
15335   return (uint16x4_t)__a;
15336 }
15337 
15338 #pragma GCC push_options
15339 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15340 __extension__ extern __inline uint16x4_t
15341 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_p64(poly64x1_t __a)15342 vreinterpret_u16_p64 (poly64x1_t __a)
15343 {
15344   return (uint16x4_t)__a;
15345 }
15346 
15347 #pragma GCC pop_options
15348 __extension__ extern __inline uint16x4_t
15349 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s64(int64x1_t __a)15350 vreinterpret_u16_s64 (int64x1_t __a)
15351 {
15352   return (uint16x4_t)__a;
15353 }
15354 
15355 __extension__ extern __inline uint16x4_t
15356 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_u64(uint64x1_t __a)15357 vreinterpret_u16_u64 (uint64x1_t __a)
15358 {
15359   return (uint16x4_t)__a;
15360 }
15361 
15362 __extension__ extern __inline uint16x4_t
15363 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s8(int8x8_t __a)15364 vreinterpret_u16_s8 (int8x8_t __a)
15365 {
15366   return (uint16x4_t)__a;
15367 }
15368 
15369 __extension__ extern __inline uint16x4_t
15370 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s16(int16x4_t __a)15371 vreinterpret_u16_s16 (int16x4_t __a)
15372 {
15373   return (uint16x4_t)__a;
15374 }
15375 
15376 __extension__ extern __inline uint16x4_t
15377 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s32(int32x2_t __a)15378 vreinterpret_u16_s32 (int32x2_t __a)
15379 {
15380   return (uint16x4_t)__a;
15381 }
15382 
15383 __extension__ extern __inline uint16x4_t
15384 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_u8(uint8x8_t __a)15385 vreinterpret_u16_u8 (uint8x8_t __a)
15386 {
15387   return (uint16x4_t)__a;
15388 }
15389 
15390 __extension__ extern __inline uint16x4_t
15391 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_u32(uint32x2_t __a)15392 vreinterpret_u16_u32 (uint32x2_t __a)
15393 {
15394   return (uint16x4_t)__a;
15395 }
15396 
15397 __extension__ extern __inline uint32x2_t
15398 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_p8(poly8x8_t __a)15399 vreinterpret_u32_p8 (poly8x8_t __a)
15400 {
15401   return (uint32x2_t)__a;
15402 }
15403 
15404 __extension__ extern __inline uint32x2_t
15405 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_p16(poly16x4_t __a)15406 vreinterpret_u32_p16 (poly16x4_t __a)
15407 {
15408   return (uint32x2_t)__a;
15409 }
15410 
15411 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15412 __extension__ extern __inline uint32x2_t
15413 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_f16(float16x4_t __a)15414 vreinterpret_u32_f16 (float16x4_t __a)
15415 {
15416   return (uint32x2_t) __a;
15417 }
15418 #endif
15419 
15420 __extension__ extern __inline uint32x2_t
15421 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_f32(float32x2_t __a)15422 vreinterpret_u32_f32 (float32x2_t __a)
15423 {
15424   return (uint32x2_t)__a;
15425 }
15426 
15427 #pragma GCC push_options
15428 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15429 __extension__ extern __inline uint32x2_t
15430 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_p64(poly64x1_t __a)15431 vreinterpret_u32_p64 (poly64x1_t __a)
15432 {
15433   return (uint32x2_t)__a;
15434 }
15435 
15436 #pragma GCC pop_options
15437 __extension__ extern __inline uint32x2_t
15438 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s64(int64x1_t __a)15439 vreinterpret_u32_s64 (int64x1_t __a)
15440 {
15441   return (uint32x2_t)__a;
15442 }
15443 
15444 __extension__ extern __inline uint32x2_t
15445 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_u64(uint64x1_t __a)15446 vreinterpret_u32_u64 (uint64x1_t __a)
15447 {
15448   return (uint32x2_t)__a;
15449 }
15450 
15451 __extension__ extern __inline uint32x2_t
15452 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s8(int8x8_t __a)15453 vreinterpret_u32_s8 (int8x8_t __a)
15454 {
15455   return (uint32x2_t)__a;
15456 }
15457 
15458 __extension__ extern __inline uint32x2_t
15459 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s16(int16x4_t __a)15460 vreinterpret_u32_s16 (int16x4_t __a)
15461 {
15462   return (uint32x2_t)__a;
15463 }
15464 
15465 __extension__ extern __inline uint32x2_t
15466 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s32(int32x2_t __a)15467 vreinterpret_u32_s32 (int32x2_t __a)
15468 {
15469   return (uint32x2_t)__a;
15470 }
15471 
15472 __extension__ extern __inline uint32x2_t
15473 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_u8(uint8x8_t __a)15474 vreinterpret_u32_u8 (uint8x8_t __a)
15475 {
15476   return (uint32x2_t)__a;
15477 }
15478 
15479 __extension__ extern __inline uint32x2_t
15480 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_u16(uint16x4_t __a)15481 vreinterpret_u32_u16 (uint16x4_t __a)
15482 {
15483   return (uint32x2_t)__a;
15484 }
15485 
15486 __extension__ extern __inline poly8x16_t
15487 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_p16(poly16x8_t __a)15488 vreinterpretq_p8_p16 (poly16x8_t __a)
15489 {
15490   return (poly8x16_t)__a;
15491 }
15492 
15493 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15494 __extension__ extern __inline poly8x16_t
15495 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_f16(float16x8_t __a)15496 vreinterpretq_p8_f16 (float16x8_t __a)
15497 {
15498   return (poly8x16_t) __a;
15499 }
15500 #endif
15501 
15502 __extension__ extern __inline poly8x16_t
15503 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_f32(float32x4_t __a)15504 vreinterpretq_p8_f32 (float32x4_t __a)
15505 {
15506   return (poly8x16_t)__a;
15507 }
15508 
15509 #pragma GCC push_options
15510 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15511 __extension__ extern __inline poly8x16_t
15512 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_p64(poly64x2_t __a)15513 vreinterpretq_p8_p64 (poly64x2_t __a)
15514 {
15515   return (poly8x16_t)__a;
15516 }
15517 
15518 
15519 __extension__ extern __inline poly8x16_t
15520 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_p128(poly128_t __a)15521 vreinterpretq_p8_p128 (poly128_t __a)
15522 {
15523   return (poly8x16_t)__a;
15524 }
15525 
15526 #pragma GCC pop_options
15527 __extension__ extern __inline poly8x16_t
15528 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s64(int64x2_t __a)15529 vreinterpretq_p8_s64 (int64x2_t __a)
15530 {
15531   return (poly8x16_t)__a;
15532 }
15533 
15534 __extension__ extern __inline poly8x16_t
15535 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u64(uint64x2_t __a)15536 vreinterpretq_p8_u64 (uint64x2_t __a)
15537 {
15538   return (poly8x16_t)__a;
15539 }
15540 
15541 __extension__ extern __inline poly8x16_t
15542 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s8(int8x16_t __a)15543 vreinterpretq_p8_s8 (int8x16_t __a)
15544 {
15545   return (poly8x16_t)__a;
15546 }
15547 
15548 __extension__ extern __inline poly8x16_t
15549 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s16(int16x8_t __a)15550 vreinterpretq_p8_s16 (int16x8_t __a)
15551 {
15552   return (poly8x16_t)__a;
15553 }
15554 
15555 __extension__ extern __inline poly8x16_t
15556 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s32(int32x4_t __a)15557 vreinterpretq_p8_s32 (int32x4_t __a)
15558 {
15559   return (poly8x16_t)__a;
15560 }
15561 
15562 __extension__ extern __inline poly8x16_t
15563 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u8(uint8x16_t __a)15564 vreinterpretq_p8_u8 (uint8x16_t __a)
15565 {
15566   return (poly8x16_t)__a;
15567 }
15568 
15569 __extension__ extern __inline poly8x16_t
15570 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u16(uint16x8_t __a)15571 vreinterpretq_p8_u16 (uint16x8_t __a)
15572 {
15573   return (poly8x16_t)__a;
15574 }
15575 
15576 __extension__ extern __inline poly8x16_t
15577 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u32(uint32x4_t __a)15578 vreinterpretq_p8_u32 (uint32x4_t __a)
15579 {
15580   return (poly8x16_t)__a;
15581 }
15582 
15583 __extension__ extern __inline poly16x8_t
15584 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_p8(poly8x16_t __a)15585 vreinterpretq_p16_p8 (poly8x16_t __a)
15586 {
15587   return (poly16x8_t)__a;
15588 }
15589 
15590 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15591 __extension__ extern __inline poly16x8_t
15592 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_f16(float16x8_t __a)15593 vreinterpretq_p16_f16 (float16x8_t __a)
15594 {
15595   return (poly16x8_t) __a;
15596 }
15597 #endif
15598 
15599 __extension__ extern __inline poly16x8_t
15600 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_f32(float32x4_t __a)15601 vreinterpretq_p16_f32 (float32x4_t __a)
15602 {
15603   return (poly16x8_t)__a;
15604 }
15605 
15606 #pragma GCC push_options
15607 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15608 __extension__ extern __inline poly16x8_t
15609 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_p64(poly64x2_t __a)15610 vreinterpretq_p16_p64 (poly64x2_t __a)
15611 {
15612   return (poly16x8_t)__a;
15613 }
15614 
15615 __extension__ extern __inline poly16x8_t
15616 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_p128(poly128_t __a)15617 vreinterpretq_p16_p128 (poly128_t __a)
15618 {
15619   return (poly16x8_t)__a;
15620 }
15621 
15622 #pragma GCC pop_options
15623 __extension__ extern __inline poly16x8_t
15624 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s64(int64x2_t __a)15625 vreinterpretq_p16_s64 (int64x2_t __a)
15626 {
15627   return (poly16x8_t)__a;
15628 }
15629 
15630 __extension__ extern __inline poly16x8_t
15631 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u64(uint64x2_t __a)15632 vreinterpretq_p16_u64 (uint64x2_t __a)
15633 {
15634   return (poly16x8_t)__a;
15635 }
15636 
15637 __extension__ extern __inline poly16x8_t
15638 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s8(int8x16_t __a)15639 vreinterpretq_p16_s8 (int8x16_t __a)
15640 {
15641   return (poly16x8_t)__a;
15642 }
15643 
15644 __extension__ extern __inline poly16x8_t
15645 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s16(int16x8_t __a)15646 vreinterpretq_p16_s16 (int16x8_t __a)
15647 {
15648   return (poly16x8_t)__a;
15649 }
15650 
15651 __extension__ extern __inline poly16x8_t
15652 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s32(int32x4_t __a)15653 vreinterpretq_p16_s32 (int32x4_t __a)
15654 {
15655   return (poly16x8_t)__a;
15656 }
15657 
15658 __extension__ extern __inline poly16x8_t
15659 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u8(uint8x16_t __a)15660 vreinterpretq_p16_u8 (uint8x16_t __a)
15661 {
15662   return (poly16x8_t)__a;
15663 }
15664 
15665 __extension__ extern __inline poly16x8_t
15666 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u16(uint16x8_t __a)15667 vreinterpretq_p16_u16 (uint16x8_t __a)
15668 {
15669   return (poly16x8_t)__a;
15670 }
15671 
15672 __extension__ extern __inline poly16x8_t
15673 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u32(uint32x4_t __a)15674 vreinterpretq_p16_u32 (uint32x4_t __a)
15675 {
15676   return (poly16x8_t)__a;
15677 }
15678 
15679 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15680 __extension__ extern __inline float16x8_t
15681 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p8(poly8x16_t __a)15682 vreinterpretq_f16_p8 (poly8x16_t __a)
15683 {
15684   return (float16x8_t) __a;
15685 }
15686 #endif
15687 
15688 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15689 __extension__ extern __inline float16x8_t
15690 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p16(poly16x8_t __a)15691 vreinterpretq_f16_p16 (poly16x8_t __a)
15692 {
15693   return (float16x8_t) __a;
15694 }
15695 #endif
15696 
15697 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15698 __extension__ extern __inline float16x8_t
15699 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_bf16(bfloat16x8_t __a)15700 vreinterpretq_f16_bf16 (bfloat16x8_t __a)
15701 {
15702   return (float16x8_t) __a;
15703 }
15704 #endif
15705 
15706 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15707 __extension__ extern __inline float16x8_t
15708 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_f32(float32x4_t __a)15709 vreinterpretq_f16_f32 (float32x4_t __a)
15710 {
15711   return (float16x8_t) __a;
15712 }
15713 #endif
15714 
15715 #pragma GCC push_options
15716 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15717 
15718 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15719 __extension__ extern __inline float16x8_t
15720 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p64(poly64x2_t __a)15721 vreinterpretq_f16_p64 (poly64x2_t __a)
15722 {
15723   return (float16x8_t) __a;
15724 }
15725 #endif
15726 
15727 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15728 __extension__ extern __inline float16x8_t
15729 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p128(poly128_t __a)15730 vreinterpretq_f16_p128 (poly128_t __a)
15731 {
15732   return (float16x8_t) __a;
15733 }
15734 #endif
15735 
15736 #pragma GCC pop_options
15737 
15738 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15739 __extension__ extern __inline float16x8_t
15740 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s64(int64x2_t __a)15741 vreinterpretq_f16_s64 (int64x2_t __a)
15742 {
15743   return (float16x8_t) __a;
15744 }
15745 #endif
15746 
15747 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15748 __extension__ extern __inline float16x8_t
15749 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u64(uint64x2_t __a)15750 vreinterpretq_f16_u64 (uint64x2_t __a)
15751 {
15752   return (float16x8_t) __a;
15753 }
15754 #endif
15755 
15756 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15757 __extension__ extern __inline float16x8_t
15758 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s8(int8x16_t __a)15759 vreinterpretq_f16_s8 (int8x16_t __a)
15760 {
15761   return (float16x8_t) __a;
15762 }
15763 #endif
15764 
15765 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15766 __extension__ extern __inline float16x8_t
15767 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s16(int16x8_t __a)15768 vreinterpretq_f16_s16 (int16x8_t __a)
15769 {
15770   return (float16x8_t) __a;
15771 }
15772 #endif
15773 
15774 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15775 __extension__ extern __inline float16x8_t
15776 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s32(int32x4_t __a)15777 vreinterpretq_f16_s32 (int32x4_t __a)
15778 {
15779   return (float16x8_t) __a;
15780 }
15781 #endif
15782 
15783 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15784 __extension__ extern __inline float16x8_t
15785 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u8(uint8x16_t __a)15786 vreinterpretq_f16_u8 (uint8x16_t __a)
15787 {
15788   return (float16x8_t) __a;
15789 }
15790 #endif
15791 
15792 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15793 __extension__ extern __inline float16x8_t
15794 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u16(uint16x8_t __a)15795 vreinterpretq_f16_u16 (uint16x8_t __a)
15796 {
15797   return (float16x8_t) __a;
15798 }
15799 #endif
15800 
15801 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15802 __extension__ extern __inline float16x8_t
15803 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u32(uint32x4_t __a)15804 vreinterpretq_f16_u32 (uint32x4_t __a)
15805 {
15806   return (float16x8_t) __a;
15807 }
15808 #endif
15809 
15810 __extension__ extern __inline float32x4_t
15811 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p8(poly8x16_t __a)15812 vreinterpretq_f32_p8 (poly8x16_t __a)
15813 {
15814   return (float32x4_t)__a;
15815 }
15816 
15817 __extension__ extern __inline float32x4_t
15818 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p16(poly16x8_t __a)15819 vreinterpretq_f32_p16 (poly16x8_t __a)
15820 {
15821   return (float32x4_t)__a;
15822 }
15823 
15824 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15825 __extension__ extern __inline float32x4_t
15826 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_f16(float16x8_t __a)15827 vreinterpretq_f32_f16 (float16x8_t __a)
15828 {
15829   return (float32x4_t) __a;
15830 }
15831 #endif
15832 
15833 #pragma GCC push_options
15834 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15835 __extension__ extern __inline float32x4_t
15836 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p64(poly64x2_t __a)15837 vreinterpretq_f32_p64 (poly64x2_t __a)
15838 {
15839   return (float32x4_t)__a;
15840 }
15841 
15842 __extension__ extern __inline float32x4_t
15843 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p128(poly128_t __a)15844 vreinterpretq_f32_p128 (poly128_t __a)
15845 {
15846   return (float32x4_t)__a;
15847 }
15848 
15849 #pragma GCC pop_options
15850 __extension__ extern __inline float32x4_t
15851 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s64(int64x2_t __a)15852 vreinterpretq_f32_s64 (int64x2_t __a)
15853 {
15854   return (float32x4_t)__a;
15855 }
15856 
15857 __extension__ extern __inline float32x4_t
15858 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u64(uint64x2_t __a)15859 vreinterpretq_f32_u64 (uint64x2_t __a)
15860 {
15861   return (float32x4_t)__a;
15862 }
15863 
15864 __extension__ extern __inline float32x4_t
15865 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s8(int8x16_t __a)15866 vreinterpretq_f32_s8 (int8x16_t __a)
15867 {
15868   return (float32x4_t)__a;
15869 }
15870 
15871 __extension__ extern __inline float32x4_t
15872 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s16(int16x8_t __a)15873 vreinterpretq_f32_s16 (int16x8_t __a)
15874 {
15875   return (float32x4_t)__a;
15876 }
15877 
15878 __extension__ extern __inline float32x4_t
15879 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s32(int32x4_t __a)15880 vreinterpretq_f32_s32 (int32x4_t __a)
15881 {
15882   return (float32x4_t)__a;
15883 }
15884 
15885 __extension__ extern __inline float32x4_t
15886 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u8(uint8x16_t __a)15887 vreinterpretq_f32_u8 (uint8x16_t __a)
15888 {
15889   return (float32x4_t)__a;
15890 }
15891 
15892 __extension__ extern __inline float32x4_t
15893 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u16(uint16x8_t __a)15894 vreinterpretq_f32_u16 (uint16x8_t __a)
15895 {
15896   return (float32x4_t)__a;
15897 }
15898 
15899 __extension__ extern __inline float32x4_t
15900 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u32(uint32x4_t __a)15901 vreinterpretq_f32_u32 (uint32x4_t __a)
15902 {
15903   return (float32x4_t)__a;
15904 }
15905 
15906 #pragma GCC push_options
15907 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15908 __extension__ extern __inline poly64x2_t
15909 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_p8(poly8x16_t __a)15910 vreinterpretq_p64_p8 (poly8x16_t __a)
15911 {
15912   return (poly64x2_t)__a;
15913 }
15914 
15915 __extension__ extern __inline poly64x2_t
15916 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_p16(poly16x8_t __a)15917 vreinterpretq_p64_p16 (poly16x8_t __a)
15918 {
15919   return (poly64x2_t)__a;
15920 }
15921 
15922 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15923 __extension__ extern __inline poly64x2_t
15924 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_f16(float16x8_t __a)15925 vreinterpretq_p64_f16 (float16x8_t __a)
15926 {
15927   return (poly64x2_t) __a;
15928 }
15929 #endif
15930 
15931 __extension__ extern __inline poly64x2_t
15932 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_f32(float32x4_t __a)15933 vreinterpretq_p64_f32 (float32x4_t __a)
15934 {
15935   return (poly64x2_t)__a;
15936 }
15937 
15938 __extension__ extern __inline poly64x2_t
15939 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_p128(poly128_t __a)15940 vreinterpretq_p64_p128 (poly128_t __a)
15941 {
15942   return (poly64x2_t)__a;
15943 }
15944 
15945 __extension__ extern __inline poly64x2_t
15946 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s64(int64x2_t __a)15947 vreinterpretq_p64_s64 (int64x2_t __a)
15948 {
15949   return (poly64x2_t)__a;
15950 }
15951 
15952 __extension__ extern __inline poly64x2_t
15953 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u64(uint64x2_t __a)15954 vreinterpretq_p64_u64 (uint64x2_t __a)
15955 {
15956   return (poly64x2_t)__a;
15957 }
15958 
15959 __extension__ extern __inline poly64x2_t
15960 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s8(int8x16_t __a)15961 vreinterpretq_p64_s8 (int8x16_t __a)
15962 {
15963   return (poly64x2_t)__a;
15964 }
15965 
15966 __extension__ extern __inline poly64x2_t
15967 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s16(int16x8_t __a)15968 vreinterpretq_p64_s16 (int16x8_t __a)
15969 {
15970   return (poly64x2_t)__a;
15971 }
15972 
15973 __extension__ extern __inline poly64x2_t
15974 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s32(int32x4_t __a)15975 vreinterpretq_p64_s32 (int32x4_t __a)
15976 {
15977   return (poly64x2_t)__a;
15978 }
15979 
15980 __extension__ extern __inline poly64x2_t
15981 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u8(uint8x16_t __a)15982 vreinterpretq_p64_u8 (uint8x16_t __a)
15983 {
15984   return (poly64x2_t)__a;
15985 }
15986 
15987 __extension__ extern __inline poly64x2_t
15988 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u16(uint16x8_t __a)15989 vreinterpretq_p64_u16 (uint16x8_t __a)
15990 {
15991   return (poly64x2_t)__a;
15992 }
15993 
15994 __extension__ extern __inline poly64x2_t
15995 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u32(uint32x4_t __a)15996 vreinterpretq_p64_u32 (uint32x4_t __a)
15997 {
15998   return (poly64x2_t)__a;
15999 }
16000 
16001 __extension__ extern __inline poly128_t
16002 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_p8(poly8x16_t __a)16003 vreinterpretq_p128_p8 (poly8x16_t __a)
16004 {
16005   return (poly128_t)__a;
16006 }
16007 
16008 __extension__ extern __inline poly128_t
16009 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_p16(poly16x8_t __a)16010 vreinterpretq_p128_p16 (poly16x8_t __a)
16011 {
16012   return (poly128_t)__a;
16013 }
16014 
16015 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16016 __extension__ extern __inline poly128_t
16017 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_f16(float16x8_t __a)16018 vreinterpretq_p128_f16 (float16x8_t __a)
16019 {
16020   return (poly128_t) __a;
16021 }
16022 #endif
16023 
16024 __extension__ extern __inline poly128_t
16025 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_f32(float32x4_t __a)16026 vreinterpretq_p128_f32 (float32x4_t __a)
16027 {
16028   return (poly128_t)__a;
16029 }
16030 
16031 __extension__ extern __inline poly128_t
16032 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_p64(poly64x2_t __a)16033 vreinterpretq_p128_p64 (poly64x2_t __a)
16034 {
16035   return (poly128_t)__a;
16036 }
16037 
16038 __extension__ extern __inline poly128_t
16039 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s64(int64x2_t __a)16040 vreinterpretq_p128_s64 (int64x2_t __a)
16041 {
16042   return (poly128_t)__a;
16043 }
16044 
16045 __extension__ extern __inline poly128_t
16046 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u64(uint64x2_t __a)16047 vreinterpretq_p128_u64 (uint64x2_t __a)
16048 {
16049   return (poly128_t)__a;
16050 }
16051 
16052 __extension__ extern __inline poly128_t
16053 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s8(int8x16_t __a)16054 vreinterpretq_p128_s8 (int8x16_t __a)
16055 {
16056   return (poly128_t)__a;
16057 }
16058 
16059 __extension__ extern __inline poly128_t
16060 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s16(int16x8_t __a)16061 vreinterpretq_p128_s16 (int16x8_t __a)
16062 {
16063   return (poly128_t)__a;
16064 }
16065 
16066 __extension__ extern __inline poly128_t
16067 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s32(int32x4_t __a)16068 vreinterpretq_p128_s32 (int32x4_t __a)
16069 {
16070   return (poly128_t)__a;
16071 }
16072 
16073 __extension__ extern __inline poly128_t
16074 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u8(uint8x16_t __a)16075 vreinterpretq_p128_u8 (uint8x16_t __a)
16076 {
16077   return (poly128_t)__a;
16078 }
16079 
16080 __extension__ extern __inline poly128_t
16081 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u16(uint16x8_t __a)16082 vreinterpretq_p128_u16 (uint16x8_t __a)
16083 {
16084   return (poly128_t)__a;
16085 }
16086 
16087 __extension__ extern __inline poly128_t
16088 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u32(uint32x4_t __a)16089 vreinterpretq_p128_u32 (uint32x4_t __a)
16090 {
16091   return (poly128_t)__a;
16092 }
16093 
16094 #pragma GCC pop_options
16095 __extension__ extern __inline int64x2_t
16096 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p8(poly8x16_t __a)16097 vreinterpretq_s64_p8 (poly8x16_t __a)
16098 {
16099   return (int64x2_t)__a;
16100 }
16101 
16102 __extension__ extern __inline int64x2_t
16103 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p16(poly16x8_t __a)16104 vreinterpretq_s64_p16 (poly16x8_t __a)
16105 {
16106   return (int64x2_t)__a;
16107 }
16108 
16109 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16110 __extension__ extern __inline int64x2_t
16111 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_f16(float16x8_t __a)16112 vreinterpretq_s64_f16 (float16x8_t __a)
16113 {
16114   return (int64x2_t) __a;
16115 }
16116 #endif
16117 
16118 __extension__ extern __inline int64x2_t
16119 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_f32(float32x4_t __a)16120 vreinterpretq_s64_f32 (float32x4_t __a)
16121 {
16122   return (int64x2_t)__a;
16123 }
16124 
16125 #pragma GCC push_options
16126 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16127 __extension__ extern __inline int64x2_t
16128 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p64(poly64x2_t __a)16129 vreinterpretq_s64_p64 (poly64x2_t __a)
16130 {
16131   return (int64x2_t)__a;
16132 }
16133 
16134 __extension__ extern __inline int64x2_t
16135 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p128(poly128_t __a)16136 vreinterpretq_s64_p128 (poly128_t __a)
16137 {
16138   return (int64x2_t)__a;
16139 }
16140 
16141 #pragma GCC pop_options
16142 __extension__ extern __inline int64x2_t
16143 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u64(uint64x2_t __a)16144 vreinterpretq_s64_u64 (uint64x2_t __a)
16145 {
16146   return (int64x2_t)__a;
16147 }
16148 
16149 __extension__ extern __inline int64x2_t
16150 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_s8(int8x16_t __a)16151 vreinterpretq_s64_s8 (int8x16_t __a)
16152 {
16153   return (int64x2_t)__a;
16154 }
16155 
16156 __extension__ extern __inline int64x2_t
16157 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_s16(int16x8_t __a)16158 vreinterpretq_s64_s16 (int16x8_t __a)
16159 {
16160   return (int64x2_t)__a;
16161 }
16162 
16163 __extension__ extern __inline int64x2_t
16164 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_s32(int32x4_t __a)16165 vreinterpretq_s64_s32 (int32x4_t __a)
16166 {
16167   return (int64x2_t)__a;
16168 }
16169 
16170 __extension__ extern __inline int64x2_t
16171 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u8(uint8x16_t __a)16172 vreinterpretq_s64_u8 (uint8x16_t __a)
16173 {
16174   return (int64x2_t)__a;
16175 }
16176 
16177 __extension__ extern __inline int64x2_t
16178 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u16(uint16x8_t __a)16179 vreinterpretq_s64_u16 (uint16x8_t __a)
16180 {
16181   return (int64x2_t)__a;
16182 }
16183 
16184 __extension__ extern __inline int64x2_t
16185 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u32(uint32x4_t __a)16186 vreinterpretq_s64_u32 (uint32x4_t __a)
16187 {
16188   return (int64x2_t)__a;
16189 }
16190 
16191 __extension__ extern __inline uint64x2_t
16192 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p8(poly8x16_t __a)16193 vreinterpretq_u64_p8 (poly8x16_t __a)
16194 {
16195   return (uint64x2_t)__a;
16196 }
16197 
16198 __extension__ extern __inline uint64x2_t
16199 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p16(poly16x8_t __a)16200 vreinterpretq_u64_p16 (poly16x8_t __a)
16201 {
16202   return (uint64x2_t)__a;
16203 }
16204 
16205 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16206 __extension__ extern __inline uint64x2_t
16207 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_f16(float16x8_t __a)16208 vreinterpretq_u64_f16 (float16x8_t __a)
16209 {
16210   return (uint64x2_t) __a;
16211 }
16212 #endif
16213 
16214 __extension__ extern __inline uint64x2_t
16215 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_f32(float32x4_t __a)16216 vreinterpretq_u64_f32 (float32x4_t __a)
16217 {
16218   return (uint64x2_t)__a;
16219 }
16220 
16221 #pragma GCC push_options
16222 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16223 __extension__ extern __inline uint64x2_t
16224 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p64(poly64x2_t __a)16225 vreinterpretq_u64_p64 (poly64x2_t __a)
16226 {
16227   return (uint64x2_t)__a;
16228 }
16229 
16230 __extension__ extern __inline uint64x2_t
16231 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p128(poly128_t __a)16232 vreinterpretq_u64_p128 (poly128_t __a)
16233 {
16234   return (uint64x2_t)__a;
16235 }
16236 
16237 #pragma GCC pop_options
16238 __extension__ extern __inline uint64x2_t
16239 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s64(int64x2_t __a)16240 vreinterpretq_u64_s64 (int64x2_t __a)
16241 {
16242   return (uint64x2_t)__a;
16243 }
16244 
16245 __extension__ extern __inline uint64x2_t
16246 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s8(int8x16_t __a)16247 vreinterpretq_u64_s8 (int8x16_t __a)
16248 {
16249   return (uint64x2_t)__a;
16250 }
16251 
16252 __extension__ extern __inline uint64x2_t
16253 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s16(int16x8_t __a)16254 vreinterpretq_u64_s16 (int16x8_t __a)
16255 {
16256   return (uint64x2_t)__a;
16257 }
16258 
16259 __extension__ extern __inline uint64x2_t
16260 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s32(int32x4_t __a)16261 vreinterpretq_u64_s32 (int32x4_t __a)
16262 {
16263   return (uint64x2_t)__a;
16264 }
16265 
16266 __extension__ extern __inline uint64x2_t
16267 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_u8(uint8x16_t __a)16268 vreinterpretq_u64_u8 (uint8x16_t __a)
16269 {
16270   return (uint64x2_t)__a;
16271 }
16272 
16273 __extension__ extern __inline uint64x2_t
16274 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_u16(uint16x8_t __a)16275 vreinterpretq_u64_u16 (uint16x8_t __a)
16276 {
16277   return (uint64x2_t)__a;
16278 }
16279 
16280 __extension__ extern __inline uint64x2_t
16281 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_u32(uint32x4_t __a)16282 vreinterpretq_u64_u32 (uint32x4_t __a)
16283 {
16284   return (uint64x2_t)__a;
16285 }
16286 
16287 __extension__ extern __inline int8x16_t
16288 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p8(poly8x16_t __a)16289 vreinterpretq_s8_p8 (poly8x16_t __a)
16290 {
16291   return (int8x16_t)__a;
16292 }
16293 
16294 __extension__ extern __inline int8x16_t
16295 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p16(poly16x8_t __a)16296 vreinterpretq_s8_p16 (poly16x8_t __a)
16297 {
16298   return (int8x16_t)__a;
16299 }
16300 
16301 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16302 __extension__ extern __inline int8x16_t
16303 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_f16(float16x8_t __a)16304 vreinterpretq_s8_f16 (float16x8_t __a)
16305 {
16306   return (int8x16_t) __a;
16307 }
16308 #endif
16309 
16310 __extension__ extern __inline int8x16_t
16311 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_f32(float32x4_t __a)16312 vreinterpretq_s8_f32 (float32x4_t __a)
16313 {
16314   return (int8x16_t)__a;
16315 }
16316 
16317 #pragma GCC push_options
16318 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16319 __extension__ extern __inline int8x16_t
16320 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p64(poly64x2_t __a)16321 vreinterpretq_s8_p64 (poly64x2_t __a)
16322 {
16323   return (int8x16_t)__a;
16324 }
16325 
16326 __extension__ extern __inline int8x16_t
16327 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p128(poly128_t __a)16328 vreinterpretq_s8_p128 (poly128_t __a)
16329 {
16330   return (int8x16_t)__a;
16331 }
16332 
16333 #pragma GCC pop_options
16334 __extension__ extern __inline int8x16_t
16335 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_s64(int64x2_t __a)16336 vreinterpretq_s8_s64 (int64x2_t __a)
16337 {
16338   return (int8x16_t)__a;
16339 }
16340 
16341 __extension__ extern __inline int8x16_t
16342 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u64(uint64x2_t __a)16343 vreinterpretq_s8_u64 (uint64x2_t __a)
16344 {
16345   return (int8x16_t)__a;
16346 }
16347 
16348 __extension__ extern __inline int8x16_t
16349 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_s16(int16x8_t __a)16350 vreinterpretq_s8_s16 (int16x8_t __a)
16351 {
16352   return (int8x16_t)__a;
16353 }
16354 
16355 __extension__ extern __inline int8x16_t
16356 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_s32(int32x4_t __a)16357 vreinterpretq_s8_s32 (int32x4_t __a)
16358 {
16359   return (int8x16_t)__a;
16360 }
16361 
16362 __extension__ extern __inline int8x16_t
16363 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u8(uint8x16_t __a)16364 vreinterpretq_s8_u8 (uint8x16_t __a)
16365 {
16366   return (int8x16_t)__a;
16367 }
16368 
16369 __extension__ extern __inline int8x16_t
16370 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u16(uint16x8_t __a)16371 vreinterpretq_s8_u16 (uint16x8_t __a)
16372 {
16373   return (int8x16_t)__a;
16374 }
16375 
16376 __extension__ extern __inline int8x16_t
16377 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u32(uint32x4_t __a)16378 vreinterpretq_s8_u32 (uint32x4_t __a)
16379 {
16380   return (int8x16_t)__a;
16381 }
16382 
16383 __extension__ extern __inline int16x8_t
16384 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p8(poly8x16_t __a)16385 vreinterpretq_s16_p8 (poly8x16_t __a)
16386 {
16387   return (int16x8_t)__a;
16388 }
16389 
16390 __extension__ extern __inline int16x8_t
16391 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p16(poly16x8_t __a)16392 vreinterpretq_s16_p16 (poly16x8_t __a)
16393 {
16394   return (int16x8_t)__a;
16395 }
16396 
16397 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16398 __extension__ extern __inline int16x8_t
16399 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_f16(float16x8_t __a)16400 vreinterpretq_s16_f16 (float16x8_t __a)
16401 {
16402   return (int16x8_t) __a;
16403 }
16404 #endif
16405 
16406 __extension__ extern __inline int16x8_t
16407 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_f32(float32x4_t __a)16408 vreinterpretq_s16_f32 (float32x4_t __a)
16409 {
16410   return (int16x8_t)__a;
16411 }
16412 
16413 #pragma GCC push_options
16414 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16415 __extension__ extern __inline int16x8_t
16416 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p64(poly64x2_t __a)16417 vreinterpretq_s16_p64 (poly64x2_t __a)
16418 {
16419   return (int16x8_t)__a;
16420 }
16421 
16422 __extension__ extern __inline int16x8_t
16423 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p128(poly128_t __a)16424 vreinterpretq_s16_p128 (poly128_t __a)
16425 {
16426   return (int16x8_t)__a;
16427 }
16428 
16429 #pragma GCC pop_options
16430 __extension__ extern __inline int16x8_t
16431 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_s64(int64x2_t __a)16432 vreinterpretq_s16_s64 (int64x2_t __a)
16433 {
16434   return (int16x8_t)__a;
16435 }
16436 
16437 __extension__ extern __inline int16x8_t
16438 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u64(uint64x2_t __a)16439 vreinterpretq_s16_u64 (uint64x2_t __a)
16440 {
16441   return (int16x8_t)__a;
16442 }
16443 
16444 __extension__ extern __inline int16x8_t
16445 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_s8(int8x16_t __a)16446 vreinterpretq_s16_s8 (int8x16_t __a)
16447 {
16448   return (int16x8_t)__a;
16449 }
16450 
16451 __extension__ extern __inline int16x8_t
16452 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_s32(int32x4_t __a)16453 vreinterpretq_s16_s32 (int32x4_t __a)
16454 {
16455   return (int16x8_t)__a;
16456 }
16457 
16458 __extension__ extern __inline int16x8_t
16459 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u8(uint8x16_t __a)16460 vreinterpretq_s16_u8 (uint8x16_t __a)
16461 {
16462   return (int16x8_t)__a;
16463 }
16464 
16465 __extension__ extern __inline int16x8_t
16466 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u16(uint16x8_t __a)16467 vreinterpretq_s16_u16 (uint16x8_t __a)
16468 {
16469   return (int16x8_t)__a;
16470 }
16471 
16472 __extension__ extern __inline int16x8_t
16473 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u32(uint32x4_t __a)16474 vreinterpretq_s16_u32 (uint32x4_t __a)
16475 {
16476   return (int16x8_t)__a;
16477 }
16478 
16479 __extension__ extern __inline int32x4_t
16480 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p8(poly8x16_t __a)16481 vreinterpretq_s32_p8 (poly8x16_t __a)
16482 {
16483   return (int32x4_t)__a;
16484 }
16485 
16486 __extension__ extern __inline int32x4_t
16487 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p16(poly16x8_t __a)16488 vreinterpretq_s32_p16 (poly16x8_t __a)
16489 {
16490   return (int32x4_t)__a;
16491 }
16492 
16493 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16494 __extension__ extern __inline int32x4_t
16495 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_f16(float16x8_t __a)16496 vreinterpretq_s32_f16 (float16x8_t __a)
16497 {
16498   return (int32x4_t)__a;
16499 }
16500 #endif
16501 
16502 __extension__ extern __inline int32x4_t
16503 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_f32(float32x4_t __a)16504 vreinterpretq_s32_f32 (float32x4_t __a)
16505 {
16506   return (int32x4_t)__a;
16507 }
16508 
16509 #pragma GCC push_options
16510 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16511 __extension__ extern __inline int32x4_t
16512 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p64(poly64x2_t __a)16513 vreinterpretq_s32_p64 (poly64x2_t __a)
16514 {
16515   return (int32x4_t)__a;
16516 }
16517 
16518 __extension__ extern __inline int32x4_t
16519 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p128(poly128_t __a)16520 vreinterpretq_s32_p128 (poly128_t __a)
16521 {
16522   return (int32x4_t)__a;
16523 }
16524 
16525 #pragma GCC pop_options
16526 __extension__ extern __inline int32x4_t
16527 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_s64(int64x2_t __a)16528 vreinterpretq_s32_s64 (int64x2_t __a)
16529 {
16530   return (int32x4_t)__a;
16531 }
16532 
16533 __extension__ extern __inline int32x4_t
16534 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u64(uint64x2_t __a)16535 vreinterpretq_s32_u64 (uint64x2_t __a)
16536 {
16537   return (int32x4_t)__a;
16538 }
16539 
16540 __extension__ extern __inline int32x4_t
16541 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_s8(int8x16_t __a)16542 vreinterpretq_s32_s8 (int8x16_t __a)
16543 {
16544   return (int32x4_t)__a;
16545 }
16546 
16547 __extension__ extern __inline int32x4_t
16548 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_s16(int16x8_t __a)16549 vreinterpretq_s32_s16 (int16x8_t __a)
16550 {
16551   return (int32x4_t)__a;
16552 }
16553 
16554 __extension__ extern __inline int32x4_t
16555 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u8(uint8x16_t __a)16556 vreinterpretq_s32_u8 (uint8x16_t __a)
16557 {
16558   return (int32x4_t)__a;
16559 }
16560 
16561 __extension__ extern __inline int32x4_t
16562 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u16(uint16x8_t __a)16563 vreinterpretq_s32_u16 (uint16x8_t __a)
16564 {
16565   return (int32x4_t)__a;
16566 }
16567 
16568 __extension__ extern __inline int32x4_t
16569 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u32(uint32x4_t __a)16570 vreinterpretq_s32_u32 (uint32x4_t __a)
16571 {
16572   return (int32x4_t)__a;
16573 }
16574 
16575 __extension__ extern __inline uint8x16_t
16576 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p8(poly8x16_t __a)16577 vreinterpretq_u8_p8 (poly8x16_t __a)
16578 {
16579   return (uint8x16_t)__a;
16580 }
16581 
16582 __extension__ extern __inline uint8x16_t
16583 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p16(poly16x8_t __a)16584 vreinterpretq_u8_p16 (poly16x8_t __a)
16585 {
16586   return (uint8x16_t)__a;
16587 }
16588 
16589 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16590 __extension__ extern __inline uint8x16_t
16591 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_f16(float16x8_t __a)16592 vreinterpretq_u8_f16 (float16x8_t __a)
16593 {
16594   return (uint8x16_t) __a;
16595 }
16596 #endif
16597 
16598 __extension__ extern __inline uint8x16_t
16599 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_f32(float32x4_t __a)16600 vreinterpretq_u8_f32 (float32x4_t __a)
16601 {
16602   return (uint8x16_t)__a;
16603 }
16604 
16605 #pragma GCC push_options
16606 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16607 __extension__ extern __inline uint8x16_t
16608 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p64(poly64x2_t __a)16609 vreinterpretq_u8_p64 (poly64x2_t __a)
16610 {
16611   return (uint8x16_t)__a;
16612 }
16613 
16614 __extension__ extern __inline uint8x16_t
16615 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p128(poly128_t __a)16616 vreinterpretq_u8_p128 (poly128_t __a)
16617 {
16618   return (uint8x16_t)__a;
16619 }
16620 
16621 #pragma GCC pop_options
16622 __extension__ extern __inline uint8x16_t
16623 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s64(int64x2_t __a)16624 vreinterpretq_u8_s64 (int64x2_t __a)
16625 {
16626   return (uint8x16_t)__a;
16627 }
16628 
16629 __extension__ extern __inline uint8x16_t
16630 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_u64(uint64x2_t __a)16631 vreinterpretq_u8_u64 (uint64x2_t __a)
16632 {
16633   return (uint8x16_t)__a;
16634 }
16635 
16636 __extension__ extern __inline uint8x16_t
16637 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s8(int8x16_t __a)16638 vreinterpretq_u8_s8 (int8x16_t __a)
16639 {
16640   return (uint8x16_t)__a;
16641 }
16642 
16643 __extension__ extern __inline uint8x16_t
16644 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s16(int16x8_t __a)16645 vreinterpretq_u8_s16 (int16x8_t __a)
16646 {
16647   return (uint8x16_t)__a;
16648 }
16649 
16650 __extension__ extern __inline uint8x16_t
16651 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s32(int32x4_t __a)16652 vreinterpretq_u8_s32 (int32x4_t __a)
16653 {
16654   return (uint8x16_t)__a;
16655 }
16656 
16657 __extension__ extern __inline uint8x16_t
16658 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_u16(uint16x8_t __a)16659 vreinterpretq_u8_u16 (uint16x8_t __a)
16660 {
16661   return (uint8x16_t)__a;
16662 }
16663 
16664 __extension__ extern __inline uint8x16_t
16665 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_u32(uint32x4_t __a)16666 vreinterpretq_u8_u32 (uint32x4_t __a)
16667 {
16668   return (uint8x16_t)__a;
16669 }
16670 
16671 __extension__ extern __inline uint16x8_t
16672 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p8(poly8x16_t __a)16673 vreinterpretq_u16_p8 (poly8x16_t __a)
16674 {
16675   return (uint16x8_t)__a;
16676 }
16677 
16678 __extension__ extern __inline uint16x8_t
16679 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p16(poly16x8_t __a)16680 vreinterpretq_u16_p16 (poly16x8_t __a)
16681 {
16682   return (uint16x8_t)__a;
16683 }
16684 
16685 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16686 __extension__ extern __inline uint16x8_t
16687 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_f16(float16x8_t __a)16688 vreinterpretq_u16_f16 (float16x8_t __a)
16689 {
16690   return (uint16x8_t) __a;
16691 }
16692 #endif
16693 
16694 __extension__ extern __inline uint16x8_t
16695 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_f32(float32x4_t __a)16696 vreinterpretq_u16_f32 (float32x4_t __a)
16697 {
16698   return (uint16x8_t)__a;
16699 }
16700 
16701 #pragma GCC push_options
16702 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16703 __extension__ extern __inline uint16x8_t
16704 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p64(poly64x2_t __a)16705 vreinterpretq_u16_p64 (poly64x2_t __a)
16706 {
16707   return (uint16x8_t)__a;
16708 }
16709 
16710 __extension__ extern __inline uint16x8_t
16711 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p128(poly128_t __a)16712 vreinterpretq_u16_p128 (poly128_t __a)
16713 {
16714   return (uint16x8_t)__a;
16715 }
16716 
16717 #pragma GCC pop_options
16718 __extension__ extern __inline uint16x8_t
16719 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s64(int64x2_t __a)16720 vreinterpretq_u16_s64 (int64x2_t __a)
16721 {
16722   return (uint16x8_t)__a;
16723 }
16724 
16725 __extension__ extern __inline uint16x8_t
16726 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_u64(uint64x2_t __a)16727 vreinterpretq_u16_u64 (uint64x2_t __a)
16728 {
16729   return (uint16x8_t)__a;
16730 }
16731 
16732 __extension__ extern __inline uint16x8_t
16733 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s8(int8x16_t __a)16734 vreinterpretq_u16_s8 (int8x16_t __a)
16735 {
16736   return (uint16x8_t)__a;
16737 }
16738 
16739 __extension__ extern __inline uint16x8_t
16740 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s16(int16x8_t __a)16741 vreinterpretq_u16_s16 (int16x8_t __a)
16742 {
16743   return (uint16x8_t)__a;
16744 }
16745 
16746 __extension__ extern __inline uint16x8_t
16747 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s32(int32x4_t __a)16748 vreinterpretq_u16_s32 (int32x4_t __a)
16749 {
16750   return (uint16x8_t)__a;
16751 }
16752 
16753 __extension__ extern __inline uint16x8_t
16754 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_u8(uint8x16_t __a)16755 vreinterpretq_u16_u8 (uint8x16_t __a)
16756 {
16757   return (uint16x8_t)__a;
16758 }
16759 
16760 __extension__ extern __inline uint16x8_t
16761 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_u32(uint32x4_t __a)16762 vreinterpretq_u16_u32 (uint32x4_t __a)
16763 {
16764   return (uint16x8_t)__a;
16765 }
16766 
16767 __extension__ extern __inline uint32x4_t
16768 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p8(poly8x16_t __a)16769 vreinterpretq_u32_p8 (poly8x16_t __a)
16770 {
16771   return (uint32x4_t)__a;
16772 }
16773 
16774 __extension__ extern __inline uint32x4_t
16775 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p16(poly16x8_t __a)16776 vreinterpretq_u32_p16 (poly16x8_t __a)
16777 {
16778   return (uint32x4_t)__a;
16779 }
16780 
16781 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16782 __extension__ extern __inline uint32x4_t
16783 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_f16(float16x8_t __a)16784 vreinterpretq_u32_f16 (float16x8_t __a)
16785 {
16786   return (uint32x4_t) __a;
16787 }
16788 #endif
16789 
16790 __extension__ extern __inline uint32x4_t
16791 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_f32(float32x4_t __a)16792 vreinterpretq_u32_f32 (float32x4_t __a)
16793 {
16794   return (uint32x4_t)__a;
16795 }
16796 
16797 #pragma GCC push_options
16798 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16799 __extension__ extern __inline uint32x4_t
16800 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p64(poly64x2_t __a)16801 vreinterpretq_u32_p64 (poly64x2_t __a)
16802 {
16803   return (uint32x4_t)__a;
16804 }
16805 
16806 __extension__ extern __inline uint32x4_t
16807 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p128(poly128_t __a)16808 vreinterpretq_u32_p128 (poly128_t __a)
16809 {
16810   return (uint32x4_t)__a;
16811 }
16812 
16813 #pragma GCC pop_options
16814 __extension__ extern __inline uint32x4_t
16815 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s64(int64x2_t __a)16816 vreinterpretq_u32_s64 (int64x2_t __a)
16817 {
16818   return (uint32x4_t)__a;
16819 }
16820 
16821 __extension__ extern __inline uint32x4_t
16822 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_u64(uint64x2_t __a)16823 vreinterpretq_u32_u64 (uint64x2_t __a)
16824 {
16825   return (uint32x4_t)__a;
16826 }
16827 
16828 __extension__ extern __inline uint32x4_t
16829 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s8(int8x16_t __a)16830 vreinterpretq_u32_s8 (int8x16_t __a)
16831 {
16832   return (uint32x4_t)__a;
16833 }
16834 
16835 __extension__ extern __inline uint32x4_t
16836 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s16(int16x8_t __a)16837 vreinterpretq_u32_s16 (int16x8_t __a)
16838 {
16839   return (uint32x4_t)__a;
16840 }
16841 
16842 __extension__ extern __inline uint32x4_t
16843 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s32(int32x4_t __a)16844 vreinterpretq_u32_s32 (int32x4_t __a)
16845 {
16846   return (uint32x4_t)__a;
16847 }
16848 
16849 __extension__ extern __inline uint32x4_t
16850 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_u8(uint8x16_t __a)16851 vreinterpretq_u32_u8 (uint8x16_t __a)
16852 {
16853   return (uint32x4_t)__a;
16854 }
16855 
16856 __extension__ extern __inline uint32x4_t
16857 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_u16(uint16x8_t __a)16858 vreinterpretq_u32_u16 (uint16x8_t __a)
16859 {
16860   return (uint32x4_t)__a;
16861 }
16862 
16863 
16864 #pragma GCC push_options
16865 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16866 __extension__ extern __inline poly128_t
16867 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vldrq_p128(poly128_t const * __ptr)16868 vldrq_p128 (poly128_t const * __ptr)
16869 {
16870 #ifdef __ARM_BIG_ENDIAN
16871   poly64_t* __ptmp = (poly64_t*) __ptr;
16872   poly64_t __d0 = vld1_p64 (__ptmp);
16873   poly64_t __d1 = vld1_p64 (__ptmp + 1);
16874   return vreinterpretq_p128_p64 (vcombine_p64 (__d1, __d0));
16875 #else
16876   return vreinterpretq_p128_p64 (vld1q_p64 ((poly64_t*) __ptr));
16877 #endif
16878 }
16879 
16880 __extension__ extern __inline void
16881 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vstrq_p128(poly128_t * __ptr,poly128_t __val)16882 vstrq_p128 (poly128_t * __ptr, poly128_t __val)
16883 {
16884 #ifdef __ARM_BIG_ENDIAN
16885   poly64x2_t __tmp = vreinterpretq_p64_p128 (__val);
16886   poly64_t __d0 = vget_high_p64 (__tmp);
16887   poly64_t __d1 = vget_low_p64 (__tmp);
16888   vst1q_p64 ((poly64_t*) __ptr, vcombine_p64 (__d0, __d1));
16889 #else
16890   vst1q_p64 ((poly64_t*) __ptr, vreinterpretq_p64_p128 (__val));
16891 #endif
16892 }
16893 
16894 /* The vceq_p64 intrinsic does not map to a single instruction.
16895    Instead we emulate it by performing a 32-bit variant of the vceq
16896    and applying a pairwise min reduction to the result.
16897    vceq_u32 will produce two 32-bit halves, each of which will contain either
16898    all ones or all zeros depending on whether the corresponding 32-bit
16899    halves of the poly64_t were equal.  The whole poly64_t values are equal
16900    if and only if both halves are equal, i.e. vceq_u32 returns all ones.
16901    If the result is all zeroes for any half then the whole result is zeroes.
16902    This is what the pairwise min reduction achieves.  */
16903 
16904 __extension__ extern __inline uint64x1_t
16905 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_p64(poly64x1_t __a,poly64x1_t __b)16906 vceq_p64 (poly64x1_t __a, poly64x1_t __b)
16907 {
16908   uint32x2_t __t_a = vreinterpret_u32_p64 (__a);
16909   uint32x2_t __t_b = vreinterpret_u32_p64 (__b);
16910   uint32x2_t __c = vceq_u32 (__t_a, __t_b);
16911   uint32x2_t __m = vpmin_u32 (__c, __c);
16912   return vreinterpret_u64_u32 (__m);
16913 }
16914 
16915 /* The vtst_p64 intrinsic does not map to a single instruction.
16916    We emulate it in way similar to vceq_p64 above but here we do
16917    a reduction with max since if any two corresponding bits
16918    in the two poly64_t's match, then the whole result must be all ones.  */
16919 
16920 __extension__ extern __inline uint64x1_t
16921 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p64(poly64x1_t __a,poly64x1_t __b)16922 vtst_p64 (poly64x1_t __a, poly64x1_t __b)
16923 {
16924   uint32x2_t __t_a = vreinterpret_u32_p64 (__a);
16925   uint32x2_t __t_b = vreinterpret_u32_p64 (__b);
16926   uint32x2_t __c = vtst_u32 (__t_a, __t_b);
16927   uint32x2_t __m = vpmax_u32 (__c, __c);
16928   return vreinterpret_u64_u32 (__m);
16929 }
16930 
16931 __extension__ extern __inline uint8x16_t
16932 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaeseq_u8(uint8x16_t __data,uint8x16_t __key)16933 vaeseq_u8 (uint8x16_t __data, uint8x16_t __key)
16934 {
16935   return __builtin_arm_crypto_aese (__data, __key);
16936 }
16937 
16938 __extension__ extern __inline uint8x16_t
16939 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaesdq_u8(uint8x16_t __data,uint8x16_t __key)16940 vaesdq_u8 (uint8x16_t __data, uint8x16_t __key)
16941 {
16942   return __builtin_arm_crypto_aesd (__data, __key);
16943 }
16944 
16945 __extension__ extern __inline uint8x16_t
16946 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaesmcq_u8(uint8x16_t __data)16947 vaesmcq_u8 (uint8x16_t __data)
16948 {
16949   return __builtin_arm_crypto_aesmc (__data);
16950 }
16951 
16952 __extension__ extern __inline uint8x16_t
16953 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaesimcq_u8(uint8x16_t __data)16954 vaesimcq_u8 (uint8x16_t __data)
16955 {
16956   return __builtin_arm_crypto_aesimc (__data);
16957 }
16958 
16959 __extension__ extern __inline uint32_t
16960 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha1h_u32(uint32_t __hash_e)16961 vsha1h_u32 (uint32_t __hash_e)
16962 {
16963   return vgetq_lane_u32 (__builtin_arm_crypto_sha1h (vdupq_n_u32 (__hash_e)),
16964 			 0);
16965 }
16966 
16967 __extension__ extern __inline uint32x4_t
16968 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha1cq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)16969 vsha1cq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
16970 {
16971   return __builtin_arm_crypto_sha1c (__hash_abcd, vdupq_n_u32 (__hash_e),
16972 				     __wk);
16973 }
16974 
16975 __extension__ extern __inline uint32x4_t
16976 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha1pq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)16977 vsha1pq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
16978 {
16979   return __builtin_arm_crypto_sha1p (__hash_abcd, vdupq_n_u32 (__hash_e),
16980 				     __wk);
16981 }
16982 
16983 __extension__ extern __inline uint32x4_t
16984 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha1mq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)16985 vsha1mq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
16986 {
16987   return __builtin_arm_crypto_sha1m (__hash_abcd,  vdupq_n_u32 (__hash_e),
16988 				     __wk);
16989 }
16990 
16991 __extension__ extern __inline uint32x4_t
16992 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha1su0q_u32(uint32x4_t __w0_3,uint32x4_t __w4_7,uint32x4_t __w8_11)16993 vsha1su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7, uint32x4_t __w8_11)
16994 {
16995   return __builtin_arm_crypto_sha1su0 (__w0_3, __w4_7, __w8_11);
16996 }
16997 
16998 __extension__ extern __inline uint32x4_t
16999 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha1su1q_u32(uint32x4_t __tw0_3,uint32x4_t __w12_15)17000 vsha1su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w12_15)
17001 {
17002   return __builtin_arm_crypto_sha1su1 (__tw0_3, __w12_15);
17003 }
17004 
17005 __extension__ extern __inline uint32x4_t
17006 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha256hq_u32(uint32x4_t __hash_abcd,uint32x4_t __hash_efgh,uint32x4_t __wk)17007 vsha256hq_u32 (uint32x4_t __hash_abcd, uint32x4_t __hash_efgh, uint32x4_t __wk)
17008 {
17009   return __builtin_arm_crypto_sha256h (__hash_abcd, __hash_efgh, __wk);
17010 }
17011 
17012 __extension__ extern __inline uint32x4_t
17013 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha256h2q_u32(uint32x4_t __hash_abcd,uint32x4_t __hash_efgh,uint32x4_t __wk)17014 vsha256h2q_u32 (uint32x4_t __hash_abcd, uint32x4_t __hash_efgh, uint32x4_t __wk)
17015 {
17016   return __builtin_arm_crypto_sha256h2 (__hash_abcd, __hash_efgh, __wk);
17017 }
17018 
17019 __extension__ extern __inline uint32x4_t
17020 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha256su0q_u32(uint32x4_t __w0_3,uint32x4_t __w4_7)17021 vsha256su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7)
17022 {
17023   return __builtin_arm_crypto_sha256su0 (__w0_3, __w4_7);
17024 }
17025 
17026 __extension__ extern __inline uint32x4_t
17027 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha256su1q_u32(uint32x4_t __tw0_3,uint32x4_t __w8_11,uint32x4_t __w12_15)17028 vsha256su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w8_11, uint32x4_t __w12_15)
17029 {
17030   return __builtin_arm_crypto_sha256su1 (__tw0_3, __w8_11, __w12_15);
17031 }
17032 
17033 __extension__ extern __inline poly128_t
17034 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_p64(poly64_t __a,poly64_t __b)17035 vmull_p64 (poly64_t __a, poly64_t __b)
17036 {
17037   return (poly128_t) __builtin_arm_crypto_vmullp64 ((uint64_t) __a, (uint64_t) __b);
17038 }
17039 
17040 __extension__ extern __inline poly128_t
17041 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_p64(poly64x2_t __a,poly64x2_t __b)17042 vmull_high_p64 (poly64x2_t __a, poly64x2_t __b)
17043 {
17044   poly64_t __t1 = vget_high_p64 (__a);
17045   poly64_t __t2 = vget_high_p64 (__b);
17046 
17047   return (poly128_t) __builtin_arm_crypto_vmullp64 ((uint64_t) __t1, (uint64_t) __t2);
17048 }
17049 
17050 #pragma GCC pop_options
17051 
17052   /* Intrinsics for FP16 instructions.  */
17053 #pragma GCC push_options
17054 #pragma GCC target ("fpu=neon-fp-armv8")
17055 #if defined (__ARM_FEATURE_FP16_VECTOR_ARITHMETIC)
17056 
17057 __extension__ extern __inline float16x4_t
17058 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_f16(float16x4_t __a,float16x4_t __b)17059 vabd_f16 (float16x4_t __a, float16x4_t __b)
17060 {
17061   return __builtin_neon_vabdv4hf (__a, __b);
17062 }
17063 
17064 __extension__ extern __inline float16x8_t
17065 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_f16(float16x8_t __a,float16x8_t __b)17066 vabdq_f16 (float16x8_t __a, float16x8_t __b)
17067 {
17068   return __builtin_neon_vabdv8hf (__a, __b);
17069 }
17070 
17071 __extension__ extern __inline float16x4_t
17072 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabs_f16(float16x4_t __a)17073 vabs_f16 (float16x4_t __a)
17074 {
17075   return __builtin_neon_vabsv4hf (__a);
17076 }
17077 
17078 __extension__ extern __inline float16x8_t
17079 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_f16(float16x8_t __a)17080 vabsq_f16 (float16x8_t __a)
17081 {
17082   return __builtin_neon_vabsv8hf (__a);
17083 }
17084 
17085 __extension__ extern __inline float16x4_t
17086 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_f16(float16x4_t __a,float16x4_t __b)17087 vadd_f16 (float16x4_t __a, float16x4_t __b)
17088 {
17089 #ifdef __FAST_MATH__
17090   return __a + __b;
17091 #else
17092   return __builtin_neon_vaddv4hf (__a, __b);
17093 #endif
17094 }
17095 
17096 __extension__ extern __inline float16x8_t
17097 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_f16(float16x8_t __a,float16x8_t __b)17098 vaddq_f16 (float16x8_t __a, float16x8_t __b)
17099 {
17100 #ifdef __FAST_MATH__
17101   return __a + __b;
17102 #else
17103   return __builtin_neon_vaddv8hf (__a, __b);
17104 #endif
17105 }
17106 
17107 __extension__ extern __inline uint16x4_t
17108 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcage_f16(float16x4_t __a,float16x4_t __b)17109 vcage_f16 (float16x4_t __a, float16x4_t __b)
17110 {
17111   return (uint16x4_t)__builtin_neon_vcagev4hf (__a, __b);
17112 }
17113 
17114 __extension__ extern __inline uint16x8_t
17115 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcageq_f16(float16x8_t __a,float16x8_t __b)17116 vcageq_f16 (float16x8_t __a, float16x8_t __b)
17117 {
17118   return (uint16x8_t)__builtin_neon_vcagev8hf (__a, __b);
17119 }
17120 
17121 __extension__ extern __inline uint16x4_t
17122 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcagt_f16(float16x4_t __a,float16x4_t __b)17123 vcagt_f16 (float16x4_t __a, float16x4_t __b)
17124 {
17125   return (uint16x4_t)__builtin_neon_vcagtv4hf (__a, __b);
17126 }
17127 
17128 __extension__ extern __inline uint16x8_t
17129 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcagtq_f16(float16x8_t __a,float16x8_t __b)17130 vcagtq_f16 (float16x8_t __a, float16x8_t __b)
17131 {
17132   return (uint16x8_t)__builtin_neon_vcagtv8hf (__a, __b);
17133 }
17134 
17135 __extension__ extern __inline uint16x4_t
17136 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcale_f16(float16x4_t __a,float16x4_t __b)17137 vcale_f16 (float16x4_t __a, float16x4_t __b)
17138 {
17139   return (uint16x4_t)__builtin_neon_vcalev4hf (__a, __b);
17140 }
17141 
17142 __extension__ extern __inline uint16x8_t
17143 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcaleq_f16(float16x8_t __a,float16x8_t __b)17144 vcaleq_f16 (float16x8_t __a, float16x8_t __b)
17145 {
17146   return (uint16x8_t)__builtin_neon_vcalev8hf (__a, __b);
17147 }
17148 
17149 __extension__ extern __inline uint16x4_t
17150 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcalt_f16(float16x4_t __a,float16x4_t __b)17151 vcalt_f16 (float16x4_t __a, float16x4_t __b)
17152 {
17153   return (uint16x4_t)__builtin_neon_vcaltv4hf (__a, __b);
17154 }
17155 
17156 __extension__ extern __inline uint16x8_t
17157 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcaltq_f16(float16x8_t __a,float16x8_t __b)17158 vcaltq_f16 (float16x8_t __a, float16x8_t __b)
17159 {
17160   return (uint16x8_t)__builtin_neon_vcaltv8hf (__a, __b);
17161 }
17162 
17163 __extension__ extern __inline uint16x4_t
17164 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_f16(float16x4_t __a,float16x4_t __b)17165 vceq_f16 (float16x4_t __a, float16x4_t __b)
17166 {
17167   return (uint16x4_t)__builtin_neon_vceqv4hf (__a, __b);
17168 }
17169 
17170 __extension__ extern __inline uint16x8_t
17171 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_f16(float16x8_t __a,float16x8_t __b)17172 vceqq_f16 (float16x8_t __a, float16x8_t __b)
17173 {
17174   return (uint16x8_t)__builtin_neon_vceqv8hf (__a, __b);
17175 }
17176 
17177 __extension__ extern __inline uint16x4_t
17178 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_f16(float16x4_t __a)17179 vceqz_f16 (float16x4_t __a)
17180 {
17181   return (uint16x4_t)__builtin_neon_vceqzv4hf (__a);
17182 }
17183 
17184 __extension__ extern __inline uint16x8_t
17185 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_f16(float16x8_t __a)17186 vceqzq_f16 (float16x8_t __a)
17187 {
17188   return (uint16x8_t)__builtin_neon_vceqzv8hf (__a);
17189 }
17190 
17191 __extension__ extern __inline uint16x4_t
17192 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_f16(float16x4_t __a,float16x4_t __b)17193 vcge_f16 (float16x4_t __a, float16x4_t __b)
17194 {
17195   return (uint16x4_t)__builtin_neon_vcgev4hf (__a, __b);
17196 }
17197 
17198 __extension__ extern __inline uint16x8_t
17199 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_f16(float16x8_t __a,float16x8_t __b)17200 vcgeq_f16 (float16x8_t __a, float16x8_t __b)
17201 {
17202   return (uint16x8_t)__builtin_neon_vcgev8hf (__a, __b);
17203 }
17204 
17205 __extension__ extern __inline uint16x4_t
17206 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_f16(float16x4_t __a)17207 vcgez_f16 (float16x4_t __a)
17208 {
17209   return (uint16x4_t)__builtin_neon_vcgezv4hf (__a);
17210 }
17211 
17212 __extension__ extern __inline uint16x8_t
17213 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_f16(float16x8_t __a)17214 vcgezq_f16 (float16x8_t __a)
17215 {
17216   return (uint16x8_t)__builtin_neon_vcgezv8hf (__a);
17217 }
17218 
17219 __extension__ extern __inline uint16x4_t
17220 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_f16(float16x4_t __a,float16x4_t __b)17221 vcgt_f16 (float16x4_t __a, float16x4_t __b)
17222 {
17223   return (uint16x4_t)__builtin_neon_vcgtv4hf (__a, __b);
17224 }
17225 
17226 __extension__ extern __inline uint16x8_t
17227 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_f16(float16x8_t __a,float16x8_t __b)17228 vcgtq_f16 (float16x8_t __a, float16x8_t __b)
17229 {
17230   return (uint16x8_t)__builtin_neon_vcgtv8hf (__a, __b);
17231 }
17232 
17233 __extension__ extern __inline uint16x4_t
17234 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_f16(float16x4_t __a)17235 vcgtz_f16 (float16x4_t __a)
17236 {
17237   return (uint16x4_t)__builtin_neon_vcgtzv4hf (__a);
17238 }
17239 
17240 __extension__ extern __inline uint16x8_t
17241 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_f16(float16x8_t __a)17242 vcgtzq_f16 (float16x8_t __a)
17243 {
17244   return (uint16x8_t)__builtin_neon_vcgtzv8hf (__a);
17245 }
17246 
17247 __extension__ extern __inline uint16x4_t
17248 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_f16(float16x4_t __a,float16x4_t __b)17249 vcle_f16 (float16x4_t __a, float16x4_t __b)
17250 {
17251   return (uint16x4_t)__builtin_neon_vclev4hf (__a, __b);
17252 }
17253 
17254 __extension__ extern __inline uint16x8_t
17255 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_f16(float16x8_t __a,float16x8_t __b)17256 vcleq_f16 (float16x8_t __a, float16x8_t __b)
17257 {
17258   return (uint16x8_t)__builtin_neon_vclev8hf (__a, __b);
17259 }
17260 
17261 __extension__ extern __inline uint16x4_t
17262 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclez_f16(float16x4_t __a)17263 vclez_f16 (float16x4_t __a)
17264 {
17265   return (uint16x4_t)__builtin_neon_vclezv4hf (__a);
17266 }
17267 
17268 __extension__ extern __inline uint16x8_t
17269 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_f16(float16x8_t __a)17270 vclezq_f16 (float16x8_t __a)
17271 {
17272   return (uint16x8_t)__builtin_neon_vclezv8hf (__a);
17273 }
17274 
17275 __extension__ extern __inline uint16x4_t
17276 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_f16(float16x4_t __a,float16x4_t __b)17277 vclt_f16 (float16x4_t __a, float16x4_t __b)
17278 {
17279   return (uint16x4_t)__builtin_neon_vcltv4hf (__a, __b);
17280 }
17281 
17282 __extension__ extern __inline uint16x8_t
17283 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_f16(float16x8_t __a,float16x8_t __b)17284 vcltq_f16 (float16x8_t __a, float16x8_t __b)
17285 {
17286   return (uint16x8_t)__builtin_neon_vcltv8hf (__a, __b);
17287 }
17288 
17289 __extension__ extern __inline uint16x4_t
17290 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_f16(float16x4_t __a)17291 vcltz_f16 (float16x4_t __a)
17292 {
17293   return (uint16x4_t)__builtin_neon_vcltzv4hf (__a);
17294 }
17295 
17296 __extension__ extern __inline uint16x8_t
17297 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_f16(float16x8_t __a)17298 vcltzq_f16 (float16x8_t __a)
17299 {
17300   return (uint16x8_t)__builtin_neon_vcltzv8hf (__a);
17301 }
17302 
17303 __extension__ extern __inline float16x4_t
17304 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_s16(int16x4_t __a)17305 vcvt_f16_s16 (int16x4_t __a)
17306 {
17307   return (float16x4_t)__builtin_neon_vcvtsv4hi (__a);
17308 }
17309 
17310 __extension__ extern __inline float16x4_t
17311 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_u16(uint16x4_t __a)17312 vcvt_f16_u16 (uint16x4_t __a)
17313 {
17314   return (float16x4_t)__builtin_neon_vcvtuv4hi ((int16x4_t)__a);
17315 }
17316 
17317 __extension__ extern __inline int16x4_t
17318 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_s16_f16(float16x4_t __a)17319 vcvt_s16_f16 (float16x4_t __a)
17320 {
17321   return (int16x4_t)__builtin_neon_vcvtsv4hf (__a);
17322 }
17323 
17324 __extension__ extern __inline uint16x4_t
17325 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_u16_f16(float16x4_t __a)17326 vcvt_u16_f16 (float16x4_t __a)
17327 {
17328   return (uint16x4_t)__builtin_neon_vcvtuv4hf (__a);
17329 }
17330 
17331 __extension__ extern __inline float16x8_t
17332 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f16_s16(int16x8_t __a)17333 vcvtq_f16_s16 (int16x8_t __a)
17334 {
17335   return (float16x8_t)__builtin_neon_vcvtsv8hi (__a);
17336 }
17337 
17338 __extension__ extern __inline float16x8_t
17339 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f16_u16(uint16x8_t __a)17340 vcvtq_f16_u16 (uint16x8_t __a)
17341 {
17342   return (float16x8_t)__builtin_neon_vcvtuv8hi ((int16x8_t)__a);
17343 }
17344 
17345 __extension__ extern __inline int16x8_t
17346 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_s16_f16(float16x8_t __a)17347 vcvtq_s16_f16 (float16x8_t __a)
17348 {
17349   return (int16x8_t)__builtin_neon_vcvtsv8hf (__a);
17350 }
17351 
17352 __extension__ extern __inline uint16x8_t
17353 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_u16_f16(float16x8_t __a)17354 vcvtq_u16_f16 (float16x8_t __a)
17355 {
17356   return (uint16x8_t)__builtin_neon_vcvtuv8hf (__a);
17357 }
17358 
17359 __extension__ extern __inline int16x4_t
17360 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_s16_f16(float16x4_t __a)17361 vcvta_s16_f16 (float16x4_t __a)
17362 {
17363   return __builtin_neon_vcvtasv4hf (__a);
17364 }
17365 
17366 __extension__ extern __inline uint16x4_t
17367 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_u16_f16(float16x4_t __a)17368 vcvta_u16_f16 (float16x4_t __a)
17369 {
17370   return (uint16x4_t)__builtin_neon_vcvtauv4hf (__a);
17371 }
17372 
17373 __extension__ extern __inline int16x8_t
17374 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_s16_f16(float16x8_t __a)17375 vcvtaq_s16_f16 (float16x8_t __a)
17376 {
17377   return __builtin_neon_vcvtasv8hf (__a);
17378 }
17379 
17380 __extension__ extern __inline uint16x8_t
17381 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_u16_f16(float16x8_t __a)17382 vcvtaq_u16_f16 (float16x8_t __a)
17383 {
17384   return (uint16x8_t)__builtin_neon_vcvtauv8hf (__a);
17385 }
17386 
17387 __extension__ extern __inline int16x4_t
17388 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_s16_f16(float16x4_t __a)17389 vcvtm_s16_f16 (float16x4_t __a)
17390 {
17391   return __builtin_neon_vcvtmsv4hf (__a);
17392 }
17393 
17394 __extension__ extern __inline uint16x4_t
17395 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_u16_f16(float16x4_t __a)17396 vcvtm_u16_f16 (float16x4_t __a)
17397 {
17398   return (uint16x4_t)__builtin_neon_vcvtmuv4hf (__a);
17399 }
17400 
17401 __extension__ extern __inline int16x8_t
17402 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_s16_f16(float16x8_t __a)17403 vcvtmq_s16_f16 (float16x8_t __a)
17404 {
17405   return __builtin_neon_vcvtmsv8hf (__a);
17406 }
17407 
17408 __extension__ extern __inline uint16x8_t
17409 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_u16_f16(float16x8_t __a)17410 vcvtmq_u16_f16 (float16x8_t __a)
17411 {
17412   return (uint16x8_t)__builtin_neon_vcvtmuv8hf (__a);
17413 }
17414 
17415 __extension__ extern __inline int16x4_t
17416 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_s16_f16(float16x4_t __a)17417 vcvtn_s16_f16 (float16x4_t __a)
17418 {
17419   return __builtin_neon_vcvtnsv4hf (__a);
17420 }
17421 
17422 __extension__ extern __inline uint16x4_t
17423 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_u16_f16(float16x4_t __a)17424 vcvtn_u16_f16 (float16x4_t __a)
17425 {
17426   return (uint16x4_t)__builtin_neon_vcvtnuv4hf (__a);
17427 }
17428 
17429 __extension__ extern __inline int16x8_t
17430 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_s16_f16(float16x8_t __a)17431 vcvtnq_s16_f16 (float16x8_t __a)
17432 {
17433   return __builtin_neon_vcvtnsv8hf (__a);
17434 }
17435 
17436 __extension__ extern __inline uint16x8_t
17437 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_u16_f16(float16x8_t __a)17438 vcvtnq_u16_f16 (float16x8_t __a)
17439 {
17440   return (uint16x8_t)__builtin_neon_vcvtnuv8hf (__a);
17441 }
17442 
17443 __extension__ extern __inline int16x4_t
17444 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_s16_f16(float16x4_t __a)17445 vcvtp_s16_f16 (float16x4_t __a)
17446 {
17447   return __builtin_neon_vcvtpsv4hf (__a);
17448 }
17449 
17450 __extension__ extern __inline uint16x4_t
17451 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_u16_f16(float16x4_t __a)17452 vcvtp_u16_f16 (float16x4_t __a)
17453 {
17454   return (uint16x4_t)__builtin_neon_vcvtpuv4hf (__a);
17455 }
17456 
17457 __extension__ extern __inline int16x8_t
17458 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_s16_f16(float16x8_t __a)17459 vcvtpq_s16_f16 (float16x8_t __a)
17460 {
17461   return __builtin_neon_vcvtpsv8hf (__a);
17462 }
17463 
17464 __extension__ extern __inline uint16x8_t
17465 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_u16_f16(float16x8_t __a)17466 vcvtpq_u16_f16 (float16x8_t __a)
17467 {
17468   return (uint16x8_t)__builtin_neon_vcvtpuv8hf (__a);
17469 }
17470 
17471 __extension__ extern __inline float16x4_t
17472 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f16_s16(int16x4_t __a,const int __b)17473 vcvt_n_f16_s16 (int16x4_t __a, const int __b)
17474 {
17475   return __builtin_neon_vcvts_nv4hi (__a, __b);
17476 }
17477 
17478 __extension__ extern __inline float16x4_t
17479 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f16_u16(uint16x4_t __a,const int __b)17480 vcvt_n_f16_u16 (uint16x4_t __a, const int __b)
17481 {
17482   return __builtin_neon_vcvtu_nv4hi ((int16x4_t)__a, __b);
17483 }
17484 
17485 __extension__ extern __inline float16x8_t
17486 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f16_s16(int16x8_t __a,const int __b)17487 vcvtq_n_f16_s16 (int16x8_t __a, const int __b)
17488 {
17489   return __builtin_neon_vcvts_nv8hi (__a, __b);
17490 }
17491 
17492 __extension__ extern __inline float16x8_t
17493 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f16_u16(uint16x8_t __a,const int __b)17494 vcvtq_n_f16_u16 (uint16x8_t __a, const int __b)
17495 {
17496   return __builtin_neon_vcvtu_nv8hi ((int16x8_t)__a, __b);
17497 }
17498 
17499 __extension__ extern __inline int16x4_t
17500 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_s16_f16(float16x4_t __a,const int __b)17501 vcvt_n_s16_f16 (float16x4_t __a, const int __b)
17502 {
17503   return __builtin_neon_vcvts_nv4hf (__a, __b);
17504 }
17505 
17506 __extension__ extern __inline uint16x4_t
17507 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_u16_f16(float16x4_t __a,const int __b)17508 vcvt_n_u16_f16 (float16x4_t __a, const int __b)
17509 {
17510   return (uint16x4_t)__builtin_neon_vcvtu_nv4hf (__a, __b);
17511 }
17512 
17513 __extension__ extern __inline int16x8_t
17514 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_s16_f16(float16x8_t __a,const int __b)17515 vcvtq_n_s16_f16 (float16x8_t __a, const int __b)
17516 {
17517   return __builtin_neon_vcvts_nv8hf (__a, __b);
17518 }
17519 
17520 __extension__ extern __inline uint16x8_t
17521 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_u16_f16(float16x8_t __a,const int __b)17522 vcvtq_n_u16_f16 (float16x8_t __a, const int __b)
17523 {
17524   return (uint16x8_t)__builtin_neon_vcvtu_nv8hf (__a, __b);
17525 }
17526 
17527 __extension__ extern __inline float16x4_t
17528 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfma_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c)17529 vfma_f16 (float16x4_t __a, float16x4_t __b, float16x4_t __c)
17530 {
17531   return __builtin_neon_vfmav4hf (__a, __b, __c);
17532 }
17533 
17534 __extension__ extern __inline float16x8_t
17535 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c)17536 vfmaq_f16 (float16x8_t __a, float16x8_t __b, float16x8_t __c)
17537 {
17538   return __builtin_neon_vfmav8hf (__a, __b, __c);
17539 }
17540 
17541 __extension__ extern __inline float16x4_t
17542 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfms_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c)17543 vfms_f16 (float16x4_t __a, float16x4_t __b, float16x4_t __c)
17544 {
17545   return __builtin_neon_vfmsv4hf (__a, __b, __c);
17546 }
17547 
17548 __extension__ extern __inline float16x8_t
17549 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c)17550 vfmsq_f16 (float16x8_t __a, float16x8_t __b, float16x8_t __c)
17551 {
17552   return __builtin_neon_vfmsv8hf (__a, __b, __c);
17553 }
17554 
17555 __extension__ extern __inline float16x4_t
17556 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_f16(float16x4_t __a,float16x4_t __b)17557 vmax_f16 (float16x4_t __a, float16x4_t __b)
17558 {
17559   return __builtin_neon_vmaxfv4hf (__a, __b);
17560 }
17561 
17562 __extension__ extern __inline float16x8_t
17563 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_f16(float16x8_t __a,float16x8_t __b)17564 vmaxq_f16 (float16x8_t __a, float16x8_t __b)
17565 {
17566   return __builtin_neon_vmaxfv8hf (__a, __b);
17567 }
17568 
17569 __extension__ extern __inline float16x4_t
17570 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnm_f16(float16x4_t __a,float16x4_t __b)17571 vmaxnm_f16 (float16x4_t __a, float16x4_t __b)
17572 {
17573   return __builtin_neon_vmaxnmv4hf (__a, __b);
17574 }
17575 
17576 __extension__ extern __inline float16x8_t
17577 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmq_f16(float16x8_t __a,float16x8_t __b)17578 vmaxnmq_f16 (float16x8_t __a, float16x8_t __b)
17579 {
17580   return __builtin_neon_vmaxnmv8hf (__a, __b);
17581 }
17582 
17583 __extension__ extern __inline float16x4_t
17584 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_f16(float16x4_t __a,float16x4_t __b)17585 vmin_f16 (float16x4_t __a, float16x4_t __b)
17586 {
17587   return __builtin_neon_vminfv4hf (__a, __b);
17588 }
17589 
17590 __extension__ extern __inline float16x8_t
17591 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_f16(float16x8_t __a,float16x8_t __b)17592 vminq_f16 (float16x8_t __a, float16x8_t __b)
17593 {
17594   return __builtin_neon_vminfv8hf (__a, __b);
17595 }
17596 
17597 __extension__ extern __inline float16x4_t
17598 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminnm_f16(float16x4_t __a,float16x4_t __b)17599 vminnm_f16 (float16x4_t __a, float16x4_t __b)
17600 {
17601   return __builtin_neon_vminnmv4hf (__a, __b);
17602 }
17603 
17604 __extension__ extern __inline float16x8_t
17605 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminnmq_f16(float16x8_t __a,float16x8_t __b)17606 vminnmq_f16 (float16x8_t __a, float16x8_t __b)
17607 {
17608   return __builtin_neon_vminnmv8hf (__a, __b);
17609 }
17610 
17611 __extension__ extern __inline float16x4_t
17612 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_f16(float16x4_t __a,float16x4_t __b)17613 vmul_f16 (float16x4_t __a, float16x4_t __b)
17614 {
17615 #ifdef __FAST_MATH__
17616   return __a * __b;
17617 #else
17618   return __builtin_neon_vmulfv4hf (__a, __b);
17619 #endif
17620 }
17621 
17622 __extension__ extern __inline float16x4_t
17623 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_f16(float16x4_t __a,float16x4_t __b,const int __c)17624 vmul_lane_f16 (float16x4_t __a, float16x4_t __b, const int __c)
17625 {
17626   return __builtin_neon_vmul_lanev4hf (__a, __b, __c);
17627 }
17628 
17629 __extension__ extern __inline float16x4_t
17630 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_f16(float16x4_t __a,float16_t __b)17631 vmul_n_f16 (float16x4_t __a, float16_t __b)
17632 {
17633   return __builtin_neon_vmul_nv4hf (__a, __b);
17634 }
17635 
17636 __extension__ extern __inline float16x8_t
17637 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_f16(float16x8_t __a,float16x8_t __b)17638 vmulq_f16 (float16x8_t __a, float16x8_t __b)
17639 {
17640 #ifdef __FAST_MATH__
17641   return __a * __b;
17642 #else
17643   return __builtin_neon_vmulfv8hf (__a, __b);
17644 #endif
17645 }
17646 
17647 __extension__ extern __inline float16x8_t
17648 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_f16(float16x8_t __a,float16x4_t __b,const int __c)17649 vmulq_lane_f16 (float16x8_t __a, float16x4_t __b, const int __c)
17650 {
17651   return __builtin_neon_vmul_lanev8hf (__a, __b, __c);
17652 }
17653 
17654 __extension__ extern __inline float16x8_t
17655 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_f16(float16x8_t __a,float16_t __b)17656 vmulq_n_f16 (float16x8_t __a, float16_t __b)
17657 {
17658   return __builtin_neon_vmul_nv8hf (__a, __b);
17659 }
17660 
17661 __extension__ extern __inline float16x4_t
17662 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vneg_f16(float16x4_t __a)17663 vneg_f16 (float16x4_t __a)
17664 {
17665   return __builtin_neon_vnegv4hf (__a);
17666 }
17667 
17668 __extension__ extern __inline float16x8_t
17669 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_f16(float16x8_t __a)17670 vnegq_f16 (float16x8_t __a)
17671 {
17672   return __builtin_neon_vnegv8hf (__a);
17673 }
17674 
17675 __extension__ extern __inline float16x4_t
17676 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_f16(float16x4_t __a,float16x4_t __b)17677 vpadd_f16 (float16x4_t __a, float16x4_t __b)
17678 {
17679   return __builtin_neon_vpaddv4hf (__a, __b);
17680 }
17681 
17682 __extension__ extern __inline float16x4_t
17683 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_f16(float16x4_t __a,float16x4_t __b)17684 vpmax_f16 (float16x4_t __a, float16x4_t __b)
17685 {
17686   return __builtin_neon_vpmaxfv4hf (__a, __b);
17687 }
17688 
17689 __extension__ extern __inline float16x4_t
17690 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_f16(float16x4_t __a,float16x4_t __b)17691 vpmin_f16 (float16x4_t __a, float16x4_t __b)
17692 {
17693   return __builtin_neon_vpminfv4hf (__a, __b);
17694 }
17695 
17696 __extension__ extern __inline float16x4_t
17697 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_f16(float16x4_t __a)17698 vrecpe_f16 (float16x4_t __a)
17699 {
17700   return __builtin_neon_vrecpev4hf (__a);
17701 }
17702 
17703 __extension__ extern __inline float16x8_t
17704 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_f16(float16x8_t __a)17705 vrecpeq_f16 (float16x8_t __a)
17706 {
17707   return __builtin_neon_vrecpev8hf (__a);
17708 }
17709 
17710 __extension__ extern __inline float16x4_t
17711 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrnd_f16(float16x4_t __a)17712 vrnd_f16 (float16x4_t __a)
17713 {
17714   return __builtin_neon_vrndv4hf (__a);
17715 }
17716 
17717 __extension__ extern __inline float16x8_t
17718 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndq_f16(float16x8_t __a)17719 vrndq_f16 (float16x8_t __a)
17720 {
17721   return __builtin_neon_vrndv8hf (__a);
17722 }
17723 
17724 __extension__ extern __inline float16x4_t
17725 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrnda_f16(float16x4_t __a)17726 vrnda_f16 (float16x4_t __a)
17727 {
17728   return __builtin_neon_vrndav4hf (__a);
17729 }
17730 
17731 __extension__ extern __inline float16x8_t
17732 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndaq_f16(float16x8_t __a)17733 vrndaq_f16 (float16x8_t __a)
17734 {
17735   return __builtin_neon_vrndav8hf (__a);
17736 }
17737 
17738 __extension__ extern __inline float16x4_t
17739 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndm_f16(float16x4_t __a)17740 vrndm_f16 (float16x4_t __a)
17741 {
17742   return __builtin_neon_vrndmv4hf (__a);
17743 }
17744 
17745 __extension__ extern __inline float16x8_t
17746 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndmq_f16(float16x8_t __a)17747 vrndmq_f16 (float16x8_t __a)
17748 {
17749   return __builtin_neon_vrndmv8hf (__a);
17750 }
17751 
17752 __extension__ extern __inline float16x4_t
17753 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndn_f16(float16x4_t __a)17754 vrndn_f16 (float16x4_t __a)
17755 {
17756   return __builtin_neon_vrndnv4hf (__a);
17757 }
17758 
17759 __extension__ extern __inline float16x8_t
17760 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndnq_f16(float16x8_t __a)17761 vrndnq_f16 (float16x8_t __a)
17762 {
17763   return __builtin_neon_vrndnv8hf (__a);
17764 }
17765 
17766 __extension__ extern __inline float16x4_t
17767 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndp_f16(float16x4_t __a)17768 vrndp_f16 (float16x4_t __a)
17769 {
17770   return __builtin_neon_vrndpv4hf (__a);
17771 }
17772 
17773 __extension__ extern __inline float16x8_t
17774 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndpq_f16(float16x8_t __a)17775 vrndpq_f16 (float16x8_t __a)
17776 {
17777   return __builtin_neon_vrndpv8hf (__a);
17778 }
17779 
17780 __extension__ extern __inline float16x4_t
17781 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndx_f16(float16x4_t __a)17782 vrndx_f16 (float16x4_t __a)
17783 {
17784   return __builtin_neon_vrndxv4hf (__a);
17785 }
17786 
17787 __extension__ extern __inline float16x8_t
17788 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndxq_f16(float16x8_t __a)17789 vrndxq_f16 (float16x8_t __a)
17790 {
17791   return __builtin_neon_vrndxv8hf (__a);
17792 }
17793 
17794 __extension__ extern __inline float16x4_t
17795 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_f16(float16x4_t __a)17796 vrsqrte_f16 (float16x4_t __a)
17797 {
17798   return __builtin_neon_vrsqrtev4hf (__a);
17799 }
17800 
17801 __extension__ extern __inline float16x8_t
17802 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_f16(float16x8_t __a)17803 vrsqrteq_f16 (float16x8_t __a)
17804 {
17805   return __builtin_neon_vrsqrtev8hf (__a);
17806 }
17807 
17808 __extension__ extern __inline float16x4_t
17809 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecps_f16(float16x4_t __a,float16x4_t __b)17810 vrecps_f16 (float16x4_t __a, float16x4_t __b)
17811 {
17812   return __builtin_neon_vrecpsv4hf (__a, __b);
17813 }
17814 
17815 __extension__ extern __inline float16x8_t
17816 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsq_f16(float16x8_t __a,float16x8_t __b)17817 vrecpsq_f16 (float16x8_t __a, float16x8_t __b)
17818 {
17819   return __builtin_neon_vrecpsv8hf (__a, __b);
17820 }
17821 
17822 __extension__ extern __inline float16x4_t
17823 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrts_f16(float16x4_t __a,float16x4_t __b)17824 vrsqrts_f16 (float16x4_t __a, float16x4_t __b)
17825 {
17826   return __builtin_neon_vrsqrtsv4hf (__a, __b);
17827 }
17828 
17829 __extension__ extern __inline float16x8_t
17830 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsq_f16(float16x8_t __a,float16x8_t __b)17831 vrsqrtsq_f16 (float16x8_t __a, float16x8_t __b)
17832 {
17833   return __builtin_neon_vrsqrtsv8hf (__a, __b);
17834 }
17835 
17836 __extension__ extern __inline float16x4_t
17837 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_f16(float16x4_t __a,float16x4_t __b)17838 vsub_f16 (float16x4_t __a, float16x4_t __b)
17839 {
17840 #ifdef __FAST_MATH__
17841   return __a - __b;
17842 #else
17843   return __builtin_neon_vsubv4hf (__a, __b);
17844 #endif
17845 }
17846 
17847 __extension__ extern __inline float16x8_t
17848 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_f16(float16x8_t __a,float16x8_t __b)17849 vsubq_f16 (float16x8_t __a, float16x8_t __b)
17850 {
17851 #ifdef __FAST_MATH__
17852   return __a - __b;
17853 #else
17854   return __builtin_neon_vsubv8hf (__a, __b);
17855 #endif
17856 }
17857 
17858 #endif /* __ARM_FEATURE_VECTOR_FP16_ARITHMETIC.  */
17859 #pragma GCC pop_options
17860 
17861   /* Half-precision data processing intrinsics.  */
17862 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17863 
17864 __extension__ extern __inline float16x4_t
17865 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_f16(uint16x4_t __a,float16x4_t __b,float16x4_t __c)17866 vbsl_f16 (uint16x4_t __a, float16x4_t __b, float16x4_t __c)
17867 {
17868   return __builtin_neon_vbslv4hf ((int16x4_t)__a, __b, __c);
17869 }
17870 
17871 __extension__ extern __inline float16x8_t
17872 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_f16(uint16x8_t __a,float16x8_t __b,float16x8_t __c)17873 vbslq_f16 (uint16x8_t __a, float16x8_t __b, float16x8_t __c)
17874 {
17875   return __builtin_neon_vbslv8hf ((int16x8_t)__a, __b, __c);
17876 }
17877 
17878 __extension__ extern __inline float16x4_t
17879 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_f16(float16_t __a)17880 vdup_n_f16 (float16_t __a)
17881 {
17882   return __builtin_neon_vdup_nv4hf (__a);
17883 }
17884 
17885 __extension__ extern __inline float16x8_t
17886 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_f16(float16_t __a)17887 vdupq_n_f16 (float16_t __a)
17888 {
17889   return __builtin_neon_vdup_nv8hf (__a);
17890 }
17891 
17892 __extension__ extern __inline float16x4_t
17893 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_f16(float16x4_t __a,const int __b)17894 vdup_lane_f16 (float16x4_t __a, const int __b)
17895 {
17896   return __builtin_neon_vdup_lanev4hf (__a, __b);
17897 }
17898 
17899 __extension__ extern __inline float16x8_t
17900 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_f16(float16x4_t __a,const int __b)17901 vdupq_lane_f16 (float16x4_t __a, const int __b)
17902 {
17903   return __builtin_neon_vdup_lanev8hf (__a, __b);
17904 }
17905 
17906 __extension__ extern __inline float16x4_t
17907 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_f16(float16x4_t __a,float16x4_t __b,const int __c)17908 vext_f16 (float16x4_t __a, float16x4_t __b, const int __c)
17909 {
17910   return __builtin_neon_vextv4hf (__a, __b, __c);
17911 }
17912 
17913 __extension__ extern __inline float16x8_t
17914 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_f16(float16x8_t __a,float16x8_t __b,const int __c)17915 vextq_f16 (float16x8_t __a, float16x8_t __b, const int __c)
17916 {
17917   return __builtin_neon_vextv8hf (__a, __b, __c);
17918 }
17919 
17920 __extension__ extern __inline float16x4_t
17921 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_f16(float16_t __a)17922 vmov_n_f16 (float16_t __a)
17923 {
17924   return __builtin_neon_vdup_nv4hf (__a);
17925 }
17926 
17927 __extension__ extern __inline float16x8_t
17928 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_f16(float16_t __a)17929 vmovq_n_f16 (float16_t __a)
17930 {
17931   return __builtin_neon_vdup_nv8hf (__a);
17932 }
17933 
17934 __extension__ extern __inline float16x4_t
17935 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_f16(float16x4_t __a)17936 vrev64_f16 (float16x4_t __a)
17937 {
17938   return (float16x4_t)__builtin_shuffle (__a, (uint16x4_t){ 3, 2, 1, 0 });
17939 }
17940 
17941 __extension__ extern __inline float16x8_t
17942 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_f16(float16x8_t __a)17943 vrev64q_f16 (float16x8_t __a)
17944 {
17945   return
17946     (float16x8_t)__builtin_shuffle (__a,
17947 				    (uint16x8_t){ 3, 2, 1, 0, 7, 6, 5, 4 });
17948 }
17949 
17950 __extension__ extern __inline float16x4x2_t
17951 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_f16(float16x4_t __a,float16x4_t __b)17952 vtrn_f16 (float16x4_t __a, float16x4_t __b)
17953 {
17954   float16x4x2_t __rv;
17955 #ifdef __ARM_BIG_ENDIAN
17956   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t){ 5, 1, 7, 3 });
17957   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t){ 4, 0, 6, 2 });
17958 #else
17959   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t){ 0, 4, 2, 6 });
17960   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t){ 1, 5, 3, 7 });
17961 #endif
17962   return __rv;
17963 }
17964 
17965 __extension__ extern __inline float16x8x2_t
17966 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_f16(float16x8_t __a,float16x8_t __b)17967 vtrnq_f16 (float16x8_t __a, float16x8_t __b)
17968 {
17969   float16x8x2_t __rv;
17970 #ifdef __ARM_BIG_ENDIAN
17971   __rv.val[0] = __builtin_shuffle (__a, __b,
17972 				   (uint16x8_t){ 9, 1, 11, 3, 13, 5, 15, 7 });
17973   __rv.val[1] = __builtin_shuffle (__a, __b,
17974 				   (uint16x8_t){ 8, 0, 10, 2, 12, 4, 14, 6 });
17975 #else
17976   __rv.val[0] = __builtin_shuffle (__a, __b,
17977 				   (uint16x8_t){ 0, 8, 2, 10, 4, 12, 6, 14 });
17978   __rv.val[1] = __builtin_shuffle (__a, __b,
17979 				   (uint16x8_t){ 1, 9, 3, 11, 5, 13, 7, 15 });
17980 #endif
17981   return __rv;
17982 }
17983 
17984 __extension__ extern __inline float16x4x2_t
17985 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_f16(float16x4_t __a,float16x4_t __b)17986 vuzp_f16 (float16x4_t __a, float16x4_t __b)
17987 {
17988   float16x4x2_t __rv;
17989 #ifdef __ARM_BIG_ENDIAN
17990   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t){ 5, 7, 1, 3 });
17991   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t){ 4, 6, 0, 2 });
17992 #else
17993   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t){ 0, 2, 4, 6 });
17994   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t){ 1, 3, 5, 7 });
17995 #endif
17996   return __rv;
17997 }
17998 
17999 __extension__ extern __inline float16x8x2_t
18000 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_f16(float16x8_t __a,float16x8_t __b)18001 vuzpq_f16 (float16x8_t __a, float16x8_t __b)
18002 {
18003   float16x8x2_t __rv;
18004 #ifdef __ARM_BIG_ENDIAN
18005   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
18006 				   { 5, 7, 1, 3, 13, 15, 9, 11 });
18007   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
18008 				   { 4, 6, 0, 2, 12, 14, 8, 10 });
18009 #else
18010   __rv.val[0] = __builtin_shuffle (__a, __b,
18011 				   (uint16x8_t){ 0, 2, 4, 6, 8, 10, 12, 14 });
18012   __rv.val[1] = __builtin_shuffle (__a, __b,
18013 				   (uint16x8_t){ 1, 3, 5, 7, 9, 11, 13, 15 });
18014 #endif
18015   return __rv;
18016 }
18017 
18018 __extension__ extern __inline float16x4x2_t
18019 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_f16(float16x4_t __a,float16x4_t __b)18020 vzip_f16 (float16x4_t __a, float16x4_t __b)
18021 {
18022   float16x4x2_t __rv;
18023 #ifdef __ARM_BIG_ENDIAN
18024   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t){ 6, 2, 7, 3 });
18025   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t){ 4, 0, 5, 1 });
18026 #else
18027   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t){ 0, 4, 1, 5 });
18028   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t){ 2, 6, 3, 7 });
18029 #endif
18030   return __rv;
18031 }
18032 
18033 __extension__ extern __inline float16x8x2_t
18034 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_f16(float16x8_t __a,float16x8_t __b)18035 vzipq_f16 (float16x8_t __a, float16x8_t __b)
18036 {
18037   float16x8x2_t __rv;
18038 #ifdef __ARM_BIG_ENDIAN
18039   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
18040 				   { 10, 2, 11, 3, 8, 0, 9, 1 });
18041   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
18042 				   { 14, 6, 15, 7, 12, 4, 13, 5 });
18043 #else
18044   __rv.val[0] = __builtin_shuffle (__a, __b,
18045 				   (uint16x8_t){ 0, 8, 1, 9, 2, 10, 3, 11 });
18046   __rv.val[1] = __builtin_shuffle (__a, __b,
18047 				   (uint16x8_t){ 4, 12, 5, 13, 6, 14, 7, 15 });
18048 #endif
18049   return __rv;
18050 }
18051 
18052 #endif
18053 
18054 /* AdvSIMD Dot Product intrinsics.  */
18055 
18056 #if __ARM_ARCH >= 8
18057 #pragma GCC push_options
18058 #pragma GCC target ("arch=armv8.2-a+dotprod")
18059 
18060 __extension__ extern __inline uint32x2_t
18061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_u32(uint32x2_t __r,uint8x8_t __a,uint8x8_t __b)18062 vdot_u32 (uint32x2_t __r, uint8x8_t __a, uint8x8_t __b)
18063 {
18064   return __builtin_neon_udotv8qi_uuuu (__r, __a, __b);
18065 }
18066 
18067 __extension__ extern __inline uint32x4_t
18068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_u32(uint32x4_t __r,uint8x16_t __a,uint8x16_t __b)18069 vdotq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b)
18070 {
18071   return __builtin_neon_udotv16qi_uuuu (__r, __a, __b);
18072 }
18073 
18074 __extension__ extern __inline int32x2_t
18075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_s32(int32x2_t __r,int8x8_t __a,int8x8_t __b)18076 vdot_s32 (int32x2_t __r, int8x8_t __a, int8x8_t __b)
18077 {
18078   return __builtin_neon_sdotv8qi (__r, __a, __b);
18079 }
18080 
18081 __extension__ extern __inline int32x4_t
18082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_s32(int32x4_t __r,int8x16_t __a,int8x16_t __b)18083 vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
18084 {
18085   return __builtin_neon_sdotv16qi (__r, __a, __b);
18086 }
18087 
18088 __extension__ extern __inline uint32x2_t
18089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_lane_u32(uint32x2_t __r,uint8x8_t __a,uint8x8_t __b,const int __index)18090 vdot_lane_u32 (uint32x2_t __r, uint8x8_t __a, uint8x8_t __b, const int __index)
18091 {
18092   return __builtin_neon_udot_lanev8qi_uuuus (__r, __a, __b, __index);
18093 }
18094 
18095 __extension__ extern __inline uint32x4_t
18096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_lane_u32(uint32x4_t __r,uint8x16_t __a,uint8x8_t __b,const int __index)18097 vdotq_lane_u32 (uint32x4_t __r, uint8x16_t __a, uint8x8_t __b,
18098 		const int __index)
18099 {
18100   return __builtin_neon_udot_lanev16qi_uuuus (__r, __a, __b, __index);
18101 }
18102 
18103 __extension__ extern __inline int32x2_t
18104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_lane_s32(int32x2_t __r,int8x8_t __a,int8x8_t __b,const int __index)18105 vdot_lane_s32 (int32x2_t __r, int8x8_t __a, int8x8_t __b, const int __index)
18106 {
18107   return __builtin_neon_sdot_lanev8qi (__r, __a, __b, __index);
18108 }
18109 
18110 __extension__ extern __inline int32x4_t
18111 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_lane_s32(int32x4_t __r,int8x16_t __a,int8x8_t __b,const int __index)18112 vdotq_lane_s32 (int32x4_t __r, int8x16_t __a, int8x8_t __b, const int __index)
18113 {
18114   return __builtin_neon_sdot_lanev16qi (__r, __a, __b, __index);
18115 }
18116 
18117 #pragma GCC pop_options
18118 #endif
18119 
18120 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
18121 #pragma GCC push_options
18122 #pragma GCC target ("arch=armv8.2-a+fp16fml")
18123 
18124 __extension__ extern __inline float32x2_t
18125 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)18126 vfmlal_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
18127 {
18128   return __builtin_neon_vfmal_lowv2sf (__r, __a, __b);
18129 }
18130 
18131 __extension__ extern __inline float32x2_t
18132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)18133 vfmlsl_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
18134 {
18135   return __builtin_neon_vfmsl_lowv2sf (__r, __a, __b);
18136 }
18137 
18138 __extension__ extern __inline float32x2_t
18139 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)18140 vfmlal_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
18141 {
18142   return __builtin_neon_vfmal_highv2sf (__r, __a, __b);
18143 }
18144 
18145 __extension__ extern __inline float32x2_t
18146 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)18147 vfmlsl_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
18148 {
18149   return __builtin_neon_vfmsl_highv2sf (__r, __a, __b);
18150 }
18151 
18152 __extension__ extern __inline float32x4_t
18153 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)18154 vfmlalq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
18155 {
18156   return __builtin_neon_vfmal_lowv4sf (__r, __a, __b);
18157 }
18158 
18159 __extension__ extern __inline float32x4_t
18160 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)18161 vfmlslq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
18162 {
18163   return __builtin_neon_vfmsl_lowv4sf (__r, __a, __b);
18164 }
18165 
18166 __extension__ extern __inline float32x4_t
18167 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)18168 vfmlalq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
18169 {
18170   return __builtin_neon_vfmal_highv4sf (__r, __a, __b);
18171 }
18172 
18173 __extension__ extern __inline float32x4_t
18174 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)18175 vfmlslq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
18176 {
18177   return __builtin_neon_vfmsl_highv4sf (__r, __a, __b);
18178 }
18179 
18180 __extension__ extern __inline float32x2_t
18181 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_lane_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __index)18182 vfmlal_lane_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
18183 		     const int __index)
18184 {
18185   __builtin_arm_lane_check (4, __index);
18186   return __builtin_neon_vfmal_lane_lowv2sf (__r, __a, __b, __index);
18187 }
18188 
18189 __extension__ extern __inline float32x2_t
18190 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_lane_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __index)18191 vfmlal_lane_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
18192 		      const int __index)
18193 {
18194   __builtin_arm_lane_check (4, __index);
18195   return __builtin_neon_vfmal_lane_highv2sf (__r, __a, __b, __index);
18196 }
18197 
18198 __extension__ extern __inline float32x4_t
18199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_laneq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __index)18200 vfmlalq_laneq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
18201 		       const int __index)
18202 {
18203   __builtin_arm_lane_check (8, __index);
18204   return __builtin_neon_vfmal_lane_lowv4sf (__r, __a, __b, __index);
18205 }
18206 
18207 __extension__ extern __inline float32x4_t
18208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_lane_low_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __index)18209 vfmlalq_lane_low_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
18210 		       const int __index)
18211 {
18212   __builtin_arm_lane_check (4, __index);
18213   return __builtin_neon_vfmal_lane_lowv4hfv4sf (__r, __a, __b, __index);
18214 }
18215 
18216 __extension__ extern __inline float32x2_t
18217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_laneq_low_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __index)18218 vfmlal_laneq_low_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
18219 		       const int __index)
18220 {
18221   __builtin_arm_lane_check (8, __index);
18222   return __builtin_neon_vfmal_lane_lowv8hfv2sf (__r, __a, __b, __index);
18223 }
18224 
18225 __extension__ extern __inline float32x4_t
18226 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_laneq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __index)18227 vfmlalq_laneq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
18228 			const int __index)
18229 {
18230   __builtin_arm_lane_check (8, __index);
18231   return __builtin_neon_vfmal_lane_highv4sf (__r, __a, __b, __index);
18232 }
18233 
18234 __extension__ extern __inline float32x4_t
18235 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_lane_high_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __index)18236 vfmlalq_lane_high_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
18237 		       const int __index)
18238 {
18239   __builtin_arm_lane_check (4, __index);
18240   return __builtin_neon_vfmal_lane_highv4hfv4sf (__r, __a, __b, __index);
18241 }
18242 
18243 __extension__ extern __inline float32x2_t
18244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_laneq_high_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __index)18245 vfmlal_laneq_high_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
18246 		       const int __index)
18247 {
18248   __builtin_arm_lane_check (8, __index);
18249   return __builtin_neon_vfmal_lane_highv8hfv2sf (__r, __a, __b, __index);
18250 }
18251 
18252 __extension__ extern __inline float32x2_t
18253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_lane_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __index)18254 vfmlsl_lane_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
18255 		     const int __index)
18256 {
18257   __builtin_arm_lane_check (4, __index);
18258   return __builtin_neon_vfmsl_lane_lowv2sf (__r, __a, __b, __index);
18259 }
18260 
18261 __extension__ extern __inline float32x2_t
18262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_lane_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __index)18263 vfmlsl_lane_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
18264 		      const int __index)
18265 {
18266   __builtin_arm_lane_check (4, __index);
18267   return __builtin_neon_vfmsl_lane_highv2sf (__r, __a, __b, __index);
18268 }
18269 
18270 __extension__ extern __inline float32x4_t
18271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_laneq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __index)18272 vfmlslq_laneq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
18273 		       const int __index)
18274 {
18275   __builtin_arm_lane_check (8, __index);
18276   return __builtin_neon_vfmsl_lane_lowv4sf (__r, __a, __b, __index);
18277 }
18278 
18279 __extension__ extern __inline float32x4_t
18280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_lane_low_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __index)18281 vfmlslq_lane_low_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
18282 		       const int __index)
18283 {
18284   __builtin_arm_lane_check (4, __index);
18285   return __builtin_neon_vfmsl_lane_lowv4hfv4sf (__r, __a, __b, __index);
18286 }
18287 
18288 __extension__ extern __inline float32x2_t
18289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_laneq_low_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __index)18290 vfmlsl_laneq_low_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
18291 		       const int __index)
18292 {
18293   __builtin_arm_lane_check (8, __index);
18294   return __builtin_neon_vfmsl_lane_lowv8hfv2sf (__r, __a, __b, __index);
18295 }
18296 
18297 __extension__ extern __inline float32x4_t
18298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_laneq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __index)18299 vfmlslq_laneq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
18300 			const int __index)
18301 {
18302   __builtin_arm_lane_check (8, __index);
18303   return __builtin_neon_vfmsl_lane_highv4sf (__r, __a, __b, __index);
18304 }
18305 
18306 __extension__ extern __inline float32x4_t
18307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_lane_high_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __index)18308 vfmlslq_lane_high_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
18309 		       const int __index)
18310 {
18311   __builtin_arm_lane_check (4, __index);
18312   return __builtin_neon_vfmsl_lane_highv4hfv4sf (__r, __a, __b, __index);
18313 }
18314 
18315 __extension__ extern __inline float32x2_t
18316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_laneq_high_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __index)18317 vfmlsl_laneq_high_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
18318 		       const int __index)
18319 {
18320   __builtin_arm_lane_check (8, __index);
18321   return __builtin_neon_vfmsl_lane_highv8hfv2sf (__r, __a, __b, __index);
18322 }
18323 
18324 #pragma GCC pop_options
18325 #endif
18326 
18327 /* AdvSIMD Complex numbers intrinsics.  */
18328 #if __ARM_ARCH >= 8
18329 #pragma GCC push_options
18330 #pragma GCC target ("arch=armv8.3-a")
18331 
18332 
18333 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
18334 #pragma GCC push_options
18335 #pragma GCC target ("+fp16")
18336 __extension__ extern __inline float16x4_t
18337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot90_f16(float16x4_t __a,float16x4_t __b)18338 vcadd_rot90_f16 (float16x4_t __a, float16x4_t __b)
18339 {
18340   return __builtin_neon_vcadd90v4hf (__a, __b);
18341 }
18342 
18343 __extension__ extern __inline float16x8_t
18344 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot90_f16(float16x8_t __a,float16x8_t __b)18345 vcaddq_rot90_f16 (float16x8_t __a, float16x8_t __b)
18346 {
18347   return __builtin_neon_vcadd90v8hf (__a, __b);
18348 }
18349 
18350 __extension__ extern __inline float16x4_t
18351 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot270_f16(float16x4_t __a,float16x4_t __b)18352 vcadd_rot270_f16 (float16x4_t __a, float16x4_t __b)
18353 {
18354   return __builtin_neon_vcadd90v4hf (__a, __b);
18355 }
18356 
18357 __extension__ extern __inline float16x8_t
18358 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot270_f16(float16x8_t __a,float16x8_t __b)18359 vcaddq_rot270_f16 (float16x8_t __a, float16x8_t __b)
18360 {
18361   return __builtin_neon_vcadd90v8hf (__a, __b);
18362 }
18363 
18364 __extension__ extern __inline float16x4_t
18365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)18366 vcmla_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
18367 {
18368   return __builtin_neon_vcmla0v4hf (__r, __a, __b);
18369 }
18370 
18371 __extension__ extern __inline float16x8_t
18372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)18373 vcmlaq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
18374 {
18375   return __builtin_neon_vcmla0v8hf (__r, __a, __b);
18376 }
18377 
18378 __extension__ extern __inline float16x4_t
18379 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)18380 vcmla_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
18381 		const int __index)
18382 {
18383   return __builtin_neon_vcmla_lane0v4hf (__r, __a, __b, __index);
18384 }
18385 
18386 __extension__ extern __inline float16x4_t
18387 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)18388 vcmla_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
18389 		 const int __index)
18390 {
18391   return __builtin_neon_vcmla_laneq0v4hf (__r, __a, __b, __index);
18392 }
18393 
18394 __extension__ extern __inline float16x8_t
18395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)18396 vcmlaq_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
18397 		 const int __index)
18398 {
18399   return __builtin_neon_vcmlaq_lane0v8hf (__r, __a, __b, __index);
18400 }
18401 
18402 __extension__ extern __inline float16x8_t
18403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)18404 vcmlaq_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
18405 		  const int __index)
18406 {
18407   return __builtin_neon_vcmla_lane0v8hf (__r, __a, __b, __index);
18408 }
18409 
18410 __extension__ extern __inline float16x4_t
18411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)18412 vcmla_rot90_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
18413 {
18414   return __builtin_neon_vcmla90v4hf (__r, __a, __b);
18415 }
18416 
18417 __extension__ extern __inline float16x8_t
18418 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)18419 vcmlaq_rot90_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
18420 {
18421   return __builtin_neon_vcmla90v8hf (__r, __a, __b);
18422 }
18423 
18424 __extension__ extern __inline float16x4_t
18425 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)18426 vcmla_rot90_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
18427 		      const int __index)
18428 {
18429   return __builtin_neon_vcmla_lane90v4hf (__r, __a, __b, __index);
18430 }
18431 
18432 __extension__ extern __inline float16x4_t
18433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)18434 vcmla_rot90_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
18435 		       const int __index)
18436 {
18437   return __builtin_neon_vcmla_laneq90v4hf (__r, __a, __b, __index);
18438 }
18439 
18440 __extension__ extern __inline float16x8_t
18441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)18442 vcmlaq_rot90_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
18443 		       const int __index)
18444 {
18445   return __builtin_neon_vcmlaq_lane90v8hf (__r, __a, __b, __index);
18446 }
18447 
18448 __extension__ extern __inline float16x8_t
18449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)18450 vcmlaq_rot90_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
18451 			const int __index)
18452 {
18453   return __builtin_neon_vcmla_lane90v8hf (__r, __a, __b, __index);
18454 }
18455 
18456 __extension__ extern __inline float16x4_t
18457 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)18458 vcmla_rot180_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
18459 {
18460   return __builtin_neon_vcmla180v4hf (__r, __a, __b);
18461 }
18462 
18463 __extension__ extern __inline float16x8_t
18464 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)18465 vcmlaq_rot180_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
18466 {
18467   return __builtin_neon_vcmla180v8hf (__r, __a, __b);
18468 }
18469 
18470 __extension__ extern __inline float16x4_t
18471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)18472 vcmla_rot180_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
18473 		       const int __index)
18474 {
18475   return __builtin_neon_vcmla_lane180v4hf (__r, __a, __b, __index);
18476 }
18477 
18478 __extension__ extern __inline float16x4_t
18479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)18480 vcmla_rot180_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
18481 			const int __index)
18482 {
18483   return __builtin_neon_vcmla_laneq180v4hf (__r, __a, __b, __index);
18484 }
18485 
18486 __extension__ extern __inline float16x8_t
18487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)18488 vcmlaq_rot180_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
18489 			const int __index)
18490 {
18491   return __builtin_neon_vcmlaq_lane180v8hf (__r, __a, __b, __index);
18492 }
18493 
18494 __extension__ extern __inline float16x8_t
18495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)18496 vcmlaq_rot180_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
18497 			 const int __index)
18498 {
18499   return __builtin_neon_vcmla_lane180v8hf (__r, __a, __b, __index);
18500 }
18501 
18502 __extension__ extern __inline float16x4_t
18503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)18504 vcmla_rot270_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
18505 {
18506   return __builtin_neon_vcmla270v4hf (__r, __a, __b);
18507 }
18508 
18509 __extension__ extern __inline float16x8_t
18510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)18511 vcmlaq_rot270_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
18512 {
18513   return __builtin_neon_vcmla270v8hf (__r, __a, __b);
18514 }
18515 
18516 __extension__ extern __inline float16x4_t
18517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)18518 vcmla_rot270_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
18519 		       const int __index)
18520 {
18521   return __builtin_neon_vcmla_lane270v4hf (__r, __a, __b, __index);
18522 }
18523 
18524 __extension__ extern __inline float16x4_t
18525 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)18526 vcmla_rot270_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
18527 			const int __index)
18528 {
18529   return __builtin_neon_vcmla_laneq270v4hf (__r, __a, __b, __index);
18530 }
18531 
18532 __extension__ extern __inline float16x8_t
18533 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)18534 vcmlaq_rot270_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
18535 			const int __index)
18536 {
18537   return __builtin_neon_vcmlaq_lane270v8hf (__r, __a, __b, __index);
18538 }
18539 
18540 __extension__ extern __inline float16x8_t
18541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)18542 vcmlaq_rot270_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
18543 			 const int __index)
18544 {
18545   return __builtin_neon_vcmla_lane270v8hf (__r, __a, __b, __index);
18546 }
18547 
18548 #pragma GCC pop_options
18549 #endif
18550 
18551 __extension__ extern __inline float32x2_t
18552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot90_f32(float32x2_t __a,float32x2_t __b)18553 vcadd_rot90_f32 (float32x2_t __a, float32x2_t __b)
18554 {
18555   return __builtin_neon_vcadd90v2sf (__a, __b);
18556 }
18557 
18558 __extension__ extern __inline float32x4_t
18559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot90_f32(float32x4_t __a,float32x4_t __b)18560 vcaddq_rot90_f32 (float32x4_t __a, float32x4_t __b)
18561 {
18562   return __builtin_neon_vcadd90v4sf (__a, __b);
18563 }
18564 
18565 __extension__ extern __inline float32x2_t
18566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot270_f32(float32x2_t __a,float32x2_t __b)18567 vcadd_rot270_f32 (float32x2_t __a, float32x2_t __b)
18568 {
18569   return __builtin_neon_vcadd90v2sf (__a, __b);
18570 }
18571 
18572 __extension__ extern __inline float32x4_t
18573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot270_f32(float32x4_t __a,float32x4_t __b)18574 vcaddq_rot270_f32 (float32x4_t __a, float32x4_t __b)
18575 {
18576   return __builtin_neon_vcadd90v4sf (__a, __b);
18577 }
18578 
18579 __extension__ extern __inline float32x2_t
18580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)18581 vcmla_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
18582 {
18583   return __builtin_neon_vcmla0v2sf (__r, __a, __b);
18584 }
18585 
18586 __extension__ extern __inline float32x4_t
18587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)18588 vcmlaq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
18589 {
18590   return __builtin_neon_vcmla0v4sf (__r, __a, __b);
18591 }
18592 
18593 __extension__ extern __inline float32x2_t
18594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)18595 vcmla_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
18596 		const int __index)
18597 {
18598   return __builtin_neon_vcmla_lane0v2sf (__r, __a, __b, __index);
18599 }
18600 
18601 __extension__ extern __inline float32x2_t
18602 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)18603 vcmla_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
18604 		 const int __index)
18605 {
18606   return __builtin_neon_vcmla_laneq0v2sf (__r, __a, __b, __index);
18607 }
18608 
18609 __extension__ extern __inline float32x4_t
18610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)18611 vcmlaq_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
18612 		 const int __index)
18613 {
18614   return __builtin_neon_vcmlaq_lane0v4sf (__r, __a, __b, __index);
18615 }
18616 
18617 __extension__ extern __inline float32x4_t
18618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)18619 vcmlaq_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
18620 		  const int __index)
18621 {
18622   return __builtin_neon_vcmla_lane0v4sf (__r, __a, __b, __index);
18623 }
18624 
18625 __extension__ extern __inline float32x2_t
18626 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)18627 vcmla_rot90_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
18628 {
18629   return __builtin_neon_vcmla90v2sf (__r, __a, __b);
18630 }
18631 
18632 __extension__ extern __inline float32x4_t
18633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)18634 vcmlaq_rot90_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
18635 {
18636   return __builtin_neon_vcmla90v4sf (__r, __a, __b);
18637 }
18638 
18639 __extension__ extern __inline float32x2_t
18640 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)18641 vcmla_rot90_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
18642 		      const int __index)
18643 {
18644   return __builtin_neon_vcmla_lane90v2sf (__r, __a, __b, __index);
18645 }
18646 
18647 __extension__ extern __inline float32x2_t
18648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)18649 vcmla_rot90_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
18650 		       const int __index)
18651 {
18652   return __builtin_neon_vcmla_laneq90v2sf (__r, __a, __b, __index);
18653 }
18654 
18655 __extension__ extern __inline float32x4_t
18656 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)18657 vcmlaq_rot90_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
18658 		       const int __index)
18659 {
18660   return __builtin_neon_vcmlaq_lane90v4sf (__r, __a, __b, __index);
18661 }
18662 
18663 __extension__ extern __inline float32x4_t
18664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)18665 vcmlaq_rot90_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
18666 			const int __index)
18667 {
18668   return __builtin_neon_vcmla_lane90v4sf (__r, __a, __b, __index);
18669 }
18670 
18671 __extension__ extern __inline float32x2_t
18672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)18673 vcmla_rot180_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
18674 {
18675   return __builtin_neon_vcmla180v2sf (__r, __a, __b);
18676 }
18677 
18678 __extension__ extern __inline float32x4_t
18679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)18680 vcmlaq_rot180_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
18681 {
18682   return __builtin_neon_vcmla180v4sf (__r, __a, __b);
18683 }
18684 
18685 __extension__ extern __inline float32x2_t
18686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)18687 vcmla_rot180_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
18688 		       const int __index)
18689 {
18690   return __builtin_neon_vcmla_lane180v2sf (__r, __a, __b, __index);
18691 }
18692 
18693 __extension__ extern __inline float32x2_t
18694 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)18695 vcmla_rot180_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
18696 			const int __index)
18697 {
18698   return __builtin_neon_vcmla_laneq180v2sf (__r, __a, __b, __index);
18699 }
18700 
18701 __extension__ extern __inline float32x4_t
18702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)18703 vcmlaq_rot180_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
18704 			const int __index)
18705 {
18706   return __builtin_neon_vcmlaq_lane180v4sf (__r, __a, __b, __index);
18707 }
18708 
18709 __extension__ extern __inline float32x4_t
18710 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)18711 vcmlaq_rot180_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
18712 			 const int __index)
18713 {
18714   return __builtin_neon_vcmla_lane180v4sf (__r, __a, __b, __index);
18715 }
18716 
18717 __extension__ extern __inline float32x2_t
18718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)18719 vcmla_rot270_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
18720 {
18721   return __builtin_neon_vcmla270v2sf (__r, __a, __b);
18722 }
18723 
18724 __extension__ extern __inline float32x4_t
18725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)18726 vcmlaq_rot270_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
18727 {
18728   return __builtin_neon_vcmla270v4sf (__r, __a, __b);
18729 }
18730 
18731 __extension__ extern __inline float32x2_t
18732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)18733 vcmla_rot270_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
18734 		       const int __index)
18735 {
18736   return __builtin_neon_vcmla_lane270v2sf (__r, __a, __b, __index);
18737 }
18738 
18739 __extension__ extern __inline float32x2_t
18740 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)18741 vcmla_rot270_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
18742 			const int __index)
18743 {
18744   return __builtin_neon_vcmla_laneq270v2sf (__r, __a, __b, __index);
18745 }
18746 
18747 __extension__ extern __inline float32x4_t
18748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)18749 vcmlaq_rot270_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
18750 			const int __index)
18751 {
18752   return __builtin_neon_vcmlaq_lane270v4sf (__r, __a, __b, __index);
18753 }
18754 
18755 __extension__ extern __inline float32x4_t
18756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)18757 vcmlaq_rot270_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
18758 			 const int __index)
18759 {
18760   return __builtin_neon_vcmla_lane270v4sf (__r, __a, __b, __index);
18761 }
18762 
18763 
18764 /* AdvSIMD Matrix Multiply-Accumulate and Dot Product intrinsics.  */
18765 #pragma GCC push_options
18766 #pragma GCC target ("arch=armv8.2-a+i8mm")
18767 
18768 __extension__ extern __inline int32x2_t
18769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdot_s32(int32x2_t __r,uint8x8_t __a,int8x8_t __b)18770 vusdot_s32 (int32x2_t __r, uint8x8_t __a, int8x8_t __b)
18771 {
18772   return __builtin_neon_usdotv8qi_ssus (__r, __a, __b);
18773 }
18774 
18775 __extension__ extern __inline int32x2_t
18776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdot_lane_s32(int32x2_t __r,uint8x8_t __a,int8x8_t __b,const int __index)18777 vusdot_lane_s32 (int32x2_t __r, uint8x8_t __a,
18778 		 int8x8_t __b, const int __index)
18779 {
18780   return __builtin_neon_usdot_lanev8qi_ssuss (__r, __a, __b, __index);
18781 }
18782 
18783 __extension__ extern __inline int32x4_t
18784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdotq_lane_s32(int32x4_t __r,uint8x16_t __a,int8x8_t __b,const int __index)18785 vusdotq_lane_s32 (int32x4_t __r, uint8x16_t __a,
18786 		  int8x8_t __b, const int __index)
18787 {
18788   return __builtin_neon_usdot_lanev16qi_ssuss (__r, __a, __b, __index);
18789 }
18790 
18791 __extension__ extern __inline int32x2_t
18792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudot_lane_s32(int32x2_t __r,int8x8_t __a,uint8x8_t __b,const int __index)18793 vsudot_lane_s32 (int32x2_t __r, int8x8_t __a,
18794 		 uint8x8_t __b, const int __index)
18795 {
18796   return __builtin_neon_sudot_lanev8qi_sssus (__r, __a, __b, __index);
18797 }
18798 
18799 __extension__ extern __inline int32x4_t
18800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudotq_lane_s32(int32x4_t __r,int8x16_t __a,uint8x8_t __b,const int __index)18801 vsudotq_lane_s32 (int32x4_t __r, int8x16_t __a,
18802 		  uint8x8_t __b, const int __index)
18803 {
18804   return __builtin_neon_sudot_lanev16qi_sssus (__r, __a, __b, __index);
18805 }
18806 
18807 #pragma GCC pop_options
18808 
18809 #pragma GCC pop_options
18810 #endif
18811 
18812 /* AdvSIMD 8-bit Integer Matrix Multiply (I8MM) intrinsics.  */
18813 
18814 #pragma GCC push_options
18815 #pragma GCC target ("arch=armv8.2-a+i8mm")
18816 
18817 __extension__ extern __inline int32x4_t
18818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmmlaq_s32(int32x4_t __r,int8x16_t __a,int8x16_t __b)18819 vmmlaq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
18820 {
18821   return __builtin_neon_smmlav16qi (__r, __a, __b);
18822 }
18823 
18824 __extension__ extern __inline uint32x4_t
18825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmmlaq_u32(uint32x4_t __r,uint8x16_t __a,uint8x16_t __b)18826 vmmlaq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b)
18827 {
18828   return __builtin_neon_ummlav16qi_uuuu (__r, __a, __b);
18829 }
18830 
18831 __extension__ extern __inline int32x4_t
18832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusmmlaq_s32(int32x4_t __r,uint8x16_t __a,int8x16_t __b)18833 vusmmlaq_s32 (int32x4_t __r, uint8x16_t __a, int8x16_t __b)
18834 {
18835   return __builtin_neon_usmmlav16qi_ssus (__r, __a, __b);
18836 }
18837 
18838 #pragma GCC pop_options
18839 
18840 /* AdvSIMD Brain half-precision float-point (Bfloat16) intrinsics.  */
18841 #pragma GCC push_options
18842 #pragma GCC target ("arch=armv8.2-a+bf16")
18843 
18844 __extension__ extern __inline bfloat16x4_t
18845 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_bf16(uint64_t __a)18846 vcreate_bf16 (uint64_t __a)
18847 {
18848   return (bfloat16x4_t) __a;
18849 }
18850 
18851 __extension__ extern __inline bfloat16x4_t
18852 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_bf16(bfloat16_t __a)18853 vdup_n_bf16 (bfloat16_t __a)
18854 {
18855   return __builtin_neon_vdup_nv4bf (__a);
18856 }
18857 
18858 __extension__ extern __inline bfloat16x8_t
18859 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_bf16(bfloat16_t __a)18860 vdupq_n_bf16 (bfloat16_t __a)
18861 {
18862   return __builtin_neon_vdup_nv8bf (__a);
18863 }
18864 
18865 __extension__ extern __inline bfloat16x4_t
18866 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_bf16(bfloat16x4_t __a,const int __b)18867 vdup_lane_bf16 (bfloat16x4_t __a, const int __b)
18868 {
18869   return __builtin_neon_vdup_lanev4bf (__a, __b);
18870 }
18871 
18872 __extension__ extern __inline bfloat16x8_t
18873 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_bf16(bfloat16x4_t __a,const int __b)18874 vdupq_lane_bf16 (bfloat16x4_t __a, const int __b)
18875 {
18876   return __builtin_neon_vdup_lanev8bf (__a, __b);
18877 }
18878 
18879 #define vset_lane_bf16(__e, __v, __idx)		\
18880   __extension__					\
18881   ({						\
18882     bfloat16_t __elem = (__e);			\
18883     bfloat16x4_t __vec = (__v);			\
18884     __builtin_arm_lane_check (4, __idx);	\
18885     __vec[__arm_lane(__vec, __idx)] = __elem;	\
18886     __vec;					\
18887   })
18888 
18889 #define vsetq_lane_bf16(__e, __v, __idx)		\
18890   __extension__					\
18891   ({						\
18892     bfloat16_t __elem = (__e);			\
18893     bfloat16x8_t __vec = (__v);			\
18894     __builtin_arm_lane_check (8, __idx);	\
18895     __vec[__arm_laneq(__vec, __idx)] = __elem;	\
18896     __vec;					\
18897   })
18898 
18899 #define vget_lane_bf16(__v, __idx)			\
18900   __extension__						\
18901   ({							\
18902     bfloat16x4_t __vec = (__v);				\
18903     __builtin_arm_lane_check (4, __idx);		\
18904     bfloat16_t __res = __vec[__arm_lane(__vec, __idx)];	\
18905     __res;						\
18906   })
18907 
18908 #define vgetq_lane_bf16(__v, __idx)			\
18909   __extension__						\
18910   ({							\
18911     bfloat16x8_t __vec = (__v);				\
18912     __builtin_arm_lane_check (8, __idx);		\
18913     bfloat16_t __res = __vec[__arm_laneq(__vec, __idx)];	\
18914     __res;						\
18915   })
18916 
18917 __extension__ extern __inline bfloat16x4_t
18918 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_bf16(bfloat16x8_t __a,const int __b)18919 vdup_laneq_bf16 (bfloat16x8_t __a, const int __b)
18920 {
18921   return vdup_n_bf16( vgetq_lane_bf16 (__a, __b));
18922 }
18923 
18924 __extension__ extern __inline bfloat16x8_t
18925 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_bf16(bfloat16x8_t __a,const int __b)18926 vdupq_laneq_bf16 (bfloat16x8_t __a, const int __b)
18927 {
18928   return vdupq_n_bf16( vgetq_lane_bf16 (__a, __b));
18929 }
18930 
18931 __extension__ extern __inline bfloat16_t
18932 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_bf16(bfloat16x4_t __a,const int __b)18933 vduph_lane_bf16 (bfloat16x4_t __a, const int __b)
18934 {
18935   return vget_lane_bf16 (__a, __b);
18936 }
18937 
18938 __extension__ extern __inline bfloat16_t
18939 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_bf16(bfloat16x8_t __a,const int __b)18940 vduph_laneq_bf16 (bfloat16x8_t __a, const int __b)
18941 {
18942   return vgetq_lane_bf16 (__a, __b);
18943 }
18944 
18945 __extension__ extern __inline bfloat16x4_t
18946 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_bf16(bfloat16x8_t __a)18947 vget_high_bf16 (bfloat16x8_t __a)
18948 {
18949   return __builtin_neon_vget_highv8bf (__a);
18950 }
18951 
18952 __extension__ extern __inline bfloat16x4_t
18953 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_bf16(bfloat16x8_t __a)18954 vget_low_bf16 (bfloat16x8_t __a)
18955 {
18956   return __builtin_neon_vget_lowv8bf (__a);
18957 }
18958 
18959 __extension__ extern __inline bfloat16x8_t
18960 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_bf16(bfloat16x4_t __a,bfloat16x4_t __b)18961 vcombine_bf16 (bfloat16x4_t __a, bfloat16x4_t __b)
18962 {
18963   return __builtin_neon_vcombinev4bf (__a, __b);
18964 }
18965 
18966 __extension__ extern __inline bfloat16x4_t
18967 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u8(uint8x8_t __a)18968 vreinterpret_bf16_u8 (uint8x8_t __a)
18969 {
18970   return (bfloat16x4_t)__a;
18971 }
18972 
18973 __extension__ extern __inline bfloat16x4_t
18974 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u16(uint16x4_t __a)18975 vreinterpret_bf16_u16 (uint16x4_t __a)
18976 {
18977   return (bfloat16x4_t)__a;
18978 }
18979 
18980 __extension__ extern __inline bfloat16x4_t
18981 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u32(uint32x2_t __a)18982 vreinterpret_bf16_u32 (uint32x2_t __a)
18983 {
18984   return (bfloat16x4_t)__a;
18985 }
18986 
18987 __extension__ extern __inline bfloat16x4_t
18988 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u64(uint64x1_t __a)18989 vreinterpret_bf16_u64 (uint64x1_t __a)
18990 {
18991   return (bfloat16x4_t)__a;
18992 }
18993 
18994 __extension__ extern __inline bfloat16x4_t
18995 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s8(int8x8_t __a)18996 vreinterpret_bf16_s8 (int8x8_t __a)
18997 {
18998   return (bfloat16x4_t)__a;
18999 }
19000 
19001 __extension__ extern __inline bfloat16x4_t
19002 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s16(int16x4_t __a)19003 vreinterpret_bf16_s16 (int16x4_t __a)
19004 {
19005   return (bfloat16x4_t)__a;
19006 }
19007 
19008 __extension__ extern __inline bfloat16x4_t
19009 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s32(int32x2_t __a)19010 vreinterpret_bf16_s32 (int32x2_t __a)
19011 {
19012   return (bfloat16x4_t)__a;
19013 }
19014 
19015 __extension__ extern __inline bfloat16x4_t
19016 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s64(int64x1_t __a)19017 vreinterpret_bf16_s64 (int64x1_t __a)
19018 {
19019   return (bfloat16x4_t)__a;
19020 }
19021 
19022 __extension__ extern __inline bfloat16x4_t
19023 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_p8(poly8x8_t __a)19024 vreinterpret_bf16_p8 (poly8x8_t __a)
19025 {
19026   return (bfloat16x4_t)__a;
19027 }
19028 
19029 __extension__ extern __inline bfloat16x4_t
19030 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_p16(poly16x4_t __a)19031 vreinterpret_bf16_p16 (poly16x4_t __a)
19032 {
19033   return (bfloat16x4_t)__a;
19034 }
19035 
19036 __extension__ extern __inline bfloat16x4_t
19037 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_p64(poly64x1_t __a)19038 vreinterpret_bf16_p64 (poly64x1_t __a)
19039 {
19040   return (bfloat16x4_t)__a;
19041 }
19042 
19043 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
19044 __extension__ extern __inline bfloat16x4_t
19045 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_f16(float16x4_t __a)19046 vreinterpret_bf16_f16 (float16x4_t __a)
19047 {
19048   return (bfloat16x4_t)__a;
19049 }
19050 #endif
19051 
19052 __extension__ extern __inline bfloat16x4_t
19053 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_f32(float32x2_t __a)19054 vreinterpret_bf16_f32 (float32x2_t __a)
19055 {
19056   return (bfloat16x4_t)__a;
19057 }
19058 
19059 __extension__ extern __inline bfloat16x8_t
19060 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u8(uint8x16_t __a)19061 vreinterpretq_bf16_u8 (uint8x16_t __a)
19062 {
19063   return (bfloat16x8_t)__a;
19064 }
19065 
19066 __extension__ extern __inline bfloat16x8_t
19067 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u16(uint16x8_t __a)19068 vreinterpretq_bf16_u16 (uint16x8_t __a)
19069 {
19070   return (bfloat16x8_t)__a;
19071 }
19072 
19073 __extension__ extern __inline bfloat16x8_t
19074 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u32(uint32x4_t __a)19075 vreinterpretq_bf16_u32 (uint32x4_t __a)
19076 {
19077   return (bfloat16x8_t)__a;
19078 }
19079 
19080 __extension__ extern __inline bfloat16x8_t
19081 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u64(uint64x2_t __a)19082 vreinterpretq_bf16_u64 (uint64x2_t __a)
19083 {
19084   return (bfloat16x8_t)__a;
19085 }
19086 
19087 __extension__ extern __inline bfloat16x8_t
19088 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s8(int8x16_t __a)19089 vreinterpretq_bf16_s8 (int8x16_t __a)
19090 {
19091   return (bfloat16x8_t)__a;
19092 }
19093 
19094 __extension__ extern __inline bfloat16x8_t
19095 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s16(int16x8_t __a)19096 vreinterpretq_bf16_s16 (int16x8_t __a)
19097 {
19098   return (bfloat16x8_t)__a;
19099 }
19100 
19101 __extension__ extern __inline bfloat16x8_t
19102 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s32(int32x4_t __a)19103 vreinterpretq_bf16_s32 (int32x4_t __a)
19104 {
19105   return (bfloat16x8_t)__a;
19106 }
19107 
19108 __extension__ extern __inline bfloat16x8_t
19109 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s64(int64x2_t __a)19110 vreinterpretq_bf16_s64 (int64x2_t __a)
19111 {
19112   return (bfloat16x8_t)__a;
19113 }
19114 
19115 __extension__ extern __inline bfloat16x8_t
19116 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p8(poly8x16_t __a)19117 vreinterpretq_bf16_p8 (poly8x16_t __a)
19118 {
19119   return (bfloat16x8_t)__a;
19120 }
19121 
19122 __extension__ extern __inline bfloat16x8_t
19123 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p16(poly16x8_t __a)19124 vreinterpretq_bf16_p16 (poly16x8_t __a)
19125 {
19126   return (bfloat16x8_t)__a;
19127 }
19128 
19129 __extension__ extern __inline bfloat16x8_t
19130 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p64(poly64x2_t __a)19131 vreinterpretq_bf16_p64 (poly64x2_t __a)
19132 {
19133   return (bfloat16x8_t)__a;
19134 }
19135 
19136 __extension__ extern __inline bfloat16x8_t
19137 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p128(poly128_t __a)19138 vreinterpretq_bf16_p128 (poly128_t __a)
19139 {
19140   return (bfloat16x8_t)__a;
19141 }
19142 
19143 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
19144 __extension__ extern __inline bfloat16x8_t
19145 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_f16(float16x8_t __a)19146 vreinterpretq_bf16_f16 (float16x8_t __a)
19147 {
19148   return (bfloat16x8_t)__a;
19149 }
19150 #endif
19151 
19152 __extension__ extern __inline bfloat16x8_t
19153 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_f32(float32x4_t __a)19154 vreinterpretq_bf16_f32 (float32x4_t __a)
19155 {
19156   return (bfloat16x8_t)__a;
19157 }
19158 
19159 __extension__ extern __inline int8x8_t
19160 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_bf16(bfloat16x4_t __a)19161 vreinterpret_s8_bf16 (bfloat16x4_t __a)
19162 {
19163   return (int8x8_t)__a;
19164 }
19165 
19166 __extension__ extern __inline int16x4_t
19167 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_bf16(bfloat16x4_t __a)19168 vreinterpret_s16_bf16 (bfloat16x4_t __a)
19169 {
19170   return (int16x4_t)__a;
19171 }
19172 
19173 __extension__ extern __inline int32x2_t
19174 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_bf16(bfloat16x4_t __a)19175 vreinterpret_s32_bf16 (bfloat16x4_t __a)
19176 {
19177   return (int32x2_t)__a;
19178 }
19179 
19180 __extension__ extern __inline int64x1_t
19181 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_bf16(bfloat16x4_t __a)19182 vreinterpret_s64_bf16 (bfloat16x4_t __a)
19183 {
19184   return (int64x1_t)__a;
19185 }
19186 
19187 __extension__ extern __inline uint8x8_t
19188 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_bf16(bfloat16x4_t __a)19189 vreinterpret_u8_bf16 (bfloat16x4_t __a)
19190 {
19191   return (uint8x8_t)__a;
19192 }
19193 
19194 __extension__ extern __inline uint16x4_t
19195 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_bf16(bfloat16x4_t __a)19196 vreinterpret_u16_bf16 (bfloat16x4_t __a)
19197 {
19198   return (uint16x4_t)__a;
19199 }
19200 
19201 __extension__ extern __inline uint32x2_t
19202 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_bf16(bfloat16x4_t __a)19203 vreinterpret_u32_bf16 (bfloat16x4_t __a)
19204 {
19205   return (uint32x2_t)__a;
19206 }
19207 
19208 __extension__ extern __inline uint64x1_t
19209 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_bf16(bfloat16x4_t __a)19210 vreinterpret_u64_bf16 (bfloat16x4_t __a)
19211 {
19212   return (uint64x1_t)__a;
19213 }
19214 
19215 __extension__ extern __inline float32x2_t
19216 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_bf16(bfloat16x4_t __a)19217 vreinterpret_f32_bf16 (bfloat16x4_t __a)
19218 {
19219   return (float32x2_t)__a;
19220 }
19221 
19222 __extension__ extern __inline poly8x8_t
19223 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_bf16(bfloat16x4_t __a)19224 vreinterpret_p8_bf16 (bfloat16x4_t __a)
19225 {
19226   return (poly8x8_t)__a;
19227 }
19228 
19229 __extension__ extern __inline poly16x4_t
19230 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_bf16(bfloat16x4_t __a)19231 vreinterpret_p16_bf16 (bfloat16x4_t __a)
19232 {
19233   return (poly16x4_t)__a;
19234 }
19235 
19236 __extension__ extern __inline poly64x1_t
19237 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_bf16(bfloat16x4_t __a)19238 vreinterpret_p64_bf16 (bfloat16x4_t __a)
19239 {
19240   return (poly64x1_t)__a;
19241 }
19242 
19243 __extension__ extern __inline int8x16_t
19244 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_bf16(bfloat16x8_t __a)19245 vreinterpretq_s8_bf16 (bfloat16x8_t __a)
19246 {
19247   return (int8x16_t)__a;
19248 }
19249 
19250 __extension__ extern __inline int16x8_t
19251 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_bf16(bfloat16x8_t __a)19252 vreinterpretq_s16_bf16 (bfloat16x8_t __a)
19253 {
19254   return (int16x8_t)__a;
19255 }
19256 
19257 __extension__ extern __inline int32x4_t
19258 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_bf16(bfloat16x8_t __a)19259 vreinterpretq_s32_bf16 (bfloat16x8_t __a)
19260 {
19261   return (int32x4_t)__a;
19262 }
19263 
19264 __extension__ extern __inline int64x2_t
19265 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_bf16(bfloat16x8_t __a)19266 vreinterpretq_s64_bf16 (bfloat16x8_t __a)
19267 {
19268   return (int64x2_t)__a;
19269 }
19270 
19271 __extension__ extern __inline uint8x16_t
19272 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_bf16(bfloat16x8_t __a)19273 vreinterpretq_u8_bf16 (bfloat16x8_t __a)
19274 {
19275   return (uint8x16_t)__a;
19276 }
19277 
19278 __extension__ extern __inline uint16x8_t
19279 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_bf16(bfloat16x8_t __a)19280 vreinterpretq_u16_bf16 (bfloat16x8_t __a)
19281 {
19282   return (uint16x8_t)__a;
19283 }
19284 
19285 __extension__ extern __inline uint32x4_t
19286 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_bf16(bfloat16x8_t __a)19287 vreinterpretq_u32_bf16 (bfloat16x8_t __a)
19288 {
19289   return (uint32x4_t)__a;
19290 }
19291 
19292 __extension__ extern __inline uint64x2_t
19293 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_bf16(bfloat16x8_t __a)19294 vreinterpretq_u64_bf16 (bfloat16x8_t __a)
19295 {
19296   return (uint64x2_t)__a;
19297 }
19298 
19299 __extension__ extern __inline float32x4_t
19300 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_bf16(bfloat16x8_t __a)19301 vreinterpretq_f32_bf16 (bfloat16x8_t __a)
19302 {
19303   return (float32x4_t)__a;
19304 }
19305 
19306 __extension__ extern __inline poly8x16_t
19307 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_bf16(bfloat16x8_t __a)19308 vreinterpretq_p8_bf16 (bfloat16x8_t __a)
19309 {
19310   return (poly8x16_t)__a;
19311 }
19312 
19313 __extension__ extern __inline poly16x8_t
19314 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_bf16(bfloat16x8_t __a)19315 vreinterpretq_p16_bf16 (bfloat16x8_t __a)
19316 {
19317   return (poly16x8_t)__a;
19318 }
19319 
19320 __extension__ extern __inline poly64x2_t
19321 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_bf16(bfloat16x8_t __a)19322 vreinterpretq_p64_bf16 (bfloat16x8_t __a)
19323 {
19324   return (poly64x2_t)__a;
19325 }
19326 
19327 __extension__ extern __inline poly128_t
19328 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_bf16(bfloat16x8_t __a)19329 vreinterpretq_p128_bf16 (bfloat16x8_t __a)
19330 {
19331   return (poly128_t)__a;
19332 }
19333 
19334 __extension__ extern __inline float32x2_t
19335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdot_f32(float32x2_t __r,bfloat16x4_t __a,bfloat16x4_t __b)19336 vbfdot_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x4_t __b)
19337 {
19338   return __builtin_neon_vbfdotv2sf (__r, __a, __b);
19339 }
19340 
19341 __extension__ extern __inline float32x4_t
19342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdotq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)19343 vbfdotq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
19344 {
19345   return __builtin_neon_vbfdotv4sf (__r, __a, __b);
19346 }
19347 
19348 __extension__ extern __inline float32x2_t
19349 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdot_lane_f32(float32x2_t __r,bfloat16x4_t __a,bfloat16x4_t __b,const int __index)19350 vbfdot_lane_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x4_t __b,
19351 		 const int __index)
19352 {
19353   return __builtin_neon_vbfdot_lanev4bfv2sf (__r, __a, __b, __index);
19354 }
19355 
19356 __extension__ extern __inline float32x4_t
19357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdotq_laneq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b,const int __index)19358 vbfdotq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
19359 		   const int __index)
19360 {
19361   return __builtin_neon_vbfdot_lanev8bfv4sf (__r, __a, __b, __index);
19362 }
19363 
19364 __extension__ extern __inline float32x2_t
19365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdot_laneq_f32(float32x2_t __r,bfloat16x4_t __a,bfloat16x8_t __b,const int __index)19366 vbfdot_laneq_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x8_t __b,
19367 		  const int __index)
19368 {
19369   return __builtin_neon_vbfdot_lanev8bfv2sf (__r, __a, __b, __index);
19370 }
19371 
19372 __extension__ extern __inline float32x4_t
19373 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdotq_lane_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x4_t __b,const int __index)19374 vbfdotq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
19375 		  const int __index)
19376 {
19377   return __builtin_neon_vbfdot_lanev4bfv4sf (__r, __a, __b, __index);
19378 }
19379 
19380 #pragma GCC pop_options
19381 
19382 #pragma GCC push_options
19383 #pragma GCC target ("arch=armv8.2-a+bf16")
19384 
19385 typedef struct bfloat16x4x2_t
19386 {
19387   bfloat16x4_t val[2];
19388 } bfloat16x4x2_t;
19389 
19390 typedef struct bfloat16x8x2_t
19391 {
19392   bfloat16x8_t val[2];
19393 } bfloat16x8x2_t;
19394 
19395 typedef struct bfloat16x4x3_t
19396 {
19397   bfloat16x4_t val[3];
19398 } bfloat16x4x3_t;
19399 
19400 typedef struct bfloat16x8x3_t
19401 {
19402   bfloat16x8_t val[3];
19403 } bfloat16x8x3_t;
19404 
19405 typedef struct bfloat16x4x4_t
19406 {
19407   bfloat16x4_t val[4];
19408 } bfloat16x4x4_t;
19409 
19410 typedef struct bfloat16x8x4_t
19411 {
19412   bfloat16x8_t val[4];
19413 } bfloat16x8x4_t;
19414 
19415 __extension__ extern __inline float32x4_t
19416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_bf16(bfloat16x4_t __a)19417 vcvt_f32_bf16 (bfloat16x4_t __a)
19418 {
19419   return __builtin_neon_vbfcvtv4bf (__a);
19420 }
19421 
19422 __extension__ extern __inline float32x4_t
19423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_low_f32_bf16(bfloat16x8_t __a)19424 vcvtq_low_f32_bf16 (bfloat16x8_t __a)
19425 {
19426   return __builtin_neon_vbfcvtv8bf (__a);
19427 }
19428 
19429 __extension__ extern __inline float32x4_t
19430 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_high_f32_bf16(bfloat16x8_t __a)19431 vcvtq_high_f32_bf16 (bfloat16x8_t __a)
19432 {
19433   return __builtin_neon_vbfcvt_highv8bf (__a);
19434 }
19435 
19436 __extension__ extern __inline bfloat16x4_t
19437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_bf16_f32(float32x4_t __a)19438 vcvt_bf16_f32 (float32x4_t __a)
19439 {
19440   return __builtin_neon_vbfcvtv4sfv4bf (__a);
19441 }
19442 
19443 __extension__ extern __inline bfloat16x8_t
19444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_low_bf16_f32(float32x4_t __a)19445 vcvtq_low_bf16_f32 (float32x4_t __a)
19446 {
19447   return __builtin_neon_vbfcvtv4sfv8bf (__a);
19448 }
19449 
19450 /* The 'inactive' operand is not converted but it provides the
19451    low 64 bits to assemble the final 128-bit result.  */
19452 __extension__ extern __inline bfloat16x8_t
19453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_high_bf16_f32(bfloat16x8_t inactive,float32x4_t __a)19454 vcvtq_high_bf16_f32 (bfloat16x8_t inactive, float32x4_t __a)
19455 {
19456   return __builtin_neon_vbfcvtv4sf_highv8bf (inactive, __a);
19457 }
19458 
19459 __extension__ extern __inline float32x4_t
19460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmmlaq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)19461 vbfmmlaq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
19462 {
19463   return __builtin_neon_vmmlav8bf (__r, __a, __b);
19464 }
19465 
19466 __extension__ extern __inline float32x4_t
19467 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlalbq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)19468 vbfmlalbq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
19469 {
19470   return __builtin_neon_vfmabv8bf (__r, __a, __b);
19471 }
19472 
19473 __extension__ extern __inline float32x4_t
19474 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlaltq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)19475 vbfmlaltq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
19476 {
19477   return __builtin_neon_vfmatv8bf (__r, __a, __b);
19478 }
19479 
19480 __extension__ extern __inline float32x4_t
19481 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlalbq_lane_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x4_t __b,const int __index)19482 vbfmlalbq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
19483 		   const int __index)
19484 {
19485   return __builtin_neon_vfmab_lanev8bf (__r, __a, __b, __index);
19486 }
19487 
19488 __extension__ extern __inline float32x4_t
19489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlaltq_lane_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x4_t __b,const int __index)19490 vbfmlaltq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
19491 		   const int __index)
19492 {
19493   return __builtin_neon_vfmat_lanev8bf (__r, __a, __b, __index);
19494 }
19495 
19496 __extension__ extern __inline float32x4_t
19497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlalbq_laneq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b,const int __index)19498 vbfmlalbq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
19499 		    const int __index)
19500 {
19501   return __builtin_neon_vfmab_laneqv8bf (__r, __a, __b, __index);
19502 }
19503 
19504 __extension__ extern __inline float32x4_t
19505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlaltq_laneq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b,const int __index)19506 vbfmlaltq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
19507 		    const int __index)
19508 {
19509   return __builtin_neon_vfmat_laneqv8bf (__r, __a, __b, __index);
19510 }
19511 
19512 __extension__ extern __inline void
19513 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_bf16(bfloat16_t * __a,bfloat16x4_t __b)19514 vst1_bf16 (bfloat16_t * __a, bfloat16x4_t __b)
19515 {
19516   __builtin_neon_vst1v4bf (__a, __b);
19517 }
19518 
19519 __extension__ extern __inline void
19520 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_bf16(bfloat16_t * __a,bfloat16x8_t __b)19521 vst1q_bf16 (bfloat16_t * __a, bfloat16x8_t __b)
19522 {
19523   __builtin_neon_vst1v8bf (__a, __b);
19524 }
19525 
19526 __extension__ extern __inline void
19527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_bf16(bfloat16_t * __ptr,bfloat16x4x2_t __val)19528 vst2_bf16 (bfloat16_t * __ptr, bfloat16x4x2_t __val)
19529 {
19530   union { bfloat16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __val };
19531   return __builtin_neon_vst2v4bf (__ptr, __bu.__o);
19532 }
19533 
19534 __extension__ extern __inline void
19535 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_bf16(bfloat16_t * __ptr,bfloat16x8x2_t __val)19536 vst2q_bf16 (bfloat16_t * __ptr, bfloat16x8x2_t __val)
19537 {
19538   union { bfloat16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __val };
19539   return __builtin_neon_vst2v8bf (__ptr, __bu.__o);
19540 }
19541 
19542 __extension__ extern __inline void
19543 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_bf16(bfloat16_t * __ptr,bfloat16x4x3_t __val)19544 vst3_bf16 (bfloat16_t * __ptr, bfloat16x4x3_t __val)
19545 {
19546   union { bfloat16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __val };
19547   return __builtin_neon_vst3v4bf (__ptr, __bu.__o);
19548 }
19549 
19550 __extension__ extern __inline void
19551 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_bf16(bfloat16_t * __ptr,bfloat16x8x3_t __val)19552 vst3q_bf16 (bfloat16_t * __ptr, bfloat16x8x3_t __val)
19553 {
19554   union { bfloat16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __val };
19555   return __builtin_neon_vst3v8bf (__ptr, __bu.__o);
19556 }
19557 
19558 __extension__ extern __inline void
19559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_bf16(bfloat16_t * __ptr,bfloat16x4x4_t __val)19560 vst4_bf16 (bfloat16_t * __ptr, bfloat16x4x4_t __val)
19561 {
19562   union { bfloat16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __val };
19563   return __builtin_neon_vst4v4bf (__ptr, __bu.__o);
19564 }
19565 
19566 __extension__ extern __inline void
19567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_bf16(bfloat16_t * __ptr,bfloat16x8x4_t __val)19568 vst4q_bf16 (bfloat16_t * __ptr, bfloat16x8x4_t __val)
19569 {
19570   union { bfloat16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __val };
19571   return __builtin_neon_vst4v8bf (__ptr, __bu.__o);
19572 }
19573 
19574 __extension__ extern __inline bfloat16x4_t
19575 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_bf16(bfloat16_t const * __ptr)19576 vld1_bf16 (bfloat16_t const * __ptr)
19577 {
19578   return __builtin_neon_vld1v4bf (__ptr);
19579 }
19580 
19581 __extension__ extern __inline bfloat16x8_t
19582 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_bf16(const bfloat16_t * __ptr)19583 vld1q_bf16 (const bfloat16_t * __ptr)
19584 {
19585   return __builtin_neon_vld1v8bf (__ptr);
19586 }
19587 
19588 __extension__ extern __inline bfloat16x4x2_t
19589 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_bf16(bfloat16_t const * __ptr)19590 vld2_bf16 (bfloat16_t const * __ptr)
19591 {
19592   union { bfloat16x4x2_t __i; __builtin_neon_ti __o; } __rv;
19593   __rv.__o = __builtin_neon_vld2v4bf ((const __builtin_neon_bf *) __ptr);
19594   return __rv.__i;
19595 }
19596 
19597 __extension__ extern __inline bfloat16x8x2_t
19598 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_bf16(const bfloat16_t * __ptr)19599 vld2q_bf16 (const bfloat16_t * __ptr)
19600 {
19601   union { bfloat16x8x2_t __i; __builtin_neon_oi __o; } __rv;
19602   __rv.__o = __builtin_neon_vld2v8bf ((const __builtin_neon_bf *) __ptr);
19603   return __rv.__i;
19604 }
19605 
19606 __extension__ extern __inline bfloat16x4x3_t
19607 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_bf16(const bfloat16_t * __ptr)19608 vld3_bf16 (const bfloat16_t * __ptr)
19609 {
19610   union { bfloat16x4x3_t __i; __builtin_neon_ei __o; } __rv;
19611   __rv.__o = __builtin_neon_vld3v4bf ((const __builtin_neon_bf *) __ptr);
19612   return __rv.__i;
19613 }
19614 
19615 __extension__ extern __inline bfloat16x8x3_t
19616 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_bf16(const bfloat16_t * __ptr)19617 vld3q_bf16 (const bfloat16_t * __ptr)
19618 {
19619   union { bfloat16x8x3_t __i; __builtin_neon_ci __o; } __rv;
19620   __rv.__o = __builtin_neon_vld3v8bf ((const __builtin_neon_bf *) __ptr);
19621   return __rv.__i;
19622 }
19623 
19624 __extension__ extern __inline bfloat16x4x4_t
19625 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_bf16(const bfloat16_t * __ptr)19626 vld4_bf16 (const bfloat16_t * __ptr)
19627 {
19628   union { bfloat16x4x4_t __i; __builtin_neon_oi __o; } __rv;
19629   __rv.__o = __builtin_neon_vld4v4bf ((const __builtin_neon_bf *) __ptr);
19630   return __rv.__i;
19631 }
19632 
19633 __extension__ extern __inline bfloat16x8x4_t
19634 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_bf16(const bfloat16_t * __ptr)19635 vld4q_bf16 (const bfloat16_t * __ptr)
19636 {
19637   union { bfloat16x8x4_t __i; __builtin_neon_xi __o; } __rv;
19638   __rv.__o = __builtin_neon_vld4v8bf ((const __builtin_neon_bf *) __ptr);
19639   return __rv.__i;
19640 }
19641 
19642 __extension__ extern __inline bfloat16x4x2_t
19643 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_bf16(const bfloat16_t * __ptr)19644 vld2_dup_bf16 (const bfloat16_t * __ptr)
19645 {
19646   union { bfloat16x4x2_t __i; __builtin_neon_ti __o; } __rv;
19647   __rv.__o = __builtin_neon_vld2_dupv4bf ((const __builtin_neon_bf *) __ptr);
19648   return __rv.__i;
19649 }
19650 
19651 __extension__ extern __inline bfloat16x8x2_t
19652 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_bf16(const bfloat16_t * __ptr)19653 vld2q_dup_bf16 (const bfloat16_t * __ptr)
19654 {
19655   union { bfloat16x8x2_t __i; __builtin_neon_oi __o; } __rv;
19656   __rv.__o = __builtin_neon_vld2_dupv8bf ((const __builtin_neon_bf *) __ptr);
19657   return __rv.__i;
19658 }
19659 
19660 __extension__ extern __inline bfloat16x4x3_t
19661 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_bf16(const bfloat16_t * __ptr)19662 vld3_dup_bf16 (const bfloat16_t * __ptr)
19663 {
19664   union { bfloat16x4x3_t __i; __builtin_neon_ei __o; } __rv;
19665   __rv.__o = __builtin_neon_vld3_dupv4bf ((const __builtin_neon_bf *) __ptr);
19666   return __rv.__i;
19667 }
19668 
19669 __extension__ extern __inline bfloat16x8x3_t
19670 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_bf16(const bfloat16_t * __ptr)19671 vld3q_dup_bf16 (const bfloat16_t * __ptr)
19672 {
19673   union { bfloat16x8x3_t __i; __builtin_neon_ci __o; } __rv;
19674   __rv.__o = __builtin_neon_vld3_dupv8bf ((const __builtin_neon_bf *) __ptr);
19675   return __rv.__i;
19676 }
19677 
19678 __extension__ extern __inline bfloat16x4x4_t
19679 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_bf16(const bfloat16_t * __ptr)19680 vld4_dup_bf16 (const bfloat16_t * __ptr)
19681 {
19682   union { bfloat16x4x4_t __i; __builtin_neon_oi __o; } __rv;
19683   __rv.__o = __builtin_neon_vld4_dupv4bf ((const __builtin_neon_bf *) __ptr);
19684   return __rv.__i;
19685 }
19686 
19687 __extension__ extern __inline bfloat16x8x4_t
19688 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_bf16(const bfloat16_t * __ptr)19689 vld4q_dup_bf16 (const bfloat16_t * __ptr)
19690 {
19691   union { bfloat16x8x4_t __i; __builtin_neon_xi __o; } __rv;
19692   __rv.__o = __builtin_neon_vld4_dupv8bf ((const __builtin_neon_bf *) __ptr);
19693   return __rv.__i;
19694 }
19695 
19696 __extension__ extern __inline bfloat16x4_t
19697 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_bf16(const bfloat16_t * __a,bfloat16x4_t __b,const int __c)19698 vld1_lane_bf16 (const bfloat16_t * __a, bfloat16x4_t __b, const int __c)
19699 {
19700   return __builtin_neon_vld1_lanev4bf (__a, __b, __c);
19701 }
19702 
19703 __extension__ extern __inline bfloat16x8_t
19704 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_bf16(const bfloat16_t * __a,bfloat16x8_t __b,const int __c)19705 vld1q_lane_bf16 (const bfloat16_t * __a, bfloat16x8_t __b, const int __c)
19706 {
19707   return __builtin_neon_vld1_lanev8bf (__a, __b, __c);
19708 }
19709 
19710 __extension__ extern __inline void
19711 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_bf16(bfloat16_t * __a,bfloat16x4_t __b,const int __c)19712 vst1_lane_bf16 (bfloat16_t * __a, bfloat16x4_t __b, const int __c)
19713 {
19714   __builtin_neon_vst1_lanev4bf (__a, __b, __c);
19715 }
19716 
19717 __extension__ extern __inline void
19718 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_bf16(bfloat16_t * __a,bfloat16x8_t __b,const int __c)19719 vst1q_lane_bf16 (bfloat16_t * __a, bfloat16x8_t __b, const int __c)
19720 {
19721   __builtin_neon_vst1_lanev8bf (__a, __b, __c);
19722 }
19723 
19724 __extension__ extern __inline bfloat16x4x2_t
19725 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_bf16(const bfloat16_t * __a,bfloat16x4x2_t __b,const int __c)19726 vld2_lane_bf16 (const bfloat16_t * __a, bfloat16x4x2_t __b, const int __c)
19727 {
19728   union { bfloat16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
19729   union { bfloat16x4x2_t __i; __builtin_neon_ti __o; } __rv;
19730   __rv.__o = __builtin_neon_vld2_lanev4bf ( __a, __bu.__o, __c);
19731   return __rv.__i;
19732 }
19733 
19734 __extension__ extern __inline bfloat16x8x2_t
19735 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_bf16(const bfloat16_t * __a,bfloat16x8x2_t __b,const int __c)19736 vld2q_lane_bf16 (const bfloat16_t * __a, bfloat16x8x2_t __b, const int __c)
19737 {
19738   union { bfloat16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
19739   union { bfloat16x8x2_t __i; __builtin_neon_oi __o; } __rv;
19740   __rv.__o = __builtin_neon_vld2_lanev8bf (__a, __bu.__o, __c);
19741   return __rv.__i;
19742 }
19743 
19744 __extension__ extern __inline bfloat16x4x3_t
19745 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_bf16(const bfloat16_t * __a,bfloat16x4x3_t __b,const int __c)19746 vld3_lane_bf16 (const bfloat16_t * __a, bfloat16x4x3_t __b, const int __c)
19747 {
19748   union { bfloat16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
19749   union { bfloat16x4x3_t __i; __builtin_neon_ei __o; } __rv;
19750   __rv.__o = __builtin_neon_vld3_lanev4bf (__a, __bu.__o, __c);
19751   return __rv.__i;
19752 }
19753 
19754 __extension__ extern __inline bfloat16x8x3_t
19755 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_bf16(const bfloat16_t * __a,bfloat16x8x3_t __b,const int __c)19756 vld3q_lane_bf16 (const bfloat16_t * __a, bfloat16x8x3_t __b, const int __c)
19757 {
19758   union { bfloat16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
19759   union { bfloat16x8x3_t __i; __builtin_neon_ci __o; } __rv;
19760   __rv.__o = __builtin_neon_vld3_lanev8bf (__a, __bu.__o, __c);
19761   return __rv.__i;
19762 }
19763 
19764 __extension__ extern __inline bfloat16x4x4_t
19765 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_bf16(const bfloat16_t * __a,bfloat16x4x4_t __b,const int __c)19766 vld4_lane_bf16 (const bfloat16_t * __a, bfloat16x4x4_t __b, const int __c)
19767 {
19768   union { bfloat16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
19769   union { bfloat16x4x4_t __i; __builtin_neon_oi __o; } __rv;
19770   __rv.__o = __builtin_neon_vld4_lanev4bf (__a,
19771 					   __bu.__o, __c);
19772   return __rv.__i;
19773 }
19774 
19775 __extension__ extern __inline bfloat16x8x4_t
19776 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_bf16(const bfloat16_t * __a,bfloat16x8x4_t __b,const int __c)19777 vld4q_lane_bf16 (const bfloat16_t * __a, bfloat16x8x4_t __b, const int __c)
19778 {
19779   union { bfloat16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
19780   union { bfloat16x8x4_t __i; __builtin_neon_xi __o; } __rv;
19781   __rv.__o = __builtin_neon_vld4_lanev8bf (__a,
19782 					   __bu.__o, __c);
19783   return __rv.__i;
19784 }
19785 
19786 __extension__ extern __inline void
19787 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_bf16(bfloat16_t * __a,bfloat16x4x2_t __b,const int __c)19788 vst2_lane_bf16 (bfloat16_t * __a, bfloat16x4x2_t __b, const int __c)
19789 {
19790   union { bfloat16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
19791   __builtin_neon_vst2_lanev4bf (__a, __bu.__o, __c);
19792 }
19793 
19794 __extension__ extern __inline void
19795 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_bf16(bfloat16_t * __a,bfloat16x8x2_t __b,const int __c)19796 vst2q_lane_bf16 (bfloat16_t * __a, bfloat16x8x2_t __b, const int __c)
19797 {
19798   union { bfloat16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
19799   __builtin_neon_vst2_lanev8bf (__a, __bu.__o, __c);
19800 }
19801 
19802 __extension__ extern __inline void
19803 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_bf16(bfloat16_t * __a,bfloat16x4x3_t __b,const int __c)19804 vst3_lane_bf16 (bfloat16_t * __a, bfloat16x4x3_t __b, const int __c)
19805 {
19806   union { bfloat16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
19807   __builtin_neon_vst3_lanev4bf (__a, __bu.__o, __c);
19808 }
19809 
19810 __extension__ extern __inline void
19811 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_bf16(bfloat16_t * __a,bfloat16x8x3_t __b,const int __c)19812 vst3q_lane_bf16 (bfloat16_t * __a, bfloat16x8x3_t __b, const int __c)
19813 {
19814   union { bfloat16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
19815   __builtin_neon_vst3_lanev8bf (__a, __bu.__o, __c);
19816 }
19817 
19818 __extension__ extern __inline void
19819 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_bf16(bfloat16_t * __a,bfloat16x4x4_t __b,const int __c)19820 vst4_lane_bf16 (bfloat16_t * __a, bfloat16x4x4_t __b, const int __c)
19821 {
19822   union { bfloat16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
19823   __builtin_neon_vst4_lanev4bf (__a, __bu.__o, __c);
19824 }
19825 
19826 __extension__ extern __inline void
19827 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_bf16(bfloat16_t * __a,bfloat16x8x4_t __b,const int __c)19828 vst4q_lane_bf16 (bfloat16_t * __a, bfloat16x8x4_t __b, const int __c)
19829 {
19830   union { bfloat16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
19831   __builtin_neon_vst4_lanev8bf (__a, __bu.__o, __c);
19832 }
19833 
19834 #pragma GCC pop_options
19835 
19836 #ifdef __cplusplus
19837 }
19838 #endif
19839 
19840 #pragma GCC pop_options
19841 
19842 #endif
19843 #endif
19844