1 /* ARM NEON intrinsics include file.
2 
3    Copyright (C) 2006-2018 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 <stdint.h>
43 
44 typedef __simd64_int8_t int8x8_t;
45 typedef __simd64_int16_t int16x4_t;
46 typedef __simd64_int32_t int32x2_t;
47 typedef __builtin_neon_di int64x1_t;
48 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
49 typedef __fp16 float16_t;
50 typedef __simd64_float16_t float16x4_t;
51 #endif
52 typedef __simd64_float32_t float32x2_t;
53 typedef __simd64_poly8_t poly8x8_t;
54 typedef __simd64_poly16_t poly16x4_t;
55 #pragma GCC push_options
56 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
57 typedef __builtin_neon_poly64 poly64x1_t;
58 #pragma GCC pop_options
59 typedef __simd64_uint8_t uint8x8_t;
60 typedef __simd64_uint16_t uint16x4_t;
61 typedef __simd64_uint32_t uint32x2_t;
62 typedef __builtin_neon_udi uint64x1_t;
63 
64 typedef __simd128_int8_t int8x16_t;
65 typedef __simd128_int16_t int16x8_t;
66 typedef __simd128_int32_t int32x4_t;
67 typedef __simd128_int64_t int64x2_t;
68 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
69 typedef __simd128_float16_t float16x8_t;
70 #endif
71 typedef __simd128_float32_t float32x4_t;
72 typedef __simd128_poly8_t poly8x16_t;
73 typedef __simd128_poly16_t poly16x8_t;
74 #pragma GCC push_options
75 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
76 typedef __builtin_neon_poly64 poly64x2_t __attribute__ ((__vector_size__ (16)));
77 #pragma GCC pop_options
78 
79 typedef __simd128_uint8_t uint8x16_t;
80 typedef __simd128_uint16_t uint16x8_t;
81 typedef __simd128_uint32_t uint32x4_t;
82 typedef __simd128_uint64_t uint64x2_t;
83 
84 typedef float float32_t;
85 
86 /* The Poly types are user visible and live in their own world,
87    keep them that way.  */
88 typedef __builtin_neon_poly8 poly8_t;
89 typedef __builtin_neon_poly16 poly16_t;
90 #pragma GCC push_options
91 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
92 typedef __builtin_neon_poly64 poly64_t;
93 typedef __builtin_neon_poly128 poly128_t;
94 #pragma GCC pop_options
95 
96 typedef struct int8x8x2_t
97 {
98   int8x8_t val[2];
99 } int8x8x2_t;
100 
101 typedef struct int8x16x2_t
102 {
103   int8x16_t val[2];
104 } int8x16x2_t;
105 
106 typedef struct int16x4x2_t
107 {
108   int16x4_t val[2];
109 } int16x4x2_t;
110 
111 typedef struct int16x8x2_t
112 {
113   int16x8_t val[2];
114 } int16x8x2_t;
115 
116 typedef struct int32x2x2_t
117 {
118   int32x2_t val[2];
119 } int32x2x2_t;
120 
121 typedef struct int32x4x2_t
122 {
123   int32x4_t val[2];
124 } int32x4x2_t;
125 
126 typedef struct int64x1x2_t
127 {
128   int64x1_t val[2];
129 } int64x1x2_t;
130 
131 typedef struct int64x2x2_t
132 {
133   int64x2_t val[2];
134 } int64x2x2_t;
135 
136 typedef struct uint8x8x2_t
137 {
138   uint8x8_t val[2];
139 } uint8x8x2_t;
140 
141 typedef struct uint8x16x2_t
142 {
143   uint8x16_t val[2];
144 } uint8x16x2_t;
145 
146 typedef struct uint16x4x2_t
147 {
148   uint16x4_t val[2];
149 } uint16x4x2_t;
150 
151 typedef struct uint16x8x2_t
152 {
153   uint16x8_t val[2];
154 } uint16x8x2_t;
155 
156 typedef struct uint32x2x2_t
157 {
158   uint32x2_t val[2];
159 } uint32x2x2_t;
160 
161 typedef struct uint32x4x2_t
162 {
163   uint32x4_t val[2];
164 } uint32x4x2_t;
165 
166 typedef struct uint64x1x2_t
167 {
168   uint64x1_t val[2];
169 } uint64x1x2_t;
170 
171 typedef struct uint64x2x2_t
172 {
173   uint64x2_t val[2];
174 } uint64x2x2_t;
175 
176 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
177 typedef struct float16x4x2_t
178 {
179   float16x4_t val[2];
180 } float16x4x2_t;
181 #endif
182 
183 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
184 typedef struct float16x8x2_t
185 {
186   float16x8_t val[2];
187 } float16x8x2_t;
188 #endif
189 
190 typedef struct float32x2x2_t
191 {
192   float32x2_t val[2];
193 } float32x2x2_t;
194 
195 typedef struct float32x4x2_t
196 {
197   float32x4_t val[2];
198 } float32x4x2_t;
199 
200 typedef struct poly8x8x2_t
201 {
202   poly8x8_t val[2];
203 } poly8x8x2_t;
204 
205 typedef struct poly8x16x2_t
206 {
207   poly8x16_t val[2];
208 } poly8x16x2_t;
209 
210 typedef struct poly16x4x2_t
211 {
212   poly16x4_t val[2];
213 } poly16x4x2_t;
214 
215 typedef struct poly16x8x2_t
216 {
217   poly16x8_t val[2];
218 } poly16x8x2_t;
219 
220 #pragma GCC push_options
221 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
222 typedef struct poly64x1x2_t
223 {
224   poly64x1_t val[2];
225 } poly64x1x2_t;
226 
227 
228 typedef struct poly64x2x2_t
229 {
230   poly64x2_t val[2];
231 } poly64x2x2_t;
232 #pragma GCC pop_options
233 
234 
235 typedef struct int8x8x3_t
236 {
237   int8x8_t val[3];
238 } int8x8x3_t;
239 
240 typedef struct int8x16x3_t
241 {
242   int8x16_t val[3];
243 } int8x16x3_t;
244 
245 typedef struct int16x4x3_t
246 {
247   int16x4_t val[3];
248 } int16x4x3_t;
249 
250 typedef struct int16x8x3_t
251 {
252   int16x8_t val[3];
253 } int16x8x3_t;
254 
255 typedef struct int32x2x3_t
256 {
257   int32x2_t val[3];
258 } int32x2x3_t;
259 
260 typedef struct int32x4x3_t
261 {
262   int32x4_t val[3];
263 } int32x4x3_t;
264 
265 typedef struct int64x1x3_t
266 {
267   int64x1_t val[3];
268 } int64x1x3_t;
269 
270 typedef struct int64x2x3_t
271 {
272   int64x2_t val[3];
273 } int64x2x3_t;
274 
275 typedef struct uint8x8x3_t
276 {
277   uint8x8_t val[3];
278 } uint8x8x3_t;
279 
280 typedef struct uint8x16x3_t
281 {
282   uint8x16_t val[3];
283 } uint8x16x3_t;
284 
285 typedef struct uint16x4x3_t
286 {
287   uint16x4_t val[3];
288 } uint16x4x3_t;
289 
290 typedef struct uint16x8x3_t
291 {
292   uint16x8_t val[3];
293 } uint16x8x3_t;
294 
295 typedef struct uint32x2x3_t
296 {
297   uint32x2_t val[3];
298 } uint32x2x3_t;
299 
300 typedef struct uint32x4x3_t
301 {
302   uint32x4_t val[3];
303 } uint32x4x3_t;
304 
305 typedef struct uint64x1x3_t
306 {
307   uint64x1_t val[3];
308 } uint64x1x3_t;
309 
310 typedef struct uint64x2x3_t
311 {
312   uint64x2_t val[3];
313 } uint64x2x3_t;
314 
315 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
316 typedef struct float16x4x3_t
317 {
318   float16x4_t val[3];
319 } float16x4x3_t;
320 #endif
321 
322 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
323 typedef struct float16x8x3_t
324 {
325   float16x8_t val[3];
326 } float16x8x3_t;
327 #endif
328 
329 typedef struct float32x2x3_t
330 {
331   float32x2_t val[3];
332 } float32x2x3_t;
333 
334 typedef struct float32x4x3_t
335 {
336   float32x4_t val[3];
337 } float32x4x3_t;
338 
339 typedef struct poly8x8x3_t
340 {
341   poly8x8_t val[3];
342 } poly8x8x3_t;
343 
344 typedef struct poly8x16x3_t
345 {
346   poly8x16_t val[3];
347 } poly8x16x3_t;
348 
349 typedef struct poly16x4x3_t
350 {
351   poly16x4_t val[3];
352 } poly16x4x3_t;
353 
354 typedef struct poly16x8x3_t
355 {
356   poly16x8_t val[3];
357 } poly16x8x3_t;
358 
359 #pragma GCC push_options
360 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
361 typedef struct poly64x1x3_t
362 {
363   poly64x1_t val[3];
364 } poly64x1x3_t;
365 
366 
367 typedef struct poly64x2x3_t
368 {
369   poly64x2_t val[3];
370 } poly64x2x3_t;
371 #pragma GCC pop_options
372 
373 
374 typedef struct int8x8x4_t
375 {
376   int8x8_t val[4];
377 } int8x8x4_t;
378 
379 typedef struct int8x16x4_t
380 {
381   int8x16_t val[4];
382 } int8x16x4_t;
383 
384 typedef struct int16x4x4_t
385 {
386   int16x4_t val[4];
387 } int16x4x4_t;
388 
389 typedef struct int16x8x4_t
390 {
391   int16x8_t val[4];
392 } int16x8x4_t;
393 
394 typedef struct int32x2x4_t
395 {
396   int32x2_t val[4];
397 } int32x2x4_t;
398 
399 typedef struct int32x4x4_t
400 {
401   int32x4_t val[4];
402 } int32x4x4_t;
403 
404 typedef struct int64x1x4_t
405 {
406   int64x1_t val[4];
407 } int64x1x4_t;
408 
409 typedef struct int64x2x4_t
410 {
411   int64x2_t val[4];
412 } int64x2x4_t;
413 
414 typedef struct uint8x8x4_t
415 {
416   uint8x8_t val[4];
417 } uint8x8x4_t;
418 
419 typedef struct uint8x16x4_t
420 {
421   uint8x16_t val[4];
422 } uint8x16x4_t;
423 
424 typedef struct uint16x4x4_t
425 {
426   uint16x4_t val[4];
427 } uint16x4x4_t;
428 
429 typedef struct uint16x8x4_t
430 {
431   uint16x8_t val[4];
432 } uint16x8x4_t;
433 
434 typedef struct uint32x2x4_t
435 {
436   uint32x2_t val[4];
437 } uint32x2x4_t;
438 
439 typedef struct uint32x4x4_t
440 {
441   uint32x4_t val[4];
442 } uint32x4x4_t;
443 
444 typedef struct uint64x1x4_t
445 {
446   uint64x1_t val[4];
447 } uint64x1x4_t;
448 
449 typedef struct uint64x2x4_t
450 {
451   uint64x2_t val[4];
452 } uint64x2x4_t;
453 
454 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
455 typedef struct float16x4x4_t
456 {
457   float16x4_t val[4];
458 } float16x4x4_t;
459 #endif
460 
461 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
462 typedef struct float16x8x4_t
463 {
464   float16x8_t val[4];
465 } float16x8x4_t;
466 #endif
467 
468 typedef struct float32x2x4_t
469 {
470   float32x2_t val[4];
471 } float32x2x4_t;
472 
473 typedef struct float32x4x4_t
474 {
475   float32x4_t val[4];
476 } float32x4x4_t;
477 
478 typedef struct poly8x8x4_t
479 {
480   poly8x8_t val[4];
481 } poly8x8x4_t;
482 
483 typedef struct poly8x16x4_t
484 {
485   poly8x16_t val[4];
486 } poly8x16x4_t;
487 
488 typedef struct poly16x4x4_t
489 {
490   poly16x4_t val[4];
491 } poly16x4x4_t;
492 
493 typedef struct poly16x8x4_t
494 {
495   poly16x8_t val[4];
496 } poly16x8x4_t;
497 
498 #pragma GCC push_options
499 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
500 typedef struct poly64x1x4_t
501 {
502   poly64x1_t val[4];
503 } poly64x1x4_t;
504 
505 
506 typedef struct poly64x2x4_t
507 {
508   poly64x2_t val[4];
509 } poly64x2x4_t;
510 #pragma GCC pop_options
511 
512 /* vadd  */
513 __extension__ extern __inline int8x8_t
514 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s8(int8x8_t __a,int8x8_t __b)515 vadd_s8 (int8x8_t __a, int8x8_t __b)
516 {
517   return __a + __b;
518 }
519 
520 __extension__ extern __inline int16x4_t
521 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s16(int16x4_t __a,int16x4_t __b)522 vadd_s16 (int16x4_t __a, int16x4_t __b)
523 {
524   return __a + __b;
525 }
526 
527 __extension__ extern __inline int32x2_t
528 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s32(int32x2_t __a,int32x2_t __b)529 vadd_s32 (int32x2_t __a, int32x2_t __b)
530 {
531   return __a + __b;
532 }
533 
534 __extension__ extern __inline float32x2_t
535 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_f32(float32x2_t __a,float32x2_t __b)536 vadd_f32 (float32x2_t __a, float32x2_t __b)
537 {
538 #ifdef __FAST_MATH__
539   return __a + __b;
540 #else
541   return (float32x2_t) __builtin_neon_vaddv2sf (__a, __b);
542 #endif
543 }
544 
545 __extension__ extern __inline uint8x8_t
546 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u8(uint8x8_t __a,uint8x8_t __b)547 vadd_u8 (uint8x8_t __a, uint8x8_t __b)
548 {
549   return __a + __b;
550 }
551 
552 __extension__ extern __inline uint16x4_t
553 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u16(uint16x4_t __a,uint16x4_t __b)554 vadd_u16 (uint16x4_t __a, uint16x4_t __b)
555 {
556   return __a + __b;
557 }
558 
559 __extension__ extern __inline uint32x2_t
560 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u32(uint32x2_t __a,uint32x2_t __b)561 vadd_u32 (uint32x2_t __a, uint32x2_t __b)
562 {
563   return __a + __b;
564 }
565 
566 __extension__ extern __inline int64x1_t
567 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s64(int64x1_t __a,int64x1_t __b)568 vadd_s64 (int64x1_t __a, int64x1_t __b)
569 {
570   return __a + __b;
571 }
572 
573 __extension__ extern __inline uint64x1_t
574 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u64(uint64x1_t __a,uint64x1_t __b)575 vadd_u64 (uint64x1_t __a, uint64x1_t __b)
576 {
577   return __a + __b;
578 }
579 
580 __extension__ extern __inline int8x16_t
581 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s8(int8x16_t __a,int8x16_t __b)582 vaddq_s8 (int8x16_t __a, int8x16_t __b)
583 {
584   return __a + __b;
585 }
586 
587 __extension__ extern __inline int16x8_t
588 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s16(int16x8_t __a,int16x8_t __b)589 vaddq_s16 (int16x8_t __a, int16x8_t __b)
590 {
591   return __a + __b;
592 }
593 
594 __extension__ extern __inline int32x4_t
595 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s32(int32x4_t __a,int32x4_t __b)596 vaddq_s32 (int32x4_t __a, int32x4_t __b)
597 {
598   return __a + __b;
599 }
600 
601 __extension__ extern __inline int64x2_t
602 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s64(int64x2_t __a,int64x2_t __b)603 vaddq_s64 (int64x2_t __a, int64x2_t __b)
604 {
605   return __a + __b;
606 }
607 
608 __extension__ extern __inline float32x4_t
609 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_f32(float32x4_t __a,float32x4_t __b)610 vaddq_f32 (float32x4_t __a, float32x4_t __b)
611 {
612 #ifdef __FAST_MATH__
613   return __a + __b;
614 #else
615   return (float32x4_t) __builtin_neon_vaddv4sf (__a, __b);
616 #endif
617 }
618 
619 __extension__ extern __inline uint8x16_t
620 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u8(uint8x16_t __a,uint8x16_t __b)621 vaddq_u8 (uint8x16_t __a, uint8x16_t __b)
622 {
623   return __a + __b;
624 }
625 
626 __extension__ extern __inline uint16x8_t
627 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u16(uint16x8_t __a,uint16x8_t __b)628 vaddq_u16 (uint16x8_t __a, uint16x8_t __b)
629 {
630   return __a + __b;
631 }
632 
633 __extension__ extern __inline uint32x4_t
634 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u32(uint32x4_t __a,uint32x4_t __b)635 vaddq_u32 (uint32x4_t __a, uint32x4_t __b)
636 {
637   return __a + __b;
638 }
639 
640 __extension__ extern __inline uint64x2_t
641 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u64(uint64x2_t __a,uint64x2_t __b)642 vaddq_u64 (uint64x2_t __a, uint64x2_t __b)
643 {
644   return __a + __b;
645 }
646 
647 __extension__ extern __inline int16x8_t
648 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_s8(int8x8_t __a,int8x8_t __b)649 vaddl_s8 (int8x8_t __a, int8x8_t __b)
650 {
651   return (int16x8_t)__builtin_neon_vaddlsv8qi (__a, __b);
652 }
653 
654 __extension__ extern __inline int32x4_t
655 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_s16(int16x4_t __a,int16x4_t __b)656 vaddl_s16 (int16x4_t __a, int16x4_t __b)
657 {
658   return (int32x4_t)__builtin_neon_vaddlsv4hi (__a, __b);
659 }
660 
661 __extension__ extern __inline int64x2_t
662 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_s32(int32x2_t __a,int32x2_t __b)663 vaddl_s32 (int32x2_t __a, int32x2_t __b)
664 {
665   return (int64x2_t)__builtin_neon_vaddlsv2si (__a, __b);
666 }
667 
668 __extension__ extern __inline uint16x8_t
669 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_u8(uint8x8_t __a,uint8x8_t __b)670 vaddl_u8 (uint8x8_t __a, uint8x8_t __b)
671 {
672   return (uint16x8_t)__builtin_neon_vaddluv8qi ((int8x8_t) __a, (int8x8_t) __b);
673 }
674 
675 __extension__ extern __inline uint32x4_t
676 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_u16(uint16x4_t __a,uint16x4_t __b)677 vaddl_u16 (uint16x4_t __a, uint16x4_t __b)
678 {
679   return (uint32x4_t)__builtin_neon_vaddluv4hi ((int16x4_t) __a, (int16x4_t) __b);
680 }
681 
682 __extension__ extern __inline uint64x2_t
683 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_u32(uint32x2_t __a,uint32x2_t __b)684 vaddl_u32 (uint32x2_t __a, uint32x2_t __b)
685 {
686   return (uint64x2_t)__builtin_neon_vaddluv2si ((int32x2_t) __a, (int32x2_t) __b);
687 }
688 
689 __extension__ extern __inline int16x8_t
690 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_s8(int16x8_t __a,int8x8_t __b)691 vaddw_s8 (int16x8_t __a, int8x8_t __b)
692 {
693   return (int16x8_t)__builtin_neon_vaddwsv8qi (__a, __b);
694 }
695 
696 __extension__ extern __inline int32x4_t
697 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_s16(int32x4_t __a,int16x4_t __b)698 vaddw_s16 (int32x4_t __a, int16x4_t __b)
699 {
700   return (int32x4_t)__builtin_neon_vaddwsv4hi (__a, __b);
701 }
702 
703 __extension__ extern __inline int64x2_t
704 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_s32(int64x2_t __a,int32x2_t __b)705 vaddw_s32 (int64x2_t __a, int32x2_t __b)
706 {
707   return (int64x2_t)__builtin_neon_vaddwsv2si (__a, __b);
708 }
709 
710 __extension__ extern __inline uint16x8_t
711 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_u8(uint16x8_t __a,uint8x8_t __b)712 vaddw_u8 (uint16x8_t __a, uint8x8_t __b)
713 {
714   return (uint16x8_t)__builtin_neon_vaddwuv8qi ((int16x8_t) __a, (int8x8_t) __b);
715 }
716 
717 __extension__ extern __inline uint32x4_t
718 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_u16(uint32x4_t __a,uint16x4_t __b)719 vaddw_u16 (uint32x4_t __a, uint16x4_t __b)
720 {
721   return (uint32x4_t)__builtin_neon_vaddwuv4hi ((int32x4_t) __a, (int16x4_t) __b);
722 }
723 
724 __extension__ extern __inline uint64x2_t
725 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_u32(uint64x2_t __a,uint32x2_t __b)726 vaddw_u32 (uint64x2_t __a, uint32x2_t __b)
727 {
728   return (uint64x2_t)__builtin_neon_vaddwuv2si ((int64x2_t) __a, (int32x2_t) __b);
729 }
730 
731 __extension__ extern __inline int8x8_t
732 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_s8(int8x8_t __a,int8x8_t __b)733 vhadd_s8 (int8x8_t __a, int8x8_t __b)
734 {
735   return (int8x8_t)__builtin_neon_vhaddsv8qi (__a, __b);
736 }
737 
738 __extension__ extern __inline int16x4_t
739 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_s16(int16x4_t __a,int16x4_t __b)740 vhadd_s16 (int16x4_t __a, int16x4_t __b)
741 {
742   return (int16x4_t)__builtin_neon_vhaddsv4hi (__a, __b);
743 }
744 
745 __extension__ extern __inline int32x2_t
746 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_s32(int32x2_t __a,int32x2_t __b)747 vhadd_s32 (int32x2_t __a, int32x2_t __b)
748 {
749   return (int32x2_t)__builtin_neon_vhaddsv2si (__a, __b);
750 }
751 
752 __extension__ extern __inline uint8x8_t
753 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_u8(uint8x8_t __a,uint8x8_t __b)754 vhadd_u8 (uint8x8_t __a, uint8x8_t __b)
755 {
756   return (uint8x8_t)__builtin_neon_vhadduv8qi ((int8x8_t) __a, (int8x8_t) __b);
757 }
758 
759 __extension__ extern __inline uint16x4_t
760 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_u16(uint16x4_t __a,uint16x4_t __b)761 vhadd_u16 (uint16x4_t __a, uint16x4_t __b)
762 {
763   return (uint16x4_t)__builtin_neon_vhadduv4hi ((int16x4_t) __a, (int16x4_t) __b);
764 }
765 
766 __extension__ extern __inline uint32x2_t
767 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_u32(uint32x2_t __a,uint32x2_t __b)768 vhadd_u32 (uint32x2_t __a, uint32x2_t __b)
769 {
770   return (uint32x2_t)__builtin_neon_vhadduv2si ((int32x2_t) __a, (int32x2_t) __b);
771 }
772 
773 __extension__ extern __inline int8x16_t
774 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_s8(int8x16_t __a,int8x16_t __b)775 vhaddq_s8 (int8x16_t __a, int8x16_t __b)
776 {
777   return (int8x16_t)__builtin_neon_vhaddsv16qi (__a, __b);
778 }
779 
780 __extension__ extern __inline int16x8_t
781 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_s16(int16x8_t __a,int16x8_t __b)782 vhaddq_s16 (int16x8_t __a, int16x8_t __b)
783 {
784   return (int16x8_t)__builtin_neon_vhaddsv8hi (__a, __b);
785 }
786 
787 __extension__ extern __inline int32x4_t
788 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_s32(int32x4_t __a,int32x4_t __b)789 vhaddq_s32 (int32x4_t __a, int32x4_t __b)
790 {
791   return (int32x4_t)__builtin_neon_vhaddsv4si (__a, __b);
792 }
793 
794 __extension__ extern __inline uint8x16_t
795 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_u8(uint8x16_t __a,uint8x16_t __b)796 vhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
797 {
798   return (uint8x16_t)__builtin_neon_vhadduv16qi ((int8x16_t) __a, (int8x16_t) __b);
799 }
800 
801 __extension__ extern __inline uint16x8_t
802 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_u16(uint16x8_t __a,uint16x8_t __b)803 vhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
804 {
805   return (uint16x8_t)__builtin_neon_vhadduv8hi ((int16x8_t) __a, (int16x8_t) __b);
806 }
807 
808 __extension__ extern __inline uint32x4_t
809 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_u32(uint32x4_t __a,uint32x4_t __b)810 vhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
811 {
812   return (uint32x4_t)__builtin_neon_vhadduv4si ((int32x4_t) __a, (int32x4_t) __b);
813 }
814 
815 __extension__ extern __inline int8x8_t
816 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_s8(int8x8_t __a,int8x8_t __b)817 vrhadd_s8 (int8x8_t __a, int8x8_t __b)
818 {
819   return (int8x8_t)__builtin_neon_vrhaddsv8qi (__a, __b);
820 }
821 
822 __extension__ extern __inline int16x4_t
823 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_s16(int16x4_t __a,int16x4_t __b)824 vrhadd_s16 (int16x4_t __a, int16x4_t __b)
825 {
826   return (int16x4_t)__builtin_neon_vrhaddsv4hi (__a, __b);
827 }
828 
829 __extension__ extern __inline int32x2_t
830 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_s32(int32x2_t __a,int32x2_t __b)831 vrhadd_s32 (int32x2_t __a, int32x2_t __b)
832 {
833   return (int32x2_t)__builtin_neon_vrhaddsv2si (__a, __b);
834 }
835 
836 __extension__ extern __inline uint8x8_t
837 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_u8(uint8x8_t __a,uint8x8_t __b)838 vrhadd_u8 (uint8x8_t __a, uint8x8_t __b)
839 {
840   return (uint8x8_t)__builtin_neon_vrhadduv8qi ((int8x8_t) __a, (int8x8_t) __b);
841 }
842 
843 __extension__ extern __inline uint16x4_t
844 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_u16(uint16x4_t __a,uint16x4_t __b)845 vrhadd_u16 (uint16x4_t __a, uint16x4_t __b)
846 {
847   return (uint16x4_t)__builtin_neon_vrhadduv4hi ((int16x4_t) __a, (int16x4_t) __b);
848 }
849 
850 __extension__ extern __inline uint32x2_t
851 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_u32(uint32x2_t __a,uint32x2_t __b)852 vrhadd_u32 (uint32x2_t __a, uint32x2_t __b)
853 {
854   return (uint32x2_t)__builtin_neon_vrhadduv2si ((int32x2_t) __a, (int32x2_t) __b);
855 }
856 
857 __extension__ extern __inline int8x16_t
858 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_s8(int8x16_t __a,int8x16_t __b)859 vrhaddq_s8 (int8x16_t __a, int8x16_t __b)
860 {
861   return (int8x16_t)__builtin_neon_vrhaddsv16qi (__a, __b);
862 }
863 
864 __extension__ extern __inline int16x8_t
865 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_s16(int16x8_t __a,int16x8_t __b)866 vrhaddq_s16 (int16x8_t __a, int16x8_t __b)
867 {
868   return (int16x8_t)__builtin_neon_vrhaddsv8hi (__a, __b);
869 }
870 
871 __extension__ extern __inline int32x4_t
872 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_s32(int32x4_t __a,int32x4_t __b)873 vrhaddq_s32 (int32x4_t __a, int32x4_t __b)
874 {
875   return (int32x4_t)__builtin_neon_vrhaddsv4si (__a, __b);
876 }
877 
878 __extension__ extern __inline uint8x16_t
879 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_u8(uint8x16_t __a,uint8x16_t __b)880 vrhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
881 {
882   return (uint8x16_t)__builtin_neon_vrhadduv16qi ((int8x16_t) __a, (int8x16_t) __b);
883 }
884 
885 __extension__ extern __inline uint16x8_t
886 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_u16(uint16x8_t __a,uint16x8_t __b)887 vrhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
888 {
889   return (uint16x8_t)__builtin_neon_vrhadduv8hi ((int16x8_t) __a, (int16x8_t) __b);
890 }
891 
892 __extension__ extern __inline uint32x4_t
893 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_u32(uint32x4_t __a,uint32x4_t __b)894 vrhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
895 {
896   return (uint32x4_t)__builtin_neon_vrhadduv4si ((int32x4_t) __a, (int32x4_t) __b);
897 }
898 
899 __extension__ extern __inline int8x8_t
900 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s8(int8x8_t __a,int8x8_t __b)901 vqadd_s8 (int8x8_t __a, int8x8_t __b)
902 {
903   return (int8x8_t)__builtin_neon_vqaddsv8qi (__a, __b);
904 }
905 
906 __extension__ extern __inline int16x4_t
907 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s16(int16x4_t __a,int16x4_t __b)908 vqadd_s16 (int16x4_t __a, int16x4_t __b)
909 {
910   return (int16x4_t)__builtin_neon_vqaddsv4hi (__a, __b);
911 }
912 
913 __extension__ extern __inline int32x2_t
914 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s32(int32x2_t __a,int32x2_t __b)915 vqadd_s32 (int32x2_t __a, int32x2_t __b)
916 {
917   return (int32x2_t)__builtin_neon_vqaddsv2si (__a, __b);
918 }
919 
920 __extension__ extern __inline int64x1_t
921 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s64(int64x1_t __a,int64x1_t __b)922 vqadd_s64 (int64x1_t __a, int64x1_t __b)
923 {
924   return (int64x1_t)__builtin_neon_vqaddsdi (__a, __b);
925 }
926 
927 __extension__ extern __inline uint8x8_t
928 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u8(uint8x8_t __a,uint8x8_t __b)929 vqadd_u8 (uint8x8_t __a, uint8x8_t __b)
930 {
931   return (uint8x8_t)__builtin_neon_vqadduv8qi ((int8x8_t) __a, (int8x8_t) __b);
932 }
933 
934 __extension__ extern __inline uint16x4_t
935 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u16(uint16x4_t __a,uint16x4_t __b)936 vqadd_u16 (uint16x4_t __a, uint16x4_t __b)
937 {
938   return (uint16x4_t)__builtin_neon_vqadduv4hi ((int16x4_t) __a, (int16x4_t) __b);
939 }
940 
941 __extension__ extern __inline uint32x2_t
942 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u32(uint32x2_t __a,uint32x2_t __b)943 vqadd_u32 (uint32x2_t __a, uint32x2_t __b)
944 {
945   return (uint32x2_t)__builtin_neon_vqadduv2si ((int32x2_t) __a, (int32x2_t) __b);
946 }
947 
948 __extension__ extern __inline uint64x1_t
949 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u64(uint64x1_t __a,uint64x1_t __b)950 vqadd_u64 (uint64x1_t __a, uint64x1_t __b)
951 {
952   return (uint64x1_t)__builtin_neon_vqaddudi ((int64x1_t) __a, (int64x1_t) __b);
953 }
954 
955 __extension__ extern __inline int8x16_t
956 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s8(int8x16_t __a,int8x16_t __b)957 vqaddq_s8 (int8x16_t __a, int8x16_t __b)
958 {
959   return (int8x16_t)__builtin_neon_vqaddsv16qi (__a, __b);
960 }
961 
962 __extension__ extern __inline int16x8_t
963 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s16(int16x8_t __a,int16x8_t __b)964 vqaddq_s16 (int16x8_t __a, int16x8_t __b)
965 {
966   return (int16x8_t)__builtin_neon_vqaddsv8hi (__a, __b);
967 }
968 
969 __extension__ extern __inline int32x4_t
970 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s32(int32x4_t __a,int32x4_t __b)971 vqaddq_s32 (int32x4_t __a, int32x4_t __b)
972 {
973   return (int32x4_t)__builtin_neon_vqaddsv4si (__a, __b);
974 }
975 
976 __extension__ extern __inline int64x2_t
977 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s64(int64x2_t __a,int64x2_t __b)978 vqaddq_s64 (int64x2_t __a, int64x2_t __b)
979 {
980   return (int64x2_t)__builtin_neon_vqaddsv2di (__a, __b);
981 }
982 
983 __extension__ extern __inline uint8x16_t
984 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u8(uint8x16_t __a,uint8x16_t __b)985 vqaddq_u8 (uint8x16_t __a, uint8x16_t __b)
986 {
987   return (uint8x16_t)__builtin_neon_vqadduv16qi ((int8x16_t) __a, (int8x16_t) __b);
988 }
989 
990 __extension__ extern __inline uint16x8_t
991 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u16(uint16x8_t __a,uint16x8_t __b)992 vqaddq_u16 (uint16x8_t __a, uint16x8_t __b)
993 {
994   return (uint16x8_t)__builtin_neon_vqadduv8hi ((int16x8_t) __a, (int16x8_t) __b);
995 }
996 
997 __extension__ extern __inline uint32x4_t
998 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u32(uint32x4_t __a,uint32x4_t __b)999 vqaddq_u32 (uint32x4_t __a, uint32x4_t __b)
1000 {
1001   return (uint32x4_t)__builtin_neon_vqadduv4si ((int32x4_t) __a, (int32x4_t) __b);
1002 }
1003 
1004 __extension__ extern __inline uint64x2_t
1005 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u64(uint64x2_t __a,uint64x2_t __b)1006 vqaddq_u64 (uint64x2_t __a, uint64x2_t __b)
1007 {
1008   return (uint64x2_t)__builtin_neon_vqadduv2di ((int64x2_t) __a, (int64x2_t) __b);
1009 }
1010 
1011 __extension__ extern __inline int8x8_t
1012 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_s16(int16x8_t __a,int16x8_t __b)1013 vaddhn_s16 (int16x8_t __a, int16x8_t __b)
1014 {
1015   return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b);
1016 }
1017 
1018 __extension__ extern __inline int16x4_t
1019 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_s32(int32x4_t __a,int32x4_t __b)1020 vaddhn_s32 (int32x4_t __a, int32x4_t __b)
1021 {
1022   return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b);
1023 }
1024 
1025 __extension__ extern __inline int32x2_t
1026 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_s64(int64x2_t __a,int64x2_t __b)1027 vaddhn_s64 (int64x2_t __a, int64x2_t __b)
1028 {
1029   return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b);
1030 }
1031 
1032 __extension__ extern __inline uint8x8_t
1033 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_u16(uint16x8_t __a,uint16x8_t __b)1034 vaddhn_u16 (uint16x8_t __a, uint16x8_t __b)
1035 {
1036   return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b);
1037 }
1038 
1039 __extension__ extern __inline uint16x4_t
1040 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_u32(uint32x4_t __a,uint32x4_t __b)1041 vaddhn_u32 (uint32x4_t __a, uint32x4_t __b)
1042 {
1043   return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b);
1044 }
1045 
1046 __extension__ extern __inline uint32x2_t
1047 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_u64(uint64x2_t __a,uint64x2_t __b)1048 vaddhn_u64 (uint64x2_t __a, uint64x2_t __b)
1049 {
1050   return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b);
1051 }
1052 
1053 __extension__ extern __inline int8x8_t
1054 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_s16(int16x8_t __a,int16x8_t __b)1055 vraddhn_s16 (int16x8_t __a, int16x8_t __b)
1056 {
1057   return (int8x8_t)__builtin_neon_vraddhnv8hi (__a, __b);
1058 }
1059 
1060 __extension__ extern __inline int16x4_t
1061 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_s32(int32x4_t __a,int32x4_t __b)1062 vraddhn_s32 (int32x4_t __a, int32x4_t __b)
1063 {
1064   return (int16x4_t)__builtin_neon_vraddhnv4si (__a, __b);
1065 }
1066 
1067 __extension__ extern __inline int32x2_t
1068 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_s64(int64x2_t __a,int64x2_t __b)1069 vraddhn_s64 (int64x2_t __a, int64x2_t __b)
1070 {
1071   return (int32x2_t)__builtin_neon_vraddhnv2di (__a, __b);
1072 }
1073 
1074 __extension__ extern __inline uint8x8_t
1075 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_u16(uint16x8_t __a,uint16x8_t __b)1076 vraddhn_u16 (uint16x8_t __a, uint16x8_t __b)
1077 {
1078   return (uint8x8_t)__builtin_neon_vraddhnv8hi ((int16x8_t) __a, (int16x8_t) __b);
1079 }
1080 
1081 __extension__ extern __inline uint16x4_t
1082 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_u32(uint32x4_t __a,uint32x4_t __b)1083 vraddhn_u32 (uint32x4_t __a, uint32x4_t __b)
1084 {
1085   return (uint16x4_t)__builtin_neon_vraddhnv4si ((int32x4_t) __a, (int32x4_t) __b);
1086 }
1087 
1088 __extension__ extern __inline uint32x2_t
1089 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_u64(uint64x2_t __a,uint64x2_t __b)1090 vraddhn_u64 (uint64x2_t __a, uint64x2_t __b)
1091 {
1092   return (uint32x2_t)__builtin_neon_vraddhnv2di ((int64x2_t) __a, (int64x2_t) __b);
1093 }
1094 
1095 __extension__ extern __inline int8x8_t
1096 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_s8(int8x8_t __a,int8x8_t __b)1097 vmul_s8 (int8x8_t __a, int8x8_t __b)
1098 {
1099   return __a * __b;
1100 }
1101 
1102 __extension__ extern __inline int16x4_t
1103 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_s16(int16x4_t __a,int16x4_t __b)1104 vmul_s16 (int16x4_t __a, int16x4_t __b)
1105 {
1106   return __a * __b;
1107 }
1108 
1109 __extension__ extern __inline int32x2_t
1110 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_s32(int32x2_t __a,int32x2_t __b)1111 vmul_s32 (int32x2_t __a, int32x2_t __b)
1112 {
1113   return __a * __b;
1114 }
1115 
1116 __extension__ extern __inline float32x2_t
1117 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_f32(float32x2_t __a,float32x2_t __b)1118 vmul_f32 (float32x2_t __a, float32x2_t __b)
1119 {
1120 #ifdef __FAST_MATH__
1121   return __a * __b;
1122 #else
1123   return (float32x2_t) __builtin_neon_vmulfv2sf (__a, __b);
1124 #endif
1125 
1126 }
1127 
1128 __extension__ extern __inline uint8x8_t
1129 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_u8(uint8x8_t __a,uint8x8_t __b)1130 vmul_u8 (uint8x8_t __a, uint8x8_t __b)
1131 {
1132   return __a * __b;
1133 }
1134 
1135 __extension__ extern __inline uint16x4_t
1136 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_u16(uint16x4_t __a,uint16x4_t __b)1137 vmul_u16 (uint16x4_t __a, uint16x4_t __b)
1138 {
1139   return __a * __b;
1140 }
1141 
1142 __extension__ extern __inline uint32x2_t
1143 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_u32(uint32x2_t __a,uint32x2_t __b)1144 vmul_u32 (uint32x2_t __a, uint32x2_t __b)
1145 {
1146   return __a * __b;
1147 }
1148 
1149 __extension__ extern __inline int8x16_t
1150 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_s8(int8x16_t __a,int8x16_t __b)1151 vmulq_s8 (int8x16_t __a, int8x16_t __b)
1152 {
1153   return __a * __b;
1154 }
1155 
1156 __extension__ extern __inline int16x8_t
1157 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_s16(int16x8_t __a,int16x8_t __b)1158 vmulq_s16 (int16x8_t __a, int16x8_t __b)
1159 {
1160   return __a * __b;
1161 }
1162 
1163 __extension__ extern __inline int32x4_t
1164 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_s32(int32x4_t __a,int32x4_t __b)1165 vmulq_s32 (int32x4_t __a, int32x4_t __b)
1166 {
1167   return __a * __b;
1168 }
1169 
1170 __extension__ extern __inline float32x4_t
1171 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_f32(float32x4_t __a,float32x4_t __b)1172 vmulq_f32 (float32x4_t __a, float32x4_t __b)
1173 {
1174 #ifdef __FAST_MATH__
1175   return __a * __b;
1176 #else
1177   return (float32x4_t) __builtin_neon_vmulfv4sf (__a, __b);
1178 #endif
1179 }
1180 
1181 __extension__ extern __inline uint8x16_t
1182 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_u8(uint8x16_t __a,uint8x16_t __b)1183 vmulq_u8 (uint8x16_t __a, uint8x16_t __b)
1184 {
1185   return __a * __b;
1186 }
1187 
1188 __extension__ extern __inline uint16x8_t
1189 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_u16(uint16x8_t __a,uint16x8_t __b)1190 vmulq_u16 (uint16x8_t __a, uint16x8_t __b)
1191 {
1192   return __a * __b;
1193 }
1194 
1195 __extension__ extern __inline uint32x4_t
1196 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_u32(uint32x4_t __a,uint32x4_t __b)1197 vmulq_u32 (uint32x4_t __a, uint32x4_t __b)
1198 {
1199   return __a * __b;
1200 }
1201 
1202 __extension__ extern __inline poly8x8_t
1203 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_p8(poly8x8_t __a,poly8x8_t __b)1204 vmul_p8 (poly8x8_t __a, poly8x8_t __b)
1205 {
1206   return (poly8x8_t)__builtin_neon_vmulpv8qi ((int8x8_t) __a, (int8x8_t) __b);
1207 }
1208 
1209 __extension__ extern __inline poly8x16_t
1210 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_p8(poly8x16_t __a,poly8x16_t __b)1211 vmulq_p8 (poly8x16_t __a, poly8x16_t __b)
1212 {
1213   return (poly8x16_t)__builtin_neon_vmulpv16qi ((int8x16_t) __a, (int8x16_t) __b);
1214 }
1215 
1216 __extension__ extern __inline int16x4_t
1217 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_s16(int16x4_t __a,int16x4_t __b)1218 vqdmulh_s16 (int16x4_t __a, int16x4_t __b)
1219 {
1220   return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b);
1221 }
1222 
1223 __extension__ extern __inline int32x2_t
1224 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_s32(int32x2_t __a,int32x2_t __b)1225 vqdmulh_s32 (int32x2_t __a, int32x2_t __b)
1226 {
1227   return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b);
1228 }
1229 
1230 __extension__ extern __inline int16x8_t
1231 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_s16(int16x8_t __a,int16x8_t __b)1232 vqdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1233 {
1234   return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b);
1235 }
1236 
1237 __extension__ extern __inline int32x4_t
1238 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_s32(int32x4_t __a,int32x4_t __b)1239 vqdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1240 {
1241   return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b);
1242 }
1243 
1244 __extension__ extern __inline int16x4_t
1245 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_s16(int16x4_t __a,int16x4_t __b)1246 vqrdmulh_s16 (int16x4_t __a, int16x4_t __b)
1247 {
1248   return (int16x4_t)__builtin_neon_vqrdmulhv4hi (__a, __b);
1249 }
1250 
1251 __extension__ extern __inline int32x2_t
1252 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_s32(int32x2_t __a,int32x2_t __b)1253 vqrdmulh_s32 (int32x2_t __a, int32x2_t __b)
1254 {
1255   return (int32x2_t)__builtin_neon_vqrdmulhv2si (__a, __b);
1256 }
1257 
1258 __extension__ extern __inline int16x8_t
1259 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_s16(int16x8_t __a,int16x8_t __b)1260 vqrdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1261 {
1262   return (int16x8_t)__builtin_neon_vqrdmulhv8hi (__a, __b);
1263 }
1264 
1265 __extension__ extern __inline int32x4_t
1266 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_s32(int32x4_t __a,int32x4_t __b)1267 vqrdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1268 {
1269   return (int32x4_t)__builtin_neon_vqrdmulhv4si (__a, __b);
1270 }
1271 
1272 #ifdef __ARM_FEATURE_QRDMX
1273 __extension__ extern __inline int16x4_t
1274 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)1275 vqrdmlah_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1276 {
1277   return (int16x4_t)__builtin_neon_vqrdmlahv4hi (__a, __b, __c);
1278 }
1279 
1280 __extension__ extern __inline int32x2_t
1281 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)1282 vqrdmlah_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1283 {
1284   return (int32x2_t)__builtin_neon_vqrdmlahv2si (__a, __b, __c);
1285 }
1286 
1287 __extension__ extern __inline int16x8_t
1288 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)1289 vqrdmlahq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1290 {
1291   return (int16x8_t)__builtin_neon_vqrdmlahv8hi (__a, __b, __c);
1292 }
1293 
1294 __extension__ extern __inline int32x4_t
1295 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)1296 vqrdmlahq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1297 {
1298   return (int32x4_t)__builtin_neon_vqrdmlahv4si (__a, __b, __c);
1299 }
1300 
1301 __extension__ extern __inline int16x4_t
1302 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)1303 vqrdmlsh_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1304 {
1305   return (int16x4_t)__builtin_neon_vqrdmlshv4hi (__a, __b, __c);
1306 }
1307 
1308 __extension__ extern __inline int32x2_t
1309 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)1310 vqrdmlsh_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1311 {
1312   return (int32x2_t)__builtin_neon_vqrdmlshv2si (__a, __b, __c);
1313 }
1314 
1315 __extension__ extern __inline int16x8_t
1316 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)1317 vqrdmlshq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1318 {
1319   return (int16x8_t)__builtin_neon_vqrdmlshv8hi (__a, __b, __c);
1320 }
1321 
1322 __extension__ extern __inline int32x4_t
1323 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)1324 vqrdmlshq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1325 {
1326   return (int32x4_t)__builtin_neon_vqrdmlshv4si (__a, __b, __c);
1327 }
1328 #endif
1329 
1330 __extension__ extern __inline int16x8_t
1331 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s8(int8x8_t __a,int8x8_t __b)1332 vmull_s8 (int8x8_t __a, int8x8_t __b)
1333 {
1334   return (int16x8_t)__builtin_neon_vmullsv8qi (__a, __b);
1335 }
1336 
1337 __extension__ extern __inline int32x4_t
1338 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s16(int16x4_t __a,int16x4_t __b)1339 vmull_s16 (int16x4_t __a, int16x4_t __b)
1340 {
1341   return (int32x4_t)__builtin_neon_vmullsv4hi (__a, __b);
1342 }
1343 
1344 __extension__ extern __inline int64x2_t
1345 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s32(int32x2_t __a,int32x2_t __b)1346 vmull_s32 (int32x2_t __a, int32x2_t __b)
1347 {
1348   return (int64x2_t)__builtin_neon_vmullsv2si (__a, __b);
1349 }
1350 
1351 __extension__ extern __inline uint16x8_t
1352 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u8(uint8x8_t __a,uint8x8_t __b)1353 vmull_u8 (uint8x8_t __a, uint8x8_t __b)
1354 {
1355   return (uint16x8_t)__builtin_neon_vmulluv8qi ((int8x8_t) __a, (int8x8_t) __b);
1356 }
1357 
1358 __extension__ extern __inline uint32x4_t
1359 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u16(uint16x4_t __a,uint16x4_t __b)1360 vmull_u16 (uint16x4_t __a, uint16x4_t __b)
1361 {
1362   return (uint32x4_t)__builtin_neon_vmulluv4hi ((int16x4_t) __a, (int16x4_t) __b);
1363 }
1364 
1365 __extension__ extern __inline uint64x2_t
1366 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u32(uint32x2_t __a,uint32x2_t __b)1367 vmull_u32 (uint32x2_t __a, uint32x2_t __b)
1368 {
1369   return (uint64x2_t)__builtin_neon_vmulluv2si ((int32x2_t) __a, (int32x2_t) __b);
1370 }
1371 
1372 __extension__ extern __inline poly16x8_t
1373 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_p8(poly8x8_t __a,poly8x8_t __b)1374 vmull_p8 (poly8x8_t __a, poly8x8_t __b)
1375 {
1376   return (poly16x8_t)__builtin_neon_vmullpv8qi ((int8x8_t) __a, (int8x8_t) __b);
1377 }
1378 
1379 __extension__ extern __inline int32x4_t
1380 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_s16(int16x4_t __a,int16x4_t __b)1381 vqdmull_s16 (int16x4_t __a, int16x4_t __b)
1382 {
1383   return (int32x4_t)__builtin_neon_vqdmullv4hi (__a, __b);
1384 }
1385 
1386 __extension__ extern __inline int64x2_t
1387 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_s32(int32x2_t __a,int32x2_t __b)1388 vqdmull_s32 (int32x2_t __a, int32x2_t __b)
1389 {
1390   return (int64x2_t)__builtin_neon_vqdmullv2si (__a, __b);
1391 }
1392 
1393 __extension__ extern __inline int8x8_t
1394 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)1395 vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1396 {
1397   return (int8x8_t)__builtin_neon_vmlav8qi (__a, __b, __c);
1398 }
1399 
1400 __extension__ extern __inline int16x4_t
1401 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)1402 vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1403 {
1404   return (int16x4_t)__builtin_neon_vmlav4hi (__a, __b, __c);
1405 }
1406 
1407 __extension__ extern __inline int32x2_t
1408 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)1409 vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1410 {
1411   return (int32x2_t)__builtin_neon_vmlav2si (__a, __b, __c);
1412 }
1413 
1414 __extension__ extern __inline float32x2_t
1415 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1416 vmla_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1417 {
1418   return (float32x2_t)__builtin_neon_vmlav2sf (__a, __b, __c);
1419 }
1420 
1421 __extension__ extern __inline uint8x8_t
1422 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)1423 vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1424 {
1425   return (uint8x8_t)__builtin_neon_vmlav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
1426 }
1427 
1428 __extension__ extern __inline uint16x4_t
1429 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)1430 vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1431 {
1432   return (uint16x4_t)__builtin_neon_vmlav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
1433 }
1434 
1435 __extension__ extern __inline uint32x2_t
1436 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)1437 vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1438 {
1439   return (uint32x2_t)__builtin_neon_vmlav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
1440 }
1441 
1442 __extension__ extern __inline int8x16_t
1443 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)1444 vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1445 {
1446   return (int8x16_t)__builtin_neon_vmlav16qi (__a, __b, __c);
1447 }
1448 
1449 __extension__ extern __inline int16x8_t
1450 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)1451 vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1452 {
1453   return (int16x8_t)__builtin_neon_vmlav8hi (__a, __b, __c);
1454 }
1455 
1456 __extension__ extern __inline int32x4_t
1457 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)1458 vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1459 {
1460   return (int32x4_t)__builtin_neon_vmlav4si (__a, __b, __c);
1461 }
1462 
1463 __extension__ extern __inline float32x4_t
1464 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1465 vmlaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1466 {
1467   return (float32x4_t)__builtin_neon_vmlav4sf (__a, __b, __c);
1468 }
1469 
1470 __extension__ extern __inline uint8x16_t
1471 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)1472 vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1473 {
1474   return (uint8x16_t)__builtin_neon_vmlav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
1475 }
1476 
1477 __extension__ extern __inline uint16x8_t
1478 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)1479 vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1480 {
1481   return (uint16x8_t)__builtin_neon_vmlav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
1482 }
1483 
1484 __extension__ extern __inline uint32x4_t
1485 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)1486 vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1487 {
1488   return (uint32x4_t)__builtin_neon_vmlav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c);
1489 }
1490 
1491 __extension__ extern __inline int16x8_t
1492 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)1493 vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1494 {
1495   return (int16x8_t)__builtin_neon_vmlalsv8qi (__a, __b, __c);
1496 }
1497 
1498 __extension__ extern __inline int32x4_t
1499 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1500 vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1501 {
1502   return (int32x4_t)__builtin_neon_vmlalsv4hi (__a, __b, __c);
1503 }
1504 
1505 __extension__ extern __inline int64x2_t
1506 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1507 vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1508 {
1509   return (int64x2_t)__builtin_neon_vmlalsv2si (__a, __b, __c);
1510 }
1511 
1512 __extension__ extern __inline uint16x8_t
1513 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)1514 vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1515 {
1516   return (uint16x8_t)__builtin_neon_vmlaluv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
1517 }
1518 
1519 __extension__ extern __inline uint32x4_t
1520 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)1521 vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1522 {
1523   return (uint32x4_t)__builtin_neon_vmlaluv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
1524 }
1525 
1526 __extension__ extern __inline uint64x2_t
1527 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)1528 vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1529 {
1530   return (uint64x2_t)__builtin_neon_vmlaluv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
1531 }
1532 
1533 __extension__ extern __inline int32x4_t
1534 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1535 vqdmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1536 {
1537   return (int32x4_t)__builtin_neon_vqdmlalv4hi (__a, __b, __c);
1538 }
1539 
1540 __extension__ extern __inline int64x2_t
1541 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1542 vqdmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1543 {
1544   return (int64x2_t)__builtin_neon_vqdmlalv2si (__a, __b, __c);
1545 }
1546 
1547 __extension__ extern __inline int8x8_t
1548 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)1549 vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1550 {
1551   return (int8x8_t)__builtin_neon_vmlsv8qi (__a, __b, __c);
1552 }
1553 
1554 __extension__ extern __inline int16x4_t
1555 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)1556 vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1557 {
1558   return (int16x4_t)__builtin_neon_vmlsv4hi (__a, __b, __c);
1559 }
1560 
1561 __extension__ extern __inline int32x2_t
1562 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)1563 vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1564 {
1565   return (int32x2_t)__builtin_neon_vmlsv2si (__a, __b, __c);
1566 }
1567 
1568 __extension__ extern __inline float32x2_t
1569 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1570 vmls_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1571 {
1572   return (float32x2_t)__builtin_neon_vmlsv2sf (__a, __b, __c);
1573 }
1574 
1575 __extension__ extern __inline uint8x8_t
1576 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)1577 vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1578 {
1579   return (uint8x8_t)__builtin_neon_vmlsv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
1580 }
1581 
1582 __extension__ extern __inline uint16x4_t
1583 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)1584 vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1585 {
1586   return (uint16x4_t)__builtin_neon_vmlsv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
1587 }
1588 
1589 __extension__ extern __inline uint32x2_t
1590 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)1591 vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1592 {
1593   return (uint32x2_t)__builtin_neon_vmlsv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
1594 }
1595 
1596 __extension__ extern __inline int8x16_t
1597 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)1598 vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1599 {
1600   return (int8x16_t)__builtin_neon_vmlsv16qi (__a, __b, __c);
1601 }
1602 
1603 __extension__ extern __inline int16x8_t
1604 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)1605 vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1606 {
1607   return (int16x8_t)__builtin_neon_vmlsv8hi (__a, __b, __c);
1608 }
1609 
1610 __extension__ extern __inline int32x4_t
1611 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)1612 vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1613 {
1614   return (int32x4_t)__builtin_neon_vmlsv4si (__a, __b, __c);
1615 }
1616 
1617 __extension__ extern __inline float32x4_t
1618 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1619 vmlsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1620 {
1621   return (float32x4_t)__builtin_neon_vmlsv4sf (__a, __b, __c);
1622 }
1623 
1624 __extension__ extern __inline uint8x16_t
1625 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)1626 vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1627 {
1628   return (uint8x16_t)__builtin_neon_vmlsv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
1629 }
1630 
1631 __extension__ extern __inline uint16x8_t
1632 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)1633 vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1634 {
1635   return (uint16x8_t)__builtin_neon_vmlsv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
1636 }
1637 
1638 __extension__ extern __inline uint32x4_t
1639 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)1640 vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1641 {
1642   return (uint32x4_t)__builtin_neon_vmlsv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c);
1643 }
1644 
1645 __extension__ extern __inline int16x8_t
1646 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)1647 vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1648 {
1649   return (int16x8_t)__builtin_neon_vmlslsv8qi (__a, __b, __c);
1650 }
1651 
1652 __extension__ extern __inline int32x4_t
1653 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1654 vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1655 {
1656   return (int32x4_t)__builtin_neon_vmlslsv4hi (__a, __b, __c);
1657 }
1658 
1659 __extension__ extern __inline int64x2_t
1660 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1661 vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1662 {
1663   return (int64x2_t)__builtin_neon_vmlslsv2si (__a, __b, __c);
1664 }
1665 
1666 __extension__ extern __inline uint16x8_t
1667 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)1668 vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1669 {
1670   return (uint16x8_t)__builtin_neon_vmlsluv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
1671 }
1672 
1673 __extension__ extern __inline uint32x4_t
1674 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)1675 vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1676 {
1677   return (uint32x4_t)__builtin_neon_vmlsluv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
1678 }
1679 
1680 __extension__ extern __inline uint64x2_t
1681 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)1682 vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1683 {
1684   return (uint64x2_t)__builtin_neon_vmlsluv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
1685 }
1686 
1687 __extension__ extern __inline int32x4_t
1688 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1689 vqdmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1690 {
1691   return (int32x4_t)__builtin_neon_vqdmlslv4hi (__a, __b, __c);
1692 }
1693 
1694 __extension__ extern __inline int64x2_t
1695 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1696 vqdmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1697 {
1698   return (int64x2_t)__builtin_neon_vqdmlslv2si (__a, __b, __c);
1699 }
1700 
1701 #pragma GCC push_options
1702 #pragma GCC target ("fpu=neon-vfpv4")
1703 __extension__ extern __inline float32x2_t
1704 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfma_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1705 vfma_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1706 {
1707   return (float32x2_t)__builtin_neon_vfmav2sf (__a, __b, __c);
1708 }
1709 
1710 __extension__ extern __inline float32x4_t
1711 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1712 vfmaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1713 {
1714   return (float32x4_t)__builtin_neon_vfmav4sf (__a, __b, __c);
1715 }
1716 
1717 __extension__ extern __inline float32x2_t
1718 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfms_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1719 vfms_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1720 {
1721   return (float32x2_t)__builtin_neon_vfmsv2sf (__a, __b, __c);
1722 }
1723 
1724 __extension__ extern __inline float32x4_t
1725 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1726 vfmsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1727 {
1728   return (float32x4_t)__builtin_neon_vfmsv4sf (__a, __b, __c);
1729 }
1730 #pragma GCC pop_options
1731 
1732 #if __ARM_ARCH >= 8
1733 __extension__ extern __inline float32x2_t
1734 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndn_f32(float32x2_t __a)1735 vrndn_f32 (float32x2_t __a)
1736 {
1737   return (float32x2_t)__builtin_neon_vrintnv2sf (__a);
1738 }
1739 
1740 #endif
1741 #if __ARM_ARCH >= 8
1742 __extension__ extern __inline float32x4_t
1743 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndnq_f32(float32x4_t __a)1744 vrndnq_f32 (float32x4_t __a)
1745 {
1746   return (float32x4_t)__builtin_neon_vrintnv4sf (__a);
1747 }
1748 
1749 #endif
1750 #if __ARM_ARCH >= 8
1751 __extension__ extern __inline float32x2_t
1752 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrnda_f32(float32x2_t __a)1753 vrnda_f32 (float32x2_t __a)
1754 {
1755   return (float32x2_t)__builtin_neon_vrintav2sf (__a);
1756 }
1757 
1758 #endif
1759 #if __ARM_ARCH >= 8
1760 __extension__ extern __inline float32x4_t
1761 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndaq_f32(float32x4_t __a)1762 vrndaq_f32 (float32x4_t __a)
1763 {
1764   return (float32x4_t)__builtin_neon_vrintav4sf (__a);
1765 }
1766 
1767 #endif
1768 #if __ARM_ARCH >= 8
1769 __extension__ extern __inline float32x2_t
1770 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndp_f32(float32x2_t __a)1771 vrndp_f32 (float32x2_t __a)
1772 {
1773   return (float32x2_t)__builtin_neon_vrintpv2sf (__a);
1774 }
1775 
1776 #endif
1777 #if __ARM_ARCH >= 8
1778 __extension__ extern __inline float32x4_t
1779 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndpq_f32(float32x4_t __a)1780 vrndpq_f32 (float32x4_t __a)
1781 {
1782   return (float32x4_t)__builtin_neon_vrintpv4sf (__a);
1783 }
1784 
1785 #endif
1786 #if __ARM_ARCH >= 8
1787 __extension__ extern __inline float32x2_t
1788 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndm_f32(float32x2_t __a)1789 vrndm_f32 (float32x2_t __a)
1790 {
1791   return (float32x2_t)__builtin_neon_vrintmv2sf (__a);
1792 }
1793 
1794 #endif
1795 #if __ARM_ARCH >= 8
1796 __extension__ extern __inline float32x4_t
1797 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndmq_f32(float32x4_t __a)1798 vrndmq_f32 (float32x4_t __a)
1799 {
1800   return (float32x4_t)__builtin_neon_vrintmv4sf (__a);
1801 }
1802 
1803 #endif
1804 
1805 #if __ARM_ARCH >= 8
1806 __extension__ extern __inline float32x2_t
1807 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndx_f32(float32x2_t __a)1808 vrndx_f32 (float32x2_t __a)
1809 {
1810   return (float32x2_t)__builtin_neon_vrintxv2sf (__a);
1811 }
1812 
1813 #endif
1814 
1815 #if __ARM_ARCH >= 8
1816 __extension__ extern __inline float32x4_t
1817 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndxq_f32(float32x4_t __a)1818 vrndxq_f32 (float32x4_t __a)
1819 {
1820   return (float32x4_t)__builtin_neon_vrintxv4sf (__a);
1821 }
1822 
1823 #endif
1824 
1825 #if __ARM_ARCH >= 8
1826 __extension__ extern __inline float32x2_t
1827 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrnd_f32(float32x2_t __a)1828 vrnd_f32 (float32x2_t __a)
1829 {
1830   return (float32x2_t)__builtin_neon_vrintzv2sf (__a);
1831 }
1832 
1833 #endif
1834 #if __ARM_ARCH >= 8
1835 __extension__ extern __inline float32x4_t
1836 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndq_f32(float32x4_t __a)1837 vrndq_f32 (float32x4_t __a)
1838 {
1839   return (float32x4_t)__builtin_neon_vrintzv4sf (__a);
1840 }
1841 
1842 #endif
1843 
1844 __extension__ extern __inline int8x8_t
1845 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s8(int8x8_t __a,int8x8_t __b)1846 vsub_s8 (int8x8_t __a, int8x8_t __b)
1847 {
1848   return __a - __b;
1849 }
1850 
1851 __extension__ extern __inline int16x4_t
1852 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s16(int16x4_t __a,int16x4_t __b)1853 vsub_s16 (int16x4_t __a, int16x4_t __b)
1854 {
1855   return __a - __b;
1856 }
1857 
1858 __extension__ extern __inline int32x2_t
1859 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s32(int32x2_t __a,int32x2_t __b)1860 vsub_s32 (int32x2_t __a, int32x2_t __b)
1861 {
1862   return __a - __b;
1863 }
1864 
1865 __extension__ extern __inline float32x2_t
1866 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_f32(float32x2_t __a,float32x2_t __b)1867 vsub_f32 (float32x2_t __a, float32x2_t __b)
1868 {
1869 #ifdef __FAST_MATH__
1870   return __a - __b;
1871 #else
1872   return (float32x2_t) __builtin_neon_vsubv2sf (__a, __b);
1873 #endif
1874 }
1875 
1876 __extension__ extern __inline uint8x8_t
1877 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u8(uint8x8_t __a,uint8x8_t __b)1878 vsub_u8 (uint8x8_t __a, uint8x8_t __b)
1879 {
1880   return __a - __b;
1881 }
1882 
1883 __extension__ extern __inline uint16x4_t
1884 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u16(uint16x4_t __a,uint16x4_t __b)1885 vsub_u16 (uint16x4_t __a, uint16x4_t __b)
1886 {
1887   return __a - __b;
1888 }
1889 
1890 __extension__ extern __inline uint32x2_t
1891 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u32(uint32x2_t __a,uint32x2_t __b)1892 vsub_u32 (uint32x2_t __a, uint32x2_t __b)
1893 {
1894   return __a - __b;
1895 }
1896 
1897 __extension__ extern __inline int64x1_t
1898 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s64(int64x1_t __a,int64x1_t __b)1899 vsub_s64 (int64x1_t __a, int64x1_t __b)
1900 {
1901   return __a - __b;
1902 }
1903 
1904 __extension__ extern __inline uint64x1_t
1905 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u64(uint64x1_t __a,uint64x1_t __b)1906 vsub_u64 (uint64x1_t __a, uint64x1_t __b)
1907 {
1908   return __a - __b;
1909 }
1910 
1911 __extension__ extern __inline int8x16_t
1912 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s8(int8x16_t __a,int8x16_t __b)1913 vsubq_s8 (int8x16_t __a, int8x16_t __b)
1914 {
1915   return __a - __b;
1916 }
1917 
1918 __extension__ extern __inline int16x8_t
1919 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s16(int16x8_t __a,int16x8_t __b)1920 vsubq_s16 (int16x8_t __a, int16x8_t __b)
1921 {
1922   return __a - __b;
1923 }
1924 
1925 __extension__ extern __inline int32x4_t
1926 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s32(int32x4_t __a,int32x4_t __b)1927 vsubq_s32 (int32x4_t __a, int32x4_t __b)
1928 {
1929   return __a - __b;
1930 }
1931 
1932 __extension__ extern __inline int64x2_t
1933 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s64(int64x2_t __a,int64x2_t __b)1934 vsubq_s64 (int64x2_t __a, int64x2_t __b)
1935 {
1936   return __a - __b;
1937 }
1938 
1939 __extension__ extern __inline float32x4_t
1940 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_f32(float32x4_t __a,float32x4_t __b)1941 vsubq_f32 (float32x4_t __a, float32x4_t __b)
1942 {
1943 #ifdef __FAST_MATH__
1944   return __a - __b;
1945 #else
1946   return (float32x4_t) __builtin_neon_vsubv4sf (__a, __b);
1947 #endif
1948 }
1949 
1950 __extension__ extern __inline uint8x16_t
1951 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u8(uint8x16_t __a,uint8x16_t __b)1952 vsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1953 {
1954   return __a - __b;
1955 }
1956 
1957 __extension__ extern __inline uint16x8_t
1958 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u16(uint16x8_t __a,uint16x8_t __b)1959 vsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1960 {
1961   return __a - __b;
1962 }
1963 
1964 __extension__ extern __inline uint32x4_t
1965 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u32(uint32x4_t __a,uint32x4_t __b)1966 vsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1967 {
1968   return __a - __b;
1969 }
1970 
1971 __extension__ extern __inline uint64x2_t
1972 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u64(uint64x2_t __a,uint64x2_t __b)1973 vsubq_u64 (uint64x2_t __a, uint64x2_t __b)
1974 {
1975   return __a - __b;
1976 }
1977 
1978 __extension__ extern __inline int16x8_t
1979 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_s8(int8x8_t __a,int8x8_t __b)1980 vsubl_s8 (int8x8_t __a, int8x8_t __b)
1981 {
1982   return (int16x8_t)__builtin_neon_vsublsv8qi (__a, __b);
1983 }
1984 
1985 __extension__ extern __inline int32x4_t
1986 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_s16(int16x4_t __a,int16x4_t __b)1987 vsubl_s16 (int16x4_t __a, int16x4_t __b)
1988 {
1989   return (int32x4_t)__builtin_neon_vsublsv4hi (__a, __b);
1990 }
1991 
1992 __extension__ extern __inline int64x2_t
1993 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_s32(int32x2_t __a,int32x2_t __b)1994 vsubl_s32 (int32x2_t __a, int32x2_t __b)
1995 {
1996   return (int64x2_t)__builtin_neon_vsublsv2si (__a, __b);
1997 }
1998 
1999 __extension__ extern __inline uint16x8_t
2000 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_u8(uint8x8_t __a,uint8x8_t __b)2001 vsubl_u8 (uint8x8_t __a, uint8x8_t __b)
2002 {
2003   return (uint16x8_t)__builtin_neon_vsubluv8qi ((int8x8_t) __a, (int8x8_t) __b);
2004 }
2005 
2006 __extension__ extern __inline uint32x4_t
2007 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_u16(uint16x4_t __a,uint16x4_t __b)2008 vsubl_u16 (uint16x4_t __a, uint16x4_t __b)
2009 {
2010   return (uint32x4_t)__builtin_neon_vsubluv4hi ((int16x4_t) __a, (int16x4_t) __b);
2011 }
2012 
2013 __extension__ extern __inline uint64x2_t
2014 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_u32(uint32x2_t __a,uint32x2_t __b)2015 vsubl_u32 (uint32x2_t __a, uint32x2_t __b)
2016 {
2017   return (uint64x2_t)__builtin_neon_vsubluv2si ((int32x2_t) __a, (int32x2_t) __b);
2018 }
2019 
2020 __extension__ extern __inline int16x8_t
2021 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_s8(int16x8_t __a,int8x8_t __b)2022 vsubw_s8 (int16x8_t __a, int8x8_t __b)
2023 {
2024   return (int16x8_t)__builtin_neon_vsubwsv8qi (__a, __b);
2025 }
2026 
2027 __extension__ extern __inline int32x4_t
2028 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_s16(int32x4_t __a,int16x4_t __b)2029 vsubw_s16 (int32x4_t __a, int16x4_t __b)
2030 {
2031   return (int32x4_t)__builtin_neon_vsubwsv4hi (__a, __b);
2032 }
2033 
2034 __extension__ extern __inline int64x2_t
2035 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_s32(int64x2_t __a,int32x2_t __b)2036 vsubw_s32 (int64x2_t __a, int32x2_t __b)
2037 {
2038   return (int64x2_t)__builtin_neon_vsubwsv2si (__a, __b);
2039 }
2040 
2041 __extension__ extern __inline uint16x8_t
2042 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_u8(uint16x8_t __a,uint8x8_t __b)2043 vsubw_u8 (uint16x8_t __a, uint8x8_t __b)
2044 {
2045   return (uint16x8_t)__builtin_neon_vsubwuv8qi ((int16x8_t) __a, (int8x8_t) __b);
2046 }
2047 
2048 __extension__ extern __inline uint32x4_t
2049 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_u16(uint32x4_t __a,uint16x4_t __b)2050 vsubw_u16 (uint32x4_t __a, uint16x4_t __b)
2051 {
2052   return (uint32x4_t)__builtin_neon_vsubwuv4hi ((int32x4_t) __a, (int16x4_t) __b);
2053 }
2054 
2055 __extension__ extern __inline uint64x2_t
2056 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_u32(uint64x2_t __a,uint32x2_t __b)2057 vsubw_u32 (uint64x2_t __a, uint32x2_t __b)
2058 {
2059   return (uint64x2_t)__builtin_neon_vsubwuv2si ((int64x2_t) __a, (int32x2_t) __b);
2060 }
2061 
2062 __extension__ extern __inline int8x8_t
2063 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_s8(int8x8_t __a,int8x8_t __b)2064 vhsub_s8 (int8x8_t __a, int8x8_t __b)
2065 {
2066   return (int8x8_t)__builtin_neon_vhsubsv8qi (__a, __b);
2067 }
2068 
2069 __extension__ extern __inline int16x4_t
2070 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_s16(int16x4_t __a,int16x4_t __b)2071 vhsub_s16 (int16x4_t __a, int16x4_t __b)
2072 {
2073   return (int16x4_t)__builtin_neon_vhsubsv4hi (__a, __b);
2074 }
2075 
2076 __extension__ extern __inline int32x2_t
2077 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_s32(int32x2_t __a,int32x2_t __b)2078 vhsub_s32 (int32x2_t __a, int32x2_t __b)
2079 {
2080   return (int32x2_t)__builtin_neon_vhsubsv2si (__a, __b);
2081 }
2082 
2083 __extension__ extern __inline uint8x8_t
2084 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_u8(uint8x8_t __a,uint8x8_t __b)2085 vhsub_u8 (uint8x8_t __a, uint8x8_t __b)
2086 {
2087   return (uint8x8_t)__builtin_neon_vhsubuv8qi ((int8x8_t) __a, (int8x8_t) __b);
2088 }
2089 
2090 __extension__ extern __inline uint16x4_t
2091 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_u16(uint16x4_t __a,uint16x4_t __b)2092 vhsub_u16 (uint16x4_t __a, uint16x4_t __b)
2093 {
2094   return (uint16x4_t)__builtin_neon_vhsubuv4hi ((int16x4_t) __a, (int16x4_t) __b);
2095 }
2096 
2097 __extension__ extern __inline uint32x2_t
2098 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_u32(uint32x2_t __a,uint32x2_t __b)2099 vhsub_u32 (uint32x2_t __a, uint32x2_t __b)
2100 {
2101   return (uint32x2_t)__builtin_neon_vhsubuv2si ((int32x2_t) __a, (int32x2_t) __b);
2102 }
2103 
2104 __extension__ extern __inline int8x16_t
2105 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_s8(int8x16_t __a,int8x16_t __b)2106 vhsubq_s8 (int8x16_t __a, int8x16_t __b)
2107 {
2108   return (int8x16_t)__builtin_neon_vhsubsv16qi (__a, __b);
2109 }
2110 
2111 __extension__ extern __inline int16x8_t
2112 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_s16(int16x8_t __a,int16x8_t __b)2113 vhsubq_s16 (int16x8_t __a, int16x8_t __b)
2114 {
2115   return (int16x8_t)__builtin_neon_vhsubsv8hi (__a, __b);
2116 }
2117 
2118 __extension__ extern __inline int32x4_t
2119 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_s32(int32x4_t __a,int32x4_t __b)2120 vhsubq_s32 (int32x4_t __a, int32x4_t __b)
2121 {
2122   return (int32x4_t)__builtin_neon_vhsubsv4si (__a, __b);
2123 }
2124 
2125 __extension__ extern __inline uint8x16_t
2126 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_u8(uint8x16_t __a,uint8x16_t __b)2127 vhsubq_u8 (uint8x16_t __a, uint8x16_t __b)
2128 {
2129   return (uint8x16_t)__builtin_neon_vhsubuv16qi ((int8x16_t) __a, (int8x16_t) __b);
2130 }
2131 
2132 __extension__ extern __inline uint16x8_t
2133 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_u16(uint16x8_t __a,uint16x8_t __b)2134 vhsubq_u16 (uint16x8_t __a, uint16x8_t __b)
2135 {
2136   return (uint16x8_t)__builtin_neon_vhsubuv8hi ((int16x8_t) __a, (int16x8_t) __b);
2137 }
2138 
2139 __extension__ extern __inline uint32x4_t
2140 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_u32(uint32x4_t __a,uint32x4_t __b)2141 vhsubq_u32 (uint32x4_t __a, uint32x4_t __b)
2142 {
2143   return (uint32x4_t)__builtin_neon_vhsubuv4si ((int32x4_t) __a, (int32x4_t) __b);
2144 }
2145 
2146 __extension__ extern __inline int8x8_t
2147 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s8(int8x8_t __a,int8x8_t __b)2148 vqsub_s8 (int8x8_t __a, int8x8_t __b)
2149 {
2150   return (int8x8_t)__builtin_neon_vqsubsv8qi (__a, __b);
2151 }
2152 
2153 __extension__ extern __inline int16x4_t
2154 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s16(int16x4_t __a,int16x4_t __b)2155 vqsub_s16 (int16x4_t __a, int16x4_t __b)
2156 {
2157   return (int16x4_t)__builtin_neon_vqsubsv4hi (__a, __b);
2158 }
2159 
2160 __extension__ extern __inline int32x2_t
2161 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s32(int32x2_t __a,int32x2_t __b)2162 vqsub_s32 (int32x2_t __a, int32x2_t __b)
2163 {
2164   return (int32x2_t)__builtin_neon_vqsubsv2si (__a, __b);
2165 }
2166 
2167 __extension__ extern __inline int64x1_t
2168 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s64(int64x1_t __a,int64x1_t __b)2169 vqsub_s64 (int64x1_t __a, int64x1_t __b)
2170 {
2171   return (int64x1_t)__builtin_neon_vqsubsdi (__a, __b);
2172 }
2173 
2174 __extension__ extern __inline uint8x8_t
2175 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u8(uint8x8_t __a,uint8x8_t __b)2176 vqsub_u8 (uint8x8_t __a, uint8x8_t __b)
2177 {
2178   return (uint8x8_t)__builtin_neon_vqsubuv8qi ((int8x8_t) __a, (int8x8_t) __b);
2179 }
2180 
2181 __extension__ extern __inline uint16x4_t
2182 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u16(uint16x4_t __a,uint16x4_t __b)2183 vqsub_u16 (uint16x4_t __a, uint16x4_t __b)
2184 {
2185   return (uint16x4_t)__builtin_neon_vqsubuv4hi ((int16x4_t) __a, (int16x4_t) __b);
2186 }
2187 
2188 __extension__ extern __inline uint32x2_t
2189 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u32(uint32x2_t __a,uint32x2_t __b)2190 vqsub_u32 (uint32x2_t __a, uint32x2_t __b)
2191 {
2192   return (uint32x2_t)__builtin_neon_vqsubuv2si ((int32x2_t) __a, (int32x2_t) __b);
2193 }
2194 
2195 __extension__ extern __inline uint64x1_t
2196 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u64(uint64x1_t __a,uint64x1_t __b)2197 vqsub_u64 (uint64x1_t __a, uint64x1_t __b)
2198 {
2199   return (uint64x1_t)__builtin_neon_vqsubudi ((int64x1_t) __a, (int64x1_t) __b);
2200 }
2201 
2202 __extension__ extern __inline int8x16_t
2203 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s8(int8x16_t __a,int8x16_t __b)2204 vqsubq_s8 (int8x16_t __a, int8x16_t __b)
2205 {
2206   return (int8x16_t)__builtin_neon_vqsubsv16qi (__a, __b);
2207 }
2208 
2209 __extension__ extern __inline int16x8_t
2210 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s16(int16x8_t __a,int16x8_t __b)2211 vqsubq_s16 (int16x8_t __a, int16x8_t __b)
2212 {
2213   return (int16x8_t)__builtin_neon_vqsubsv8hi (__a, __b);
2214 }
2215 
2216 __extension__ extern __inline int32x4_t
2217 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s32(int32x4_t __a,int32x4_t __b)2218 vqsubq_s32 (int32x4_t __a, int32x4_t __b)
2219 {
2220   return (int32x4_t)__builtin_neon_vqsubsv4si (__a, __b);
2221 }
2222 
2223 __extension__ extern __inline int64x2_t
2224 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s64(int64x2_t __a,int64x2_t __b)2225 vqsubq_s64 (int64x2_t __a, int64x2_t __b)
2226 {
2227   return (int64x2_t)__builtin_neon_vqsubsv2di (__a, __b);
2228 }
2229 
2230 __extension__ extern __inline uint8x16_t
2231 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u8(uint8x16_t __a,uint8x16_t __b)2232 vqsubq_u8 (uint8x16_t __a, uint8x16_t __b)
2233 {
2234   return (uint8x16_t)__builtin_neon_vqsubuv16qi ((int8x16_t) __a, (int8x16_t) __b);
2235 }
2236 
2237 __extension__ extern __inline uint16x8_t
2238 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u16(uint16x8_t __a,uint16x8_t __b)2239 vqsubq_u16 (uint16x8_t __a, uint16x8_t __b)
2240 {
2241   return (uint16x8_t)__builtin_neon_vqsubuv8hi ((int16x8_t) __a, (int16x8_t) __b);
2242 }
2243 
2244 __extension__ extern __inline uint32x4_t
2245 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u32(uint32x4_t __a,uint32x4_t __b)2246 vqsubq_u32 (uint32x4_t __a, uint32x4_t __b)
2247 {
2248   return (uint32x4_t)__builtin_neon_vqsubuv4si ((int32x4_t) __a, (int32x4_t) __b);
2249 }
2250 
2251 __extension__ extern __inline uint64x2_t
2252 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u64(uint64x2_t __a,uint64x2_t __b)2253 vqsubq_u64 (uint64x2_t __a, uint64x2_t __b)
2254 {
2255   return (uint64x2_t)__builtin_neon_vqsubuv2di ((int64x2_t) __a, (int64x2_t) __b);
2256 }
2257 
2258 __extension__ extern __inline int8x8_t
2259 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_s16(int16x8_t __a,int16x8_t __b)2260 vsubhn_s16 (int16x8_t __a, int16x8_t __b)
2261 {
2262   return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b);
2263 }
2264 
2265 __extension__ extern __inline int16x4_t
2266 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_s32(int32x4_t __a,int32x4_t __b)2267 vsubhn_s32 (int32x4_t __a, int32x4_t __b)
2268 {
2269   return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b);
2270 }
2271 
2272 __extension__ extern __inline int32x2_t
2273 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_s64(int64x2_t __a,int64x2_t __b)2274 vsubhn_s64 (int64x2_t __a, int64x2_t __b)
2275 {
2276   return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b);
2277 }
2278 
2279 __extension__ extern __inline uint8x8_t
2280 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_u16(uint16x8_t __a,uint16x8_t __b)2281 vsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
2282 {
2283   return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b);
2284 }
2285 
2286 __extension__ extern __inline uint16x4_t
2287 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_u32(uint32x4_t __a,uint32x4_t __b)2288 vsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
2289 {
2290   return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b);
2291 }
2292 
2293 __extension__ extern __inline uint32x2_t
2294 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_u64(uint64x2_t __a,uint64x2_t __b)2295 vsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
2296 {
2297   return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b);
2298 }
2299 
2300 __extension__ extern __inline int8x8_t
2301 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_s16(int16x8_t __a,int16x8_t __b)2302 vrsubhn_s16 (int16x8_t __a, int16x8_t __b)
2303 {
2304   return (int8x8_t)__builtin_neon_vrsubhnv8hi (__a, __b);
2305 }
2306 
2307 __extension__ extern __inline int16x4_t
2308 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_s32(int32x4_t __a,int32x4_t __b)2309 vrsubhn_s32 (int32x4_t __a, int32x4_t __b)
2310 {
2311   return (int16x4_t)__builtin_neon_vrsubhnv4si (__a, __b);
2312 }
2313 
2314 __extension__ extern __inline int32x2_t
2315 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_s64(int64x2_t __a,int64x2_t __b)2316 vrsubhn_s64 (int64x2_t __a, int64x2_t __b)
2317 {
2318   return (int32x2_t)__builtin_neon_vrsubhnv2di (__a, __b);
2319 }
2320 
2321 __extension__ extern __inline uint8x8_t
2322 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_u16(uint16x8_t __a,uint16x8_t __b)2323 vrsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
2324 {
2325   return (uint8x8_t)__builtin_neon_vrsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b);
2326 }
2327 
2328 __extension__ extern __inline uint16x4_t
2329 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_u32(uint32x4_t __a,uint32x4_t __b)2330 vrsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
2331 {
2332   return (uint16x4_t)__builtin_neon_vrsubhnv4si ((int32x4_t) __a, (int32x4_t) __b);
2333 }
2334 
2335 __extension__ extern __inline uint32x2_t
2336 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_u64(uint64x2_t __a,uint64x2_t __b)2337 vrsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
2338 {
2339   return (uint32x2_t)__builtin_neon_vrsubhnv2di ((int64x2_t) __a, (int64x2_t) __b);
2340 }
2341 
2342 __extension__ extern __inline uint8x8_t
2343 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s8(int8x8_t __a,int8x8_t __b)2344 vceq_s8 (int8x8_t __a, int8x8_t __b)
2345 {
2346   return (uint8x8_t)__builtin_neon_vceqv8qi (__a, __b);
2347 }
2348 
2349 __extension__ extern __inline uint16x4_t
2350 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s16(int16x4_t __a,int16x4_t __b)2351 vceq_s16 (int16x4_t __a, int16x4_t __b)
2352 {
2353   return (uint16x4_t)__builtin_neon_vceqv4hi (__a, __b);
2354 }
2355 
2356 __extension__ extern __inline uint32x2_t
2357 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s32(int32x2_t __a,int32x2_t __b)2358 vceq_s32 (int32x2_t __a, int32x2_t __b)
2359 {
2360   return (uint32x2_t)__builtin_neon_vceqv2si (__a, __b);
2361 }
2362 
2363 __extension__ extern __inline uint32x2_t
2364 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_f32(float32x2_t __a,float32x2_t __b)2365 vceq_f32 (float32x2_t __a, float32x2_t __b)
2366 {
2367   return (uint32x2_t)__builtin_neon_vceqv2sf (__a, __b);
2368 }
2369 
2370 __extension__ extern __inline uint8x8_t
2371 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u8(uint8x8_t __a,uint8x8_t __b)2372 vceq_u8 (uint8x8_t __a, uint8x8_t __b)
2373 {
2374   return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b);
2375 }
2376 
2377 __extension__ extern __inline uint16x4_t
2378 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u16(uint16x4_t __a,uint16x4_t __b)2379 vceq_u16 (uint16x4_t __a, uint16x4_t __b)
2380 {
2381   return (uint16x4_t)__builtin_neon_vceqv4hi ((int16x4_t) __a, (int16x4_t) __b);
2382 }
2383 
2384 __extension__ extern __inline uint32x2_t
2385 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u32(uint32x2_t __a,uint32x2_t __b)2386 vceq_u32 (uint32x2_t __a, uint32x2_t __b)
2387 {
2388   return (uint32x2_t)__builtin_neon_vceqv2si ((int32x2_t) __a, (int32x2_t) __b);
2389 }
2390 
2391 __extension__ extern __inline uint8x8_t
2392 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_p8(poly8x8_t __a,poly8x8_t __b)2393 vceq_p8 (poly8x8_t __a, poly8x8_t __b)
2394 {
2395   return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b);
2396 }
2397 
2398 __extension__ extern __inline uint8x16_t
2399 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s8(int8x16_t __a,int8x16_t __b)2400 vceqq_s8 (int8x16_t __a, int8x16_t __b)
2401 {
2402   return (uint8x16_t)__builtin_neon_vceqv16qi (__a, __b);
2403 }
2404 
2405 __extension__ extern __inline uint16x8_t
2406 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s16(int16x8_t __a,int16x8_t __b)2407 vceqq_s16 (int16x8_t __a, int16x8_t __b)
2408 {
2409   return (uint16x8_t)__builtin_neon_vceqv8hi (__a, __b);
2410 }
2411 
2412 __extension__ extern __inline uint32x4_t
2413 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s32(int32x4_t __a,int32x4_t __b)2414 vceqq_s32 (int32x4_t __a, int32x4_t __b)
2415 {
2416   return (uint32x4_t)__builtin_neon_vceqv4si (__a, __b);
2417 }
2418 
2419 __extension__ extern __inline uint32x4_t
2420 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_f32(float32x4_t __a,float32x4_t __b)2421 vceqq_f32 (float32x4_t __a, float32x4_t __b)
2422 {
2423   return (uint32x4_t)__builtin_neon_vceqv4sf (__a, __b);
2424 }
2425 
2426 __extension__ extern __inline uint8x16_t
2427 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u8(uint8x16_t __a,uint8x16_t __b)2428 vceqq_u8 (uint8x16_t __a, uint8x16_t __b)
2429 {
2430   return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b);
2431 }
2432 
2433 __extension__ extern __inline uint16x8_t
2434 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u16(uint16x8_t __a,uint16x8_t __b)2435 vceqq_u16 (uint16x8_t __a, uint16x8_t __b)
2436 {
2437   return (uint16x8_t)__builtin_neon_vceqv8hi ((int16x8_t) __a, (int16x8_t) __b);
2438 }
2439 
2440 __extension__ extern __inline uint32x4_t
2441 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u32(uint32x4_t __a,uint32x4_t __b)2442 vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
2443 {
2444   return (uint32x4_t)__builtin_neon_vceqv4si ((int32x4_t) __a, (int32x4_t) __b);
2445 }
2446 
2447 __extension__ extern __inline uint8x16_t
2448 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_p8(poly8x16_t __a,poly8x16_t __b)2449 vceqq_p8 (poly8x16_t __a, poly8x16_t __b)
2450 {
2451   return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b);
2452 }
2453 
2454 __extension__ extern __inline uint8x8_t
2455 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s8(int8x8_t __a,int8x8_t __b)2456 vcge_s8 (int8x8_t __a, int8x8_t __b)
2457 {
2458   return (uint8x8_t)__builtin_neon_vcgev8qi (__a, __b);
2459 }
2460 
2461 __extension__ extern __inline uint16x4_t
2462 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s16(int16x4_t __a,int16x4_t __b)2463 vcge_s16 (int16x4_t __a, int16x4_t __b)
2464 {
2465   return (uint16x4_t)__builtin_neon_vcgev4hi (__a, __b);
2466 }
2467 
2468 __extension__ extern __inline uint32x2_t
2469 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s32(int32x2_t __a,int32x2_t __b)2470 vcge_s32 (int32x2_t __a, int32x2_t __b)
2471 {
2472   return (uint32x2_t)__builtin_neon_vcgev2si (__a, __b);
2473 }
2474 
2475 __extension__ extern __inline uint32x2_t
2476 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_f32(float32x2_t __a,float32x2_t __b)2477 vcge_f32 (float32x2_t __a, float32x2_t __b)
2478 {
2479   return (uint32x2_t)__builtin_neon_vcgev2sf (__a, __b);
2480 }
2481 
2482 __extension__ extern __inline uint8x8_t
2483 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u8(uint8x8_t __a,uint8x8_t __b)2484 vcge_u8 (uint8x8_t __a, uint8x8_t __b)
2485 {
2486   return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __a, (int8x8_t) __b);
2487 }
2488 
2489 __extension__ extern __inline uint16x4_t
2490 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u16(uint16x4_t __a,uint16x4_t __b)2491 vcge_u16 (uint16x4_t __a, uint16x4_t __b)
2492 {
2493   return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __a, (int16x4_t) __b);
2494 }
2495 
2496 __extension__ extern __inline uint32x2_t
2497 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u32(uint32x2_t __a,uint32x2_t __b)2498 vcge_u32 (uint32x2_t __a, uint32x2_t __b)
2499 {
2500   return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __a, (int32x2_t) __b);
2501 }
2502 
2503 __extension__ extern __inline uint8x16_t
2504 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s8(int8x16_t __a,int8x16_t __b)2505 vcgeq_s8 (int8x16_t __a, int8x16_t __b)
2506 {
2507   return (uint8x16_t)__builtin_neon_vcgev16qi (__a, __b);
2508 }
2509 
2510 __extension__ extern __inline uint16x8_t
2511 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s16(int16x8_t __a,int16x8_t __b)2512 vcgeq_s16 (int16x8_t __a, int16x8_t __b)
2513 {
2514   return (uint16x8_t)__builtin_neon_vcgev8hi (__a, __b);
2515 }
2516 
2517 __extension__ extern __inline uint32x4_t
2518 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s32(int32x4_t __a,int32x4_t __b)2519 vcgeq_s32 (int32x4_t __a, int32x4_t __b)
2520 {
2521   return (uint32x4_t)__builtin_neon_vcgev4si (__a, __b);
2522 }
2523 
2524 __extension__ extern __inline uint32x4_t
2525 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_f32(float32x4_t __a,float32x4_t __b)2526 vcgeq_f32 (float32x4_t __a, float32x4_t __b)
2527 {
2528   return (uint32x4_t)__builtin_neon_vcgev4sf (__a, __b);
2529 }
2530 
2531 __extension__ extern __inline uint8x16_t
2532 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u8(uint8x16_t __a,uint8x16_t __b)2533 vcgeq_u8 (uint8x16_t __a, uint8x16_t __b)
2534 {
2535   return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __a, (int8x16_t) __b);
2536 }
2537 
2538 __extension__ extern __inline uint16x8_t
2539 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u16(uint16x8_t __a,uint16x8_t __b)2540 vcgeq_u16 (uint16x8_t __a, uint16x8_t __b)
2541 {
2542   return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __a, (int16x8_t) __b);
2543 }
2544 
2545 __extension__ extern __inline uint32x4_t
2546 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u32(uint32x4_t __a,uint32x4_t __b)2547 vcgeq_u32 (uint32x4_t __a, uint32x4_t __b)
2548 {
2549   return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __a, (int32x4_t) __b);
2550 }
2551 
2552 __extension__ extern __inline uint8x8_t
2553 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s8(int8x8_t __a,int8x8_t __b)2554 vcle_s8 (int8x8_t __a, int8x8_t __b)
2555 {
2556   return (uint8x8_t)__builtin_neon_vcgev8qi (__b, __a);
2557 }
2558 
2559 __extension__ extern __inline uint16x4_t
2560 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s16(int16x4_t __a,int16x4_t __b)2561 vcle_s16 (int16x4_t __a, int16x4_t __b)
2562 {
2563   return (uint16x4_t)__builtin_neon_vcgev4hi (__b, __a);
2564 }
2565 
2566 __extension__ extern __inline uint32x2_t
2567 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s32(int32x2_t __a,int32x2_t __b)2568 vcle_s32 (int32x2_t __a, int32x2_t __b)
2569 {
2570   return (uint32x2_t)__builtin_neon_vcgev2si (__b, __a);
2571 }
2572 
2573 __extension__ extern __inline uint32x2_t
2574 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_f32(float32x2_t __a,float32x2_t __b)2575 vcle_f32 (float32x2_t __a, float32x2_t __b)
2576 {
2577   return (uint32x2_t)__builtin_neon_vcgev2sf (__b, __a);
2578 }
2579 
2580 __extension__ extern __inline uint8x8_t
2581 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u8(uint8x8_t __a,uint8x8_t __b)2582 vcle_u8 (uint8x8_t __a, uint8x8_t __b)
2583 {
2584   return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __b, (int8x8_t) __a);
2585 }
2586 
2587 __extension__ extern __inline uint16x4_t
2588 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u16(uint16x4_t __a,uint16x4_t __b)2589 vcle_u16 (uint16x4_t __a, uint16x4_t __b)
2590 {
2591   return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __b, (int16x4_t) __a);
2592 }
2593 
2594 __extension__ extern __inline uint32x2_t
2595 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u32(uint32x2_t __a,uint32x2_t __b)2596 vcle_u32 (uint32x2_t __a, uint32x2_t __b)
2597 {
2598   return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __b, (int32x2_t) __a);
2599 }
2600 
2601 __extension__ extern __inline uint8x16_t
2602 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s8(int8x16_t __a,int8x16_t __b)2603 vcleq_s8 (int8x16_t __a, int8x16_t __b)
2604 {
2605   return (uint8x16_t)__builtin_neon_vcgev16qi (__b, __a);
2606 }
2607 
2608 __extension__ extern __inline uint16x8_t
2609 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s16(int16x8_t __a,int16x8_t __b)2610 vcleq_s16 (int16x8_t __a, int16x8_t __b)
2611 {
2612   return (uint16x8_t)__builtin_neon_vcgev8hi (__b, __a);
2613 }
2614 
2615 __extension__ extern __inline uint32x4_t
2616 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s32(int32x4_t __a,int32x4_t __b)2617 vcleq_s32 (int32x4_t __a, int32x4_t __b)
2618 {
2619   return (uint32x4_t)__builtin_neon_vcgev4si (__b, __a);
2620 }
2621 
2622 __extension__ extern __inline uint32x4_t
2623 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_f32(float32x4_t __a,float32x4_t __b)2624 vcleq_f32 (float32x4_t __a, float32x4_t __b)
2625 {
2626   return (uint32x4_t)__builtin_neon_vcgev4sf (__b, __a);
2627 }
2628 
2629 __extension__ extern __inline uint8x16_t
2630 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u8(uint8x16_t __a,uint8x16_t __b)2631 vcleq_u8 (uint8x16_t __a, uint8x16_t __b)
2632 {
2633   return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __b, (int8x16_t) __a);
2634 }
2635 
2636 __extension__ extern __inline uint16x8_t
2637 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u16(uint16x8_t __a,uint16x8_t __b)2638 vcleq_u16 (uint16x8_t __a, uint16x8_t __b)
2639 {
2640   return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __b, (int16x8_t) __a);
2641 }
2642 
2643 __extension__ extern __inline uint32x4_t
2644 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u32(uint32x4_t __a,uint32x4_t __b)2645 vcleq_u32 (uint32x4_t __a, uint32x4_t __b)
2646 {
2647   return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __b, (int32x4_t) __a);
2648 }
2649 
2650 __extension__ extern __inline uint8x8_t
2651 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s8(int8x8_t __a,int8x8_t __b)2652 vcgt_s8 (int8x8_t __a, int8x8_t __b)
2653 {
2654   return (uint8x8_t)__builtin_neon_vcgtv8qi (__a, __b);
2655 }
2656 
2657 __extension__ extern __inline uint16x4_t
2658 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s16(int16x4_t __a,int16x4_t __b)2659 vcgt_s16 (int16x4_t __a, int16x4_t __b)
2660 {
2661   return (uint16x4_t)__builtin_neon_vcgtv4hi (__a, __b);
2662 }
2663 
2664 __extension__ extern __inline uint32x2_t
2665 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s32(int32x2_t __a,int32x2_t __b)2666 vcgt_s32 (int32x2_t __a, int32x2_t __b)
2667 {
2668   return (uint32x2_t)__builtin_neon_vcgtv2si (__a, __b);
2669 }
2670 
2671 __extension__ extern __inline uint32x2_t
2672 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_f32(float32x2_t __a,float32x2_t __b)2673 vcgt_f32 (float32x2_t __a, float32x2_t __b)
2674 {
2675   return (uint32x2_t)__builtin_neon_vcgtv2sf (__a, __b);
2676 }
2677 
2678 __extension__ extern __inline uint8x8_t
2679 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u8(uint8x8_t __a,uint8x8_t __b)2680 vcgt_u8 (uint8x8_t __a, uint8x8_t __b)
2681 {
2682   return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __a, (int8x8_t) __b);
2683 }
2684 
2685 __extension__ extern __inline uint16x4_t
2686 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u16(uint16x4_t __a,uint16x4_t __b)2687 vcgt_u16 (uint16x4_t __a, uint16x4_t __b)
2688 {
2689   return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __a, (int16x4_t) __b);
2690 }
2691 
2692 __extension__ extern __inline uint32x2_t
2693 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u32(uint32x2_t __a,uint32x2_t __b)2694 vcgt_u32 (uint32x2_t __a, uint32x2_t __b)
2695 {
2696   return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __a, (int32x2_t) __b);
2697 }
2698 
2699 __extension__ extern __inline uint8x16_t
2700 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s8(int8x16_t __a,int8x16_t __b)2701 vcgtq_s8 (int8x16_t __a, int8x16_t __b)
2702 {
2703   return (uint8x16_t)__builtin_neon_vcgtv16qi (__a, __b);
2704 }
2705 
2706 __extension__ extern __inline uint16x8_t
2707 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s16(int16x8_t __a,int16x8_t __b)2708 vcgtq_s16 (int16x8_t __a, int16x8_t __b)
2709 {
2710   return (uint16x8_t)__builtin_neon_vcgtv8hi (__a, __b);
2711 }
2712 
2713 __extension__ extern __inline uint32x4_t
2714 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s32(int32x4_t __a,int32x4_t __b)2715 vcgtq_s32 (int32x4_t __a, int32x4_t __b)
2716 {
2717   return (uint32x4_t)__builtin_neon_vcgtv4si (__a, __b);
2718 }
2719 
2720 __extension__ extern __inline uint32x4_t
2721 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_f32(float32x4_t __a,float32x4_t __b)2722 vcgtq_f32 (float32x4_t __a, float32x4_t __b)
2723 {
2724   return (uint32x4_t)__builtin_neon_vcgtv4sf (__a, __b);
2725 }
2726 
2727 __extension__ extern __inline uint8x16_t
2728 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u8(uint8x16_t __a,uint8x16_t __b)2729 vcgtq_u8 (uint8x16_t __a, uint8x16_t __b)
2730 {
2731   return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __a, (int8x16_t) __b);
2732 }
2733 
2734 __extension__ extern __inline uint16x8_t
2735 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u16(uint16x8_t __a,uint16x8_t __b)2736 vcgtq_u16 (uint16x8_t __a, uint16x8_t __b)
2737 {
2738   return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __a, (int16x8_t) __b);
2739 }
2740 
2741 __extension__ extern __inline uint32x4_t
2742 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u32(uint32x4_t __a,uint32x4_t __b)2743 vcgtq_u32 (uint32x4_t __a, uint32x4_t __b)
2744 {
2745   return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __a, (int32x4_t) __b);
2746 }
2747 
2748 __extension__ extern __inline uint8x8_t
2749 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s8(int8x8_t __a,int8x8_t __b)2750 vclt_s8 (int8x8_t __a, int8x8_t __b)
2751 {
2752   return (uint8x8_t)__builtin_neon_vcgtv8qi (__b, __a);
2753 }
2754 
2755 __extension__ extern __inline uint16x4_t
2756 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s16(int16x4_t __a,int16x4_t __b)2757 vclt_s16 (int16x4_t __a, int16x4_t __b)
2758 {
2759   return (uint16x4_t)__builtin_neon_vcgtv4hi (__b, __a);
2760 }
2761 
2762 __extension__ extern __inline uint32x2_t
2763 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s32(int32x2_t __a,int32x2_t __b)2764 vclt_s32 (int32x2_t __a, int32x2_t __b)
2765 {
2766   return (uint32x2_t)__builtin_neon_vcgtv2si (__b, __a);
2767 }
2768 
2769 __extension__ extern __inline uint32x2_t
2770 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_f32(float32x2_t __a,float32x2_t __b)2771 vclt_f32 (float32x2_t __a, float32x2_t __b)
2772 {
2773   return (uint32x2_t)__builtin_neon_vcgtv2sf (__b, __a);
2774 }
2775 
2776 __extension__ extern __inline uint8x8_t
2777 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u8(uint8x8_t __a,uint8x8_t __b)2778 vclt_u8 (uint8x8_t __a, uint8x8_t __b)
2779 {
2780   return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __b, (int8x8_t) __a);
2781 }
2782 
2783 __extension__ extern __inline uint16x4_t
2784 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u16(uint16x4_t __a,uint16x4_t __b)2785 vclt_u16 (uint16x4_t __a, uint16x4_t __b)
2786 {
2787   return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __b, (int16x4_t) __a);
2788 }
2789 
2790 __extension__ extern __inline uint32x2_t
2791 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u32(uint32x2_t __a,uint32x2_t __b)2792 vclt_u32 (uint32x2_t __a, uint32x2_t __b)
2793 {
2794   return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __b, (int32x2_t) __a);
2795 }
2796 
2797 __extension__ extern __inline uint8x16_t
2798 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s8(int8x16_t __a,int8x16_t __b)2799 vcltq_s8 (int8x16_t __a, int8x16_t __b)
2800 {
2801   return (uint8x16_t)__builtin_neon_vcgtv16qi (__b, __a);
2802 }
2803 
2804 __extension__ extern __inline uint16x8_t
2805 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s16(int16x8_t __a,int16x8_t __b)2806 vcltq_s16 (int16x8_t __a, int16x8_t __b)
2807 {
2808   return (uint16x8_t)__builtin_neon_vcgtv8hi (__b, __a);
2809 }
2810 
2811 __extension__ extern __inline uint32x4_t
2812 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s32(int32x4_t __a,int32x4_t __b)2813 vcltq_s32 (int32x4_t __a, int32x4_t __b)
2814 {
2815   return (uint32x4_t)__builtin_neon_vcgtv4si (__b, __a);
2816 }
2817 
2818 __extension__ extern __inline uint32x4_t
2819 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_f32(float32x4_t __a,float32x4_t __b)2820 vcltq_f32 (float32x4_t __a, float32x4_t __b)
2821 {
2822   return (uint32x4_t)__builtin_neon_vcgtv4sf (__b, __a);
2823 }
2824 
2825 __extension__ extern __inline uint8x16_t
2826 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u8(uint8x16_t __a,uint8x16_t __b)2827 vcltq_u8 (uint8x16_t __a, uint8x16_t __b)
2828 {
2829   return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __b, (int8x16_t) __a);
2830 }
2831 
2832 __extension__ extern __inline uint16x8_t
2833 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u16(uint16x8_t __a,uint16x8_t __b)2834 vcltq_u16 (uint16x8_t __a, uint16x8_t __b)
2835 {
2836   return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __b, (int16x8_t) __a);
2837 }
2838 
2839 __extension__ extern __inline uint32x4_t
2840 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u32(uint32x4_t __a,uint32x4_t __b)2841 vcltq_u32 (uint32x4_t __a, uint32x4_t __b)
2842 {
2843   return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __b, (int32x4_t) __a);
2844 }
2845 
2846 __extension__ extern __inline uint32x2_t
2847 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcage_f32(float32x2_t __a,float32x2_t __b)2848 vcage_f32 (float32x2_t __a, float32x2_t __b)
2849 {
2850   return (uint32x2_t)__builtin_neon_vcagev2sf (__a, __b);
2851 }
2852 
2853 __extension__ extern __inline uint32x4_t
2854 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcageq_f32(float32x4_t __a,float32x4_t __b)2855 vcageq_f32 (float32x4_t __a, float32x4_t __b)
2856 {
2857   return (uint32x4_t)__builtin_neon_vcagev4sf (__a, __b);
2858 }
2859 
2860 __extension__ extern __inline uint32x2_t
2861 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcale_f32(float32x2_t __a,float32x2_t __b)2862 vcale_f32 (float32x2_t __a, float32x2_t __b)
2863 {
2864   return (uint32x2_t)__builtin_neon_vcagev2sf (__b, __a);
2865 }
2866 
2867 __extension__ extern __inline uint32x4_t
2868 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcaleq_f32(float32x4_t __a,float32x4_t __b)2869 vcaleq_f32 (float32x4_t __a, float32x4_t __b)
2870 {
2871   return (uint32x4_t)__builtin_neon_vcagev4sf (__b, __a);
2872 }
2873 
2874 __extension__ extern __inline uint32x2_t
2875 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcagt_f32(float32x2_t __a,float32x2_t __b)2876 vcagt_f32 (float32x2_t __a, float32x2_t __b)
2877 {
2878   return (uint32x2_t)__builtin_neon_vcagtv2sf (__a, __b);
2879 }
2880 
2881 __extension__ extern __inline uint32x4_t
2882 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcagtq_f32(float32x4_t __a,float32x4_t __b)2883 vcagtq_f32 (float32x4_t __a, float32x4_t __b)
2884 {
2885   return (uint32x4_t)__builtin_neon_vcagtv4sf (__a, __b);
2886 }
2887 
2888 __extension__ extern __inline uint32x2_t
2889 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcalt_f32(float32x2_t __a,float32x2_t __b)2890 vcalt_f32 (float32x2_t __a, float32x2_t __b)
2891 {
2892   return (uint32x2_t)__builtin_neon_vcagtv2sf (__b, __a);
2893 }
2894 
2895 __extension__ extern __inline uint32x4_t
2896 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcaltq_f32(float32x4_t __a,float32x4_t __b)2897 vcaltq_f32 (float32x4_t __a, float32x4_t __b)
2898 {
2899   return (uint32x4_t)__builtin_neon_vcagtv4sf (__b, __a);
2900 }
2901 
2902 __extension__ extern __inline uint8x8_t
2903 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s8(int8x8_t __a,int8x8_t __b)2904 vtst_s8 (int8x8_t __a, int8x8_t __b)
2905 {
2906   return (uint8x8_t)__builtin_neon_vtstv8qi (__a, __b);
2907 }
2908 
2909 __extension__ extern __inline uint16x4_t
2910 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s16(int16x4_t __a,int16x4_t __b)2911 vtst_s16 (int16x4_t __a, int16x4_t __b)
2912 {
2913   return (uint16x4_t)__builtin_neon_vtstv4hi (__a, __b);
2914 }
2915 
2916 __extension__ extern __inline uint32x2_t
2917 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s32(int32x2_t __a,int32x2_t __b)2918 vtst_s32 (int32x2_t __a, int32x2_t __b)
2919 {
2920   return (uint32x2_t)__builtin_neon_vtstv2si (__a, __b);
2921 }
2922 
2923 __extension__ extern __inline uint8x8_t
2924 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u8(uint8x8_t __a,uint8x8_t __b)2925 vtst_u8 (uint8x8_t __a, uint8x8_t __b)
2926 {
2927   return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b);
2928 }
2929 
2930 __extension__ extern __inline uint16x4_t
2931 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u16(uint16x4_t __a,uint16x4_t __b)2932 vtst_u16 (uint16x4_t __a, uint16x4_t __b)
2933 {
2934   return (uint16x4_t)__builtin_neon_vtstv4hi ((int16x4_t) __a, (int16x4_t) __b);
2935 }
2936 
2937 __extension__ extern __inline uint32x2_t
2938 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u32(uint32x2_t __a,uint32x2_t __b)2939 vtst_u32 (uint32x2_t __a, uint32x2_t __b)
2940 {
2941   return (uint32x2_t)__builtin_neon_vtstv2si ((int32x2_t) __a, (int32x2_t) __b);
2942 }
2943 
2944 __extension__ extern __inline uint8x8_t
2945 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p8(poly8x8_t __a,poly8x8_t __b)2946 vtst_p8 (poly8x8_t __a, poly8x8_t __b)
2947 {
2948   return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b);
2949 }
2950 
2951 __extension__ extern __inline uint16x4_t
2952 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p16(poly16x4_t __a,poly16x4_t __b)2953 vtst_p16 (poly16x4_t __a, poly16x4_t __b)
2954 {
2955   return (uint16x4_t)__builtin_neon_vtstv4hi ((int16x4_t) __a, (int16x4_t) __b);
2956 }
2957 
2958 __extension__ extern __inline uint8x16_t
2959 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s8(int8x16_t __a,int8x16_t __b)2960 vtstq_s8 (int8x16_t __a, int8x16_t __b)
2961 {
2962   return (uint8x16_t)__builtin_neon_vtstv16qi (__a, __b);
2963 }
2964 
2965 __extension__ extern __inline uint16x8_t
2966 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s16(int16x8_t __a,int16x8_t __b)2967 vtstq_s16 (int16x8_t __a, int16x8_t __b)
2968 {
2969   return (uint16x8_t)__builtin_neon_vtstv8hi (__a, __b);
2970 }
2971 
2972 __extension__ extern __inline uint32x4_t
2973 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s32(int32x4_t __a,int32x4_t __b)2974 vtstq_s32 (int32x4_t __a, int32x4_t __b)
2975 {
2976   return (uint32x4_t)__builtin_neon_vtstv4si (__a, __b);
2977 }
2978 
2979 __extension__ extern __inline uint8x16_t
2980 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u8(uint8x16_t __a,uint8x16_t __b)2981 vtstq_u8 (uint8x16_t __a, uint8x16_t __b)
2982 {
2983   return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b);
2984 }
2985 
2986 __extension__ extern __inline uint16x8_t
2987 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u16(uint16x8_t __a,uint16x8_t __b)2988 vtstq_u16 (uint16x8_t __a, uint16x8_t __b)
2989 {
2990   return (uint16x8_t)__builtin_neon_vtstv8hi ((int16x8_t) __a, (int16x8_t) __b);
2991 }
2992 
2993 __extension__ extern __inline uint32x4_t
2994 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u32(uint32x4_t __a,uint32x4_t __b)2995 vtstq_u32 (uint32x4_t __a, uint32x4_t __b)
2996 {
2997   return (uint32x4_t)__builtin_neon_vtstv4si ((int32x4_t) __a, (int32x4_t) __b);
2998 }
2999 
3000 __extension__ extern __inline uint8x16_t
3001 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_p8(poly8x16_t __a,poly8x16_t __b)3002 vtstq_p8 (poly8x16_t __a, poly8x16_t __b)
3003 {
3004   return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b);
3005 }
3006 
3007 __extension__ extern __inline uint16x8_t
3008 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_p16(poly16x8_t __a,poly16x8_t __b)3009 vtstq_p16 (poly16x8_t __a, poly16x8_t __b)
3010 {
3011   return (uint16x8_t)__builtin_neon_vtstv8hi ((int16x8_t) __a, (int16x8_t) __b);
3012 }
3013 
3014 __extension__ extern __inline int8x8_t
3015 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s8(int8x8_t __a,int8x8_t __b)3016 vabd_s8 (int8x8_t __a, int8x8_t __b)
3017 {
3018   return (int8x8_t)__builtin_neon_vabdsv8qi (__a, __b);
3019 }
3020 
3021 __extension__ extern __inline int16x4_t
3022 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s16(int16x4_t __a,int16x4_t __b)3023 vabd_s16 (int16x4_t __a, int16x4_t __b)
3024 {
3025   return (int16x4_t)__builtin_neon_vabdsv4hi (__a, __b);
3026 }
3027 
3028 __extension__ extern __inline int32x2_t
3029 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s32(int32x2_t __a,int32x2_t __b)3030 vabd_s32 (int32x2_t __a, int32x2_t __b)
3031 {
3032   return (int32x2_t)__builtin_neon_vabdsv2si (__a, __b);
3033 }
3034 
3035 __extension__ extern __inline float32x2_t
3036 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_f32(float32x2_t __a,float32x2_t __b)3037 vabd_f32 (float32x2_t __a, float32x2_t __b)
3038 {
3039   return (float32x2_t)__builtin_neon_vabdfv2sf (__a, __b);
3040 }
3041 
3042 __extension__ extern __inline uint8x8_t
3043 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u8(uint8x8_t __a,uint8x8_t __b)3044 vabd_u8 (uint8x8_t __a, uint8x8_t __b)
3045 {
3046   return (uint8x8_t)__builtin_neon_vabduv8qi ((int8x8_t) __a, (int8x8_t) __b);
3047 }
3048 
3049 __extension__ extern __inline uint16x4_t
3050 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u16(uint16x4_t __a,uint16x4_t __b)3051 vabd_u16 (uint16x4_t __a, uint16x4_t __b)
3052 {
3053   return (uint16x4_t)__builtin_neon_vabduv4hi ((int16x4_t) __a, (int16x4_t) __b);
3054 }
3055 
3056 __extension__ extern __inline uint32x2_t
3057 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u32(uint32x2_t __a,uint32x2_t __b)3058 vabd_u32 (uint32x2_t __a, uint32x2_t __b)
3059 {
3060   return (uint32x2_t)__builtin_neon_vabduv2si ((int32x2_t) __a, (int32x2_t) __b);
3061 }
3062 
3063 __extension__ extern __inline int8x16_t
3064 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s8(int8x16_t __a,int8x16_t __b)3065 vabdq_s8 (int8x16_t __a, int8x16_t __b)
3066 {
3067   return (int8x16_t)__builtin_neon_vabdsv16qi (__a, __b);
3068 }
3069 
3070 __extension__ extern __inline int16x8_t
3071 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s16(int16x8_t __a,int16x8_t __b)3072 vabdq_s16 (int16x8_t __a, int16x8_t __b)
3073 {
3074   return (int16x8_t)__builtin_neon_vabdsv8hi (__a, __b);
3075 }
3076 
3077 __extension__ extern __inline int32x4_t
3078 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s32(int32x4_t __a,int32x4_t __b)3079 vabdq_s32 (int32x4_t __a, int32x4_t __b)
3080 {
3081   return (int32x4_t)__builtin_neon_vabdsv4si (__a, __b);
3082 }
3083 
3084 __extension__ extern __inline float32x4_t
3085 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_f32(float32x4_t __a,float32x4_t __b)3086 vabdq_f32 (float32x4_t __a, float32x4_t __b)
3087 {
3088   return (float32x4_t)__builtin_neon_vabdfv4sf (__a, __b);
3089 }
3090 
3091 __extension__ extern __inline uint8x16_t
3092 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u8(uint8x16_t __a,uint8x16_t __b)3093 vabdq_u8 (uint8x16_t __a, uint8x16_t __b)
3094 {
3095   return (uint8x16_t)__builtin_neon_vabduv16qi ((int8x16_t) __a, (int8x16_t) __b);
3096 }
3097 
3098 __extension__ extern __inline uint16x8_t
3099 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u16(uint16x8_t __a,uint16x8_t __b)3100 vabdq_u16 (uint16x8_t __a, uint16x8_t __b)
3101 {
3102   return (uint16x8_t)__builtin_neon_vabduv8hi ((int16x8_t) __a, (int16x8_t) __b);
3103 }
3104 
3105 __extension__ extern __inline uint32x4_t
3106 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u32(uint32x4_t __a,uint32x4_t __b)3107 vabdq_u32 (uint32x4_t __a, uint32x4_t __b)
3108 {
3109   return (uint32x4_t)__builtin_neon_vabduv4si ((int32x4_t) __a, (int32x4_t) __b);
3110 }
3111 
3112 __extension__ extern __inline int16x8_t
3113 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s8(int8x8_t __a,int8x8_t __b)3114 vabdl_s8 (int8x8_t __a, int8x8_t __b)
3115 {
3116   return (int16x8_t)__builtin_neon_vabdlsv8qi (__a, __b);
3117 }
3118 
3119 __extension__ extern __inline int32x4_t
3120 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s16(int16x4_t __a,int16x4_t __b)3121 vabdl_s16 (int16x4_t __a, int16x4_t __b)
3122 {
3123   return (int32x4_t)__builtin_neon_vabdlsv4hi (__a, __b);
3124 }
3125 
3126 __extension__ extern __inline int64x2_t
3127 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s32(int32x2_t __a,int32x2_t __b)3128 vabdl_s32 (int32x2_t __a, int32x2_t __b)
3129 {
3130   return (int64x2_t)__builtin_neon_vabdlsv2si (__a, __b);
3131 }
3132 
3133 __extension__ extern __inline uint16x8_t
3134 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u8(uint8x8_t __a,uint8x8_t __b)3135 vabdl_u8 (uint8x8_t __a, uint8x8_t __b)
3136 {
3137   return (uint16x8_t)__builtin_neon_vabdluv8qi ((int8x8_t) __a, (int8x8_t) __b);
3138 }
3139 
3140 __extension__ extern __inline uint32x4_t
3141 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u16(uint16x4_t __a,uint16x4_t __b)3142 vabdl_u16 (uint16x4_t __a, uint16x4_t __b)
3143 {
3144   return (uint32x4_t)__builtin_neon_vabdluv4hi ((int16x4_t) __a, (int16x4_t) __b);
3145 }
3146 
3147 __extension__ extern __inline uint64x2_t
3148 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u32(uint32x2_t __a,uint32x2_t __b)3149 vabdl_u32 (uint32x2_t __a, uint32x2_t __b)
3150 {
3151   return (uint64x2_t)__builtin_neon_vabdluv2si ((int32x2_t) __a, (int32x2_t) __b);
3152 }
3153 
3154 __extension__ extern __inline int8x8_t
3155 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)3156 vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
3157 {
3158   return (int8x8_t)__builtin_neon_vabasv8qi (__a, __b, __c);
3159 }
3160 
3161 __extension__ extern __inline int16x4_t
3162 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)3163 vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
3164 {
3165   return (int16x4_t)__builtin_neon_vabasv4hi (__a, __b, __c);
3166 }
3167 
3168 __extension__ extern __inline int32x2_t
3169 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)3170 vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
3171 {
3172   return (int32x2_t)__builtin_neon_vabasv2si (__a, __b, __c);
3173 }
3174 
3175 __extension__ extern __inline uint8x8_t
3176 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)3177 vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
3178 {
3179   return (uint8x8_t)__builtin_neon_vabauv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
3180 }
3181 
3182 __extension__ extern __inline uint16x4_t
3183 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)3184 vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
3185 {
3186   return (uint16x4_t)__builtin_neon_vabauv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
3187 }
3188 
3189 __extension__ extern __inline uint32x2_t
3190 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)3191 vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
3192 {
3193   return (uint32x2_t)__builtin_neon_vabauv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
3194 }
3195 
3196 __extension__ extern __inline int8x16_t
3197 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)3198 vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
3199 {
3200   return (int8x16_t)__builtin_neon_vabasv16qi (__a, __b, __c);
3201 }
3202 
3203 __extension__ extern __inline int16x8_t
3204 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)3205 vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
3206 {
3207   return (int16x8_t)__builtin_neon_vabasv8hi (__a, __b, __c);
3208 }
3209 
3210 __extension__ extern __inline int32x4_t
3211 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)3212 vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
3213 {
3214   return (int32x4_t)__builtin_neon_vabasv4si (__a, __b, __c);
3215 }
3216 
3217 __extension__ extern __inline uint8x16_t
3218 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)3219 vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
3220 {
3221   return (uint8x16_t)__builtin_neon_vabauv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
3222 }
3223 
3224 __extension__ extern __inline uint16x8_t
3225 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)3226 vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
3227 {
3228   return (uint16x8_t)__builtin_neon_vabauv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
3229 }
3230 
3231 __extension__ extern __inline uint32x4_t
3232 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)3233 vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
3234 {
3235   return (uint32x4_t)__builtin_neon_vabauv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c);
3236 }
3237 
3238 __extension__ extern __inline int16x8_t
3239 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)3240 vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
3241 {
3242   return (int16x8_t)__builtin_neon_vabalsv8qi (__a, __b, __c);
3243 }
3244 
3245 __extension__ extern __inline int32x4_t
3246 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)3247 vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
3248 {
3249   return (int32x4_t)__builtin_neon_vabalsv4hi (__a, __b, __c);
3250 }
3251 
3252 __extension__ extern __inline int64x2_t
3253 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)3254 vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
3255 {
3256   return (int64x2_t)__builtin_neon_vabalsv2si (__a, __b, __c);
3257 }
3258 
3259 __extension__ extern __inline uint16x8_t
3260 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)3261 vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
3262 {
3263   return (uint16x8_t)__builtin_neon_vabaluv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
3264 }
3265 
3266 __extension__ extern __inline uint32x4_t
3267 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)3268 vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
3269 {
3270   return (uint32x4_t)__builtin_neon_vabaluv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
3271 }
3272 
3273 __extension__ extern __inline uint64x2_t
3274 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)3275 vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
3276 {
3277   return (uint64x2_t)__builtin_neon_vabaluv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
3278 }
3279 
3280 __extension__ extern __inline int8x8_t
3281 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s8(int8x8_t __a,int8x8_t __b)3282 vmax_s8 (int8x8_t __a, int8x8_t __b)
3283 {
3284   return (int8x8_t)__builtin_neon_vmaxsv8qi (__a, __b);
3285 }
3286 
3287 __extension__ extern __inline int16x4_t
3288 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s16(int16x4_t __a,int16x4_t __b)3289 vmax_s16 (int16x4_t __a, int16x4_t __b)
3290 {
3291   return (int16x4_t)__builtin_neon_vmaxsv4hi (__a, __b);
3292 }
3293 
3294 __extension__ extern __inline int32x2_t
3295 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s32(int32x2_t __a,int32x2_t __b)3296 vmax_s32 (int32x2_t __a, int32x2_t __b)
3297 {
3298   return (int32x2_t)__builtin_neon_vmaxsv2si (__a, __b);
3299 }
3300 
3301 __extension__ extern __inline float32x2_t
3302 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_f32(float32x2_t __a,float32x2_t __b)3303 vmax_f32 (float32x2_t __a, float32x2_t __b)
3304 {
3305   return (float32x2_t)__builtin_neon_vmaxfv2sf (__a, __b);
3306 }
3307 
3308 __extension__ extern __inline uint8x8_t
3309 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u8(uint8x8_t __a,uint8x8_t __b)3310 vmax_u8 (uint8x8_t __a, uint8x8_t __b)
3311 {
3312   return (uint8x8_t)__builtin_neon_vmaxuv8qi ((int8x8_t) __a, (int8x8_t) __b);
3313 }
3314 
3315 __extension__ extern __inline uint16x4_t
3316 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u16(uint16x4_t __a,uint16x4_t __b)3317 vmax_u16 (uint16x4_t __a, uint16x4_t __b)
3318 {
3319   return (uint16x4_t)__builtin_neon_vmaxuv4hi ((int16x4_t) __a, (int16x4_t) __b);
3320 }
3321 
3322 __extension__ extern __inline uint32x2_t
3323 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u32(uint32x2_t __a,uint32x2_t __b)3324 vmax_u32 (uint32x2_t __a, uint32x2_t __b)
3325 {
3326   return (uint32x2_t)__builtin_neon_vmaxuv2si ((int32x2_t) __a, (int32x2_t) __b);
3327 }
3328 
3329 __extension__ extern __inline int8x16_t
3330 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s8(int8x16_t __a,int8x16_t __b)3331 vmaxq_s8 (int8x16_t __a, int8x16_t __b)
3332 {
3333   return (int8x16_t)__builtin_neon_vmaxsv16qi (__a, __b);
3334 }
3335 
3336 __extension__ extern __inline int16x8_t
3337 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s16(int16x8_t __a,int16x8_t __b)3338 vmaxq_s16 (int16x8_t __a, int16x8_t __b)
3339 {
3340   return (int16x8_t)__builtin_neon_vmaxsv8hi (__a, __b);
3341 }
3342 
3343 __extension__ extern __inline int32x4_t
3344 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s32(int32x4_t __a,int32x4_t __b)3345 vmaxq_s32 (int32x4_t __a, int32x4_t __b)
3346 {
3347   return (int32x4_t)__builtin_neon_vmaxsv4si (__a, __b);
3348 }
3349 
3350 __extension__ extern __inline float32x4_t
3351 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_f32(float32x4_t __a,float32x4_t __b)3352 vmaxq_f32 (float32x4_t __a, float32x4_t __b)
3353 {
3354   return (float32x4_t)__builtin_neon_vmaxfv4sf (__a, __b);
3355 }
3356 
3357 #pragma GCC push_options
3358 #pragma GCC target ("fpu=neon-fp-armv8")
3359 __extension__ extern __inline float32x2_t
3360 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnm_f32(float32x2_t a,float32x2_t b)3361 vmaxnm_f32 (float32x2_t a, float32x2_t b)
3362 {
3363   return (float32x2_t)__builtin_neon_vmaxnmv2sf (a, b);
3364 }
3365 
3366 __extension__ extern __inline float32x4_t
3367 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmq_f32(float32x4_t a,float32x4_t b)3368 vmaxnmq_f32 (float32x4_t a, float32x4_t b)
3369 {
3370   return (float32x4_t)__builtin_neon_vmaxnmv4sf (a, b);
3371 }
3372 
3373 __extension__ extern __inline float32x2_t
3374 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminnm_f32(float32x2_t a,float32x2_t b)3375 vminnm_f32 (float32x2_t a, float32x2_t b)
3376 {
3377   return (float32x2_t)__builtin_neon_vminnmv2sf (a, b);
3378 }
3379 
3380 __extension__ extern __inline float32x4_t
3381 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminnmq_f32(float32x4_t a,float32x4_t b)3382 vminnmq_f32 (float32x4_t a, float32x4_t b)
3383 {
3384   return (float32x4_t)__builtin_neon_vminnmv4sf (a, b);
3385 }
3386 #pragma GCC pop_options
3387 
3388 
3389 __extension__ extern __inline uint8x16_t
3390 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u8(uint8x16_t __a,uint8x16_t __b)3391 vmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
3392 {
3393   return (uint8x16_t)__builtin_neon_vmaxuv16qi ((int8x16_t) __a, (int8x16_t) __b);
3394 }
3395 
3396 __extension__ extern __inline uint16x8_t
3397 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u16(uint16x8_t __a,uint16x8_t __b)3398 vmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
3399 {
3400   return (uint16x8_t)__builtin_neon_vmaxuv8hi ((int16x8_t) __a, (int16x8_t) __b);
3401 }
3402 
3403 __extension__ extern __inline uint32x4_t
3404 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u32(uint32x4_t __a,uint32x4_t __b)3405 vmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
3406 {
3407   return (uint32x4_t)__builtin_neon_vmaxuv4si ((int32x4_t) __a, (int32x4_t) __b);
3408 }
3409 
3410 __extension__ extern __inline int8x8_t
3411 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s8(int8x8_t __a,int8x8_t __b)3412 vmin_s8 (int8x8_t __a, int8x8_t __b)
3413 {
3414   return (int8x8_t)__builtin_neon_vminsv8qi (__a, __b);
3415 }
3416 
3417 __extension__ extern __inline int16x4_t
3418 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s16(int16x4_t __a,int16x4_t __b)3419 vmin_s16 (int16x4_t __a, int16x4_t __b)
3420 {
3421   return (int16x4_t)__builtin_neon_vminsv4hi (__a, __b);
3422 }
3423 
3424 __extension__ extern __inline int32x2_t
3425 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s32(int32x2_t __a,int32x2_t __b)3426 vmin_s32 (int32x2_t __a, int32x2_t __b)
3427 {
3428   return (int32x2_t)__builtin_neon_vminsv2si (__a, __b);
3429 }
3430 
3431 __extension__ extern __inline float32x2_t
3432 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_f32(float32x2_t __a,float32x2_t __b)3433 vmin_f32 (float32x2_t __a, float32x2_t __b)
3434 {
3435   return (float32x2_t)__builtin_neon_vminfv2sf (__a, __b);
3436 }
3437 
3438 __extension__ extern __inline uint8x8_t
3439 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u8(uint8x8_t __a,uint8x8_t __b)3440 vmin_u8 (uint8x8_t __a, uint8x8_t __b)
3441 {
3442   return (uint8x8_t)__builtin_neon_vminuv8qi ((int8x8_t) __a, (int8x8_t) __b);
3443 }
3444 
3445 __extension__ extern __inline uint16x4_t
3446 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u16(uint16x4_t __a,uint16x4_t __b)3447 vmin_u16 (uint16x4_t __a, uint16x4_t __b)
3448 {
3449   return (uint16x4_t)__builtin_neon_vminuv4hi ((int16x4_t) __a, (int16x4_t) __b);
3450 }
3451 
3452 __extension__ extern __inline uint32x2_t
3453 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u32(uint32x2_t __a,uint32x2_t __b)3454 vmin_u32 (uint32x2_t __a, uint32x2_t __b)
3455 {
3456   return (uint32x2_t)__builtin_neon_vminuv2si ((int32x2_t) __a, (int32x2_t) __b);
3457 }
3458 
3459 __extension__ extern __inline int8x16_t
3460 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s8(int8x16_t __a,int8x16_t __b)3461 vminq_s8 (int8x16_t __a, int8x16_t __b)
3462 {
3463   return (int8x16_t)__builtin_neon_vminsv16qi (__a, __b);
3464 }
3465 
3466 __extension__ extern __inline int16x8_t
3467 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s16(int16x8_t __a,int16x8_t __b)3468 vminq_s16 (int16x8_t __a, int16x8_t __b)
3469 {
3470   return (int16x8_t)__builtin_neon_vminsv8hi (__a, __b);
3471 }
3472 
3473 __extension__ extern __inline int32x4_t
3474 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s32(int32x4_t __a,int32x4_t __b)3475 vminq_s32 (int32x4_t __a, int32x4_t __b)
3476 {
3477   return (int32x4_t)__builtin_neon_vminsv4si (__a, __b);
3478 }
3479 
3480 __extension__ extern __inline float32x4_t
3481 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_f32(float32x4_t __a,float32x4_t __b)3482 vminq_f32 (float32x4_t __a, float32x4_t __b)
3483 {
3484   return (float32x4_t)__builtin_neon_vminfv4sf (__a, __b);
3485 }
3486 
3487 __extension__ extern __inline uint8x16_t
3488 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u8(uint8x16_t __a,uint8x16_t __b)3489 vminq_u8 (uint8x16_t __a, uint8x16_t __b)
3490 {
3491   return (uint8x16_t)__builtin_neon_vminuv16qi ((int8x16_t) __a, (int8x16_t) __b);
3492 }
3493 
3494 __extension__ extern __inline uint16x8_t
3495 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u16(uint16x8_t __a,uint16x8_t __b)3496 vminq_u16 (uint16x8_t __a, uint16x8_t __b)
3497 {
3498   return (uint16x8_t)__builtin_neon_vminuv8hi ((int16x8_t) __a, (int16x8_t) __b);
3499 }
3500 
3501 __extension__ extern __inline uint32x4_t
3502 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u32(uint32x4_t __a,uint32x4_t __b)3503 vminq_u32 (uint32x4_t __a, uint32x4_t __b)
3504 {
3505   return (uint32x4_t)__builtin_neon_vminuv4si ((int32x4_t) __a, (int32x4_t) __b);
3506 }
3507 
3508 __extension__ extern __inline int8x8_t
3509 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s8(int8x8_t __a,int8x8_t __b)3510 vpadd_s8 (int8x8_t __a, int8x8_t __b)
3511 {
3512   return (int8x8_t)__builtin_neon_vpaddv8qi (__a, __b);
3513 }
3514 
3515 __extension__ extern __inline int16x4_t
3516 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s16(int16x4_t __a,int16x4_t __b)3517 vpadd_s16 (int16x4_t __a, int16x4_t __b)
3518 {
3519   return (int16x4_t)__builtin_neon_vpaddv4hi (__a, __b);
3520 }
3521 
3522 __extension__ extern __inline int32x2_t
3523 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s32(int32x2_t __a,int32x2_t __b)3524 vpadd_s32 (int32x2_t __a, int32x2_t __b)
3525 {
3526   return (int32x2_t)__builtin_neon_vpaddv2si (__a, __b);
3527 }
3528 
3529 __extension__ extern __inline float32x2_t
3530 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_f32(float32x2_t __a,float32x2_t __b)3531 vpadd_f32 (float32x2_t __a, float32x2_t __b)
3532 {
3533   return (float32x2_t)__builtin_neon_vpaddv2sf (__a, __b);
3534 }
3535 
3536 __extension__ extern __inline uint8x8_t
3537 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u8(uint8x8_t __a,uint8x8_t __b)3538 vpadd_u8 (uint8x8_t __a, uint8x8_t __b)
3539 {
3540   return (uint8x8_t)__builtin_neon_vpaddv8qi ((int8x8_t) __a, (int8x8_t) __b);
3541 }
3542 
3543 __extension__ extern __inline uint16x4_t
3544 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u16(uint16x4_t __a,uint16x4_t __b)3545 vpadd_u16 (uint16x4_t __a, uint16x4_t __b)
3546 {
3547   return (uint16x4_t)__builtin_neon_vpaddv4hi ((int16x4_t) __a, (int16x4_t) __b);
3548 }
3549 
3550 __extension__ extern __inline uint32x2_t
3551 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u32(uint32x2_t __a,uint32x2_t __b)3552 vpadd_u32 (uint32x2_t __a, uint32x2_t __b)
3553 {
3554   return (uint32x2_t)__builtin_neon_vpaddv2si ((int32x2_t) __a, (int32x2_t) __b);
3555 }
3556 
3557 __extension__ extern __inline int16x4_t
3558 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s8(int8x8_t __a)3559 vpaddl_s8 (int8x8_t __a)
3560 {
3561   return (int16x4_t)__builtin_neon_vpaddlsv8qi (__a);
3562 }
3563 
3564 __extension__ extern __inline int32x2_t
3565 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s16(int16x4_t __a)3566 vpaddl_s16 (int16x4_t __a)
3567 {
3568   return (int32x2_t)__builtin_neon_vpaddlsv4hi (__a);
3569 }
3570 
3571 __extension__ extern __inline int64x1_t
3572 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s32(int32x2_t __a)3573 vpaddl_s32 (int32x2_t __a)
3574 {
3575   return (int64x1_t)__builtin_neon_vpaddlsv2si (__a);
3576 }
3577 
3578 __extension__ extern __inline uint16x4_t
3579 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u8(uint8x8_t __a)3580 vpaddl_u8 (uint8x8_t __a)
3581 {
3582   return (uint16x4_t)__builtin_neon_vpaddluv8qi ((int8x8_t) __a);
3583 }
3584 
3585 __extension__ extern __inline uint32x2_t
3586 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u16(uint16x4_t __a)3587 vpaddl_u16 (uint16x4_t __a)
3588 {
3589   return (uint32x2_t)__builtin_neon_vpaddluv4hi ((int16x4_t) __a);
3590 }
3591 
3592 __extension__ extern __inline uint64x1_t
3593 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u32(uint32x2_t __a)3594 vpaddl_u32 (uint32x2_t __a)
3595 {
3596   return (uint64x1_t)__builtin_neon_vpaddluv2si ((int32x2_t) __a);
3597 }
3598 
3599 __extension__ extern __inline int16x8_t
3600 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s8(int8x16_t __a)3601 vpaddlq_s8 (int8x16_t __a)
3602 {
3603   return (int16x8_t)__builtin_neon_vpaddlsv16qi (__a);
3604 }
3605 
3606 __extension__ extern __inline int32x4_t
3607 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s16(int16x8_t __a)3608 vpaddlq_s16 (int16x8_t __a)
3609 {
3610   return (int32x4_t)__builtin_neon_vpaddlsv8hi (__a);
3611 }
3612 
3613 __extension__ extern __inline int64x2_t
3614 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s32(int32x4_t __a)3615 vpaddlq_s32 (int32x4_t __a)
3616 {
3617   return (int64x2_t)__builtin_neon_vpaddlsv4si (__a);
3618 }
3619 
3620 __extension__ extern __inline uint16x8_t
3621 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u8(uint8x16_t __a)3622 vpaddlq_u8 (uint8x16_t __a)
3623 {
3624   return (uint16x8_t)__builtin_neon_vpaddluv16qi ((int8x16_t) __a);
3625 }
3626 
3627 __extension__ extern __inline uint32x4_t
3628 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u16(uint16x8_t __a)3629 vpaddlq_u16 (uint16x8_t __a)
3630 {
3631   return (uint32x4_t)__builtin_neon_vpaddluv8hi ((int16x8_t) __a);
3632 }
3633 
3634 __extension__ extern __inline uint64x2_t
3635 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u32(uint32x4_t __a)3636 vpaddlq_u32 (uint32x4_t __a)
3637 {
3638   return (uint64x2_t)__builtin_neon_vpaddluv4si ((int32x4_t) __a);
3639 }
3640 
3641 __extension__ extern __inline int16x4_t
3642 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s8(int16x4_t __a,int8x8_t __b)3643 vpadal_s8 (int16x4_t __a, int8x8_t __b)
3644 {
3645   return (int16x4_t)__builtin_neon_vpadalsv8qi (__a, __b);
3646 }
3647 
3648 __extension__ extern __inline int32x2_t
3649 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s16(int32x2_t __a,int16x4_t __b)3650 vpadal_s16 (int32x2_t __a, int16x4_t __b)
3651 {
3652   return (int32x2_t)__builtin_neon_vpadalsv4hi (__a, __b);
3653 }
3654 
3655 __extension__ extern __inline int64x1_t
3656 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s32(int64x1_t __a,int32x2_t __b)3657 vpadal_s32 (int64x1_t __a, int32x2_t __b)
3658 {
3659   return (int64x1_t)__builtin_neon_vpadalsv2si (__a, __b);
3660 }
3661 
3662 __extension__ extern __inline uint16x4_t
3663 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u8(uint16x4_t __a,uint8x8_t __b)3664 vpadal_u8 (uint16x4_t __a, uint8x8_t __b)
3665 {
3666   return (uint16x4_t)__builtin_neon_vpadaluv8qi ((int16x4_t) __a, (int8x8_t) __b);
3667 }
3668 
3669 __extension__ extern __inline uint32x2_t
3670 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u16(uint32x2_t __a,uint16x4_t __b)3671 vpadal_u16 (uint32x2_t __a, uint16x4_t __b)
3672 {
3673   return (uint32x2_t)__builtin_neon_vpadaluv4hi ((int32x2_t) __a, (int16x4_t) __b);
3674 }
3675 
3676 __extension__ extern __inline uint64x1_t
3677 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u32(uint64x1_t __a,uint32x2_t __b)3678 vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
3679 {
3680   return (uint64x1_t)__builtin_neon_vpadaluv2si ((int64x1_t) __a, (int32x2_t) __b);
3681 }
3682 
3683 __extension__ extern __inline int16x8_t
3684 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s8(int16x8_t __a,int8x16_t __b)3685 vpadalq_s8 (int16x8_t __a, int8x16_t __b)
3686 {
3687   return (int16x8_t)__builtin_neon_vpadalsv16qi (__a, __b);
3688 }
3689 
3690 __extension__ extern __inline int32x4_t
3691 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s16(int32x4_t __a,int16x8_t __b)3692 vpadalq_s16 (int32x4_t __a, int16x8_t __b)
3693 {
3694   return (int32x4_t)__builtin_neon_vpadalsv8hi (__a, __b);
3695 }
3696 
3697 __extension__ extern __inline int64x2_t
3698 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s32(int64x2_t __a,int32x4_t __b)3699 vpadalq_s32 (int64x2_t __a, int32x4_t __b)
3700 {
3701   return (int64x2_t)__builtin_neon_vpadalsv4si (__a, __b);
3702 }
3703 
3704 __extension__ extern __inline uint16x8_t
3705 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u8(uint16x8_t __a,uint8x16_t __b)3706 vpadalq_u8 (uint16x8_t __a, uint8x16_t __b)
3707 {
3708   return (uint16x8_t)__builtin_neon_vpadaluv16qi ((int16x8_t) __a, (int8x16_t) __b);
3709 }
3710 
3711 __extension__ extern __inline uint32x4_t
3712 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u16(uint32x4_t __a,uint16x8_t __b)3713 vpadalq_u16 (uint32x4_t __a, uint16x8_t __b)
3714 {
3715   return (uint32x4_t)__builtin_neon_vpadaluv8hi ((int32x4_t) __a, (int16x8_t) __b);
3716 }
3717 
3718 __extension__ extern __inline uint64x2_t
3719 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u32(uint64x2_t __a,uint32x4_t __b)3720 vpadalq_u32 (uint64x2_t __a, uint32x4_t __b)
3721 {
3722   return (uint64x2_t)__builtin_neon_vpadaluv4si ((int64x2_t) __a, (int32x4_t) __b);
3723 }
3724 
3725 __extension__ extern __inline int8x8_t
3726 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s8(int8x8_t __a,int8x8_t __b)3727 vpmax_s8 (int8x8_t __a, int8x8_t __b)
3728 {
3729   return (int8x8_t)__builtin_neon_vpmaxsv8qi (__a, __b);
3730 }
3731 
3732 __extension__ extern __inline int16x4_t
3733 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s16(int16x4_t __a,int16x4_t __b)3734 vpmax_s16 (int16x4_t __a, int16x4_t __b)
3735 {
3736   return (int16x4_t)__builtin_neon_vpmaxsv4hi (__a, __b);
3737 }
3738 
3739 __extension__ extern __inline int32x2_t
3740 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s32(int32x2_t __a,int32x2_t __b)3741 vpmax_s32 (int32x2_t __a, int32x2_t __b)
3742 {
3743   return (int32x2_t)__builtin_neon_vpmaxsv2si (__a, __b);
3744 }
3745 
3746 __extension__ extern __inline float32x2_t
3747 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_f32(float32x2_t __a,float32x2_t __b)3748 vpmax_f32 (float32x2_t __a, float32x2_t __b)
3749 {
3750   return (float32x2_t)__builtin_neon_vpmaxfv2sf (__a, __b);
3751 }
3752 
3753 __extension__ extern __inline uint8x8_t
3754 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u8(uint8x8_t __a,uint8x8_t __b)3755 vpmax_u8 (uint8x8_t __a, uint8x8_t __b)
3756 {
3757   return (uint8x8_t)__builtin_neon_vpmaxuv8qi ((int8x8_t) __a, (int8x8_t) __b);
3758 }
3759 
3760 __extension__ extern __inline uint16x4_t
3761 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u16(uint16x4_t __a,uint16x4_t __b)3762 vpmax_u16 (uint16x4_t __a, uint16x4_t __b)
3763 {
3764   return (uint16x4_t)__builtin_neon_vpmaxuv4hi ((int16x4_t) __a, (int16x4_t) __b);
3765 }
3766 
3767 __extension__ extern __inline uint32x2_t
3768 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u32(uint32x2_t __a,uint32x2_t __b)3769 vpmax_u32 (uint32x2_t __a, uint32x2_t __b)
3770 {
3771   return (uint32x2_t)__builtin_neon_vpmaxuv2si ((int32x2_t) __a, (int32x2_t) __b);
3772 }
3773 
3774 __extension__ extern __inline int8x8_t
3775 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s8(int8x8_t __a,int8x8_t __b)3776 vpmin_s8 (int8x8_t __a, int8x8_t __b)
3777 {
3778   return (int8x8_t)__builtin_neon_vpminsv8qi (__a, __b);
3779 }
3780 
3781 __extension__ extern __inline int16x4_t
3782 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s16(int16x4_t __a,int16x4_t __b)3783 vpmin_s16 (int16x4_t __a, int16x4_t __b)
3784 {
3785   return (int16x4_t)__builtin_neon_vpminsv4hi (__a, __b);
3786 }
3787 
3788 __extension__ extern __inline int32x2_t
3789 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s32(int32x2_t __a,int32x2_t __b)3790 vpmin_s32 (int32x2_t __a, int32x2_t __b)
3791 {
3792   return (int32x2_t)__builtin_neon_vpminsv2si (__a, __b);
3793 }
3794 
3795 __extension__ extern __inline float32x2_t
3796 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_f32(float32x2_t __a,float32x2_t __b)3797 vpmin_f32 (float32x2_t __a, float32x2_t __b)
3798 {
3799   return (float32x2_t)__builtin_neon_vpminfv2sf (__a, __b);
3800 }
3801 
3802 __extension__ extern __inline uint8x8_t
3803 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u8(uint8x8_t __a,uint8x8_t __b)3804 vpmin_u8 (uint8x8_t __a, uint8x8_t __b)
3805 {
3806   return (uint8x8_t)__builtin_neon_vpminuv8qi ((int8x8_t) __a, (int8x8_t) __b);
3807 }
3808 
3809 __extension__ extern __inline uint16x4_t
3810 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u16(uint16x4_t __a,uint16x4_t __b)3811 vpmin_u16 (uint16x4_t __a, uint16x4_t __b)
3812 {
3813   return (uint16x4_t)__builtin_neon_vpminuv4hi ((int16x4_t) __a, (int16x4_t) __b);
3814 }
3815 
3816 __extension__ extern __inline uint32x2_t
3817 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u32(uint32x2_t __a,uint32x2_t __b)3818 vpmin_u32 (uint32x2_t __a, uint32x2_t __b)
3819 {
3820   return (uint32x2_t)__builtin_neon_vpminuv2si ((int32x2_t) __a, (int32x2_t) __b);
3821 }
3822 
3823 __extension__ extern __inline float32x2_t
3824 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecps_f32(float32x2_t __a,float32x2_t __b)3825 vrecps_f32 (float32x2_t __a, float32x2_t __b)
3826 {
3827   return (float32x2_t)__builtin_neon_vrecpsv2sf (__a, __b);
3828 }
3829 
3830 __extension__ extern __inline float32x4_t
3831 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsq_f32(float32x4_t __a,float32x4_t __b)3832 vrecpsq_f32 (float32x4_t __a, float32x4_t __b)
3833 {
3834   return (float32x4_t)__builtin_neon_vrecpsv4sf (__a, __b);
3835 }
3836 
3837 __extension__ extern __inline float32x2_t
3838 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrts_f32(float32x2_t __a,float32x2_t __b)3839 vrsqrts_f32 (float32x2_t __a, float32x2_t __b)
3840 {
3841   return (float32x2_t)__builtin_neon_vrsqrtsv2sf (__a, __b);
3842 }
3843 
3844 __extension__ extern __inline float32x4_t
3845 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsq_f32(float32x4_t __a,float32x4_t __b)3846 vrsqrtsq_f32 (float32x4_t __a, float32x4_t __b)
3847 {
3848   return (float32x4_t)__builtin_neon_vrsqrtsv4sf (__a, __b);
3849 }
3850 
3851 __extension__ extern __inline int8x8_t
3852 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s8(int8x8_t __a,int8x8_t __b)3853 vshl_s8 (int8x8_t __a, int8x8_t __b)
3854 {
3855   return (int8x8_t)__builtin_neon_vshlsv8qi (__a, __b);
3856 }
3857 
3858 __extension__ extern __inline int16x4_t
3859 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s16(int16x4_t __a,int16x4_t __b)3860 vshl_s16 (int16x4_t __a, int16x4_t __b)
3861 {
3862   return (int16x4_t)__builtin_neon_vshlsv4hi (__a, __b);
3863 }
3864 
3865 __extension__ extern __inline int32x2_t
3866 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s32(int32x2_t __a,int32x2_t __b)3867 vshl_s32 (int32x2_t __a, int32x2_t __b)
3868 {
3869   return (int32x2_t)__builtin_neon_vshlsv2si (__a, __b);
3870 }
3871 
3872 __extension__ extern __inline int64x1_t
3873 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s64(int64x1_t __a,int64x1_t __b)3874 vshl_s64 (int64x1_t __a, int64x1_t __b)
3875 {
3876   return (int64x1_t)__builtin_neon_vshlsdi (__a, __b);
3877 }
3878 
3879 __extension__ extern __inline uint8x8_t
3880 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u8(uint8x8_t __a,int8x8_t __b)3881 vshl_u8 (uint8x8_t __a, int8x8_t __b)
3882 {
3883   return (uint8x8_t)__builtin_neon_vshluv8qi ((int8x8_t) __a, __b);
3884 }
3885 
3886 __extension__ extern __inline uint16x4_t
3887 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u16(uint16x4_t __a,int16x4_t __b)3888 vshl_u16 (uint16x4_t __a, int16x4_t __b)
3889 {
3890   return (uint16x4_t)__builtin_neon_vshluv4hi ((int16x4_t) __a, __b);
3891 }
3892 
3893 __extension__ extern __inline uint32x2_t
3894 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u32(uint32x2_t __a,int32x2_t __b)3895 vshl_u32 (uint32x2_t __a, int32x2_t __b)
3896 {
3897   return (uint32x2_t)__builtin_neon_vshluv2si ((int32x2_t) __a, __b);
3898 }
3899 
3900 __extension__ extern __inline uint64x1_t
3901 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u64(uint64x1_t __a,int64x1_t __b)3902 vshl_u64 (uint64x1_t __a, int64x1_t __b)
3903 {
3904   return (uint64x1_t)__builtin_neon_vshludi ((int64x1_t) __a, __b);
3905 }
3906 
3907 __extension__ extern __inline int8x16_t
3908 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s8(int8x16_t __a,int8x16_t __b)3909 vshlq_s8 (int8x16_t __a, int8x16_t __b)
3910 {
3911   return (int8x16_t)__builtin_neon_vshlsv16qi (__a, __b);
3912 }
3913 
3914 __extension__ extern __inline int16x8_t
3915 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s16(int16x8_t __a,int16x8_t __b)3916 vshlq_s16 (int16x8_t __a, int16x8_t __b)
3917 {
3918   return (int16x8_t)__builtin_neon_vshlsv8hi (__a, __b);
3919 }
3920 
3921 __extension__ extern __inline int32x4_t
3922 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s32(int32x4_t __a,int32x4_t __b)3923 vshlq_s32 (int32x4_t __a, int32x4_t __b)
3924 {
3925   return (int32x4_t)__builtin_neon_vshlsv4si (__a, __b);
3926 }
3927 
3928 __extension__ extern __inline int64x2_t
3929 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s64(int64x2_t __a,int64x2_t __b)3930 vshlq_s64 (int64x2_t __a, int64x2_t __b)
3931 {
3932   return (int64x2_t)__builtin_neon_vshlsv2di (__a, __b);
3933 }
3934 
3935 __extension__ extern __inline uint8x16_t
3936 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u8(uint8x16_t __a,int8x16_t __b)3937 vshlq_u8 (uint8x16_t __a, int8x16_t __b)
3938 {
3939   return (uint8x16_t)__builtin_neon_vshluv16qi ((int8x16_t) __a, __b);
3940 }
3941 
3942 __extension__ extern __inline uint16x8_t
3943 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u16(uint16x8_t __a,int16x8_t __b)3944 vshlq_u16 (uint16x8_t __a, int16x8_t __b)
3945 {
3946   return (uint16x8_t)__builtin_neon_vshluv8hi ((int16x8_t) __a, __b);
3947 }
3948 
3949 __extension__ extern __inline uint32x4_t
3950 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u32(uint32x4_t __a,int32x4_t __b)3951 vshlq_u32 (uint32x4_t __a, int32x4_t __b)
3952 {
3953   return (uint32x4_t)__builtin_neon_vshluv4si ((int32x4_t) __a, __b);
3954 }
3955 
3956 __extension__ extern __inline uint64x2_t
3957 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u64(uint64x2_t __a,int64x2_t __b)3958 vshlq_u64 (uint64x2_t __a, int64x2_t __b)
3959 {
3960   return (uint64x2_t)__builtin_neon_vshluv2di ((int64x2_t) __a, __b);
3961 }
3962 
3963 __extension__ extern __inline int8x8_t
3964 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s8(int8x8_t __a,int8x8_t __b)3965 vrshl_s8 (int8x8_t __a, int8x8_t __b)
3966 {
3967   return (int8x8_t)__builtin_neon_vrshlsv8qi (__a, __b);
3968 }
3969 
3970 __extension__ extern __inline int16x4_t
3971 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s16(int16x4_t __a,int16x4_t __b)3972 vrshl_s16 (int16x4_t __a, int16x4_t __b)
3973 {
3974   return (int16x4_t)__builtin_neon_vrshlsv4hi (__a, __b);
3975 }
3976 
3977 __extension__ extern __inline int32x2_t
3978 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s32(int32x2_t __a,int32x2_t __b)3979 vrshl_s32 (int32x2_t __a, int32x2_t __b)
3980 {
3981   return (int32x2_t)__builtin_neon_vrshlsv2si (__a, __b);
3982 }
3983 
3984 __extension__ extern __inline int64x1_t
3985 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s64(int64x1_t __a,int64x1_t __b)3986 vrshl_s64 (int64x1_t __a, int64x1_t __b)
3987 {
3988   return (int64x1_t)__builtin_neon_vrshlsdi (__a, __b);
3989 }
3990 
3991 __extension__ extern __inline uint8x8_t
3992 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u8(uint8x8_t __a,int8x8_t __b)3993 vrshl_u8 (uint8x8_t __a, int8x8_t __b)
3994 {
3995   return (uint8x8_t)__builtin_neon_vrshluv8qi ((int8x8_t) __a, __b);
3996 }
3997 
3998 __extension__ extern __inline uint16x4_t
3999 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u16(uint16x4_t __a,int16x4_t __b)4000 vrshl_u16 (uint16x4_t __a, int16x4_t __b)
4001 {
4002   return (uint16x4_t)__builtin_neon_vrshluv4hi ((int16x4_t) __a, __b);
4003 }
4004 
4005 __extension__ extern __inline uint32x2_t
4006 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u32(uint32x2_t __a,int32x2_t __b)4007 vrshl_u32 (uint32x2_t __a, int32x2_t __b)
4008 {
4009   return (uint32x2_t)__builtin_neon_vrshluv2si ((int32x2_t) __a, __b);
4010 }
4011 
4012 __extension__ extern __inline uint64x1_t
4013 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u64(uint64x1_t __a,int64x1_t __b)4014 vrshl_u64 (uint64x1_t __a, int64x1_t __b)
4015 {
4016   return (uint64x1_t)__builtin_neon_vrshludi ((int64x1_t) __a, __b);
4017 }
4018 
4019 __extension__ extern __inline int8x16_t
4020 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s8(int8x16_t __a,int8x16_t __b)4021 vrshlq_s8 (int8x16_t __a, int8x16_t __b)
4022 {
4023   return (int8x16_t)__builtin_neon_vrshlsv16qi (__a, __b);
4024 }
4025 
4026 __extension__ extern __inline int16x8_t
4027 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s16(int16x8_t __a,int16x8_t __b)4028 vrshlq_s16 (int16x8_t __a, int16x8_t __b)
4029 {
4030   return (int16x8_t)__builtin_neon_vrshlsv8hi (__a, __b);
4031 }
4032 
4033 __extension__ extern __inline int32x4_t
4034 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s32(int32x4_t __a,int32x4_t __b)4035 vrshlq_s32 (int32x4_t __a, int32x4_t __b)
4036 {
4037   return (int32x4_t)__builtin_neon_vrshlsv4si (__a, __b);
4038 }
4039 
4040 __extension__ extern __inline int64x2_t
4041 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s64(int64x2_t __a,int64x2_t __b)4042 vrshlq_s64 (int64x2_t __a, int64x2_t __b)
4043 {
4044   return (int64x2_t)__builtin_neon_vrshlsv2di (__a, __b);
4045 }
4046 
4047 __extension__ extern __inline uint8x16_t
4048 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u8(uint8x16_t __a,int8x16_t __b)4049 vrshlq_u8 (uint8x16_t __a, int8x16_t __b)
4050 {
4051   return (uint8x16_t)__builtin_neon_vrshluv16qi ((int8x16_t) __a, __b);
4052 }
4053 
4054 __extension__ extern __inline uint16x8_t
4055 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u16(uint16x8_t __a,int16x8_t __b)4056 vrshlq_u16 (uint16x8_t __a, int16x8_t __b)
4057 {
4058   return (uint16x8_t)__builtin_neon_vrshluv8hi ((int16x8_t) __a, __b);
4059 }
4060 
4061 __extension__ extern __inline uint32x4_t
4062 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u32(uint32x4_t __a,int32x4_t __b)4063 vrshlq_u32 (uint32x4_t __a, int32x4_t __b)
4064 {
4065   return (uint32x4_t)__builtin_neon_vrshluv4si ((int32x4_t) __a, __b);
4066 }
4067 
4068 __extension__ extern __inline uint64x2_t
4069 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u64(uint64x2_t __a,int64x2_t __b)4070 vrshlq_u64 (uint64x2_t __a, int64x2_t __b)
4071 {
4072   return (uint64x2_t)__builtin_neon_vrshluv2di ((int64x2_t) __a, __b);
4073 }
4074 
4075 __extension__ extern __inline int8x8_t
4076 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s8(int8x8_t __a,int8x8_t __b)4077 vqshl_s8 (int8x8_t __a, int8x8_t __b)
4078 {
4079   return (int8x8_t)__builtin_neon_vqshlsv8qi (__a, __b);
4080 }
4081 
4082 __extension__ extern __inline int16x4_t
4083 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s16(int16x4_t __a,int16x4_t __b)4084 vqshl_s16 (int16x4_t __a, int16x4_t __b)
4085 {
4086   return (int16x4_t)__builtin_neon_vqshlsv4hi (__a, __b);
4087 }
4088 
4089 __extension__ extern __inline int32x2_t
4090 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s32(int32x2_t __a,int32x2_t __b)4091 vqshl_s32 (int32x2_t __a, int32x2_t __b)
4092 {
4093   return (int32x2_t)__builtin_neon_vqshlsv2si (__a, __b);
4094 }
4095 
4096 __extension__ extern __inline int64x1_t
4097 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s64(int64x1_t __a,int64x1_t __b)4098 vqshl_s64 (int64x1_t __a, int64x1_t __b)
4099 {
4100   return (int64x1_t)__builtin_neon_vqshlsdi (__a, __b);
4101 }
4102 
4103 __extension__ extern __inline uint8x8_t
4104 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u8(uint8x8_t __a,int8x8_t __b)4105 vqshl_u8 (uint8x8_t __a, int8x8_t __b)
4106 {
4107   return (uint8x8_t)__builtin_neon_vqshluv8qi ((int8x8_t) __a, __b);
4108 }
4109 
4110 __extension__ extern __inline uint16x4_t
4111 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u16(uint16x4_t __a,int16x4_t __b)4112 vqshl_u16 (uint16x4_t __a, int16x4_t __b)
4113 {
4114   return (uint16x4_t)__builtin_neon_vqshluv4hi ((int16x4_t) __a, __b);
4115 }
4116 
4117 __extension__ extern __inline uint32x2_t
4118 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u32(uint32x2_t __a,int32x2_t __b)4119 vqshl_u32 (uint32x2_t __a, int32x2_t __b)
4120 {
4121   return (uint32x2_t)__builtin_neon_vqshluv2si ((int32x2_t) __a, __b);
4122 }
4123 
4124 __extension__ extern __inline uint64x1_t
4125 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u64(uint64x1_t __a,int64x1_t __b)4126 vqshl_u64 (uint64x1_t __a, int64x1_t __b)
4127 {
4128   return (uint64x1_t)__builtin_neon_vqshludi ((int64x1_t) __a, __b);
4129 }
4130 
4131 __extension__ extern __inline int8x16_t
4132 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s8(int8x16_t __a,int8x16_t __b)4133 vqshlq_s8 (int8x16_t __a, int8x16_t __b)
4134 {
4135   return (int8x16_t)__builtin_neon_vqshlsv16qi (__a, __b);
4136 }
4137 
4138 __extension__ extern __inline int16x8_t
4139 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s16(int16x8_t __a,int16x8_t __b)4140 vqshlq_s16 (int16x8_t __a, int16x8_t __b)
4141 {
4142   return (int16x8_t)__builtin_neon_vqshlsv8hi (__a, __b);
4143 }
4144 
4145 __extension__ extern __inline int32x4_t
4146 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s32(int32x4_t __a,int32x4_t __b)4147 vqshlq_s32 (int32x4_t __a, int32x4_t __b)
4148 {
4149   return (int32x4_t)__builtin_neon_vqshlsv4si (__a, __b);
4150 }
4151 
4152 __extension__ extern __inline int64x2_t
4153 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s64(int64x2_t __a,int64x2_t __b)4154 vqshlq_s64 (int64x2_t __a, int64x2_t __b)
4155 {
4156   return (int64x2_t)__builtin_neon_vqshlsv2di (__a, __b);
4157 }
4158 
4159 __extension__ extern __inline uint8x16_t
4160 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u8(uint8x16_t __a,int8x16_t __b)4161 vqshlq_u8 (uint8x16_t __a, int8x16_t __b)
4162 {
4163   return (uint8x16_t)__builtin_neon_vqshluv16qi ((int8x16_t) __a, __b);
4164 }
4165 
4166 __extension__ extern __inline uint16x8_t
4167 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u16(uint16x8_t __a,int16x8_t __b)4168 vqshlq_u16 (uint16x8_t __a, int16x8_t __b)
4169 {
4170   return (uint16x8_t)__builtin_neon_vqshluv8hi ((int16x8_t) __a, __b);
4171 }
4172 
4173 __extension__ extern __inline uint32x4_t
4174 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u32(uint32x4_t __a,int32x4_t __b)4175 vqshlq_u32 (uint32x4_t __a, int32x4_t __b)
4176 {
4177   return (uint32x4_t)__builtin_neon_vqshluv4si ((int32x4_t) __a, __b);
4178 }
4179 
4180 __extension__ extern __inline uint64x2_t
4181 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u64(uint64x2_t __a,int64x2_t __b)4182 vqshlq_u64 (uint64x2_t __a, int64x2_t __b)
4183 {
4184   return (uint64x2_t)__builtin_neon_vqshluv2di ((int64x2_t) __a, __b);
4185 }
4186 
4187 __extension__ extern __inline int8x8_t
4188 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s8(int8x8_t __a,int8x8_t __b)4189 vqrshl_s8 (int8x8_t __a, int8x8_t __b)
4190 {
4191   return (int8x8_t)__builtin_neon_vqrshlsv8qi (__a, __b);
4192 }
4193 
4194 __extension__ extern __inline int16x4_t
4195 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s16(int16x4_t __a,int16x4_t __b)4196 vqrshl_s16 (int16x4_t __a, int16x4_t __b)
4197 {
4198   return (int16x4_t)__builtin_neon_vqrshlsv4hi (__a, __b);
4199 }
4200 
4201 __extension__ extern __inline int32x2_t
4202 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s32(int32x2_t __a,int32x2_t __b)4203 vqrshl_s32 (int32x2_t __a, int32x2_t __b)
4204 {
4205   return (int32x2_t)__builtin_neon_vqrshlsv2si (__a, __b);
4206 }
4207 
4208 __extension__ extern __inline int64x1_t
4209 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s64(int64x1_t __a,int64x1_t __b)4210 vqrshl_s64 (int64x1_t __a, int64x1_t __b)
4211 {
4212   return (int64x1_t)__builtin_neon_vqrshlsdi (__a, __b);
4213 }
4214 
4215 __extension__ extern __inline uint8x8_t
4216 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u8(uint8x8_t __a,int8x8_t __b)4217 vqrshl_u8 (uint8x8_t __a, int8x8_t __b)
4218 {
4219   return (uint8x8_t)__builtin_neon_vqrshluv8qi ((int8x8_t) __a, __b);
4220 }
4221 
4222 __extension__ extern __inline uint16x4_t
4223 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u16(uint16x4_t __a,int16x4_t __b)4224 vqrshl_u16 (uint16x4_t __a, int16x4_t __b)
4225 {
4226   return (uint16x4_t)__builtin_neon_vqrshluv4hi ((int16x4_t) __a, __b);
4227 }
4228 
4229 __extension__ extern __inline uint32x2_t
4230 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u32(uint32x2_t __a,int32x2_t __b)4231 vqrshl_u32 (uint32x2_t __a, int32x2_t __b)
4232 {
4233   return (uint32x2_t)__builtin_neon_vqrshluv2si ((int32x2_t) __a, __b);
4234 }
4235 
4236 __extension__ extern __inline uint64x1_t
4237 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u64(uint64x1_t __a,int64x1_t __b)4238 vqrshl_u64 (uint64x1_t __a, int64x1_t __b)
4239 {
4240   return (uint64x1_t)__builtin_neon_vqrshludi ((int64x1_t) __a, __b);
4241 }
4242 
4243 __extension__ extern __inline int8x16_t
4244 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s8(int8x16_t __a,int8x16_t __b)4245 vqrshlq_s8 (int8x16_t __a, int8x16_t __b)
4246 {
4247   return (int8x16_t)__builtin_neon_vqrshlsv16qi (__a, __b);
4248 }
4249 
4250 __extension__ extern __inline int16x8_t
4251 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s16(int16x8_t __a,int16x8_t __b)4252 vqrshlq_s16 (int16x8_t __a, int16x8_t __b)
4253 {
4254   return (int16x8_t)__builtin_neon_vqrshlsv8hi (__a, __b);
4255 }
4256 
4257 __extension__ extern __inline int32x4_t
4258 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s32(int32x4_t __a,int32x4_t __b)4259 vqrshlq_s32 (int32x4_t __a, int32x4_t __b)
4260 {
4261   return (int32x4_t)__builtin_neon_vqrshlsv4si (__a, __b);
4262 }
4263 
4264 __extension__ extern __inline int64x2_t
4265 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s64(int64x2_t __a,int64x2_t __b)4266 vqrshlq_s64 (int64x2_t __a, int64x2_t __b)
4267 {
4268   return (int64x2_t)__builtin_neon_vqrshlsv2di (__a, __b);
4269 }
4270 
4271 __extension__ extern __inline uint8x16_t
4272 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u8(uint8x16_t __a,int8x16_t __b)4273 vqrshlq_u8 (uint8x16_t __a, int8x16_t __b)
4274 {
4275   return (uint8x16_t)__builtin_neon_vqrshluv16qi ((int8x16_t) __a, __b);
4276 }
4277 
4278 __extension__ extern __inline uint16x8_t
4279 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u16(uint16x8_t __a,int16x8_t __b)4280 vqrshlq_u16 (uint16x8_t __a, int16x8_t __b)
4281 {
4282   return (uint16x8_t)__builtin_neon_vqrshluv8hi ((int16x8_t) __a, __b);
4283 }
4284 
4285 __extension__ extern __inline uint32x4_t
4286 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u32(uint32x4_t __a,int32x4_t __b)4287 vqrshlq_u32 (uint32x4_t __a, int32x4_t __b)
4288 {
4289   return (uint32x4_t)__builtin_neon_vqrshluv4si ((int32x4_t) __a, __b);
4290 }
4291 
4292 __extension__ extern __inline uint64x2_t
4293 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u64(uint64x2_t __a,int64x2_t __b)4294 vqrshlq_u64 (uint64x2_t __a, int64x2_t __b)
4295 {
4296   return (uint64x2_t)__builtin_neon_vqrshluv2di ((int64x2_t) __a, __b);
4297 }
4298 
4299 __extension__ extern __inline int8x8_t
4300 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s8(int8x8_t __a,const int __b)4301 vshr_n_s8 (int8x8_t __a, const int __b)
4302 {
4303   return (int8x8_t)__builtin_neon_vshrs_nv8qi (__a, __b);
4304 }
4305 
4306 __extension__ extern __inline int16x4_t
4307 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s16(int16x4_t __a,const int __b)4308 vshr_n_s16 (int16x4_t __a, const int __b)
4309 {
4310   return (int16x4_t)__builtin_neon_vshrs_nv4hi (__a, __b);
4311 }
4312 
4313 __extension__ extern __inline int32x2_t
4314 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s32(int32x2_t __a,const int __b)4315 vshr_n_s32 (int32x2_t __a, const int __b)
4316 {
4317   return (int32x2_t)__builtin_neon_vshrs_nv2si (__a, __b);
4318 }
4319 
4320 __extension__ extern __inline int64x1_t
4321 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s64(int64x1_t __a,const int __b)4322 vshr_n_s64 (int64x1_t __a, const int __b)
4323 {
4324   return (int64x1_t)__builtin_neon_vshrs_ndi (__a, __b);
4325 }
4326 
4327 __extension__ extern __inline uint8x8_t
4328 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u8(uint8x8_t __a,const int __b)4329 vshr_n_u8 (uint8x8_t __a, const int __b)
4330 {
4331   return (uint8x8_t)__builtin_neon_vshru_nv8qi ((int8x8_t) __a, __b);
4332 }
4333 
4334 __extension__ extern __inline uint16x4_t
4335 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u16(uint16x4_t __a,const int __b)4336 vshr_n_u16 (uint16x4_t __a, const int __b)
4337 {
4338   return (uint16x4_t)__builtin_neon_vshru_nv4hi ((int16x4_t) __a, __b);
4339 }
4340 
4341 __extension__ extern __inline uint32x2_t
4342 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u32(uint32x2_t __a,const int __b)4343 vshr_n_u32 (uint32x2_t __a, const int __b)
4344 {
4345   return (uint32x2_t)__builtin_neon_vshru_nv2si ((int32x2_t) __a, __b);
4346 }
4347 
4348 __extension__ extern __inline uint64x1_t
4349 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u64(uint64x1_t __a,const int __b)4350 vshr_n_u64 (uint64x1_t __a, const int __b)
4351 {
4352   return (uint64x1_t)__builtin_neon_vshru_ndi ((int64x1_t) __a, __b);
4353 }
4354 
4355 __extension__ extern __inline int8x16_t
4356 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s8(int8x16_t __a,const int __b)4357 vshrq_n_s8 (int8x16_t __a, const int __b)
4358 {
4359   return (int8x16_t)__builtin_neon_vshrs_nv16qi (__a, __b);
4360 }
4361 
4362 __extension__ extern __inline int16x8_t
4363 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s16(int16x8_t __a,const int __b)4364 vshrq_n_s16 (int16x8_t __a, const int __b)
4365 {
4366   return (int16x8_t)__builtin_neon_vshrs_nv8hi (__a, __b);
4367 }
4368 
4369 __extension__ extern __inline int32x4_t
4370 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s32(int32x4_t __a,const int __b)4371 vshrq_n_s32 (int32x4_t __a, const int __b)
4372 {
4373   return (int32x4_t)__builtin_neon_vshrs_nv4si (__a, __b);
4374 }
4375 
4376 __extension__ extern __inline int64x2_t
4377 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s64(int64x2_t __a,const int __b)4378 vshrq_n_s64 (int64x2_t __a, const int __b)
4379 {
4380   return (int64x2_t)__builtin_neon_vshrs_nv2di (__a, __b);
4381 }
4382 
4383 __extension__ extern __inline uint8x16_t
4384 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u8(uint8x16_t __a,const int __b)4385 vshrq_n_u8 (uint8x16_t __a, const int __b)
4386 {
4387   return (uint8x16_t)__builtin_neon_vshru_nv16qi ((int8x16_t) __a, __b);
4388 }
4389 
4390 __extension__ extern __inline uint16x8_t
4391 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u16(uint16x8_t __a,const int __b)4392 vshrq_n_u16 (uint16x8_t __a, const int __b)
4393 {
4394   return (uint16x8_t)__builtin_neon_vshru_nv8hi ((int16x8_t) __a, __b);
4395 }
4396 
4397 __extension__ extern __inline uint32x4_t
4398 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u32(uint32x4_t __a,const int __b)4399 vshrq_n_u32 (uint32x4_t __a, const int __b)
4400 {
4401   return (uint32x4_t)__builtin_neon_vshru_nv4si ((int32x4_t) __a, __b);
4402 }
4403 
4404 __extension__ extern __inline uint64x2_t
4405 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u64(uint64x2_t __a,const int __b)4406 vshrq_n_u64 (uint64x2_t __a, const int __b)
4407 {
4408   return (uint64x2_t)__builtin_neon_vshru_nv2di ((int64x2_t) __a, __b);
4409 }
4410 
4411 __extension__ extern __inline int8x8_t
4412 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s8(int8x8_t __a,const int __b)4413 vrshr_n_s8 (int8x8_t __a, const int __b)
4414 {
4415   return (int8x8_t)__builtin_neon_vrshrs_nv8qi (__a, __b);
4416 }
4417 
4418 __extension__ extern __inline int16x4_t
4419 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s16(int16x4_t __a,const int __b)4420 vrshr_n_s16 (int16x4_t __a, const int __b)
4421 {
4422   return (int16x4_t)__builtin_neon_vrshrs_nv4hi (__a, __b);
4423 }
4424 
4425 __extension__ extern __inline int32x2_t
4426 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s32(int32x2_t __a,const int __b)4427 vrshr_n_s32 (int32x2_t __a, const int __b)
4428 {
4429   return (int32x2_t)__builtin_neon_vrshrs_nv2si (__a, __b);
4430 }
4431 
4432 __extension__ extern __inline int64x1_t
4433 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s64(int64x1_t __a,const int __b)4434 vrshr_n_s64 (int64x1_t __a, const int __b)
4435 {
4436   return (int64x1_t)__builtin_neon_vrshrs_ndi (__a, __b);
4437 }
4438 
4439 __extension__ extern __inline uint8x8_t
4440 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u8(uint8x8_t __a,const int __b)4441 vrshr_n_u8 (uint8x8_t __a, const int __b)
4442 {
4443   return (uint8x8_t)__builtin_neon_vrshru_nv8qi ((int8x8_t) __a, __b);
4444 }
4445 
4446 __extension__ extern __inline uint16x4_t
4447 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u16(uint16x4_t __a,const int __b)4448 vrshr_n_u16 (uint16x4_t __a, const int __b)
4449 {
4450   return (uint16x4_t)__builtin_neon_vrshru_nv4hi ((int16x4_t) __a, __b);
4451 }
4452 
4453 __extension__ extern __inline uint32x2_t
4454 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u32(uint32x2_t __a,const int __b)4455 vrshr_n_u32 (uint32x2_t __a, const int __b)
4456 {
4457   return (uint32x2_t)__builtin_neon_vrshru_nv2si ((int32x2_t) __a, __b);
4458 }
4459 
4460 __extension__ extern __inline uint64x1_t
4461 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u64(uint64x1_t __a,const int __b)4462 vrshr_n_u64 (uint64x1_t __a, const int __b)
4463 {
4464   return (uint64x1_t)__builtin_neon_vrshru_ndi ((int64x1_t) __a, __b);
4465 }
4466 
4467 __extension__ extern __inline int8x16_t
4468 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s8(int8x16_t __a,const int __b)4469 vrshrq_n_s8 (int8x16_t __a, const int __b)
4470 {
4471   return (int8x16_t)__builtin_neon_vrshrs_nv16qi (__a, __b);
4472 }
4473 
4474 __extension__ extern __inline int16x8_t
4475 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s16(int16x8_t __a,const int __b)4476 vrshrq_n_s16 (int16x8_t __a, const int __b)
4477 {
4478   return (int16x8_t)__builtin_neon_vrshrs_nv8hi (__a, __b);
4479 }
4480 
4481 __extension__ extern __inline int32x4_t
4482 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s32(int32x4_t __a,const int __b)4483 vrshrq_n_s32 (int32x4_t __a, const int __b)
4484 {
4485   return (int32x4_t)__builtin_neon_vrshrs_nv4si (__a, __b);
4486 }
4487 
4488 __extension__ extern __inline int64x2_t
4489 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s64(int64x2_t __a,const int __b)4490 vrshrq_n_s64 (int64x2_t __a, const int __b)
4491 {
4492   return (int64x2_t)__builtin_neon_vrshrs_nv2di (__a, __b);
4493 }
4494 
4495 __extension__ extern __inline uint8x16_t
4496 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u8(uint8x16_t __a,const int __b)4497 vrshrq_n_u8 (uint8x16_t __a, const int __b)
4498 {
4499   return (uint8x16_t)__builtin_neon_vrshru_nv16qi ((int8x16_t) __a, __b);
4500 }
4501 
4502 __extension__ extern __inline uint16x8_t
4503 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u16(uint16x8_t __a,const int __b)4504 vrshrq_n_u16 (uint16x8_t __a, const int __b)
4505 {
4506   return (uint16x8_t)__builtin_neon_vrshru_nv8hi ((int16x8_t) __a, __b);
4507 }
4508 
4509 __extension__ extern __inline uint32x4_t
4510 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u32(uint32x4_t __a,const int __b)4511 vrshrq_n_u32 (uint32x4_t __a, const int __b)
4512 {
4513   return (uint32x4_t)__builtin_neon_vrshru_nv4si ((int32x4_t) __a, __b);
4514 }
4515 
4516 __extension__ extern __inline uint64x2_t
4517 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u64(uint64x2_t __a,const int __b)4518 vrshrq_n_u64 (uint64x2_t __a, const int __b)
4519 {
4520   return (uint64x2_t)__builtin_neon_vrshru_nv2di ((int64x2_t) __a, __b);
4521 }
4522 
4523 __extension__ extern __inline int8x8_t
4524 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_s16(int16x8_t __a,const int __b)4525 vshrn_n_s16 (int16x8_t __a, const int __b)
4526 {
4527   return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b);
4528 }
4529 
4530 __extension__ extern __inline int16x4_t
4531 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_s32(int32x4_t __a,const int __b)4532 vshrn_n_s32 (int32x4_t __a, const int __b)
4533 {
4534   return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b);
4535 }
4536 
4537 __extension__ extern __inline int32x2_t
4538 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_s64(int64x2_t __a,const int __b)4539 vshrn_n_s64 (int64x2_t __a, const int __b)
4540 {
4541   return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b);
4542 }
4543 
4544 __extension__ extern __inline uint8x8_t
4545 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_u16(uint16x8_t __a,const int __b)4546 vshrn_n_u16 (uint16x8_t __a, const int __b)
4547 {
4548   return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b);
4549 }
4550 
4551 __extension__ extern __inline uint16x4_t
4552 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_u32(uint32x4_t __a,const int __b)4553 vshrn_n_u32 (uint32x4_t __a, const int __b)
4554 {
4555   return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b);
4556 }
4557 
4558 __extension__ extern __inline uint32x2_t
4559 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_u64(uint64x2_t __a,const int __b)4560 vshrn_n_u64 (uint64x2_t __a, const int __b)
4561 {
4562   return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b);
4563 }
4564 
4565 __extension__ extern __inline int8x8_t
4566 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_s16(int16x8_t __a,const int __b)4567 vrshrn_n_s16 (int16x8_t __a, const int __b)
4568 {
4569   return (int8x8_t)__builtin_neon_vrshrn_nv8hi (__a, __b);
4570 }
4571 
4572 __extension__ extern __inline int16x4_t
4573 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_s32(int32x4_t __a,const int __b)4574 vrshrn_n_s32 (int32x4_t __a, const int __b)
4575 {
4576   return (int16x4_t)__builtin_neon_vrshrn_nv4si (__a, __b);
4577 }
4578 
4579 __extension__ extern __inline int32x2_t
4580 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_s64(int64x2_t __a,const int __b)4581 vrshrn_n_s64 (int64x2_t __a, const int __b)
4582 {
4583   return (int32x2_t)__builtin_neon_vrshrn_nv2di (__a, __b);
4584 }
4585 
4586 __extension__ extern __inline uint8x8_t
4587 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_u16(uint16x8_t __a,const int __b)4588 vrshrn_n_u16 (uint16x8_t __a, const int __b)
4589 {
4590   return (uint8x8_t)__builtin_neon_vrshrn_nv8hi ((int16x8_t) __a, __b);
4591 }
4592 
4593 __extension__ extern __inline uint16x4_t
4594 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_u32(uint32x4_t __a,const int __b)4595 vrshrn_n_u32 (uint32x4_t __a, const int __b)
4596 {
4597   return (uint16x4_t)__builtin_neon_vrshrn_nv4si ((int32x4_t) __a, __b);
4598 }
4599 
4600 __extension__ extern __inline uint32x2_t
4601 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_u64(uint64x2_t __a,const int __b)4602 vrshrn_n_u64 (uint64x2_t __a, const int __b)
4603 {
4604   return (uint32x2_t)__builtin_neon_vrshrn_nv2di ((int64x2_t) __a, __b);
4605 }
4606 
4607 __extension__ extern __inline int8x8_t
4608 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s16(int16x8_t __a,const int __b)4609 vqshrn_n_s16 (int16x8_t __a, const int __b)
4610 {
4611   return (int8x8_t)__builtin_neon_vqshrns_nv8hi (__a, __b);
4612 }
4613 
4614 __extension__ extern __inline int16x4_t
4615 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s32(int32x4_t __a,const int __b)4616 vqshrn_n_s32 (int32x4_t __a, const int __b)
4617 {
4618   return (int16x4_t)__builtin_neon_vqshrns_nv4si (__a, __b);
4619 }
4620 
4621 __extension__ extern __inline int32x2_t
4622 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s64(int64x2_t __a,const int __b)4623 vqshrn_n_s64 (int64x2_t __a, const int __b)
4624 {
4625   return (int32x2_t)__builtin_neon_vqshrns_nv2di (__a, __b);
4626 }
4627 
4628 __extension__ extern __inline uint8x8_t
4629 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u16(uint16x8_t __a,const int __b)4630 vqshrn_n_u16 (uint16x8_t __a, const int __b)
4631 {
4632   return (uint8x8_t)__builtin_neon_vqshrnu_nv8hi ((int16x8_t) __a, __b);
4633 }
4634 
4635 __extension__ extern __inline uint16x4_t
4636 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u32(uint32x4_t __a,const int __b)4637 vqshrn_n_u32 (uint32x4_t __a, const int __b)
4638 {
4639   return (uint16x4_t)__builtin_neon_vqshrnu_nv4si ((int32x4_t) __a, __b);
4640 }
4641 
4642 __extension__ extern __inline uint32x2_t
4643 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u64(uint64x2_t __a,const int __b)4644 vqshrn_n_u64 (uint64x2_t __a, const int __b)
4645 {
4646   return (uint32x2_t)__builtin_neon_vqshrnu_nv2di ((int64x2_t) __a, __b);
4647 }
4648 
4649 __extension__ extern __inline int8x8_t
4650 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s16(int16x8_t __a,const int __b)4651 vqrshrn_n_s16 (int16x8_t __a, const int __b)
4652 {
4653   return (int8x8_t)__builtin_neon_vqrshrns_nv8hi (__a, __b);
4654 }
4655 
4656 __extension__ extern __inline int16x4_t
4657 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s32(int32x4_t __a,const int __b)4658 vqrshrn_n_s32 (int32x4_t __a, const int __b)
4659 {
4660   return (int16x4_t)__builtin_neon_vqrshrns_nv4si (__a, __b);
4661 }
4662 
4663 __extension__ extern __inline int32x2_t
4664 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s64(int64x2_t __a,const int __b)4665 vqrshrn_n_s64 (int64x2_t __a, const int __b)
4666 {
4667   return (int32x2_t)__builtin_neon_vqrshrns_nv2di (__a, __b);
4668 }
4669 
4670 __extension__ extern __inline uint8x8_t
4671 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u16(uint16x8_t __a,const int __b)4672 vqrshrn_n_u16 (uint16x8_t __a, const int __b)
4673 {
4674   return (uint8x8_t)__builtin_neon_vqrshrnu_nv8hi ((int16x8_t) __a, __b);
4675 }
4676 
4677 __extension__ extern __inline uint16x4_t
4678 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u32(uint32x4_t __a,const int __b)4679 vqrshrn_n_u32 (uint32x4_t __a, const int __b)
4680 {
4681   return (uint16x4_t)__builtin_neon_vqrshrnu_nv4si ((int32x4_t) __a, __b);
4682 }
4683 
4684 __extension__ extern __inline uint32x2_t
4685 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u64(uint64x2_t __a,const int __b)4686 vqrshrn_n_u64 (uint64x2_t __a, const int __b)
4687 {
4688   return (uint32x2_t)__builtin_neon_vqrshrnu_nv2di ((int64x2_t) __a, __b);
4689 }
4690 
4691 __extension__ extern __inline uint8x8_t
4692 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s16(int16x8_t __a,const int __b)4693 vqshrun_n_s16 (int16x8_t __a, const int __b)
4694 {
4695   return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b);
4696 }
4697 
4698 __extension__ extern __inline uint16x4_t
4699 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s32(int32x4_t __a,const int __b)4700 vqshrun_n_s32 (int32x4_t __a, const int __b)
4701 {
4702   return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b);
4703 }
4704 
4705 __extension__ extern __inline uint32x2_t
4706 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s64(int64x2_t __a,const int __b)4707 vqshrun_n_s64 (int64x2_t __a, const int __b)
4708 {
4709   return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b);
4710 }
4711 
4712 __extension__ extern __inline uint8x8_t
4713 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s16(int16x8_t __a,const int __b)4714 vqrshrun_n_s16 (int16x8_t __a, const int __b)
4715 {
4716   return (uint8x8_t)__builtin_neon_vqrshrun_nv8hi (__a, __b);
4717 }
4718 
4719 __extension__ extern __inline uint16x4_t
4720 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s32(int32x4_t __a,const int __b)4721 vqrshrun_n_s32 (int32x4_t __a, const int __b)
4722 {
4723   return (uint16x4_t)__builtin_neon_vqrshrun_nv4si (__a, __b);
4724 }
4725 
4726 __extension__ extern __inline uint32x2_t
4727 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s64(int64x2_t __a,const int __b)4728 vqrshrun_n_s64 (int64x2_t __a, const int __b)
4729 {
4730   return (uint32x2_t)__builtin_neon_vqrshrun_nv2di (__a, __b);
4731 }
4732 
4733 __extension__ extern __inline int8x8_t
4734 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s8(int8x8_t __a,const int __b)4735 vshl_n_s8 (int8x8_t __a, const int __b)
4736 {
4737   return (int8x8_t)__builtin_neon_vshl_nv8qi (__a, __b);
4738 }
4739 
4740 __extension__ extern __inline int16x4_t
4741 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s16(int16x4_t __a,const int __b)4742 vshl_n_s16 (int16x4_t __a, const int __b)
4743 {
4744   return (int16x4_t)__builtin_neon_vshl_nv4hi (__a, __b);
4745 }
4746 
4747 __extension__ extern __inline int32x2_t
4748 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s32(int32x2_t __a,const int __b)4749 vshl_n_s32 (int32x2_t __a, const int __b)
4750 {
4751   return (int32x2_t)__builtin_neon_vshl_nv2si (__a, __b);
4752 }
4753 
4754 __extension__ extern __inline int64x1_t
4755 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s64(int64x1_t __a,const int __b)4756 vshl_n_s64 (int64x1_t __a, const int __b)
4757 {
4758   return (int64x1_t)__builtin_neon_vshl_ndi (__a, __b);
4759 }
4760 
4761 __extension__ extern __inline uint8x8_t
4762 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u8(uint8x8_t __a,const int __b)4763 vshl_n_u8 (uint8x8_t __a, const int __b)
4764 {
4765   return (uint8x8_t)__builtin_neon_vshl_nv8qi ((int8x8_t) __a, __b);
4766 }
4767 
4768 __extension__ extern __inline uint16x4_t
4769 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u16(uint16x4_t __a,const int __b)4770 vshl_n_u16 (uint16x4_t __a, const int __b)
4771 {
4772   return (uint16x4_t)__builtin_neon_vshl_nv4hi ((int16x4_t) __a, __b);
4773 }
4774 
4775 __extension__ extern __inline uint32x2_t
4776 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u32(uint32x2_t __a,const int __b)4777 vshl_n_u32 (uint32x2_t __a, const int __b)
4778 {
4779   return (uint32x2_t)__builtin_neon_vshl_nv2si ((int32x2_t) __a, __b);
4780 }
4781 
4782 __extension__ extern __inline uint64x1_t
4783 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u64(uint64x1_t __a,const int __b)4784 vshl_n_u64 (uint64x1_t __a, const int __b)
4785 {
4786   return (uint64x1_t)__builtin_neon_vshl_ndi ((int64x1_t) __a, __b);
4787 }
4788 
4789 __extension__ extern __inline int8x16_t
4790 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s8(int8x16_t __a,const int __b)4791 vshlq_n_s8 (int8x16_t __a, const int __b)
4792 {
4793   return (int8x16_t)__builtin_neon_vshl_nv16qi (__a, __b);
4794 }
4795 
4796 __extension__ extern __inline int16x8_t
4797 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s16(int16x8_t __a,const int __b)4798 vshlq_n_s16 (int16x8_t __a, const int __b)
4799 {
4800   return (int16x8_t)__builtin_neon_vshl_nv8hi (__a, __b);
4801 }
4802 
4803 __extension__ extern __inline int32x4_t
4804 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s32(int32x4_t __a,const int __b)4805 vshlq_n_s32 (int32x4_t __a, const int __b)
4806 {
4807   return (int32x4_t)__builtin_neon_vshl_nv4si (__a, __b);
4808 }
4809 
4810 __extension__ extern __inline int64x2_t
4811 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s64(int64x2_t __a,const int __b)4812 vshlq_n_s64 (int64x2_t __a, const int __b)
4813 {
4814   return (int64x2_t)__builtin_neon_vshl_nv2di (__a, __b);
4815 }
4816 
4817 __extension__ extern __inline uint8x16_t
4818 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u8(uint8x16_t __a,const int __b)4819 vshlq_n_u8 (uint8x16_t __a, const int __b)
4820 {
4821   return (uint8x16_t)__builtin_neon_vshl_nv16qi ((int8x16_t) __a, __b);
4822 }
4823 
4824 __extension__ extern __inline uint16x8_t
4825 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u16(uint16x8_t __a,const int __b)4826 vshlq_n_u16 (uint16x8_t __a, const int __b)
4827 {
4828   return (uint16x8_t)__builtin_neon_vshl_nv8hi ((int16x8_t) __a, __b);
4829 }
4830 
4831 __extension__ extern __inline uint32x4_t
4832 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u32(uint32x4_t __a,const int __b)4833 vshlq_n_u32 (uint32x4_t __a, const int __b)
4834 {
4835   return (uint32x4_t)__builtin_neon_vshl_nv4si ((int32x4_t) __a, __b);
4836 }
4837 
4838 __extension__ extern __inline uint64x2_t
4839 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u64(uint64x2_t __a,const int __b)4840 vshlq_n_u64 (uint64x2_t __a, const int __b)
4841 {
4842   return (uint64x2_t)__builtin_neon_vshl_nv2di ((int64x2_t) __a, __b);
4843 }
4844 
4845 __extension__ extern __inline int8x8_t
4846 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s8(int8x8_t __a,const int __b)4847 vqshl_n_s8 (int8x8_t __a, const int __b)
4848 {
4849   return (int8x8_t)__builtin_neon_vqshl_s_nv8qi (__a, __b);
4850 }
4851 
4852 __extension__ extern __inline int16x4_t
4853 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s16(int16x4_t __a,const int __b)4854 vqshl_n_s16 (int16x4_t __a, const int __b)
4855 {
4856   return (int16x4_t)__builtin_neon_vqshl_s_nv4hi (__a, __b);
4857 }
4858 
4859 __extension__ extern __inline int32x2_t
4860 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s32(int32x2_t __a,const int __b)4861 vqshl_n_s32 (int32x2_t __a, const int __b)
4862 {
4863   return (int32x2_t)__builtin_neon_vqshl_s_nv2si (__a, __b);
4864 }
4865 
4866 __extension__ extern __inline int64x1_t
4867 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s64(int64x1_t __a,const int __b)4868 vqshl_n_s64 (int64x1_t __a, const int __b)
4869 {
4870   return (int64x1_t)__builtin_neon_vqshl_s_ndi (__a, __b);
4871 }
4872 
4873 __extension__ extern __inline uint8x8_t
4874 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u8(uint8x8_t __a,const int __b)4875 vqshl_n_u8 (uint8x8_t __a, const int __b)
4876 {
4877   return (uint8x8_t)__builtin_neon_vqshl_u_nv8qi ((int8x8_t) __a, __b);
4878 }
4879 
4880 __extension__ extern __inline uint16x4_t
4881 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u16(uint16x4_t __a,const int __b)4882 vqshl_n_u16 (uint16x4_t __a, const int __b)
4883 {
4884   return (uint16x4_t)__builtin_neon_vqshl_u_nv4hi ((int16x4_t) __a, __b);
4885 }
4886 
4887 __extension__ extern __inline uint32x2_t
4888 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u32(uint32x2_t __a,const int __b)4889 vqshl_n_u32 (uint32x2_t __a, const int __b)
4890 {
4891   return (uint32x2_t)__builtin_neon_vqshl_u_nv2si ((int32x2_t) __a, __b);
4892 }
4893 
4894 __extension__ extern __inline uint64x1_t
4895 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u64(uint64x1_t __a,const int __b)4896 vqshl_n_u64 (uint64x1_t __a, const int __b)
4897 {
4898   return (uint64x1_t)__builtin_neon_vqshl_u_ndi ((int64x1_t) __a, __b);
4899 }
4900 
4901 __extension__ extern __inline int8x16_t
4902 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s8(int8x16_t __a,const int __b)4903 vqshlq_n_s8 (int8x16_t __a, const int __b)
4904 {
4905   return (int8x16_t)__builtin_neon_vqshl_s_nv16qi (__a, __b);
4906 }
4907 
4908 __extension__ extern __inline int16x8_t
4909 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s16(int16x8_t __a,const int __b)4910 vqshlq_n_s16 (int16x8_t __a, const int __b)
4911 {
4912   return (int16x8_t)__builtin_neon_vqshl_s_nv8hi (__a, __b);
4913 }
4914 
4915 __extension__ extern __inline int32x4_t
4916 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s32(int32x4_t __a,const int __b)4917 vqshlq_n_s32 (int32x4_t __a, const int __b)
4918 {
4919   return (int32x4_t)__builtin_neon_vqshl_s_nv4si (__a, __b);
4920 }
4921 
4922 __extension__ extern __inline int64x2_t
4923 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s64(int64x2_t __a,const int __b)4924 vqshlq_n_s64 (int64x2_t __a, const int __b)
4925 {
4926   return (int64x2_t)__builtin_neon_vqshl_s_nv2di (__a, __b);
4927 }
4928 
4929 __extension__ extern __inline uint8x16_t
4930 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u8(uint8x16_t __a,const int __b)4931 vqshlq_n_u8 (uint8x16_t __a, const int __b)
4932 {
4933   return (uint8x16_t)__builtin_neon_vqshl_u_nv16qi ((int8x16_t) __a, __b);
4934 }
4935 
4936 __extension__ extern __inline uint16x8_t
4937 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u16(uint16x8_t __a,const int __b)4938 vqshlq_n_u16 (uint16x8_t __a, const int __b)
4939 {
4940   return (uint16x8_t)__builtin_neon_vqshl_u_nv8hi ((int16x8_t) __a, __b);
4941 }
4942 
4943 __extension__ extern __inline uint32x4_t
4944 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u32(uint32x4_t __a,const int __b)4945 vqshlq_n_u32 (uint32x4_t __a, const int __b)
4946 {
4947   return (uint32x4_t)__builtin_neon_vqshl_u_nv4si ((int32x4_t) __a, __b);
4948 }
4949 
4950 __extension__ extern __inline uint64x2_t
4951 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u64(uint64x2_t __a,const int __b)4952 vqshlq_n_u64 (uint64x2_t __a, const int __b)
4953 {
4954   return (uint64x2_t)__builtin_neon_vqshl_u_nv2di ((int64x2_t) __a, __b);
4955 }
4956 
4957 __extension__ extern __inline uint8x8_t
4958 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s8(int8x8_t __a,const int __b)4959 vqshlu_n_s8 (int8x8_t __a, const int __b)
4960 {
4961   return (uint8x8_t)__builtin_neon_vqshlu_nv8qi (__a, __b);
4962 }
4963 
4964 __extension__ extern __inline uint16x4_t
4965 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s16(int16x4_t __a,const int __b)4966 vqshlu_n_s16 (int16x4_t __a, const int __b)
4967 {
4968   return (uint16x4_t)__builtin_neon_vqshlu_nv4hi (__a, __b);
4969 }
4970 
4971 __extension__ extern __inline uint32x2_t
4972 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s32(int32x2_t __a,const int __b)4973 vqshlu_n_s32 (int32x2_t __a, const int __b)
4974 {
4975   return (uint32x2_t)__builtin_neon_vqshlu_nv2si (__a, __b);
4976 }
4977 
4978 __extension__ extern __inline uint64x1_t
4979 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s64(int64x1_t __a,const int __b)4980 vqshlu_n_s64 (int64x1_t __a, const int __b)
4981 {
4982   return (uint64x1_t)__builtin_neon_vqshlu_ndi (__a, __b);
4983 }
4984 
4985 __extension__ extern __inline uint8x16_t
4986 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s8(int8x16_t __a,const int __b)4987 vqshluq_n_s8 (int8x16_t __a, const int __b)
4988 {
4989   return (uint8x16_t)__builtin_neon_vqshlu_nv16qi (__a, __b);
4990 }
4991 
4992 __extension__ extern __inline uint16x8_t
4993 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s16(int16x8_t __a,const int __b)4994 vqshluq_n_s16 (int16x8_t __a, const int __b)
4995 {
4996   return (uint16x8_t)__builtin_neon_vqshlu_nv8hi (__a, __b);
4997 }
4998 
4999 __extension__ extern __inline uint32x4_t
5000 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s32(int32x4_t __a,const int __b)5001 vqshluq_n_s32 (int32x4_t __a, const int __b)
5002 {
5003   return (uint32x4_t)__builtin_neon_vqshlu_nv4si (__a, __b);
5004 }
5005 
5006 __extension__ extern __inline uint64x2_t
5007 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s64(int64x2_t __a,const int __b)5008 vqshluq_n_s64 (int64x2_t __a, const int __b)
5009 {
5010   return (uint64x2_t)__builtin_neon_vqshlu_nv2di (__a, __b);
5011 }
5012 
5013 __extension__ extern __inline int16x8_t
5014 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s8(int8x8_t __a,const int __b)5015 vshll_n_s8 (int8x8_t __a, const int __b)
5016 {
5017   return (int16x8_t)__builtin_neon_vshlls_nv8qi (__a, __b);
5018 }
5019 
5020 __extension__ extern __inline int32x4_t
5021 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s16(int16x4_t __a,const int __b)5022 vshll_n_s16 (int16x4_t __a, const int __b)
5023 {
5024   return (int32x4_t)__builtin_neon_vshlls_nv4hi (__a, __b);
5025 }
5026 
5027 __extension__ extern __inline int64x2_t
5028 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s32(int32x2_t __a,const int __b)5029 vshll_n_s32 (int32x2_t __a, const int __b)
5030 {
5031   return (int64x2_t)__builtin_neon_vshlls_nv2si (__a, __b);
5032 }
5033 
5034 __extension__ extern __inline uint16x8_t
5035 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u8(uint8x8_t __a,const int __b)5036 vshll_n_u8 (uint8x8_t __a, const int __b)
5037 {
5038   return (uint16x8_t)__builtin_neon_vshllu_nv8qi ((int8x8_t) __a, __b);
5039 }
5040 
5041 __extension__ extern __inline uint32x4_t
5042 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u16(uint16x4_t __a,const int __b)5043 vshll_n_u16 (uint16x4_t __a, const int __b)
5044 {
5045   return (uint32x4_t)__builtin_neon_vshllu_nv4hi ((int16x4_t) __a, __b);
5046 }
5047 
5048 __extension__ extern __inline uint64x2_t
5049 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u32(uint32x2_t __a,const int __b)5050 vshll_n_u32 (uint32x2_t __a, const int __b)
5051 {
5052   return (uint64x2_t)__builtin_neon_vshllu_nv2si ((int32x2_t) __a, __b);
5053 }
5054 
5055 __extension__ extern __inline int8x8_t
5056 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)5057 vsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
5058 {
5059   return (int8x8_t)__builtin_neon_vsras_nv8qi (__a, __b, __c);
5060 }
5061 
5062 __extension__ extern __inline int16x4_t
5063 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)5064 vsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
5065 {
5066   return (int16x4_t)__builtin_neon_vsras_nv4hi (__a, __b, __c);
5067 }
5068 
5069 __extension__ extern __inline int32x2_t
5070 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)5071 vsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
5072 {
5073   return (int32x2_t)__builtin_neon_vsras_nv2si (__a, __b, __c);
5074 }
5075 
5076 __extension__ extern __inline int64x1_t
5077 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)5078 vsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
5079 {
5080   return (int64x1_t)__builtin_neon_vsras_ndi (__a, __b, __c);
5081 }
5082 
5083 __extension__ extern __inline uint8x8_t
5084 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)5085 vsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
5086 {
5087   return (uint8x8_t)__builtin_neon_vsrau_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
5088 }
5089 
5090 __extension__ extern __inline uint16x4_t
5091 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)5092 vsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
5093 {
5094   return (uint16x4_t)__builtin_neon_vsrau_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
5095 }
5096 
5097 __extension__ extern __inline uint32x2_t
5098 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)5099 vsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
5100 {
5101   return (uint32x2_t)__builtin_neon_vsrau_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
5102 }
5103 
5104 __extension__ extern __inline uint64x1_t
5105 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)5106 vsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
5107 {
5108   return (uint64x1_t)__builtin_neon_vsrau_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
5109 }
5110 
5111 __extension__ extern __inline int8x16_t
5112 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)5113 vsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
5114 {
5115   return (int8x16_t)__builtin_neon_vsras_nv16qi (__a, __b, __c);
5116 }
5117 
5118 __extension__ extern __inline int16x8_t
5119 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)5120 vsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
5121 {
5122   return (int16x8_t)__builtin_neon_vsras_nv8hi (__a, __b, __c);
5123 }
5124 
5125 __extension__ extern __inline int32x4_t
5126 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)5127 vsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
5128 {
5129   return (int32x4_t)__builtin_neon_vsras_nv4si (__a, __b, __c);
5130 }
5131 
5132 __extension__ extern __inline int64x2_t
5133 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)5134 vsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
5135 {
5136   return (int64x2_t)__builtin_neon_vsras_nv2di (__a, __b, __c);
5137 }
5138 
5139 __extension__ extern __inline uint8x16_t
5140 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)5141 vsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
5142 {
5143   return (uint8x16_t)__builtin_neon_vsrau_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
5144 }
5145 
5146 __extension__ extern __inline uint16x8_t
5147 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)5148 vsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
5149 {
5150   return (uint16x8_t)__builtin_neon_vsrau_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
5151 }
5152 
5153 __extension__ extern __inline uint32x4_t
5154 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)5155 vsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
5156 {
5157   return (uint32x4_t)__builtin_neon_vsrau_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
5158 }
5159 
5160 __extension__ extern __inline uint64x2_t
5161 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)5162 vsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
5163 {
5164   return (uint64x2_t)__builtin_neon_vsrau_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
5165 }
5166 
5167 __extension__ extern __inline int8x8_t
5168 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)5169 vrsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
5170 {
5171   return (int8x8_t)__builtin_neon_vrsras_nv8qi (__a, __b, __c);
5172 }
5173 
5174 __extension__ extern __inline int16x4_t
5175 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)5176 vrsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
5177 {
5178   return (int16x4_t)__builtin_neon_vrsras_nv4hi (__a, __b, __c);
5179 }
5180 
5181 __extension__ extern __inline int32x2_t
5182 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)5183 vrsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
5184 {
5185   return (int32x2_t)__builtin_neon_vrsras_nv2si (__a, __b, __c);
5186 }
5187 
5188 __extension__ extern __inline int64x1_t
5189 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)5190 vrsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
5191 {
5192   return (int64x1_t)__builtin_neon_vrsras_ndi (__a, __b, __c);
5193 }
5194 
5195 __extension__ extern __inline uint8x8_t
5196 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)5197 vrsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
5198 {
5199   return (uint8x8_t)__builtin_neon_vrsrau_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
5200 }
5201 
5202 __extension__ extern __inline uint16x4_t
5203 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)5204 vrsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
5205 {
5206   return (uint16x4_t)__builtin_neon_vrsrau_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
5207 }
5208 
5209 __extension__ extern __inline uint32x2_t
5210 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)5211 vrsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
5212 {
5213   return (uint32x2_t)__builtin_neon_vrsrau_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
5214 }
5215 
5216 __extension__ extern __inline uint64x1_t
5217 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)5218 vrsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
5219 {
5220   return (uint64x1_t)__builtin_neon_vrsrau_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
5221 }
5222 
5223 __extension__ extern __inline int8x16_t
5224 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)5225 vrsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
5226 {
5227   return (int8x16_t)__builtin_neon_vrsras_nv16qi (__a, __b, __c);
5228 }
5229 
5230 __extension__ extern __inline int16x8_t
5231 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)5232 vrsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
5233 {
5234   return (int16x8_t)__builtin_neon_vrsras_nv8hi (__a, __b, __c);
5235 }
5236 
5237 __extension__ extern __inline int32x4_t
5238 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)5239 vrsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
5240 {
5241   return (int32x4_t)__builtin_neon_vrsras_nv4si (__a, __b, __c);
5242 }
5243 
5244 __extension__ extern __inline int64x2_t
5245 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)5246 vrsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
5247 {
5248   return (int64x2_t)__builtin_neon_vrsras_nv2di (__a, __b, __c);
5249 }
5250 
5251 __extension__ extern __inline uint8x16_t
5252 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)5253 vrsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
5254 {
5255   return (uint8x16_t)__builtin_neon_vrsrau_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
5256 }
5257 
5258 __extension__ extern __inline uint16x8_t
5259 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)5260 vrsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
5261 {
5262   return (uint16x8_t)__builtin_neon_vrsrau_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
5263 }
5264 
5265 __extension__ extern __inline uint32x4_t
5266 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)5267 vrsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
5268 {
5269   return (uint32x4_t)__builtin_neon_vrsrau_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
5270 }
5271 
5272 __extension__ extern __inline uint64x2_t
5273 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)5274 vrsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
5275 {
5276   return (uint64x2_t)__builtin_neon_vrsrau_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
5277 }
5278 
5279 #pragma GCC push_options
5280 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
5281 __extension__ extern __inline poly64x1_t
5282 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_p64(poly64x1_t __a,poly64x1_t __b,const int __c)5283 vsri_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
5284 {
5285   return (poly64x1_t)__builtin_neon_vsri_ndi (__a, __b, __c);
5286 }
5287 
5288 #pragma GCC pop_options
5289 __extension__ extern __inline int8x8_t
5290 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s8(int8x8_t __a,int8x8_t __b,const int __c)5291 vsri_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
5292 {
5293   return (int8x8_t)__builtin_neon_vsri_nv8qi (__a, __b, __c);
5294 }
5295 
5296 __extension__ extern __inline int16x4_t
5297 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s16(int16x4_t __a,int16x4_t __b,const int __c)5298 vsri_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
5299 {
5300   return (int16x4_t)__builtin_neon_vsri_nv4hi (__a, __b, __c);
5301 }
5302 
5303 __extension__ extern __inline int32x2_t
5304 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s32(int32x2_t __a,int32x2_t __b,const int __c)5305 vsri_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
5306 {
5307   return (int32x2_t)__builtin_neon_vsri_nv2si (__a, __b, __c);
5308 }
5309 
5310 __extension__ extern __inline int64x1_t
5311 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s64(int64x1_t __a,int64x1_t __b,const int __c)5312 vsri_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
5313 {
5314   return (int64x1_t)__builtin_neon_vsri_ndi (__a, __b, __c);
5315 }
5316 
5317 __extension__ extern __inline uint8x8_t
5318 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)5319 vsri_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
5320 {
5321   return (uint8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
5322 }
5323 
5324 __extension__ extern __inline uint16x4_t
5325 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)5326 vsri_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
5327 {
5328   return (uint16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
5329 }
5330 
5331 __extension__ extern __inline uint32x2_t
5332 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)5333 vsri_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
5334 {
5335   return (uint32x2_t)__builtin_neon_vsri_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
5336 }
5337 
5338 __extension__ extern __inline uint64x1_t
5339 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)5340 vsri_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
5341 {
5342   return (uint64x1_t)__builtin_neon_vsri_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
5343 }
5344 
5345 __extension__ extern __inline poly8x8_t
5346 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_p8(poly8x8_t __a,poly8x8_t __b,const int __c)5347 vsri_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
5348 {
5349   return (poly8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
5350 }
5351 
5352 __extension__ extern __inline poly16x4_t
5353 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_p16(poly16x4_t __a,poly16x4_t __b,const int __c)5354 vsri_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
5355 {
5356   return (poly16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
5357 }
5358 
5359 #pragma GCC push_options
5360 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
5361 __extension__ extern __inline poly64x2_t
5362 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_p64(poly64x2_t __a,poly64x2_t __b,const int __c)5363 vsriq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
5364 {
5365   return (poly64x2_t)__builtin_neon_vsri_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
5366 }
5367 
5368 #pragma GCC pop_options
5369 __extension__ extern __inline int8x16_t
5370 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)5371 vsriq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
5372 {
5373   return (int8x16_t)__builtin_neon_vsri_nv16qi (__a, __b, __c);
5374 }
5375 
5376 __extension__ extern __inline int16x8_t
5377 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)5378 vsriq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
5379 {
5380   return (int16x8_t)__builtin_neon_vsri_nv8hi (__a, __b, __c);
5381 }
5382 
5383 __extension__ extern __inline int32x4_t
5384 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)5385 vsriq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
5386 {
5387   return (int32x4_t)__builtin_neon_vsri_nv4si (__a, __b, __c);
5388 }
5389 
5390 __extension__ extern __inline int64x2_t
5391 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)5392 vsriq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
5393 {
5394   return (int64x2_t)__builtin_neon_vsri_nv2di (__a, __b, __c);
5395 }
5396 
5397 __extension__ extern __inline uint8x16_t
5398 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)5399 vsriq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
5400 {
5401   return (uint8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
5402 }
5403 
5404 __extension__ extern __inline uint16x8_t
5405 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)5406 vsriq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
5407 {
5408   return (uint16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
5409 }
5410 
5411 __extension__ extern __inline uint32x4_t
5412 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)5413 vsriq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
5414 {
5415   return (uint32x4_t)__builtin_neon_vsri_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
5416 }
5417 
5418 __extension__ extern __inline uint64x2_t
5419 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)5420 vsriq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
5421 {
5422   return (uint64x2_t)__builtin_neon_vsri_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
5423 }
5424 
5425 __extension__ extern __inline poly8x16_t
5426 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_p8(poly8x16_t __a,poly8x16_t __b,const int __c)5427 vsriq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
5428 {
5429   return (poly8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
5430 }
5431 
5432 __extension__ extern __inline poly16x8_t
5433 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_p16(poly16x8_t __a,poly16x8_t __b,const int __c)5434 vsriq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
5435 {
5436   return (poly16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
5437 }
5438 
5439 #pragma GCC push_options
5440 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
5441 __extension__ extern __inline poly64x1_t
5442 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_p64(poly64x1_t __a,poly64x1_t __b,const int __c)5443 vsli_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
5444 {
5445   return (poly64x1_t)__builtin_neon_vsli_ndi (__a, __b, __c);
5446 }
5447 
5448 #pragma GCC pop_options
5449 __extension__ extern __inline int8x8_t
5450 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s8(int8x8_t __a,int8x8_t __b,const int __c)5451 vsli_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
5452 {
5453   return (int8x8_t)__builtin_neon_vsli_nv8qi (__a, __b, __c);
5454 }
5455 
5456 __extension__ extern __inline int16x4_t
5457 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s16(int16x4_t __a,int16x4_t __b,const int __c)5458 vsli_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
5459 {
5460   return (int16x4_t)__builtin_neon_vsli_nv4hi (__a, __b, __c);
5461 }
5462 
5463 __extension__ extern __inline int32x2_t
5464 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s32(int32x2_t __a,int32x2_t __b,const int __c)5465 vsli_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
5466 {
5467   return (int32x2_t)__builtin_neon_vsli_nv2si (__a, __b, __c);
5468 }
5469 
5470 __extension__ extern __inline int64x1_t
5471 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s64(int64x1_t __a,int64x1_t __b,const int __c)5472 vsli_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
5473 {
5474   return (int64x1_t)__builtin_neon_vsli_ndi (__a, __b, __c);
5475 }
5476 
5477 __extension__ extern __inline uint8x8_t
5478 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)5479 vsli_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
5480 {
5481   return (uint8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
5482 }
5483 
5484 __extension__ extern __inline uint16x4_t
5485 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)5486 vsli_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
5487 {
5488   return (uint16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
5489 }
5490 
5491 __extension__ extern __inline uint32x2_t
5492 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)5493 vsli_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
5494 {
5495   return (uint32x2_t)__builtin_neon_vsli_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
5496 }
5497 
5498 __extension__ extern __inline uint64x1_t
5499 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)5500 vsli_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
5501 {
5502   return (uint64x1_t)__builtin_neon_vsli_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
5503 }
5504 
5505 __extension__ extern __inline poly8x8_t
5506 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_p8(poly8x8_t __a,poly8x8_t __b,const int __c)5507 vsli_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
5508 {
5509   return (poly8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
5510 }
5511 
5512 __extension__ extern __inline poly16x4_t
5513 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_p16(poly16x4_t __a,poly16x4_t __b,const int __c)5514 vsli_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
5515 {
5516   return (poly16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
5517 }
5518 
5519 #pragma GCC push_options
5520 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
5521 __extension__ extern __inline poly64x2_t
5522 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_p64(poly64x2_t __a,poly64x2_t __b,const int __c)5523 vsliq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
5524 {
5525   return (poly64x2_t)__builtin_neon_vsli_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
5526 }
5527 
5528 #pragma GCC pop_options
5529 __extension__ extern __inline int8x16_t
5530 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)5531 vsliq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
5532 {
5533   return (int8x16_t)__builtin_neon_vsli_nv16qi (__a, __b, __c);
5534 }
5535 
5536 __extension__ extern __inline int16x8_t
5537 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)5538 vsliq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
5539 {
5540   return (int16x8_t)__builtin_neon_vsli_nv8hi (__a, __b, __c);
5541 }
5542 
5543 __extension__ extern __inline int32x4_t
5544 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)5545 vsliq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
5546 {
5547   return (int32x4_t)__builtin_neon_vsli_nv4si (__a, __b, __c);
5548 }
5549 
5550 __extension__ extern __inline int64x2_t
5551 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)5552 vsliq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
5553 {
5554   return (int64x2_t)__builtin_neon_vsli_nv2di (__a, __b, __c);
5555 }
5556 
5557 __extension__ extern __inline uint8x16_t
5558 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)5559 vsliq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
5560 {
5561   return (uint8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
5562 }
5563 
5564 __extension__ extern __inline uint16x8_t
5565 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)5566 vsliq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
5567 {
5568   return (uint16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
5569 }
5570 
5571 __extension__ extern __inline uint32x4_t
5572 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)5573 vsliq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
5574 {
5575   return (uint32x4_t)__builtin_neon_vsli_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
5576 }
5577 
5578 __extension__ extern __inline uint64x2_t
5579 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)5580 vsliq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
5581 {
5582   return (uint64x2_t)__builtin_neon_vsli_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
5583 }
5584 
5585 __extension__ extern __inline poly8x16_t
5586 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_p8(poly8x16_t __a,poly8x16_t __b,const int __c)5587 vsliq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
5588 {
5589   return (poly8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
5590 }
5591 
5592 __extension__ extern __inline poly16x8_t
5593 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_p16(poly16x8_t __a,poly16x8_t __b,const int __c)5594 vsliq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
5595 {
5596   return (poly16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
5597 }
5598 
5599 __extension__ extern __inline int8x8_t
5600 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s8(int8x8_t __a)5601 vabs_s8 (int8x8_t __a)
5602 {
5603   return (int8x8_t)__builtin_neon_vabsv8qi (__a);
5604 }
5605 
5606 __extension__ extern __inline int16x4_t
5607 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s16(int16x4_t __a)5608 vabs_s16 (int16x4_t __a)
5609 {
5610   return (int16x4_t)__builtin_neon_vabsv4hi (__a);
5611 }
5612 
5613 __extension__ extern __inline int32x2_t
5614 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s32(int32x2_t __a)5615 vabs_s32 (int32x2_t __a)
5616 {
5617   return (int32x2_t)__builtin_neon_vabsv2si (__a);
5618 }
5619 
5620 __extension__ extern __inline float32x2_t
5621 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabs_f32(float32x2_t __a)5622 vabs_f32 (float32x2_t __a)
5623 {
5624   return (float32x2_t)__builtin_neon_vabsv2sf (__a);
5625 }
5626 
5627 __extension__ extern __inline int8x16_t
5628 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s8(int8x16_t __a)5629 vabsq_s8 (int8x16_t __a)
5630 {
5631   return (int8x16_t)__builtin_neon_vabsv16qi (__a);
5632 }
5633 
5634 __extension__ extern __inline int16x8_t
5635 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s16(int16x8_t __a)5636 vabsq_s16 (int16x8_t __a)
5637 {
5638   return (int16x8_t)__builtin_neon_vabsv8hi (__a);
5639 }
5640 
5641 __extension__ extern __inline int32x4_t
5642 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s32(int32x4_t __a)5643 vabsq_s32 (int32x4_t __a)
5644 {
5645   return (int32x4_t)__builtin_neon_vabsv4si (__a);
5646 }
5647 
5648 __extension__ extern __inline float32x4_t
5649 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_f32(float32x4_t __a)5650 vabsq_f32 (float32x4_t __a)
5651 {
5652   return (float32x4_t)__builtin_neon_vabsv4sf (__a);
5653 }
5654 
5655 __extension__ extern __inline int8x8_t
5656 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s8(int8x8_t __a)5657 vqabs_s8 (int8x8_t __a)
5658 {
5659   return (int8x8_t)__builtin_neon_vqabsv8qi (__a);
5660 }
5661 
5662 __extension__ extern __inline int16x4_t
5663 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s16(int16x4_t __a)5664 vqabs_s16 (int16x4_t __a)
5665 {
5666   return (int16x4_t)__builtin_neon_vqabsv4hi (__a);
5667 }
5668 
5669 __extension__ extern __inline int32x2_t
5670 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s32(int32x2_t __a)5671 vqabs_s32 (int32x2_t __a)
5672 {
5673   return (int32x2_t)__builtin_neon_vqabsv2si (__a);
5674 }
5675 
5676 __extension__ extern __inline int8x16_t
5677 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s8(int8x16_t __a)5678 vqabsq_s8 (int8x16_t __a)
5679 {
5680   return (int8x16_t)__builtin_neon_vqabsv16qi (__a);
5681 }
5682 
5683 __extension__ extern __inline int16x8_t
5684 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s16(int16x8_t __a)5685 vqabsq_s16 (int16x8_t __a)
5686 {
5687   return (int16x8_t)__builtin_neon_vqabsv8hi (__a);
5688 }
5689 
5690 __extension__ extern __inline int32x4_t
5691 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s32(int32x4_t __a)5692 vqabsq_s32 (int32x4_t __a)
5693 {
5694   return (int32x4_t)__builtin_neon_vqabsv4si (__a);
5695 }
5696 
5697 __extension__ extern __inline int8x8_t
5698 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s8(int8x8_t __a)5699 vneg_s8 (int8x8_t __a)
5700 {
5701   return (int8x8_t)__builtin_neon_vnegv8qi (__a);
5702 }
5703 
5704 __extension__ extern __inline int16x4_t
5705 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s16(int16x4_t __a)5706 vneg_s16 (int16x4_t __a)
5707 {
5708   return (int16x4_t)__builtin_neon_vnegv4hi (__a);
5709 }
5710 
5711 __extension__ extern __inline int32x2_t
5712 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s32(int32x2_t __a)5713 vneg_s32 (int32x2_t __a)
5714 {
5715   return (int32x2_t)__builtin_neon_vnegv2si (__a);
5716 }
5717 
5718 __extension__ extern __inline float32x2_t
5719 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vneg_f32(float32x2_t __a)5720 vneg_f32 (float32x2_t __a)
5721 {
5722   return (float32x2_t)__builtin_neon_vnegv2sf (__a);
5723 }
5724 
5725 __extension__ extern __inline int8x16_t
5726 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s8(int8x16_t __a)5727 vnegq_s8 (int8x16_t __a)
5728 {
5729   return (int8x16_t)__builtin_neon_vnegv16qi (__a);
5730 }
5731 
5732 __extension__ extern __inline int16x8_t
5733 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s16(int16x8_t __a)5734 vnegq_s16 (int16x8_t __a)
5735 {
5736   return (int16x8_t)__builtin_neon_vnegv8hi (__a);
5737 }
5738 
5739 __extension__ extern __inline int32x4_t
5740 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s32(int32x4_t __a)5741 vnegq_s32 (int32x4_t __a)
5742 {
5743   return (int32x4_t)__builtin_neon_vnegv4si (__a);
5744 }
5745 
5746 __extension__ extern __inline float32x4_t
5747 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_f32(float32x4_t __a)5748 vnegq_f32 (float32x4_t __a)
5749 {
5750   return (float32x4_t)__builtin_neon_vnegv4sf (__a);
5751 }
5752 
5753 __extension__ extern __inline int8x8_t
5754 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s8(int8x8_t __a)5755 vqneg_s8 (int8x8_t __a)
5756 {
5757   return (int8x8_t)__builtin_neon_vqnegv8qi (__a);
5758 }
5759 
5760 __extension__ extern __inline int16x4_t
5761 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s16(int16x4_t __a)5762 vqneg_s16 (int16x4_t __a)
5763 {
5764   return (int16x4_t)__builtin_neon_vqnegv4hi (__a);
5765 }
5766 
5767 __extension__ extern __inline int32x2_t
5768 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s32(int32x2_t __a)5769 vqneg_s32 (int32x2_t __a)
5770 {
5771   return (int32x2_t)__builtin_neon_vqnegv2si (__a);
5772 }
5773 
5774 __extension__ extern __inline int8x16_t
5775 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s8(int8x16_t __a)5776 vqnegq_s8 (int8x16_t __a)
5777 {
5778   return (int8x16_t)__builtin_neon_vqnegv16qi (__a);
5779 }
5780 
5781 __extension__ extern __inline int16x8_t
5782 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s16(int16x8_t __a)5783 vqnegq_s16 (int16x8_t __a)
5784 {
5785   return (int16x8_t)__builtin_neon_vqnegv8hi (__a);
5786 }
5787 
5788 __extension__ extern __inline int32x4_t
5789 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s32(int32x4_t __a)5790 vqnegq_s32 (int32x4_t __a)
5791 {
5792   return (int32x4_t)__builtin_neon_vqnegv4si (__a);
5793 }
5794 
5795 __extension__ extern __inline int8x8_t
5796 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s8(int8x8_t __a)5797 vmvn_s8 (int8x8_t __a)
5798 {
5799   return (int8x8_t)__builtin_neon_vmvnv8qi (__a);
5800 }
5801 
5802 __extension__ extern __inline int16x4_t
5803 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s16(int16x4_t __a)5804 vmvn_s16 (int16x4_t __a)
5805 {
5806   return (int16x4_t)__builtin_neon_vmvnv4hi (__a);
5807 }
5808 
5809 __extension__ extern __inline int32x2_t
5810 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s32(int32x2_t __a)5811 vmvn_s32 (int32x2_t __a)
5812 {
5813   return (int32x2_t)__builtin_neon_vmvnv2si (__a);
5814 }
5815 
5816 __extension__ extern __inline uint8x8_t
5817 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u8(uint8x8_t __a)5818 vmvn_u8 (uint8x8_t __a)
5819 {
5820   return (uint8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a);
5821 }
5822 
5823 __extension__ extern __inline uint16x4_t
5824 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u16(uint16x4_t __a)5825 vmvn_u16 (uint16x4_t __a)
5826 {
5827   return (uint16x4_t)__builtin_neon_vmvnv4hi ((int16x4_t) __a);
5828 }
5829 
5830 __extension__ extern __inline uint32x2_t
5831 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u32(uint32x2_t __a)5832 vmvn_u32 (uint32x2_t __a)
5833 {
5834   return (uint32x2_t)__builtin_neon_vmvnv2si ((int32x2_t) __a);
5835 }
5836 
5837 __extension__ extern __inline poly8x8_t
5838 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_p8(poly8x8_t __a)5839 vmvn_p8 (poly8x8_t __a)
5840 {
5841   return (poly8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a);
5842 }
5843 
5844 __extension__ extern __inline int8x16_t
5845 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s8(int8x16_t __a)5846 vmvnq_s8 (int8x16_t __a)
5847 {
5848   return (int8x16_t)__builtin_neon_vmvnv16qi (__a);
5849 }
5850 
5851 __extension__ extern __inline int16x8_t
5852 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s16(int16x8_t __a)5853 vmvnq_s16 (int16x8_t __a)
5854 {
5855   return (int16x8_t)__builtin_neon_vmvnv8hi (__a);
5856 }
5857 
5858 __extension__ extern __inline int32x4_t
5859 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s32(int32x4_t __a)5860 vmvnq_s32 (int32x4_t __a)
5861 {
5862   return (int32x4_t)__builtin_neon_vmvnv4si (__a);
5863 }
5864 
5865 __extension__ extern __inline uint8x16_t
5866 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u8(uint8x16_t __a)5867 vmvnq_u8 (uint8x16_t __a)
5868 {
5869   return (uint8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a);
5870 }
5871 
5872 __extension__ extern __inline uint16x8_t
5873 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u16(uint16x8_t __a)5874 vmvnq_u16 (uint16x8_t __a)
5875 {
5876   return (uint16x8_t)__builtin_neon_vmvnv8hi ((int16x8_t) __a);
5877 }
5878 
5879 __extension__ extern __inline uint32x4_t
5880 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u32(uint32x4_t __a)5881 vmvnq_u32 (uint32x4_t __a)
5882 {
5883   return (uint32x4_t)__builtin_neon_vmvnv4si ((int32x4_t) __a);
5884 }
5885 
5886 __extension__ extern __inline poly8x16_t
5887 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_p8(poly8x16_t __a)5888 vmvnq_p8 (poly8x16_t __a)
5889 {
5890   return (poly8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a);
5891 }
5892 
5893 __extension__ extern __inline int8x8_t
5894 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s8(int8x8_t __a)5895 vcls_s8 (int8x8_t __a)
5896 {
5897   return (int8x8_t)__builtin_neon_vclsv8qi (__a);
5898 }
5899 
5900 __extension__ extern __inline int16x4_t
5901 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s16(int16x4_t __a)5902 vcls_s16 (int16x4_t __a)
5903 {
5904   return (int16x4_t)__builtin_neon_vclsv4hi (__a);
5905 }
5906 
5907 __extension__ extern __inline int32x2_t
5908 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s32(int32x2_t __a)5909 vcls_s32 (int32x2_t __a)
5910 {
5911   return (int32x2_t)__builtin_neon_vclsv2si (__a);
5912 }
5913 
5914 __extension__ extern __inline int8x16_t
5915 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s8(int8x16_t __a)5916 vclsq_s8 (int8x16_t __a)
5917 {
5918   return (int8x16_t)__builtin_neon_vclsv16qi (__a);
5919 }
5920 
5921 __extension__ extern __inline int16x8_t
5922 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s16(int16x8_t __a)5923 vclsq_s16 (int16x8_t __a)
5924 {
5925   return (int16x8_t)__builtin_neon_vclsv8hi (__a);
5926 }
5927 
5928 __extension__ extern __inline int32x4_t
5929 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s32(int32x4_t __a)5930 vclsq_s32 (int32x4_t __a)
5931 {
5932   return (int32x4_t)__builtin_neon_vclsv4si (__a);
5933 }
5934 
5935 __extension__ extern __inline int8x8_t
5936 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s8(int8x8_t __a)5937 vclz_s8 (int8x8_t __a)
5938 {
5939   return (int8x8_t)__builtin_neon_vclzv8qi (__a);
5940 }
5941 
5942 __extension__ extern __inline int16x4_t
5943 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s16(int16x4_t __a)5944 vclz_s16 (int16x4_t __a)
5945 {
5946   return (int16x4_t)__builtin_neon_vclzv4hi (__a);
5947 }
5948 
5949 __extension__ extern __inline int32x2_t
5950 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s32(int32x2_t __a)5951 vclz_s32 (int32x2_t __a)
5952 {
5953   return (int32x2_t)__builtin_neon_vclzv2si (__a);
5954 }
5955 
5956 __extension__ extern __inline uint8x8_t
5957 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u8(uint8x8_t __a)5958 vclz_u8 (uint8x8_t __a)
5959 {
5960   return (uint8x8_t)__builtin_neon_vclzv8qi ((int8x8_t) __a);
5961 }
5962 
5963 __extension__ extern __inline uint16x4_t
5964 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u16(uint16x4_t __a)5965 vclz_u16 (uint16x4_t __a)
5966 {
5967   return (uint16x4_t)__builtin_neon_vclzv4hi ((int16x4_t) __a);
5968 }
5969 
5970 __extension__ extern __inline uint32x2_t
5971 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u32(uint32x2_t __a)5972 vclz_u32 (uint32x2_t __a)
5973 {
5974   return (uint32x2_t)__builtin_neon_vclzv2si ((int32x2_t) __a);
5975 }
5976 
5977 __extension__ extern __inline int8x16_t
5978 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s8(int8x16_t __a)5979 vclzq_s8 (int8x16_t __a)
5980 {
5981   return (int8x16_t)__builtin_neon_vclzv16qi (__a);
5982 }
5983 
5984 __extension__ extern __inline int16x8_t
5985 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s16(int16x8_t __a)5986 vclzq_s16 (int16x8_t __a)
5987 {
5988   return (int16x8_t)__builtin_neon_vclzv8hi (__a);
5989 }
5990 
5991 __extension__ extern __inline int32x4_t
5992 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s32(int32x4_t __a)5993 vclzq_s32 (int32x4_t __a)
5994 {
5995   return (int32x4_t)__builtin_neon_vclzv4si (__a);
5996 }
5997 
5998 __extension__ extern __inline uint8x16_t
5999 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u8(uint8x16_t __a)6000 vclzq_u8 (uint8x16_t __a)
6001 {
6002   return (uint8x16_t)__builtin_neon_vclzv16qi ((int8x16_t) __a);
6003 }
6004 
6005 __extension__ extern __inline uint16x8_t
6006 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u16(uint16x8_t __a)6007 vclzq_u16 (uint16x8_t __a)
6008 {
6009   return (uint16x8_t)__builtin_neon_vclzv8hi ((int16x8_t) __a);
6010 }
6011 
6012 __extension__ extern __inline uint32x4_t
6013 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u32(uint32x4_t __a)6014 vclzq_u32 (uint32x4_t __a)
6015 {
6016   return (uint32x4_t)__builtin_neon_vclzv4si ((int32x4_t) __a);
6017 }
6018 
6019 __extension__ extern __inline int8x8_t
6020 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_s8(int8x8_t __a)6021 vcnt_s8 (int8x8_t __a)
6022 {
6023   return (int8x8_t)__builtin_neon_vcntv8qi (__a);
6024 }
6025 
6026 __extension__ extern __inline uint8x8_t
6027 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_u8(uint8x8_t __a)6028 vcnt_u8 (uint8x8_t __a)
6029 {
6030   return (uint8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a);
6031 }
6032 
6033 __extension__ extern __inline poly8x8_t
6034 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_p8(poly8x8_t __a)6035 vcnt_p8 (poly8x8_t __a)
6036 {
6037   return (poly8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a);
6038 }
6039 
6040 __extension__ extern __inline int8x16_t
6041 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_s8(int8x16_t __a)6042 vcntq_s8 (int8x16_t __a)
6043 {
6044   return (int8x16_t)__builtin_neon_vcntv16qi (__a);
6045 }
6046 
6047 __extension__ extern __inline uint8x16_t
6048 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_u8(uint8x16_t __a)6049 vcntq_u8 (uint8x16_t __a)
6050 {
6051   return (uint8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a);
6052 }
6053 
6054 __extension__ extern __inline poly8x16_t
6055 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_p8(poly8x16_t __a)6056 vcntq_p8 (poly8x16_t __a)
6057 {
6058   return (poly8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a);
6059 }
6060 
6061 __extension__ extern __inline float32x2_t
6062 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_f32(float32x2_t __a)6063 vrecpe_f32 (float32x2_t __a)
6064 {
6065   return (float32x2_t)__builtin_neon_vrecpev2sf (__a);
6066 }
6067 
6068 __extension__ extern __inline uint32x2_t
6069 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_u32(uint32x2_t __a)6070 vrecpe_u32 (uint32x2_t __a)
6071 {
6072   return (uint32x2_t)__builtin_neon_vrecpev2si ((int32x2_t) __a);
6073 }
6074 
6075 __extension__ extern __inline float32x4_t
6076 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_f32(float32x4_t __a)6077 vrecpeq_f32 (float32x4_t __a)
6078 {
6079   return (float32x4_t)__builtin_neon_vrecpev4sf (__a);
6080 }
6081 
6082 __extension__ extern __inline uint32x4_t
6083 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_u32(uint32x4_t __a)6084 vrecpeq_u32 (uint32x4_t __a)
6085 {
6086   return (uint32x4_t)__builtin_neon_vrecpev4si ((int32x4_t) __a);
6087 }
6088 
6089 __extension__ extern __inline float32x2_t
6090 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_f32(float32x2_t __a)6091 vrsqrte_f32 (float32x2_t __a)
6092 {
6093   return (float32x2_t)__builtin_neon_vrsqrtev2sf (__a);
6094 }
6095 
6096 __extension__ extern __inline uint32x2_t
6097 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_u32(uint32x2_t __a)6098 vrsqrte_u32 (uint32x2_t __a)
6099 {
6100   return (uint32x2_t)__builtin_neon_vrsqrtev2si ((int32x2_t) __a);
6101 }
6102 
6103 __extension__ extern __inline float32x4_t
6104 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_f32(float32x4_t __a)6105 vrsqrteq_f32 (float32x4_t __a)
6106 {
6107   return (float32x4_t)__builtin_neon_vrsqrtev4sf (__a);
6108 }
6109 
6110 __extension__ extern __inline uint32x4_t
6111 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_u32(uint32x4_t __a)6112 vrsqrteq_u32 (uint32x4_t __a)
6113 {
6114   return (uint32x4_t)__builtin_neon_vrsqrtev4si ((int32x4_t) __a);
6115 }
6116 
6117 __extension__ extern __inline int8_t
6118 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s8(int8x8_t __a,const int __b)6119 vget_lane_s8 (int8x8_t __a, const int __b)
6120 {
6121   return (int8_t)__builtin_neon_vget_lanev8qi (__a, __b);
6122 }
6123 
6124 __extension__ extern __inline int16_t
6125 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s16(int16x4_t __a,const int __b)6126 vget_lane_s16 (int16x4_t __a, const int __b)
6127 {
6128   return (int16_t)__builtin_neon_vget_lanev4hi (__a, __b);
6129 }
6130 
6131 __extension__ extern __inline int32_t
6132 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s32(int32x2_t __a,const int __b)6133 vget_lane_s32 (int32x2_t __a, const int __b)
6134 {
6135   return (int32_t)__builtin_neon_vget_lanev2si (__a, __b);
6136 }
6137 
6138 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6139 /* Functions cannot accept or return __FP16 types.  Even if the function
6140    were marked always-inline so there were no call sites, the declaration
6141    would nonetheless raise an error.  Hence, we must use a macro instead.  */
6142 
6143   /* For big-endian, GCC's vector indices are reversed within each 64
6144      bits compared to the architectural lane indices used by Neon
6145      intrinsics.  */
6146 #ifdef __ARM_BIG_ENDIAN
6147 #define __ARM_NUM_LANES(__v) (sizeof (__v) / sizeof (__v[0]))
6148 #define __arm_lane(__vec, __idx) (__idx ^ (__ARM_NUM_LANES(__vec) - 1))
6149 #define __arm_laneq(__vec, __idx) (__idx ^ (__ARM_NUM_LANES(__vec)/2 - 1))
6150 #else
6151 #define __arm_lane(__vec, __idx) __idx
6152 #define __arm_laneq(__vec, __idx) __idx
6153 #endif
6154 
6155 #define vget_lane_f16(__v, __idx)			\
6156   __extension__						\
6157   ({							\
6158     float16x4_t __vec = (__v);				\
6159     __builtin_arm_lane_check (4, __idx);		\
6160     float16_t __res = __vec[__arm_lane(__vec, __idx)];	\
6161     __res;						\
6162   })
6163 #endif
6164 
6165 __extension__ extern __inline float32_t
6166 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_f32(float32x2_t __a,const int __b)6167 vget_lane_f32 (float32x2_t __a, const int __b)
6168 {
6169   return (float32_t)__builtin_neon_vget_lanev2sf (__a, __b);
6170 }
6171 
6172 __extension__ extern __inline uint8_t
6173 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u8(uint8x8_t __a,const int __b)6174 vget_lane_u8 (uint8x8_t __a, const int __b)
6175 {
6176   return (uint8_t)__builtin_neon_vget_laneuv8qi ((int8x8_t) __a, __b);
6177 }
6178 
6179 __extension__ extern __inline uint16_t
6180 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u16(uint16x4_t __a,const int __b)6181 vget_lane_u16 (uint16x4_t __a, const int __b)
6182 {
6183   return (uint16_t)__builtin_neon_vget_laneuv4hi ((int16x4_t) __a, __b);
6184 }
6185 
6186 __extension__ extern __inline uint32_t
6187 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u32(uint32x2_t __a,const int __b)6188 vget_lane_u32 (uint32x2_t __a, const int __b)
6189 {
6190   return (uint32_t)__builtin_neon_vget_laneuv2si ((int32x2_t) __a, __b);
6191 }
6192 
6193 __extension__ extern __inline poly8_t
6194 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_p8(poly8x8_t __a,const int __b)6195 vget_lane_p8 (poly8x8_t __a, const int __b)
6196 {
6197   return (poly8_t)__builtin_neon_vget_laneuv8qi ((int8x8_t) __a, __b);
6198 }
6199 
6200 __extension__ extern __inline poly16_t
6201 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_p16(poly16x4_t __a,const int __b)6202 vget_lane_p16 (poly16x4_t __a, const int __b)
6203 {
6204   return (poly16_t)__builtin_neon_vget_laneuv4hi ((int16x4_t) __a, __b);
6205 }
6206 
6207 __extension__ extern __inline int64_t
6208 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s64(int64x1_t __a,const int __b)6209 vget_lane_s64 (int64x1_t __a, const int __b)
6210 {
6211   return (int64_t)__builtin_neon_vget_lanedi (__a, __b);
6212 }
6213 
6214 #pragma GCC push_options
6215 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6216 __extension__ extern __inline poly64_t
6217 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_p64(poly64x1_t __a,const int __b)6218 vget_lane_p64 (poly64x1_t __a, const int __b)
6219 {
6220   return (poly64_t)__builtin_neon_vget_lanedi ((int64x1_t) __a, __b);
6221 }
6222 
6223 #pragma GCC pop_options
6224 __extension__ extern __inline uint64_t
6225 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u64(uint64x1_t __a,const int __b)6226 vget_lane_u64 (uint64x1_t __a, const int __b)
6227 {
6228   return (uint64_t)__builtin_neon_vget_lanedi ((int64x1_t) __a, __b);
6229 }
6230 
6231 __extension__ extern __inline int8_t
6232 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s8(int8x16_t __a,const int __b)6233 vgetq_lane_s8 (int8x16_t __a, const int __b)
6234 {
6235   return (int8_t)__builtin_neon_vget_lanev16qi (__a, __b);
6236 }
6237 
6238 __extension__ extern __inline int16_t
6239 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s16(int16x8_t __a,const int __b)6240 vgetq_lane_s16 (int16x8_t __a, const int __b)
6241 {
6242   return (int16_t)__builtin_neon_vget_lanev8hi (__a, __b);
6243 }
6244 
6245 __extension__ extern __inline int32_t
6246 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s32(int32x4_t __a,const int __b)6247 vgetq_lane_s32 (int32x4_t __a, const int __b)
6248 {
6249   return (int32_t)__builtin_neon_vget_lanev4si (__a, __b);
6250 }
6251 
6252 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6253 #define vgetq_lane_f16(__v, __idx)			\
6254   __extension__						\
6255   ({							\
6256     float16x8_t __vec = (__v);				\
6257     __builtin_arm_lane_check (8, __idx);		\
6258     float16_t __res = __vec[__arm_laneq(__vec, __idx)];	\
6259     __res;						\
6260   })
6261 #endif
6262 
6263 __extension__ extern __inline float32_t
6264 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_f32(float32x4_t __a,const int __b)6265 vgetq_lane_f32 (float32x4_t __a, const int __b)
6266 {
6267   return (float32_t)__builtin_neon_vget_lanev4sf (__a, __b);
6268 }
6269 
6270 __extension__ extern __inline uint8_t
6271 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u8(uint8x16_t __a,const int __b)6272 vgetq_lane_u8 (uint8x16_t __a, const int __b)
6273 {
6274   return (uint8_t)__builtin_neon_vget_laneuv16qi ((int8x16_t) __a, __b);
6275 }
6276 
6277 __extension__ extern __inline uint16_t
6278 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u16(uint16x8_t __a,const int __b)6279 vgetq_lane_u16 (uint16x8_t __a, const int __b)
6280 {
6281   return (uint16_t)__builtin_neon_vget_laneuv8hi ((int16x8_t) __a, __b);
6282 }
6283 
6284 __extension__ extern __inline uint32_t
6285 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u32(uint32x4_t __a,const int __b)6286 vgetq_lane_u32 (uint32x4_t __a, const int __b)
6287 {
6288   return (uint32_t)__builtin_neon_vget_laneuv4si ((int32x4_t) __a, __b);
6289 }
6290 
6291 __extension__ extern __inline poly8_t
6292 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_p8(poly8x16_t __a,const int __b)6293 vgetq_lane_p8 (poly8x16_t __a, const int __b)
6294 {
6295   return (poly8_t)__builtin_neon_vget_laneuv16qi ((int8x16_t) __a, __b);
6296 }
6297 
6298 __extension__ extern __inline poly16_t
6299 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_p16(poly16x8_t __a,const int __b)6300 vgetq_lane_p16 (poly16x8_t __a, const int __b)
6301 {
6302   return (poly16_t)__builtin_neon_vget_laneuv8hi ((int16x8_t) __a, __b);
6303 }
6304 
6305 __extension__ extern __inline int64_t
6306 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s64(int64x2_t __a,const int __b)6307 vgetq_lane_s64 (int64x2_t __a, const int __b)
6308 {
6309   return (int64_t)__builtin_neon_vget_lanev2di (__a, __b);
6310 }
6311 
6312 #pragma GCC push_options
6313 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6314 __extension__ extern __inline poly64_t
6315 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_p64(poly64x2_t __a,const int __b)6316 vgetq_lane_p64 (poly64x2_t __a, const int __b)
6317 {
6318   return (poly64_t)__builtin_neon_vget_lanev2di ((int64x2_t) __a, __b);
6319 }
6320 
6321 #pragma GCC pop_options
6322 __extension__ extern __inline uint64_t
6323 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u64(uint64x2_t __a,const int __b)6324 vgetq_lane_u64 (uint64x2_t __a, const int __b)
6325 {
6326   return (uint64_t)__builtin_neon_vget_lanev2di ((int64x2_t) __a, __b);
6327 }
6328 
6329 __extension__ extern __inline int8x8_t
6330 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s8(int8_t __a,int8x8_t __b,const int __c)6331 vset_lane_s8 (int8_t __a, int8x8_t __b, const int __c)
6332 {
6333   return (int8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, __b, __c);
6334 }
6335 
6336 __extension__ extern __inline int16x4_t
6337 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s16(int16_t __a,int16x4_t __b,const int __c)6338 vset_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
6339 {
6340   return (int16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, __b, __c);
6341 }
6342 
6343 __extension__ extern __inline int32x2_t
6344 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s32(int32_t __a,int32x2_t __b,const int __c)6345 vset_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
6346 {
6347   return (int32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, __b, __c);
6348 }
6349 
6350 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6351 #define vset_lane_f16(__e, __v, __idx)		\
6352   __extension__					\
6353   ({						\
6354     float16_t __elem = (__e);			\
6355     float16x4_t __vec = (__v);			\
6356     __builtin_arm_lane_check (4, __idx);	\
6357     __vec[__arm_lane (__vec, __idx)] = __elem;	\
6358     __vec;					\
6359   })
6360 #endif
6361 
6362 __extension__ extern __inline float32x2_t
6363 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_f32(float32_t __a,float32x2_t __b,const int __c)6364 vset_lane_f32 (float32_t __a, float32x2_t __b, const int __c)
6365 {
6366   return (float32x2_t)__builtin_neon_vset_lanev2sf ((__builtin_neon_sf) __a, __b, __c);
6367 }
6368 
6369 __extension__ extern __inline uint8x8_t
6370 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u8(uint8_t __a,uint8x8_t __b,const int __c)6371 vset_lane_u8 (uint8_t __a, uint8x8_t __b, const int __c)
6372 {
6373   return (uint8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
6374 }
6375 
6376 __extension__ extern __inline uint16x4_t
6377 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u16(uint16_t __a,uint16x4_t __b,const int __c)6378 vset_lane_u16 (uint16_t __a, uint16x4_t __b, const int __c)
6379 {
6380   return (uint16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
6381 }
6382 
6383 __extension__ extern __inline uint32x2_t
6384 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u32(uint32_t __a,uint32x2_t __b,const int __c)6385 vset_lane_u32 (uint32_t __a, uint32x2_t __b, const int __c)
6386 {
6387   return (uint32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, (int32x2_t) __b, __c);
6388 }
6389 
6390 __extension__ extern __inline poly8x8_t
6391 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_p8(poly8_t __a,poly8x8_t __b,const int __c)6392 vset_lane_p8 (poly8_t __a, poly8x8_t __b, const int __c)
6393 {
6394   return (poly8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
6395 }
6396 
6397 __extension__ extern __inline poly16x4_t
6398 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_p16(poly16_t __a,poly16x4_t __b,const int __c)6399 vset_lane_p16 (poly16_t __a, poly16x4_t __b, const int __c)
6400 {
6401   return (poly16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
6402 }
6403 
6404 __extension__ extern __inline int64x1_t
6405 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s64(int64_t __a,int64x1_t __b,const int __c)6406 vset_lane_s64 (int64_t __a, int64x1_t __b, const int __c)
6407 {
6408   return (int64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, __b, __c);
6409 }
6410 
6411 __extension__ extern __inline uint64x1_t
6412 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u64(uint64_t __a,uint64x1_t __b,const int __c)6413 vset_lane_u64 (uint64_t __a, uint64x1_t __b, const int __c)
6414 {
6415   return (uint64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, (int64x1_t) __b, __c);
6416 }
6417 
6418 #pragma GCC push_options
6419 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6420 __extension__ extern __inline poly64x1_t
6421 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_p64(poly64_t __a,poly64x1_t __b,const int __c)6422 vset_lane_p64 (poly64_t __a, poly64x1_t __b, const int __c)
6423 {
6424   return (poly64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, (int64x1_t) __b, __c);
6425 }
6426 
6427 #pragma GCC pop_options
6428 __extension__ extern __inline int8x16_t
6429 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s8(int8_t __a,int8x16_t __b,const int __c)6430 vsetq_lane_s8 (int8_t __a, int8x16_t __b, const int __c)
6431 {
6432   return (int8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, __b, __c);
6433 }
6434 
6435 __extension__ extern __inline int16x8_t
6436 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s16(int16_t __a,int16x8_t __b,const int __c)6437 vsetq_lane_s16 (int16_t __a, int16x8_t __b, const int __c)
6438 {
6439   return (int16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, __b, __c);
6440 }
6441 
6442 __extension__ extern __inline int32x4_t
6443 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s32(int32_t __a,int32x4_t __b,const int __c)6444 vsetq_lane_s32 (int32_t __a, int32x4_t __b, const int __c)
6445 {
6446   return (int32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, __b, __c);
6447 }
6448 
6449 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6450 #define vsetq_lane_f16(__e, __v, __idx)		\
6451   __extension__					\
6452   ({						\
6453     float16_t __elem = (__e);			\
6454     float16x8_t __vec = (__v);			\
6455     __builtin_arm_lane_check (8, __idx);	\
6456     __vec[__arm_laneq (__vec, __idx)] = __elem;	\
6457     __vec;					\
6458   })
6459 #endif
6460 
6461 __extension__ extern __inline float32x4_t
6462 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_f32(float32_t __a,float32x4_t __b,const int __c)6463 vsetq_lane_f32 (float32_t __a, float32x4_t __b, const int __c)
6464 {
6465   return (float32x4_t)__builtin_neon_vset_lanev4sf ((__builtin_neon_sf) __a, __b, __c);
6466 }
6467 
6468 __extension__ extern __inline uint8x16_t
6469 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u8(uint8_t __a,uint8x16_t __b,const int __c)6470 vsetq_lane_u8 (uint8_t __a, uint8x16_t __b, const int __c)
6471 {
6472   return (uint8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
6473 }
6474 
6475 __extension__ extern __inline uint16x8_t
6476 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u16(uint16_t __a,uint16x8_t __b,const int __c)6477 vsetq_lane_u16 (uint16_t __a, uint16x8_t __b, const int __c)
6478 {
6479   return (uint16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
6480 }
6481 
6482 __extension__ extern __inline uint32x4_t
6483 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u32(uint32_t __a,uint32x4_t __b,const int __c)6484 vsetq_lane_u32 (uint32_t __a, uint32x4_t __b, const int __c)
6485 {
6486   return (uint32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, (int32x4_t) __b, __c);
6487 }
6488 
6489 __extension__ extern __inline poly8x16_t
6490 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_p8(poly8_t __a,poly8x16_t __b,const int __c)6491 vsetq_lane_p8 (poly8_t __a, poly8x16_t __b, const int __c)
6492 {
6493   return (poly8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
6494 }
6495 
6496 __extension__ extern __inline poly16x8_t
6497 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_p16(poly16_t __a,poly16x8_t __b,const int __c)6498 vsetq_lane_p16 (poly16_t __a, poly16x8_t __b, const int __c)
6499 {
6500   return (poly16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
6501 }
6502 
6503 __extension__ extern __inline int64x2_t
6504 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s64(int64_t __a,int64x2_t __b,const int __c)6505 vsetq_lane_s64 (int64_t __a, int64x2_t __b, const int __c)
6506 {
6507   return (int64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, __b, __c);
6508 }
6509 
6510 __extension__ extern __inline uint64x2_t
6511 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u64(uint64_t __a,uint64x2_t __b,const int __c)6512 vsetq_lane_u64 (uint64_t __a, uint64x2_t __b, const int __c)
6513 {
6514   return (uint64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, (int64x2_t) __b, __c);
6515 }
6516 
6517 #pragma GCC push_options
6518 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6519 __extension__ extern __inline poly64x2_t
6520 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_p64(poly64_t __a,poly64x2_t __b,const int __c)6521 vsetq_lane_p64 (poly64_t __a, poly64x2_t __b, const int __c)
6522 {
6523   return (poly64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, (int64x2_t) __b, __c);
6524 }
6525 
6526 __extension__ extern __inline poly64x1_t
6527 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_p64(uint64_t __a)6528 vcreate_p64 (uint64_t __a)
6529 {
6530   return (poly64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
6531 }
6532 
6533 #pragma GCC pop_options
6534 __extension__ extern __inline int8x8_t
6535 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s8(uint64_t __a)6536 vcreate_s8 (uint64_t __a)
6537 {
6538   return (int8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
6539 }
6540 
6541 __extension__ extern __inline int16x4_t
6542 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s16(uint64_t __a)6543 vcreate_s16 (uint64_t __a)
6544 {
6545   return (int16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
6546 }
6547 
6548 __extension__ extern __inline int32x2_t
6549 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s32(uint64_t __a)6550 vcreate_s32 (uint64_t __a)
6551 {
6552   return (int32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
6553 }
6554 
6555 __extension__ extern __inline int64x1_t
6556 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s64(uint64_t __a)6557 vcreate_s64 (uint64_t __a)
6558 {
6559   return (int64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
6560 }
6561 
6562 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
6563 __extension__ extern __inline float16x4_t
6564 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_f16(uint64_t __a)6565 vcreate_f16 (uint64_t __a)
6566 {
6567   return (float16x4_t) __a;
6568 }
6569 #endif
6570 
6571 __extension__ extern __inline float32x2_t
6572 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_f32(uint64_t __a)6573 vcreate_f32 (uint64_t __a)
6574 {
6575   return (float32x2_t)__builtin_neon_vcreatev2sf ((__builtin_neon_di) __a);
6576 }
6577 
6578 __extension__ extern __inline uint8x8_t
6579 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u8(uint64_t __a)6580 vcreate_u8 (uint64_t __a)
6581 {
6582   return (uint8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
6583 }
6584 
6585 __extension__ extern __inline uint16x4_t
6586 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u16(uint64_t __a)6587 vcreate_u16 (uint64_t __a)
6588 {
6589   return (uint16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
6590 }
6591 
6592 __extension__ extern __inline uint32x2_t
6593 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u32(uint64_t __a)6594 vcreate_u32 (uint64_t __a)
6595 {
6596   return (uint32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
6597 }
6598 
6599 __extension__ extern __inline uint64x1_t
6600 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u64(uint64_t __a)6601 vcreate_u64 (uint64_t __a)
6602 {
6603   return (uint64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
6604 }
6605 
6606 __extension__ extern __inline poly8x8_t
6607 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_p8(uint64_t __a)6608 vcreate_p8 (uint64_t __a)
6609 {
6610   return (poly8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
6611 }
6612 
6613 __extension__ extern __inline poly16x4_t
6614 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_p16(uint64_t __a)6615 vcreate_p16 (uint64_t __a)
6616 {
6617   return (poly16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
6618 }
6619 
6620 __extension__ extern __inline int8x8_t
6621 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s8(int8_t __a)6622 vdup_n_s8 (int8_t __a)
6623 {
6624   return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
6625 }
6626 
6627 __extension__ extern __inline int16x4_t
6628 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s16(int16_t __a)6629 vdup_n_s16 (int16_t __a)
6630 {
6631   return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
6632 }
6633 
6634 __extension__ extern __inline int32x2_t
6635 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s32(int32_t __a)6636 vdup_n_s32 (int32_t __a)
6637 {
6638   return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
6639 }
6640 
6641 __extension__ extern __inline float32x2_t
6642 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_f32(float32_t __a)6643 vdup_n_f32 (float32_t __a)
6644 {
6645   return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
6646 }
6647 
6648 __extension__ extern __inline uint8x8_t
6649 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u8(uint8_t __a)6650 vdup_n_u8 (uint8_t __a)
6651 {
6652   return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
6653 }
6654 
6655 __extension__ extern __inline uint16x4_t
6656 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u16(uint16_t __a)6657 vdup_n_u16 (uint16_t __a)
6658 {
6659   return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
6660 }
6661 
6662 __extension__ extern __inline uint32x2_t
6663 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u32(uint32_t __a)6664 vdup_n_u32 (uint32_t __a)
6665 {
6666   return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
6667 }
6668 
6669 __extension__ extern __inline poly8x8_t
6670 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p8(poly8_t __a)6671 vdup_n_p8 (poly8_t __a)
6672 {
6673   return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
6674 }
6675 
6676 __extension__ extern __inline poly16x4_t
6677 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p16(poly16_t __a)6678 vdup_n_p16 (poly16_t __a)
6679 {
6680   return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
6681 }
6682 
6683 #pragma GCC push_options
6684 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6685 __extension__ extern __inline poly64x1_t
6686 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p64(poly64_t __a)6687 vdup_n_p64 (poly64_t __a)
6688 {
6689   return (poly64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
6690 }
6691 
6692 #pragma GCC pop_options
6693 __extension__ extern __inline int64x1_t
6694 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s64(int64_t __a)6695 vdup_n_s64 (int64_t __a)
6696 {
6697   return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
6698 }
6699 
6700 __extension__ extern __inline uint64x1_t
6701 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u64(uint64_t __a)6702 vdup_n_u64 (uint64_t __a)
6703 {
6704   return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
6705 }
6706 
6707 #pragma GCC push_options
6708 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
6709 __extension__ extern __inline poly64x2_t
6710 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p64(poly64_t __a)6711 vdupq_n_p64 (poly64_t __a)
6712 {
6713   return (poly64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
6714 }
6715 
6716 #pragma GCC pop_options
6717 __extension__ extern __inline int8x16_t
6718 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s8(int8_t __a)6719 vdupq_n_s8 (int8_t __a)
6720 {
6721   return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
6722 }
6723 
6724 __extension__ extern __inline int16x8_t
6725 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s16(int16_t __a)6726 vdupq_n_s16 (int16_t __a)
6727 {
6728   return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
6729 }
6730 
6731 __extension__ extern __inline int32x4_t
6732 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s32(int32_t __a)6733 vdupq_n_s32 (int32_t __a)
6734 {
6735   return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
6736 }
6737 
6738 __extension__ extern __inline float32x4_t
6739 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_f32(float32_t __a)6740 vdupq_n_f32 (float32_t __a)
6741 {
6742   return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
6743 }
6744 
6745 __extension__ extern __inline uint8x16_t
6746 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u8(uint8_t __a)6747 vdupq_n_u8 (uint8_t __a)
6748 {
6749   return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
6750 }
6751 
6752 __extension__ extern __inline uint16x8_t
6753 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u16(uint16_t __a)6754 vdupq_n_u16 (uint16_t __a)
6755 {
6756   return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
6757 }
6758 
6759 __extension__ extern __inline uint32x4_t
6760 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u32(uint32_t __a)6761 vdupq_n_u32 (uint32_t __a)
6762 {
6763   return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
6764 }
6765 
6766 __extension__ extern __inline poly8x16_t
6767 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p8(poly8_t __a)6768 vdupq_n_p8 (poly8_t __a)
6769 {
6770   return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
6771 }
6772 
6773 __extension__ extern __inline poly16x8_t
6774 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p16(poly16_t __a)6775 vdupq_n_p16 (poly16_t __a)
6776 {
6777   return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
6778 }
6779 
6780 __extension__ extern __inline int64x2_t
6781 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s64(int64_t __a)6782 vdupq_n_s64 (int64_t __a)
6783 {
6784   return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
6785 }
6786 
6787 __extension__ extern __inline uint64x2_t
6788 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u64(uint64_t __a)6789 vdupq_n_u64 (uint64_t __a)
6790 {
6791   return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
6792 }
6793 
6794 __extension__ extern __inline int8x8_t
6795 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s8(int8_t __a)6796 vmov_n_s8 (int8_t __a)
6797 {
6798   return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
6799 }
6800 
6801 __extension__ extern __inline int16x4_t
6802 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s16(int16_t __a)6803 vmov_n_s16 (int16_t __a)
6804 {
6805   return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
6806 }
6807 
6808 __extension__ extern __inline int32x2_t
6809 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s32(int32_t __a)6810 vmov_n_s32 (int32_t __a)
6811 {
6812   return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
6813 }
6814 
6815 __extension__ extern __inline float32x2_t
6816 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_f32(float32_t __a)6817 vmov_n_f32 (float32_t __a)
6818 {
6819   return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
6820 }
6821 
6822 __extension__ extern __inline uint8x8_t
6823 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u8(uint8_t __a)6824 vmov_n_u8 (uint8_t __a)
6825 {
6826   return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
6827 }
6828 
6829 __extension__ extern __inline uint16x4_t
6830 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u16(uint16_t __a)6831 vmov_n_u16 (uint16_t __a)
6832 {
6833   return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
6834 }
6835 
6836 __extension__ extern __inline uint32x2_t
6837 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u32(uint32_t __a)6838 vmov_n_u32 (uint32_t __a)
6839 {
6840   return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
6841 }
6842 
6843 __extension__ extern __inline poly8x8_t
6844 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_p8(poly8_t __a)6845 vmov_n_p8 (poly8_t __a)
6846 {
6847   return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
6848 }
6849 
6850 __extension__ extern __inline poly16x4_t
6851 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_p16(poly16_t __a)6852 vmov_n_p16 (poly16_t __a)
6853 {
6854   return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
6855 }
6856 
6857 __extension__ extern __inline int64x1_t
6858 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s64(int64_t __a)6859 vmov_n_s64 (int64_t __a)
6860 {
6861   return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
6862 }
6863 
6864 __extension__ extern __inline uint64x1_t
6865 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u64(uint64_t __a)6866 vmov_n_u64 (uint64_t __a)
6867 {
6868   return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
6869 }
6870 
6871 __extension__ extern __inline int8x16_t
6872 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s8(int8_t __a)6873 vmovq_n_s8 (int8_t __a)
6874 {
6875   return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
6876 }
6877 
6878 __extension__ extern __inline int16x8_t
6879 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s16(int16_t __a)6880 vmovq_n_s16 (int16_t __a)
6881 {
6882   return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
6883 }
6884 
6885 __extension__ extern __inline int32x4_t
6886 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s32(int32_t __a)6887 vmovq_n_s32 (int32_t __a)
6888 {
6889   return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
6890 }
6891 
6892 __extension__ extern __inline float32x4_t
6893 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_f32(float32_t __a)6894 vmovq_n_f32 (float32_t __a)
6895 {
6896   return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
6897 }
6898 
6899 __extension__ extern __inline uint8x16_t
6900 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u8(uint8_t __a)6901 vmovq_n_u8 (uint8_t __a)
6902 {
6903   return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
6904 }
6905 
6906 __extension__ extern __inline uint16x8_t
6907 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u16(uint16_t __a)6908 vmovq_n_u16 (uint16_t __a)
6909 {
6910   return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
6911 }
6912 
6913 __extension__ extern __inline uint32x4_t
6914 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u32(uint32_t __a)6915 vmovq_n_u32 (uint32_t __a)
6916 {
6917   return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
6918 }
6919 
6920 __extension__ extern __inline poly8x16_t
6921 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_p8(poly8_t __a)6922 vmovq_n_p8 (poly8_t __a)
6923 {
6924   return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
6925 }
6926 
6927 __extension__ extern __inline poly16x8_t
6928 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_p16(poly16_t __a)6929 vmovq_n_p16 (poly16_t __a)
6930 {
6931   return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
6932 }
6933 
6934 __extension__ extern __inline int64x2_t
6935 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s64(int64_t __a)6936 vmovq_n_s64 (int64_t __a)
6937 {
6938   return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
6939 }
6940 
6941 __extension__ extern __inline uint64x2_t
6942 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u64(uint64_t __a)6943 vmovq_n_u64 (uint64_t __a)
6944 {
6945   return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
6946 }
6947 
6948 __extension__ extern __inline int8x8_t
6949 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s8(int8x8_t __a,const int __b)6950 vdup_lane_s8 (int8x8_t __a, const int __b)
6951 {
6952   return (int8x8_t)__builtin_neon_vdup_lanev8qi (__a, __b);
6953 }
6954 
6955 __extension__ extern __inline int16x4_t
6956 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s16(int16x4_t __a,const int __b)6957 vdup_lane_s16 (int16x4_t __a, const int __b)
6958 {
6959   return (int16x4_t)__builtin_neon_vdup_lanev4hi (__a, __b);
6960 }
6961 
6962 __extension__ extern __inline int32x2_t
6963 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s32(int32x2_t __a,const int __b)6964 vdup_lane_s32 (int32x2_t __a, const int __b)
6965 {
6966   return (int32x2_t)__builtin_neon_vdup_lanev2si (__a, __b);
6967 }
6968 
6969 __extension__ extern __inline float32x2_t
6970 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_f32(float32x2_t __a,const int __b)6971 vdup_lane_f32 (float32x2_t __a, const int __b)
6972 {
6973   return (float32x2_t)__builtin_neon_vdup_lanev2sf (__a, __b);
6974 }
6975 
6976 __extension__ extern __inline uint8x8_t
6977 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u8(uint8x8_t __a,const int __b)6978 vdup_lane_u8 (uint8x8_t __a, const int __b)
6979 {
6980   return (uint8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
6981 }
6982 
6983 __extension__ extern __inline uint16x4_t
6984 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u16(uint16x4_t __a,const int __b)6985 vdup_lane_u16 (uint16x4_t __a, const int __b)
6986 {
6987   return (uint16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
6988 }
6989 
6990 __extension__ extern __inline uint32x2_t
6991 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u32(uint32x2_t __a,const int __b)6992 vdup_lane_u32 (uint32x2_t __a, const int __b)
6993 {
6994   return (uint32x2_t)__builtin_neon_vdup_lanev2si ((int32x2_t) __a, __b);
6995 }
6996 
6997 __extension__ extern __inline poly8x8_t
6998 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p8(poly8x8_t __a,const int __b)6999 vdup_lane_p8 (poly8x8_t __a, const int __b)
7000 {
7001   return (poly8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
7002 }
7003 
7004 __extension__ extern __inline poly16x4_t
7005 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p16(poly16x4_t __a,const int __b)7006 vdup_lane_p16 (poly16x4_t __a, const int __b)
7007 {
7008   return (poly16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
7009 }
7010 
7011 #pragma GCC push_options
7012 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7013 __extension__ extern __inline poly64x1_t
7014 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p64(poly64x1_t __a,const int __b)7015 vdup_lane_p64 (poly64x1_t __a, const int __b)
7016 {
7017   return (poly64x1_t)__builtin_neon_vdup_lanedi (__a, __b);
7018 }
7019 
7020 #pragma GCC pop_options
7021 __extension__ extern __inline int64x1_t
7022 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s64(int64x1_t __a,const int __b)7023 vdup_lane_s64 (int64x1_t __a, const int __b)
7024 {
7025   return (int64x1_t)__builtin_neon_vdup_lanedi (__a, __b);
7026 }
7027 
7028 __extension__ extern __inline uint64x1_t
7029 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u64(uint64x1_t __a,const int __b)7030 vdup_lane_u64 (uint64x1_t __a, const int __b)
7031 {
7032   return (uint64x1_t)__builtin_neon_vdup_lanedi ((int64x1_t) __a, __b);
7033 }
7034 
7035 __extension__ extern __inline int8x16_t
7036 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s8(int8x8_t __a,const int __b)7037 vdupq_lane_s8 (int8x8_t __a, const int __b)
7038 {
7039   return (int8x16_t)__builtin_neon_vdup_lanev16qi (__a, __b);
7040 }
7041 
7042 __extension__ extern __inline int16x8_t
7043 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s16(int16x4_t __a,const int __b)7044 vdupq_lane_s16 (int16x4_t __a, const int __b)
7045 {
7046   return (int16x8_t)__builtin_neon_vdup_lanev8hi (__a, __b);
7047 }
7048 
7049 __extension__ extern __inline int32x4_t
7050 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s32(int32x2_t __a,const int __b)7051 vdupq_lane_s32 (int32x2_t __a, const int __b)
7052 {
7053   return (int32x4_t)__builtin_neon_vdup_lanev4si (__a, __b);
7054 }
7055 
7056 __extension__ extern __inline float32x4_t
7057 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_f32(float32x2_t __a,const int __b)7058 vdupq_lane_f32 (float32x2_t __a, const int __b)
7059 {
7060   return (float32x4_t)__builtin_neon_vdup_lanev4sf (__a, __b);
7061 }
7062 
7063 __extension__ extern __inline uint8x16_t
7064 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u8(uint8x8_t __a,const int __b)7065 vdupq_lane_u8 (uint8x8_t __a, const int __b)
7066 {
7067   return (uint8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
7068 }
7069 
7070 __extension__ extern __inline uint16x8_t
7071 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u16(uint16x4_t __a,const int __b)7072 vdupq_lane_u16 (uint16x4_t __a, const int __b)
7073 {
7074   return (uint16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
7075 }
7076 
7077 __extension__ extern __inline uint32x4_t
7078 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u32(uint32x2_t __a,const int __b)7079 vdupq_lane_u32 (uint32x2_t __a, const int __b)
7080 {
7081   return (uint32x4_t)__builtin_neon_vdup_lanev4si ((int32x2_t) __a, __b);
7082 }
7083 
7084 __extension__ extern __inline poly8x16_t
7085 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p8(poly8x8_t __a,const int __b)7086 vdupq_lane_p8 (poly8x8_t __a, const int __b)
7087 {
7088   return (poly8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
7089 }
7090 
7091 __extension__ extern __inline poly16x8_t
7092 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p16(poly16x4_t __a,const int __b)7093 vdupq_lane_p16 (poly16x4_t __a, const int __b)
7094 {
7095   return (poly16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
7096 }
7097 
7098 #pragma GCC push_options
7099 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7100 __extension__ extern __inline poly64x2_t
7101 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p64(poly64x1_t __a,const int __b)7102 vdupq_lane_p64 (poly64x1_t __a, const int __b)
7103 {
7104   return (poly64x2_t)__builtin_neon_vdup_lanev2di (__a, __b);
7105 }
7106 
7107 #pragma GCC pop_options
7108 __extension__ extern __inline int64x2_t
7109 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s64(int64x1_t __a,const int __b)7110 vdupq_lane_s64 (int64x1_t __a, const int __b)
7111 {
7112   return (int64x2_t)__builtin_neon_vdup_lanev2di (__a, __b);
7113 }
7114 
7115 __extension__ extern __inline uint64x2_t
7116 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u64(uint64x1_t __a,const int __b)7117 vdupq_lane_u64 (uint64x1_t __a, const int __b)
7118 {
7119   return (uint64x2_t)__builtin_neon_vdup_lanev2di ((int64x1_t) __a, __b);
7120 }
7121 
7122 #pragma GCC push_options
7123 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7124 __extension__ extern __inline poly64x2_t
7125 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p64(poly64x1_t __a,poly64x1_t __b)7126 vcombine_p64 (poly64x1_t __a, poly64x1_t __b)
7127 {
7128   return (poly64x2_t)__builtin_neon_vcombinedi (__a, __b);
7129 }
7130 
7131 #pragma GCC pop_options
7132 __extension__ extern __inline int8x16_t
7133 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s8(int8x8_t __a,int8x8_t __b)7134 vcombine_s8 (int8x8_t __a, int8x8_t __b)
7135 {
7136   return (int8x16_t)__builtin_neon_vcombinev8qi (__a, __b);
7137 }
7138 
7139 __extension__ extern __inline int16x8_t
7140 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s16(int16x4_t __a,int16x4_t __b)7141 vcombine_s16 (int16x4_t __a, int16x4_t __b)
7142 {
7143   return (int16x8_t)__builtin_neon_vcombinev4hi (__a, __b);
7144 }
7145 
7146 __extension__ extern __inline int32x4_t
7147 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s32(int32x2_t __a,int32x2_t __b)7148 vcombine_s32 (int32x2_t __a, int32x2_t __b)
7149 {
7150   return (int32x4_t)__builtin_neon_vcombinev2si (__a, __b);
7151 }
7152 
7153 __extension__ extern __inline int64x2_t
7154 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s64(int64x1_t __a,int64x1_t __b)7155 vcombine_s64 (int64x1_t __a, int64x1_t __b)
7156 {
7157   return (int64x2_t)__builtin_neon_vcombinedi (__a, __b);
7158 }
7159 
7160 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7161 __extension__ extern __inline float16x8_t
7162 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_f16(float16x4_t __a,float16x4_t __b)7163 vcombine_f16 (float16x4_t __a, float16x4_t __b)
7164 {
7165   return __builtin_neon_vcombinev4hf (__a, __b);
7166 }
7167 #endif
7168 
7169 __extension__ extern __inline float32x4_t
7170 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_f32(float32x2_t __a,float32x2_t __b)7171 vcombine_f32 (float32x2_t __a, float32x2_t __b)
7172 {
7173   return (float32x4_t)__builtin_neon_vcombinev2sf (__a, __b);
7174 }
7175 
7176 __extension__ extern __inline uint8x16_t
7177 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u8(uint8x8_t __a,uint8x8_t __b)7178 vcombine_u8 (uint8x8_t __a, uint8x8_t __b)
7179 {
7180   return (uint8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
7181 }
7182 
7183 __extension__ extern __inline uint16x8_t
7184 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u16(uint16x4_t __a,uint16x4_t __b)7185 vcombine_u16 (uint16x4_t __a, uint16x4_t __b)
7186 {
7187   return (uint16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
7188 }
7189 
7190 __extension__ extern __inline uint32x4_t
7191 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u32(uint32x2_t __a,uint32x2_t __b)7192 vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
7193 {
7194   return (uint32x4_t)__builtin_neon_vcombinev2si ((int32x2_t) __a, (int32x2_t) __b);
7195 }
7196 
7197 __extension__ extern __inline uint64x2_t
7198 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u64(uint64x1_t __a,uint64x1_t __b)7199 vcombine_u64 (uint64x1_t __a, uint64x1_t __b)
7200 {
7201   return (uint64x2_t)__builtin_neon_vcombinedi ((int64x1_t) __a, (int64x1_t) __b);
7202 }
7203 
7204 __extension__ extern __inline poly8x16_t
7205 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p8(poly8x8_t __a,poly8x8_t __b)7206 vcombine_p8 (poly8x8_t __a, poly8x8_t __b)
7207 {
7208   return (poly8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
7209 }
7210 
7211 __extension__ extern __inline poly16x8_t
7212 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p16(poly16x4_t __a,poly16x4_t __b)7213 vcombine_p16 (poly16x4_t __a, poly16x4_t __b)
7214 {
7215   return (poly16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
7216 }
7217 
7218 #pragma GCC push_options
7219 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7220 __extension__ extern __inline poly64x1_t
7221 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p64(poly64x2_t __a)7222 vget_high_p64 (poly64x2_t __a)
7223 {
7224   return (poly64x1_t)__builtin_neon_vget_highv2di ((int64x2_t) __a);
7225 }
7226 
7227 #pragma GCC pop_options
7228 __extension__ extern __inline int8x8_t
7229 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s8(int8x16_t __a)7230 vget_high_s8 (int8x16_t __a)
7231 {
7232   return (int8x8_t)__builtin_neon_vget_highv16qi (__a);
7233 }
7234 
7235 __extension__ extern __inline int16x4_t
7236 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s16(int16x8_t __a)7237 vget_high_s16 (int16x8_t __a)
7238 {
7239   return (int16x4_t)__builtin_neon_vget_highv8hi (__a);
7240 }
7241 
7242 __extension__ extern __inline int32x2_t
7243 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s32(int32x4_t __a)7244 vget_high_s32 (int32x4_t __a)
7245 {
7246   return (int32x2_t)__builtin_neon_vget_highv4si (__a);
7247 }
7248 
7249 __extension__ extern __inline int64x1_t
7250 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s64(int64x2_t __a)7251 vget_high_s64 (int64x2_t __a)
7252 {
7253   return (int64x1_t)__builtin_neon_vget_highv2di (__a);
7254 }
7255 
7256 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7257 __extension__ extern __inline float16x4_t
7258 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_f16(float16x8_t __a)7259 vget_high_f16 (float16x8_t __a)
7260 {
7261   return __builtin_neon_vget_highv8hf (__a);
7262 }
7263 #endif
7264 
7265 __extension__ extern __inline float32x2_t
7266 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_f32(float32x4_t __a)7267 vget_high_f32 (float32x4_t __a)
7268 {
7269   return (float32x2_t)__builtin_neon_vget_highv4sf (__a);
7270 }
7271 
7272 __extension__ extern __inline uint8x8_t
7273 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u8(uint8x16_t __a)7274 vget_high_u8 (uint8x16_t __a)
7275 {
7276   return (uint8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
7277 }
7278 
7279 __extension__ extern __inline uint16x4_t
7280 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u16(uint16x8_t __a)7281 vget_high_u16 (uint16x8_t __a)
7282 {
7283   return (uint16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
7284 }
7285 
7286 __extension__ extern __inline uint32x2_t
7287 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u32(uint32x4_t __a)7288 vget_high_u32 (uint32x4_t __a)
7289 {
7290   return (uint32x2_t)__builtin_neon_vget_highv4si ((int32x4_t) __a);
7291 }
7292 
7293 __extension__ extern __inline uint64x1_t
7294 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u64(uint64x2_t __a)7295 vget_high_u64 (uint64x2_t __a)
7296 {
7297   return (uint64x1_t)__builtin_neon_vget_highv2di ((int64x2_t) __a);
7298 }
7299 
7300 __extension__ extern __inline poly8x8_t
7301 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p8(poly8x16_t __a)7302 vget_high_p8 (poly8x16_t __a)
7303 {
7304   return (poly8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
7305 }
7306 
7307 __extension__ extern __inline poly16x4_t
7308 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p16(poly16x8_t __a)7309 vget_high_p16 (poly16x8_t __a)
7310 {
7311   return (poly16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
7312 }
7313 
7314 __extension__ extern __inline int8x8_t
7315 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s8(int8x16_t __a)7316 vget_low_s8 (int8x16_t __a)
7317 {
7318   return (int8x8_t)__builtin_neon_vget_lowv16qi (__a);
7319 }
7320 
7321 __extension__ extern __inline int16x4_t
7322 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s16(int16x8_t __a)7323 vget_low_s16 (int16x8_t __a)
7324 {
7325   return (int16x4_t)__builtin_neon_vget_lowv8hi (__a);
7326 }
7327 
7328 __extension__ extern __inline int32x2_t
7329 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s32(int32x4_t __a)7330 vget_low_s32 (int32x4_t __a)
7331 {
7332   return (int32x2_t)__builtin_neon_vget_lowv4si (__a);
7333 }
7334 
7335 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7336 __extension__ extern __inline float16x4_t
7337 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_f16(float16x8_t __a)7338 vget_low_f16 (float16x8_t __a)
7339 {
7340   return __builtin_neon_vget_lowv8hf (__a);
7341 }
7342 #endif
7343 
7344 __extension__ extern __inline float32x2_t
7345 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_f32(float32x4_t __a)7346 vget_low_f32 (float32x4_t __a)
7347 {
7348   return (float32x2_t)__builtin_neon_vget_lowv4sf (__a);
7349 }
7350 
7351 __extension__ extern __inline uint8x8_t
7352 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u8(uint8x16_t __a)7353 vget_low_u8 (uint8x16_t __a)
7354 {
7355   return (uint8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
7356 }
7357 
7358 __extension__ extern __inline uint16x4_t
7359 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u16(uint16x8_t __a)7360 vget_low_u16 (uint16x8_t __a)
7361 {
7362   return (uint16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
7363 }
7364 
7365 __extension__ extern __inline uint32x2_t
7366 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u32(uint32x4_t __a)7367 vget_low_u32 (uint32x4_t __a)
7368 {
7369   return (uint32x2_t)__builtin_neon_vget_lowv4si ((int32x4_t) __a);
7370 }
7371 
7372 __extension__ extern __inline poly8x8_t
7373 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p8(poly8x16_t __a)7374 vget_low_p8 (poly8x16_t __a)
7375 {
7376   return (poly8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
7377 }
7378 
7379 __extension__ extern __inline poly16x4_t
7380 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p16(poly16x8_t __a)7381 vget_low_p16 (poly16x8_t __a)
7382 {
7383   return (poly16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
7384 }
7385 
7386 #pragma GCC push_options
7387 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
7388 __extension__ extern __inline poly64x1_t
7389 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p64(poly64x2_t __a)7390 vget_low_p64 (poly64x2_t __a)
7391 {
7392   return (poly64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a);
7393 }
7394 
7395 #pragma GCC pop_options
7396 __extension__ extern __inline int64x1_t
7397 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s64(int64x2_t __a)7398 vget_low_s64 (int64x2_t __a)
7399 {
7400   return (int64x1_t)__builtin_neon_vget_lowv2di (__a);
7401 }
7402 
7403 __extension__ extern __inline uint64x1_t
7404 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u64(uint64x2_t __a)7405 vget_low_u64 (uint64x2_t __a)
7406 {
7407   return (uint64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a);
7408 }
7409 
7410 __extension__ extern __inline int32x2_t
7411 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_s32_f32(float32x2_t __a)7412 vcvt_s32_f32 (float32x2_t __a)
7413 {
7414   return (int32x2_t)__builtin_neon_vcvtsv2sf (__a);
7415 }
7416 
7417 __extension__ extern __inline float32x2_t
7418 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_s32(int32x2_t __a)7419 vcvt_f32_s32 (int32x2_t __a)
7420 {
7421   return (float32x2_t)__builtin_neon_vcvtsv2si (__a);
7422 }
7423 
7424 __extension__ extern __inline float32x2_t
7425 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_u32(uint32x2_t __a)7426 vcvt_f32_u32 (uint32x2_t __a)
7427 {
7428   return (float32x2_t)__builtin_neon_vcvtuv2si ((int32x2_t) __a);
7429 }
7430 
7431 __extension__ extern __inline uint32x2_t
7432 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_u32_f32(float32x2_t __a)7433 vcvt_u32_f32 (float32x2_t __a)
7434 {
7435   return (uint32x2_t)__builtin_neon_vcvtuv2sf (__a);
7436 }
7437 
7438 __extension__ extern __inline int32x4_t
7439 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_s32_f32(float32x4_t __a)7440 vcvtq_s32_f32 (float32x4_t __a)
7441 {
7442   return (int32x4_t)__builtin_neon_vcvtsv4sf (__a);
7443 }
7444 
7445 __extension__ extern __inline float32x4_t
7446 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f32_s32(int32x4_t __a)7447 vcvtq_f32_s32 (int32x4_t __a)
7448 {
7449   return (float32x4_t)__builtin_neon_vcvtsv4si (__a);
7450 }
7451 
7452 __extension__ extern __inline float32x4_t
7453 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f32_u32(uint32x4_t __a)7454 vcvtq_f32_u32 (uint32x4_t __a)
7455 {
7456   return (float32x4_t)__builtin_neon_vcvtuv4si ((int32x4_t) __a);
7457 }
7458 
7459 __extension__ extern __inline uint32x4_t
7460 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_u32_f32(float32x4_t __a)7461 vcvtq_u32_f32 (float32x4_t __a)
7462 {
7463   return (uint32x4_t)__builtin_neon_vcvtuv4sf (__a);
7464 }
7465 
7466 #pragma GCC push_options
7467 #pragma GCC target ("fpu=neon-fp16")
7468 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7469 __extension__ extern __inline float16x4_t
7470 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_f32(float32x4_t __a)7471 vcvt_f16_f32 (float32x4_t __a)
7472 {
7473   return (float16x4_t)__builtin_neon_vcvtv4hfv4sf (__a);
7474 }
7475 #endif
7476 
7477 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
7478 __extension__ extern __inline float32x4_t
7479 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_f16(float16x4_t __a)7480 vcvt_f32_f16 (float16x4_t __a)
7481 {
7482   return (float32x4_t)__builtin_neon_vcvtv4sfv4hf (__a);
7483 }
7484 #endif
7485 #pragma GCC pop_options
7486 
7487 __extension__ extern __inline int32x2_t
7488 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_s32_f32(float32x2_t __a,const int __b)7489 vcvt_n_s32_f32 (float32x2_t __a, const int __b)
7490 {
7491   return (int32x2_t)__builtin_neon_vcvts_nv2sf (__a, __b);
7492 }
7493 
7494 __extension__ extern __inline float32x2_t
7495 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f32_s32(int32x2_t __a,const int __b)7496 vcvt_n_f32_s32 (int32x2_t __a, const int __b)
7497 {
7498   return (float32x2_t)__builtin_neon_vcvts_nv2si (__a, __b);
7499 }
7500 
7501 __extension__ extern __inline float32x2_t
7502 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f32_u32(uint32x2_t __a,const int __b)7503 vcvt_n_f32_u32 (uint32x2_t __a, const int __b)
7504 {
7505   return (float32x2_t)__builtin_neon_vcvtu_nv2si ((int32x2_t) __a, __b);
7506 }
7507 
7508 __extension__ extern __inline uint32x2_t
7509 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_u32_f32(float32x2_t __a,const int __b)7510 vcvt_n_u32_f32 (float32x2_t __a, const int __b)
7511 {
7512   return (uint32x2_t)__builtin_neon_vcvtu_nv2sf (__a, __b);
7513 }
7514 
7515 __extension__ extern __inline int32x4_t
7516 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_s32_f32(float32x4_t __a,const int __b)7517 vcvtq_n_s32_f32 (float32x4_t __a, const int __b)
7518 {
7519   return (int32x4_t)__builtin_neon_vcvts_nv4sf (__a, __b);
7520 }
7521 
7522 __extension__ extern __inline float32x4_t
7523 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f32_s32(int32x4_t __a,const int __b)7524 vcvtq_n_f32_s32 (int32x4_t __a, const int __b)
7525 {
7526   return (float32x4_t)__builtin_neon_vcvts_nv4si (__a, __b);
7527 }
7528 
7529 __extension__ extern __inline float32x4_t
7530 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f32_u32(uint32x4_t __a,const int __b)7531 vcvtq_n_f32_u32 (uint32x4_t __a, const int __b)
7532 {
7533   return (float32x4_t)__builtin_neon_vcvtu_nv4si ((int32x4_t) __a, __b);
7534 }
7535 
7536 __extension__ extern __inline uint32x4_t
7537 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_u32_f32(float32x4_t __a,const int __b)7538 vcvtq_n_u32_f32 (float32x4_t __a, const int __b)
7539 {
7540   return (uint32x4_t)__builtin_neon_vcvtu_nv4sf (__a, __b);
7541 }
7542 
7543 __extension__ extern __inline int8x8_t
7544 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s16(int16x8_t __a)7545 vmovn_s16 (int16x8_t __a)
7546 {
7547   return (int8x8_t)__builtin_neon_vmovnv8hi (__a);
7548 }
7549 
7550 __extension__ extern __inline int16x4_t
7551 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s32(int32x4_t __a)7552 vmovn_s32 (int32x4_t __a)
7553 {
7554   return (int16x4_t)__builtin_neon_vmovnv4si (__a);
7555 }
7556 
7557 __extension__ extern __inline int32x2_t
7558 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s64(int64x2_t __a)7559 vmovn_s64 (int64x2_t __a)
7560 {
7561   return (int32x2_t)__builtin_neon_vmovnv2di (__a);
7562 }
7563 
7564 __extension__ extern __inline uint8x8_t
7565 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u16(uint16x8_t __a)7566 vmovn_u16 (uint16x8_t __a)
7567 {
7568   return (uint8x8_t)__builtin_neon_vmovnv8hi ((int16x8_t) __a);
7569 }
7570 
7571 __extension__ extern __inline uint16x4_t
7572 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u32(uint32x4_t __a)7573 vmovn_u32 (uint32x4_t __a)
7574 {
7575   return (uint16x4_t)__builtin_neon_vmovnv4si ((int32x4_t) __a);
7576 }
7577 
7578 __extension__ extern __inline uint32x2_t
7579 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u64(uint64x2_t __a)7580 vmovn_u64 (uint64x2_t __a)
7581 {
7582   return (uint32x2_t)__builtin_neon_vmovnv2di ((int64x2_t) __a);
7583 }
7584 
7585 __extension__ extern __inline int8x8_t
7586 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s16(int16x8_t __a)7587 vqmovn_s16 (int16x8_t __a)
7588 {
7589   return (int8x8_t)__builtin_neon_vqmovnsv8hi (__a);
7590 }
7591 
7592 __extension__ extern __inline int16x4_t
7593 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s32(int32x4_t __a)7594 vqmovn_s32 (int32x4_t __a)
7595 {
7596   return (int16x4_t)__builtin_neon_vqmovnsv4si (__a);
7597 }
7598 
7599 __extension__ extern __inline int32x2_t
7600 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s64(int64x2_t __a)7601 vqmovn_s64 (int64x2_t __a)
7602 {
7603   return (int32x2_t)__builtin_neon_vqmovnsv2di (__a);
7604 }
7605 
7606 __extension__ extern __inline uint8x8_t
7607 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u16(uint16x8_t __a)7608 vqmovn_u16 (uint16x8_t __a)
7609 {
7610   return (uint8x8_t)__builtin_neon_vqmovnuv8hi ((int16x8_t) __a);
7611 }
7612 
7613 __extension__ extern __inline uint16x4_t
7614 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u32(uint32x4_t __a)7615 vqmovn_u32 (uint32x4_t __a)
7616 {
7617   return (uint16x4_t)__builtin_neon_vqmovnuv4si ((int32x4_t) __a);
7618 }
7619 
7620 __extension__ extern __inline uint32x2_t
7621 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u64(uint64x2_t __a)7622 vqmovn_u64 (uint64x2_t __a)
7623 {
7624   return (uint32x2_t)__builtin_neon_vqmovnuv2di ((int64x2_t) __a);
7625 }
7626 
7627 __extension__ extern __inline uint8x8_t
7628 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s16(int16x8_t __a)7629 vqmovun_s16 (int16x8_t __a)
7630 {
7631   return (uint8x8_t)__builtin_neon_vqmovunv8hi (__a);
7632 }
7633 
7634 __extension__ extern __inline uint16x4_t
7635 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s32(int32x4_t __a)7636 vqmovun_s32 (int32x4_t __a)
7637 {
7638   return (uint16x4_t)__builtin_neon_vqmovunv4si (__a);
7639 }
7640 
7641 __extension__ extern __inline uint32x2_t
7642 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s64(int64x2_t __a)7643 vqmovun_s64 (int64x2_t __a)
7644 {
7645   return (uint32x2_t)__builtin_neon_vqmovunv2di (__a);
7646 }
7647 
7648 __extension__ extern __inline int16x8_t
7649 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s8(int8x8_t __a)7650 vmovl_s8 (int8x8_t __a)
7651 {
7652   return (int16x8_t)__builtin_neon_vmovlsv8qi (__a);
7653 }
7654 
7655 __extension__ extern __inline int32x4_t
7656 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s16(int16x4_t __a)7657 vmovl_s16 (int16x4_t __a)
7658 {
7659   return (int32x4_t)__builtin_neon_vmovlsv4hi (__a);
7660 }
7661 
7662 __extension__ extern __inline int64x2_t
7663 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s32(int32x2_t __a)7664 vmovl_s32 (int32x2_t __a)
7665 {
7666   return (int64x2_t)__builtin_neon_vmovlsv2si (__a);
7667 }
7668 
7669 __extension__ extern __inline uint16x8_t
7670 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u8(uint8x8_t __a)7671 vmovl_u8 (uint8x8_t __a)
7672 {
7673   return (uint16x8_t)__builtin_neon_vmovluv8qi ((int8x8_t) __a);
7674 }
7675 
7676 __extension__ extern __inline uint32x4_t
7677 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u16(uint16x4_t __a)7678 vmovl_u16 (uint16x4_t __a)
7679 {
7680   return (uint32x4_t)__builtin_neon_vmovluv4hi ((int16x4_t) __a);
7681 }
7682 
7683 __extension__ extern __inline uint64x2_t
7684 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u32(uint32x2_t __a)7685 vmovl_u32 (uint32x2_t __a)
7686 {
7687   return (uint64x2_t)__builtin_neon_vmovluv2si ((int32x2_t) __a);
7688 }
7689 
7690 __extension__ extern __inline int8x8_t
7691 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_s8(int8x8_t __a,int8x8_t __b)7692 vtbl1_s8 (int8x8_t __a, int8x8_t __b)
7693 {
7694   return (int8x8_t)__builtin_neon_vtbl1v8qi (__a, __b);
7695 }
7696 
7697 __extension__ extern __inline uint8x8_t
7698 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_u8(uint8x8_t __a,uint8x8_t __b)7699 vtbl1_u8 (uint8x8_t __a, uint8x8_t __b)
7700 {
7701   return (uint8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
7702 }
7703 
7704 __extension__ extern __inline poly8x8_t
7705 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_p8(poly8x8_t __a,uint8x8_t __b)7706 vtbl1_p8 (poly8x8_t __a, uint8x8_t __b)
7707 {
7708   return (poly8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
7709 }
7710 
7711 __extension__ extern __inline int8x8_t
7712 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_s8(int8x8x2_t __a,int8x8_t __b)7713 vtbl2_s8 (int8x8x2_t __a, int8x8_t __b)
7714 {
7715   union { int8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
7716   return (int8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, __b);
7717 }
7718 
7719 __extension__ extern __inline uint8x8_t
7720 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_u8(uint8x8x2_t __a,uint8x8_t __b)7721 vtbl2_u8 (uint8x8x2_t __a, uint8x8_t __b)
7722 {
7723   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
7724   return (uint8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
7725 }
7726 
7727 __extension__ extern __inline poly8x8_t
7728 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_p8(poly8x8x2_t __a,uint8x8_t __b)7729 vtbl2_p8 (poly8x8x2_t __a, uint8x8_t __b)
7730 {
7731   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
7732   return (poly8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
7733 }
7734 
7735 __extension__ extern __inline int8x8_t
7736 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_s8(int8x8x3_t __a,int8x8_t __b)7737 vtbl3_s8 (int8x8x3_t __a, int8x8_t __b)
7738 {
7739   union { int8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
7740   return (int8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, __b);
7741 }
7742 
7743 __extension__ extern __inline uint8x8_t
7744 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_u8(uint8x8x3_t __a,uint8x8_t __b)7745 vtbl3_u8 (uint8x8x3_t __a, uint8x8_t __b)
7746 {
7747   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
7748   return (uint8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
7749 }
7750 
7751 __extension__ extern __inline poly8x8_t
7752 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_p8(poly8x8x3_t __a,uint8x8_t __b)7753 vtbl3_p8 (poly8x8x3_t __a, uint8x8_t __b)
7754 {
7755   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
7756   return (poly8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
7757 }
7758 
7759 __extension__ extern __inline int8x8_t
7760 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_s8(int8x8x4_t __a,int8x8_t __b)7761 vtbl4_s8 (int8x8x4_t __a, int8x8_t __b)
7762 {
7763   union { int8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
7764   return (int8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, __b);
7765 }
7766 
7767 __extension__ extern __inline uint8x8_t
7768 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_u8(uint8x8x4_t __a,uint8x8_t __b)7769 vtbl4_u8 (uint8x8x4_t __a, uint8x8_t __b)
7770 {
7771   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
7772   return (uint8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
7773 }
7774 
7775 __extension__ extern __inline poly8x8_t
7776 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_p8(poly8x8x4_t __a,uint8x8_t __b)7777 vtbl4_p8 (poly8x8x4_t __a, uint8x8_t __b)
7778 {
7779   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
7780   return (poly8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
7781 }
7782 
7783 __extension__ extern __inline int8x8_t
7784 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)7785 vtbx1_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
7786 {
7787   return (int8x8_t)__builtin_neon_vtbx1v8qi (__a, __b, __c);
7788 }
7789 
7790 __extension__ extern __inline uint8x8_t
7791 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)7792 vtbx1_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
7793 {
7794   return (uint8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7795 }
7796 
7797 __extension__ extern __inline poly8x8_t
7798 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_p8(poly8x8_t __a,poly8x8_t __b,uint8x8_t __c)7799 vtbx1_p8 (poly8x8_t __a, poly8x8_t __b, uint8x8_t __c)
7800 {
7801   return (poly8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7802 }
7803 
7804 __extension__ extern __inline int8x8_t
7805 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_s8(int8x8_t __a,int8x8x2_t __b,int8x8_t __c)7806 vtbx2_s8 (int8x8_t __a, int8x8x2_t __b, int8x8_t __c)
7807 {
7808   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
7809   return (int8x8_t)__builtin_neon_vtbx2v8qi (__a, __bu.__o, __c);
7810 }
7811 
7812 __extension__ extern __inline uint8x8_t
7813 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_u8(uint8x8_t __a,uint8x8x2_t __b,uint8x8_t __c)7814 vtbx2_u8 (uint8x8_t __a, uint8x8x2_t __b, uint8x8_t __c)
7815 {
7816   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
7817   return (uint8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
7818 }
7819 
7820 __extension__ extern __inline poly8x8_t
7821 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_p8(poly8x8_t __a,poly8x8x2_t __b,uint8x8_t __c)7822 vtbx2_p8 (poly8x8_t __a, poly8x8x2_t __b, uint8x8_t __c)
7823 {
7824   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
7825   return (poly8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
7826 }
7827 
7828 __extension__ extern __inline int8x8_t
7829 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_s8(int8x8_t __a,int8x8x3_t __b,int8x8_t __c)7830 vtbx3_s8 (int8x8_t __a, int8x8x3_t __b, int8x8_t __c)
7831 {
7832   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
7833   return (int8x8_t)__builtin_neon_vtbx3v8qi (__a, __bu.__o, __c);
7834 }
7835 
7836 __extension__ extern __inline uint8x8_t
7837 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_u8(uint8x8_t __a,uint8x8x3_t __b,uint8x8_t __c)7838 vtbx3_u8 (uint8x8_t __a, uint8x8x3_t __b, uint8x8_t __c)
7839 {
7840   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
7841   return (uint8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
7842 }
7843 
7844 __extension__ extern __inline poly8x8_t
7845 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_p8(poly8x8_t __a,poly8x8x3_t __b,uint8x8_t __c)7846 vtbx3_p8 (poly8x8_t __a, poly8x8x3_t __b, uint8x8_t __c)
7847 {
7848   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
7849   return (poly8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
7850 }
7851 
7852 __extension__ extern __inline int8x8_t
7853 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_s8(int8x8_t __a,int8x8x4_t __b,int8x8_t __c)7854 vtbx4_s8 (int8x8_t __a, int8x8x4_t __b, int8x8_t __c)
7855 {
7856   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
7857   return (int8x8_t)__builtin_neon_vtbx4v8qi (__a, __bu.__o, __c);
7858 }
7859 
7860 __extension__ extern __inline uint8x8_t
7861 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_u8(uint8x8_t __a,uint8x8x4_t __b,uint8x8_t __c)7862 vtbx4_u8 (uint8x8_t __a, uint8x8x4_t __b, uint8x8_t __c)
7863 {
7864   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
7865   return (uint8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
7866 }
7867 
7868 __extension__ extern __inline poly8x8_t
7869 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_p8(poly8x8_t __a,poly8x8x4_t __b,uint8x8_t __c)7870 vtbx4_p8 (poly8x8_t __a, poly8x8x4_t __b, uint8x8_t __c)
7871 {
7872   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
7873   return (poly8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
7874 }
7875 
7876 __extension__ extern __inline int16x4_t
7877 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)7878 vmul_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
7879 {
7880   return (int16x4_t)__builtin_neon_vmul_lanev4hi (__a, __b, __c);
7881 }
7882 
7883 __extension__ extern __inline int32x2_t
7884 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)7885 vmul_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
7886 {
7887   return (int32x2_t)__builtin_neon_vmul_lanev2si (__a, __b, __c);
7888 }
7889 
7890 __extension__ extern __inline float32x2_t
7891 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_f32(float32x2_t __a,float32x2_t __b,const int __c)7892 vmul_lane_f32 (float32x2_t __a, float32x2_t __b, const int __c)
7893 {
7894   return (float32x2_t)__builtin_neon_vmul_lanev2sf (__a, __b, __c);
7895 }
7896 
7897 __extension__ extern __inline uint16x4_t
7898 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __c)7899 vmul_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
7900 {
7901   return (uint16x4_t)__builtin_neon_vmul_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
7902 }
7903 
7904 __extension__ extern __inline uint32x2_t
7905 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __c)7906 vmul_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
7907 {
7908   return (uint32x2_t)__builtin_neon_vmul_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c);
7909 }
7910 
7911 __extension__ extern __inline int16x8_t
7912 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)7913 vmulq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
7914 {
7915   return (int16x8_t)__builtin_neon_vmul_lanev8hi (__a, __b, __c);
7916 }
7917 
7918 __extension__ extern __inline int32x4_t
7919 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)7920 vmulq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
7921 {
7922   return (int32x4_t)__builtin_neon_vmul_lanev4si (__a, __b, __c);
7923 }
7924 
7925 __extension__ extern __inline float32x4_t
7926 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_f32(float32x4_t __a,float32x2_t __b,const int __c)7927 vmulq_lane_f32 (float32x4_t __a, float32x2_t __b, const int __c)
7928 {
7929   return (float32x4_t)__builtin_neon_vmul_lanev4sf (__a, __b, __c);
7930 }
7931 
7932 __extension__ extern __inline uint16x8_t
7933 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_u16(uint16x8_t __a,uint16x4_t __b,const int __c)7934 vmulq_lane_u16 (uint16x8_t __a, uint16x4_t __b, const int __c)
7935 {
7936   return (uint16x8_t)__builtin_neon_vmul_lanev8hi ((int16x8_t) __a, (int16x4_t) __b, __c);
7937 }
7938 
7939 __extension__ extern __inline uint32x4_t
7940 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_u32(uint32x4_t __a,uint32x2_t __b,const int __c)7941 vmulq_lane_u32 (uint32x4_t __a, uint32x2_t __b, const int __c)
7942 {
7943   return (uint32x4_t)__builtin_neon_vmul_lanev4si ((int32x4_t) __a, (int32x2_t) __b, __c);
7944 }
7945 
7946 __extension__ extern __inline int16x4_t
7947 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)7948 vmla_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
7949 {
7950   return (int16x4_t)__builtin_neon_vmla_lanev4hi (__a, __b, __c, __d);
7951 }
7952 
7953 __extension__ extern __inline int32x2_t
7954 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)7955 vmla_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
7956 {
7957   return (int32x2_t)__builtin_neon_vmla_lanev2si (__a, __b, __c, __d);
7958 }
7959 
7960 __extension__ extern __inline float32x2_t
7961 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __d)7962 vmla_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
7963 {
7964   return (float32x2_t)__builtin_neon_vmla_lanev2sf (__a, __b, __c, __d);
7965 }
7966 
7967 __extension__ extern __inline uint16x4_t
7968 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)7969 vmla_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
7970 {
7971   return (uint16x4_t)__builtin_neon_vmla_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d);
7972 }
7973 
7974 __extension__ extern __inline uint32x2_t
7975 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)7976 vmla_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
7977 {
7978   return (uint32x2_t)__builtin_neon_vmla_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d);
7979 }
7980 
7981 __extension__ extern __inline int16x8_t
7982 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)7983 vmlaq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
7984 {
7985   return (int16x8_t)__builtin_neon_vmla_lanev8hi (__a, __b, __c, __d);
7986 }
7987 
7988 __extension__ extern __inline int32x4_t
7989 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)7990 vmlaq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
7991 {
7992   return (int32x4_t)__builtin_neon_vmla_lanev4si (__a, __b, __c, __d);
7993 }
7994 
7995 __extension__ extern __inline float32x4_t
7996 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __d)7997 vmlaq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
7998 {
7999   return (float32x4_t)__builtin_neon_vmla_lanev4sf (__a, __b, __c, __d);
8000 }
8001 
8002 __extension__ extern __inline uint16x8_t
8003 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __d)8004 vmlaq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
8005 {
8006   return (uint16x8_t)__builtin_neon_vmla_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d);
8007 }
8008 
8009 __extension__ extern __inline uint32x4_t
8010 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __d)8011 vmlaq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
8012 {
8013   return (uint32x4_t)__builtin_neon_vmla_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d);
8014 }
8015 
8016 __extension__ extern __inline int32x4_t
8017 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8018 vmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8019 {
8020   return (int32x4_t)__builtin_neon_vmlals_lanev4hi (__a, __b, __c, __d);
8021 }
8022 
8023 __extension__ extern __inline int64x2_t
8024 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8025 vmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8026 {
8027   return (int64x2_t)__builtin_neon_vmlals_lanev2si (__a, __b, __c, __d);
8028 }
8029 
8030 __extension__ extern __inline uint32x4_t
8031 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)8032 vmlal_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
8033 {
8034   return (uint32x4_t)__builtin_neon_vmlalu_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d);
8035 }
8036 
8037 __extension__ extern __inline uint64x2_t
8038 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)8039 vmlal_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
8040 {
8041   return (uint64x2_t)__builtin_neon_vmlalu_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d);
8042 }
8043 
8044 __extension__ extern __inline int32x4_t
8045 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8046 vqdmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8047 {
8048   return (int32x4_t)__builtin_neon_vqdmlal_lanev4hi (__a, __b, __c, __d);
8049 }
8050 
8051 __extension__ extern __inline int64x2_t
8052 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8053 vqdmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8054 {
8055   return (int64x2_t)__builtin_neon_vqdmlal_lanev2si (__a, __b, __c, __d);
8056 }
8057 
8058 __extension__ extern __inline int16x4_t
8059 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8060 vmls_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8061 {
8062   return (int16x4_t)__builtin_neon_vmls_lanev4hi (__a, __b, __c, __d);
8063 }
8064 
8065 __extension__ extern __inline int32x2_t
8066 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8067 vmls_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8068 {
8069   return (int32x2_t)__builtin_neon_vmls_lanev2si (__a, __b, __c, __d);
8070 }
8071 
8072 __extension__ extern __inline float32x2_t
8073 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __d)8074 vmls_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
8075 {
8076   return (float32x2_t)__builtin_neon_vmls_lanev2sf (__a, __b, __c, __d);
8077 }
8078 
8079 __extension__ extern __inline uint16x4_t
8080 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)8081 vmls_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
8082 {
8083   return (uint16x4_t)__builtin_neon_vmls_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d);
8084 }
8085 
8086 __extension__ extern __inline uint32x2_t
8087 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)8088 vmls_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
8089 {
8090   return (uint32x2_t)__builtin_neon_vmls_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d);
8091 }
8092 
8093 __extension__ extern __inline int16x8_t
8094 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)8095 vmlsq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
8096 {
8097   return (int16x8_t)__builtin_neon_vmls_lanev8hi (__a, __b, __c, __d);
8098 }
8099 
8100 __extension__ extern __inline int32x4_t
8101 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)8102 vmlsq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
8103 {
8104   return (int32x4_t)__builtin_neon_vmls_lanev4si (__a, __b, __c, __d);
8105 }
8106 
8107 __extension__ extern __inline float32x4_t
8108 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __d)8109 vmlsq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
8110 {
8111   return (float32x4_t)__builtin_neon_vmls_lanev4sf (__a, __b, __c, __d);
8112 }
8113 
8114 __extension__ extern __inline uint16x8_t
8115 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __d)8116 vmlsq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
8117 {
8118   return (uint16x8_t)__builtin_neon_vmls_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d);
8119 }
8120 
8121 __extension__ extern __inline uint32x4_t
8122 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __d)8123 vmlsq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
8124 {
8125   return (uint32x4_t)__builtin_neon_vmls_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d);
8126 }
8127 
8128 __extension__ extern __inline int32x4_t
8129 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8130 vmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8131 {
8132   return (int32x4_t)__builtin_neon_vmlsls_lanev4hi (__a, __b, __c, __d);
8133 }
8134 
8135 __extension__ extern __inline int64x2_t
8136 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8137 vmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8138 {
8139   return (int64x2_t)__builtin_neon_vmlsls_lanev2si (__a, __b, __c, __d);
8140 }
8141 
8142 __extension__ extern __inline uint32x4_t
8143 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_lane_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)8144 vmlsl_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
8145 {
8146   return (uint32x4_t)__builtin_neon_vmlslu_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d);
8147 }
8148 
8149 __extension__ extern __inline uint64x2_t
8150 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_lane_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)8151 vmlsl_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
8152 {
8153   return (uint64x2_t)__builtin_neon_vmlslu_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d);
8154 }
8155 
8156 __extension__ extern __inline int32x4_t
8157 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8158 vqdmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8159 {
8160   return (int32x4_t)__builtin_neon_vqdmlsl_lanev4hi (__a, __b, __c, __d);
8161 }
8162 
8163 __extension__ extern __inline int64x2_t
8164 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8165 vqdmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8166 {
8167   return (int64x2_t)__builtin_neon_vqdmlsl_lanev2si (__a, __b, __c, __d);
8168 }
8169 
8170 __extension__ extern __inline int32x4_t
8171 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)8172 vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
8173 {
8174   return (int32x4_t)__builtin_neon_vmulls_lanev4hi (__a, __b, __c);
8175 }
8176 
8177 __extension__ extern __inline int64x2_t
8178 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)8179 vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
8180 {
8181   return (int64x2_t)__builtin_neon_vmulls_lanev2si (__a, __b, __c);
8182 }
8183 
8184 __extension__ extern __inline uint32x4_t
8185 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __c)8186 vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
8187 {
8188   return (uint32x4_t)__builtin_neon_vmullu_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
8189 }
8190 
8191 __extension__ extern __inline uint64x2_t
8192 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __c)8193 vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
8194 {
8195   return (uint64x2_t)__builtin_neon_vmullu_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c);
8196 }
8197 
8198 __extension__ extern __inline int32x4_t
8199 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)8200 vqdmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
8201 {
8202   return (int32x4_t)__builtin_neon_vqdmull_lanev4hi (__a, __b, __c);
8203 }
8204 
8205 __extension__ extern __inline int64x2_t
8206 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)8207 vqdmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
8208 {
8209   return (int64x2_t)__builtin_neon_vqdmull_lanev2si (__a, __b, __c);
8210 }
8211 
8212 __extension__ extern __inline int16x8_t
8213 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)8214 vqdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
8215 {
8216   return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c);
8217 }
8218 
8219 __extension__ extern __inline int32x4_t
8220 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)8221 vqdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
8222 {
8223   return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c);
8224 }
8225 
8226 __extension__ extern __inline int16x4_t
8227 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)8228 vqdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
8229 {
8230   return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c);
8231 }
8232 
8233 __extension__ extern __inline int32x2_t
8234 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)8235 vqdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
8236 {
8237   return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c);
8238 }
8239 
8240 __extension__ extern __inline int16x8_t
8241 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)8242 vqrdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
8243 {
8244   return (int16x8_t)__builtin_neon_vqrdmulh_lanev8hi (__a, __b, __c);
8245 }
8246 
8247 __extension__ extern __inline int32x4_t
8248 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)8249 vqrdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
8250 {
8251   return (int32x4_t)__builtin_neon_vqrdmulh_lanev4si (__a, __b, __c);
8252 }
8253 
8254 __extension__ extern __inline int16x4_t
8255 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)8256 vqrdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
8257 {
8258   return (int16x4_t)__builtin_neon_vqrdmulh_lanev4hi (__a, __b, __c);
8259 }
8260 
8261 __extension__ extern __inline int32x2_t
8262 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)8263 vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
8264 {
8265   return (int32x2_t)__builtin_neon_vqrdmulh_lanev2si (__a, __b, __c);
8266 }
8267 
8268 #ifdef __ARM_FEATURE_QRDMX
8269 __extension__ extern __inline int16x8_t
8270 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)8271 vqrdmlahq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
8272 {
8273   return (int16x8_t)__builtin_neon_vqrdmlah_lanev8hi (__a, __b, __c, __d);
8274 }
8275 
8276 __extension__ extern __inline int32x4_t
8277 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)8278 vqrdmlahq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
8279 {
8280   return (int32x4_t)__builtin_neon_vqrdmlah_lanev4si (__a, __b, __c, __d);
8281 }
8282 
8283 __extension__ extern __inline int16x4_t
8284 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8285 vqrdmlah_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8286 {
8287   return (int16x4_t)__builtin_neon_vqrdmlah_lanev4hi (__a, __b, __c, __d);
8288 }
8289 
8290 __extension__ extern __inline int32x2_t
8291 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8292 vqrdmlah_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8293 {
8294   return (int32x2_t)__builtin_neon_vqrdmlah_lanev2si (__a, __b, __c, __d);
8295 }
8296 
8297 __extension__ extern __inline int16x8_t
8298 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)8299 vqrdmlshq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
8300 {
8301   return (int16x8_t)__builtin_neon_vqrdmlsh_lanev8hi (__a, __b, __c, __d);
8302 }
8303 
8304 __extension__ extern __inline int32x4_t
8305 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)8306 vqrdmlshq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
8307 {
8308   return (int32x4_t)__builtin_neon_vqrdmlsh_lanev4si (__a, __b, __c, __d);
8309 }
8310 
8311 __extension__ extern __inline int16x4_t
8312 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)8313 vqrdmlsh_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
8314 {
8315   return (int16x4_t)__builtin_neon_vqrdmlsh_lanev4hi (__a, __b, __c, __d);
8316 }
8317 
8318 __extension__ extern __inline int32x2_t
8319 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)8320 vqrdmlsh_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
8321 {
8322   return (int32x2_t)__builtin_neon_vqrdmlsh_lanev2si (__a, __b, __c, __d);
8323 }
8324 #endif
8325 
8326 __extension__ extern __inline int16x4_t
8327 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_s16(int16x4_t __a,int16_t __b)8328 vmul_n_s16 (int16x4_t __a, int16_t __b)
8329 {
8330   return (int16x4_t)__builtin_neon_vmul_nv4hi (__a, (__builtin_neon_hi) __b);
8331 }
8332 
8333 __extension__ extern __inline int32x2_t
8334 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_s32(int32x2_t __a,int32_t __b)8335 vmul_n_s32 (int32x2_t __a, int32_t __b)
8336 {
8337   return (int32x2_t)__builtin_neon_vmul_nv2si (__a, (__builtin_neon_si) __b);
8338 }
8339 
8340 __extension__ extern __inline float32x2_t
8341 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_f32(float32x2_t __a,float32_t __b)8342 vmul_n_f32 (float32x2_t __a, float32_t __b)
8343 {
8344   return (float32x2_t)__builtin_neon_vmul_nv2sf (__a, (__builtin_neon_sf) __b);
8345 }
8346 
8347 __extension__ extern __inline uint16x4_t
8348 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_u16(uint16x4_t __a,uint16_t __b)8349 vmul_n_u16 (uint16x4_t __a, uint16_t __b)
8350 {
8351   return (uint16x4_t)__builtin_neon_vmul_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b);
8352 }
8353 
8354 __extension__ extern __inline uint32x2_t
8355 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_u32(uint32x2_t __a,uint32_t __b)8356 vmul_n_u32 (uint32x2_t __a, uint32_t __b)
8357 {
8358   return (uint32x2_t)__builtin_neon_vmul_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b);
8359 }
8360 
8361 __extension__ extern __inline int16x8_t
8362 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_s16(int16x8_t __a,int16_t __b)8363 vmulq_n_s16 (int16x8_t __a, int16_t __b)
8364 {
8365   return (int16x8_t)__builtin_neon_vmul_nv8hi (__a, (__builtin_neon_hi) __b);
8366 }
8367 
8368 __extension__ extern __inline int32x4_t
8369 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_s32(int32x4_t __a,int32_t __b)8370 vmulq_n_s32 (int32x4_t __a, int32_t __b)
8371 {
8372   return (int32x4_t)__builtin_neon_vmul_nv4si (__a, (__builtin_neon_si) __b);
8373 }
8374 
8375 __extension__ extern __inline float32x4_t
8376 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_f32(float32x4_t __a,float32_t __b)8377 vmulq_n_f32 (float32x4_t __a, float32_t __b)
8378 {
8379   return (float32x4_t)__builtin_neon_vmul_nv4sf (__a, (__builtin_neon_sf) __b);
8380 }
8381 
8382 __extension__ extern __inline uint16x8_t
8383 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_u16(uint16x8_t __a,uint16_t __b)8384 vmulq_n_u16 (uint16x8_t __a, uint16_t __b)
8385 {
8386   return (uint16x8_t)__builtin_neon_vmul_nv8hi ((int16x8_t) __a, (__builtin_neon_hi) __b);
8387 }
8388 
8389 __extension__ extern __inline uint32x4_t
8390 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_u32(uint32x4_t __a,uint32_t __b)8391 vmulq_n_u32 (uint32x4_t __a, uint32_t __b)
8392 {
8393   return (uint32x4_t)__builtin_neon_vmul_nv4si ((int32x4_t) __a, (__builtin_neon_si) __b);
8394 }
8395 
8396 __extension__ extern __inline int32x4_t
8397 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_s16(int16x4_t __a,int16_t __b)8398 vmull_n_s16 (int16x4_t __a, int16_t __b)
8399 {
8400   return (int32x4_t)__builtin_neon_vmulls_nv4hi (__a, (__builtin_neon_hi) __b);
8401 }
8402 
8403 __extension__ extern __inline int64x2_t
8404 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_s32(int32x2_t __a,int32_t __b)8405 vmull_n_s32 (int32x2_t __a, int32_t __b)
8406 {
8407   return (int64x2_t)__builtin_neon_vmulls_nv2si (__a, (__builtin_neon_si) __b);
8408 }
8409 
8410 __extension__ extern __inline uint32x4_t
8411 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_u16(uint16x4_t __a,uint16_t __b)8412 vmull_n_u16 (uint16x4_t __a, uint16_t __b)
8413 {
8414   return (uint32x4_t)__builtin_neon_vmullu_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b);
8415 }
8416 
8417 __extension__ extern __inline uint64x2_t
8418 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_u32(uint32x2_t __a,uint32_t __b)8419 vmull_n_u32 (uint32x2_t __a, uint32_t __b)
8420 {
8421   return (uint64x2_t)__builtin_neon_vmullu_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b);
8422 }
8423 
8424 __extension__ extern __inline int32x4_t
8425 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_n_s16(int16x4_t __a,int16_t __b)8426 vqdmull_n_s16 (int16x4_t __a, int16_t __b)
8427 {
8428   return (int32x4_t)__builtin_neon_vqdmull_nv4hi (__a, (__builtin_neon_hi) __b);
8429 }
8430 
8431 __extension__ extern __inline int64x2_t
8432 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_n_s32(int32x2_t __a,int32_t __b)8433 vqdmull_n_s32 (int32x2_t __a, int32_t __b)
8434 {
8435   return (int64x2_t)__builtin_neon_vqdmull_nv2si (__a, (__builtin_neon_si) __b);
8436 }
8437 
8438 __extension__ extern __inline int16x8_t
8439 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_n_s16(int16x8_t __a,int16_t __b)8440 vqdmulhq_n_s16 (int16x8_t __a, int16_t __b)
8441 {
8442   return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b);
8443 }
8444 
8445 __extension__ extern __inline int32x4_t
8446 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_n_s32(int32x4_t __a,int32_t __b)8447 vqdmulhq_n_s32 (int32x4_t __a, int32_t __b)
8448 {
8449   return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b);
8450 }
8451 
8452 __extension__ extern __inline int16x4_t
8453 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_n_s16(int16x4_t __a,int16_t __b)8454 vqdmulh_n_s16 (int16x4_t __a, int16_t __b)
8455 {
8456   return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b);
8457 }
8458 
8459 __extension__ extern __inline int32x2_t
8460 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_n_s32(int32x2_t __a,int32_t __b)8461 vqdmulh_n_s32 (int32x2_t __a, int32_t __b)
8462 {
8463   return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b);
8464 }
8465 
8466 __extension__ extern __inline int16x8_t
8467 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_n_s16(int16x8_t __a,int16_t __b)8468 vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b)
8469 {
8470   return (int16x8_t)__builtin_neon_vqrdmulh_nv8hi (__a, (__builtin_neon_hi) __b);
8471 }
8472 
8473 __extension__ extern __inline int32x4_t
8474 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_n_s32(int32x4_t __a,int32_t __b)8475 vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b)
8476 {
8477   return (int32x4_t)__builtin_neon_vqrdmulh_nv4si (__a, (__builtin_neon_si) __b);
8478 }
8479 
8480 __extension__ extern __inline int16x4_t
8481 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_n_s16(int16x4_t __a,int16_t __b)8482 vqrdmulh_n_s16 (int16x4_t __a, int16_t __b)
8483 {
8484   return (int16x4_t)__builtin_neon_vqrdmulh_nv4hi (__a, (__builtin_neon_hi) __b);
8485 }
8486 
8487 __extension__ extern __inline int32x2_t
8488 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_n_s32(int32x2_t __a,int32_t __b)8489 vqrdmulh_n_s32 (int32x2_t __a, int32_t __b)
8490 {
8491   return (int32x2_t)__builtin_neon_vqrdmulh_nv2si (__a, (__builtin_neon_si) __b);
8492 }
8493 
8494 __extension__ extern __inline int16x4_t
8495 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)8496 vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
8497 {
8498   return (int16x4_t)__builtin_neon_vmla_nv4hi (__a, __b, (__builtin_neon_hi) __c);
8499 }
8500 
8501 __extension__ extern __inline int32x2_t
8502 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)8503 vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
8504 {
8505   return (int32x2_t)__builtin_neon_vmla_nv2si (__a, __b, (__builtin_neon_si) __c);
8506 }
8507 
8508 __extension__ extern __inline float32x2_t
8509 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)8510 vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
8511 {
8512   return (float32x2_t)__builtin_neon_vmla_nv2sf (__a, __b, (__builtin_neon_sf) __c);
8513 }
8514 
8515 __extension__ extern __inline uint16x4_t
8516 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)8517 vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
8518 {
8519   return (uint16x4_t)__builtin_neon_vmla_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c);
8520 }
8521 
8522 __extension__ extern __inline uint32x2_t
8523 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)8524 vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
8525 {
8526   return (uint32x2_t)__builtin_neon_vmla_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c);
8527 }
8528 
8529 __extension__ extern __inline int16x8_t
8530 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)8531 vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
8532 {
8533   return (int16x8_t)__builtin_neon_vmla_nv8hi (__a, __b, (__builtin_neon_hi) __c);
8534 }
8535 
8536 __extension__ extern __inline int32x4_t
8537 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)8538 vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
8539 {
8540   return (int32x4_t)__builtin_neon_vmla_nv4si (__a, __b, (__builtin_neon_si) __c);
8541 }
8542 
8543 __extension__ extern __inline float32x4_t
8544 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)8545 vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
8546 {
8547   return (float32x4_t)__builtin_neon_vmla_nv4sf (__a, __b, (__builtin_neon_sf) __c);
8548 }
8549 
8550 __extension__ extern __inline uint16x8_t
8551 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)8552 vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
8553 {
8554   return (uint16x8_t)__builtin_neon_vmla_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c);
8555 }
8556 
8557 __extension__ extern __inline uint32x4_t
8558 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)8559 vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
8560 {
8561   return (uint32x4_t)__builtin_neon_vmla_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c);
8562 }
8563 
8564 __extension__ extern __inline int32x4_t
8565 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)8566 vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
8567 {
8568   return (int32x4_t)__builtin_neon_vmlals_nv4hi (__a, __b, (__builtin_neon_hi) __c);
8569 }
8570 
8571 __extension__ extern __inline int64x2_t
8572 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)8573 vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
8574 {
8575   return (int64x2_t)__builtin_neon_vmlals_nv2si (__a, __b, (__builtin_neon_si) __c);
8576 }
8577 
8578 __extension__ extern __inline uint32x4_t
8579 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)8580 vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
8581 {
8582   return (uint32x4_t)__builtin_neon_vmlalu_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c);
8583 }
8584 
8585 __extension__ extern __inline uint64x2_t
8586 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)8587 vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
8588 {
8589   return (uint64x2_t)__builtin_neon_vmlalu_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c);
8590 }
8591 
8592 __extension__ extern __inline int32x4_t
8593 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)8594 vqdmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
8595 {
8596   return (int32x4_t)__builtin_neon_vqdmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c);
8597 }
8598 
8599 __extension__ extern __inline int64x2_t
8600 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)8601 vqdmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
8602 {
8603   return (int64x2_t)__builtin_neon_vqdmlal_nv2si (__a, __b, (__builtin_neon_si) __c);
8604 }
8605 
8606 __extension__ extern __inline int16x4_t
8607 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)8608 vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
8609 {
8610   return (int16x4_t)__builtin_neon_vmls_nv4hi (__a, __b, (__builtin_neon_hi) __c);
8611 }
8612 
8613 __extension__ extern __inline int32x2_t
8614 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)8615 vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
8616 {
8617   return (int32x2_t)__builtin_neon_vmls_nv2si (__a, __b, (__builtin_neon_si) __c);
8618 }
8619 
8620 __extension__ extern __inline float32x2_t
8621 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)8622 vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
8623 {
8624   return (float32x2_t)__builtin_neon_vmls_nv2sf (__a, __b, (__builtin_neon_sf) __c);
8625 }
8626 
8627 __extension__ extern __inline uint16x4_t
8628 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)8629 vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
8630 {
8631   return (uint16x4_t)__builtin_neon_vmls_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c);
8632 }
8633 
8634 __extension__ extern __inline uint32x2_t
8635 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)8636 vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
8637 {
8638   return (uint32x2_t)__builtin_neon_vmls_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c);
8639 }
8640 
8641 __extension__ extern __inline int16x8_t
8642 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)8643 vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
8644 {
8645   return (int16x8_t)__builtin_neon_vmls_nv8hi (__a, __b, (__builtin_neon_hi) __c);
8646 }
8647 
8648 __extension__ extern __inline int32x4_t
8649 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)8650 vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
8651 {
8652   return (int32x4_t)__builtin_neon_vmls_nv4si (__a, __b, (__builtin_neon_si) __c);
8653 }
8654 
8655 __extension__ extern __inline float32x4_t
8656 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)8657 vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
8658 {
8659   return (float32x4_t)__builtin_neon_vmls_nv4sf (__a, __b, (__builtin_neon_sf) __c);
8660 }
8661 
8662 __extension__ extern __inline uint16x8_t
8663 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)8664 vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
8665 {
8666   return (uint16x8_t)__builtin_neon_vmls_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c);
8667 }
8668 
8669 __extension__ extern __inline uint32x4_t
8670 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)8671 vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
8672 {
8673   return (uint32x4_t)__builtin_neon_vmls_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c);
8674 }
8675 
8676 __extension__ extern __inline int32x4_t
8677 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)8678 vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
8679 {
8680   return (int32x4_t)__builtin_neon_vmlsls_nv4hi (__a, __b, (__builtin_neon_hi) __c);
8681 }
8682 
8683 __extension__ extern __inline int64x2_t
8684 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)8685 vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
8686 {
8687   return (int64x2_t)__builtin_neon_vmlsls_nv2si (__a, __b, (__builtin_neon_si) __c);
8688 }
8689 
8690 __extension__ extern __inline uint32x4_t
8691 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)8692 vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
8693 {
8694   return (uint32x4_t)__builtin_neon_vmlslu_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c);
8695 }
8696 
8697 __extension__ extern __inline uint64x2_t
8698 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)8699 vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
8700 {
8701   return (uint64x2_t)__builtin_neon_vmlslu_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c);
8702 }
8703 
8704 __extension__ extern __inline int32x4_t
8705 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)8706 vqdmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
8707 {
8708   return (int32x4_t)__builtin_neon_vqdmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c);
8709 }
8710 
8711 __extension__ extern __inline int64x2_t
8712 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)8713 vqdmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
8714 {
8715   return (int64x2_t)__builtin_neon_vqdmlsl_nv2si (__a, __b, (__builtin_neon_si) __c);
8716 }
8717 
8718 #pragma GCC push_options
8719 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
8720 __extension__ extern __inline poly64x1_t
8721 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_p64(poly64x1_t __a,poly64x1_t __b,const int __c)8722 vext_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
8723 {
8724   return (poly64x1_t)__builtin_neon_vextdi (__a, __b, __c);
8725 }
8726 
8727 #pragma GCC pop_options
8728 __extension__ extern __inline int8x8_t
8729 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_s8(int8x8_t __a,int8x8_t __b,const int __c)8730 vext_s8 (int8x8_t __a, int8x8_t __b, const int __c)
8731 {
8732   return (int8x8_t)__builtin_neon_vextv8qi (__a, __b, __c);
8733 }
8734 
8735 __extension__ extern __inline int16x4_t
8736 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_s16(int16x4_t __a,int16x4_t __b,const int __c)8737 vext_s16 (int16x4_t __a, int16x4_t __b, const int __c)
8738 {
8739   return (int16x4_t)__builtin_neon_vextv4hi (__a, __b, __c);
8740 }
8741 
8742 __extension__ extern __inline int32x2_t
8743 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_s32(int32x2_t __a,int32x2_t __b,const int __c)8744 vext_s32 (int32x2_t __a, int32x2_t __b, const int __c)
8745 {
8746   return (int32x2_t)__builtin_neon_vextv2si (__a, __b, __c);
8747 }
8748 
8749 __extension__ extern __inline int64x1_t
8750 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_s64(int64x1_t __a,int64x1_t __b,const int __c)8751 vext_s64 (int64x1_t __a, int64x1_t __b, const int __c)
8752 {
8753   return (int64x1_t)__builtin_neon_vextdi (__a, __b, __c);
8754 }
8755 
8756 __extension__ extern __inline float32x2_t
8757 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_f32(float32x2_t __a,float32x2_t __b,const int __c)8758 vext_f32 (float32x2_t __a, float32x2_t __b, const int __c)
8759 {
8760   return (float32x2_t)__builtin_neon_vextv2sf (__a, __b, __c);
8761 }
8762 
8763 __extension__ extern __inline uint8x8_t
8764 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_u8(uint8x8_t __a,uint8x8_t __b,const int __c)8765 vext_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
8766 {
8767   return (uint8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
8768 }
8769 
8770 __extension__ extern __inline uint16x4_t
8771 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_u16(uint16x4_t __a,uint16x4_t __b,const int __c)8772 vext_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
8773 {
8774   return (uint16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
8775 }
8776 
8777 __extension__ extern __inline uint32x2_t
8778 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_u32(uint32x2_t __a,uint32x2_t __b,const int __c)8779 vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
8780 {
8781   return (uint32x2_t)__builtin_neon_vextv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
8782 }
8783 
8784 __extension__ extern __inline uint64x1_t
8785 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_u64(uint64x1_t __a,uint64x1_t __b,const int __c)8786 vext_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
8787 {
8788   return (uint64x1_t)__builtin_neon_vextdi ((int64x1_t) __a, (int64x1_t) __b, __c);
8789 }
8790 
8791 __extension__ extern __inline poly8x8_t
8792 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_p8(poly8x8_t __a,poly8x8_t __b,const int __c)8793 vext_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
8794 {
8795   return (poly8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
8796 }
8797 
8798 __extension__ extern __inline poly16x4_t
8799 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_p16(poly16x4_t __a,poly16x4_t __b,const int __c)8800 vext_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
8801 {
8802   return (poly16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
8803 }
8804 
8805 #pragma GCC push_options
8806 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
8807 __extension__ extern __inline poly64x2_t
8808 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p64(poly64x2_t __a,poly64x2_t __b,const int __c)8809 vextq_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
8810 {
8811   return (poly64x2_t)__builtin_neon_vextv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
8812 }
8813 
8814 #pragma GCC pop_options
8815 __extension__ extern __inline int8x16_t
8816 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s8(int8x16_t __a,int8x16_t __b,const int __c)8817 vextq_s8 (int8x16_t __a, int8x16_t __b, const int __c)
8818 {
8819   return (int8x16_t)__builtin_neon_vextv16qi (__a, __b, __c);
8820 }
8821 
8822 __extension__ extern __inline int16x8_t
8823 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s16(int16x8_t __a,int16x8_t __b,const int __c)8824 vextq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
8825 {
8826   return (int16x8_t)__builtin_neon_vextv8hi (__a, __b, __c);
8827 }
8828 
8829 __extension__ extern __inline int32x4_t
8830 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s32(int32x4_t __a,int32x4_t __b,const int __c)8831 vextq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
8832 {
8833   return (int32x4_t)__builtin_neon_vextv4si (__a, __b, __c);
8834 }
8835 
8836 __extension__ extern __inline int64x2_t
8837 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s64(int64x2_t __a,int64x2_t __b,const int __c)8838 vextq_s64 (int64x2_t __a, int64x2_t __b, const int __c)
8839 {
8840   return (int64x2_t)__builtin_neon_vextv2di (__a, __b, __c);
8841 }
8842 
8843 __extension__ extern __inline float32x4_t
8844 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_f32(float32x4_t __a,float32x4_t __b,const int __c)8845 vextq_f32 (float32x4_t __a, float32x4_t __b, const int __c)
8846 {
8847   return (float32x4_t)__builtin_neon_vextv4sf (__a, __b, __c);
8848 }
8849 
8850 __extension__ extern __inline uint8x16_t
8851 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u8(uint8x16_t __a,uint8x16_t __b,const int __c)8852 vextq_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
8853 {
8854   return (uint8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
8855 }
8856 
8857 __extension__ extern __inline uint16x8_t
8858 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u16(uint16x8_t __a,uint16x8_t __b,const int __c)8859 vextq_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
8860 {
8861   return (uint16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
8862 }
8863 
8864 __extension__ extern __inline uint32x4_t
8865 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u32(uint32x4_t __a,uint32x4_t __b,const int __c)8866 vextq_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
8867 {
8868   return (uint32x4_t)__builtin_neon_vextv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
8869 }
8870 
8871 __extension__ extern __inline uint64x2_t
8872 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u64(uint64x2_t __a,uint64x2_t __b,const int __c)8873 vextq_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
8874 {
8875   return (uint64x2_t)__builtin_neon_vextv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
8876 }
8877 
8878 __extension__ extern __inline poly8x16_t
8879 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p8(poly8x16_t __a,poly8x16_t __b,const int __c)8880 vextq_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
8881 {
8882   return (poly8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
8883 }
8884 
8885 __extension__ extern __inline poly16x8_t
8886 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p16(poly16x8_t __a,poly16x8_t __b,const int __c)8887 vextq_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
8888 {
8889   return (poly16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
8890 }
8891 
8892 __extension__ extern __inline int8x8_t
8893 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s8(int8x8_t __a)8894 vrev64_s8 (int8x8_t __a)
8895 {
8896   return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
8897 }
8898 
8899 __extension__ extern __inline int16x4_t
8900 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s16(int16x4_t __a)8901 vrev64_s16 (int16x4_t __a)
8902 {
8903   return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
8904 }
8905 
8906 __extension__ extern __inline int32x2_t
8907 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s32(int32x2_t __a)8908 vrev64_s32 (int32x2_t __a)
8909 {
8910   return (int32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
8911 }
8912 
8913 __extension__ extern __inline float32x2_t
8914 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_f32(float32x2_t __a)8915 vrev64_f32 (float32x2_t __a)
8916 {
8917   return (float32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
8918 }
8919 
8920 __extension__ extern __inline uint8x8_t
8921 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u8(uint8x8_t __a)8922 vrev64_u8 (uint8x8_t __a)
8923 {
8924   return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
8925 }
8926 
8927 __extension__ extern __inline uint16x4_t
8928 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u16(uint16x4_t __a)8929 vrev64_u16 (uint16x4_t __a)
8930 {
8931   return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
8932 }
8933 
8934 __extension__ extern __inline uint32x2_t
8935 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u32(uint32x2_t __a)8936 vrev64_u32 (uint32x2_t __a)
8937 {
8938   return (uint32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
8939 }
8940 
8941 __extension__ extern __inline poly8x8_t
8942 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_p8(poly8x8_t __a)8943 vrev64_p8 (poly8x8_t __a)
8944 {
8945   return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
8946 }
8947 
8948 __extension__ extern __inline poly16x4_t
8949 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_p16(poly16x4_t __a)8950 vrev64_p16 (poly16x4_t __a)
8951 {
8952   return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
8953 }
8954 
8955 __extension__ extern __inline int8x16_t
8956 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s8(int8x16_t __a)8957 vrev64q_s8 (int8x16_t __a)
8958 {
8959   return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
8960 }
8961 
8962 __extension__ extern __inline int16x8_t
8963 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s16(int16x8_t __a)8964 vrev64q_s16 (int16x8_t __a)
8965 {
8966   return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
8967 }
8968 
8969 __extension__ extern __inline int32x4_t
8970 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s32(int32x4_t __a)8971 vrev64q_s32 (int32x4_t __a)
8972 {
8973   return (int32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
8974 }
8975 
8976 __extension__ extern __inline float32x4_t
8977 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_f32(float32x4_t __a)8978 vrev64q_f32 (float32x4_t __a)
8979 {
8980   return (float32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
8981 }
8982 
8983 __extension__ extern __inline uint8x16_t
8984 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u8(uint8x16_t __a)8985 vrev64q_u8 (uint8x16_t __a)
8986 {
8987   return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
8988 }
8989 
8990 __extension__ extern __inline uint16x8_t
8991 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u16(uint16x8_t __a)8992 vrev64q_u16 (uint16x8_t __a)
8993 {
8994   return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
8995 }
8996 
8997 __extension__ extern __inline uint32x4_t
8998 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u32(uint32x4_t __a)8999 vrev64q_u32 (uint32x4_t __a)
9000 {
9001   return (uint32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
9002 }
9003 
9004 __extension__ extern __inline poly8x16_t
9005 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_p8(poly8x16_t __a)9006 vrev64q_p8 (poly8x16_t __a)
9007 {
9008   return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
9009 }
9010 
9011 __extension__ extern __inline poly16x8_t
9012 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_p16(poly16x8_t __a)9013 vrev64q_p16 (poly16x8_t __a)
9014 {
9015   return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
9016 }
9017 
9018 __extension__ extern __inline int8x8_t
9019 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_s8(int8x8_t __a)9020 vrev32_s8 (int8x8_t __a)
9021 {
9022   return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
9023 }
9024 
9025 __extension__ extern __inline int16x4_t
9026 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_s16(int16x4_t __a)9027 vrev32_s16 (int16x4_t __a)
9028 {
9029   return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
9030 }
9031 
9032 __extension__ extern __inline uint8x8_t
9033 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_u8(uint8x8_t __a)9034 vrev32_u8 (uint8x8_t __a)
9035 {
9036   return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
9037 }
9038 
9039 __extension__ extern __inline uint16x4_t
9040 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_u16(uint16x4_t __a)9041 vrev32_u16 (uint16x4_t __a)
9042 {
9043   return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
9044 }
9045 
9046 __extension__ extern __inline poly8x8_t
9047 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_p8(poly8x8_t __a)9048 vrev32_p8 (poly8x8_t __a)
9049 {
9050   return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
9051 }
9052 
9053 __extension__ extern __inline poly16x4_t
9054 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_p16(poly16x4_t __a)9055 vrev32_p16 (poly16x4_t __a)
9056 {
9057   return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
9058 }
9059 
9060 __extension__ extern __inline int8x16_t
9061 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_s8(int8x16_t __a)9062 vrev32q_s8 (int8x16_t __a)
9063 {
9064   return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
9065 }
9066 
9067 __extension__ extern __inline int16x8_t
9068 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_s16(int16x8_t __a)9069 vrev32q_s16 (int16x8_t __a)
9070 {
9071   return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
9072 }
9073 
9074 __extension__ extern __inline uint8x16_t
9075 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_u8(uint8x16_t __a)9076 vrev32q_u8 (uint8x16_t __a)
9077 {
9078   return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
9079 }
9080 
9081 __extension__ extern __inline uint16x8_t
9082 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_u16(uint16x8_t __a)9083 vrev32q_u16 (uint16x8_t __a)
9084 {
9085   return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
9086 }
9087 
9088 __extension__ extern __inline poly8x16_t
9089 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_p8(poly8x16_t __a)9090 vrev32q_p8 (poly8x16_t __a)
9091 {
9092   return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
9093 }
9094 
9095 __extension__ extern __inline poly16x8_t
9096 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_p16(poly16x8_t __a)9097 vrev32q_p16 (poly16x8_t __a)
9098 {
9099   return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
9100 }
9101 
9102 __extension__ extern __inline int8x8_t
9103 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_s8(int8x8_t __a)9104 vrev16_s8 (int8x8_t __a)
9105 {
9106   return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
9107 }
9108 
9109 __extension__ extern __inline uint8x8_t
9110 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_u8(uint8x8_t __a)9111 vrev16_u8 (uint8x8_t __a)
9112 {
9113   return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
9114 }
9115 
9116 __extension__ extern __inline poly8x8_t
9117 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_p8(poly8x8_t __a)9118 vrev16_p8 (poly8x8_t __a)
9119 {
9120   return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
9121 }
9122 
9123 __extension__ extern __inline int8x16_t
9124 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_s8(int8x16_t __a)9125 vrev16q_s8 (int8x16_t __a)
9126 {
9127   return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
9128 }
9129 
9130 __extension__ extern __inline uint8x16_t
9131 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_u8(uint8x16_t __a)9132 vrev16q_u8 (uint8x16_t __a)
9133 {
9134   return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
9135 }
9136 
9137 __extension__ extern __inline poly8x16_t
9138 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_p8(poly8x16_t __a)9139 vrev16q_p8 (poly8x16_t __a)
9140 {
9141   return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
9142 }
9143 
9144 #pragma GCC push_options
9145 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
9146 __extension__ extern __inline poly64x1_t
9147 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p64(uint64x1_t __a,poly64x1_t __b,poly64x1_t __c)9148 vbsl_p64 (uint64x1_t __a, poly64x1_t __b, poly64x1_t __c)
9149 {
9150   return (poly64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, __b, __c);
9151 }
9152 
9153 #pragma GCC pop_options
9154 __extension__ extern __inline int8x8_t
9155 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s8(uint8x8_t __a,int8x8_t __b,int8x8_t __c)9156 vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c)
9157 {
9158   return (int8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, __b, __c);
9159 }
9160 
9161 __extension__ extern __inline int16x4_t
9162 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s16(uint16x4_t __a,int16x4_t __b,int16x4_t __c)9163 vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c)
9164 {
9165   return (int16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, __b, __c);
9166 }
9167 
9168 __extension__ extern __inline int32x2_t
9169 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s32(uint32x2_t __a,int32x2_t __b,int32x2_t __c)9170 vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c)
9171 {
9172   return (int32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, __b, __c);
9173 }
9174 
9175 __extension__ extern __inline int64x1_t
9176 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s64(uint64x1_t __a,int64x1_t __b,int64x1_t __c)9177 vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c)
9178 {
9179   return (int64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, __b, __c);
9180 }
9181 
9182 __extension__ extern __inline float32x2_t
9183 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_f32(uint32x2_t __a,float32x2_t __b,float32x2_t __c)9184 vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c)
9185 {
9186   return (float32x2_t)__builtin_neon_vbslv2sf ((int32x2_t) __a, __b, __c);
9187 }
9188 
9189 __extension__ extern __inline uint8x8_t
9190 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)9191 vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
9192 {
9193   return (uint8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
9194 }
9195 
9196 __extension__ extern __inline uint16x4_t
9197 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)9198 vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
9199 {
9200   return (uint16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
9201 }
9202 
9203 __extension__ extern __inline uint32x2_t
9204 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)9205 vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
9206 {
9207   return (uint32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
9208 }
9209 
9210 __extension__ extern __inline uint64x1_t
9211 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u64(uint64x1_t __a,uint64x1_t __b,uint64x1_t __c)9212 vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c)
9213 {
9214   return (uint64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, (int64x1_t) __b, (int64x1_t) __c);
9215 }
9216 
9217 __extension__ extern __inline poly8x8_t
9218 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p8(uint8x8_t __a,poly8x8_t __b,poly8x8_t __c)9219 vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c)
9220 {
9221   return (poly8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
9222 }
9223 
9224 __extension__ extern __inline poly16x4_t
9225 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p16(uint16x4_t __a,poly16x4_t __b,poly16x4_t __c)9226 vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c)
9227 {
9228   return (poly16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
9229 }
9230 
9231 #pragma GCC push_options
9232 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
9233 __extension__ extern __inline poly64x2_t
9234 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p64(uint64x2_t __a,poly64x2_t __b,poly64x2_t __c)9235 vbslq_p64 (uint64x2_t __a, poly64x2_t __b, poly64x2_t __c)
9236 {
9237   return (poly64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, (int64x2_t) __b, (int64x2_t) __c);
9238 }
9239 
9240 #pragma GCC pop_options
9241 __extension__ extern __inline int8x16_t
9242 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s8(uint8x16_t __a,int8x16_t __b,int8x16_t __c)9243 vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c)
9244 {
9245   return (int8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, __b, __c);
9246 }
9247 
9248 __extension__ extern __inline int16x8_t
9249 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s16(uint16x8_t __a,int16x8_t __b,int16x8_t __c)9250 vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c)
9251 {
9252   return (int16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, __b, __c);
9253 }
9254 
9255 __extension__ extern __inline int32x4_t
9256 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s32(uint32x4_t __a,int32x4_t __b,int32x4_t __c)9257 vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c)
9258 {
9259   return (int32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, __b, __c);
9260 }
9261 
9262 __extension__ extern __inline int64x2_t
9263 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s64(uint64x2_t __a,int64x2_t __b,int64x2_t __c)9264 vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c)
9265 {
9266   return (int64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, __b, __c);
9267 }
9268 
9269 __extension__ extern __inline float32x4_t
9270 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_f32(uint32x4_t __a,float32x4_t __b,float32x4_t __c)9271 vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c)
9272 {
9273   return (float32x4_t)__builtin_neon_vbslv4sf ((int32x4_t) __a, __b, __c);
9274 }
9275 
9276 __extension__ extern __inline uint8x16_t
9277 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)9278 vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
9279 {
9280   return (uint8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
9281 }
9282 
9283 __extension__ extern __inline uint16x8_t
9284 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)9285 vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
9286 {
9287   return (uint16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
9288 }
9289 
9290 __extension__ extern __inline uint32x4_t
9291 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)9292 vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
9293 {
9294   return (uint32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c);
9295 }
9296 
9297 __extension__ extern __inline uint64x2_t
9298 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)9299 vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
9300 {
9301   return (uint64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, (int64x2_t) __b, (int64x2_t) __c);
9302 }
9303 
9304 __extension__ extern __inline poly8x16_t
9305 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p8(uint8x16_t __a,poly8x16_t __b,poly8x16_t __c)9306 vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c)
9307 {
9308   return (poly8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
9309 }
9310 
9311 __extension__ extern __inline poly16x8_t
9312 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p16(uint16x8_t __a,poly16x8_t __b,poly16x8_t __c)9313 vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c)
9314 {
9315   return (poly16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
9316 }
9317 
9318 /* For big-endian, the shuffle masks for ZIP, UZP and TRN must be changed as
9319    follows. (nelt = the number of elements within a vector.)
9320 
9321    Firstly, a value of N within a mask, becomes (N ^ (nelt - 1)), as gcc vector
9322    extension's indexing scheme is reversed *within each vector* (relative to the
9323    neon intrinsics view), but without changing which of the two vectors.
9324 
9325    Secondly, the elements within each mask are reversed, as the mask is itself a
9326    vector, and will itself be loaded in reverse order (again, relative to the
9327    neon intrinsics view, i.e. that would result from a "vld1" instruction).  */
9328 
9329 __extension__ extern __inline int8x8x2_t
9330 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s8(int8x8_t __a,int8x8_t __b)9331 vtrn_s8 (int8x8_t __a, int8x8_t __b)
9332 {
9333   int8x8x2_t __rv;
9334 #ifdef __ARM_BIG_ENDIAN
9335   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9336       { 9, 1, 11, 3, 13, 5, 15, 7 });
9337   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9338       { 8, 0, 10, 2, 12, 4, 14, 6 });
9339 #else
9340   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9341       { 0, 8, 2, 10, 4, 12, 6, 14 });
9342   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9343       { 1, 9, 3, 11, 5, 13, 7, 15 });
9344 #endif
9345   return __rv;
9346 }
9347 
9348 __extension__ extern __inline int16x4x2_t
9349 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s16(int16x4_t __a,int16x4_t __b)9350 vtrn_s16 (int16x4_t __a, int16x4_t __b)
9351 {
9352   int16x4x2_t __rv;
9353 #ifdef __ARM_BIG_ENDIAN
9354   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 1, 7, 3 });
9355   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 6, 2 });
9356 #else
9357   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
9358   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
9359 #endif
9360   return __rv;
9361 }
9362 
9363 __extension__ extern __inline uint8x8x2_t
9364 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u8(uint8x8_t __a,uint8x8_t __b)9365 vtrn_u8 (uint8x8_t __a, uint8x8_t __b)
9366 {
9367   uint8x8x2_t __rv;
9368 #ifdef __ARM_BIG_ENDIAN
9369   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9370       { 9, 1, 11, 3, 13, 5, 15, 7 });
9371   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9372       { 8, 0, 10, 2, 12, 4, 14, 6 });
9373 #else
9374   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9375       { 0, 8, 2, 10, 4, 12, 6, 14 });
9376   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9377       { 1, 9, 3, 11, 5, 13, 7, 15 });
9378 #endif
9379   return __rv;
9380 }
9381 
9382 __extension__ extern __inline uint16x4x2_t
9383 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u16(uint16x4_t __a,uint16x4_t __b)9384 vtrn_u16 (uint16x4_t __a, uint16x4_t __b)
9385 {
9386   uint16x4x2_t __rv;
9387 #ifdef __ARM_BIG_ENDIAN
9388   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 1, 7, 3 });
9389   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 6, 2 });
9390 #else
9391   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
9392   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
9393 #endif
9394   return __rv;
9395 }
9396 
9397 __extension__ extern __inline poly8x8x2_t
9398 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_p8(poly8x8_t __a,poly8x8_t __b)9399 vtrn_p8 (poly8x8_t __a, poly8x8_t __b)
9400 {
9401   poly8x8x2_t __rv;
9402 #ifdef __ARM_BIG_ENDIAN
9403   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9404       { 9, 1, 11, 3, 13, 5, 15, 7 });
9405   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9406       { 8, 0, 10, 2, 12, 4, 14, 6 });
9407 #else
9408   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9409       { 0, 8, 2, 10, 4, 12, 6, 14 });
9410   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9411       { 1, 9, 3, 11, 5, 13, 7, 15 });
9412 #endif
9413   return __rv;
9414 }
9415 
9416 __extension__ extern __inline poly16x4x2_t
9417 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_p16(poly16x4_t __a,poly16x4_t __b)9418 vtrn_p16 (poly16x4_t __a, poly16x4_t __b)
9419 {
9420   poly16x4x2_t __rv;
9421 #ifdef __ARM_BIG_ENDIAN
9422   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 1, 7, 3 });
9423   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 6, 2 });
9424 #else
9425   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
9426   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
9427 #endif
9428   return __rv;
9429 }
9430 
9431 __extension__ extern __inline int32x2x2_t
9432 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s32(int32x2_t __a,int32x2_t __b)9433 vtrn_s32 (int32x2_t __a, int32x2_t __b)
9434 {
9435   int32x2x2_t __rv;
9436 #ifdef __ARM_BIG_ENDIAN
9437   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9438   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9439 #else
9440   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9441   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9442 #endif
9443   return __rv;
9444 }
9445 
9446 __extension__ extern __inline float32x2x2_t
9447 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_f32(float32x2_t __a,float32x2_t __b)9448 vtrn_f32 (float32x2_t __a, float32x2_t __b)
9449 {
9450   float32x2x2_t __rv;
9451 #ifdef __ARM_BIG_ENDIAN
9452   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9453   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9454 #else
9455   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9456   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9457 #endif
9458   return __rv;
9459 }
9460 
9461 __extension__ extern __inline uint32x2x2_t
9462 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u32(uint32x2_t __a,uint32x2_t __b)9463 vtrn_u32 (uint32x2_t __a, uint32x2_t __b)
9464 {
9465   uint32x2x2_t __rv;
9466 #ifdef __ARM_BIG_ENDIAN
9467   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9468   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9469 #else
9470   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9471   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9472 #endif
9473   return __rv;
9474 }
9475 
9476 __extension__ extern __inline int8x16x2_t
9477 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s8(int8x16_t __a,int8x16_t __b)9478 vtrnq_s8 (int8x16_t __a, int8x16_t __b)
9479 {
9480   int8x16x2_t __rv;
9481 #ifdef __ARM_BIG_ENDIAN
9482   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9483       { 17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15 });
9484   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9485       { 16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14 });
9486 #else
9487   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9488       { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
9489   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9490       { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
9491 #endif
9492   return __rv;
9493 }
9494 
9495 __extension__ extern __inline int16x8x2_t
9496 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s16(int16x8_t __a,int16x8_t __b)9497 vtrnq_s16 (int16x8_t __a, int16x8_t __b)
9498 {
9499   int16x8x2_t __rv;
9500 #ifdef __ARM_BIG_ENDIAN
9501   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9502       { 9, 1, 11, 3, 13, 5, 15, 7 });
9503   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9504       { 8, 0, 10, 2, 12, 4, 14, 6 });
9505 #else
9506   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9507       { 0, 8, 2, 10, 4, 12, 6, 14 });
9508   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9509       { 1, 9, 3, 11, 5, 13, 7, 15 });
9510 #endif
9511   return __rv;
9512 }
9513 
9514 __extension__ extern __inline int32x4x2_t
9515 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s32(int32x4_t __a,int32x4_t __b)9516 vtrnq_s32 (int32x4_t __a, int32x4_t __b)
9517 {
9518   int32x4x2_t __rv;
9519 #ifdef __ARM_BIG_ENDIAN
9520   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 7, 3 });
9521   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 0, 6, 2 });
9522 #else
9523   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
9524   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
9525 #endif
9526   return __rv;
9527 }
9528 
9529 __extension__ extern __inline float32x4x2_t
9530 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_f32(float32x4_t __a,float32x4_t __b)9531 vtrnq_f32 (float32x4_t __a, float32x4_t __b)
9532 {
9533   float32x4x2_t __rv;
9534 #ifdef __ARM_BIG_ENDIAN
9535   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 7, 3 });
9536   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 0, 6, 2 });
9537 #else
9538   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
9539   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
9540 #endif
9541   return __rv;
9542 }
9543 
9544 __extension__ extern __inline uint8x16x2_t
9545 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u8(uint8x16_t __a,uint8x16_t __b)9546 vtrnq_u8 (uint8x16_t __a, uint8x16_t __b)
9547 {
9548   uint8x16x2_t __rv;
9549 #ifdef __ARM_BIG_ENDIAN
9550   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9551       { 17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15 });
9552   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9553       { 16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14 });
9554 #else
9555   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9556       { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
9557   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9558       { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
9559 #endif
9560   return __rv;
9561 }
9562 
9563 __extension__ extern __inline uint16x8x2_t
9564 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u16(uint16x8_t __a,uint16x8_t __b)9565 vtrnq_u16 (uint16x8_t __a, uint16x8_t __b)
9566 {
9567   uint16x8x2_t __rv;
9568 #ifdef __ARM_BIG_ENDIAN
9569   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9570       { 9, 1, 11, 3, 13, 5, 15, 7 });
9571   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9572       { 8, 0, 10, 2, 12, 4, 14, 6 });
9573 #else
9574   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9575       { 0, 8, 2, 10, 4, 12, 6, 14 });
9576   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9577       { 1, 9, 3, 11, 5, 13, 7, 15 });
9578 #endif
9579   return __rv;
9580 }
9581 
9582 __extension__ extern __inline uint32x4x2_t
9583 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u32(uint32x4_t __a,uint32x4_t __b)9584 vtrnq_u32 (uint32x4_t __a, uint32x4_t __b)
9585 {
9586   uint32x4x2_t __rv;
9587 #ifdef __ARM_BIG_ENDIAN
9588   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 7, 3 });
9589   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 0, 6, 2 });
9590 #else
9591   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
9592   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
9593 #endif
9594   return __rv;
9595 }
9596 
9597 __extension__ extern __inline poly8x16x2_t
9598 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_p8(poly8x16_t __a,poly8x16_t __b)9599 vtrnq_p8 (poly8x16_t __a, poly8x16_t __b)
9600 {
9601   poly8x16x2_t __rv;
9602 #ifdef __ARM_BIG_ENDIAN
9603   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9604       { 17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15 });
9605   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9606       { 16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14 });
9607 #else
9608   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9609       { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
9610   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9611       { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
9612 #endif
9613   return __rv;
9614 }
9615 
9616 __extension__ extern __inline poly16x8x2_t
9617 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_p16(poly16x8_t __a,poly16x8_t __b)9618 vtrnq_p16 (poly16x8_t __a, poly16x8_t __b)
9619 {
9620   poly16x8x2_t __rv;
9621 #ifdef __ARM_BIG_ENDIAN
9622   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9623       { 9, 1, 11, 3, 13, 5, 15, 7 });
9624   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9625       { 8, 0, 10, 2, 12, 4, 14, 6 });
9626 #else
9627   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9628       { 0, 8, 2, 10, 4, 12, 6, 14 });
9629   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9630       { 1, 9, 3, 11, 5, 13, 7, 15 });
9631 #endif
9632   return __rv;
9633 }
9634 
9635 __extension__ extern __inline int8x8x2_t
9636 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_s8(int8x8_t __a,int8x8_t __b)9637 vzip_s8 (int8x8_t __a, int8x8_t __b)
9638 {
9639   int8x8x2_t __rv;
9640 #ifdef __ARM_BIG_ENDIAN
9641   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9642       { 12, 4, 13, 5, 14, 6, 15, 7 });
9643   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9644       { 8, 0, 9, 1, 10, 2, 11, 3 });
9645 #else
9646   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9647       { 0, 8, 1, 9, 2, 10, 3, 11 });
9648   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9649       { 4, 12, 5, 13, 6, 14, 7, 15 });
9650 #endif
9651   return __rv;
9652 }
9653 
9654 __extension__ extern __inline int16x4x2_t
9655 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_s16(int16x4_t __a,int16x4_t __b)9656 vzip_s16 (int16x4_t __a, int16x4_t __b)
9657 {
9658   int16x4x2_t __rv;
9659 #ifdef __ARM_BIG_ENDIAN
9660   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 6, 2, 7, 3 });
9661   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 5, 1 });
9662 #else
9663   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
9664   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
9665 #endif
9666   return __rv;
9667 }
9668 
9669 __extension__ extern __inline uint8x8x2_t
9670 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_u8(uint8x8_t __a,uint8x8_t __b)9671 vzip_u8 (uint8x8_t __a, uint8x8_t __b)
9672 {
9673   uint8x8x2_t __rv;
9674 #ifdef __ARM_BIG_ENDIAN
9675   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9676       { 12, 4, 13, 5, 14, 6, 15, 7 });
9677   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9678       { 8, 0, 9, 1, 10, 2, 11, 3 });
9679 #else
9680   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9681       { 0, 8, 1, 9, 2, 10, 3, 11 });
9682   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9683       { 4, 12, 5, 13, 6, 14, 7, 15 });
9684 #endif
9685   return __rv;
9686 }
9687 
9688 __extension__ extern __inline uint16x4x2_t
9689 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_u16(uint16x4_t __a,uint16x4_t __b)9690 vzip_u16 (uint16x4_t __a, uint16x4_t __b)
9691 {
9692   uint16x4x2_t __rv;
9693 #ifdef __ARM_BIG_ENDIAN
9694   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 6, 2, 7, 3 });
9695   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 5, 1 });
9696 #else
9697   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
9698   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
9699 #endif
9700   return __rv;
9701 }
9702 
9703 __extension__ extern __inline poly8x8x2_t
9704 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_p8(poly8x8_t __a,poly8x8_t __b)9705 vzip_p8 (poly8x8_t __a, poly8x8_t __b)
9706 {
9707   poly8x8x2_t __rv;
9708 #ifdef __ARM_BIG_ENDIAN
9709   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9710       { 12, 4, 13, 5, 14, 6, 15, 7 });
9711   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9712       { 8, 0, 9, 1, 10, 2, 11, 3 });
9713 #else
9714   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9715       { 0, 8, 1, 9, 2, 10, 3, 11 });
9716   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9717       { 4, 12, 5, 13, 6, 14, 7, 15 });
9718 #endif
9719   return __rv;
9720 }
9721 
9722 __extension__ extern __inline poly16x4x2_t
9723 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_p16(poly16x4_t __a,poly16x4_t __b)9724 vzip_p16 (poly16x4_t __a, poly16x4_t __b)
9725 {
9726   poly16x4x2_t __rv;
9727 #ifdef __ARM_BIG_ENDIAN
9728   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 6, 2, 7, 3 });
9729   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 5, 1 });
9730 #else
9731   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
9732   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
9733 #endif
9734   return __rv;
9735 }
9736 
9737 __extension__ extern __inline int32x2x2_t
9738 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_s32(int32x2_t __a,int32x2_t __b)9739 vzip_s32 (int32x2_t __a, int32x2_t __b)
9740 {
9741   int32x2x2_t __rv;
9742 #ifdef __ARM_BIG_ENDIAN
9743   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9744   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9745 #else
9746   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9747   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9748 #endif
9749   return __rv;
9750 }
9751 
9752 __extension__ extern __inline float32x2x2_t
9753 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_f32(float32x2_t __a,float32x2_t __b)9754 vzip_f32 (float32x2_t __a, float32x2_t __b)
9755 {
9756   float32x2x2_t __rv;
9757 #ifdef __ARM_BIG_ENDIAN
9758   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9759   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9760 #else
9761   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9762   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9763 #endif
9764   return __rv;
9765 }
9766 
9767 __extension__ extern __inline uint32x2x2_t
9768 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_u32(uint32x2_t __a,uint32x2_t __b)9769 vzip_u32 (uint32x2_t __a, uint32x2_t __b)
9770 {
9771   uint32x2x2_t __rv;
9772 #ifdef __ARM_BIG_ENDIAN
9773   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9774   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9775 #else
9776   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9777   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9778 #endif
9779   return __rv;
9780 }
9781 
9782 __extension__ extern __inline int8x16x2_t
9783 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_s8(int8x16_t __a,int8x16_t __b)9784 vzipq_s8 (int8x16_t __a, int8x16_t __b)
9785 {
9786   int8x16x2_t __rv;
9787 #ifdef __ARM_BIG_ENDIAN
9788   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9789       { 20, 4, 21, 5, 22, 6, 23, 7, 16, 0, 17, 1, 18, 2, 19, 3 });
9790   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9791       { 28, 12, 29, 13, 30, 14, 31, 15, 24, 8, 25, 9, 26, 10, 27, 11 });
9792 #else
9793   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9794       { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
9795   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9796       { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
9797 #endif
9798   return __rv;
9799 }
9800 
9801 __extension__ extern __inline int16x8x2_t
9802 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_s16(int16x8_t __a,int16x8_t __b)9803 vzipq_s16 (int16x8_t __a, int16x8_t __b)
9804 {
9805   int16x8x2_t __rv;
9806 #ifdef __ARM_BIG_ENDIAN
9807   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9808       { 10, 2, 11, 3, 8, 0, 9, 1 });
9809   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9810       { 14, 6, 15, 7, 12, 4, 13, 5 });
9811 #else
9812   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9813       { 0, 8, 1, 9, 2, 10, 3, 11 });
9814   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9815       { 4, 12, 5, 13, 6, 14, 7, 15 });
9816 #endif
9817   return __rv;
9818 }
9819 
9820 __extension__ extern __inline int32x4x2_t
9821 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_s32(int32x4_t __a,int32x4_t __b)9822 vzipq_s32 (int32x4_t __a, int32x4_t __b)
9823 {
9824   int32x4x2_t __rv;
9825 #ifdef __ARM_BIG_ENDIAN
9826   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 4, 0 });
9827   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 7, 3, 6, 2 });
9828 #else
9829   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
9830   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
9831 #endif
9832   return __rv;
9833 }
9834 
9835 __extension__ extern __inline float32x4x2_t
9836 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_f32(float32x4_t __a,float32x4_t __b)9837 vzipq_f32 (float32x4_t __a, float32x4_t __b)
9838 {
9839   float32x4x2_t __rv;
9840 #ifdef __ARM_BIG_ENDIAN
9841   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 4, 0 });
9842   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 7, 3, 6, 2 });
9843 #else
9844   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
9845   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
9846 #endif
9847   return __rv;
9848 }
9849 
9850 __extension__ extern __inline uint8x16x2_t
9851 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_u8(uint8x16_t __a,uint8x16_t __b)9852 vzipq_u8 (uint8x16_t __a, uint8x16_t __b)
9853 {
9854   uint8x16x2_t __rv;
9855 #ifdef __ARM_BIG_ENDIAN
9856   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9857       { 20, 4, 21, 5, 22, 6, 23, 7, 16, 0, 17, 1, 18, 2, 19, 3 });
9858   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9859       { 28, 12, 29, 13, 30, 14, 31, 15, 24, 8, 25, 9, 26, 10, 27, 11 });
9860 #else
9861   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9862       { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
9863   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9864       { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
9865 #endif
9866   return __rv;
9867 }
9868 
9869 __extension__ extern __inline uint16x8x2_t
9870 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_u16(uint16x8_t __a,uint16x8_t __b)9871 vzipq_u16 (uint16x8_t __a, uint16x8_t __b)
9872 {
9873   uint16x8x2_t __rv;
9874 #ifdef __ARM_BIG_ENDIAN
9875   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9876       { 10, 2, 11, 3, 8, 0, 9, 1 });
9877   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9878       { 14, 6, 15, 7, 12, 4, 13, 5 });
9879 #else
9880   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9881       { 0, 8, 1, 9, 2, 10, 3, 11 });
9882   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9883       { 4, 12, 5, 13, 6, 14, 7, 15 });
9884 #endif
9885   return __rv;
9886 }
9887 
9888 __extension__ extern __inline uint32x4x2_t
9889 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_u32(uint32x4_t __a,uint32x4_t __b)9890 vzipq_u32 (uint32x4_t __a, uint32x4_t __b)
9891 {
9892   uint32x4x2_t __rv;
9893 #ifdef __ARM_BIG_ENDIAN
9894   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 4, 0 });
9895   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 7, 3, 6, 2 });
9896 #else
9897   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
9898   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
9899 #endif
9900   return __rv;
9901 }
9902 
9903 __extension__ extern __inline poly8x16x2_t
9904 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_p8(poly8x16_t __a,poly8x16_t __b)9905 vzipq_p8 (poly8x16_t __a, poly8x16_t __b)
9906 {
9907   poly8x16x2_t __rv;
9908 #ifdef __ARM_BIG_ENDIAN
9909   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9910       { 20, 4, 21, 5, 22, 6, 23, 7, 16, 0, 17, 1, 18, 2, 19, 3 });
9911   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9912       { 28, 12, 29, 13, 30, 14, 31, 15, 24, 8, 25, 9, 26, 10, 27, 11 });
9913 #else
9914   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
9915       { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
9916   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
9917       { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
9918 #endif
9919   return __rv;
9920 }
9921 
9922 __extension__ extern __inline poly16x8x2_t
9923 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_p16(poly16x8_t __a,poly16x8_t __b)9924 vzipq_p16 (poly16x8_t __a, poly16x8_t __b)
9925 {
9926   poly16x8x2_t __rv;
9927 #ifdef __ARM_BIG_ENDIAN
9928   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9929       { 10, 2, 11, 3, 8, 0, 9, 1 });
9930   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9931       { 14, 6, 15, 7, 12, 4, 13, 5 });
9932 #else
9933   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
9934       { 0, 8, 1, 9, 2, 10, 3, 11 });
9935   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
9936       { 4, 12, 5, 13, 6, 14, 7, 15 });
9937 #endif
9938   return __rv;
9939 }
9940 
9941 __extension__ extern __inline int8x8x2_t
9942 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_s8(int8x8_t __a,int8x8_t __b)9943 vuzp_s8 (int8x8_t __a, int8x8_t __b)
9944 {
9945   int8x8x2_t __rv;
9946 #ifdef __ARM_BIG_ENDIAN
9947   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9948       { 9, 11, 13, 15, 1, 3, 5, 7 });
9949   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9950       { 8, 10, 12, 14, 0, 2, 4, 6 });
9951 #else
9952   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
9953       { 0, 2, 4, 6, 8, 10, 12, 14 });
9954   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
9955       { 1, 3, 5, 7, 9, 11, 13, 15 });
9956 #endif
9957   return __rv;
9958 }
9959 
9960 __extension__ extern __inline int16x4x2_t
9961 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_s16(int16x4_t __a,int16x4_t __b)9962 vuzp_s16 (int16x4_t __a, int16x4_t __b)
9963 {
9964   int16x4x2_t __rv;
9965 #ifdef __ARM_BIG_ENDIAN
9966   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 7, 1, 3 });
9967   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 6, 0, 2 });
9968 #else
9969   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
9970   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
9971 #endif
9972   return __rv;
9973 }
9974 
9975 __extension__ extern __inline int32x2x2_t
9976 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_s32(int32x2_t __a,int32x2_t __b)9977 vuzp_s32 (int32x2_t __a, int32x2_t __b)
9978 {
9979   int32x2x2_t __rv;
9980 #ifdef __ARM_BIG_ENDIAN
9981   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9982   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9983 #else
9984   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
9985   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
9986 #endif
9987   return __rv;
9988 }
9989 
9990 __extension__ extern __inline float32x2x2_t
9991 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_f32(float32x2_t __a,float32x2_t __b)9992 vuzp_f32 (float32x2_t __a, float32x2_t __b)
9993 {
9994   float32x2x2_t __rv;
9995 #ifdef __ARM_BIG_ENDIAN
9996   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
9997   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
9998 #else
9999   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
10000   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
10001 #endif
10002   return __rv;
10003 }
10004 
10005 __extension__ extern __inline uint8x8x2_t
10006 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_u8(uint8x8_t __a,uint8x8_t __b)10007 vuzp_u8 (uint8x8_t __a, uint8x8_t __b)
10008 {
10009   uint8x8x2_t __rv;
10010 #ifdef __ARM_BIG_ENDIAN
10011   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
10012       { 9, 11, 13, 15, 1, 3, 5, 7 });
10013   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
10014       { 8, 10, 12, 14, 0, 2, 4, 6 });
10015 #else
10016   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
10017       { 0, 2, 4, 6, 8, 10, 12, 14 });
10018   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
10019       { 1, 3, 5, 7, 9, 11, 13, 15 });
10020 #endif
10021   return __rv;
10022 }
10023 
10024 __extension__ extern __inline uint16x4x2_t
10025 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_u16(uint16x4_t __a,uint16x4_t __b)10026 vuzp_u16 (uint16x4_t __a, uint16x4_t __b)
10027 {
10028   uint16x4x2_t __rv;
10029 #ifdef __ARM_BIG_ENDIAN
10030   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 7, 1, 3 });
10031   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 6, 0, 2 });
10032 #else
10033   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
10034   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
10035 #endif
10036   return __rv;
10037 }
10038 
10039 __extension__ extern __inline uint32x2x2_t
10040 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_u32(uint32x2_t __a,uint32x2_t __b)10041 vuzp_u32 (uint32x2_t __a, uint32x2_t __b)
10042 {
10043   uint32x2x2_t __rv;
10044 #ifdef __ARM_BIG_ENDIAN
10045   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
10046   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
10047 #else
10048   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
10049   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
10050 #endif
10051   return __rv;
10052 }
10053 
10054 __extension__ extern __inline poly8x8x2_t
10055 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_p8(poly8x8_t __a,poly8x8_t __b)10056 vuzp_p8 (poly8x8_t __a, poly8x8_t __b)
10057 {
10058   poly8x8x2_t __rv;
10059 #ifdef __ARM_BIG_ENDIAN
10060   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
10061       { 9, 11, 13, 15, 1, 3, 5, 7 });
10062   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
10063       { 8, 10, 12, 14, 0, 2, 4, 6 });
10064 #else
10065   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
10066       { 0, 2, 4, 6, 8, 10, 12, 14 });
10067   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
10068       { 1, 3, 5, 7, 9, 11, 13, 15 });
10069 #endif
10070   return __rv;
10071 }
10072 
10073 __extension__ extern __inline poly16x4x2_t
10074 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_p16(poly16x4_t __a,poly16x4_t __b)10075 vuzp_p16 (poly16x4_t __a, poly16x4_t __b)
10076 {
10077   poly16x4x2_t __rv;
10078 #ifdef __ARM_BIG_ENDIAN
10079   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 7, 1, 3 });
10080   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 6, 0, 2 });
10081 #else
10082   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
10083   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
10084 #endif
10085   return __rv;
10086 }
10087 
10088 __extension__ extern __inline int8x16x2_t
10089 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_s8(int8x16_t __a,int8x16_t __b)10090 vuzpq_s8 (int8x16_t __a, int8x16_t __b)
10091 {
10092   int8x16x2_t __rv;
10093 #ifdef __ARM_BIG_ENDIAN
10094   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
10095       { 9, 11, 13, 15, 1, 3, 5, 7, 25, 27, 29, 31, 17, 19, 21, 23 });
10096   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
10097       { 8, 10, 12, 14, 0, 2, 4, 6, 24, 26, 28, 30, 16, 18, 20, 22 });
10098 #else
10099   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
10100       { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
10101   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
10102       { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
10103 #endif
10104   return __rv;
10105 }
10106 
10107 __extension__ extern __inline int16x8x2_t
10108 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_s16(int16x8_t __a,int16x8_t __b)10109 vuzpq_s16 (int16x8_t __a, int16x8_t __b)
10110 {
10111   int16x8x2_t __rv;
10112 #ifdef __ARM_BIG_ENDIAN
10113   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
10114       { 5, 7, 1, 3, 13, 15, 9, 11 });
10115   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
10116       { 4, 6, 0, 2, 12, 14, 8, 10 });
10117 #else
10118   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
10119       { 0, 2, 4, 6, 8, 10, 12, 14 });
10120   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
10121       { 1, 3, 5, 7, 9, 11, 13, 15 });
10122 #endif
10123   return __rv;
10124 }
10125 
10126 __extension__ extern __inline int32x4x2_t
10127 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_s32(int32x4_t __a,int32x4_t __b)10128 vuzpq_s32 (int32x4_t __a, int32x4_t __b)
10129 {
10130   int32x4x2_t __rv;
10131 #ifdef __ARM_BIG_ENDIAN
10132   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 3, 1, 7, 5 });
10133   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 0, 6, 4 });
10134 #else
10135   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
10136   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
10137 #endif
10138   return __rv;
10139 }
10140 
10141 __extension__ extern __inline float32x4x2_t
10142 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_f32(float32x4_t __a,float32x4_t __b)10143 vuzpq_f32 (float32x4_t __a, float32x4_t __b)
10144 {
10145   float32x4x2_t __rv;
10146 #ifdef __ARM_BIG_ENDIAN
10147   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 3, 1, 7, 5 });
10148   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 0, 6, 4 });
10149 #else
10150   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
10151   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
10152 #endif
10153   return __rv;
10154 }
10155 
10156 __extension__ extern __inline uint8x16x2_t
10157 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_u8(uint8x16_t __a,uint8x16_t __b)10158 vuzpq_u8 (uint8x16_t __a, uint8x16_t __b)
10159 {
10160   uint8x16x2_t __rv;
10161 #ifdef __ARM_BIG_ENDIAN
10162   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
10163       { 9, 11, 13, 15, 1, 3, 5, 7, 25, 27, 29, 31, 17, 19, 21, 23 });
10164   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
10165       { 8, 10, 12, 14, 0, 2, 4, 6, 24, 26, 28, 30, 16, 18, 20, 22 });
10166 #else
10167   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
10168       { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
10169   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
10170       { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
10171 #endif
10172   return __rv;
10173 }
10174 
10175 __extension__ extern __inline uint16x8x2_t
10176 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_u16(uint16x8_t __a,uint16x8_t __b)10177 vuzpq_u16 (uint16x8_t __a, uint16x8_t __b)
10178 {
10179   uint16x8x2_t __rv;
10180 #ifdef __ARM_BIG_ENDIAN
10181   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
10182       { 5, 7, 1, 3, 13, 15, 9, 11 });
10183   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
10184       { 4, 6, 0, 2, 12, 14, 8, 10 });
10185 #else
10186   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
10187       { 0, 2, 4, 6, 8, 10, 12, 14 });
10188   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
10189       { 1, 3, 5, 7, 9, 11, 13, 15 });
10190 #endif
10191   return __rv;
10192 }
10193 
10194 __extension__ extern __inline uint32x4x2_t
10195 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_u32(uint32x4_t __a,uint32x4_t __b)10196 vuzpq_u32 (uint32x4_t __a, uint32x4_t __b)
10197 {
10198   uint32x4x2_t __rv;
10199 #ifdef __ARM_BIG_ENDIAN
10200   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 3, 1, 7, 5 });
10201   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 0, 6, 4 });
10202 #else
10203   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
10204   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
10205 #endif
10206   return __rv;
10207 }
10208 
10209 __extension__ extern __inline poly8x16x2_t
10210 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_p8(poly8x16_t __a,poly8x16_t __b)10211 vuzpq_p8 (poly8x16_t __a, poly8x16_t __b)
10212 {
10213   poly8x16x2_t __rv;
10214 #ifdef __ARM_BIG_ENDIAN
10215   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
10216       { 9, 11, 13, 15, 1, 3, 5, 7, 25, 27, 29, 31, 17, 19, 21, 23 });
10217   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
10218       { 8, 10, 12, 14, 0, 2, 4, 6, 24, 26, 28, 30, 16, 18, 20, 22 });
10219 #else
10220   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
10221       { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
10222   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
10223       { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
10224 #endif
10225   return __rv;
10226 }
10227 
10228 __extension__ extern __inline poly16x8x2_t
10229 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_p16(poly16x8_t __a,poly16x8_t __b)10230 vuzpq_p16 (poly16x8_t __a, poly16x8_t __b)
10231 {
10232   poly16x8x2_t __rv;
10233 #ifdef __ARM_BIG_ENDIAN
10234   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
10235       { 5, 7, 1, 3, 13, 15, 9, 11 });
10236   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
10237       { 4, 6, 0, 2, 12, 14, 8, 10 });
10238 #else
10239   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
10240       { 0, 2, 4, 6, 8, 10, 12, 14 });
10241   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
10242       { 1, 3, 5, 7, 9, 11, 13, 15 });
10243 #endif
10244   return __rv;
10245 }
10246 
10247 #pragma GCC push_options
10248 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10249 __extension__ extern __inline poly64x1_t
10250 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64(const poly64_t * __a)10251 vld1_p64 (const poly64_t * __a)
10252 {
10253   return (poly64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
10254 }
10255 
10256 #pragma GCC pop_options
10257 __extension__ extern __inline int8x8_t
10258 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8(const int8_t * __a)10259 vld1_s8 (const int8_t * __a)
10260 {
10261   return (int8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
10262 }
10263 
10264 __extension__ extern __inline int16x4_t
10265 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16(const int16_t * __a)10266 vld1_s16 (const int16_t * __a)
10267 {
10268   return (int16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
10269 }
10270 
10271 __extension__ extern __inline int32x2_t
10272 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32(const int32_t * __a)10273 vld1_s32 (const int32_t * __a)
10274 {
10275   return (int32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
10276 }
10277 
10278 __extension__ extern __inline int64x1_t
10279 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64(const int64_t * __a)10280 vld1_s64 (const int64_t * __a)
10281 {
10282   return (int64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
10283 }
10284 
10285 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10286 __extension__ extern __inline float16x4_t
10287 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16(const float16_t * __a)10288 vld1_f16 (const float16_t * __a)
10289 {
10290   return __builtin_neon_vld1v4hf (__a);
10291 }
10292 #endif
10293 
10294 __extension__ extern __inline float32x2_t
10295 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32(const float32_t * __a)10296 vld1_f32 (const float32_t * __a)
10297 {
10298   return (float32x2_t)__builtin_neon_vld1v2sf ((const __builtin_neon_sf *) __a);
10299 }
10300 
10301 __extension__ extern __inline uint8x8_t
10302 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8(const uint8_t * __a)10303 vld1_u8 (const uint8_t * __a)
10304 {
10305   return (uint8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
10306 }
10307 
10308 __extension__ extern __inline uint16x4_t
10309 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16(const uint16_t * __a)10310 vld1_u16 (const uint16_t * __a)
10311 {
10312   return (uint16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
10313 }
10314 
10315 __extension__ extern __inline uint32x2_t
10316 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32(const uint32_t * __a)10317 vld1_u32 (const uint32_t * __a)
10318 {
10319   return (uint32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
10320 }
10321 
10322 __extension__ extern __inline uint64x1_t
10323 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64(const uint64_t * __a)10324 vld1_u64 (const uint64_t * __a)
10325 {
10326   return (uint64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
10327 }
10328 
10329 __extension__ extern __inline poly8x8_t
10330 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8(const poly8_t * __a)10331 vld1_p8 (const poly8_t * __a)
10332 {
10333   return (poly8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
10334 }
10335 
10336 __extension__ extern __inline poly16x4_t
10337 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16(const poly16_t * __a)10338 vld1_p16 (const poly16_t * __a)
10339 {
10340   return (poly16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
10341 }
10342 
10343 #pragma GCC push_options
10344 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10345 __extension__ extern __inline poly64x2_t
10346 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64(const poly64_t * __a)10347 vld1q_p64 (const poly64_t * __a)
10348 {
10349   return (poly64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
10350 }
10351 
10352 #pragma GCC pop_options
10353 __extension__ extern __inline int8x16_t
10354 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8(const int8_t * __a)10355 vld1q_s8 (const int8_t * __a)
10356 {
10357   return (int8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
10358 }
10359 
10360 __extension__ extern __inline int16x8_t
10361 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16(const int16_t * __a)10362 vld1q_s16 (const int16_t * __a)
10363 {
10364   return (int16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
10365 }
10366 
10367 __extension__ extern __inline int32x4_t
10368 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32(const int32_t * __a)10369 vld1q_s32 (const int32_t * __a)
10370 {
10371   return (int32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
10372 }
10373 
10374 __extension__ extern __inline int64x2_t
10375 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64(const int64_t * __a)10376 vld1q_s64 (const int64_t * __a)
10377 {
10378   return (int64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
10379 }
10380 
10381 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10382 __extension__ extern __inline float16x8_t
10383 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16(const float16_t * __a)10384 vld1q_f16 (const float16_t * __a)
10385 {
10386   return __builtin_neon_vld1v8hf (__a);
10387 }
10388 #endif
10389 
10390 __extension__ extern __inline float32x4_t
10391 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32(const float32_t * __a)10392 vld1q_f32 (const float32_t * __a)
10393 {
10394   return (float32x4_t)__builtin_neon_vld1v4sf ((const __builtin_neon_sf *) __a);
10395 }
10396 
10397 __extension__ extern __inline uint8x16_t
10398 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8(const uint8_t * __a)10399 vld1q_u8 (const uint8_t * __a)
10400 {
10401   return (uint8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
10402 }
10403 
10404 __extension__ extern __inline uint16x8_t
10405 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16(const uint16_t * __a)10406 vld1q_u16 (const uint16_t * __a)
10407 {
10408   return (uint16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
10409 }
10410 
10411 __extension__ extern __inline uint32x4_t
10412 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32(const uint32_t * __a)10413 vld1q_u32 (const uint32_t * __a)
10414 {
10415   return (uint32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
10416 }
10417 
10418 __extension__ extern __inline uint64x2_t
10419 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64(const uint64_t * __a)10420 vld1q_u64 (const uint64_t * __a)
10421 {
10422   return (uint64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
10423 }
10424 
10425 __extension__ extern __inline poly8x16_t
10426 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8(const poly8_t * __a)10427 vld1q_p8 (const poly8_t * __a)
10428 {
10429   return (poly8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
10430 }
10431 
10432 __extension__ extern __inline poly16x8_t
10433 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16(const poly16_t * __a)10434 vld1q_p16 (const poly16_t * __a)
10435 {
10436   return (poly16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
10437 }
10438 
10439 __extension__ extern __inline int8x8_t
10440 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s8(const int8_t * __a,int8x8_t __b,const int __c)10441 vld1_lane_s8 (const int8_t * __a, int8x8_t __b, const int __c)
10442 {
10443   return (int8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, __b, __c);
10444 }
10445 
10446 __extension__ extern __inline int16x4_t
10447 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s16(const int16_t * __a,int16x4_t __b,const int __c)10448 vld1_lane_s16 (const int16_t * __a, int16x4_t __b, const int __c)
10449 {
10450   return (int16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, __b, __c);
10451 }
10452 
10453 __extension__ extern __inline int32x2_t
10454 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s32(const int32_t * __a,int32x2_t __b,const int __c)10455 vld1_lane_s32 (const int32_t * __a, int32x2_t __b, const int __c)
10456 {
10457   return (int32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, __b, __c);
10458 }
10459 
10460 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10461 __extension__ extern __inline float16x4_t
10462 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_f16(const float16_t * __a,float16x4_t __b,const int __c)10463 vld1_lane_f16 (const float16_t * __a, float16x4_t __b, const int __c)
10464 {
10465   return vset_lane_f16 (*__a, __b, __c);
10466 }
10467 #endif
10468 
10469 __extension__ extern __inline float32x2_t
10470 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_f32(const float32_t * __a,float32x2_t __b,const int __c)10471 vld1_lane_f32 (const float32_t * __a, float32x2_t __b, const int __c)
10472 {
10473   return (float32x2_t)__builtin_neon_vld1_lanev2sf ((const __builtin_neon_sf *) __a, __b, __c);
10474 }
10475 
10476 __extension__ extern __inline uint8x8_t
10477 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u8(const uint8_t * __a,uint8x8_t __b,const int __c)10478 vld1_lane_u8 (const uint8_t * __a, uint8x8_t __b, const int __c)
10479 {
10480   return (uint8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
10481 }
10482 
10483 __extension__ extern __inline uint16x4_t
10484 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u16(const uint16_t * __a,uint16x4_t __b,const int __c)10485 vld1_lane_u16 (const uint16_t * __a, uint16x4_t __b, const int __c)
10486 {
10487   return (uint16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
10488 }
10489 
10490 __extension__ extern __inline uint32x2_t
10491 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u32(const uint32_t * __a,uint32x2_t __b,const int __c)10492 vld1_lane_u32 (const uint32_t * __a, uint32x2_t __b, const int __c)
10493 {
10494   return (uint32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, (int32x2_t) __b, __c);
10495 }
10496 
10497 __extension__ extern __inline poly8x8_t
10498 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p8(const poly8_t * __a,poly8x8_t __b,const int __c)10499 vld1_lane_p8 (const poly8_t * __a, poly8x8_t __b, const int __c)
10500 {
10501   return (poly8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
10502 }
10503 
10504 __extension__ extern __inline poly16x4_t
10505 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p16(const poly16_t * __a,poly16x4_t __b,const int __c)10506 vld1_lane_p16 (const poly16_t * __a, poly16x4_t __b, const int __c)
10507 {
10508   return (poly16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
10509 }
10510 
10511 #pragma GCC push_options
10512 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10513 __extension__ extern __inline poly64x1_t
10514 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p64(const poly64_t * __a,poly64x1_t __b,const int __c)10515 vld1_lane_p64 (const poly64_t * __a, poly64x1_t __b, const int __c)
10516 {
10517   return (poly64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, __b, __c);
10518 }
10519 
10520 #pragma GCC pop_options
10521 __extension__ extern __inline int64x1_t
10522 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s64(const int64_t * __a,int64x1_t __b,const int __c)10523 vld1_lane_s64 (const int64_t * __a, int64x1_t __b, const int __c)
10524 {
10525   return (int64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, __b, __c);
10526 }
10527 
10528 __extension__ extern __inline uint64x1_t
10529 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u64(const uint64_t * __a,uint64x1_t __b,const int __c)10530 vld1_lane_u64 (const uint64_t * __a, uint64x1_t __b, const int __c)
10531 {
10532   return (uint64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, (int64x1_t) __b, __c);
10533 }
10534 
10535 __extension__ extern __inline int8x16_t
10536 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s8(const int8_t * __a,int8x16_t __b,const int __c)10537 vld1q_lane_s8 (const int8_t * __a, int8x16_t __b, const int __c)
10538 {
10539   return (int8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, __b, __c);
10540 }
10541 
10542 __extension__ extern __inline int16x8_t
10543 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s16(const int16_t * __a,int16x8_t __b,const int __c)10544 vld1q_lane_s16 (const int16_t * __a, int16x8_t __b, const int __c)
10545 {
10546   return (int16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, __b, __c);
10547 }
10548 
10549 __extension__ extern __inline int32x4_t
10550 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s32(const int32_t * __a,int32x4_t __b,const int __c)10551 vld1q_lane_s32 (const int32_t * __a, int32x4_t __b, const int __c)
10552 {
10553   return (int32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, __b, __c);
10554 }
10555 
10556 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10557 __extension__ extern __inline float16x8_t
10558 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_f16(const float16_t * __a,float16x8_t __b,const int __c)10559 vld1q_lane_f16 (const float16_t * __a, float16x8_t __b, const int __c)
10560 {
10561   return vsetq_lane_f16 (*__a, __b, __c);
10562 }
10563 #endif
10564 
10565 __extension__ extern __inline float32x4_t
10566 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_f32(const float32_t * __a,float32x4_t __b,const int __c)10567 vld1q_lane_f32 (const float32_t * __a, float32x4_t __b, const int __c)
10568 {
10569   return (float32x4_t)__builtin_neon_vld1_lanev4sf ((const __builtin_neon_sf *) __a, __b, __c);
10570 }
10571 
10572 __extension__ extern __inline uint8x16_t
10573 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u8(const uint8_t * __a,uint8x16_t __b,const int __c)10574 vld1q_lane_u8 (const uint8_t * __a, uint8x16_t __b, const int __c)
10575 {
10576   return (uint8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
10577 }
10578 
10579 __extension__ extern __inline uint16x8_t
10580 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u16(const uint16_t * __a,uint16x8_t __b,const int __c)10581 vld1q_lane_u16 (const uint16_t * __a, uint16x8_t __b, const int __c)
10582 {
10583   return (uint16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
10584 }
10585 
10586 __extension__ extern __inline uint32x4_t
10587 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u32(const uint32_t * __a,uint32x4_t __b,const int __c)10588 vld1q_lane_u32 (const uint32_t * __a, uint32x4_t __b, const int __c)
10589 {
10590   return (uint32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, (int32x4_t) __b, __c);
10591 }
10592 
10593 __extension__ extern __inline poly8x16_t
10594 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p8(const poly8_t * __a,poly8x16_t __b,const int __c)10595 vld1q_lane_p8 (const poly8_t * __a, poly8x16_t __b, const int __c)
10596 {
10597   return (poly8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
10598 }
10599 
10600 __extension__ extern __inline poly16x8_t
10601 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p16(const poly16_t * __a,poly16x8_t __b,const int __c)10602 vld1q_lane_p16 (const poly16_t * __a, poly16x8_t __b, const int __c)
10603 {
10604   return (poly16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
10605 }
10606 
10607 #pragma GCC push_options
10608 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10609 __extension__ extern __inline poly64x2_t
10610 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p64(const poly64_t * __a,poly64x2_t __b,const int __c)10611 vld1q_lane_p64 (const poly64_t * __a, poly64x2_t __b, const int __c)
10612 {
10613   return (poly64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, (int64x2_t) __b, __c);
10614 }
10615 
10616 #pragma GCC pop_options
10617 __extension__ extern __inline int64x2_t
10618 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s64(const int64_t * __a,int64x2_t __b,const int __c)10619 vld1q_lane_s64 (const int64_t * __a, int64x2_t __b, const int __c)
10620 {
10621   return (int64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, __b, __c);
10622 }
10623 
10624 __extension__ extern __inline uint64x2_t
10625 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u64(const uint64_t * __a,uint64x2_t __b,const int __c)10626 vld1q_lane_u64 (const uint64_t * __a, uint64x2_t __b, const int __c)
10627 {
10628   return (uint64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, (int64x2_t) __b, __c);
10629 }
10630 
10631 __extension__ extern __inline int8x8_t
10632 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s8(const int8_t * __a)10633 vld1_dup_s8 (const int8_t * __a)
10634 {
10635   return (int8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
10636 }
10637 
10638 __extension__ extern __inline int16x4_t
10639 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s16(const int16_t * __a)10640 vld1_dup_s16 (const int16_t * __a)
10641 {
10642   return (int16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
10643 }
10644 
10645 __extension__ extern __inline int32x2_t
10646 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s32(const int32_t * __a)10647 vld1_dup_s32 (const int32_t * __a)
10648 {
10649   return (int32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
10650 }
10651 
10652 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10653 __extension__ extern __inline float16x4_t
10654 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_f16(const float16_t * __a)10655 vld1_dup_f16 (const float16_t * __a)
10656 {
10657   float16_t __f = *__a;
10658   return (float16x4_t) { __f, __f, __f, __f };
10659 }
10660 #endif
10661 
10662 __extension__ extern __inline float32x2_t
10663 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_f32(const float32_t * __a)10664 vld1_dup_f32 (const float32_t * __a)
10665 {
10666   return (float32x2_t)__builtin_neon_vld1_dupv2sf ((const __builtin_neon_sf *) __a);
10667 }
10668 
10669 __extension__ extern __inline uint8x8_t
10670 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u8(const uint8_t * __a)10671 vld1_dup_u8 (const uint8_t * __a)
10672 {
10673   return (uint8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
10674 }
10675 
10676 __extension__ extern __inline uint16x4_t
10677 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u16(const uint16_t * __a)10678 vld1_dup_u16 (const uint16_t * __a)
10679 {
10680   return (uint16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
10681 }
10682 
10683 __extension__ extern __inline uint32x2_t
10684 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u32(const uint32_t * __a)10685 vld1_dup_u32 (const uint32_t * __a)
10686 {
10687   return (uint32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
10688 }
10689 
10690 __extension__ extern __inline poly8x8_t
10691 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p8(const poly8_t * __a)10692 vld1_dup_p8 (const poly8_t * __a)
10693 {
10694   return (poly8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
10695 }
10696 
10697 __extension__ extern __inline poly16x4_t
10698 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p16(const poly16_t * __a)10699 vld1_dup_p16 (const poly16_t * __a)
10700 {
10701   return (poly16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
10702 }
10703 
10704 #pragma GCC push_options
10705 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10706 __extension__ extern __inline poly64x1_t
10707 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p64(const poly64_t * __a)10708 vld1_dup_p64 (const poly64_t * __a)
10709 {
10710   return (poly64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
10711 }
10712 
10713 #pragma GCC pop_options
10714 __extension__ extern __inline int64x1_t
10715 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s64(const int64_t * __a)10716 vld1_dup_s64 (const int64_t * __a)
10717 {
10718   return (int64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
10719 }
10720 
10721 __extension__ extern __inline uint64x1_t
10722 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u64(const uint64_t * __a)10723 vld1_dup_u64 (const uint64_t * __a)
10724 {
10725   return (uint64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
10726 }
10727 
10728 __extension__ extern __inline int8x16_t
10729 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s8(const int8_t * __a)10730 vld1q_dup_s8 (const int8_t * __a)
10731 {
10732   return (int8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
10733 }
10734 
10735 __extension__ extern __inline int16x8_t
10736 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s16(const int16_t * __a)10737 vld1q_dup_s16 (const int16_t * __a)
10738 {
10739   return (int16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
10740 }
10741 
10742 __extension__ extern __inline int32x4_t
10743 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s32(const int32_t * __a)10744 vld1q_dup_s32 (const int32_t * __a)
10745 {
10746   return (int32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
10747 }
10748 
10749 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10750 __extension__ extern __inline float16x8_t
10751 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_f16(const float16_t * __a)10752 vld1q_dup_f16 (const float16_t * __a)
10753 {
10754   float16_t __f = *__a;
10755   return (float16x8_t) { __f, __f, __f, __f, __f, __f, __f, __f };
10756 }
10757 #endif
10758 
10759 __extension__ extern __inline float32x4_t
10760 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_f32(const float32_t * __a)10761 vld1q_dup_f32 (const float32_t * __a)
10762 {
10763   return (float32x4_t)__builtin_neon_vld1_dupv4sf ((const __builtin_neon_sf *) __a);
10764 }
10765 
10766 __extension__ extern __inline uint8x16_t
10767 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u8(const uint8_t * __a)10768 vld1q_dup_u8 (const uint8_t * __a)
10769 {
10770   return (uint8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
10771 }
10772 
10773 __extension__ extern __inline uint16x8_t
10774 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u16(const uint16_t * __a)10775 vld1q_dup_u16 (const uint16_t * __a)
10776 {
10777   return (uint16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
10778 }
10779 
10780 __extension__ extern __inline uint32x4_t
10781 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u32(const uint32_t * __a)10782 vld1q_dup_u32 (const uint32_t * __a)
10783 {
10784   return (uint32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
10785 }
10786 
10787 __extension__ extern __inline poly8x16_t
10788 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p8(const poly8_t * __a)10789 vld1q_dup_p8 (const poly8_t * __a)
10790 {
10791   return (poly8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
10792 }
10793 
10794 __extension__ extern __inline poly16x8_t
10795 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p16(const poly16_t * __a)10796 vld1q_dup_p16 (const poly16_t * __a)
10797 {
10798   return (poly16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
10799 }
10800 
10801 #pragma GCC push_options
10802 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10803 __extension__ extern __inline poly64x2_t
10804 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p64(const poly64_t * __a)10805 vld1q_dup_p64 (const poly64_t * __a)
10806 {
10807   return (poly64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
10808 }
10809 
10810 #pragma GCC pop_options
10811 __extension__ extern __inline int64x2_t
10812 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s64(const int64_t * __a)10813 vld1q_dup_s64 (const int64_t * __a)
10814 {
10815   return (int64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
10816 }
10817 
10818 __extension__ extern __inline uint64x2_t
10819 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u64(const uint64_t * __a)10820 vld1q_dup_u64 (const uint64_t * __a)
10821 {
10822   return (uint64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
10823 }
10824 
10825 #pragma GCC push_options
10826 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10827 __extension__ extern __inline void
10828 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64(poly64_t * __a,poly64x1_t __b)10829 vst1_p64 (poly64_t * __a, poly64x1_t __b)
10830 {
10831   __builtin_neon_vst1di ((__builtin_neon_di *) __a, __b);
10832 }
10833 
10834 #pragma GCC pop_options
10835 __extension__ extern __inline void
10836 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8(int8_t * __a,int8x8_t __b)10837 vst1_s8 (int8_t * __a, int8x8_t __b)
10838 {
10839   __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, __b);
10840 }
10841 
10842 __extension__ extern __inline void
10843 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16(int16_t * __a,int16x4_t __b)10844 vst1_s16 (int16_t * __a, int16x4_t __b)
10845 {
10846   __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, __b);
10847 }
10848 
10849 __extension__ extern __inline void
10850 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32(int32_t * __a,int32x2_t __b)10851 vst1_s32 (int32_t * __a, int32x2_t __b)
10852 {
10853   __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, __b);
10854 }
10855 
10856 __extension__ extern __inline void
10857 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64(int64_t * __a,int64x1_t __b)10858 vst1_s64 (int64_t * __a, int64x1_t __b)
10859 {
10860   __builtin_neon_vst1di ((__builtin_neon_di *) __a, __b);
10861 }
10862 
10863 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10864 __extension__ extern __inline void
10865 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16(float16_t * __a,float16x4_t __b)10866 vst1_f16 (float16_t * __a, float16x4_t __b)
10867 {
10868   __builtin_neon_vst1v4hf (__a, __b);
10869 }
10870 #endif
10871 
10872 __extension__ extern __inline void
10873 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32(float32_t * __a,float32x2_t __b)10874 vst1_f32 (float32_t * __a, float32x2_t __b)
10875 {
10876   __builtin_neon_vst1v2sf ((__builtin_neon_sf *) __a, __b);
10877 }
10878 
10879 __extension__ extern __inline void
10880 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8(uint8_t * __a,uint8x8_t __b)10881 vst1_u8 (uint8_t * __a, uint8x8_t __b)
10882 {
10883   __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
10884 }
10885 
10886 __extension__ extern __inline void
10887 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16(uint16_t * __a,uint16x4_t __b)10888 vst1_u16 (uint16_t * __a, uint16x4_t __b)
10889 {
10890   __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
10891 }
10892 
10893 __extension__ extern __inline void
10894 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32(uint32_t * __a,uint32x2_t __b)10895 vst1_u32 (uint32_t * __a, uint32x2_t __b)
10896 {
10897   __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, (int32x2_t) __b);
10898 }
10899 
10900 __extension__ extern __inline void
10901 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64(uint64_t * __a,uint64x1_t __b)10902 vst1_u64 (uint64_t * __a, uint64x1_t __b)
10903 {
10904   __builtin_neon_vst1di ((__builtin_neon_di *) __a, (int64x1_t) __b);
10905 }
10906 
10907 __extension__ extern __inline void
10908 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8(poly8_t * __a,poly8x8_t __b)10909 vst1_p8 (poly8_t * __a, poly8x8_t __b)
10910 {
10911   __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
10912 }
10913 
10914 __extension__ extern __inline void
10915 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16(poly16_t * __a,poly16x4_t __b)10916 vst1_p16 (poly16_t * __a, poly16x4_t __b)
10917 {
10918   __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
10919 }
10920 
10921 #pragma GCC push_options
10922 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
10923 __extension__ extern __inline void
10924 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64(poly64_t * __a,poly64x2_t __b)10925 vst1q_p64 (poly64_t * __a, poly64x2_t __b)
10926 {
10927   __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, (int64x2_t) __b);
10928 }
10929 
10930 #pragma GCC pop_options
10931 __extension__ extern __inline void
10932 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8(int8_t * __a,int8x16_t __b)10933 vst1q_s8 (int8_t * __a, int8x16_t __b)
10934 {
10935   __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, __b);
10936 }
10937 
10938 __extension__ extern __inline void
10939 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16(int16_t * __a,int16x8_t __b)10940 vst1q_s16 (int16_t * __a, int16x8_t __b)
10941 {
10942   __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, __b);
10943 }
10944 
10945 __extension__ extern __inline void
10946 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32(int32_t * __a,int32x4_t __b)10947 vst1q_s32 (int32_t * __a, int32x4_t __b)
10948 {
10949   __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, __b);
10950 }
10951 
10952 __extension__ extern __inline void
10953 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64(int64_t * __a,int64x2_t __b)10954 vst1q_s64 (int64_t * __a, int64x2_t __b)
10955 {
10956   __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, __b);
10957 }
10958 
10959 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
10960 __extension__ extern __inline void
10961 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16(float16_t * __a,float16x8_t __b)10962 vst1q_f16 (float16_t * __a, float16x8_t __b)
10963 {
10964   __builtin_neon_vst1v8hf (__a, __b);
10965 }
10966 #endif
10967 
10968 __extension__ extern __inline void
10969 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32(float32_t * __a,float32x4_t __b)10970 vst1q_f32 (float32_t * __a, float32x4_t __b)
10971 {
10972   __builtin_neon_vst1v4sf ((__builtin_neon_sf *) __a, __b);
10973 }
10974 
10975 __extension__ extern __inline void
10976 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8(uint8_t * __a,uint8x16_t __b)10977 vst1q_u8 (uint8_t * __a, uint8x16_t __b)
10978 {
10979   __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
10980 }
10981 
10982 __extension__ extern __inline void
10983 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16(uint16_t * __a,uint16x8_t __b)10984 vst1q_u16 (uint16_t * __a, uint16x8_t __b)
10985 {
10986   __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
10987 }
10988 
10989 __extension__ extern __inline void
10990 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32(uint32_t * __a,uint32x4_t __b)10991 vst1q_u32 (uint32_t * __a, uint32x4_t __b)
10992 {
10993   __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, (int32x4_t) __b);
10994 }
10995 
10996 __extension__ extern __inline void
10997 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64(uint64_t * __a,uint64x2_t __b)10998 vst1q_u64 (uint64_t * __a, uint64x2_t __b)
10999 {
11000   __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, (int64x2_t) __b);
11001 }
11002 
11003 __extension__ extern __inline void
11004 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8(poly8_t * __a,poly8x16_t __b)11005 vst1q_p8 (poly8_t * __a, poly8x16_t __b)
11006 {
11007   __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
11008 }
11009 
11010 __extension__ extern __inline void
11011 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16(poly16_t * __a,poly16x8_t __b)11012 vst1q_p16 (poly16_t * __a, poly16x8_t __b)
11013 {
11014   __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
11015 }
11016 
11017 __extension__ extern __inline void
11018 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s8(int8_t * __a,int8x8_t __b,const int __c)11019 vst1_lane_s8 (int8_t * __a, int8x8_t __b, const int __c)
11020 {
11021   __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, __b, __c);
11022 }
11023 
11024 __extension__ extern __inline void
11025 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s16(int16_t * __a,int16x4_t __b,const int __c)11026 vst1_lane_s16 (int16_t * __a, int16x4_t __b, const int __c)
11027 {
11028   __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, __b, __c);
11029 }
11030 
11031 __extension__ extern __inline void
11032 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s32(int32_t * __a,int32x2_t __b,const int __c)11033 vst1_lane_s32 (int32_t * __a, int32x2_t __b, const int __c)
11034 {
11035   __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, __b, __c);
11036 }
11037 
11038 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11039 __extension__ extern __inline void
11040 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_f16(float16_t * __a,float16x4_t __b,const int __c)11041 vst1_lane_f16 (float16_t * __a, float16x4_t __b, const int __c)
11042 {
11043   __builtin_neon_vst1_lanev4hf (__a, __b, __c);
11044 }
11045 #endif
11046 
11047 __extension__ extern __inline void
11048 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_f32(float32_t * __a,float32x2_t __b,const int __c)11049 vst1_lane_f32 (float32_t * __a, float32x2_t __b, const int __c)
11050 {
11051   __builtin_neon_vst1_lanev2sf ((__builtin_neon_sf *) __a, __b, __c);
11052 }
11053 
11054 __extension__ extern __inline void
11055 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u8(uint8_t * __a,uint8x8_t __b,const int __c)11056 vst1_lane_u8 (uint8_t * __a, uint8x8_t __b, const int __c)
11057 {
11058   __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
11059 }
11060 
11061 __extension__ extern __inline void
11062 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u16(uint16_t * __a,uint16x4_t __b,const int __c)11063 vst1_lane_u16 (uint16_t * __a, uint16x4_t __b, const int __c)
11064 {
11065   __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
11066 }
11067 
11068 __extension__ extern __inline void
11069 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u32(uint32_t * __a,uint32x2_t __b,const int __c)11070 vst1_lane_u32 (uint32_t * __a, uint32x2_t __b, const int __c)
11071 {
11072   __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, (int32x2_t) __b, __c);
11073 }
11074 
11075 __extension__ extern __inline void
11076 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p8(poly8_t * __a,poly8x8_t __b,const int __c)11077 vst1_lane_p8 (poly8_t * __a, poly8x8_t __b, const int __c)
11078 {
11079   __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
11080 }
11081 
11082 __extension__ extern __inline void
11083 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p16(poly16_t * __a,poly16x4_t __b,const int __c)11084 vst1_lane_p16 (poly16_t * __a, poly16x4_t __b, const int __c)
11085 {
11086   __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
11087 }
11088 
11089 #pragma GCC push_options
11090 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11091 __extension__ extern __inline void
11092 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p64(poly64_t * __a,poly64x1_t __b,const int __c)11093 vst1_lane_p64 (poly64_t * __a, poly64x1_t __b, const int __c)
11094 {
11095   __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, __b, __c);
11096 }
11097 
11098 #pragma GCC pop_options
11099 __extension__ extern __inline void
11100 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s64(int64_t * __a,int64x1_t __b,const int __c)11101 vst1_lane_s64 (int64_t * __a, int64x1_t __b, const int __c)
11102 {
11103   __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, __b, __c);
11104 }
11105 
11106 __extension__ extern __inline void
11107 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u64(uint64_t * __a,uint64x1_t __b,const int __c)11108 vst1_lane_u64 (uint64_t * __a, uint64x1_t __b, const int __c)
11109 {
11110   __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, (int64x1_t) __b, __c);
11111 }
11112 
11113 __extension__ extern __inline void
11114 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s8(int8_t * __a,int8x16_t __b,const int __c)11115 vst1q_lane_s8 (int8_t * __a, int8x16_t __b, const int __c)
11116 {
11117   __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, __b, __c);
11118 }
11119 
11120 __extension__ extern __inline void
11121 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s16(int16_t * __a,int16x8_t __b,const int __c)11122 vst1q_lane_s16 (int16_t * __a, int16x8_t __b, const int __c)
11123 {
11124   __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, __b, __c);
11125 }
11126 
11127 __extension__ extern __inline void
11128 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s32(int32_t * __a,int32x4_t __b,const int __c)11129 vst1q_lane_s32 (int32_t * __a, int32x4_t __b, const int __c)
11130 {
11131   __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, __b, __c);
11132 }
11133 
11134 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11135 __extension__ extern __inline void
11136 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_f16(float16_t * __a,float16x8_t __b,const int __c)11137 vst1q_lane_f16 (float16_t * __a, float16x8_t __b, const int __c)
11138 {
11139   __builtin_neon_vst1_lanev8hf (__a, __b, __c);
11140 }
11141 #endif
11142 
11143 __extension__ extern __inline void
11144 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_f32(float32_t * __a,float32x4_t __b,const int __c)11145 vst1q_lane_f32 (float32_t * __a, float32x4_t __b, const int __c)
11146 {
11147   __builtin_neon_vst1_lanev4sf ((__builtin_neon_sf *) __a, __b, __c);
11148 }
11149 
11150 __extension__ extern __inline void
11151 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u8(uint8_t * __a,uint8x16_t __b,const int __c)11152 vst1q_lane_u8 (uint8_t * __a, uint8x16_t __b, const int __c)
11153 {
11154   __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
11155 }
11156 
11157 __extension__ extern __inline void
11158 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u16(uint16_t * __a,uint16x8_t __b,const int __c)11159 vst1q_lane_u16 (uint16_t * __a, uint16x8_t __b, const int __c)
11160 {
11161   __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
11162 }
11163 
11164 __extension__ extern __inline void
11165 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u32(uint32_t * __a,uint32x4_t __b,const int __c)11166 vst1q_lane_u32 (uint32_t * __a, uint32x4_t __b, const int __c)
11167 {
11168   __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, (int32x4_t) __b, __c);
11169 }
11170 
11171 __extension__ extern __inline void
11172 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p8(poly8_t * __a,poly8x16_t __b,const int __c)11173 vst1q_lane_p8 (poly8_t * __a, poly8x16_t __b, const int __c)
11174 {
11175   __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
11176 }
11177 
11178 __extension__ extern __inline void
11179 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p16(poly16_t * __a,poly16x8_t __b,const int __c)11180 vst1q_lane_p16 (poly16_t * __a, poly16x8_t __b, const int __c)
11181 {
11182   __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
11183 }
11184 
11185 #pragma GCC push_options
11186 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11187 __extension__ extern __inline void
11188 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p64(poly64_t * __a,poly64x2_t __b,const int __c)11189 vst1q_lane_p64 (poly64_t * __a, poly64x2_t __b, const int __c)
11190 {
11191   __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, (int64x2_t) __b, __c);
11192 }
11193 
11194 #pragma GCC pop_options
11195 __extension__ extern __inline void
11196 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s64(int64_t * __a,int64x2_t __b,const int __c)11197 vst1q_lane_s64 (int64_t * __a, int64x2_t __b, const int __c)
11198 {
11199   __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, __b, __c);
11200 }
11201 
11202 __extension__ extern __inline void
11203 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u64(uint64_t * __a,uint64x2_t __b,const int __c)11204 vst1q_lane_u64 (uint64_t * __a, uint64x2_t __b, const int __c)
11205 {
11206   __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, (int64x2_t) __b, __c);
11207 }
11208 
11209 __extension__ extern __inline int8x8x2_t
11210 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s8(const int8_t * __a)11211 vld2_s8 (const int8_t * __a)
11212 {
11213   union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11214   __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
11215   return __rv.__i;
11216 }
11217 
11218 __extension__ extern __inline int16x4x2_t
11219 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s16(const int16_t * __a)11220 vld2_s16 (const int16_t * __a)
11221 {
11222   union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11223   __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
11224   return __rv.__i;
11225 }
11226 
11227 __extension__ extern __inline int32x2x2_t
11228 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s32(const int32_t * __a)11229 vld2_s32 (const int32_t * __a)
11230 {
11231   union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11232   __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
11233   return __rv.__i;
11234 }
11235 
11236 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11237 __extension__ extern __inline float16x4x2_t
11238 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_f16(const float16_t * __a)11239 vld2_f16 (const float16_t * __a)
11240 {
11241   union { float16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11242   __rv.__o = __builtin_neon_vld2v4hf (__a);
11243   return __rv.__i;
11244 }
11245 #endif
11246 
11247 __extension__ extern __inline float32x2x2_t
11248 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_f32(const float32_t * __a)11249 vld2_f32 (const float32_t * __a)
11250 {
11251   union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11252   __rv.__o = __builtin_neon_vld2v2sf ((const __builtin_neon_sf *) __a);
11253   return __rv.__i;
11254 }
11255 
11256 __extension__ extern __inline uint8x8x2_t
11257 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u8(const uint8_t * __a)11258 vld2_u8 (const uint8_t * __a)
11259 {
11260   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11261   __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
11262   return __rv.__i;
11263 }
11264 
11265 __extension__ extern __inline uint16x4x2_t
11266 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u16(const uint16_t * __a)11267 vld2_u16 (const uint16_t * __a)
11268 {
11269   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11270   __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
11271   return __rv.__i;
11272 }
11273 
11274 __extension__ extern __inline uint32x2x2_t
11275 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u32(const uint32_t * __a)11276 vld2_u32 (const uint32_t * __a)
11277 {
11278   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11279   __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
11280   return __rv.__i;
11281 }
11282 
11283 __extension__ extern __inline poly8x8x2_t
11284 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p8(const poly8_t * __a)11285 vld2_p8 (const poly8_t * __a)
11286 {
11287   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11288   __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
11289   return __rv.__i;
11290 }
11291 
11292 __extension__ extern __inline poly16x4x2_t
11293 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p16(const poly16_t * __a)11294 vld2_p16 (const poly16_t * __a)
11295 {
11296   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11297   __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
11298   return __rv.__i;
11299 }
11300 
11301 #pragma GCC push_options
11302 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11303 __extension__ extern __inline poly64x1x2_t
11304 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p64(const poly64_t * __a)11305 vld2_p64 (const poly64_t * __a)
11306 {
11307   union { poly64x1x2_t __i; __builtin_neon_ti __o; } __rv;
11308   __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
11309   return __rv.__i;
11310 }
11311 
11312 #pragma GCC pop_options
11313 __extension__ extern __inline int64x1x2_t
11314 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s64(const int64_t * __a)11315 vld2_s64 (const int64_t * __a)
11316 {
11317   union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
11318   __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
11319   return __rv.__i;
11320 }
11321 
11322 __extension__ extern __inline uint64x1x2_t
11323 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u64(const uint64_t * __a)11324 vld2_u64 (const uint64_t * __a)
11325 {
11326   union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
11327   __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
11328   return __rv.__i;
11329 }
11330 
11331 __extension__ extern __inline int8x16x2_t
11332 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s8(const int8_t * __a)11333 vld2q_s8 (const int8_t * __a)
11334 {
11335   union { int8x16x2_t __i; __builtin_neon_oi __o; } __rv;
11336   __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
11337   return __rv.__i;
11338 }
11339 
11340 __extension__ extern __inline int16x8x2_t
11341 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s16(const int16_t * __a)11342 vld2q_s16 (const int16_t * __a)
11343 {
11344   union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11345   __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
11346   return __rv.__i;
11347 }
11348 
11349 __extension__ extern __inline int32x4x2_t
11350 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s32(const int32_t * __a)11351 vld2q_s32 (const int32_t * __a)
11352 {
11353   union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
11354   __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
11355   return __rv.__i;
11356 }
11357 
11358 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11359 __extension__ extern __inline float16x8x2_t
11360 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_f16(const float16_t * __a)11361 vld2q_f16 (const float16_t * __a)
11362 {
11363   union { float16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11364   __rv.__o = __builtin_neon_vld2v8hf (__a);
11365   return __rv.__i;
11366 }
11367 #endif
11368 
11369 __extension__ extern __inline float32x4x2_t
11370 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_f32(const float32_t * __a)11371 vld2q_f32 (const float32_t * __a)
11372 {
11373   union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
11374   __rv.__o = __builtin_neon_vld2v4sf ((const __builtin_neon_sf *) __a);
11375   return __rv.__i;
11376 }
11377 
11378 __extension__ extern __inline uint8x16x2_t
11379 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u8(const uint8_t * __a)11380 vld2q_u8 (const uint8_t * __a)
11381 {
11382   union { uint8x16x2_t __i; __builtin_neon_oi __o; } __rv;
11383   __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
11384   return __rv.__i;
11385 }
11386 
11387 __extension__ extern __inline uint16x8x2_t
11388 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u16(const uint16_t * __a)11389 vld2q_u16 (const uint16_t * __a)
11390 {
11391   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11392   __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
11393   return __rv.__i;
11394 }
11395 
11396 __extension__ extern __inline uint32x4x2_t
11397 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u32(const uint32_t * __a)11398 vld2q_u32 (const uint32_t * __a)
11399 {
11400   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
11401   __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
11402   return __rv.__i;
11403 }
11404 
11405 __extension__ extern __inline poly8x16x2_t
11406 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_p8(const poly8_t * __a)11407 vld2q_p8 (const poly8_t * __a)
11408 {
11409   union { poly8x16x2_t __i; __builtin_neon_oi __o; } __rv;
11410   __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
11411   return __rv.__i;
11412 }
11413 
11414 __extension__ extern __inline poly16x8x2_t
11415 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_p16(const poly16_t * __a)11416 vld2q_p16 (const poly16_t * __a)
11417 {
11418   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11419   __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
11420   return __rv.__i;
11421 }
11422 
11423 __extension__ extern __inline int8x8x2_t
11424 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_s8(const int8_t * __a,int8x8x2_t __b,const int __c)11425 vld2_lane_s8 (const int8_t * __a, int8x8x2_t __b, const int __c)
11426 {
11427   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11428   union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11429   __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
11430   return __rv.__i;
11431 }
11432 
11433 __extension__ extern __inline int16x4x2_t
11434 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_s16(const int16_t * __a,int16x4x2_t __b,const int __c)11435 vld2_lane_s16 (const int16_t * __a, int16x4x2_t __b, const int __c)
11436 {
11437   union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11438   union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11439   __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
11440   return __rv.__i;
11441 }
11442 
11443 __extension__ extern __inline int32x2x2_t
11444 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_s32(const int32_t * __a,int32x2x2_t __b,const int __c)11445 vld2_lane_s32 (const int32_t * __a, int32x2x2_t __b, const int __c)
11446 {
11447   union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11448   union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11449   __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
11450   return __rv.__i;
11451 }
11452 
11453 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11454 __extension__ extern __inline float16x4x2_t
11455 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_f16(const float16_t * __a,float16x4x2_t __b,const int __c)11456 vld2_lane_f16 (const float16_t * __a, float16x4x2_t __b, const int __c)
11457 {
11458   union { float16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11459   union { float16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11460   __rv.__o = __builtin_neon_vld2_lanev4hf ( __a, __bu.__o, __c);
11461   return __rv.__i;
11462 }
11463 #endif
11464 
11465 __extension__ extern __inline float32x2x2_t
11466 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_f32(const float32_t * __a,float32x2x2_t __b,const int __c)11467 vld2_lane_f32 (const float32_t * __a, float32x2x2_t __b, const int __c)
11468 {
11469   union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11470   union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11471   __rv.__o = __builtin_neon_vld2_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
11472   return __rv.__i;
11473 }
11474 
11475 __extension__ extern __inline uint8x8x2_t
11476 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_u8(const uint8_t * __a,uint8x8x2_t __b,const int __c)11477 vld2_lane_u8 (const uint8_t * __a, uint8x8x2_t __b, const int __c)
11478 {
11479   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11480   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11481   __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
11482   return __rv.__i;
11483 }
11484 
11485 __extension__ extern __inline uint16x4x2_t
11486 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_u16(const uint16_t * __a,uint16x4x2_t __b,const int __c)11487 vld2_lane_u16 (const uint16_t * __a, uint16x4x2_t __b, const int __c)
11488 {
11489   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11490   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11491   __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
11492   return __rv.__i;
11493 }
11494 
11495 __extension__ extern __inline uint32x2x2_t
11496 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_u32(const uint32_t * __a,uint32x2x2_t __b,const int __c)11497 vld2_lane_u32 (const uint32_t * __a, uint32x2x2_t __b, const int __c)
11498 {
11499   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11500   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11501   __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
11502   return __rv.__i;
11503 }
11504 
11505 __extension__ extern __inline poly8x8x2_t
11506 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_p8(const poly8_t * __a,poly8x8x2_t __b,const int __c)11507 vld2_lane_p8 (const poly8_t * __a, poly8x8x2_t __b, const int __c)
11508 {
11509   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11510   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11511   __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
11512   return __rv.__i;
11513 }
11514 
11515 __extension__ extern __inline poly16x4x2_t
11516 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_lane_p16(const poly16_t * __a,poly16x4x2_t __b,const int __c)11517 vld2_lane_p16 (const poly16_t * __a, poly16x4x2_t __b, const int __c)
11518 {
11519   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11520   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11521   __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
11522   return __rv.__i;
11523 }
11524 
11525 __extension__ extern __inline int16x8x2_t
11526 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_s16(const int16_t * __a,int16x8x2_t __b,const int __c)11527 vld2q_lane_s16 (const int16_t * __a, int16x8x2_t __b, const int __c)
11528 {
11529   union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11530   union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11531   __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
11532   return __rv.__i;
11533 }
11534 
11535 __extension__ extern __inline int32x4x2_t
11536 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_s32(const int32_t * __a,int32x4x2_t __b,const int __c)11537 vld2q_lane_s32 (const int32_t * __a, int32x4x2_t __b, const int __c)
11538 {
11539   union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11540   union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
11541   __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
11542   return __rv.__i;
11543 }
11544 
11545 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11546 __extension__ extern __inline float16x8x2_t
11547 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_f16(const float16_t * __a,float16x8x2_t __b,const int __c)11548 vld2q_lane_f16 (const float16_t * __a, float16x8x2_t __b, const int __c)
11549 {
11550   union { float16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11551   union { float16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11552   __rv.__o = __builtin_neon_vld2_lanev8hf (__a, __bu.__o, __c);
11553   return __rv.__i;
11554 }
11555 #endif
11556 
11557 __extension__ extern __inline float32x4x2_t
11558 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_f32(const float32_t * __a,float32x4x2_t __b,const int __c)11559 vld2q_lane_f32 (const float32_t * __a, float32x4x2_t __b, const int __c)
11560 {
11561   union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11562   union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
11563   __rv.__o = __builtin_neon_vld2_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
11564   return __rv.__i;
11565 }
11566 
11567 __extension__ extern __inline uint16x8x2_t
11568 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_u16(const uint16_t * __a,uint16x8x2_t __b,const int __c)11569 vld2q_lane_u16 (const uint16_t * __a, uint16x8x2_t __b, const int __c)
11570 {
11571   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11572   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11573   __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
11574   return __rv.__i;
11575 }
11576 
11577 __extension__ extern __inline uint32x4x2_t
11578 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_u32(const uint32_t * __a,uint32x4x2_t __b,const int __c)11579 vld2q_lane_u32 (const uint32_t * __a, uint32x4x2_t __b, const int __c)
11580 {
11581   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11582   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
11583   __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
11584   return __rv.__i;
11585 }
11586 
11587 __extension__ extern __inline poly16x8x2_t
11588 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_lane_p16(const poly16_t * __a,poly16x8x2_t __b,const int __c)11589 vld2q_lane_p16 (const poly16_t * __a, poly16x8x2_t __b, const int __c)
11590 {
11591   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11592   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
11593   __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
11594   return __rv.__i;
11595 }
11596 
11597 __extension__ extern __inline int8x8x2_t
11598 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s8(const int8_t * __a)11599 vld2_dup_s8 (const int8_t * __a)
11600 {
11601   union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11602   __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
11603   return __rv.__i;
11604 }
11605 
11606 __extension__ extern __inline int16x4x2_t
11607 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s16(const int16_t * __a)11608 vld2_dup_s16 (const int16_t * __a)
11609 {
11610   union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11611   __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
11612   return __rv.__i;
11613 }
11614 
11615 __extension__ extern __inline int32x2x2_t
11616 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s32(const int32_t * __a)11617 vld2_dup_s32 (const int32_t * __a)
11618 {
11619   union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11620   __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
11621   return __rv.__i;
11622 }
11623 
11624 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11625 __extension__ extern __inline float16x4x2_t
11626 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_f16(const float16_t * __a)11627 vld2_dup_f16 (const float16_t * __a)
11628 {
11629   union { float16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11630   __rv.__o = __builtin_neon_vld2_dupv4hf (__a);
11631   return __rv.__i;
11632 }
11633 #endif
11634 
11635 __extension__ extern __inline float32x2x2_t
11636 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_f32(const float32_t * __a)11637 vld2_dup_f32 (const float32_t * __a)
11638 {
11639   union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11640   __rv.__o = __builtin_neon_vld2_dupv2sf ((const __builtin_neon_sf *) __a);
11641   return __rv.__i;
11642 }
11643 
11644 __extension__ extern __inline uint8x8x2_t
11645 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u8(const uint8_t * __a)11646 vld2_dup_u8 (const uint8_t * __a)
11647 {
11648   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11649   __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
11650   return __rv.__i;
11651 }
11652 
11653 __extension__ extern __inline uint16x4x2_t
11654 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u16(const uint16_t * __a)11655 vld2_dup_u16 (const uint16_t * __a)
11656 {
11657   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11658   __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
11659   return __rv.__i;
11660 }
11661 
11662 __extension__ extern __inline uint32x2x2_t
11663 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u32(const uint32_t * __a)11664 vld2_dup_u32 (const uint32_t * __a)
11665 {
11666   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
11667   __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
11668   return __rv.__i;
11669 }
11670 
11671 __extension__ extern __inline poly8x8x2_t
11672 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p8(const poly8_t * __a)11673 vld2_dup_p8 (const poly8_t * __a)
11674 {
11675   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
11676   __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
11677   return __rv.__i;
11678 }
11679 
11680 __extension__ extern __inline poly16x4x2_t
11681 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p16(const poly16_t * __a)11682 vld2_dup_p16 (const poly16_t * __a)
11683 {
11684   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
11685   __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
11686   return __rv.__i;
11687 }
11688 
11689 #pragma GCC push_options
11690 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11691 __extension__ extern __inline poly64x1x2_t
11692 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p64(const poly64_t * __a)11693 vld2_dup_p64 (const poly64_t * __a)
11694 {
11695   union { poly64x1x2_t __i; __builtin_neon_ti __o; } __rv;
11696   __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
11697   return __rv.__i;
11698 }
11699 
11700 #pragma GCC pop_options
11701 __extension__ extern __inline int64x1x2_t
11702 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s64(const int64_t * __a)11703 vld2_dup_s64 (const int64_t * __a)
11704 {
11705   union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
11706   __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
11707   return __rv.__i;
11708 }
11709 
11710 __extension__ extern __inline uint64x1x2_t
11711 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u64(const uint64_t * __a)11712 vld2_dup_u64 (const uint64_t * __a)
11713 {
11714   union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
11715   __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
11716   return __rv.__i;
11717 }
11718 
11719 __extension__ extern __inline void
11720 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s8(int8_t * __a,int8x8x2_t __b)11721 vst2_s8 (int8_t * __a, int8x8x2_t __b)
11722 {
11723   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11724   __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
11725 }
11726 
11727 __extension__ extern __inline void
11728 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s16(int16_t * __a,int16x4x2_t __b)11729 vst2_s16 (int16_t * __a, int16x4x2_t __b)
11730 {
11731   union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11732   __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
11733 }
11734 
11735 __extension__ extern __inline void
11736 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s32(int32_t * __a,int32x2x2_t __b)11737 vst2_s32 (int32_t * __a, int32x2x2_t __b)
11738 {
11739   union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11740   __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
11741 }
11742 
11743 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11744 __extension__ extern __inline void
11745 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_f16(float16_t * __a,float16x4x2_t __b)11746 vst2_f16 (float16_t * __a, float16x4x2_t __b)
11747 {
11748   union { float16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11749   __builtin_neon_vst2v4hf (__a, __bu.__o);
11750 }
11751 #endif
11752 
11753 __extension__ extern __inline void
11754 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_f32(float32_t * __a,float32x2x2_t __b)11755 vst2_f32 (float32_t * __a, float32x2x2_t __b)
11756 {
11757   union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11758   __builtin_neon_vst2v2sf ((__builtin_neon_sf *) __a, __bu.__o);
11759 }
11760 
11761 __extension__ extern __inline void
11762 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u8(uint8_t * __a,uint8x8x2_t __b)11763 vst2_u8 (uint8_t * __a, uint8x8x2_t __b)
11764 {
11765   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11766   __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
11767 }
11768 
11769 __extension__ extern __inline void
11770 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u16(uint16_t * __a,uint16x4x2_t __b)11771 vst2_u16 (uint16_t * __a, uint16x4x2_t __b)
11772 {
11773   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11774   __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
11775 }
11776 
11777 __extension__ extern __inline void
11778 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u32(uint32_t * __a,uint32x2x2_t __b)11779 vst2_u32 (uint32_t * __a, uint32x2x2_t __b)
11780 {
11781   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11782   __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
11783 }
11784 
11785 __extension__ extern __inline void
11786 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p8(poly8_t * __a,poly8x8x2_t __b)11787 vst2_p8 (poly8_t * __a, poly8x8x2_t __b)
11788 {
11789   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11790   __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
11791 }
11792 
11793 __extension__ extern __inline void
11794 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p16(poly16_t * __a,poly16x4x2_t __b)11795 vst2_p16 (poly16_t * __a, poly16x4x2_t __b)
11796 {
11797   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11798   __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
11799 }
11800 
11801 #pragma GCC push_options
11802 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
11803 __extension__ extern __inline void
11804 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p64(poly64_t * __a,poly64x1x2_t __b)11805 vst2_p64 (poly64_t * __a, poly64x1x2_t __b)
11806 {
11807   union { poly64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11808   __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
11809 }
11810 
11811 #pragma GCC pop_options
11812 __extension__ extern __inline void
11813 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s64(int64_t * __a,int64x1x2_t __b)11814 vst2_s64 (int64_t * __a, int64x1x2_t __b)
11815 {
11816   union { int64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11817   __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
11818 }
11819 
11820 __extension__ extern __inline void
11821 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u64(uint64_t * __a,uint64x1x2_t __b)11822 vst2_u64 (uint64_t * __a, uint64x1x2_t __b)
11823 {
11824   union { uint64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11825   __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
11826 }
11827 
11828 __extension__ extern __inline void
11829 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s8(int8_t * __a,int8x16x2_t __b)11830 vst2q_s8 (int8_t * __a, int8x16x2_t __b)
11831 {
11832   union { int8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11833   __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
11834 }
11835 
11836 __extension__ extern __inline void
11837 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s16(int16_t * __a,int16x8x2_t __b)11838 vst2q_s16 (int16_t * __a, int16x8x2_t __b)
11839 {
11840   union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11841   __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
11842 }
11843 
11844 __extension__ extern __inline void
11845 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s32(int32_t * __a,int32x4x2_t __b)11846 vst2q_s32 (int32_t * __a, int32x4x2_t __b)
11847 {
11848   union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11849   __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
11850 }
11851 
11852 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11853 __extension__ extern __inline void
11854 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_f16(float16_t * __a,float16x8x2_t __b)11855 vst2q_f16 (float16_t * __a, float16x8x2_t __b)
11856 {
11857   union { float16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11858   __builtin_neon_vst2v8hf (__a, __bu.__o);
11859 }
11860 #endif
11861 
11862 __extension__ extern __inline void
11863 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_f32(float32_t * __a,float32x4x2_t __b)11864 vst2q_f32 (float32_t * __a, float32x4x2_t __b)
11865 {
11866   union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11867   __builtin_neon_vst2v4sf ((__builtin_neon_sf *) __a, __bu.__o);
11868 }
11869 
11870 __extension__ extern __inline void
11871 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u8(uint8_t * __a,uint8x16x2_t __b)11872 vst2q_u8 (uint8_t * __a, uint8x16x2_t __b)
11873 {
11874   union { uint8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11875   __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
11876 }
11877 
11878 __extension__ extern __inline void
11879 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u16(uint16_t * __a,uint16x8x2_t __b)11880 vst2q_u16 (uint16_t * __a, uint16x8x2_t __b)
11881 {
11882   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11883   __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
11884 }
11885 
11886 __extension__ extern __inline void
11887 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u32(uint32_t * __a,uint32x4x2_t __b)11888 vst2q_u32 (uint32_t * __a, uint32x4x2_t __b)
11889 {
11890   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11891   __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
11892 }
11893 
11894 __extension__ extern __inline void
11895 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_p8(poly8_t * __a,poly8x16x2_t __b)11896 vst2q_p8 (poly8_t * __a, poly8x16x2_t __b)
11897 {
11898   union { poly8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11899   __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
11900 }
11901 
11902 __extension__ extern __inline void
11903 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_p16(poly16_t * __a,poly16x8x2_t __b)11904 vst2q_p16 (poly16_t * __a, poly16x8x2_t __b)
11905 {
11906   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11907   __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
11908 }
11909 
11910 __extension__ extern __inline void
11911 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_s8(int8_t * __a,int8x8x2_t __b,const int __c)11912 vst2_lane_s8 (int8_t * __a, int8x8x2_t __b, const int __c)
11913 {
11914   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11915   __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
11916 }
11917 
11918 __extension__ extern __inline void
11919 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_s16(int16_t * __a,int16x4x2_t __b,const int __c)11920 vst2_lane_s16 (int16_t * __a, int16x4x2_t __b, const int __c)
11921 {
11922   union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11923   __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
11924 }
11925 
11926 __extension__ extern __inline void
11927 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_s32(int32_t * __a,int32x2x2_t __b,const int __c)11928 vst2_lane_s32 (int32_t * __a, int32x2x2_t __b, const int __c)
11929 {
11930   union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11931   __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
11932 }
11933 
11934 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
11935 __extension__ extern __inline void
11936 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_f16(float16_t * __a,float16x4x2_t __b,const int __c)11937 vst2_lane_f16 (float16_t * __a, float16x4x2_t __b, const int __c)
11938 {
11939   union { float16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11940   __builtin_neon_vst2_lanev4hf (__a, __bu.__o, __c);
11941 }
11942 #endif
11943 
11944 __extension__ extern __inline void
11945 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_f32(float32_t * __a,float32x2x2_t __b,const int __c)11946 vst2_lane_f32 (float32_t * __a, float32x2x2_t __b, const int __c)
11947 {
11948   union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11949   __builtin_neon_vst2_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
11950 }
11951 
11952 __extension__ extern __inline void
11953 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_u8(uint8_t * __a,uint8x8x2_t __b,const int __c)11954 vst2_lane_u8 (uint8_t * __a, uint8x8x2_t __b, const int __c)
11955 {
11956   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11957   __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
11958 }
11959 
11960 __extension__ extern __inline void
11961 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_u16(uint16_t * __a,uint16x4x2_t __b,const int __c)11962 vst2_lane_u16 (uint16_t * __a, uint16x4x2_t __b, const int __c)
11963 {
11964   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11965   __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
11966 }
11967 
11968 __extension__ extern __inline void
11969 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_u32(uint32_t * __a,uint32x2x2_t __b,const int __c)11970 vst2_lane_u32 (uint32_t * __a, uint32x2x2_t __b, const int __c)
11971 {
11972   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11973   __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
11974 }
11975 
11976 __extension__ extern __inline void
11977 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_p8(poly8_t * __a,poly8x8x2_t __b,const int __c)11978 vst2_lane_p8 (poly8_t * __a, poly8x8x2_t __b, const int __c)
11979 {
11980   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11981   __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
11982 }
11983 
11984 __extension__ extern __inline void
11985 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2_lane_p16(poly16_t * __a,poly16x4x2_t __b,const int __c)11986 vst2_lane_p16 (poly16_t * __a, poly16x4x2_t __b, const int __c)
11987 {
11988   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
11989   __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
11990 }
11991 
11992 __extension__ extern __inline void
11993 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_s16(int16_t * __a,int16x8x2_t __b,const int __c)11994 vst2q_lane_s16 (int16_t * __a, int16x8x2_t __b, const int __c)
11995 {
11996   union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
11997   __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
11998 }
11999 
12000 __extension__ extern __inline void
12001 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_s32(int32_t * __a,int32x4x2_t __b,const int __c)12002 vst2q_lane_s32 (int32_t * __a, int32x4x2_t __b, const int __c)
12003 {
12004   union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
12005   __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
12006 }
12007 
12008 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12009 __extension__ extern __inline void
12010 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_f16(float16_t * __a,float16x8x2_t __b,const int __c)12011 vst2q_lane_f16 (float16_t * __a, float16x8x2_t __b, const int __c)
12012 {
12013   union { float16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
12014   __builtin_neon_vst2_lanev8hf (__a, __bu.__o, __c);
12015 }
12016 #endif
12017 
12018 __extension__ extern __inline void
12019 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_f32(float32_t * __a,float32x4x2_t __b,const int __c)12020 vst2q_lane_f32 (float32_t * __a, float32x4x2_t __b, const int __c)
12021 {
12022   union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
12023   __builtin_neon_vst2_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
12024 }
12025 
12026 __extension__ extern __inline void
12027 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_u16(uint16_t * __a,uint16x8x2_t __b,const int __c)12028 vst2q_lane_u16 (uint16_t * __a, uint16x8x2_t __b, const int __c)
12029 {
12030   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
12031   __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12032 }
12033 
12034 __extension__ extern __inline void
12035 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_u32(uint32_t * __a,uint32x4x2_t __b,const int __c)12036 vst2q_lane_u32 (uint32_t * __a, uint32x4x2_t __b, const int __c)
12037 {
12038   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
12039   __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
12040 }
12041 
12042 __extension__ extern __inline void
12043 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_lane_p16(poly16_t * __a,poly16x8x2_t __b,const int __c)12044 vst2q_lane_p16 (poly16_t * __a, poly16x8x2_t __b, const int __c)
12045 {
12046   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
12047   __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12048 }
12049 
12050 __extension__ extern __inline int8x8x3_t
12051 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s8(const int8_t * __a)12052 vld3_s8 (const int8_t * __a)
12053 {
12054   union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12055   __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
12056   return __rv.__i;
12057 }
12058 
12059 __extension__ extern __inline int16x4x3_t
12060 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s16(const int16_t * __a)12061 vld3_s16 (const int16_t * __a)
12062 {
12063   union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12064   __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
12065   return __rv.__i;
12066 }
12067 
12068 __extension__ extern __inline int32x2x3_t
12069 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s32(const int32_t * __a)12070 vld3_s32 (const int32_t * __a)
12071 {
12072   union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12073   __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
12074   return __rv.__i;
12075 }
12076 
12077 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12078 __extension__ extern __inline float16x4x3_t
12079 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_f16(const float16_t * __a)12080 vld3_f16 (const float16_t * __a)
12081 {
12082   union { float16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12083   __rv.__o = __builtin_neon_vld3v4hf (__a);
12084   return __rv.__i;
12085 }
12086 #endif
12087 
12088 __extension__ extern __inline float32x2x3_t
12089 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_f32(const float32_t * __a)12090 vld3_f32 (const float32_t * __a)
12091 {
12092   union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12093   __rv.__o = __builtin_neon_vld3v2sf ((const __builtin_neon_sf *) __a);
12094   return __rv.__i;
12095 }
12096 
12097 __extension__ extern __inline uint8x8x3_t
12098 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u8(const uint8_t * __a)12099 vld3_u8 (const uint8_t * __a)
12100 {
12101   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12102   __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
12103   return __rv.__i;
12104 }
12105 
12106 __extension__ extern __inline uint16x4x3_t
12107 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u16(const uint16_t * __a)12108 vld3_u16 (const uint16_t * __a)
12109 {
12110   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12111   __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
12112   return __rv.__i;
12113 }
12114 
12115 __extension__ extern __inline uint32x2x3_t
12116 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u32(const uint32_t * __a)12117 vld3_u32 (const uint32_t * __a)
12118 {
12119   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12120   __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
12121   return __rv.__i;
12122 }
12123 
12124 __extension__ extern __inline poly8x8x3_t
12125 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p8(const poly8_t * __a)12126 vld3_p8 (const poly8_t * __a)
12127 {
12128   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12129   __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
12130   return __rv.__i;
12131 }
12132 
12133 __extension__ extern __inline poly16x4x3_t
12134 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p16(const poly16_t * __a)12135 vld3_p16 (const poly16_t * __a)
12136 {
12137   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12138   __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
12139   return __rv.__i;
12140 }
12141 
12142 #pragma GCC push_options
12143 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
12144 __extension__ extern __inline poly64x1x3_t
12145 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p64(const poly64_t * __a)12146 vld3_p64 (const poly64_t * __a)
12147 {
12148   union { poly64x1x3_t __i; __builtin_neon_ei __o; } __rv;
12149   __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
12150   return __rv.__i;
12151 }
12152 
12153 #pragma GCC pop_options
12154 __extension__ extern __inline int64x1x3_t
12155 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s64(const int64_t * __a)12156 vld3_s64 (const int64_t * __a)
12157 {
12158   union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
12159   __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
12160   return __rv.__i;
12161 }
12162 
12163 __extension__ extern __inline uint64x1x3_t
12164 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u64(const uint64_t * __a)12165 vld3_u64 (const uint64_t * __a)
12166 {
12167   union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
12168   __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
12169   return __rv.__i;
12170 }
12171 
12172 __extension__ extern __inline int8x16x3_t
12173 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s8(const int8_t * __a)12174 vld3q_s8 (const int8_t * __a)
12175 {
12176   union { int8x16x3_t __i; __builtin_neon_ci __o; } __rv;
12177   __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
12178   return __rv.__i;
12179 }
12180 
12181 __extension__ extern __inline int16x8x3_t
12182 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s16(const int16_t * __a)12183 vld3q_s16 (const int16_t * __a)
12184 {
12185   union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12186   __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
12187   return __rv.__i;
12188 }
12189 
12190 __extension__ extern __inline int32x4x3_t
12191 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s32(const int32_t * __a)12192 vld3q_s32 (const int32_t * __a)
12193 {
12194   union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
12195   __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
12196   return __rv.__i;
12197 }
12198 
12199 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12200 __extension__ extern __inline float16x8x3_t
12201 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_f16(const float16_t * __a)12202 vld3q_f16 (const float16_t * __a)
12203 {
12204   union { float16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12205   __rv.__o = __builtin_neon_vld3v8hf (__a);
12206   return __rv.__i;
12207 }
12208 #endif
12209 
12210 __extension__ extern __inline float32x4x3_t
12211 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_f32(const float32_t * __a)12212 vld3q_f32 (const float32_t * __a)
12213 {
12214   union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
12215   __rv.__o = __builtin_neon_vld3v4sf ((const __builtin_neon_sf *) __a);
12216   return __rv.__i;
12217 }
12218 
12219 __extension__ extern __inline uint8x16x3_t
12220 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u8(const uint8_t * __a)12221 vld3q_u8 (const uint8_t * __a)
12222 {
12223   union { uint8x16x3_t __i; __builtin_neon_ci __o; } __rv;
12224   __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
12225   return __rv.__i;
12226 }
12227 
12228 __extension__ extern __inline uint16x8x3_t
12229 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u16(const uint16_t * __a)12230 vld3q_u16 (const uint16_t * __a)
12231 {
12232   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12233   __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
12234   return __rv.__i;
12235 }
12236 
12237 __extension__ extern __inline uint32x4x3_t
12238 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u32(const uint32_t * __a)12239 vld3q_u32 (const uint32_t * __a)
12240 {
12241   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
12242   __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
12243   return __rv.__i;
12244 }
12245 
12246 __extension__ extern __inline poly8x16x3_t
12247 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_p8(const poly8_t * __a)12248 vld3q_p8 (const poly8_t * __a)
12249 {
12250   union { poly8x16x3_t __i; __builtin_neon_ci __o; } __rv;
12251   __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
12252   return __rv.__i;
12253 }
12254 
12255 __extension__ extern __inline poly16x8x3_t
12256 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_p16(const poly16_t * __a)12257 vld3q_p16 (const poly16_t * __a)
12258 {
12259   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12260   __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
12261   return __rv.__i;
12262 }
12263 
12264 __extension__ extern __inline int8x8x3_t
12265 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_s8(const int8_t * __a,int8x8x3_t __b,const int __c)12266 vld3_lane_s8 (const int8_t * __a, int8x8x3_t __b, const int __c)
12267 {
12268   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12269   union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12270   __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
12271   return __rv.__i;
12272 }
12273 
12274 __extension__ extern __inline int16x4x3_t
12275 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_s16(const int16_t * __a,int16x4x3_t __b,const int __c)12276 vld3_lane_s16 (const int16_t * __a, int16x4x3_t __b, const int __c)
12277 {
12278   union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12279   union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12280   __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
12281   return __rv.__i;
12282 }
12283 
12284 __extension__ extern __inline int32x2x3_t
12285 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_s32(const int32_t * __a,int32x2x3_t __b,const int __c)12286 vld3_lane_s32 (const int32_t * __a, int32x2x3_t __b, const int __c)
12287 {
12288   union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12289   union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12290   __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
12291   return __rv.__i;
12292 }
12293 
12294 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12295 __extension__ extern __inline float16x4x3_t
12296 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_f16(const float16_t * __a,float16x4x3_t __b,const int __c)12297 vld3_lane_f16 (const float16_t * __a, float16x4x3_t __b, const int __c)
12298 {
12299   union { float16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12300   union { float16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12301   __rv.__o = __builtin_neon_vld3_lanev4hf (__a, __bu.__o, __c);
12302   return __rv.__i;
12303 }
12304 #endif
12305 
12306 __extension__ extern __inline float32x2x3_t
12307 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_f32(const float32_t * __a,float32x2x3_t __b,const int __c)12308 vld3_lane_f32 (const float32_t * __a, float32x2x3_t __b, const int __c)
12309 {
12310   union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12311   union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12312   __rv.__o = __builtin_neon_vld3_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
12313   return __rv.__i;
12314 }
12315 
12316 __extension__ extern __inline uint8x8x3_t
12317 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_u8(const uint8_t * __a,uint8x8x3_t __b,const int __c)12318 vld3_lane_u8 (const uint8_t * __a, uint8x8x3_t __b, const int __c)
12319 {
12320   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12321   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12322   __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
12323   return __rv.__i;
12324 }
12325 
12326 __extension__ extern __inline uint16x4x3_t
12327 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_u16(const uint16_t * __a,uint16x4x3_t __b,const int __c)12328 vld3_lane_u16 (const uint16_t * __a, uint16x4x3_t __b, const int __c)
12329 {
12330   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12331   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12332   __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
12333   return __rv.__i;
12334 }
12335 
12336 __extension__ extern __inline uint32x2x3_t
12337 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_u32(const uint32_t * __a,uint32x2x3_t __b,const int __c)12338 vld3_lane_u32 (const uint32_t * __a, uint32x2x3_t __b, const int __c)
12339 {
12340   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12341   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12342   __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
12343   return __rv.__i;
12344 }
12345 
12346 __extension__ extern __inline poly8x8x3_t
12347 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_p8(const poly8_t * __a,poly8x8x3_t __b,const int __c)12348 vld3_lane_p8 (const poly8_t * __a, poly8x8x3_t __b, const int __c)
12349 {
12350   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12351   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12352   __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
12353   return __rv.__i;
12354 }
12355 
12356 __extension__ extern __inline poly16x4x3_t
12357 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_lane_p16(const poly16_t * __a,poly16x4x3_t __b,const int __c)12358 vld3_lane_p16 (const poly16_t * __a, poly16x4x3_t __b, const int __c)
12359 {
12360   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12361   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12362   __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
12363   return __rv.__i;
12364 }
12365 
12366 __extension__ extern __inline int16x8x3_t
12367 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_s16(const int16_t * __a,int16x8x3_t __b,const int __c)12368 vld3q_lane_s16 (const int16_t * __a, int16x8x3_t __b, const int __c)
12369 {
12370   union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12371   union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12372   __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
12373   return __rv.__i;
12374 }
12375 
12376 __extension__ extern __inline int32x4x3_t
12377 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_s32(const int32_t * __a,int32x4x3_t __b,const int __c)12378 vld3q_lane_s32 (const int32_t * __a, int32x4x3_t __b, const int __c)
12379 {
12380   union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12381   union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
12382   __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
12383   return __rv.__i;
12384 }
12385 
12386 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12387 __extension__ extern __inline float16x8x3_t
12388 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_f16(const float16_t * __a,float16x8x3_t __b,const int __c)12389 vld3q_lane_f16 (const float16_t * __a, float16x8x3_t __b, const int __c)
12390 {
12391   union { float16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12392   union { float16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12393   __rv.__o = __builtin_neon_vld3_lanev8hf (__a, __bu.__o, __c);
12394   return __rv.__i;
12395 }
12396 #endif
12397 
12398 __extension__ extern __inline float32x4x3_t
12399 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_f32(const float32_t * __a,float32x4x3_t __b,const int __c)12400 vld3q_lane_f32 (const float32_t * __a, float32x4x3_t __b, const int __c)
12401 {
12402   union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12403   union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
12404   __rv.__o = __builtin_neon_vld3_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
12405   return __rv.__i;
12406 }
12407 
12408 __extension__ extern __inline uint16x8x3_t
12409 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_u16(const uint16_t * __a,uint16x8x3_t __b,const int __c)12410 vld3q_lane_u16 (const uint16_t * __a, uint16x8x3_t __b, const int __c)
12411 {
12412   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12413   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12414   __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
12415   return __rv.__i;
12416 }
12417 
12418 __extension__ extern __inline uint32x4x3_t
12419 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_u32(const uint32_t * __a,uint32x4x3_t __b,const int __c)12420 vld3q_lane_u32 (const uint32_t * __a, uint32x4x3_t __b, const int __c)
12421 {
12422   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12423   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
12424   __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
12425   return __rv.__i;
12426 }
12427 
12428 __extension__ extern __inline poly16x8x3_t
12429 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_lane_p16(const poly16_t * __a,poly16x8x3_t __b,const int __c)12430 vld3q_lane_p16 (const poly16_t * __a, poly16x8x3_t __b, const int __c)
12431 {
12432   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12433   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
12434   __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
12435   return __rv.__i;
12436 }
12437 
12438 __extension__ extern __inline int8x8x3_t
12439 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s8(const int8_t * __a)12440 vld3_dup_s8 (const int8_t * __a)
12441 {
12442   union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12443   __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
12444   return __rv.__i;
12445 }
12446 
12447 __extension__ extern __inline int16x4x3_t
12448 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s16(const int16_t * __a)12449 vld3_dup_s16 (const int16_t * __a)
12450 {
12451   union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12452   __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
12453   return __rv.__i;
12454 }
12455 
12456 __extension__ extern __inline int32x2x3_t
12457 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s32(const int32_t * __a)12458 vld3_dup_s32 (const int32_t * __a)
12459 {
12460   union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12461   __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
12462   return __rv.__i;
12463 }
12464 
12465 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12466 __extension__ extern __inline float16x4x3_t
12467 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_f16(const float16_t * __a)12468 vld3_dup_f16 (const float16_t * __a)
12469 {
12470   union { float16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12471   __rv.__o = __builtin_neon_vld3_dupv4hf (__a);
12472   return __rv.__i;
12473 }
12474 #endif
12475 
12476 __extension__ extern __inline float32x2x3_t
12477 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_f32(const float32_t * __a)12478 vld3_dup_f32 (const float32_t * __a)
12479 {
12480   union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12481   __rv.__o = __builtin_neon_vld3_dupv2sf ((const __builtin_neon_sf *) __a);
12482   return __rv.__i;
12483 }
12484 
12485 __extension__ extern __inline uint8x8x3_t
12486 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u8(const uint8_t * __a)12487 vld3_dup_u8 (const uint8_t * __a)
12488 {
12489   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12490   __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
12491   return __rv.__i;
12492 }
12493 
12494 __extension__ extern __inline uint16x4x3_t
12495 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u16(const uint16_t * __a)12496 vld3_dup_u16 (const uint16_t * __a)
12497 {
12498   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12499   __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
12500   return __rv.__i;
12501 }
12502 
12503 __extension__ extern __inline uint32x2x3_t
12504 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u32(const uint32_t * __a)12505 vld3_dup_u32 (const uint32_t * __a)
12506 {
12507   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
12508   __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
12509   return __rv.__i;
12510 }
12511 
12512 __extension__ extern __inline poly8x8x3_t
12513 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p8(const poly8_t * __a)12514 vld3_dup_p8 (const poly8_t * __a)
12515 {
12516   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
12517   __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
12518   return __rv.__i;
12519 }
12520 
12521 __extension__ extern __inline poly16x4x3_t
12522 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p16(const poly16_t * __a)12523 vld3_dup_p16 (const poly16_t * __a)
12524 {
12525   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
12526   __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
12527   return __rv.__i;
12528 }
12529 
12530 #pragma GCC push_options
12531 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
12532 __extension__ extern __inline poly64x1x3_t
12533 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p64(const poly64_t * __a)12534 vld3_dup_p64 (const poly64_t * __a)
12535 {
12536   union { poly64x1x3_t __i; __builtin_neon_ei __o; } __rv;
12537   __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
12538   return __rv.__i;
12539 }
12540 
12541 #pragma GCC pop_options
12542 __extension__ extern __inline int64x1x3_t
12543 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s64(const int64_t * __a)12544 vld3_dup_s64 (const int64_t * __a)
12545 {
12546   union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
12547   __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
12548   return __rv.__i;
12549 }
12550 
12551 __extension__ extern __inline uint64x1x3_t
12552 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u64(const uint64_t * __a)12553 vld3_dup_u64 (const uint64_t * __a)
12554 {
12555   union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
12556   __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
12557   return __rv.__i;
12558 }
12559 
12560 __extension__ extern __inline void
12561 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s8(int8_t * __a,int8x8x3_t __b)12562 vst3_s8 (int8_t * __a, int8x8x3_t __b)
12563 {
12564   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12565   __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
12566 }
12567 
12568 __extension__ extern __inline void
12569 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s16(int16_t * __a,int16x4x3_t __b)12570 vst3_s16 (int16_t * __a, int16x4x3_t __b)
12571 {
12572   union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12573   __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
12574 }
12575 
12576 __extension__ extern __inline void
12577 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s32(int32_t * __a,int32x2x3_t __b)12578 vst3_s32 (int32_t * __a, int32x2x3_t __b)
12579 {
12580   union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12581   __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
12582 }
12583 
12584 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12585 __extension__ extern __inline void
12586 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_f16(float16_t * __a,float16x4x3_t __b)12587 vst3_f16 (float16_t * __a, float16x4x3_t __b)
12588 {
12589   union { float16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12590   __builtin_neon_vst3v4hf (__a, __bu.__o);
12591 }
12592 #endif
12593 
12594 __extension__ extern __inline void
12595 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_f32(float32_t * __a,float32x2x3_t __b)12596 vst3_f32 (float32_t * __a, float32x2x3_t __b)
12597 {
12598   union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12599   __builtin_neon_vst3v2sf ((__builtin_neon_sf *) __a, __bu.__o);
12600 }
12601 
12602 __extension__ extern __inline void
12603 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u8(uint8_t * __a,uint8x8x3_t __b)12604 vst3_u8 (uint8_t * __a, uint8x8x3_t __b)
12605 {
12606   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12607   __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
12608 }
12609 
12610 __extension__ extern __inline void
12611 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u16(uint16_t * __a,uint16x4x3_t __b)12612 vst3_u16 (uint16_t * __a, uint16x4x3_t __b)
12613 {
12614   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12615   __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
12616 }
12617 
12618 __extension__ extern __inline void
12619 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u32(uint32_t * __a,uint32x2x3_t __b)12620 vst3_u32 (uint32_t * __a, uint32x2x3_t __b)
12621 {
12622   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12623   __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
12624 }
12625 
12626 __extension__ extern __inline void
12627 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p8(poly8_t * __a,poly8x8x3_t __b)12628 vst3_p8 (poly8_t * __a, poly8x8x3_t __b)
12629 {
12630   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12631   __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
12632 }
12633 
12634 __extension__ extern __inline void
12635 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p16(poly16_t * __a,poly16x4x3_t __b)12636 vst3_p16 (poly16_t * __a, poly16x4x3_t __b)
12637 {
12638   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12639   __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
12640 }
12641 
12642 #pragma GCC push_options
12643 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
12644 __extension__ extern __inline void
12645 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p64(poly64_t * __a,poly64x1x3_t __b)12646 vst3_p64 (poly64_t * __a, poly64x1x3_t __b)
12647 {
12648   union { poly64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12649   __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
12650 }
12651 
12652 #pragma GCC pop_options
12653 __extension__ extern __inline void
12654 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s64(int64_t * __a,int64x1x3_t __b)12655 vst3_s64 (int64_t * __a, int64x1x3_t __b)
12656 {
12657   union { int64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12658   __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
12659 }
12660 
12661 __extension__ extern __inline void
12662 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u64(uint64_t * __a,uint64x1x3_t __b)12663 vst3_u64 (uint64_t * __a, uint64x1x3_t __b)
12664 {
12665   union { uint64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12666   __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
12667 }
12668 
12669 __extension__ extern __inline void
12670 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s8(int8_t * __a,int8x16x3_t __b)12671 vst3q_s8 (int8_t * __a, int8x16x3_t __b)
12672 {
12673   union { int8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12674   __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
12675 }
12676 
12677 __extension__ extern __inline void
12678 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s16(int16_t * __a,int16x8x3_t __b)12679 vst3q_s16 (int16_t * __a, int16x8x3_t __b)
12680 {
12681   union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12682   __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
12683 }
12684 
12685 __extension__ extern __inline void
12686 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s32(int32_t * __a,int32x4x3_t __b)12687 vst3q_s32 (int32_t * __a, int32x4x3_t __b)
12688 {
12689   union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12690   __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
12691 }
12692 
12693 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12694 __extension__ extern __inline void
12695 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_f16(float16_t * __a,float16x8x3_t __b)12696 vst3q_f16 (float16_t * __a, float16x8x3_t __b)
12697 {
12698   union { float16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12699   __builtin_neon_vst3v8hf (__a, __bu.__o);
12700 }
12701 #endif
12702 
12703 __extension__ extern __inline void
12704 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_f32(float32_t * __a,float32x4x3_t __b)12705 vst3q_f32 (float32_t * __a, float32x4x3_t __b)
12706 {
12707   union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12708   __builtin_neon_vst3v4sf ((__builtin_neon_sf *) __a, __bu.__o);
12709 }
12710 
12711 __extension__ extern __inline void
12712 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u8(uint8_t * __a,uint8x16x3_t __b)12713 vst3q_u8 (uint8_t * __a, uint8x16x3_t __b)
12714 {
12715   union { uint8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12716   __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
12717 }
12718 
12719 __extension__ extern __inline void
12720 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u16(uint16_t * __a,uint16x8x3_t __b)12721 vst3q_u16 (uint16_t * __a, uint16x8x3_t __b)
12722 {
12723   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12724   __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
12725 }
12726 
12727 __extension__ extern __inline void
12728 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u32(uint32_t * __a,uint32x4x3_t __b)12729 vst3q_u32 (uint32_t * __a, uint32x4x3_t __b)
12730 {
12731   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12732   __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
12733 }
12734 
12735 __extension__ extern __inline void
12736 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_p8(poly8_t * __a,poly8x16x3_t __b)12737 vst3q_p8 (poly8_t * __a, poly8x16x3_t __b)
12738 {
12739   union { poly8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12740   __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
12741 }
12742 
12743 __extension__ extern __inline void
12744 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_p16(poly16_t * __a,poly16x8x3_t __b)12745 vst3q_p16 (poly16_t * __a, poly16x8x3_t __b)
12746 {
12747   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12748   __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
12749 }
12750 
12751 __extension__ extern __inline void
12752 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_s8(int8_t * __a,int8x8x3_t __b,const int __c)12753 vst3_lane_s8 (int8_t * __a, int8x8x3_t __b, const int __c)
12754 {
12755   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12756   __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
12757 }
12758 
12759 __extension__ extern __inline void
12760 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_s16(int16_t * __a,int16x4x3_t __b,const int __c)12761 vst3_lane_s16 (int16_t * __a, int16x4x3_t __b, const int __c)
12762 {
12763   union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12764   __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12765 }
12766 
12767 __extension__ extern __inline void
12768 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_s32(int32_t * __a,int32x2x3_t __b,const int __c)12769 vst3_lane_s32 (int32_t * __a, int32x2x3_t __b, const int __c)
12770 {
12771   union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12772   __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
12773 }
12774 
12775 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12776 __extension__ extern __inline void
12777 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_f16(float16_t * __a,float16x4x3_t __b,const int __c)12778 vst3_lane_f16 (float16_t * __a, float16x4x3_t __b, const int __c)
12779 {
12780   union { float16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12781   __builtin_neon_vst3_lanev4hf (__a, __bu.__o, __c);
12782 }
12783 #endif
12784 
12785 __extension__ extern __inline void
12786 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_f32(float32_t * __a,float32x2x3_t __b,const int __c)12787 vst3_lane_f32 (float32_t * __a, float32x2x3_t __b, const int __c)
12788 {
12789   union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12790   __builtin_neon_vst3_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
12791 }
12792 
12793 __extension__ extern __inline void
12794 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_u8(uint8_t * __a,uint8x8x3_t __b,const int __c)12795 vst3_lane_u8 (uint8_t * __a, uint8x8x3_t __b, const int __c)
12796 {
12797   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12798   __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
12799 }
12800 
12801 __extension__ extern __inline void
12802 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_u16(uint16_t * __a,uint16x4x3_t __b,const int __c)12803 vst3_lane_u16 (uint16_t * __a, uint16x4x3_t __b, const int __c)
12804 {
12805   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12806   __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12807 }
12808 
12809 __extension__ extern __inline void
12810 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_u32(uint32_t * __a,uint32x2x3_t __b,const int __c)12811 vst3_lane_u32 (uint32_t * __a, uint32x2x3_t __b, const int __c)
12812 {
12813   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12814   __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
12815 }
12816 
12817 __extension__ extern __inline void
12818 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_p8(poly8_t * __a,poly8x8x3_t __b,const int __c)12819 vst3_lane_p8 (poly8_t * __a, poly8x8x3_t __b, const int __c)
12820 {
12821   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12822   __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
12823 }
12824 
12825 __extension__ extern __inline void
12826 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3_lane_p16(poly16_t * __a,poly16x4x3_t __b,const int __c)12827 vst3_lane_p16 (poly16_t * __a, poly16x4x3_t __b, const int __c)
12828 {
12829   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
12830   __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12831 }
12832 
12833 __extension__ extern __inline void
12834 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_s16(int16_t * __a,int16x8x3_t __b,const int __c)12835 vst3q_lane_s16 (int16_t * __a, int16x8x3_t __b, const int __c)
12836 {
12837   union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12838   __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12839 }
12840 
12841 __extension__ extern __inline void
12842 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_s32(int32_t * __a,int32x4x3_t __b,const int __c)12843 vst3q_lane_s32 (int32_t * __a, int32x4x3_t __b, const int __c)
12844 {
12845   union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12846   __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
12847 }
12848 
12849 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12850 __extension__ extern __inline void
12851 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_f16(float16_t * __a,float16x8x3_t __b,const int __c)12852 vst3q_lane_f16 (float16_t * __a, float16x8x3_t __b, const int __c)
12853 {
12854   union { float16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12855   __builtin_neon_vst3_lanev8hf (__a, __bu.__o, __c);
12856 }
12857 #endif
12858 
12859 __extension__ extern __inline void
12860 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_f32(float32_t * __a,float32x4x3_t __b,const int __c)12861 vst3q_lane_f32 (float32_t * __a, float32x4x3_t __b, const int __c)
12862 {
12863   union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12864   __builtin_neon_vst3_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
12865 }
12866 
12867 __extension__ extern __inline void
12868 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_u16(uint16_t * __a,uint16x8x3_t __b,const int __c)12869 vst3q_lane_u16 (uint16_t * __a, uint16x8x3_t __b, const int __c)
12870 {
12871   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12872   __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12873 }
12874 
12875 __extension__ extern __inline void
12876 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_u32(uint32_t * __a,uint32x4x3_t __b,const int __c)12877 vst3q_lane_u32 (uint32_t * __a, uint32x4x3_t __b, const int __c)
12878 {
12879   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12880   __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
12881 }
12882 
12883 __extension__ extern __inline void
12884 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_lane_p16(poly16_t * __a,poly16x8x3_t __b,const int __c)12885 vst3q_lane_p16 (poly16_t * __a, poly16x8x3_t __b, const int __c)
12886 {
12887   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
12888   __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
12889 }
12890 
12891 __extension__ extern __inline int8x8x4_t
12892 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s8(const int8_t * __a)12893 vld4_s8 (const int8_t * __a)
12894 {
12895   union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
12896   __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
12897   return __rv.__i;
12898 }
12899 
12900 __extension__ extern __inline int16x4x4_t
12901 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s16(const int16_t * __a)12902 vld4_s16 (const int16_t * __a)
12903 {
12904   union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
12905   __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
12906   return __rv.__i;
12907 }
12908 
12909 __extension__ extern __inline int32x2x4_t
12910 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s32(const int32_t * __a)12911 vld4_s32 (const int32_t * __a)
12912 {
12913   union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
12914   __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
12915   return __rv.__i;
12916 }
12917 
12918 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
12919 __extension__ extern __inline float16x4x4_t
12920 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_f16(const float16_t * __a)12921 vld4_f16 (const float16_t * __a)
12922 {
12923   union { float16x4x4_t __i; __builtin_neon_oi __o; } __rv;
12924   __rv.__o = __builtin_neon_vld4v4hf (__a);
12925   return __rv.__i;
12926 }
12927 #endif
12928 
12929 __extension__ extern __inline float32x2x4_t
12930 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_f32(const float32_t * __a)12931 vld4_f32 (const float32_t * __a)
12932 {
12933   union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
12934   __rv.__o = __builtin_neon_vld4v2sf ((const __builtin_neon_sf *) __a);
12935   return __rv.__i;
12936 }
12937 
12938 __extension__ extern __inline uint8x8x4_t
12939 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u8(const uint8_t * __a)12940 vld4_u8 (const uint8_t * __a)
12941 {
12942   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
12943   __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
12944   return __rv.__i;
12945 }
12946 
12947 __extension__ extern __inline uint16x4x4_t
12948 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u16(const uint16_t * __a)12949 vld4_u16 (const uint16_t * __a)
12950 {
12951   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
12952   __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
12953   return __rv.__i;
12954 }
12955 
12956 __extension__ extern __inline uint32x2x4_t
12957 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u32(const uint32_t * __a)12958 vld4_u32 (const uint32_t * __a)
12959 {
12960   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
12961   __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
12962   return __rv.__i;
12963 }
12964 
12965 __extension__ extern __inline poly8x8x4_t
12966 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p8(const poly8_t * __a)12967 vld4_p8 (const poly8_t * __a)
12968 {
12969   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
12970   __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
12971   return __rv.__i;
12972 }
12973 
12974 __extension__ extern __inline poly16x4x4_t
12975 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p16(const poly16_t * __a)12976 vld4_p16 (const poly16_t * __a)
12977 {
12978   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
12979   __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
12980   return __rv.__i;
12981 }
12982 
12983 #pragma GCC push_options
12984 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
12985 __extension__ extern __inline poly64x1x4_t
12986 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p64(const poly64_t * __a)12987 vld4_p64 (const poly64_t * __a)
12988 {
12989   union { poly64x1x4_t __i; __builtin_neon_oi __o; } __rv;
12990   __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
12991   return __rv.__i;
12992 }
12993 
12994 #pragma GCC pop_options
12995 __extension__ extern __inline int64x1x4_t
12996 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s64(const int64_t * __a)12997 vld4_s64 (const int64_t * __a)
12998 {
12999   union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
13000   __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
13001   return __rv.__i;
13002 }
13003 
13004 __extension__ extern __inline uint64x1x4_t
13005 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u64(const uint64_t * __a)13006 vld4_u64 (const uint64_t * __a)
13007 {
13008   union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
13009   __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
13010   return __rv.__i;
13011 }
13012 
13013 __extension__ extern __inline int8x16x4_t
13014 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s8(const int8_t * __a)13015 vld4q_s8 (const int8_t * __a)
13016 {
13017   union { int8x16x4_t __i; __builtin_neon_xi __o; } __rv;
13018   __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
13019   return __rv.__i;
13020 }
13021 
13022 __extension__ extern __inline int16x8x4_t
13023 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s16(const int16_t * __a)13024 vld4q_s16 (const int16_t * __a)
13025 {
13026   union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13027   __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
13028   return __rv.__i;
13029 }
13030 
13031 __extension__ extern __inline int32x4x4_t
13032 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s32(const int32_t * __a)13033 vld4q_s32 (const int32_t * __a)
13034 {
13035   union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
13036   __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
13037   return __rv.__i;
13038 }
13039 
13040 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13041 __extension__ extern __inline float16x8x4_t
13042 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_f16(const float16_t * __a)13043 vld4q_f16 (const float16_t * __a)
13044 {
13045   union { float16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13046   __rv.__o = __builtin_neon_vld4v8hf (__a);
13047   return __rv.__i;
13048 }
13049 #endif
13050 
13051 __extension__ extern __inline float32x4x4_t
13052 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_f32(const float32_t * __a)13053 vld4q_f32 (const float32_t * __a)
13054 {
13055   union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
13056   __rv.__o = __builtin_neon_vld4v4sf ((const __builtin_neon_sf *) __a);
13057   return __rv.__i;
13058 }
13059 
13060 __extension__ extern __inline uint8x16x4_t
13061 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u8(const uint8_t * __a)13062 vld4q_u8 (const uint8_t * __a)
13063 {
13064   union { uint8x16x4_t __i; __builtin_neon_xi __o; } __rv;
13065   __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
13066   return __rv.__i;
13067 }
13068 
13069 __extension__ extern __inline uint16x8x4_t
13070 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u16(const uint16_t * __a)13071 vld4q_u16 (const uint16_t * __a)
13072 {
13073   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13074   __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
13075   return __rv.__i;
13076 }
13077 
13078 __extension__ extern __inline uint32x4x4_t
13079 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u32(const uint32_t * __a)13080 vld4q_u32 (const uint32_t * __a)
13081 {
13082   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
13083   __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
13084   return __rv.__i;
13085 }
13086 
13087 __extension__ extern __inline poly8x16x4_t
13088 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_p8(const poly8_t * __a)13089 vld4q_p8 (const poly8_t * __a)
13090 {
13091   union { poly8x16x4_t __i; __builtin_neon_xi __o; } __rv;
13092   __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
13093   return __rv.__i;
13094 }
13095 
13096 __extension__ extern __inline poly16x8x4_t
13097 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_p16(const poly16_t * __a)13098 vld4q_p16 (const poly16_t * __a)
13099 {
13100   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13101   __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
13102   return __rv.__i;
13103 }
13104 
13105 __extension__ extern __inline int8x8x4_t
13106 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_s8(const int8_t * __a,int8x8x4_t __b,const int __c)13107 vld4_lane_s8 (const int8_t * __a, int8x8x4_t __b, const int __c)
13108 {
13109   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13110   union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
13111   __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
13112   return __rv.__i;
13113 }
13114 
13115 __extension__ extern __inline int16x4x4_t
13116 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_s16(const int16_t * __a,int16x4x4_t __b,const int __c)13117 vld4_lane_s16 (const int16_t * __a, int16x4x4_t __b, const int __c)
13118 {
13119   union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13120   union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13121   __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
13122   return __rv.__i;
13123 }
13124 
13125 __extension__ extern __inline int32x2x4_t
13126 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_s32(const int32_t * __a,int32x2x4_t __b,const int __c)13127 vld4_lane_s32 (const int32_t * __a, int32x2x4_t __b, const int __c)
13128 {
13129   union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13130   union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
13131   __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
13132   return __rv.__i;
13133 }
13134 
13135 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13136 __extension__ extern __inline float16x4x4_t
13137 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_f16(const float16_t * __a,float16x4x4_t __b,const int __c)13138 vld4_lane_f16 (const float16_t * __a, float16x4x4_t __b, const int __c)
13139 {
13140   union { float16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13141   union { float16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13142   __rv.__o = __builtin_neon_vld4_lanev4hf (__a,
13143 					   __bu.__o, __c);
13144   return __rv.__i;
13145 }
13146 #endif
13147 
13148 __extension__ extern __inline float32x2x4_t
13149 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_f32(const float32_t * __a,float32x2x4_t __b,const int __c)13150 vld4_lane_f32 (const float32_t * __a, float32x2x4_t __b, const int __c)
13151 {
13152   union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13153   union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
13154   __rv.__o = __builtin_neon_vld4_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
13155   return __rv.__i;
13156 }
13157 
13158 __extension__ extern __inline uint8x8x4_t
13159 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_u8(const uint8_t * __a,uint8x8x4_t __b,const int __c)13160 vld4_lane_u8 (const uint8_t * __a, uint8x8x4_t __b, const int __c)
13161 {
13162   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13163   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
13164   __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
13165   return __rv.__i;
13166 }
13167 
13168 __extension__ extern __inline uint16x4x4_t
13169 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_u16(const uint16_t * __a,uint16x4x4_t __b,const int __c)13170 vld4_lane_u16 (const uint16_t * __a, uint16x4x4_t __b, const int __c)
13171 {
13172   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13173   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13174   __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
13175   return __rv.__i;
13176 }
13177 
13178 __extension__ extern __inline uint32x2x4_t
13179 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_u32(const uint32_t * __a,uint32x2x4_t __b,const int __c)13180 vld4_lane_u32 (const uint32_t * __a, uint32x2x4_t __b, const int __c)
13181 {
13182   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13183   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
13184   __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
13185   return __rv.__i;
13186 }
13187 
13188 __extension__ extern __inline poly8x8x4_t
13189 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_p8(const poly8_t * __a,poly8x8x4_t __b,const int __c)13190 vld4_lane_p8 (const poly8_t * __a, poly8x8x4_t __b, const int __c)
13191 {
13192   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13193   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
13194   __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
13195   return __rv.__i;
13196 }
13197 
13198 __extension__ extern __inline poly16x4x4_t
13199 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_lane_p16(const poly16_t * __a,poly16x4x4_t __b,const int __c)13200 vld4_lane_p16 (const poly16_t * __a, poly16x4x4_t __b, const int __c)
13201 {
13202   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13203   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13204   __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
13205   return __rv.__i;
13206 }
13207 
13208 __extension__ extern __inline int16x8x4_t
13209 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_s16(const int16_t * __a,int16x8x4_t __b,const int __c)13210 vld4q_lane_s16 (const int16_t * __a, int16x8x4_t __b, const int __c)
13211 {
13212   union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13213   union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13214   __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
13215   return __rv.__i;
13216 }
13217 
13218 __extension__ extern __inline int32x4x4_t
13219 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_s32(const int32_t * __a,int32x4x4_t __b,const int __c)13220 vld4q_lane_s32 (const int32_t * __a, int32x4x4_t __b, const int __c)
13221 {
13222   union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13223   union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
13224   __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
13225   return __rv.__i;
13226 }
13227 
13228 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13229 __extension__ extern __inline float16x8x4_t
13230 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_f16(const float16_t * __a,float16x8x4_t __b,const int __c)13231 vld4q_lane_f16 (const float16_t * __a, float16x8x4_t __b, const int __c)
13232 {
13233   union { float16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13234   union { float16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13235   __rv.__o = __builtin_neon_vld4_lanev8hf (__a,
13236 					   __bu.__o, __c);
13237   return __rv.__i;
13238 }
13239 #endif
13240 
13241 __extension__ extern __inline float32x4x4_t
13242 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_f32(const float32_t * __a,float32x4x4_t __b,const int __c)13243 vld4q_lane_f32 (const float32_t * __a, float32x4x4_t __b, const int __c)
13244 {
13245   union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13246   union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
13247   __rv.__o = __builtin_neon_vld4_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
13248   return __rv.__i;
13249 }
13250 
13251 __extension__ extern __inline uint16x8x4_t
13252 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_u16(const uint16_t * __a,uint16x8x4_t __b,const int __c)13253 vld4q_lane_u16 (const uint16_t * __a, uint16x8x4_t __b, const int __c)
13254 {
13255   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13256   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13257   __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
13258   return __rv.__i;
13259 }
13260 
13261 __extension__ extern __inline uint32x4x4_t
13262 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_u32(const uint32_t * __a,uint32x4x4_t __b,const int __c)13263 vld4q_lane_u32 (const uint32_t * __a, uint32x4x4_t __b, const int __c)
13264 {
13265   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13266   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
13267   __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
13268   return __rv.__i;
13269 }
13270 
13271 __extension__ extern __inline poly16x8x4_t
13272 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_lane_p16(const poly16_t * __a,poly16x8x4_t __b,const int __c)13273 vld4q_lane_p16 (const poly16_t * __a, poly16x8x4_t __b, const int __c)
13274 {
13275   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13276   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
13277   __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
13278   return __rv.__i;
13279 }
13280 
13281 __extension__ extern __inline int8x8x4_t
13282 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s8(const int8_t * __a)13283 vld4_dup_s8 (const int8_t * __a)
13284 {
13285   union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
13286   __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
13287   return __rv.__i;
13288 }
13289 
13290 __extension__ extern __inline int16x4x4_t
13291 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s16(const int16_t * __a)13292 vld4_dup_s16 (const int16_t * __a)
13293 {
13294   union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13295   __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
13296   return __rv.__i;
13297 }
13298 
13299 __extension__ extern __inline int32x2x4_t
13300 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s32(const int32_t * __a)13301 vld4_dup_s32 (const int32_t * __a)
13302 {
13303   union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
13304   __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
13305   return __rv.__i;
13306 }
13307 
13308 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13309 __extension__ extern __inline float16x4x4_t
13310 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_f16(const float16_t * __a)13311 vld4_dup_f16 (const float16_t * __a)
13312 {
13313   union { float16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13314   __rv.__o = __builtin_neon_vld4_dupv4hf (__a);
13315   return __rv.__i;
13316 }
13317 #endif
13318 
13319 __extension__ extern __inline float32x2x4_t
13320 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_f32(const float32_t * __a)13321 vld4_dup_f32 (const float32_t * __a)
13322 {
13323   union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
13324   __rv.__o = __builtin_neon_vld4_dupv2sf ((const __builtin_neon_sf *) __a);
13325   return __rv.__i;
13326 }
13327 
13328 __extension__ extern __inline uint8x8x4_t
13329 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u8(const uint8_t * __a)13330 vld4_dup_u8 (const uint8_t * __a)
13331 {
13332   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
13333   __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
13334   return __rv.__i;
13335 }
13336 
13337 __extension__ extern __inline uint16x4x4_t
13338 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u16(const uint16_t * __a)13339 vld4_dup_u16 (const uint16_t * __a)
13340 {
13341   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13342   __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
13343   return __rv.__i;
13344 }
13345 
13346 __extension__ extern __inline uint32x2x4_t
13347 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u32(const uint32_t * __a)13348 vld4_dup_u32 (const uint32_t * __a)
13349 {
13350   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
13351   __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
13352   return __rv.__i;
13353 }
13354 
13355 __extension__ extern __inline poly8x8x4_t
13356 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p8(const poly8_t * __a)13357 vld4_dup_p8 (const poly8_t * __a)
13358 {
13359   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
13360   __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
13361   return __rv.__i;
13362 }
13363 
13364 __extension__ extern __inline poly16x4x4_t
13365 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p16(const poly16_t * __a)13366 vld4_dup_p16 (const poly16_t * __a)
13367 {
13368   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
13369   __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
13370   return __rv.__i;
13371 }
13372 
13373 #pragma GCC push_options
13374 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
13375 __extension__ extern __inline poly64x1x4_t
13376 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p64(const poly64_t * __a)13377 vld4_dup_p64 (const poly64_t * __a)
13378 {
13379   union { poly64x1x4_t __i; __builtin_neon_oi __o; } __rv;
13380   __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
13381   return __rv.__i;
13382 }
13383 
13384 #pragma GCC pop_options
13385 __extension__ extern __inline int64x1x4_t
13386 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s64(const int64_t * __a)13387 vld4_dup_s64 (const int64_t * __a)
13388 {
13389   union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
13390   __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
13391   return __rv.__i;
13392 }
13393 
13394 __extension__ extern __inline uint64x1x4_t
13395 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u64(const uint64_t * __a)13396 vld4_dup_u64 (const uint64_t * __a)
13397 {
13398   union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
13399   __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
13400   return __rv.__i;
13401 }
13402 
13403 __extension__ extern __inline void
13404 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s8(int8_t * __a,int8x8x4_t __b)13405 vst4_s8 (int8_t * __a, int8x8x4_t __b)
13406 {
13407   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13408   __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
13409 }
13410 
13411 __extension__ extern __inline void
13412 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s16(int16_t * __a,int16x4x4_t __b)13413 vst4_s16 (int16_t * __a, int16x4x4_t __b)
13414 {
13415   union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13416   __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
13417 }
13418 
13419 __extension__ extern __inline void
13420 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s32(int32_t * __a,int32x2x4_t __b)13421 vst4_s32 (int32_t * __a, int32x2x4_t __b)
13422 {
13423   union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13424   __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
13425 }
13426 
13427 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13428 __extension__ extern __inline void
13429 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_f16(float16_t * __a,float16x4x4_t __b)13430 vst4_f16 (float16_t * __a, float16x4x4_t __b)
13431 {
13432   union { float16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13433   __builtin_neon_vst4v4hf (__a, __bu.__o);
13434 }
13435 #endif
13436 
13437 __extension__ extern __inline void
13438 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_f32(float32_t * __a,float32x2x4_t __b)13439 vst4_f32 (float32_t * __a, float32x2x4_t __b)
13440 {
13441   union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13442   __builtin_neon_vst4v2sf ((__builtin_neon_sf *) __a, __bu.__o);
13443 }
13444 
13445 __extension__ extern __inline void
13446 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u8(uint8_t * __a,uint8x8x4_t __b)13447 vst4_u8 (uint8_t * __a, uint8x8x4_t __b)
13448 {
13449   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13450   __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
13451 }
13452 
13453 __extension__ extern __inline void
13454 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u16(uint16_t * __a,uint16x4x4_t __b)13455 vst4_u16 (uint16_t * __a, uint16x4x4_t __b)
13456 {
13457   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13458   __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
13459 }
13460 
13461 __extension__ extern __inline void
13462 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u32(uint32_t * __a,uint32x2x4_t __b)13463 vst4_u32 (uint32_t * __a, uint32x2x4_t __b)
13464 {
13465   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13466   __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
13467 }
13468 
13469 __extension__ extern __inline void
13470 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p8(poly8_t * __a,poly8x8x4_t __b)13471 vst4_p8 (poly8_t * __a, poly8x8x4_t __b)
13472 {
13473   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13474   __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
13475 }
13476 
13477 __extension__ extern __inline void
13478 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p16(poly16_t * __a,poly16x4x4_t __b)13479 vst4_p16 (poly16_t * __a, poly16x4x4_t __b)
13480 {
13481   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13482   __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
13483 }
13484 
13485 #pragma GCC push_options
13486 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
13487 __extension__ extern __inline void
13488 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p64(poly64_t * __a,poly64x1x4_t __b)13489 vst4_p64 (poly64_t * __a, poly64x1x4_t __b)
13490 {
13491   union { poly64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13492   __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
13493 }
13494 
13495 #pragma GCC pop_options
13496 __extension__ extern __inline void
13497 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s64(int64_t * __a,int64x1x4_t __b)13498 vst4_s64 (int64_t * __a, int64x1x4_t __b)
13499 {
13500   union { int64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13501   __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
13502 }
13503 
13504 __extension__ extern __inline void
13505 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u64(uint64_t * __a,uint64x1x4_t __b)13506 vst4_u64 (uint64_t * __a, uint64x1x4_t __b)
13507 {
13508   union { uint64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13509   __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
13510 }
13511 
13512 __extension__ extern __inline void
13513 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s8(int8_t * __a,int8x16x4_t __b)13514 vst4q_s8 (int8_t * __a, int8x16x4_t __b)
13515 {
13516   union { int8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13517   __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
13518 }
13519 
13520 __extension__ extern __inline void
13521 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s16(int16_t * __a,int16x8x4_t __b)13522 vst4q_s16 (int16_t * __a, int16x8x4_t __b)
13523 {
13524   union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13525   __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
13526 }
13527 
13528 __extension__ extern __inline void
13529 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s32(int32_t * __a,int32x4x4_t __b)13530 vst4q_s32 (int32_t * __a, int32x4x4_t __b)
13531 {
13532   union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13533   __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
13534 }
13535 
13536 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13537 __extension__ extern __inline void
13538 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_f16(float16_t * __a,float16x8x4_t __b)13539 vst4q_f16 (float16_t * __a, float16x8x4_t __b)
13540 {
13541   union { float16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13542   __builtin_neon_vst4v8hf (__a, __bu.__o);
13543 }
13544 #endif
13545 
13546 __extension__ extern __inline void
13547 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_f32(float32_t * __a,float32x4x4_t __b)13548 vst4q_f32 (float32_t * __a, float32x4x4_t __b)
13549 {
13550   union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13551   __builtin_neon_vst4v4sf ((__builtin_neon_sf *) __a, __bu.__o);
13552 }
13553 
13554 __extension__ extern __inline void
13555 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u8(uint8_t * __a,uint8x16x4_t __b)13556 vst4q_u8 (uint8_t * __a, uint8x16x4_t __b)
13557 {
13558   union { uint8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13559   __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
13560 }
13561 
13562 __extension__ extern __inline void
13563 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u16(uint16_t * __a,uint16x8x4_t __b)13564 vst4q_u16 (uint16_t * __a, uint16x8x4_t __b)
13565 {
13566   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13567   __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
13568 }
13569 
13570 __extension__ extern __inline void
13571 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u32(uint32_t * __a,uint32x4x4_t __b)13572 vst4q_u32 (uint32_t * __a, uint32x4x4_t __b)
13573 {
13574   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13575   __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
13576 }
13577 
13578 __extension__ extern __inline void
13579 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_p8(poly8_t * __a,poly8x16x4_t __b)13580 vst4q_p8 (poly8_t * __a, poly8x16x4_t __b)
13581 {
13582   union { poly8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13583   __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
13584 }
13585 
13586 __extension__ extern __inline void
13587 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_p16(poly16_t * __a,poly16x8x4_t __b)13588 vst4q_p16 (poly16_t * __a, poly16x8x4_t __b)
13589 {
13590   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13591   __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
13592 }
13593 
13594 __extension__ extern __inline void
13595 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_s8(int8_t * __a,int8x8x4_t __b,const int __c)13596 vst4_lane_s8 (int8_t * __a, int8x8x4_t __b, const int __c)
13597 {
13598   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13599   __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
13600 }
13601 
13602 __extension__ extern __inline void
13603 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_s16(int16_t * __a,int16x4x4_t __b,const int __c)13604 vst4_lane_s16 (int16_t * __a, int16x4x4_t __b, const int __c)
13605 {
13606   union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13607   __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
13608 }
13609 
13610 __extension__ extern __inline void
13611 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_s32(int32_t * __a,int32x2x4_t __b,const int __c)13612 vst4_lane_s32 (int32_t * __a, int32x2x4_t __b, const int __c)
13613 {
13614   union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13615   __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
13616 }
13617 
13618 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13619 __extension__ extern __inline void
13620 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_f16(float16_t * __a,float16x4x4_t __b,const int __c)13621 vst4_lane_f16 (float16_t * __a, float16x4x4_t __b, const int __c)
13622 {
13623   union { float16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13624   __builtin_neon_vst4_lanev4hf (__a, __bu.__o, __c);
13625 }
13626 #endif
13627 
13628 __extension__ extern __inline void
13629 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_f32(float32_t * __a,float32x2x4_t __b,const int __c)13630 vst4_lane_f32 (float32_t * __a, float32x2x4_t __b, const int __c)
13631 {
13632   union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13633   __builtin_neon_vst4_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
13634 }
13635 
13636 __extension__ extern __inline void
13637 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_u8(uint8_t * __a,uint8x8x4_t __b,const int __c)13638 vst4_lane_u8 (uint8_t * __a, uint8x8x4_t __b, const int __c)
13639 {
13640   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13641   __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
13642 }
13643 
13644 __extension__ extern __inline void
13645 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_u16(uint16_t * __a,uint16x4x4_t __b,const int __c)13646 vst4_lane_u16 (uint16_t * __a, uint16x4x4_t __b, const int __c)
13647 {
13648   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13649   __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
13650 }
13651 
13652 __extension__ extern __inline void
13653 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_u32(uint32_t * __a,uint32x2x4_t __b,const int __c)13654 vst4_lane_u32 (uint32_t * __a, uint32x2x4_t __b, const int __c)
13655 {
13656   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13657   __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
13658 }
13659 
13660 __extension__ extern __inline void
13661 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_p8(poly8_t * __a,poly8x8x4_t __b,const int __c)13662 vst4_lane_p8 (poly8_t * __a, poly8x8x4_t __b, const int __c)
13663 {
13664   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13665   __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
13666 }
13667 
13668 __extension__ extern __inline void
13669 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4_lane_p16(poly16_t * __a,poly16x4x4_t __b,const int __c)13670 vst4_lane_p16 (poly16_t * __a, poly16x4x4_t __b, const int __c)
13671 {
13672   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
13673   __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
13674 }
13675 
13676 __extension__ extern __inline void
13677 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_s16(int16_t * __a,int16x8x4_t __b,const int __c)13678 vst4q_lane_s16 (int16_t * __a, int16x8x4_t __b, const int __c)
13679 {
13680   union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13681   __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
13682 }
13683 
13684 __extension__ extern __inline void
13685 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_s32(int32_t * __a,int32x4x4_t __b,const int __c)13686 vst4q_lane_s32 (int32_t * __a, int32x4x4_t __b, const int __c)
13687 {
13688   union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13689   __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
13690 }
13691 
13692 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
13693 __extension__ extern __inline void
13694 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_f16(float16_t * __a,float16x8x4_t __b,const int __c)13695 vst4q_lane_f16 (float16_t * __a, float16x8x4_t __b, const int __c)
13696 {
13697   union { float16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13698   __builtin_neon_vst4_lanev8hf (__a, __bu.__o, __c);
13699 }
13700 #endif
13701 
13702 __extension__ extern __inline void
13703 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_f32(float32_t * __a,float32x4x4_t __b,const int __c)13704 vst4q_lane_f32 (float32_t * __a, float32x4x4_t __b, const int __c)
13705 {
13706   union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13707   __builtin_neon_vst4_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
13708 }
13709 
13710 __extension__ extern __inline void
13711 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_u16(uint16_t * __a,uint16x8x4_t __b,const int __c)13712 vst4q_lane_u16 (uint16_t * __a, uint16x8x4_t __b, const int __c)
13713 {
13714   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13715   __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
13716 }
13717 
13718 __extension__ extern __inline void
13719 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_u32(uint32_t * __a,uint32x4x4_t __b,const int __c)13720 vst4q_lane_u32 (uint32_t * __a, uint32x4x4_t __b, const int __c)
13721 {
13722   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13723   __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
13724 }
13725 
13726 __extension__ extern __inline void
13727 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_lane_p16(poly16_t * __a,poly16x8x4_t __b,const int __c)13728 vst4q_lane_p16 (poly16_t * __a, poly16x8x4_t __b, const int __c)
13729 {
13730   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
13731   __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
13732 }
13733 
13734 __extension__ extern __inline int8x8_t
13735 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_s8(int8x8_t __a,int8x8_t __b)13736 vand_s8 (int8x8_t __a, int8x8_t __b)
13737 {
13738   return __a & __b;
13739 }
13740 
13741 __extension__ extern __inline int16x4_t
13742 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_s16(int16x4_t __a,int16x4_t __b)13743 vand_s16 (int16x4_t __a, int16x4_t __b)
13744 {
13745   return __a & __b;
13746 }
13747 
13748 __extension__ extern __inline int32x2_t
13749 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_s32(int32x2_t __a,int32x2_t __b)13750 vand_s32 (int32x2_t __a, int32x2_t __b)
13751 {
13752   return __a & __b;
13753 }
13754 
13755 __extension__ extern __inline uint8x8_t
13756 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_u8(uint8x8_t __a,uint8x8_t __b)13757 vand_u8 (uint8x8_t __a, uint8x8_t __b)
13758 {
13759   return __a & __b;
13760 }
13761 
13762 __extension__ extern __inline uint16x4_t
13763 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_u16(uint16x4_t __a,uint16x4_t __b)13764 vand_u16 (uint16x4_t __a, uint16x4_t __b)
13765 {
13766   return __a & __b;
13767 }
13768 
13769 __extension__ extern __inline uint32x2_t
13770 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_u32(uint32x2_t __a,uint32x2_t __b)13771 vand_u32 (uint32x2_t __a, uint32x2_t __b)
13772 {
13773   return __a & __b;
13774 }
13775 
13776 __extension__ extern __inline int64x1_t
13777 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_s64(int64x1_t __a,int64x1_t __b)13778 vand_s64 (int64x1_t __a, int64x1_t __b)
13779 {
13780   return __a & __b;
13781 }
13782 
13783 __extension__ extern __inline uint64x1_t
13784 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vand_u64(uint64x1_t __a,uint64x1_t __b)13785 vand_u64 (uint64x1_t __a, uint64x1_t __b)
13786 {
13787   return __a & __b;
13788 }
13789 
13790 __extension__ extern __inline int8x16_t
13791 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s8(int8x16_t __a,int8x16_t __b)13792 vandq_s8 (int8x16_t __a, int8x16_t __b)
13793 {
13794   return __a & __b;
13795 }
13796 
13797 __extension__ extern __inline int16x8_t
13798 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s16(int16x8_t __a,int16x8_t __b)13799 vandq_s16 (int16x8_t __a, int16x8_t __b)
13800 {
13801   return __a & __b;
13802 }
13803 
13804 __extension__ extern __inline int32x4_t
13805 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s32(int32x4_t __a,int32x4_t __b)13806 vandq_s32 (int32x4_t __a, int32x4_t __b)
13807 {
13808   return __a & __b;
13809 }
13810 
13811 __extension__ extern __inline int64x2_t
13812 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s64(int64x2_t __a,int64x2_t __b)13813 vandq_s64 (int64x2_t __a, int64x2_t __b)
13814 {
13815   return __a & __b;
13816 }
13817 
13818 __extension__ extern __inline uint8x16_t
13819 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u8(uint8x16_t __a,uint8x16_t __b)13820 vandq_u8 (uint8x16_t __a, uint8x16_t __b)
13821 {
13822   return __a & __b;
13823 }
13824 
13825 __extension__ extern __inline uint16x8_t
13826 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u16(uint16x8_t __a,uint16x8_t __b)13827 vandq_u16 (uint16x8_t __a, uint16x8_t __b)
13828 {
13829   return __a & __b;
13830 }
13831 
13832 __extension__ extern __inline uint32x4_t
13833 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u32(uint32x4_t __a,uint32x4_t __b)13834 vandq_u32 (uint32x4_t __a, uint32x4_t __b)
13835 {
13836   return __a & __b;
13837 }
13838 
13839 __extension__ extern __inline uint64x2_t
13840 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u64(uint64x2_t __a,uint64x2_t __b)13841 vandq_u64 (uint64x2_t __a, uint64x2_t __b)
13842 {
13843   return __a & __b;
13844 }
13845 
13846 __extension__ extern __inline int8x8_t
13847 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s8(int8x8_t __a,int8x8_t __b)13848 vorr_s8 (int8x8_t __a, int8x8_t __b)
13849 {
13850   return __a | __b;
13851 }
13852 
13853 __extension__ extern __inline int16x4_t
13854 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s16(int16x4_t __a,int16x4_t __b)13855 vorr_s16 (int16x4_t __a, int16x4_t __b)
13856 {
13857   return __a | __b;
13858 }
13859 
13860 __extension__ extern __inline int32x2_t
13861 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s32(int32x2_t __a,int32x2_t __b)13862 vorr_s32 (int32x2_t __a, int32x2_t __b)
13863 {
13864   return __a | __b;
13865 }
13866 
13867 __extension__ extern __inline uint8x8_t
13868 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u8(uint8x8_t __a,uint8x8_t __b)13869 vorr_u8 (uint8x8_t __a, uint8x8_t __b)
13870 {
13871   return __a | __b;
13872 }
13873 
13874 __extension__ extern __inline uint16x4_t
13875 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u16(uint16x4_t __a,uint16x4_t __b)13876 vorr_u16 (uint16x4_t __a, uint16x4_t __b)
13877 {
13878   return __a | __b;
13879 }
13880 
13881 __extension__ extern __inline uint32x2_t
13882 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u32(uint32x2_t __a,uint32x2_t __b)13883 vorr_u32 (uint32x2_t __a, uint32x2_t __b)
13884 {
13885   return __a | __b;
13886 }
13887 
13888 __extension__ extern __inline int64x1_t
13889 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s64(int64x1_t __a,int64x1_t __b)13890 vorr_s64 (int64x1_t __a, int64x1_t __b)
13891 {
13892   return __a | __b;
13893 }
13894 
13895 __extension__ extern __inline uint64x1_t
13896 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u64(uint64x1_t __a,uint64x1_t __b)13897 vorr_u64 (uint64x1_t __a, uint64x1_t __b)
13898 {
13899   return __a | __b;
13900 }
13901 
13902 __extension__ extern __inline int8x16_t
13903 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s8(int8x16_t __a,int8x16_t __b)13904 vorrq_s8 (int8x16_t __a, int8x16_t __b)
13905 {
13906   return __a | __b;
13907 }
13908 
13909 __extension__ extern __inline int16x8_t
13910 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s16(int16x8_t __a,int16x8_t __b)13911 vorrq_s16 (int16x8_t __a, int16x8_t __b)
13912 {
13913   return __a | __b;
13914 }
13915 
13916 __extension__ extern __inline int32x4_t
13917 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s32(int32x4_t __a,int32x4_t __b)13918 vorrq_s32 (int32x4_t __a, int32x4_t __b)
13919 {
13920   return __a | __b;
13921 }
13922 
13923 __extension__ extern __inline int64x2_t
13924 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s64(int64x2_t __a,int64x2_t __b)13925 vorrq_s64 (int64x2_t __a, int64x2_t __b)
13926 {
13927   return __a | __b;
13928 }
13929 
13930 __extension__ extern __inline uint8x16_t
13931 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u8(uint8x16_t __a,uint8x16_t __b)13932 vorrq_u8 (uint8x16_t __a, uint8x16_t __b)
13933 {
13934   return __a | __b;
13935 }
13936 
13937 __extension__ extern __inline uint16x8_t
13938 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u16(uint16x8_t __a,uint16x8_t __b)13939 vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
13940 {
13941   return __a | __b;
13942 }
13943 
13944 __extension__ extern __inline uint32x4_t
13945 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u32(uint32x4_t __a,uint32x4_t __b)13946 vorrq_u32 (uint32x4_t __a, uint32x4_t __b)
13947 {
13948   return __a | __b;
13949 }
13950 
13951 __extension__ extern __inline uint64x2_t
13952 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u64(uint64x2_t __a,uint64x2_t __b)13953 vorrq_u64 (uint64x2_t __a, uint64x2_t __b)
13954 {
13955   return __a | __b;
13956 }
13957 
13958 __extension__ extern __inline int8x8_t
13959 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_s8(int8x8_t __a,int8x8_t __b)13960 veor_s8 (int8x8_t __a, int8x8_t __b)
13961 {
13962   return __a ^ __b;
13963 }
13964 
13965 __extension__ extern __inline int16x4_t
13966 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_s16(int16x4_t __a,int16x4_t __b)13967 veor_s16 (int16x4_t __a, int16x4_t __b)
13968 {
13969   return __a ^ __b;
13970 }
13971 
13972 __extension__ extern __inline int32x2_t
13973 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_s32(int32x2_t __a,int32x2_t __b)13974 veor_s32 (int32x2_t __a, int32x2_t __b)
13975 {
13976   return __a ^ __b;
13977 }
13978 
13979 __extension__ extern __inline uint8x8_t
13980 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_u8(uint8x8_t __a,uint8x8_t __b)13981 veor_u8 (uint8x8_t __a, uint8x8_t __b)
13982 {
13983   return __a ^ __b;
13984 }
13985 
13986 __extension__ extern __inline uint16x4_t
13987 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_u16(uint16x4_t __a,uint16x4_t __b)13988 veor_u16 (uint16x4_t __a, uint16x4_t __b)
13989 {
13990   return __a ^ __b;
13991 }
13992 
13993 __extension__ extern __inline uint32x2_t
13994 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_u32(uint32x2_t __a,uint32x2_t __b)13995 veor_u32 (uint32x2_t __a, uint32x2_t __b)
13996 {
13997   return __a ^ __b;
13998 }
13999 
14000 __extension__ extern __inline int64x1_t
14001 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_s64(int64x1_t __a,int64x1_t __b)14002 veor_s64 (int64x1_t __a, int64x1_t __b)
14003 {
14004   return __a ^ __b;
14005 }
14006 
14007 __extension__ extern __inline uint64x1_t
14008 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veor_u64(uint64x1_t __a,uint64x1_t __b)14009 veor_u64 (uint64x1_t __a, uint64x1_t __b)
14010 {
14011   return __a ^ __b;
14012 }
14013 
14014 __extension__ extern __inline int8x16_t
14015 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s8(int8x16_t __a,int8x16_t __b)14016 veorq_s8 (int8x16_t __a, int8x16_t __b)
14017 {
14018   return __a ^ __b;
14019 }
14020 
14021 __extension__ extern __inline int16x8_t
14022 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s16(int16x8_t __a,int16x8_t __b)14023 veorq_s16 (int16x8_t __a, int16x8_t __b)
14024 {
14025   return __a ^ __b;
14026 }
14027 
14028 __extension__ extern __inline int32x4_t
14029 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s32(int32x4_t __a,int32x4_t __b)14030 veorq_s32 (int32x4_t __a, int32x4_t __b)
14031 {
14032   return __a ^ __b;
14033 }
14034 
14035 __extension__ extern __inline int64x2_t
14036 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s64(int64x2_t __a,int64x2_t __b)14037 veorq_s64 (int64x2_t __a, int64x2_t __b)
14038 {
14039   return __a ^ __b;
14040 }
14041 
14042 __extension__ extern __inline uint8x16_t
14043 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u8(uint8x16_t __a,uint8x16_t __b)14044 veorq_u8 (uint8x16_t __a, uint8x16_t __b)
14045 {
14046   return __a ^ __b;
14047 }
14048 
14049 __extension__ extern __inline uint16x8_t
14050 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u16(uint16x8_t __a,uint16x8_t __b)14051 veorq_u16 (uint16x8_t __a, uint16x8_t __b)
14052 {
14053   return __a ^ __b;
14054 }
14055 
14056 __extension__ extern __inline uint32x4_t
14057 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u32(uint32x4_t __a,uint32x4_t __b)14058 veorq_u32 (uint32x4_t __a, uint32x4_t __b)
14059 {
14060   return __a ^ __b;
14061 }
14062 
14063 __extension__ extern __inline uint64x2_t
14064 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u64(uint64x2_t __a,uint64x2_t __b)14065 veorq_u64 (uint64x2_t __a, uint64x2_t __b)
14066 {
14067   return __a ^ __b;
14068 }
14069 
14070 __extension__ extern __inline int8x8_t
14071 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s8(int8x8_t __a,int8x8_t __b)14072 vbic_s8 (int8x8_t __a, int8x8_t __b)
14073 {
14074   return __a & ~__b;
14075 }
14076 
14077 __extension__ extern __inline int16x4_t
14078 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s16(int16x4_t __a,int16x4_t __b)14079 vbic_s16 (int16x4_t __a, int16x4_t __b)
14080 {
14081   return __a & ~__b;
14082 }
14083 
14084 __extension__ extern __inline int32x2_t
14085 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s32(int32x2_t __a,int32x2_t __b)14086 vbic_s32 (int32x2_t __a, int32x2_t __b)
14087 {
14088   return __a & ~__b;
14089 }
14090 
14091 __extension__ extern __inline uint8x8_t
14092 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u8(uint8x8_t __a,uint8x8_t __b)14093 vbic_u8 (uint8x8_t __a, uint8x8_t __b)
14094 {
14095   return __a & ~__b;
14096 }
14097 
14098 __extension__ extern __inline uint16x4_t
14099 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u16(uint16x4_t __a,uint16x4_t __b)14100 vbic_u16 (uint16x4_t __a, uint16x4_t __b)
14101 {
14102   return __a & ~__b;
14103 }
14104 
14105 __extension__ extern __inline uint32x2_t
14106 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u32(uint32x2_t __a,uint32x2_t __b)14107 vbic_u32 (uint32x2_t __a, uint32x2_t __b)
14108 {
14109   return __a & ~__b;
14110 }
14111 
14112 __extension__ extern __inline int64x1_t
14113 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s64(int64x1_t __a,int64x1_t __b)14114 vbic_s64 (int64x1_t __a, int64x1_t __b)
14115 {
14116   return __a & ~__b;
14117 }
14118 
14119 __extension__ extern __inline uint64x1_t
14120 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u64(uint64x1_t __a,uint64x1_t __b)14121 vbic_u64 (uint64x1_t __a, uint64x1_t __b)
14122 {
14123   return __a & ~__b;
14124 }
14125 
14126 __extension__ extern __inline int8x16_t
14127 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s8(int8x16_t __a,int8x16_t __b)14128 vbicq_s8 (int8x16_t __a, int8x16_t __b)
14129 {
14130   return __a & ~__b;
14131 }
14132 
14133 __extension__ extern __inline int16x8_t
14134 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s16(int16x8_t __a,int16x8_t __b)14135 vbicq_s16 (int16x8_t __a, int16x8_t __b)
14136 {
14137   return __a & ~__b;
14138 }
14139 
14140 __extension__ extern __inline int32x4_t
14141 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s32(int32x4_t __a,int32x4_t __b)14142 vbicq_s32 (int32x4_t __a, int32x4_t __b)
14143 {
14144   return __a & ~__b;
14145 }
14146 
14147 __extension__ extern __inline int64x2_t
14148 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s64(int64x2_t __a,int64x2_t __b)14149 vbicq_s64 (int64x2_t __a, int64x2_t __b)
14150 {
14151   return __a & ~__b;
14152 }
14153 
14154 __extension__ extern __inline uint8x16_t
14155 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u8(uint8x16_t __a,uint8x16_t __b)14156 vbicq_u8 (uint8x16_t __a, uint8x16_t __b)
14157 {
14158   return __a & ~__b;
14159 }
14160 
14161 __extension__ extern __inline uint16x8_t
14162 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u16(uint16x8_t __a,uint16x8_t __b)14163 vbicq_u16 (uint16x8_t __a, uint16x8_t __b)
14164 {
14165   return __a & ~__b;
14166 }
14167 
14168 __extension__ extern __inline uint32x4_t
14169 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u32(uint32x4_t __a,uint32x4_t __b)14170 vbicq_u32 (uint32x4_t __a, uint32x4_t __b)
14171 {
14172   return __a & ~__b;
14173 }
14174 
14175 __extension__ extern __inline uint64x2_t
14176 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u64(uint64x2_t __a,uint64x2_t __b)14177 vbicq_u64 (uint64x2_t __a, uint64x2_t __b)
14178 {
14179   return __a & ~__b;
14180 }
14181 
14182 __extension__ extern __inline int8x8_t
14183 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s8(int8x8_t __a,int8x8_t __b)14184 vorn_s8 (int8x8_t __a, int8x8_t __b)
14185 {
14186   return __a | ~__b;
14187 }
14188 
14189 __extension__ extern __inline int16x4_t
14190 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s16(int16x4_t __a,int16x4_t __b)14191 vorn_s16 (int16x4_t __a, int16x4_t __b)
14192 {
14193   return __a | ~__b;
14194 }
14195 
14196 __extension__ extern __inline int32x2_t
14197 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s32(int32x2_t __a,int32x2_t __b)14198 vorn_s32 (int32x2_t __a, int32x2_t __b)
14199 {
14200   return __a | ~__b;
14201 }
14202 
14203 __extension__ extern __inline uint8x8_t
14204 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u8(uint8x8_t __a,uint8x8_t __b)14205 vorn_u8 (uint8x8_t __a, uint8x8_t __b)
14206 {
14207   return __a | ~__b;
14208 }
14209 
14210 __extension__ extern __inline uint16x4_t
14211 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u16(uint16x4_t __a,uint16x4_t __b)14212 vorn_u16 (uint16x4_t __a, uint16x4_t __b)
14213 {
14214   return __a | ~__b;
14215 }
14216 
14217 __extension__ extern __inline uint32x2_t
14218 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u32(uint32x2_t __a,uint32x2_t __b)14219 vorn_u32 (uint32x2_t __a, uint32x2_t __b)
14220 {
14221   return __a | ~__b;
14222 }
14223 
14224 __extension__ extern __inline int64x1_t
14225 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s64(int64x1_t __a,int64x1_t __b)14226 vorn_s64 (int64x1_t __a, int64x1_t __b)
14227 {
14228   return __a | ~__b;
14229 }
14230 
14231 __extension__ extern __inline uint64x1_t
14232 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u64(uint64x1_t __a,uint64x1_t __b)14233 vorn_u64 (uint64x1_t __a, uint64x1_t __b)
14234 {
14235   return __a | ~__b;
14236 }
14237 
14238 __extension__ extern __inline int8x16_t
14239 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s8(int8x16_t __a,int8x16_t __b)14240 vornq_s8 (int8x16_t __a, int8x16_t __b)
14241 {
14242   return __a | ~__b;
14243 }
14244 
14245 __extension__ extern __inline int16x8_t
14246 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s16(int16x8_t __a,int16x8_t __b)14247 vornq_s16 (int16x8_t __a, int16x8_t __b)
14248 {
14249   return __a | ~__b;
14250 }
14251 
14252 __extension__ extern __inline int32x4_t
14253 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s32(int32x4_t __a,int32x4_t __b)14254 vornq_s32 (int32x4_t __a, int32x4_t __b)
14255 {
14256   return __a | ~__b;
14257 }
14258 
14259 __extension__ extern __inline int64x2_t
14260 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s64(int64x2_t __a,int64x2_t __b)14261 vornq_s64 (int64x2_t __a, int64x2_t __b)
14262 {
14263   return __a | ~__b;
14264 }
14265 
14266 __extension__ extern __inline uint8x16_t
14267 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u8(uint8x16_t __a,uint8x16_t __b)14268 vornq_u8 (uint8x16_t __a, uint8x16_t __b)
14269 {
14270   return __a | ~__b;
14271 }
14272 
14273 __extension__ extern __inline uint16x8_t
14274 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u16(uint16x8_t __a,uint16x8_t __b)14275 vornq_u16 (uint16x8_t __a, uint16x8_t __b)
14276 {
14277   return __a | ~__b;
14278 }
14279 
14280 __extension__ extern __inline uint32x4_t
14281 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u32(uint32x4_t __a,uint32x4_t __b)14282 vornq_u32 (uint32x4_t __a, uint32x4_t __b)
14283 {
14284   return __a | ~__b;
14285 }
14286 
14287 __extension__ extern __inline uint64x2_t
14288 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u64(uint64x2_t __a,uint64x2_t __b)14289 vornq_u64 (uint64x2_t __a, uint64x2_t __b)
14290 {
14291   return __a | ~__b;
14292 }
14293 
14294 __extension__ extern __inline poly8x8_t
14295 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_p16(poly16x4_t __a)14296 vreinterpret_p8_p16 (poly16x4_t __a)
14297 {
14298   return (poly8x8_t) __a;
14299 }
14300 
14301 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14302 __extension__ extern __inline poly8x8_t
14303 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_f16(float16x4_t __a)14304 vreinterpret_p8_f16 (float16x4_t __a)
14305 {
14306   return (poly8x8_t) __a;
14307 }
14308 #endif
14309 
14310 __extension__ extern __inline poly8x8_t
14311 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_f32(float32x2_t __a)14312 vreinterpret_p8_f32 (float32x2_t __a)
14313 {
14314   return (poly8x8_t)__a;
14315 }
14316 
14317 #pragma GCC push_options
14318 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14319 __extension__ extern __inline poly8x8_t
14320 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_p64(poly64x1_t __a)14321 vreinterpret_p8_p64 (poly64x1_t __a)
14322 {
14323   return (poly8x8_t)__a;
14324 }
14325 
14326 #pragma GCC pop_options
14327 __extension__ extern __inline poly8x8_t
14328 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s64(int64x1_t __a)14329 vreinterpret_p8_s64 (int64x1_t __a)
14330 {
14331   return (poly8x8_t)__a;
14332 }
14333 
14334 __extension__ extern __inline poly8x8_t
14335 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u64(uint64x1_t __a)14336 vreinterpret_p8_u64 (uint64x1_t __a)
14337 {
14338   return (poly8x8_t)__a;
14339 }
14340 
14341 __extension__ extern __inline poly8x8_t
14342 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s8(int8x8_t __a)14343 vreinterpret_p8_s8 (int8x8_t __a)
14344 {
14345   return (poly8x8_t)__a;
14346 }
14347 
14348 __extension__ extern __inline poly8x8_t
14349 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s16(int16x4_t __a)14350 vreinterpret_p8_s16 (int16x4_t __a)
14351 {
14352   return (poly8x8_t)__a;
14353 }
14354 
14355 __extension__ extern __inline poly8x8_t
14356 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s32(int32x2_t __a)14357 vreinterpret_p8_s32 (int32x2_t __a)
14358 {
14359   return (poly8x8_t)__a;
14360 }
14361 
14362 __extension__ extern __inline poly8x8_t
14363 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u8(uint8x8_t __a)14364 vreinterpret_p8_u8 (uint8x8_t __a)
14365 {
14366   return (poly8x8_t)__a;
14367 }
14368 
14369 __extension__ extern __inline poly8x8_t
14370 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u16(uint16x4_t __a)14371 vreinterpret_p8_u16 (uint16x4_t __a)
14372 {
14373   return (poly8x8_t)__a;
14374 }
14375 
14376 __extension__ extern __inline poly8x8_t
14377 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u32(uint32x2_t __a)14378 vreinterpret_p8_u32 (uint32x2_t __a)
14379 {
14380   return (poly8x8_t)__a;
14381 }
14382 
14383 __extension__ extern __inline poly16x4_t
14384 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_p8(poly8x8_t __a)14385 vreinterpret_p16_p8 (poly8x8_t __a)
14386 {
14387   return (poly16x4_t)__a;
14388 }
14389 
14390 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14391 __extension__ extern __inline poly16x4_t
14392 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_f16(float16x4_t __a)14393 vreinterpret_p16_f16 (float16x4_t __a)
14394 {
14395   return (poly16x4_t) __a;
14396 }
14397 #endif
14398 
14399 __extension__ extern __inline poly16x4_t
14400 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_f32(float32x2_t __a)14401 vreinterpret_p16_f32 (float32x2_t __a)
14402 {
14403   return (poly16x4_t)__a;
14404 }
14405 
14406 #pragma GCC push_options
14407 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14408 __extension__ extern __inline poly16x4_t
14409 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_p64(poly64x1_t __a)14410 vreinterpret_p16_p64 (poly64x1_t __a)
14411 {
14412   return (poly16x4_t)__a;
14413 }
14414 
14415 #pragma GCC pop_options
14416 __extension__ extern __inline poly16x4_t
14417 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s64(int64x1_t __a)14418 vreinterpret_p16_s64 (int64x1_t __a)
14419 {
14420   return (poly16x4_t)__a;
14421 }
14422 
14423 __extension__ extern __inline poly16x4_t
14424 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u64(uint64x1_t __a)14425 vreinterpret_p16_u64 (uint64x1_t __a)
14426 {
14427   return (poly16x4_t)__a;
14428 }
14429 
14430 __extension__ extern __inline poly16x4_t
14431 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s8(int8x8_t __a)14432 vreinterpret_p16_s8 (int8x8_t __a)
14433 {
14434   return (poly16x4_t)__a;
14435 }
14436 
14437 __extension__ extern __inline poly16x4_t
14438 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s16(int16x4_t __a)14439 vreinterpret_p16_s16 (int16x4_t __a)
14440 {
14441   return (poly16x4_t)__a;
14442 }
14443 
14444 __extension__ extern __inline poly16x4_t
14445 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s32(int32x2_t __a)14446 vreinterpret_p16_s32 (int32x2_t __a)
14447 {
14448   return (poly16x4_t)__a;
14449 }
14450 
14451 __extension__ extern __inline poly16x4_t
14452 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u8(uint8x8_t __a)14453 vreinterpret_p16_u8 (uint8x8_t __a)
14454 {
14455   return (poly16x4_t)__a;
14456 }
14457 
14458 __extension__ extern __inline poly16x4_t
14459 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u16(uint16x4_t __a)14460 vreinterpret_p16_u16 (uint16x4_t __a)
14461 {
14462   return (poly16x4_t)__a;
14463 }
14464 
14465 __extension__ extern __inline poly16x4_t
14466 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u32(uint32x2_t __a)14467 vreinterpret_p16_u32 (uint32x2_t __a)
14468 {
14469   return (poly16x4_t)__a;
14470 }
14471 
14472 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14473 __extension__ extern __inline float16x4_t
14474 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_p8(poly8x8_t __a)14475 vreinterpret_f16_p8 (poly8x8_t __a)
14476 {
14477   return (float16x4_t) __a;
14478 }
14479 #endif
14480 
14481 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14482 __extension__ extern __inline float16x4_t
14483 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_p16(poly16x4_t __a)14484 vreinterpret_f16_p16 (poly16x4_t __a)
14485 {
14486   return (float16x4_t) __a;
14487 }
14488 #endif
14489 
14490 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14491 __extension__ extern __inline float16x4_t
14492 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_f32(float32x2_t __a)14493 vreinterpret_f16_f32 (float32x2_t __a)
14494 {
14495   return (float16x4_t) __a;
14496 }
14497 #endif
14498 
14499 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14500 #pragma GCC push_options
14501 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14502 __extension__ extern __inline float16x4_t
14503 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_p64(poly64x1_t __a)14504 vreinterpret_f16_p64 (poly64x1_t __a)
14505 {
14506   return (float16x4_t) __a;
14507 }
14508 #pragma GCC pop_options
14509 #endif
14510 
14511 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14512 __extension__ extern __inline float16x4_t
14513 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s64(int64x1_t __a)14514 vreinterpret_f16_s64 (int64x1_t __a)
14515 {
14516   return (float16x4_t) __a;
14517 }
14518 #endif
14519 
14520 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14521 __extension__ extern __inline float16x4_t
14522 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u64(uint64x1_t __a)14523 vreinterpret_f16_u64 (uint64x1_t __a)
14524 {
14525   return (float16x4_t) __a;
14526 }
14527 #endif
14528 
14529 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14530 __extension__ extern __inline float16x4_t
14531 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s8(int8x8_t __a)14532 vreinterpret_f16_s8 (int8x8_t __a)
14533 {
14534   return (float16x4_t) __a;
14535 }
14536 #endif
14537 
14538 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14539 __extension__ extern __inline float16x4_t
14540 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s16(int16x4_t __a)14541 vreinterpret_f16_s16 (int16x4_t __a)
14542 {
14543   return (float16x4_t) __a;
14544 }
14545 #endif
14546 
14547 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14548 __extension__ extern __inline float16x4_t
14549 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s32(int32x2_t __a)14550 vreinterpret_f16_s32 (int32x2_t __a)
14551 {
14552   return (float16x4_t) __a;
14553 }
14554 #endif
14555 
14556 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14557 __extension__ extern __inline float16x4_t
14558 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u8(uint8x8_t __a)14559 vreinterpret_f16_u8 (uint8x8_t __a)
14560 {
14561   return (float16x4_t) __a;
14562 }
14563 #endif
14564 
14565 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14566 __extension__ extern __inline float16x4_t
14567 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u16(uint16x4_t __a)14568 vreinterpret_f16_u16 (uint16x4_t __a)
14569 {
14570   return (float16x4_t) __a;
14571 }
14572 #endif
14573 
14574 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14575 __extension__ extern __inline float16x4_t
14576 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u32(uint32x2_t __a)14577 vreinterpret_f16_u32 (uint32x2_t __a)
14578 {
14579   return (float16x4_t) __a;
14580 }
14581 #endif
14582 
14583 __extension__ extern __inline float32x2_t
14584 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_p8(poly8x8_t __a)14585 vreinterpret_f32_p8 (poly8x8_t __a)
14586 {
14587   return (float32x2_t)__a;
14588 }
14589 
14590 __extension__ extern __inline float32x2_t
14591 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_p16(poly16x4_t __a)14592 vreinterpret_f32_p16 (poly16x4_t __a)
14593 {
14594   return (float32x2_t)__a;
14595 }
14596 
14597 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14598 __extension__ extern __inline float32x2_t
14599 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_f16(float16x4_t __a)14600 vreinterpret_f32_f16 (float16x4_t __a)
14601 {
14602   return (float32x2_t) __a;
14603 }
14604 #endif
14605 
14606 #pragma GCC push_options
14607 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14608 __extension__ extern __inline float32x2_t
14609 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_p64(poly64x1_t __a)14610 vreinterpret_f32_p64 (poly64x1_t __a)
14611 {
14612   return (float32x2_t)__a;
14613 }
14614 
14615 #pragma GCC pop_options
14616 __extension__ extern __inline float32x2_t
14617 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s64(int64x1_t __a)14618 vreinterpret_f32_s64 (int64x1_t __a)
14619 {
14620   return (float32x2_t)__a;
14621 }
14622 
14623 __extension__ extern __inline float32x2_t
14624 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u64(uint64x1_t __a)14625 vreinterpret_f32_u64 (uint64x1_t __a)
14626 {
14627   return (float32x2_t)__a;
14628 }
14629 
14630 __extension__ extern __inline float32x2_t
14631 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s8(int8x8_t __a)14632 vreinterpret_f32_s8 (int8x8_t __a)
14633 {
14634   return (float32x2_t)__a;
14635 }
14636 
14637 __extension__ extern __inline float32x2_t
14638 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s16(int16x4_t __a)14639 vreinterpret_f32_s16 (int16x4_t __a)
14640 {
14641   return (float32x2_t)__a;
14642 }
14643 
14644 __extension__ extern __inline float32x2_t
14645 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s32(int32x2_t __a)14646 vreinterpret_f32_s32 (int32x2_t __a)
14647 {
14648   return (float32x2_t)__a;
14649 }
14650 
14651 __extension__ extern __inline float32x2_t
14652 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u8(uint8x8_t __a)14653 vreinterpret_f32_u8 (uint8x8_t __a)
14654 {
14655   return (float32x2_t)__a;
14656 }
14657 
14658 __extension__ extern __inline float32x2_t
14659 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u16(uint16x4_t __a)14660 vreinterpret_f32_u16 (uint16x4_t __a)
14661 {
14662   return (float32x2_t)__a;
14663 }
14664 
14665 __extension__ extern __inline float32x2_t
14666 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u32(uint32x2_t __a)14667 vreinterpret_f32_u32 (uint32x2_t __a)
14668 {
14669   return (float32x2_t)__a;
14670 }
14671 
14672 #pragma GCC push_options
14673 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14674 __extension__ extern __inline poly64x1_t
14675 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_p8(poly8x8_t __a)14676 vreinterpret_p64_p8 (poly8x8_t __a)
14677 {
14678   return (poly64x1_t)__a;
14679 }
14680 
14681 __extension__ extern __inline poly64x1_t
14682 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_p16(poly16x4_t __a)14683 vreinterpret_p64_p16 (poly16x4_t __a)
14684 {
14685   return (poly64x1_t)__a;
14686 }
14687 
14688 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14689 __extension__ extern __inline poly64x1_t
14690 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_f16(float16x4_t __a)14691 vreinterpret_p64_f16 (float16x4_t __a)
14692 {
14693   return (poly64x1_t) __a;
14694 }
14695 #endif
14696 
14697 __extension__ extern __inline poly64x1_t
14698 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_f32(float32x2_t __a)14699 vreinterpret_p64_f32 (float32x2_t __a)
14700 {
14701   return (poly64x1_t)__a;
14702 }
14703 
14704 __extension__ extern __inline poly64x1_t
14705 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s64(int64x1_t __a)14706 vreinterpret_p64_s64 (int64x1_t __a)
14707 {
14708   return (poly64x1_t)__a;
14709 }
14710 
14711 __extension__ extern __inline poly64x1_t
14712 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u64(uint64x1_t __a)14713 vreinterpret_p64_u64 (uint64x1_t __a)
14714 {
14715   return (poly64x1_t)__a;
14716 }
14717 
14718 __extension__ extern __inline poly64x1_t
14719 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s8(int8x8_t __a)14720 vreinterpret_p64_s8 (int8x8_t __a)
14721 {
14722   return (poly64x1_t)__a;
14723 }
14724 
14725 __extension__ extern __inline poly64x1_t
14726 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s16(int16x4_t __a)14727 vreinterpret_p64_s16 (int16x4_t __a)
14728 {
14729   return (poly64x1_t)__a;
14730 }
14731 
14732 __extension__ extern __inline poly64x1_t
14733 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s32(int32x2_t __a)14734 vreinterpret_p64_s32 (int32x2_t __a)
14735 {
14736   return (poly64x1_t)__a;
14737 }
14738 
14739 __extension__ extern __inline poly64x1_t
14740 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u8(uint8x8_t __a)14741 vreinterpret_p64_u8 (uint8x8_t __a)
14742 {
14743   return (poly64x1_t)__a;
14744 }
14745 
14746 __extension__ extern __inline poly64x1_t
14747 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u16(uint16x4_t __a)14748 vreinterpret_p64_u16 (uint16x4_t __a)
14749 {
14750   return (poly64x1_t)__a;
14751 }
14752 
14753 __extension__ extern __inline poly64x1_t
14754 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u32(uint32x2_t __a)14755 vreinterpret_p64_u32 (uint32x2_t __a)
14756 {
14757   return (poly64x1_t)__a;
14758 }
14759 
14760 #pragma GCC pop_options
14761 __extension__ extern __inline int64x1_t
14762 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_p8(poly8x8_t __a)14763 vreinterpret_s64_p8 (poly8x8_t __a)
14764 {
14765   return (int64x1_t)__a;
14766 }
14767 
14768 __extension__ extern __inline int64x1_t
14769 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_p16(poly16x4_t __a)14770 vreinterpret_s64_p16 (poly16x4_t __a)
14771 {
14772   return (int64x1_t)__a;
14773 }
14774 
14775 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14776 __extension__ extern __inline int64x1_t
14777 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_f16(float16x4_t __a)14778 vreinterpret_s64_f16 (float16x4_t __a)
14779 {
14780   return (int64x1_t) __a;
14781 }
14782 #endif
14783 
14784 __extension__ extern __inline int64x1_t
14785 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_f32(float32x2_t __a)14786 vreinterpret_s64_f32 (float32x2_t __a)
14787 {
14788   return (int64x1_t)__a;
14789 }
14790 
14791 #pragma GCC push_options
14792 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14793 __extension__ extern __inline int64x1_t
14794 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_p64(poly64x1_t __a)14795 vreinterpret_s64_p64 (poly64x1_t __a)
14796 {
14797   return (int64x1_t)__a;
14798 }
14799 
14800 #pragma GCC pop_options
14801 __extension__ extern __inline int64x1_t
14802 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u64(uint64x1_t __a)14803 vreinterpret_s64_u64 (uint64x1_t __a)
14804 {
14805   return (int64x1_t)__a;
14806 }
14807 
14808 __extension__ extern __inline int64x1_t
14809 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_s8(int8x8_t __a)14810 vreinterpret_s64_s8 (int8x8_t __a)
14811 {
14812   return (int64x1_t)__a;
14813 }
14814 
14815 __extension__ extern __inline int64x1_t
14816 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_s16(int16x4_t __a)14817 vreinterpret_s64_s16 (int16x4_t __a)
14818 {
14819   return (int64x1_t)__a;
14820 }
14821 
14822 __extension__ extern __inline int64x1_t
14823 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_s32(int32x2_t __a)14824 vreinterpret_s64_s32 (int32x2_t __a)
14825 {
14826   return (int64x1_t)__a;
14827 }
14828 
14829 __extension__ extern __inline int64x1_t
14830 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u8(uint8x8_t __a)14831 vreinterpret_s64_u8 (uint8x8_t __a)
14832 {
14833   return (int64x1_t)__a;
14834 }
14835 
14836 __extension__ extern __inline int64x1_t
14837 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u16(uint16x4_t __a)14838 vreinterpret_s64_u16 (uint16x4_t __a)
14839 {
14840   return (int64x1_t)__a;
14841 }
14842 
14843 __extension__ extern __inline int64x1_t
14844 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u32(uint32x2_t __a)14845 vreinterpret_s64_u32 (uint32x2_t __a)
14846 {
14847   return (int64x1_t)__a;
14848 }
14849 
14850 __extension__ extern __inline uint64x1_t
14851 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_p8(poly8x8_t __a)14852 vreinterpret_u64_p8 (poly8x8_t __a)
14853 {
14854   return (uint64x1_t)__a;
14855 }
14856 
14857 __extension__ extern __inline uint64x1_t
14858 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_p16(poly16x4_t __a)14859 vreinterpret_u64_p16 (poly16x4_t __a)
14860 {
14861   return (uint64x1_t)__a;
14862 }
14863 
14864 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14865 __extension__ extern __inline uint64x1_t
14866 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_f16(float16x4_t __a)14867 vreinterpret_u64_f16 (float16x4_t __a)
14868 {
14869   return (uint64x1_t) __a;
14870 }
14871 #endif
14872 
14873 __extension__ extern __inline uint64x1_t
14874 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_f32(float32x2_t __a)14875 vreinterpret_u64_f32 (float32x2_t __a)
14876 {
14877   return (uint64x1_t)__a;
14878 }
14879 
14880 #pragma GCC push_options
14881 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14882 __extension__ extern __inline uint64x1_t
14883 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_p64(poly64x1_t __a)14884 vreinterpret_u64_p64 (poly64x1_t __a)
14885 {
14886   return (uint64x1_t)__a;
14887 }
14888 
14889 #pragma GCC pop_options
14890 __extension__ extern __inline uint64x1_t
14891 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s64(int64x1_t __a)14892 vreinterpret_u64_s64 (int64x1_t __a)
14893 {
14894   return (uint64x1_t)__a;
14895 }
14896 
14897 __extension__ extern __inline uint64x1_t
14898 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s8(int8x8_t __a)14899 vreinterpret_u64_s8 (int8x8_t __a)
14900 {
14901   return (uint64x1_t)__a;
14902 }
14903 
14904 __extension__ extern __inline uint64x1_t
14905 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s16(int16x4_t __a)14906 vreinterpret_u64_s16 (int16x4_t __a)
14907 {
14908   return (uint64x1_t)__a;
14909 }
14910 
14911 __extension__ extern __inline uint64x1_t
14912 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s32(int32x2_t __a)14913 vreinterpret_u64_s32 (int32x2_t __a)
14914 {
14915   return (uint64x1_t)__a;
14916 }
14917 
14918 __extension__ extern __inline uint64x1_t
14919 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_u8(uint8x8_t __a)14920 vreinterpret_u64_u8 (uint8x8_t __a)
14921 {
14922   return (uint64x1_t)__a;
14923 }
14924 
14925 __extension__ extern __inline uint64x1_t
14926 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_u16(uint16x4_t __a)14927 vreinterpret_u64_u16 (uint16x4_t __a)
14928 {
14929   return (uint64x1_t)__a;
14930 }
14931 
14932 __extension__ extern __inline uint64x1_t
14933 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_u32(uint32x2_t __a)14934 vreinterpret_u64_u32 (uint32x2_t __a)
14935 {
14936   return (uint64x1_t)__a;
14937 }
14938 
14939 __extension__ extern __inline int8x8_t
14940 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_p8(poly8x8_t __a)14941 vreinterpret_s8_p8 (poly8x8_t __a)
14942 {
14943   return (int8x8_t)__a;
14944 }
14945 
14946 __extension__ extern __inline int8x8_t
14947 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_p16(poly16x4_t __a)14948 vreinterpret_s8_p16 (poly16x4_t __a)
14949 {
14950   return (int8x8_t)__a;
14951 }
14952 
14953 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
14954 __extension__ extern __inline int8x8_t
14955 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_f16(float16x4_t __a)14956 vreinterpret_s8_f16 (float16x4_t __a)
14957 {
14958   return (int8x8_t) __a;
14959 }
14960 #endif
14961 
14962 __extension__ extern __inline int8x8_t
14963 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_f32(float32x2_t __a)14964 vreinterpret_s8_f32 (float32x2_t __a)
14965 {
14966   return (int8x8_t)__a;
14967 }
14968 
14969 #pragma GCC push_options
14970 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
14971 __extension__ extern __inline int8x8_t
14972 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_p64(poly64x1_t __a)14973 vreinterpret_s8_p64 (poly64x1_t __a)
14974 {
14975   return (int8x8_t)__a;
14976 }
14977 
14978 #pragma GCC pop_options
14979 __extension__ extern __inline int8x8_t
14980 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_s64(int64x1_t __a)14981 vreinterpret_s8_s64 (int64x1_t __a)
14982 {
14983   return (int8x8_t)__a;
14984 }
14985 
14986 __extension__ extern __inline int8x8_t
14987 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u64(uint64x1_t __a)14988 vreinterpret_s8_u64 (uint64x1_t __a)
14989 {
14990   return (int8x8_t)__a;
14991 }
14992 
14993 __extension__ extern __inline int8x8_t
14994 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_s16(int16x4_t __a)14995 vreinterpret_s8_s16 (int16x4_t __a)
14996 {
14997   return (int8x8_t)__a;
14998 }
14999 
15000 __extension__ extern __inline int8x8_t
15001 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_s32(int32x2_t __a)15002 vreinterpret_s8_s32 (int32x2_t __a)
15003 {
15004   return (int8x8_t)__a;
15005 }
15006 
15007 __extension__ extern __inline int8x8_t
15008 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u8(uint8x8_t __a)15009 vreinterpret_s8_u8 (uint8x8_t __a)
15010 {
15011   return (int8x8_t)__a;
15012 }
15013 
15014 __extension__ extern __inline int8x8_t
15015 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u16(uint16x4_t __a)15016 vreinterpret_s8_u16 (uint16x4_t __a)
15017 {
15018   return (int8x8_t)__a;
15019 }
15020 
15021 __extension__ extern __inline int8x8_t
15022 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u32(uint32x2_t __a)15023 vreinterpret_s8_u32 (uint32x2_t __a)
15024 {
15025   return (int8x8_t)__a;
15026 }
15027 
15028 __extension__ extern __inline int16x4_t
15029 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_p8(poly8x8_t __a)15030 vreinterpret_s16_p8 (poly8x8_t __a)
15031 {
15032   return (int16x4_t)__a;
15033 }
15034 
15035 __extension__ extern __inline int16x4_t
15036 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_p16(poly16x4_t __a)15037 vreinterpret_s16_p16 (poly16x4_t __a)
15038 {
15039   return (int16x4_t)__a;
15040 }
15041 
15042 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15043 __extension__ extern __inline int16x4_t
15044 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_f16(float16x4_t __a)15045 vreinterpret_s16_f16 (float16x4_t __a)
15046 {
15047   return (int16x4_t) __a;
15048 }
15049 #endif
15050 
15051 __extension__ extern __inline int16x4_t
15052 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_f32(float32x2_t __a)15053 vreinterpret_s16_f32 (float32x2_t __a)
15054 {
15055   return (int16x4_t)__a;
15056 }
15057 
15058 #pragma GCC push_options
15059 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15060 __extension__ extern __inline int16x4_t
15061 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_p64(poly64x1_t __a)15062 vreinterpret_s16_p64 (poly64x1_t __a)
15063 {
15064   return (int16x4_t)__a;
15065 }
15066 
15067 #pragma GCC pop_options
15068 __extension__ extern __inline int16x4_t
15069 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_s64(int64x1_t __a)15070 vreinterpret_s16_s64 (int64x1_t __a)
15071 {
15072   return (int16x4_t)__a;
15073 }
15074 
15075 __extension__ extern __inline int16x4_t
15076 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u64(uint64x1_t __a)15077 vreinterpret_s16_u64 (uint64x1_t __a)
15078 {
15079   return (int16x4_t)__a;
15080 }
15081 
15082 __extension__ extern __inline int16x4_t
15083 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_s8(int8x8_t __a)15084 vreinterpret_s16_s8 (int8x8_t __a)
15085 {
15086   return (int16x4_t)__a;
15087 }
15088 
15089 __extension__ extern __inline int16x4_t
15090 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_s32(int32x2_t __a)15091 vreinterpret_s16_s32 (int32x2_t __a)
15092 {
15093   return (int16x4_t)__a;
15094 }
15095 
15096 __extension__ extern __inline int16x4_t
15097 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u8(uint8x8_t __a)15098 vreinterpret_s16_u8 (uint8x8_t __a)
15099 {
15100   return (int16x4_t)__a;
15101 }
15102 
15103 __extension__ extern __inline int16x4_t
15104 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u16(uint16x4_t __a)15105 vreinterpret_s16_u16 (uint16x4_t __a)
15106 {
15107   return (int16x4_t)__a;
15108 }
15109 
15110 __extension__ extern __inline int16x4_t
15111 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u32(uint32x2_t __a)15112 vreinterpret_s16_u32 (uint32x2_t __a)
15113 {
15114   return (int16x4_t)__a;
15115 }
15116 
15117 __extension__ extern __inline int32x2_t
15118 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_p8(poly8x8_t __a)15119 vreinterpret_s32_p8 (poly8x8_t __a)
15120 {
15121   return (int32x2_t)__a;
15122 }
15123 
15124 __extension__ extern __inline int32x2_t
15125 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_p16(poly16x4_t __a)15126 vreinterpret_s32_p16 (poly16x4_t __a)
15127 {
15128   return (int32x2_t)__a;
15129 }
15130 
15131 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15132 __extension__ extern __inline int32x2_t
15133 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_f16(float16x4_t __a)15134 vreinterpret_s32_f16 (float16x4_t __a)
15135 {
15136   return (int32x2_t) __a;
15137 }
15138 #endif
15139 
15140 __extension__ extern __inline int32x2_t
15141 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_f32(float32x2_t __a)15142 vreinterpret_s32_f32 (float32x2_t __a)
15143 {
15144   return (int32x2_t)__a;
15145 }
15146 
15147 #pragma GCC push_options
15148 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15149 __extension__ extern __inline int32x2_t
15150 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_p64(poly64x1_t __a)15151 vreinterpret_s32_p64 (poly64x1_t __a)
15152 {
15153   return (int32x2_t)__a;
15154 }
15155 
15156 #pragma GCC pop_options
15157 __extension__ extern __inline int32x2_t
15158 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_s64(int64x1_t __a)15159 vreinterpret_s32_s64 (int64x1_t __a)
15160 {
15161   return (int32x2_t)__a;
15162 }
15163 
15164 __extension__ extern __inline int32x2_t
15165 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u64(uint64x1_t __a)15166 vreinterpret_s32_u64 (uint64x1_t __a)
15167 {
15168   return (int32x2_t)__a;
15169 }
15170 
15171 __extension__ extern __inline int32x2_t
15172 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_s8(int8x8_t __a)15173 vreinterpret_s32_s8 (int8x8_t __a)
15174 {
15175   return (int32x2_t)__a;
15176 }
15177 
15178 __extension__ extern __inline int32x2_t
15179 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_s16(int16x4_t __a)15180 vreinterpret_s32_s16 (int16x4_t __a)
15181 {
15182   return (int32x2_t)__a;
15183 }
15184 
15185 __extension__ extern __inline int32x2_t
15186 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u8(uint8x8_t __a)15187 vreinterpret_s32_u8 (uint8x8_t __a)
15188 {
15189   return (int32x2_t)__a;
15190 }
15191 
15192 __extension__ extern __inline int32x2_t
15193 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u16(uint16x4_t __a)15194 vreinterpret_s32_u16 (uint16x4_t __a)
15195 {
15196   return (int32x2_t)__a;
15197 }
15198 
15199 __extension__ extern __inline int32x2_t
15200 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u32(uint32x2_t __a)15201 vreinterpret_s32_u32 (uint32x2_t __a)
15202 {
15203   return (int32x2_t)__a;
15204 }
15205 
15206 __extension__ extern __inline uint8x8_t
15207 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_p8(poly8x8_t __a)15208 vreinterpret_u8_p8 (poly8x8_t __a)
15209 {
15210   return (uint8x8_t)__a;
15211 }
15212 
15213 __extension__ extern __inline uint8x8_t
15214 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_p16(poly16x4_t __a)15215 vreinterpret_u8_p16 (poly16x4_t __a)
15216 {
15217   return (uint8x8_t)__a;
15218 }
15219 
15220 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15221 __extension__ extern __inline uint8x8_t
15222 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_f16(float16x4_t __a)15223 vreinterpret_u8_f16 (float16x4_t __a)
15224 {
15225   return (uint8x8_t) __a;
15226 }
15227 #endif
15228 
15229 __extension__ extern __inline uint8x8_t
15230 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_f32(float32x2_t __a)15231 vreinterpret_u8_f32 (float32x2_t __a)
15232 {
15233   return (uint8x8_t)__a;
15234 }
15235 
15236 #pragma GCC push_options
15237 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15238 __extension__ extern __inline uint8x8_t
15239 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_p64(poly64x1_t __a)15240 vreinterpret_u8_p64 (poly64x1_t __a)
15241 {
15242   return (uint8x8_t)__a;
15243 }
15244 
15245 #pragma GCC pop_options
15246 __extension__ extern __inline uint8x8_t
15247 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s64(int64x1_t __a)15248 vreinterpret_u8_s64 (int64x1_t __a)
15249 {
15250   return (uint8x8_t)__a;
15251 }
15252 
15253 __extension__ extern __inline uint8x8_t
15254 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_u64(uint64x1_t __a)15255 vreinterpret_u8_u64 (uint64x1_t __a)
15256 {
15257   return (uint8x8_t)__a;
15258 }
15259 
15260 __extension__ extern __inline uint8x8_t
15261 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s8(int8x8_t __a)15262 vreinterpret_u8_s8 (int8x8_t __a)
15263 {
15264   return (uint8x8_t)__a;
15265 }
15266 
15267 __extension__ extern __inline uint8x8_t
15268 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s16(int16x4_t __a)15269 vreinterpret_u8_s16 (int16x4_t __a)
15270 {
15271   return (uint8x8_t)__a;
15272 }
15273 
15274 __extension__ extern __inline uint8x8_t
15275 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s32(int32x2_t __a)15276 vreinterpret_u8_s32 (int32x2_t __a)
15277 {
15278   return (uint8x8_t)__a;
15279 }
15280 
15281 __extension__ extern __inline uint8x8_t
15282 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_u16(uint16x4_t __a)15283 vreinterpret_u8_u16 (uint16x4_t __a)
15284 {
15285   return (uint8x8_t)__a;
15286 }
15287 
15288 __extension__ extern __inline uint8x8_t
15289 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_u32(uint32x2_t __a)15290 vreinterpret_u8_u32 (uint32x2_t __a)
15291 {
15292   return (uint8x8_t)__a;
15293 }
15294 
15295 __extension__ extern __inline uint16x4_t
15296 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_p8(poly8x8_t __a)15297 vreinterpret_u16_p8 (poly8x8_t __a)
15298 {
15299   return (uint16x4_t)__a;
15300 }
15301 
15302 __extension__ extern __inline uint16x4_t
15303 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_p16(poly16x4_t __a)15304 vreinterpret_u16_p16 (poly16x4_t __a)
15305 {
15306   return (uint16x4_t)__a;
15307 }
15308 
15309 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15310 __extension__ extern __inline uint16x4_t
15311 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_f16(float16x4_t __a)15312 vreinterpret_u16_f16 (float16x4_t __a)
15313 {
15314   return (uint16x4_t) __a;
15315 }
15316 #endif
15317 
15318 __extension__ extern __inline uint16x4_t
15319 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_f32(float32x2_t __a)15320 vreinterpret_u16_f32 (float32x2_t __a)
15321 {
15322   return (uint16x4_t)__a;
15323 }
15324 
15325 #pragma GCC push_options
15326 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15327 __extension__ extern __inline uint16x4_t
15328 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_p64(poly64x1_t __a)15329 vreinterpret_u16_p64 (poly64x1_t __a)
15330 {
15331   return (uint16x4_t)__a;
15332 }
15333 
15334 #pragma GCC pop_options
15335 __extension__ extern __inline uint16x4_t
15336 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s64(int64x1_t __a)15337 vreinterpret_u16_s64 (int64x1_t __a)
15338 {
15339   return (uint16x4_t)__a;
15340 }
15341 
15342 __extension__ extern __inline uint16x4_t
15343 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_u64(uint64x1_t __a)15344 vreinterpret_u16_u64 (uint64x1_t __a)
15345 {
15346   return (uint16x4_t)__a;
15347 }
15348 
15349 __extension__ extern __inline uint16x4_t
15350 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s8(int8x8_t __a)15351 vreinterpret_u16_s8 (int8x8_t __a)
15352 {
15353   return (uint16x4_t)__a;
15354 }
15355 
15356 __extension__ extern __inline uint16x4_t
15357 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s16(int16x4_t __a)15358 vreinterpret_u16_s16 (int16x4_t __a)
15359 {
15360   return (uint16x4_t)__a;
15361 }
15362 
15363 __extension__ extern __inline uint16x4_t
15364 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s32(int32x2_t __a)15365 vreinterpret_u16_s32 (int32x2_t __a)
15366 {
15367   return (uint16x4_t)__a;
15368 }
15369 
15370 __extension__ extern __inline uint16x4_t
15371 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_u8(uint8x8_t __a)15372 vreinterpret_u16_u8 (uint8x8_t __a)
15373 {
15374   return (uint16x4_t)__a;
15375 }
15376 
15377 __extension__ extern __inline uint16x4_t
15378 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_u32(uint32x2_t __a)15379 vreinterpret_u16_u32 (uint32x2_t __a)
15380 {
15381   return (uint16x4_t)__a;
15382 }
15383 
15384 __extension__ extern __inline uint32x2_t
15385 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_p8(poly8x8_t __a)15386 vreinterpret_u32_p8 (poly8x8_t __a)
15387 {
15388   return (uint32x2_t)__a;
15389 }
15390 
15391 __extension__ extern __inline uint32x2_t
15392 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_p16(poly16x4_t __a)15393 vreinterpret_u32_p16 (poly16x4_t __a)
15394 {
15395   return (uint32x2_t)__a;
15396 }
15397 
15398 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15399 __extension__ extern __inline uint32x2_t
15400 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_f16(float16x4_t __a)15401 vreinterpret_u32_f16 (float16x4_t __a)
15402 {
15403   return (uint32x2_t) __a;
15404 }
15405 #endif
15406 
15407 __extension__ extern __inline uint32x2_t
15408 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_f32(float32x2_t __a)15409 vreinterpret_u32_f32 (float32x2_t __a)
15410 {
15411   return (uint32x2_t)__a;
15412 }
15413 
15414 #pragma GCC push_options
15415 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15416 __extension__ extern __inline uint32x2_t
15417 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_p64(poly64x1_t __a)15418 vreinterpret_u32_p64 (poly64x1_t __a)
15419 {
15420   return (uint32x2_t)__a;
15421 }
15422 
15423 #pragma GCC pop_options
15424 __extension__ extern __inline uint32x2_t
15425 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s64(int64x1_t __a)15426 vreinterpret_u32_s64 (int64x1_t __a)
15427 {
15428   return (uint32x2_t)__a;
15429 }
15430 
15431 __extension__ extern __inline uint32x2_t
15432 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_u64(uint64x1_t __a)15433 vreinterpret_u32_u64 (uint64x1_t __a)
15434 {
15435   return (uint32x2_t)__a;
15436 }
15437 
15438 __extension__ extern __inline uint32x2_t
15439 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s8(int8x8_t __a)15440 vreinterpret_u32_s8 (int8x8_t __a)
15441 {
15442   return (uint32x2_t)__a;
15443 }
15444 
15445 __extension__ extern __inline uint32x2_t
15446 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s16(int16x4_t __a)15447 vreinterpret_u32_s16 (int16x4_t __a)
15448 {
15449   return (uint32x2_t)__a;
15450 }
15451 
15452 __extension__ extern __inline uint32x2_t
15453 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s32(int32x2_t __a)15454 vreinterpret_u32_s32 (int32x2_t __a)
15455 {
15456   return (uint32x2_t)__a;
15457 }
15458 
15459 __extension__ extern __inline uint32x2_t
15460 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_u8(uint8x8_t __a)15461 vreinterpret_u32_u8 (uint8x8_t __a)
15462 {
15463   return (uint32x2_t)__a;
15464 }
15465 
15466 __extension__ extern __inline uint32x2_t
15467 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_u16(uint16x4_t __a)15468 vreinterpret_u32_u16 (uint16x4_t __a)
15469 {
15470   return (uint32x2_t)__a;
15471 }
15472 
15473 __extension__ extern __inline poly8x16_t
15474 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_p16(poly16x8_t __a)15475 vreinterpretq_p8_p16 (poly16x8_t __a)
15476 {
15477   return (poly8x16_t)__a;
15478 }
15479 
15480 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15481 __extension__ extern __inline poly8x16_t
15482 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_f16(float16x8_t __a)15483 vreinterpretq_p8_f16 (float16x8_t __a)
15484 {
15485   return (poly8x16_t) __a;
15486 }
15487 #endif
15488 
15489 __extension__ extern __inline poly8x16_t
15490 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_f32(float32x4_t __a)15491 vreinterpretq_p8_f32 (float32x4_t __a)
15492 {
15493   return (poly8x16_t)__a;
15494 }
15495 
15496 #pragma GCC push_options
15497 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15498 __extension__ extern __inline poly8x16_t
15499 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_p64(poly64x2_t __a)15500 vreinterpretq_p8_p64 (poly64x2_t __a)
15501 {
15502   return (poly8x16_t)__a;
15503 }
15504 
15505 
15506 __extension__ extern __inline poly8x16_t
15507 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_p128(poly128_t __a)15508 vreinterpretq_p8_p128 (poly128_t __a)
15509 {
15510   return (poly8x16_t)__a;
15511 }
15512 
15513 #pragma GCC pop_options
15514 __extension__ extern __inline poly8x16_t
15515 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s64(int64x2_t __a)15516 vreinterpretq_p8_s64 (int64x2_t __a)
15517 {
15518   return (poly8x16_t)__a;
15519 }
15520 
15521 __extension__ extern __inline poly8x16_t
15522 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u64(uint64x2_t __a)15523 vreinterpretq_p8_u64 (uint64x2_t __a)
15524 {
15525   return (poly8x16_t)__a;
15526 }
15527 
15528 __extension__ extern __inline poly8x16_t
15529 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s8(int8x16_t __a)15530 vreinterpretq_p8_s8 (int8x16_t __a)
15531 {
15532   return (poly8x16_t)__a;
15533 }
15534 
15535 __extension__ extern __inline poly8x16_t
15536 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s16(int16x8_t __a)15537 vreinterpretq_p8_s16 (int16x8_t __a)
15538 {
15539   return (poly8x16_t)__a;
15540 }
15541 
15542 __extension__ extern __inline poly8x16_t
15543 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s32(int32x4_t __a)15544 vreinterpretq_p8_s32 (int32x4_t __a)
15545 {
15546   return (poly8x16_t)__a;
15547 }
15548 
15549 __extension__ extern __inline poly8x16_t
15550 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u8(uint8x16_t __a)15551 vreinterpretq_p8_u8 (uint8x16_t __a)
15552 {
15553   return (poly8x16_t)__a;
15554 }
15555 
15556 __extension__ extern __inline poly8x16_t
15557 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u16(uint16x8_t __a)15558 vreinterpretq_p8_u16 (uint16x8_t __a)
15559 {
15560   return (poly8x16_t)__a;
15561 }
15562 
15563 __extension__ extern __inline poly8x16_t
15564 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u32(uint32x4_t __a)15565 vreinterpretq_p8_u32 (uint32x4_t __a)
15566 {
15567   return (poly8x16_t)__a;
15568 }
15569 
15570 __extension__ extern __inline poly16x8_t
15571 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_p8(poly8x16_t __a)15572 vreinterpretq_p16_p8 (poly8x16_t __a)
15573 {
15574   return (poly16x8_t)__a;
15575 }
15576 
15577 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15578 __extension__ extern __inline poly16x8_t
15579 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_f16(float16x8_t __a)15580 vreinterpretq_p16_f16 (float16x8_t __a)
15581 {
15582   return (poly16x8_t) __a;
15583 }
15584 #endif
15585 
15586 __extension__ extern __inline poly16x8_t
15587 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_f32(float32x4_t __a)15588 vreinterpretq_p16_f32 (float32x4_t __a)
15589 {
15590   return (poly16x8_t)__a;
15591 }
15592 
15593 #pragma GCC push_options
15594 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15595 __extension__ extern __inline poly16x8_t
15596 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_p64(poly64x2_t __a)15597 vreinterpretq_p16_p64 (poly64x2_t __a)
15598 {
15599   return (poly16x8_t)__a;
15600 }
15601 
15602 __extension__ extern __inline poly16x8_t
15603 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_p128(poly128_t __a)15604 vreinterpretq_p16_p128 (poly128_t __a)
15605 {
15606   return (poly16x8_t)__a;
15607 }
15608 
15609 #pragma GCC pop_options
15610 __extension__ extern __inline poly16x8_t
15611 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s64(int64x2_t __a)15612 vreinterpretq_p16_s64 (int64x2_t __a)
15613 {
15614   return (poly16x8_t)__a;
15615 }
15616 
15617 __extension__ extern __inline poly16x8_t
15618 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u64(uint64x2_t __a)15619 vreinterpretq_p16_u64 (uint64x2_t __a)
15620 {
15621   return (poly16x8_t)__a;
15622 }
15623 
15624 __extension__ extern __inline poly16x8_t
15625 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s8(int8x16_t __a)15626 vreinterpretq_p16_s8 (int8x16_t __a)
15627 {
15628   return (poly16x8_t)__a;
15629 }
15630 
15631 __extension__ extern __inline poly16x8_t
15632 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s16(int16x8_t __a)15633 vreinterpretq_p16_s16 (int16x8_t __a)
15634 {
15635   return (poly16x8_t)__a;
15636 }
15637 
15638 __extension__ extern __inline poly16x8_t
15639 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s32(int32x4_t __a)15640 vreinterpretq_p16_s32 (int32x4_t __a)
15641 {
15642   return (poly16x8_t)__a;
15643 }
15644 
15645 __extension__ extern __inline poly16x8_t
15646 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u8(uint8x16_t __a)15647 vreinterpretq_p16_u8 (uint8x16_t __a)
15648 {
15649   return (poly16x8_t)__a;
15650 }
15651 
15652 __extension__ extern __inline poly16x8_t
15653 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u16(uint16x8_t __a)15654 vreinterpretq_p16_u16 (uint16x8_t __a)
15655 {
15656   return (poly16x8_t)__a;
15657 }
15658 
15659 __extension__ extern __inline poly16x8_t
15660 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u32(uint32x4_t __a)15661 vreinterpretq_p16_u32 (uint32x4_t __a)
15662 {
15663   return (poly16x8_t)__a;
15664 }
15665 
15666 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15667 __extension__ extern __inline float16x8_t
15668 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p8(poly8x16_t __a)15669 vreinterpretq_f16_p8 (poly8x16_t __a)
15670 {
15671   return (float16x8_t) __a;
15672 }
15673 #endif
15674 
15675 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15676 __extension__ extern __inline float16x8_t
15677 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p16(poly16x8_t __a)15678 vreinterpretq_f16_p16 (poly16x8_t __a)
15679 {
15680   return (float16x8_t) __a;
15681 }
15682 #endif
15683 
15684 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15685 __extension__ extern __inline float16x8_t
15686 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_f32(float32x4_t __a)15687 vreinterpretq_f16_f32 (float32x4_t __a)
15688 {
15689   return (float16x8_t) __a;
15690 }
15691 #endif
15692 
15693 #pragma GCC push_options
15694 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15695 
15696 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15697 __extension__ extern __inline float16x8_t
15698 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p64(poly64x2_t __a)15699 vreinterpretq_f16_p64 (poly64x2_t __a)
15700 {
15701   return (float16x8_t) __a;
15702 }
15703 #endif
15704 
15705 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15706 __extension__ extern __inline float16x8_t
15707 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p128(poly128_t __a)15708 vreinterpretq_f16_p128 (poly128_t __a)
15709 {
15710   return (float16x8_t) __a;
15711 }
15712 #endif
15713 
15714 #pragma GCC pop_options
15715 
15716 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15717 __extension__ extern __inline float16x8_t
15718 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s64(int64x2_t __a)15719 vreinterpretq_f16_s64 (int64x2_t __a)
15720 {
15721   return (float16x8_t) __a;
15722 }
15723 #endif
15724 
15725 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15726 __extension__ extern __inline float16x8_t
15727 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u64(uint64x2_t __a)15728 vreinterpretq_f16_u64 (uint64x2_t __a)
15729 {
15730   return (float16x8_t) __a;
15731 }
15732 #endif
15733 
15734 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15735 __extension__ extern __inline float16x8_t
15736 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s8(int8x16_t __a)15737 vreinterpretq_f16_s8 (int8x16_t __a)
15738 {
15739   return (float16x8_t) __a;
15740 }
15741 #endif
15742 
15743 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15744 __extension__ extern __inline float16x8_t
15745 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s16(int16x8_t __a)15746 vreinterpretq_f16_s16 (int16x8_t __a)
15747 {
15748   return (float16x8_t) __a;
15749 }
15750 #endif
15751 
15752 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15753 __extension__ extern __inline float16x8_t
15754 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s32(int32x4_t __a)15755 vreinterpretq_f16_s32 (int32x4_t __a)
15756 {
15757   return (float16x8_t) __a;
15758 }
15759 #endif
15760 
15761 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15762 __extension__ extern __inline float16x8_t
15763 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u8(uint8x16_t __a)15764 vreinterpretq_f16_u8 (uint8x16_t __a)
15765 {
15766   return (float16x8_t) __a;
15767 }
15768 #endif
15769 
15770 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15771 __extension__ extern __inline float16x8_t
15772 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u16(uint16x8_t __a)15773 vreinterpretq_f16_u16 (uint16x8_t __a)
15774 {
15775   return (float16x8_t) __a;
15776 }
15777 #endif
15778 
15779 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15780 __extension__ extern __inline float16x8_t
15781 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u32(uint32x4_t __a)15782 vreinterpretq_f16_u32 (uint32x4_t __a)
15783 {
15784   return (float16x8_t) __a;
15785 }
15786 #endif
15787 
15788 __extension__ extern __inline float32x4_t
15789 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p8(poly8x16_t __a)15790 vreinterpretq_f32_p8 (poly8x16_t __a)
15791 {
15792   return (float32x4_t)__a;
15793 }
15794 
15795 __extension__ extern __inline float32x4_t
15796 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p16(poly16x8_t __a)15797 vreinterpretq_f32_p16 (poly16x8_t __a)
15798 {
15799   return (float32x4_t)__a;
15800 }
15801 
15802 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15803 __extension__ extern __inline float32x4_t
15804 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_f16(float16x8_t __a)15805 vreinterpretq_f32_f16 (float16x8_t __a)
15806 {
15807   return (float32x4_t) __a;
15808 }
15809 #endif
15810 
15811 #pragma GCC push_options
15812 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15813 __extension__ extern __inline float32x4_t
15814 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p64(poly64x2_t __a)15815 vreinterpretq_f32_p64 (poly64x2_t __a)
15816 {
15817   return (float32x4_t)__a;
15818 }
15819 
15820 __extension__ extern __inline float32x4_t
15821 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p128(poly128_t __a)15822 vreinterpretq_f32_p128 (poly128_t __a)
15823 {
15824   return (float32x4_t)__a;
15825 }
15826 
15827 #pragma GCC pop_options
15828 __extension__ extern __inline float32x4_t
15829 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s64(int64x2_t __a)15830 vreinterpretq_f32_s64 (int64x2_t __a)
15831 {
15832   return (float32x4_t)__a;
15833 }
15834 
15835 __extension__ extern __inline float32x4_t
15836 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u64(uint64x2_t __a)15837 vreinterpretq_f32_u64 (uint64x2_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_s8(int8x16_t __a)15844 vreinterpretq_f32_s8 (int8x16_t __a)
15845 {
15846   return (float32x4_t)__a;
15847 }
15848 
15849 __extension__ extern __inline float32x4_t
15850 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s16(int16x8_t __a)15851 vreinterpretq_f32_s16 (int16x8_t __a)
15852 {
15853   return (float32x4_t)__a;
15854 }
15855 
15856 __extension__ extern __inline float32x4_t
15857 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s32(int32x4_t __a)15858 vreinterpretq_f32_s32 (int32x4_t __a)
15859 {
15860   return (float32x4_t)__a;
15861 }
15862 
15863 __extension__ extern __inline float32x4_t
15864 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u8(uint8x16_t __a)15865 vreinterpretq_f32_u8 (uint8x16_t __a)
15866 {
15867   return (float32x4_t)__a;
15868 }
15869 
15870 __extension__ extern __inline float32x4_t
15871 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u16(uint16x8_t __a)15872 vreinterpretq_f32_u16 (uint16x8_t __a)
15873 {
15874   return (float32x4_t)__a;
15875 }
15876 
15877 __extension__ extern __inline float32x4_t
15878 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u32(uint32x4_t __a)15879 vreinterpretq_f32_u32 (uint32x4_t __a)
15880 {
15881   return (float32x4_t)__a;
15882 }
15883 
15884 #pragma GCC push_options
15885 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
15886 __extension__ extern __inline poly64x2_t
15887 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_p8(poly8x16_t __a)15888 vreinterpretq_p64_p8 (poly8x16_t __a)
15889 {
15890   return (poly64x2_t)__a;
15891 }
15892 
15893 __extension__ extern __inline poly64x2_t
15894 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_p16(poly16x8_t __a)15895 vreinterpretq_p64_p16 (poly16x8_t __a)
15896 {
15897   return (poly64x2_t)__a;
15898 }
15899 
15900 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15901 __extension__ extern __inline poly64x2_t
15902 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_f16(float16x8_t __a)15903 vreinterpretq_p64_f16 (float16x8_t __a)
15904 {
15905   return (poly64x2_t) __a;
15906 }
15907 #endif
15908 
15909 __extension__ extern __inline poly64x2_t
15910 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_f32(float32x4_t __a)15911 vreinterpretq_p64_f32 (float32x4_t __a)
15912 {
15913   return (poly64x2_t)__a;
15914 }
15915 
15916 __extension__ extern __inline poly64x2_t
15917 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_p128(poly128_t __a)15918 vreinterpretq_p64_p128 (poly128_t __a)
15919 {
15920   return (poly64x2_t)__a;
15921 }
15922 
15923 __extension__ extern __inline poly64x2_t
15924 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s64(int64x2_t __a)15925 vreinterpretq_p64_s64 (int64x2_t __a)
15926 {
15927   return (poly64x2_t)__a;
15928 }
15929 
15930 __extension__ extern __inline poly64x2_t
15931 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u64(uint64x2_t __a)15932 vreinterpretq_p64_u64 (uint64x2_t __a)
15933 {
15934   return (poly64x2_t)__a;
15935 }
15936 
15937 __extension__ extern __inline poly64x2_t
15938 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s8(int8x16_t __a)15939 vreinterpretq_p64_s8 (int8x16_t __a)
15940 {
15941   return (poly64x2_t)__a;
15942 }
15943 
15944 __extension__ extern __inline poly64x2_t
15945 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s16(int16x8_t __a)15946 vreinterpretq_p64_s16 (int16x8_t __a)
15947 {
15948   return (poly64x2_t)__a;
15949 }
15950 
15951 __extension__ extern __inline poly64x2_t
15952 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s32(int32x4_t __a)15953 vreinterpretq_p64_s32 (int32x4_t __a)
15954 {
15955   return (poly64x2_t)__a;
15956 }
15957 
15958 __extension__ extern __inline poly64x2_t
15959 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u8(uint8x16_t __a)15960 vreinterpretq_p64_u8 (uint8x16_t __a)
15961 {
15962   return (poly64x2_t)__a;
15963 }
15964 
15965 __extension__ extern __inline poly64x2_t
15966 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u16(uint16x8_t __a)15967 vreinterpretq_p64_u16 (uint16x8_t __a)
15968 {
15969   return (poly64x2_t)__a;
15970 }
15971 
15972 __extension__ extern __inline poly64x2_t
15973 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u32(uint32x4_t __a)15974 vreinterpretq_p64_u32 (uint32x4_t __a)
15975 {
15976   return (poly64x2_t)__a;
15977 }
15978 
15979 __extension__ extern __inline poly128_t
15980 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_p8(poly8x16_t __a)15981 vreinterpretq_p128_p8 (poly8x16_t __a)
15982 {
15983   return (poly128_t)__a;
15984 }
15985 
15986 __extension__ extern __inline poly128_t
15987 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_p16(poly16x8_t __a)15988 vreinterpretq_p128_p16 (poly16x8_t __a)
15989 {
15990   return (poly128_t)__a;
15991 }
15992 
15993 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
15994 __extension__ extern __inline poly128_t
15995 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_f16(float16x8_t __a)15996 vreinterpretq_p128_f16 (float16x8_t __a)
15997 {
15998   return (poly128_t) __a;
15999 }
16000 #endif
16001 
16002 __extension__ extern __inline poly128_t
16003 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_f32(float32x4_t __a)16004 vreinterpretq_p128_f32 (float32x4_t __a)
16005 {
16006   return (poly128_t)__a;
16007 }
16008 
16009 __extension__ extern __inline poly128_t
16010 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_p64(poly64x2_t __a)16011 vreinterpretq_p128_p64 (poly64x2_t __a)
16012 {
16013   return (poly128_t)__a;
16014 }
16015 
16016 __extension__ extern __inline poly128_t
16017 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s64(int64x2_t __a)16018 vreinterpretq_p128_s64 (int64x2_t __a)
16019 {
16020   return (poly128_t)__a;
16021 }
16022 
16023 __extension__ extern __inline poly128_t
16024 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u64(uint64x2_t __a)16025 vreinterpretq_p128_u64 (uint64x2_t __a)
16026 {
16027   return (poly128_t)__a;
16028 }
16029 
16030 __extension__ extern __inline poly128_t
16031 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s8(int8x16_t __a)16032 vreinterpretq_p128_s8 (int8x16_t __a)
16033 {
16034   return (poly128_t)__a;
16035 }
16036 
16037 __extension__ extern __inline poly128_t
16038 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s16(int16x8_t __a)16039 vreinterpretq_p128_s16 (int16x8_t __a)
16040 {
16041   return (poly128_t)__a;
16042 }
16043 
16044 __extension__ extern __inline poly128_t
16045 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s32(int32x4_t __a)16046 vreinterpretq_p128_s32 (int32x4_t __a)
16047 {
16048   return (poly128_t)__a;
16049 }
16050 
16051 __extension__ extern __inline poly128_t
16052 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u8(uint8x16_t __a)16053 vreinterpretq_p128_u8 (uint8x16_t __a)
16054 {
16055   return (poly128_t)__a;
16056 }
16057 
16058 __extension__ extern __inline poly128_t
16059 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u16(uint16x8_t __a)16060 vreinterpretq_p128_u16 (uint16x8_t __a)
16061 {
16062   return (poly128_t)__a;
16063 }
16064 
16065 __extension__ extern __inline poly128_t
16066 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u32(uint32x4_t __a)16067 vreinterpretq_p128_u32 (uint32x4_t __a)
16068 {
16069   return (poly128_t)__a;
16070 }
16071 
16072 #pragma GCC pop_options
16073 __extension__ extern __inline int64x2_t
16074 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p8(poly8x16_t __a)16075 vreinterpretq_s64_p8 (poly8x16_t __a)
16076 {
16077   return (int64x2_t)__a;
16078 }
16079 
16080 __extension__ extern __inline int64x2_t
16081 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p16(poly16x8_t __a)16082 vreinterpretq_s64_p16 (poly16x8_t __a)
16083 {
16084   return (int64x2_t)__a;
16085 }
16086 
16087 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16088 __extension__ extern __inline int64x2_t
16089 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_f16(float16x8_t __a)16090 vreinterpretq_s64_f16 (float16x8_t __a)
16091 {
16092   return (int64x2_t) __a;
16093 }
16094 #endif
16095 
16096 __extension__ extern __inline int64x2_t
16097 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_f32(float32x4_t __a)16098 vreinterpretq_s64_f32 (float32x4_t __a)
16099 {
16100   return (int64x2_t)__a;
16101 }
16102 
16103 #pragma GCC push_options
16104 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16105 __extension__ extern __inline int64x2_t
16106 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p64(poly64x2_t __a)16107 vreinterpretq_s64_p64 (poly64x2_t __a)
16108 {
16109   return (int64x2_t)__a;
16110 }
16111 
16112 __extension__ extern __inline int64x2_t
16113 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p128(poly128_t __a)16114 vreinterpretq_s64_p128 (poly128_t __a)
16115 {
16116   return (int64x2_t)__a;
16117 }
16118 
16119 #pragma GCC pop_options
16120 __extension__ extern __inline int64x2_t
16121 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u64(uint64x2_t __a)16122 vreinterpretq_s64_u64 (uint64x2_t __a)
16123 {
16124   return (int64x2_t)__a;
16125 }
16126 
16127 __extension__ extern __inline int64x2_t
16128 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_s8(int8x16_t __a)16129 vreinterpretq_s64_s8 (int8x16_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_s16(int16x8_t __a)16136 vreinterpretq_s64_s16 (int16x8_t __a)
16137 {
16138   return (int64x2_t)__a;
16139 }
16140 
16141 __extension__ extern __inline int64x2_t
16142 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_s32(int32x4_t __a)16143 vreinterpretq_s64_s32 (int32x4_t __a)
16144 {
16145   return (int64x2_t)__a;
16146 }
16147 
16148 __extension__ extern __inline int64x2_t
16149 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u8(uint8x16_t __a)16150 vreinterpretq_s64_u8 (uint8x16_t __a)
16151 {
16152   return (int64x2_t)__a;
16153 }
16154 
16155 __extension__ extern __inline int64x2_t
16156 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u16(uint16x8_t __a)16157 vreinterpretq_s64_u16 (uint16x8_t __a)
16158 {
16159   return (int64x2_t)__a;
16160 }
16161 
16162 __extension__ extern __inline int64x2_t
16163 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u32(uint32x4_t __a)16164 vreinterpretq_s64_u32 (uint32x4_t __a)
16165 {
16166   return (int64x2_t)__a;
16167 }
16168 
16169 __extension__ extern __inline uint64x2_t
16170 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p8(poly8x16_t __a)16171 vreinterpretq_u64_p8 (poly8x16_t __a)
16172 {
16173   return (uint64x2_t)__a;
16174 }
16175 
16176 __extension__ extern __inline uint64x2_t
16177 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p16(poly16x8_t __a)16178 vreinterpretq_u64_p16 (poly16x8_t __a)
16179 {
16180   return (uint64x2_t)__a;
16181 }
16182 
16183 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16184 __extension__ extern __inline uint64x2_t
16185 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_f16(float16x8_t __a)16186 vreinterpretq_u64_f16 (float16x8_t __a)
16187 {
16188   return (uint64x2_t) __a;
16189 }
16190 #endif
16191 
16192 __extension__ extern __inline uint64x2_t
16193 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_f32(float32x4_t __a)16194 vreinterpretq_u64_f32 (float32x4_t __a)
16195 {
16196   return (uint64x2_t)__a;
16197 }
16198 
16199 #pragma GCC push_options
16200 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16201 __extension__ extern __inline uint64x2_t
16202 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p64(poly64x2_t __a)16203 vreinterpretq_u64_p64 (poly64x2_t __a)
16204 {
16205   return (uint64x2_t)__a;
16206 }
16207 
16208 __extension__ extern __inline uint64x2_t
16209 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p128(poly128_t __a)16210 vreinterpretq_u64_p128 (poly128_t __a)
16211 {
16212   return (uint64x2_t)__a;
16213 }
16214 
16215 #pragma GCC pop_options
16216 __extension__ extern __inline uint64x2_t
16217 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s64(int64x2_t __a)16218 vreinterpretq_u64_s64 (int64x2_t __a)
16219 {
16220   return (uint64x2_t)__a;
16221 }
16222 
16223 __extension__ extern __inline uint64x2_t
16224 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s8(int8x16_t __a)16225 vreinterpretq_u64_s8 (int8x16_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_s16(int16x8_t __a)16232 vreinterpretq_u64_s16 (int16x8_t __a)
16233 {
16234   return (uint64x2_t)__a;
16235 }
16236 
16237 __extension__ extern __inline uint64x2_t
16238 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s32(int32x4_t __a)16239 vreinterpretq_u64_s32 (int32x4_t __a)
16240 {
16241   return (uint64x2_t)__a;
16242 }
16243 
16244 __extension__ extern __inline uint64x2_t
16245 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_u8(uint8x16_t __a)16246 vreinterpretq_u64_u8 (uint8x16_t __a)
16247 {
16248   return (uint64x2_t)__a;
16249 }
16250 
16251 __extension__ extern __inline uint64x2_t
16252 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_u16(uint16x8_t __a)16253 vreinterpretq_u64_u16 (uint16x8_t __a)
16254 {
16255   return (uint64x2_t)__a;
16256 }
16257 
16258 __extension__ extern __inline uint64x2_t
16259 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_u32(uint32x4_t __a)16260 vreinterpretq_u64_u32 (uint32x4_t __a)
16261 {
16262   return (uint64x2_t)__a;
16263 }
16264 
16265 __extension__ extern __inline int8x16_t
16266 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p8(poly8x16_t __a)16267 vreinterpretq_s8_p8 (poly8x16_t __a)
16268 {
16269   return (int8x16_t)__a;
16270 }
16271 
16272 __extension__ extern __inline int8x16_t
16273 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p16(poly16x8_t __a)16274 vreinterpretq_s8_p16 (poly16x8_t __a)
16275 {
16276   return (int8x16_t)__a;
16277 }
16278 
16279 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16280 __extension__ extern __inline int8x16_t
16281 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_f16(float16x8_t __a)16282 vreinterpretq_s8_f16 (float16x8_t __a)
16283 {
16284   return (int8x16_t) __a;
16285 }
16286 #endif
16287 
16288 __extension__ extern __inline int8x16_t
16289 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_f32(float32x4_t __a)16290 vreinterpretq_s8_f32 (float32x4_t __a)
16291 {
16292   return (int8x16_t)__a;
16293 }
16294 
16295 #pragma GCC push_options
16296 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16297 __extension__ extern __inline int8x16_t
16298 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p64(poly64x2_t __a)16299 vreinterpretq_s8_p64 (poly64x2_t __a)
16300 {
16301   return (int8x16_t)__a;
16302 }
16303 
16304 __extension__ extern __inline int8x16_t
16305 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p128(poly128_t __a)16306 vreinterpretq_s8_p128 (poly128_t __a)
16307 {
16308   return (int8x16_t)__a;
16309 }
16310 
16311 #pragma GCC pop_options
16312 __extension__ extern __inline int8x16_t
16313 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_s64(int64x2_t __a)16314 vreinterpretq_s8_s64 (int64x2_t __a)
16315 {
16316   return (int8x16_t)__a;
16317 }
16318 
16319 __extension__ extern __inline int8x16_t
16320 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u64(uint64x2_t __a)16321 vreinterpretq_s8_u64 (uint64x2_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_s16(int16x8_t __a)16328 vreinterpretq_s8_s16 (int16x8_t __a)
16329 {
16330   return (int8x16_t)__a;
16331 }
16332 
16333 __extension__ extern __inline int8x16_t
16334 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_s32(int32x4_t __a)16335 vreinterpretq_s8_s32 (int32x4_t __a)
16336 {
16337   return (int8x16_t)__a;
16338 }
16339 
16340 __extension__ extern __inline int8x16_t
16341 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u8(uint8x16_t __a)16342 vreinterpretq_s8_u8 (uint8x16_t __a)
16343 {
16344   return (int8x16_t)__a;
16345 }
16346 
16347 __extension__ extern __inline int8x16_t
16348 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u16(uint16x8_t __a)16349 vreinterpretq_s8_u16 (uint16x8_t __a)
16350 {
16351   return (int8x16_t)__a;
16352 }
16353 
16354 __extension__ extern __inline int8x16_t
16355 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u32(uint32x4_t __a)16356 vreinterpretq_s8_u32 (uint32x4_t __a)
16357 {
16358   return (int8x16_t)__a;
16359 }
16360 
16361 __extension__ extern __inline int16x8_t
16362 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p8(poly8x16_t __a)16363 vreinterpretq_s16_p8 (poly8x16_t __a)
16364 {
16365   return (int16x8_t)__a;
16366 }
16367 
16368 __extension__ extern __inline int16x8_t
16369 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p16(poly16x8_t __a)16370 vreinterpretq_s16_p16 (poly16x8_t __a)
16371 {
16372   return (int16x8_t)__a;
16373 }
16374 
16375 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16376 __extension__ extern __inline int16x8_t
16377 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_f16(float16x8_t __a)16378 vreinterpretq_s16_f16 (float16x8_t __a)
16379 {
16380   return (int16x8_t) __a;
16381 }
16382 #endif
16383 
16384 __extension__ extern __inline int16x8_t
16385 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_f32(float32x4_t __a)16386 vreinterpretq_s16_f32 (float32x4_t __a)
16387 {
16388   return (int16x8_t)__a;
16389 }
16390 
16391 #pragma GCC push_options
16392 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16393 __extension__ extern __inline int16x8_t
16394 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p64(poly64x2_t __a)16395 vreinterpretq_s16_p64 (poly64x2_t __a)
16396 {
16397   return (int16x8_t)__a;
16398 }
16399 
16400 __extension__ extern __inline int16x8_t
16401 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p128(poly128_t __a)16402 vreinterpretq_s16_p128 (poly128_t __a)
16403 {
16404   return (int16x8_t)__a;
16405 }
16406 
16407 #pragma GCC pop_options
16408 __extension__ extern __inline int16x8_t
16409 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_s64(int64x2_t __a)16410 vreinterpretq_s16_s64 (int64x2_t __a)
16411 {
16412   return (int16x8_t)__a;
16413 }
16414 
16415 __extension__ extern __inline int16x8_t
16416 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u64(uint64x2_t __a)16417 vreinterpretq_s16_u64 (uint64x2_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_s8(int8x16_t __a)16424 vreinterpretq_s16_s8 (int8x16_t __a)
16425 {
16426   return (int16x8_t)__a;
16427 }
16428 
16429 __extension__ extern __inline int16x8_t
16430 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_s32(int32x4_t __a)16431 vreinterpretq_s16_s32 (int32x4_t __a)
16432 {
16433   return (int16x8_t)__a;
16434 }
16435 
16436 __extension__ extern __inline int16x8_t
16437 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u8(uint8x16_t __a)16438 vreinterpretq_s16_u8 (uint8x16_t __a)
16439 {
16440   return (int16x8_t)__a;
16441 }
16442 
16443 __extension__ extern __inline int16x8_t
16444 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u16(uint16x8_t __a)16445 vreinterpretq_s16_u16 (uint16x8_t __a)
16446 {
16447   return (int16x8_t)__a;
16448 }
16449 
16450 __extension__ extern __inline int16x8_t
16451 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u32(uint32x4_t __a)16452 vreinterpretq_s16_u32 (uint32x4_t __a)
16453 {
16454   return (int16x8_t)__a;
16455 }
16456 
16457 __extension__ extern __inline int32x4_t
16458 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p8(poly8x16_t __a)16459 vreinterpretq_s32_p8 (poly8x16_t __a)
16460 {
16461   return (int32x4_t)__a;
16462 }
16463 
16464 __extension__ extern __inline int32x4_t
16465 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p16(poly16x8_t __a)16466 vreinterpretq_s32_p16 (poly16x8_t __a)
16467 {
16468   return (int32x4_t)__a;
16469 }
16470 
16471 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16472 __extension__ extern __inline int32x4_t
16473 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_f16(float16x8_t __a)16474 vreinterpretq_s32_f16 (float16x8_t __a)
16475 {
16476   return (int32x4_t)__a;
16477 }
16478 #endif
16479 
16480 __extension__ extern __inline int32x4_t
16481 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_f32(float32x4_t __a)16482 vreinterpretq_s32_f32 (float32x4_t __a)
16483 {
16484   return (int32x4_t)__a;
16485 }
16486 
16487 #pragma GCC push_options
16488 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16489 __extension__ extern __inline int32x4_t
16490 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p64(poly64x2_t __a)16491 vreinterpretq_s32_p64 (poly64x2_t __a)
16492 {
16493   return (int32x4_t)__a;
16494 }
16495 
16496 __extension__ extern __inline int32x4_t
16497 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p128(poly128_t __a)16498 vreinterpretq_s32_p128 (poly128_t __a)
16499 {
16500   return (int32x4_t)__a;
16501 }
16502 
16503 #pragma GCC pop_options
16504 __extension__ extern __inline int32x4_t
16505 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_s64(int64x2_t __a)16506 vreinterpretq_s32_s64 (int64x2_t __a)
16507 {
16508   return (int32x4_t)__a;
16509 }
16510 
16511 __extension__ extern __inline int32x4_t
16512 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u64(uint64x2_t __a)16513 vreinterpretq_s32_u64 (uint64x2_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_s8(int8x16_t __a)16520 vreinterpretq_s32_s8 (int8x16_t __a)
16521 {
16522   return (int32x4_t)__a;
16523 }
16524 
16525 __extension__ extern __inline int32x4_t
16526 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_s16(int16x8_t __a)16527 vreinterpretq_s32_s16 (int16x8_t __a)
16528 {
16529   return (int32x4_t)__a;
16530 }
16531 
16532 __extension__ extern __inline int32x4_t
16533 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u8(uint8x16_t __a)16534 vreinterpretq_s32_u8 (uint8x16_t __a)
16535 {
16536   return (int32x4_t)__a;
16537 }
16538 
16539 __extension__ extern __inline int32x4_t
16540 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u16(uint16x8_t __a)16541 vreinterpretq_s32_u16 (uint16x8_t __a)
16542 {
16543   return (int32x4_t)__a;
16544 }
16545 
16546 __extension__ extern __inline int32x4_t
16547 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u32(uint32x4_t __a)16548 vreinterpretq_s32_u32 (uint32x4_t __a)
16549 {
16550   return (int32x4_t)__a;
16551 }
16552 
16553 __extension__ extern __inline uint8x16_t
16554 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p8(poly8x16_t __a)16555 vreinterpretq_u8_p8 (poly8x16_t __a)
16556 {
16557   return (uint8x16_t)__a;
16558 }
16559 
16560 __extension__ extern __inline uint8x16_t
16561 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p16(poly16x8_t __a)16562 vreinterpretq_u8_p16 (poly16x8_t __a)
16563 {
16564   return (uint8x16_t)__a;
16565 }
16566 
16567 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16568 __extension__ extern __inline uint8x16_t
16569 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_f16(float16x8_t __a)16570 vreinterpretq_u8_f16 (float16x8_t __a)
16571 {
16572   return (uint8x16_t) __a;
16573 }
16574 #endif
16575 
16576 __extension__ extern __inline uint8x16_t
16577 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_f32(float32x4_t __a)16578 vreinterpretq_u8_f32 (float32x4_t __a)
16579 {
16580   return (uint8x16_t)__a;
16581 }
16582 
16583 #pragma GCC push_options
16584 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16585 __extension__ extern __inline uint8x16_t
16586 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p64(poly64x2_t __a)16587 vreinterpretq_u8_p64 (poly64x2_t __a)
16588 {
16589   return (uint8x16_t)__a;
16590 }
16591 
16592 __extension__ extern __inline uint8x16_t
16593 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p128(poly128_t __a)16594 vreinterpretq_u8_p128 (poly128_t __a)
16595 {
16596   return (uint8x16_t)__a;
16597 }
16598 
16599 #pragma GCC pop_options
16600 __extension__ extern __inline uint8x16_t
16601 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s64(int64x2_t __a)16602 vreinterpretq_u8_s64 (int64x2_t __a)
16603 {
16604   return (uint8x16_t)__a;
16605 }
16606 
16607 __extension__ extern __inline uint8x16_t
16608 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_u64(uint64x2_t __a)16609 vreinterpretq_u8_u64 (uint64x2_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_s8(int8x16_t __a)16616 vreinterpretq_u8_s8 (int8x16_t __a)
16617 {
16618   return (uint8x16_t)__a;
16619 }
16620 
16621 __extension__ extern __inline uint8x16_t
16622 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s16(int16x8_t __a)16623 vreinterpretq_u8_s16 (int16x8_t __a)
16624 {
16625   return (uint8x16_t)__a;
16626 }
16627 
16628 __extension__ extern __inline uint8x16_t
16629 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s32(int32x4_t __a)16630 vreinterpretq_u8_s32 (int32x4_t __a)
16631 {
16632   return (uint8x16_t)__a;
16633 }
16634 
16635 __extension__ extern __inline uint8x16_t
16636 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_u16(uint16x8_t __a)16637 vreinterpretq_u8_u16 (uint16x8_t __a)
16638 {
16639   return (uint8x16_t)__a;
16640 }
16641 
16642 __extension__ extern __inline uint8x16_t
16643 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_u32(uint32x4_t __a)16644 vreinterpretq_u8_u32 (uint32x4_t __a)
16645 {
16646   return (uint8x16_t)__a;
16647 }
16648 
16649 __extension__ extern __inline uint16x8_t
16650 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p8(poly8x16_t __a)16651 vreinterpretq_u16_p8 (poly8x16_t __a)
16652 {
16653   return (uint16x8_t)__a;
16654 }
16655 
16656 __extension__ extern __inline uint16x8_t
16657 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p16(poly16x8_t __a)16658 vreinterpretq_u16_p16 (poly16x8_t __a)
16659 {
16660   return (uint16x8_t)__a;
16661 }
16662 
16663 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16664 __extension__ extern __inline uint16x8_t
16665 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_f16(float16x8_t __a)16666 vreinterpretq_u16_f16 (float16x8_t __a)
16667 {
16668   return (uint16x8_t) __a;
16669 }
16670 #endif
16671 
16672 __extension__ extern __inline uint16x8_t
16673 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_f32(float32x4_t __a)16674 vreinterpretq_u16_f32 (float32x4_t __a)
16675 {
16676   return (uint16x8_t)__a;
16677 }
16678 
16679 #pragma GCC push_options
16680 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16681 __extension__ extern __inline uint16x8_t
16682 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p64(poly64x2_t __a)16683 vreinterpretq_u16_p64 (poly64x2_t __a)
16684 {
16685   return (uint16x8_t)__a;
16686 }
16687 
16688 __extension__ extern __inline uint16x8_t
16689 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p128(poly128_t __a)16690 vreinterpretq_u16_p128 (poly128_t __a)
16691 {
16692   return (uint16x8_t)__a;
16693 }
16694 
16695 #pragma GCC pop_options
16696 __extension__ extern __inline uint16x8_t
16697 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s64(int64x2_t __a)16698 vreinterpretq_u16_s64 (int64x2_t __a)
16699 {
16700   return (uint16x8_t)__a;
16701 }
16702 
16703 __extension__ extern __inline uint16x8_t
16704 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_u64(uint64x2_t __a)16705 vreinterpretq_u16_u64 (uint64x2_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_s8(int8x16_t __a)16712 vreinterpretq_u16_s8 (int8x16_t __a)
16713 {
16714   return (uint16x8_t)__a;
16715 }
16716 
16717 __extension__ extern __inline uint16x8_t
16718 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s16(int16x8_t __a)16719 vreinterpretq_u16_s16 (int16x8_t __a)
16720 {
16721   return (uint16x8_t)__a;
16722 }
16723 
16724 __extension__ extern __inline uint16x8_t
16725 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s32(int32x4_t __a)16726 vreinterpretq_u16_s32 (int32x4_t __a)
16727 {
16728   return (uint16x8_t)__a;
16729 }
16730 
16731 __extension__ extern __inline uint16x8_t
16732 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_u8(uint8x16_t __a)16733 vreinterpretq_u16_u8 (uint8x16_t __a)
16734 {
16735   return (uint16x8_t)__a;
16736 }
16737 
16738 __extension__ extern __inline uint16x8_t
16739 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_u32(uint32x4_t __a)16740 vreinterpretq_u16_u32 (uint32x4_t __a)
16741 {
16742   return (uint16x8_t)__a;
16743 }
16744 
16745 __extension__ extern __inline uint32x4_t
16746 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p8(poly8x16_t __a)16747 vreinterpretq_u32_p8 (poly8x16_t __a)
16748 {
16749   return (uint32x4_t)__a;
16750 }
16751 
16752 __extension__ extern __inline uint32x4_t
16753 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p16(poly16x8_t __a)16754 vreinterpretq_u32_p16 (poly16x8_t __a)
16755 {
16756   return (uint32x4_t)__a;
16757 }
16758 
16759 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
16760 __extension__ extern __inline uint32x4_t
16761 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_f16(float16x8_t __a)16762 vreinterpretq_u32_f16 (float16x8_t __a)
16763 {
16764   return (uint32x4_t) __a;
16765 }
16766 #endif
16767 
16768 __extension__ extern __inline uint32x4_t
16769 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_f32(float32x4_t __a)16770 vreinterpretq_u32_f32 (float32x4_t __a)
16771 {
16772   return (uint32x4_t)__a;
16773 }
16774 
16775 #pragma GCC push_options
16776 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16777 __extension__ extern __inline uint32x4_t
16778 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p64(poly64x2_t __a)16779 vreinterpretq_u32_p64 (poly64x2_t __a)
16780 {
16781   return (uint32x4_t)__a;
16782 }
16783 
16784 __extension__ extern __inline uint32x4_t
16785 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p128(poly128_t __a)16786 vreinterpretq_u32_p128 (poly128_t __a)
16787 {
16788   return (uint32x4_t)__a;
16789 }
16790 
16791 #pragma GCC pop_options
16792 __extension__ extern __inline uint32x4_t
16793 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s64(int64x2_t __a)16794 vreinterpretq_u32_s64 (int64x2_t __a)
16795 {
16796   return (uint32x4_t)__a;
16797 }
16798 
16799 __extension__ extern __inline uint32x4_t
16800 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_u64(uint64x2_t __a)16801 vreinterpretq_u32_u64 (uint64x2_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_s8(int8x16_t __a)16808 vreinterpretq_u32_s8 (int8x16_t __a)
16809 {
16810   return (uint32x4_t)__a;
16811 }
16812 
16813 __extension__ extern __inline uint32x4_t
16814 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s16(int16x8_t __a)16815 vreinterpretq_u32_s16 (int16x8_t __a)
16816 {
16817   return (uint32x4_t)__a;
16818 }
16819 
16820 __extension__ extern __inline uint32x4_t
16821 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s32(int32x4_t __a)16822 vreinterpretq_u32_s32 (int32x4_t __a)
16823 {
16824   return (uint32x4_t)__a;
16825 }
16826 
16827 __extension__ extern __inline uint32x4_t
16828 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_u8(uint8x16_t __a)16829 vreinterpretq_u32_u8 (uint8x16_t __a)
16830 {
16831   return (uint32x4_t)__a;
16832 }
16833 
16834 __extension__ extern __inline uint32x4_t
16835 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_u16(uint16x8_t __a)16836 vreinterpretq_u32_u16 (uint16x8_t __a)
16837 {
16838   return (uint32x4_t)__a;
16839 }
16840 
16841 
16842 #pragma GCC push_options
16843 #pragma GCC target ("fpu=crypto-neon-fp-armv8")
16844 __extension__ extern __inline poly128_t
16845 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vldrq_p128(poly128_t const * __ptr)16846 vldrq_p128 (poly128_t const * __ptr)
16847 {
16848 #ifdef __ARM_BIG_ENDIAN
16849   poly64_t* __ptmp = (poly64_t*) __ptr;
16850   poly64_t __d0 = vld1_p64 (__ptmp);
16851   poly64_t __d1 = vld1_p64 (__ptmp + 1);
16852   return vreinterpretq_p128_p64 (vcombine_p64 (__d1, __d0));
16853 #else
16854   return vreinterpretq_p128_p64 (vld1q_p64 ((poly64_t*) __ptr));
16855 #endif
16856 }
16857 
16858 __extension__ extern __inline void
16859 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vstrq_p128(poly128_t * __ptr,poly128_t __val)16860 vstrq_p128 (poly128_t * __ptr, poly128_t __val)
16861 {
16862 #ifdef __ARM_BIG_ENDIAN
16863   poly64x2_t __tmp = vreinterpretq_p64_p128 (__val);
16864   poly64_t __d0 = vget_high_p64 (__tmp);
16865   poly64_t __d1 = vget_low_p64 (__tmp);
16866   vst1q_p64 ((poly64_t*) __ptr, vcombine_p64 (__d0, __d1));
16867 #else
16868   vst1q_p64 ((poly64_t*) __ptr, vreinterpretq_p64_p128 (__val));
16869 #endif
16870 }
16871 
16872 /* The vceq_p64 intrinsic does not map to a single instruction.
16873    Instead we emulate it by performing a 32-bit variant of the vceq
16874    and applying a pairwise min reduction to the result.
16875    vceq_u32 will produce two 32-bit halves, each of which will contain either
16876    all ones or all zeros depending on whether the corresponding 32-bit
16877    halves of the poly64_t were equal.  The whole poly64_t values are equal
16878    if and only if both halves are equal, i.e. vceq_u32 returns all ones.
16879    If the result is all zeroes for any half then the whole result is zeroes.
16880    This is what the pairwise min reduction achieves.  */
16881 
16882 __extension__ extern __inline uint64x1_t
16883 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_p64(poly64x1_t __a,poly64x1_t __b)16884 vceq_p64 (poly64x1_t __a, poly64x1_t __b)
16885 {
16886   uint32x2_t __t_a = vreinterpret_u32_p64 (__a);
16887   uint32x2_t __t_b = vreinterpret_u32_p64 (__b);
16888   uint32x2_t __c = vceq_u32 (__t_a, __t_b);
16889   uint32x2_t __m = vpmin_u32 (__c, __c);
16890   return vreinterpret_u64_u32 (__m);
16891 }
16892 
16893 /* The vtst_p64 intrinsic does not map to a single instruction.
16894    We emulate it in way similar to vceq_p64 above but here we do
16895    a reduction with max since if any two corresponding bits
16896    in the two poly64_t's match, then the whole result must be all ones.  */
16897 
16898 __extension__ extern __inline uint64x1_t
16899 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p64(poly64x1_t __a,poly64x1_t __b)16900 vtst_p64 (poly64x1_t __a, poly64x1_t __b)
16901 {
16902   uint32x2_t __t_a = vreinterpret_u32_p64 (__a);
16903   uint32x2_t __t_b = vreinterpret_u32_p64 (__b);
16904   uint32x2_t __c = vtst_u32 (__t_a, __t_b);
16905   uint32x2_t __m = vpmax_u32 (__c, __c);
16906   return vreinterpret_u64_u32 (__m);
16907 }
16908 
16909 __extension__ extern __inline uint8x16_t
16910 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaeseq_u8(uint8x16_t __data,uint8x16_t __key)16911 vaeseq_u8 (uint8x16_t __data, uint8x16_t __key)
16912 {
16913   return __builtin_arm_crypto_aese (__data, __key);
16914 }
16915 
16916 __extension__ extern __inline uint8x16_t
16917 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaesdq_u8(uint8x16_t __data,uint8x16_t __key)16918 vaesdq_u8 (uint8x16_t __data, uint8x16_t __key)
16919 {
16920   return __builtin_arm_crypto_aesd (__data, __key);
16921 }
16922 
16923 __extension__ extern __inline uint8x16_t
16924 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaesmcq_u8(uint8x16_t __data)16925 vaesmcq_u8 (uint8x16_t __data)
16926 {
16927   return __builtin_arm_crypto_aesmc (__data);
16928 }
16929 
16930 __extension__ extern __inline uint8x16_t
16931 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaesimcq_u8(uint8x16_t __data)16932 vaesimcq_u8 (uint8x16_t __data)
16933 {
16934   return __builtin_arm_crypto_aesimc (__data);
16935 }
16936 
16937 __extension__ extern __inline uint32_t
16938 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha1h_u32(uint32_t __hash_e)16939 vsha1h_u32 (uint32_t __hash_e)
16940 {
16941   uint32x4_t __t = vdupq_n_u32 (0);
16942   __t = vsetq_lane_u32 (__hash_e, __t, 0);
16943   __t = __builtin_arm_crypto_sha1h (__t);
16944   return vgetq_lane_u32 (__t, 0);
16945 }
16946 
16947 __extension__ extern __inline uint32x4_t
16948 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha1cq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)16949 vsha1cq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
16950 {
16951   uint32x4_t __t = vdupq_n_u32 (0);
16952   __t = vsetq_lane_u32 (__hash_e, __t, 0);
16953   return __builtin_arm_crypto_sha1c (__hash_abcd, __t, __wk);
16954 }
16955 
16956 __extension__ extern __inline uint32x4_t
16957 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha1pq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)16958 vsha1pq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
16959 {
16960   uint32x4_t __t = vdupq_n_u32 (0);
16961   __t = vsetq_lane_u32 (__hash_e, __t, 0);
16962   return __builtin_arm_crypto_sha1p (__hash_abcd, __t, __wk);
16963 }
16964 
16965 __extension__ extern __inline uint32x4_t
16966 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha1mq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)16967 vsha1mq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
16968 {
16969   uint32x4_t __t = vdupq_n_u32 (0);
16970   __t = vsetq_lane_u32 (__hash_e, __t, 0);
16971   return __builtin_arm_crypto_sha1m (__hash_abcd, __t, __wk);
16972 }
16973 
16974 __extension__ extern __inline uint32x4_t
16975 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha1su0q_u32(uint32x4_t __w0_3,uint32x4_t __w4_7,uint32x4_t __w8_11)16976 vsha1su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7, uint32x4_t __w8_11)
16977 {
16978   return __builtin_arm_crypto_sha1su0 (__w0_3, __w4_7, __w8_11);
16979 }
16980 
16981 __extension__ extern __inline uint32x4_t
16982 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha1su1q_u32(uint32x4_t __tw0_3,uint32x4_t __w12_15)16983 vsha1su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w12_15)
16984 {
16985   return __builtin_arm_crypto_sha1su1 (__tw0_3, __w12_15);
16986 }
16987 
16988 __extension__ extern __inline uint32x4_t
16989 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha256hq_u32(uint32x4_t __hash_abcd,uint32x4_t __hash_efgh,uint32x4_t __wk)16990 vsha256hq_u32 (uint32x4_t __hash_abcd, uint32x4_t __hash_efgh, uint32x4_t __wk)
16991 {
16992   return __builtin_arm_crypto_sha256h (__hash_abcd, __hash_efgh, __wk);
16993 }
16994 
16995 __extension__ extern __inline uint32x4_t
16996 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha256h2q_u32(uint32x4_t __hash_abcd,uint32x4_t __hash_efgh,uint32x4_t __wk)16997 vsha256h2q_u32 (uint32x4_t __hash_abcd, uint32x4_t __hash_efgh, uint32x4_t __wk)
16998 {
16999   return __builtin_arm_crypto_sha256h2 (__hash_abcd, __hash_efgh, __wk);
17000 }
17001 
17002 __extension__ extern __inline uint32x4_t
17003 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha256su0q_u32(uint32x4_t __w0_3,uint32x4_t __w4_7)17004 vsha256su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7)
17005 {
17006   return __builtin_arm_crypto_sha256su0 (__w0_3, __w4_7);
17007 }
17008 
17009 __extension__ extern __inline uint32x4_t
17010 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsha256su1q_u32(uint32x4_t __tw0_3,uint32x4_t __w8_11,uint32x4_t __w12_15)17011 vsha256su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w8_11, uint32x4_t __w12_15)
17012 {
17013   return __builtin_arm_crypto_sha256su1 (__tw0_3, __w8_11, __w12_15);
17014 }
17015 
17016 __extension__ extern __inline poly128_t
17017 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_p64(poly64_t __a,poly64_t __b)17018 vmull_p64 (poly64_t __a, poly64_t __b)
17019 {
17020   return (poly128_t) __builtin_arm_crypto_vmullp64 ((uint64_t) __a, (uint64_t) __b);
17021 }
17022 
17023 __extension__ extern __inline poly128_t
17024 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_p64(poly64x2_t __a,poly64x2_t __b)17025 vmull_high_p64 (poly64x2_t __a, poly64x2_t __b)
17026 {
17027   poly64_t __t1 = vget_high_p64 (__a);
17028   poly64_t __t2 = vget_high_p64 (__b);
17029 
17030   return (poly128_t) __builtin_arm_crypto_vmullp64 ((uint64_t) __t1, (uint64_t) __t2);
17031 }
17032 
17033 #pragma GCC pop_options
17034 
17035   /* Intrinsics for FP16 instructions.  */
17036 #pragma GCC push_options
17037 #pragma GCC target ("fpu=neon-fp-armv8")
17038 #if defined (__ARM_FEATURE_FP16_VECTOR_ARITHMETIC)
17039 
17040 __extension__ extern __inline float16x4_t
17041 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabd_f16(float16x4_t __a,float16x4_t __b)17042 vabd_f16 (float16x4_t __a, float16x4_t __b)
17043 {
17044   return __builtin_neon_vabdv4hf (__a, __b);
17045 }
17046 
17047 __extension__ extern __inline float16x8_t
17048 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_f16(float16x8_t __a,float16x8_t __b)17049 vabdq_f16 (float16x8_t __a, float16x8_t __b)
17050 {
17051   return __builtin_neon_vabdv8hf (__a, __b);
17052 }
17053 
17054 __extension__ extern __inline float16x4_t
17055 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabs_f16(float16x4_t __a)17056 vabs_f16 (float16x4_t __a)
17057 {
17058   return __builtin_neon_vabsv4hf (__a);
17059 }
17060 
17061 __extension__ extern __inline float16x8_t
17062 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_f16(float16x8_t __a)17063 vabsq_f16 (float16x8_t __a)
17064 {
17065   return __builtin_neon_vabsv8hf (__a);
17066 }
17067 
17068 __extension__ extern __inline float16x4_t
17069 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vadd_f16(float16x4_t __a,float16x4_t __b)17070 vadd_f16 (float16x4_t __a, float16x4_t __b)
17071 {
17072 #ifdef __FAST_MATH__
17073   return __a + __b;
17074 #else
17075   return __builtin_neon_vaddv4hf (__a, __b);
17076 #endif
17077 }
17078 
17079 __extension__ extern __inline float16x8_t
17080 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_f16(float16x8_t __a,float16x8_t __b)17081 vaddq_f16 (float16x8_t __a, float16x8_t __b)
17082 {
17083 #ifdef __FAST_MATH__
17084   return __a + __b;
17085 #else
17086   return __builtin_neon_vaddv8hf (__a, __b);
17087 #endif
17088 }
17089 
17090 __extension__ extern __inline uint16x4_t
17091 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcage_f16(float16x4_t __a,float16x4_t __b)17092 vcage_f16 (float16x4_t __a, float16x4_t __b)
17093 {
17094   return (uint16x4_t)__builtin_neon_vcagev4hf (__a, __b);
17095 }
17096 
17097 __extension__ extern __inline uint16x8_t
17098 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcageq_f16(float16x8_t __a,float16x8_t __b)17099 vcageq_f16 (float16x8_t __a, float16x8_t __b)
17100 {
17101   return (uint16x8_t)__builtin_neon_vcagev8hf (__a, __b);
17102 }
17103 
17104 __extension__ extern __inline uint16x4_t
17105 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcagt_f16(float16x4_t __a,float16x4_t __b)17106 vcagt_f16 (float16x4_t __a, float16x4_t __b)
17107 {
17108   return (uint16x4_t)__builtin_neon_vcagtv4hf (__a, __b);
17109 }
17110 
17111 __extension__ extern __inline uint16x8_t
17112 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcagtq_f16(float16x8_t __a,float16x8_t __b)17113 vcagtq_f16 (float16x8_t __a, float16x8_t __b)
17114 {
17115   return (uint16x8_t)__builtin_neon_vcagtv8hf (__a, __b);
17116 }
17117 
17118 __extension__ extern __inline uint16x4_t
17119 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcale_f16(float16x4_t __a,float16x4_t __b)17120 vcale_f16 (float16x4_t __a, float16x4_t __b)
17121 {
17122   return (uint16x4_t)__builtin_neon_vcalev4hf (__a, __b);
17123 }
17124 
17125 __extension__ extern __inline uint16x8_t
17126 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcaleq_f16(float16x8_t __a,float16x8_t __b)17127 vcaleq_f16 (float16x8_t __a, float16x8_t __b)
17128 {
17129   return (uint16x8_t)__builtin_neon_vcalev8hf (__a, __b);
17130 }
17131 
17132 __extension__ extern __inline uint16x4_t
17133 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcalt_f16(float16x4_t __a,float16x4_t __b)17134 vcalt_f16 (float16x4_t __a, float16x4_t __b)
17135 {
17136   return (uint16x4_t)__builtin_neon_vcaltv4hf (__a, __b);
17137 }
17138 
17139 __extension__ extern __inline uint16x8_t
17140 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcaltq_f16(float16x8_t __a,float16x8_t __b)17141 vcaltq_f16 (float16x8_t __a, float16x8_t __b)
17142 {
17143   return (uint16x8_t)__builtin_neon_vcaltv8hf (__a, __b);
17144 }
17145 
17146 __extension__ extern __inline uint16x4_t
17147 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceq_f16(float16x4_t __a,float16x4_t __b)17148 vceq_f16 (float16x4_t __a, float16x4_t __b)
17149 {
17150   return (uint16x4_t)__builtin_neon_vceqv4hf (__a, __b);
17151 }
17152 
17153 __extension__ extern __inline uint16x8_t
17154 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_f16(float16x8_t __a,float16x8_t __b)17155 vceqq_f16 (float16x8_t __a, float16x8_t __b)
17156 {
17157   return (uint16x8_t)__builtin_neon_vceqv8hf (__a, __b);
17158 }
17159 
17160 __extension__ extern __inline uint16x4_t
17161 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_f16(float16x4_t __a)17162 vceqz_f16 (float16x4_t __a)
17163 {
17164   return (uint16x4_t)__builtin_neon_vceqzv4hf (__a);
17165 }
17166 
17167 __extension__ extern __inline uint16x8_t
17168 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_f16(float16x8_t __a)17169 vceqzq_f16 (float16x8_t __a)
17170 {
17171   return (uint16x8_t)__builtin_neon_vceqzv8hf (__a);
17172 }
17173 
17174 __extension__ extern __inline uint16x4_t
17175 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcge_f16(float16x4_t __a,float16x4_t __b)17176 vcge_f16 (float16x4_t __a, float16x4_t __b)
17177 {
17178   return (uint16x4_t)__builtin_neon_vcgev4hf (__a, __b);
17179 }
17180 
17181 __extension__ extern __inline uint16x8_t
17182 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_f16(float16x8_t __a,float16x8_t __b)17183 vcgeq_f16 (float16x8_t __a, float16x8_t __b)
17184 {
17185   return (uint16x8_t)__builtin_neon_vcgev8hf (__a, __b);
17186 }
17187 
17188 __extension__ extern __inline uint16x4_t
17189 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_f16(float16x4_t __a)17190 vcgez_f16 (float16x4_t __a)
17191 {
17192   return (uint16x4_t)__builtin_neon_vcgezv4hf (__a);
17193 }
17194 
17195 __extension__ extern __inline uint16x8_t
17196 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_f16(float16x8_t __a)17197 vcgezq_f16 (float16x8_t __a)
17198 {
17199   return (uint16x8_t)__builtin_neon_vcgezv8hf (__a);
17200 }
17201 
17202 __extension__ extern __inline uint16x4_t
17203 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_f16(float16x4_t __a,float16x4_t __b)17204 vcgt_f16 (float16x4_t __a, float16x4_t __b)
17205 {
17206   return (uint16x4_t)__builtin_neon_vcgtv4hf (__a, __b);
17207 }
17208 
17209 __extension__ extern __inline uint16x8_t
17210 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_f16(float16x8_t __a,float16x8_t __b)17211 vcgtq_f16 (float16x8_t __a, float16x8_t __b)
17212 {
17213   return (uint16x8_t)__builtin_neon_vcgtv8hf (__a, __b);
17214 }
17215 
17216 __extension__ extern __inline uint16x4_t
17217 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_f16(float16x4_t __a)17218 vcgtz_f16 (float16x4_t __a)
17219 {
17220   return (uint16x4_t)__builtin_neon_vcgtzv4hf (__a);
17221 }
17222 
17223 __extension__ extern __inline uint16x8_t
17224 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_f16(float16x8_t __a)17225 vcgtzq_f16 (float16x8_t __a)
17226 {
17227   return (uint16x8_t)__builtin_neon_vcgtzv8hf (__a);
17228 }
17229 
17230 __extension__ extern __inline uint16x4_t
17231 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcle_f16(float16x4_t __a,float16x4_t __b)17232 vcle_f16 (float16x4_t __a, float16x4_t __b)
17233 {
17234   return (uint16x4_t)__builtin_neon_vclev4hf (__a, __b);
17235 }
17236 
17237 __extension__ extern __inline uint16x8_t
17238 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_f16(float16x8_t __a,float16x8_t __b)17239 vcleq_f16 (float16x8_t __a, float16x8_t __b)
17240 {
17241   return (uint16x8_t)__builtin_neon_vclev8hf (__a, __b);
17242 }
17243 
17244 __extension__ extern __inline uint16x4_t
17245 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclez_f16(float16x4_t __a)17246 vclez_f16 (float16x4_t __a)
17247 {
17248   return (uint16x4_t)__builtin_neon_vclezv4hf (__a);
17249 }
17250 
17251 __extension__ extern __inline uint16x8_t
17252 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_f16(float16x8_t __a)17253 vclezq_f16 (float16x8_t __a)
17254 {
17255   return (uint16x8_t)__builtin_neon_vclezv8hf (__a);
17256 }
17257 
17258 __extension__ extern __inline uint16x4_t
17259 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vclt_f16(float16x4_t __a,float16x4_t __b)17260 vclt_f16 (float16x4_t __a, float16x4_t __b)
17261 {
17262   return (uint16x4_t)__builtin_neon_vcltv4hf (__a, __b);
17263 }
17264 
17265 __extension__ extern __inline uint16x8_t
17266 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_f16(float16x8_t __a,float16x8_t __b)17267 vcltq_f16 (float16x8_t __a, float16x8_t __b)
17268 {
17269   return (uint16x8_t)__builtin_neon_vcltv8hf (__a, __b);
17270 }
17271 
17272 __extension__ extern __inline uint16x4_t
17273 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_f16(float16x4_t __a)17274 vcltz_f16 (float16x4_t __a)
17275 {
17276   return (uint16x4_t)__builtin_neon_vcltzv4hf (__a);
17277 }
17278 
17279 __extension__ extern __inline uint16x8_t
17280 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_f16(float16x8_t __a)17281 vcltzq_f16 (float16x8_t __a)
17282 {
17283   return (uint16x8_t)__builtin_neon_vcltzv8hf (__a);
17284 }
17285 
17286 __extension__ extern __inline float16x4_t
17287 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_s16(int16x4_t __a)17288 vcvt_f16_s16 (int16x4_t __a)
17289 {
17290   return (float16x4_t)__builtin_neon_vcvtsv4hi (__a);
17291 }
17292 
17293 __extension__ extern __inline float16x4_t
17294 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_u16(uint16x4_t __a)17295 vcvt_f16_u16 (uint16x4_t __a)
17296 {
17297   return (float16x4_t)__builtin_neon_vcvtuv4hi ((int16x4_t)__a);
17298 }
17299 
17300 __extension__ extern __inline int16x4_t
17301 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_s16_f16(float16x4_t __a)17302 vcvt_s16_f16 (float16x4_t __a)
17303 {
17304   return (int16x4_t)__builtin_neon_vcvtsv4hf (__a);
17305 }
17306 
17307 __extension__ extern __inline uint16x4_t
17308 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_u16_f16(float16x4_t __a)17309 vcvt_u16_f16 (float16x4_t __a)
17310 {
17311   return (uint16x4_t)__builtin_neon_vcvtuv4hf (__a);
17312 }
17313 
17314 __extension__ extern __inline float16x8_t
17315 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f16_s16(int16x8_t __a)17316 vcvtq_f16_s16 (int16x8_t __a)
17317 {
17318   return (float16x8_t)__builtin_neon_vcvtsv8hi (__a);
17319 }
17320 
17321 __extension__ extern __inline float16x8_t
17322 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f16_u16(uint16x8_t __a)17323 vcvtq_f16_u16 (uint16x8_t __a)
17324 {
17325   return (float16x8_t)__builtin_neon_vcvtuv8hi ((int16x8_t)__a);
17326 }
17327 
17328 __extension__ extern __inline int16x8_t
17329 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_s16_f16(float16x8_t __a)17330 vcvtq_s16_f16 (float16x8_t __a)
17331 {
17332   return (int16x8_t)__builtin_neon_vcvtsv8hf (__a);
17333 }
17334 
17335 __extension__ extern __inline uint16x8_t
17336 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_u16_f16(float16x8_t __a)17337 vcvtq_u16_f16 (float16x8_t __a)
17338 {
17339   return (uint16x8_t)__builtin_neon_vcvtuv8hf (__a);
17340 }
17341 
17342 __extension__ extern __inline int16x4_t
17343 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_s16_f16(float16x4_t __a)17344 vcvta_s16_f16 (float16x4_t __a)
17345 {
17346   return __builtin_neon_vcvtasv4hf (__a);
17347 }
17348 
17349 __extension__ extern __inline uint16x4_t
17350 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_u16_f16(float16x4_t __a)17351 vcvta_u16_f16 (float16x4_t __a)
17352 {
17353   return (uint16x4_t)__builtin_neon_vcvtauv4hf (__a);
17354 }
17355 
17356 __extension__ extern __inline int16x8_t
17357 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_s16_f16(float16x8_t __a)17358 vcvtaq_s16_f16 (float16x8_t __a)
17359 {
17360   return __builtin_neon_vcvtasv8hf (__a);
17361 }
17362 
17363 __extension__ extern __inline uint16x8_t
17364 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_u16_f16(float16x8_t __a)17365 vcvtaq_u16_f16 (float16x8_t __a)
17366 {
17367   return (uint16x8_t)__builtin_neon_vcvtauv8hf (__a);
17368 }
17369 
17370 __extension__ extern __inline int16x4_t
17371 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_s16_f16(float16x4_t __a)17372 vcvtm_s16_f16 (float16x4_t __a)
17373 {
17374   return __builtin_neon_vcvtmsv4hf (__a);
17375 }
17376 
17377 __extension__ extern __inline uint16x4_t
17378 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_u16_f16(float16x4_t __a)17379 vcvtm_u16_f16 (float16x4_t __a)
17380 {
17381   return (uint16x4_t)__builtin_neon_vcvtmuv4hf (__a);
17382 }
17383 
17384 __extension__ extern __inline int16x8_t
17385 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_s16_f16(float16x8_t __a)17386 vcvtmq_s16_f16 (float16x8_t __a)
17387 {
17388   return __builtin_neon_vcvtmsv8hf (__a);
17389 }
17390 
17391 __extension__ extern __inline uint16x8_t
17392 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_u16_f16(float16x8_t __a)17393 vcvtmq_u16_f16 (float16x8_t __a)
17394 {
17395   return (uint16x8_t)__builtin_neon_vcvtmuv8hf (__a);
17396 }
17397 
17398 __extension__ extern __inline int16x4_t
17399 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_s16_f16(float16x4_t __a)17400 vcvtn_s16_f16 (float16x4_t __a)
17401 {
17402   return __builtin_neon_vcvtnsv4hf (__a);
17403 }
17404 
17405 __extension__ extern __inline uint16x4_t
17406 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_u16_f16(float16x4_t __a)17407 vcvtn_u16_f16 (float16x4_t __a)
17408 {
17409   return (uint16x4_t)__builtin_neon_vcvtnuv4hf (__a);
17410 }
17411 
17412 __extension__ extern __inline int16x8_t
17413 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_s16_f16(float16x8_t __a)17414 vcvtnq_s16_f16 (float16x8_t __a)
17415 {
17416   return __builtin_neon_vcvtnsv8hf (__a);
17417 }
17418 
17419 __extension__ extern __inline uint16x8_t
17420 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_u16_f16(float16x8_t __a)17421 vcvtnq_u16_f16 (float16x8_t __a)
17422 {
17423   return (uint16x8_t)__builtin_neon_vcvtnuv8hf (__a);
17424 }
17425 
17426 __extension__ extern __inline int16x4_t
17427 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_s16_f16(float16x4_t __a)17428 vcvtp_s16_f16 (float16x4_t __a)
17429 {
17430   return __builtin_neon_vcvtpsv4hf (__a);
17431 }
17432 
17433 __extension__ extern __inline uint16x4_t
17434 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_u16_f16(float16x4_t __a)17435 vcvtp_u16_f16 (float16x4_t __a)
17436 {
17437   return (uint16x4_t)__builtin_neon_vcvtpuv4hf (__a);
17438 }
17439 
17440 __extension__ extern __inline int16x8_t
17441 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_s16_f16(float16x8_t __a)17442 vcvtpq_s16_f16 (float16x8_t __a)
17443 {
17444   return __builtin_neon_vcvtpsv8hf (__a);
17445 }
17446 
17447 __extension__ extern __inline uint16x8_t
17448 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_u16_f16(float16x8_t __a)17449 vcvtpq_u16_f16 (float16x8_t __a)
17450 {
17451   return (uint16x8_t)__builtin_neon_vcvtpuv8hf (__a);
17452 }
17453 
17454 __extension__ extern __inline float16x4_t
17455 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f16_s16(int16x4_t __a,const int __b)17456 vcvt_n_f16_s16 (int16x4_t __a, const int __b)
17457 {
17458   return __builtin_neon_vcvts_nv4hi (__a, __b);
17459 }
17460 
17461 __extension__ extern __inline float16x4_t
17462 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f16_u16(uint16x4_t __a,const int __b)17463 vcvt_n_f16_u16 (uint16x4_t __a, const int __b)
17464 {
17465   return __builtin_neon_vcvtu_nv4hi ((int16x4_t)__a, __b);
17466 }
17467 
17468 __extension__ extern __inline float16x8_t
17469 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f16_s16(int16x8_t __a,const int __b)17470 vcvtq_n_f16_s16 (int16x8_t __a, const int __b)
17471 {
17472   return __builtin_neon_vcvts_nv8hi (__a, __b);
17473 }
17474 
17475 __extension__ extern __inline float16x8_t
17476 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f16_u16(uint16x8_t __a,const int __b)17477 vcvtq_n_f16_u16 (uint16x8_t __a, const int __b)
17478 {
17479   return __builtin_neon_vcvtu_nv8hi ((int16x8_t)__a, __b);
17480 }
17481 
17482 __extension__ extern __inline int16x4_t
17483 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_s16_f16(float16x4_t __a,const int __b)17484 vcvt_n_s16_f16 (float16x4_t __a, const int __b)
17485 {
17486   return __builtin_neon_vcvts_nv4hf (__a, __b);
17487 }
17488 
17489 __extension__ extern __inline uint16x4_t
17490 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_u16_f16(float16x4_t __a,const int __b)17491 vcvt_n_u16_f16 (float16x4_t __a, const int __b)
17492 {
17493   return (uint16x4_t)__builtin_neon_vcvtu_nv4hf (__a, __b);
17494 }
17495 
17496 __extension__ extern __inline int16x8_t
17497 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_s16_f16(float16x8_t __a,const int __b)17498 vcvtq_n_s16_f16 (float16x8_t __a, const int __b)
17499 {
17500   return __builtin_neon_vcvts_nv8hf (__a, __b);
17501 }
17502 
17503 __extension__ extern __inline uint16x8_t
17504 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_u16_f16(float16x8_t __a,const int __b)17505 vcvtq_n_u16_f16 (float16x8_t __a, const int __b)
17506 {
17507   return (uint16x8_t)__builtin_neon_vcvtu_nv8hf (__a, __b);
17508 }
17509 
17510 __extension__ extern __inline float16x4_t
17511 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfma_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c)17512 vfma_f16 (float16x4_t __a, float16x4_t __b, float16x4_t __c)
17513 {
17514   return __builtin_neon_vfmav4hf (__a, __b, __c);
17515 }
17516 
17517 __extension__ extern __inline float16x8_t
17518 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c)17519 vfmaq_f16 (float16x8_t __a, float16x8_t __b, float16x8_t __c)
17520 {
17521   return __builtin_neon_vfmav8hf (__a, __b, __c);
17522 }
17523 
17524 __extension__ extern __inline float16x4_t
17525 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfms_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c)17526 vfms_f16 (float16x4_t __a, float16x4_t __b, float16x4_t __c)
17527 {
17528   return __builtin_neon_vfmsv4hf (__a, __b, __c);
17529 }
17530 
17531 __extension__ extern __inline float16x8_t
17532 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c)17533 vfmsq_f16 (float16x8_t __a, float16x8_t __b, float16x8_t __c)
17534 {
17535   return __builtin_neon_vfmsv8hf (__a, __b, __c);
17536 }
17537 
17538 __extension__ extern __inline float16x4_t
17539 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmax_f16(float16x4_t __a,float16x4_t __b)17540 vmax_f16 (float16x4_t __a, float16x4_t __b)
17541 {
17542   return __builtin_neon_vmaxfv4hf (__a, __b);
17543 }
17544 
17545 __extension__ extern __inline float16x8_t
17546 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_f16(float16x8_t __a,float16x8_t __b)17547 vmaxq_f16 (float16x8_t __a, float16x8_t __b)
17548 {
17549   return __builtin_neon_vmaxfv8hf (__a, __b);
17550 }
17551 
17552 __extension__ extern __inline float16x4_t
17553 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnm_f16(float16x4_t __a,float16x4_t __b)17554 vmaxnm_f16 (float16x4_t __a, float16x4_t __b)
17555 {
17556   return __builtin_neon_vmaxnmv4hf (__a, __b);
17557 }
17558 
17559 __extension__ extern __inline float16x8_t
17560 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmq_f16(float16x8_t __a,float16x8_t __b)17561 vmaxnmq_f16 (float16x8_t __a, float16x8_t __b)
17562 {
17563   return __builtin_neon_vmaxnmv8hf (__a, __b);
17564 }
17565 
17566 __extension__ extern __inline float16x4_t
17567 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmin_f16(float16x4_t __a,float16x4_t __b)17568 vmin_f16 (float16x4_t __a, float16x4_t __b)
17569 {
17570   return __builtin_neon_vminfv4hf (__a, __b);
17571 }
17572 
17573 __extension__ extern __inline float16x8_t
17574 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminq_f16(float16x8_t __a,float16x8_t __b)17575 vminq_f16 (float16x8_t __a, float16x8_t __b)
17576 {
17577   return __builtin_neon_vminfv8hf (__a, __b);
17578 }
17579 
17580 __extension__ extern __inline float16x4_t
17581 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminnm_f16(float16x4_t __a,float16x4_t __b)17582 vminnm_f16 (float16x4_t __a, float16x4_t __b)
17583 {
17584   return __builtin_neon_vminnmv4hf (__a, __b);
17585 }
17586 
17587 __extension__ extern __inline float16x8_t
17588 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vminnmq_f16(float16x8_t __a,float16x8_t __b)17589 vminnmq_f16 (float16x8_t __a, float16x8_t __b)
17590 {
17591   return __builtin_neon_vminnmv8hf (__a, __b);
17592 }
17593 
17594 __extension__ extern __inline float16x4_t
17595 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_f16(float16x4_t __a,float16x4_t __b)17596 vmul_f16 (float16x4_t __a, float16x4_t __b)
17597 {
17598 #ifdef __FAST_MATH__
17599   return __a * __b;
17600 #else
17601   return __builtin_neon_vmulfv4hf (__a, __b);
17602 #endif
17603 }
17604 
17605 __extension__ extern __inline float16x4_t
17606 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_f16(float16x4_t __a,float16x4_t __b,const int __c)17607 vmul_lane_f16 (float16x4_t __a, float16x4_t __b, const int __c)
17608 {
17609   return __builtin_neon_vmul_lanev4hf (__a, __b, __c);
17610 }
17611 
17612 __extension__ extern __inline float16x4_t
17613 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_f16(float16x4_t __a,float16_t __b)17614 vmul_n_f16 (float16x4_t __a, float16_t __b)
17615 {
17616   return __builtin_neon_vmul_nv4hf (__a, __b);
17617 }
17618 
17619 __extension__ extern __inline float16x8_t
17620 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_f16(float16x8_t __a,float16x8_t __b)17621 vmulq_f16 (float16x8_t __a, float16x8_t __b)
17622 {
17623 #ifdef __FAST_MATH__
17624   return __a * __b;
17625 #else
17626   return __builtin_neon_vmulfv8hf (__a, __b);
17627 #endif
17628 }
17629 
17630 __extension__ extern __inline float16x8_t
17631 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_f16(float16x8_t __a,float16x4_t __b,const int __c)17632 vmulq_lane_f16 (float16x8_t __a, float16x4_t __b, const int __c)
17633 {
17634   return __builtin_neon_vmul_lanev8hf (__a, __b, __c);
17635 }
17636 
17637 __extension__ extern __inline float16x8_t
17638 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_f16(float16x8_t __a,float16_t __b)17639 vmulq_n_f16 (float16x8_t __a, float16_t __b)
17640 {
17641   return __builtin_neon_vmul_nv8hf (__a, __b);
17642 }
17643 
17644 __extension__ extern __inline float16x4_t
17645 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vneg_f16(float16x4_t __a)17646 vneg_f16 (float16x4_t __a)
17647 {
17648   return __builtin_neon_vnegv4hf (__a);
17649 }
17650 
17651 __extension__ extern __inline float16x8_t
17652 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_f16(float16x8_t __a)17653 vnegq_f16 (float16x8_t __a)
17654 {
17655   return __builtin_neon_vnegv8hf (__a);
17656 }
17657 
17658 __extension__ extern __inline float16x4_t
17659 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_f16(float16x4_t __a,float16x4_t __b)17660 vpadd_f16 (float16x4_t __a, float16x4_t __b)
17661 {
17662   return __builtin_neon_vpaddv4hf (__a, __b);
17663 }
17664 
17665 __extension__ extern __inline float16x4_t
17666 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_f16(float16x4_t __a,float16x4_t __b)17667 vpmax_f16 (float16x4_t __a, float16x4_t __b)
17668 {
17669   return __builtin_neon_vpmaxfv4hf (__a, __b);
17670 }
17671 
17672 __extension__ extern __inline float16x4_t
17673 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_f16(float16x4_t __a,float16x4_t __b)17674 vpmin_f16 (float16x4_t __a, float16x4_t __b)
17675 {
17676   return __builtin_neon_vpminfv4hf (__a, __b);
17677 }
17678 
17679 __extension__ extern __inline float16x4_t
17680 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_f16(float16x4_t __a)17681 vrecpe_f16 (float16x4_t __a)
17682 {
17683   return __builtin_neon_vrecpev4hf (__a);
17684 }
17685 
17686 __extension__ extern __inline float16x8_t
17687 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_f16(float16x8_t __a)17688 vrecpeq_f16 (float16x8_t __a)
17689 {
17690   return __builtin_neon_vrecpev8hf (__a);
17691 }
17692 
17693 __extension__ extern __inline float16x4_t
17694 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrnd_f16(float16x4_t __a)17695 vrnd_f16 (float16x4_t __a)
17696 {
17697   return __builtin_neon_vrndv4hf (__a);
17698 }
17699 
17700 __extension__ extern __inline float16x8_t
17701 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndq_f16(float16x8_t __a)17702 vrndq_f16 (float16x8_t __a)
17703 {
17704   return __builtin_neon_vrndv8hf (__a);
17705 }
17706 
17707 __extension__ extern __inline float16x4_t
17708 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrnda_f16(float16x4_t __a)17709 vrnda_f16 (float16x4_t __a)
17710 {
17711   return __builtin_neon_vrndav4hf (__a);
17712 }
17713 
17714 __extension__ extern __inline float16x8_t
17715 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndaq_f16(float16x8_t __a)17716 vrndaq_f16 (float16x8_t __a)
17717 {
17718   return __builtin_neon_vrndav8hf (__a);
17719 }
17720 
17721 __extension__ extern __inline float16x4_t
17722 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndm_f16(float16x4_t __a)17723 vrndm_f16 (float16x4_t __a)
17724 {
17725   return __builtin_neon_vrndmv4hf (__a);
17726 }
17727 
17728 __extension__ extern __inline float16x8_t
17729 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndmq_f16(float16x8_t __a)17730 vrndmq_f16 (float16x8_t __a)
17731 {
17732   return __builtin_neon_vrndmv8hf (__a);
17733 }
17734 
17735 __extension__ extern __inline float16x4_t
17736 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndn_f16(float16x4_t __a)17737 vrndn_f16 (float16x4_t __a)
17738 {
17739   return __builtin_neon_vrndnv4hf (__a);
17740 }
17741 
17742 __extension__ extern __inline float16x8_t
17743 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndnq_f16(float16x8_t __a)17744 vrndnq_f16 (float16x8_t __a)
17745 {
17746   return __builtin_neon_vrndnv8hf (__a);
17747 }
17748 
17749 __extension__ extern __inline float16x4_t
17750 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndp_f16(float16x4_t __a)17751 vrndp_f16 (float16x4_t __a)
17752 {
17753   return __builtin_neon_vrndpv4hf (__a);
17754 }
17755 
17756 __extension__ extern __inline float16x8_t
17757 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndpq_f16(float16x8_t __a)17758 vrndpq_f16 (float16x8_t __a)
17759 {
17760   return __builtin_neon_vrndpv8hf (__a);
17761 }
17762 
17763 __extension__ extern __inline float16x4_t
17764 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndx_f16(float16x4_t __a)17765 vrndx_f16 (float16x4_t __a)
17766 {
17767   return __builtin_neon_vrndxv4hf (__a);
17768 }
17769 
17770 __extension__ extern __inline float16x8_t
17771 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrndxq_f16(float16x8_t __a)17772 vrndxq_f16 (float16x8_t __a)
17773 {
17774   return __builtin_neon_vrndxv8hf (__a);
17775 }
17776 
17777 __extension__ extern __inline float16x4_t
17778 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_f16(float16x4_t __a)17779 vrsqrte_f16 (float16x4_t __a)
17780 {
17781   return __builtin_neon_vrsqrtev4hf (__a);
17782 }
17783 
17784 __extension__ extern __inline float16x8_t
17785 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_f16(float16x8_t __a)17786 vrsqrteq_f16 (float16x8_t __a)
17787 {
17788   return __builtin_neon_vrsqrtev8hf (__a);
17789 }
17790 
17791 __extension__ extern __inline float16x4_t
17792 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecps_f16(float16x4_t __a,float16x4_t __b)17793 vrecps_f16 (float16x4_t __a, float16x4_t __b)
17794 {
17795   return __builtin_neon_vrecpsv4hf (__a, __b);
17796 }
17797 
17798 __extension__ extern __inline float16x8_t
17799 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsq_f16(float16x8_t __a,float16x8_t __b)17800 vrecpsq_f16 (float16x8_t __a, float16x8_t __b)
17801 {
17802   return __builtin_neon_vrecpsv8hf (__a, __b);
17803 }
17804 
17805 __extension__ extern __inline float16x4_t
17806 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrts_f16(float16x4_t __a,float16x4_t __b)17807 vrsqrts_f16 (float16x4_t __a, float16x4_t __b)
17808 {
17809   return __builtin_neon_vrsqrtsv4hf (__a, __b);
17810 }
17811 
17812 __extension__ extern __inline float16x8_t
17813 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsq_f16(float16x8_t __a,float16x8_t __b)17814 vrsqrtsq_f16 (float16x8_t __a, float16x8_t __b)
17815 {
17816   return __builtin_neon_vrsqrtsv8hf (__a, __b);
17817 }
17818 
17819 __extension__ extern __inline float16x4_t
17820 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsub_f16(float16x4_t __a,float16x4_t __b)17821 vsub_f16 (float16x4_t __a, float16x4_t __b)
17822 {
17823 #ifdef __FAST_MATH__
17824   return __a - __b;
17825 #else
17826   return __builtin_neon_vsubv4hf (__a, __b);
17827 #endif
17828 }
17829 
17830 __extension__ extern __inline float16x8_t
17831 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_f16(float16x8_t __a,float16x8_t __b)17832 vsubq_f16 (float16x8_t __a, float16x8_t __b)
17833 {
17834 #ifdef __FAST_MATH__
17835   return __a - __b;
17836 #else
17837   return __builtin_neon_vsubv8hf (__a, __b);
17838 #endif
17839 }
17840 
17841 #endif /* __ARM_FEATURE_VECTOR_FP16_ARITHMETIC.  */
17842 #pragma GCC pop_options
17843 
17844   /* Half-precision data processing intrinsics.  */
17845 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
17846 
17847 __extension__ extern __inline float16x4_t
17848 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_f16(uint16x4_t __a,float16x4_t __b,float16x4_t __c)17849 vbsl_f16 (uint16x4_t __a, float16x4_t __b, float16x4_t __c)
17850 {
17851   return __builtin_neon_vbslv4hf ((int16x4_t)__a, __b, __c);
17852 }
17853 
17854 __extension__ extern __inline float16x8_t
17855 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_f16(uint16x8_t __a,float16x8_t __b,float16x8_t __c)17856 vbslq_f16 (uint16x8_t __a, float16x8_t __b, float16x8_t __c)
17857 {
17858   return __builtin_neon_vbslv8hf ((int16x8_t)__a, __b, __c);
17859 }
17860 
17861 __extension__ extern __inline float16x4_t
17862 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_f16(float16_t __a)17863 vdup_n_f16 (float16_t __a)
17864 {
17865   return __builtin_neon_vdup_nv4hf (__a);
17866 }
17867 
17868 __extension__ extern __inline float16x8_t
17869 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_f16(float16_t __a)17870 vdupq_n_f16 (float16_t __a)
17871 {
17872   return __builtin_neon_vdup_nv8hf (__a);
17873 }
17874 
17875 __extension__ extern __inline float16x4_t
17876 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_f16(float16x4_t __a,const int __b)17877 vdup_lane_f16 (float16x4_t __a, const int __b)
17878 {
17879   return __builtin_neon_vdup_lanev4hf (__a, __b);
17880 }
17881 
17882 __extension__ extern __inline float16x8_t
17883 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_f16(float16x4_t __a,const int __b)17884 vdupq_lane_f16 (float16x4_t __a, const int __b)
17885 {
17886   return __builtin_neon_vdup_lanev8hf (__a, __b);
17887 }
17888 
17889 __extension__ extern __inline float16x4_t
17890 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vext_f16(float16x4_t __a,float16x4_t __b,const int __c)17891 vext_f16 (float16x4_t __a, float16x4_t __b, const int __c)
17892 {
17893   return __builtin_neon_vextv4hf (__a, __b, __c);
17894 }
17895 
17896 __extension__ extern __inline float16x8_t
17897 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vextq_f16(float16x8_t __a,float16x8_t __b,const int __c)17898 vextq_f16 (float16x8_t __a, float16x8_t __b, const int __c)
17899 {
17900   return __builtin_neon_vextv8hf (__a, __b, __c);
17901 }
17902 
17903 __extension__ extern __inline float16x4_t
17904 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_f16(float16_t __a)17905 vmov_n_f16 (float16_t __a)
17906 {
17907   return __builtin_neon_vdup_nv4hf (__a);
17908 }
17909 
17910 __extension__ extern __inline float16x8_t
17911 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_f16(float16_t __a)17912 vmovq_n_f16 (float16_t __a)
17913 {
17914   return __builtin_neon_vdup_nv8hf (__a);
17915 }
17916 
17917 __extension__ extern __inline float16x4_t
17918 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_f16(float16x4_t __a)17919 vrev64_f16 (float16x4_t __a)
17920 {
17921   return (float16x4_t)__builtin_shuffle (__a, (uint16x4_t){ 3, 2, 1, 0 });
17922 }
17923 
17924 __extension__ extern __inline float16x8_t
17925 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_f16(float16x8_t __a)17926 vrev64q_f16 (float16x8_t __a)
17927 {
17928   return
17929     (float16x8_t)__builtin_shuffle (__a,
17930 				    (uint16x8_t){ 3, 2, 1, 0, 7, 6, 5, 4 });
17931 }
17932 
17933 __extension__ extern __inline float16x4x2_t
17934 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_f16(float16x4_t __a,float16x4_t __b)17935 vtrn_f16 (float16x4_t __a, float16x4_t __b)
17936 {
17937   float16x4x2_t __rv;
17938 #ifdef __ARM_BIG_ENDIAN
17939   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t){ 5, 1, 7, 3 });
17940   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t){ 4, 0, 6, 2 });
17941 #else
17942   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t){ 0, 4, 2, 6 });
17943   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t){ 1, 5, 3, 7 });
17944 #endif
17945   return __rv;
17946 }
17947 
17948 __extension__ extern __inline float16x8x2_t
17949 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_f16(float16x8_t __a,float16x8_t __b)17950 vtrnq_f16 (float16x8_t __a, float16x8_t __b)
17951 {
17952   float16x8x2_t __rv;
17953 #ifdef __ARM_BIG_ENDIAN
17954   __rv.val[0] = __builtin_shuffle (__a, __b,
17955 				   (uint16x8_t){ 9, 1, 11, 3, 13, 5, 15, 7 });
17956   __rv.val[1] = __builtin_shuffle (__a, __b,
17957 				   (uint16x8_t){ 8, 0, 10, 2, 12, 4, 14, 6 });
17958 #else
17959   __rv.val[0] = __builtin_shuffle (__a, __b,
17960 				   (uint16x8_t){ 0, 8, 2, 10, 4, 12, 6, 14 });
17961   __rv.val[1] = __builtin_shuffle (__a, __b,
17962 				   (uint16x8_t){ 1, 9, 3, 11, 5, 13, 7, 15 });
17963 #endif
17964   return __rv;
17965 }
17966 
17967 __extension__ extern __inline float16x4x2_t
17968 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzp_f16(float16x4_t __a,float16x4_t __b)17969 vuzp_f16 (float16x4_t __a, float16x4_t __b)
17970 {
17971   float16x4x2_t __rv;
17972 #ifdef __ARM_BIG_ENDIAN
17973   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t){ 5, 7, 1, 3 });
17974   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t){ 4, 6, 0, 2 });
17975 #else
17976   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t){ 0, 2, 4, 6 });
17977   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t){ 1, 3, 5, 7 });
17978 #endif
17979   return __rv;
17980 }
17981 
17982 __extension__ extern __inline float16x8x2_t
17983 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vuzpq_f16(float16x8_t __a,float16x8_t __b)17984 vuzpq_f16 (float16x8_t __a, float16x8_t __b)
17985 {
17986   float16x8x2_t __rv;
17987 #ifdef __ARM_BIG_ENDIAN
17988   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
17989 				   { 5, 7, 1, 3, 13, 15, 9, 11 });
17990   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
17991 				   { 4, 6, 0, 2, 12, 14, 8, 10 });
17992 #else
17993   __rv.val[0] = __builtin_shuffle (__a, __b,
17994 				   (uint16x8_t){ 0, 2, 4, 6, 8, 10, 12, 14 });
17995   __rv.val[1] = __builtin_shuffle (__a, __b,
17996 				   (uint16x8_t){ 1, 3, 5, 7, 9, 11, 13, 15 });
17997 #endif
17998   return __rv;
17999 }
18000 
18001 __extension__ extern __inline float16x4x2_t
18002 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzip_f16(float16x4_t __a,float16x4_t __b)18003 vzip_f16 (float16x4_t __a, float16x4_t __b)
18004 {
18005   float16x4x2_t __rv;
18006 #ifdef __ARM_BIG_ENDIAN
18007   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t){ 6, 2, 7, 3 });
18008   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t){ 4, 0, 5, 1 });
18009 #else
18010   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t){ 0, 4, 1, 5 });
18011   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t){ 2, 6, 3, 7 });
18012 #endif
18013   return __rv;
18014 }
18015 
18016 __extension__ extern __inline float16x8x2_t
18017 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vzipq_f16(float16x8_t __a,float16x8_t __b)18018 vzipq_f16 (float16x8_t __a, float16x8_t __b)
18019 {
18020   float16x8x2_t __rv;
18021 #ifdef __ARM_BIG_ENDIAN
18022   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
18023 				   { 10, 2, 11, 3, 8, 0, 9, 1 });
18024   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
18025 				   { 14, 6, 15, 7, 12, 4, 13, 5 });
18026 #else
18027   __rv.val[0] = __builtin_shuffle (__a, __b,
18028 				   (uint16x8_t){ 0, 8, 1, 9, 2, 10, 3, 11 });
18029   __rv.val[1] = __builtin_shuffle (__a, __b,
18030 				   (uint16x8_t){ 4, 12, 5, 13, 6, 14, 7, 15 });
18031 #endif
18032   return __rv;
18033 }
18034 
18035 #endif
18036 
18037 /* AdvSIMD Dot Product intrinsics.  */
18038 
18039 #if __ARM_ARCH >= 8
18040 #pragma GCC push_options
18041 #pragma GCC target ("arch=armv8.2-a+dotprod")
18042 
18043 __extension__ extern __inline uint32x2_t
18044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_u32(uint32x2_t __r,uint8x8_t __a,uint8x8_t __b)18045 vdot_u32 (uint32x2_t __r, uint8x8_t __a, uint8x8_t __b)
18046 {
18047   return __builtin_neon_udotv8qi_uuuu (__r, __a, __b);
18048 }
18049 
18050 __extension__ extern __inline uint32x4_t
18051 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_u32(uint32x4_t __r,uint8x16_t __a,uint8x16_t __b)18052 vdotq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b)
18053 {
18054   return __builtin_neon_udotv16qi_uuuu (__r, __a, __b);
18055 }
18056 
18057 __extension__ extern __inline int32x2_t
18058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_s32(int32x2_t __r,int8x8_t __a,int8x8_t __b)18059 vdot_s32 (int32x2_t __r, int8x8_t __a, int8x8_t __b)
18060 {
18061   return __builtin_neon_sdotv8qi (__r, __a, __b);
18062 }
18063 
18064 __extension__ extern __inline int32x4_t
18065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_s32(int32x4_t __r,int8x16_t __a,int8x16_t __b)18066 vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
18067 {
18068   return __builtin_neon_sdotv16qi (__r, __a, __b);
18069 }
18070 
18071 __extension__ extern __inline uint32x2_t
18072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_lane_u32(uint32x2_t __r,uint8x8_t __a,uint8x8_t __b,const int __index)18073 vdot_lane_u32 (uint32x2_t __r, uint8x8_t __a, uint8x8_t __b, const int __index)
18074 {
18075   return __builtin_neon_udot_lanev8qi_uuuus (__r, __a, __b, __index);
18076 }
18077 
18078 __extension__ extern __inline uint32x4_t
18079 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_lane_u32(uint32x4_t __r,uint8x16_t __a,uint8x8_t __b,const int __index)18080 vdotq_lane_u32 (uint32x4_t __r, uint8x16_t __a, uint8x8_t __b,
18081 		const int __index)
18082 {
18083   return __builtin_neon_udot_lanev16qi_uuuus (__r, __a, __b, __index);
18084 }
18085 
18086 __extension__ extern __inline int32x2_t
18087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_lane_s32(int32x2_t __r,int8x8_t __a,int8x8_t __b,const int __index)18088 vdot_lane_s32 (int32x2_t __r, int8x8_t __a, int8x8_t __b, const int __index)
18089 {
18090   return __builtin_neon_sdot_lanev8qi (__r, __a, __b, __index);
18091 }
18092 
18093 __extension__ extern __inline int32x4_t
18094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_lane_s32(int32x4_t __r,int8x16_t __a,int8x8_t __b,const int __index)18095 vdotq_lane_s32 (int32x4_t __r, int8x16_t __a, int8x8_t __b, const int __index)
18096 {
18097   return __builtin_neon_sdot_lanev16qi (__r, __a, __b, __index);
18098 }
18099 
18100 #pragma GCC pop_options
18101 #endif
18102 
18103 #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE)
18104 #pragma GCC push_options
18105 #pragma GCC target ("arch=armv8.2-a+fp16fml")
18106 
18107 __extension__ extern __inline float32x2_t
18108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_low_u32(float32x2_t __r,float16x4_t __a,float16x4_t __b)18109 vfmlal_low_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
18110 {
18111   return __builtin_neon_vfmal_lowv2sf (__r, __a, __b);
18112 }
18113 
18114 __extension__ extern __inline float32x2_t
18115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_low_u32(float32x2_t __r,float16x4_t __a,float16x4_t __b)18116 vfmlsl_low_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
18117 {
18118   return __builtin_neon_vfmsl_lowv2sf (__r, __a, __b);
18119 }
18120 
18121 __extension__ extern __inline float32x2_t
18122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_high_u32(float32x2_t __r,float16x4_t __a,float16x4_t __b)18123 vfmlal_high_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
18124 {
18125   return __builtin_neon_vfmal_highv2sf (__r, __a, __b);
18126 }
18127 
18128 __extension__ extern __inline float32x2_t
18129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_high_u32(float32x2_t __r,float16x4_t __a,float16x4_t __b)18130 vfmlsl_high_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
18131 {
18132   return __builtin_neon_vfmsl_highv2sf (__r, __a, __b);
18133 }
18134 
18135 __extension__ extern __inline float32x4_t
18136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_low_u32(float32x4_t __r,float16x8_t __a,float16x8_t __b)18137 vfmlalq_low_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
18138 {
18139   return __builtin_neon_vfmal_lowv4sf (__r, __a, __b);
18140 }
18141 
18142 __extension__ extern __inline float32x4_t
18143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_low_u32(float32x4_t __r,float16x8_t __a,float16x8_t __b)18144 vfmlslq_low_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
18145 {
18146   return __builtin_neon_vfmsl_lowv4sf (__r, __a, __b);
18147 }
18148 
18149 __extension__ extern __inline float32x4_t
18150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_high_u32(float32x4_t __r,float16x8_t __a,float16x8_t __b)18151 vfmlalq_high_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
18152 {
18153   return __builtin_neon_vfmal_highv4sf (__r, __a, __b);
18154 }
18155 
18156 __extension__ extern __inline float32x4_t
18157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_high_u32(float32x4_t __r,float16x8_t __a,float16x8_t __b)18158 vfmlslq_high_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
18159 {
18160   return __builtin_neon_vfmsl_highv4sf (__r, __a, __b);
18161 }
18162 
18163 __extension__ extern __inline float32x2_t
18164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_lane_low_u32(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __index)18165 vfmlal_lane_low_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
18166 		     const int __index)
18167 {
18168   __builtin_arm_lane_check (4, __index);
18169   return __builtin_neon_vfmal_lane_lowv2sf (__r, __a, __b, __index);
18170 }
18171 
18172 __extension__ extern __inline float32x2_t
18173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_lane_high_u32(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __index)18174 vfmlal_lane_high_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
18175 		      const int __index)
18176 {
18177   __builtin_arm_lane_check (4, __index);
18178   return __builtin_neon_vfmal_lane_highv2sf (__r, __a, __b, __index);
18179 }
18180 
18181 __extension__ extern __inline float32x4_t
18182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_laneq_low_u32(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __index)18183 vfmlalq_laneq_low_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
18184 		       const int __index)
18185 {
18186   __builtin_arm_lane_check (8, __index);
18187   return __builtin_neon_vfmal_lane_lowv4sf (__r, __a, __b, __index);
18188 }
18189 
18190 __extension__ extern __inline float32x4_t
18191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_lane_low_u32(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __index)18192 vfmlalq_lane_low_u32 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
18193 		       const int __index)
18194 {
18195   __builtin_arm_lane_check (4, __index);
18196   return __builtin_neon_vfmal_lane_lowv4hfv4sf (__r, __a, __b, __index);
18197 }
18198 
18199 __extension__ extern __inline float32x2_t
18200 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_laneq_low_u32(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __index)18201 vfmlal_laneq_low_u32 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
18202 		       const int __index)
18203 {
18204   __builtin_arm_lane_check (8, __index);
18205   return __builtin_neon_vfmal_lane_lowv8hfv2sf (__r, __a, __b, __index);
18206 }
18207 
18208 __extension__ extern __inline float32x4_t
18209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_laneq_high_u32(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __index)18210 vfmlalq_laneq_high_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
18211 			const int __index)
18212 {
18213   __builtin_arm_lane_check (8, __index);
18214   return __builtin_neon_vfmal_lane_highv4sf (__r, __a, __b, __index);
18215 }
18216 
18217 __extension__ extern __inline float32x4_t
18218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_lane_high_u32(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __index)18219 vfmlalq_lane_high_u32 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
18220 		       const int __index)
18221 {
18222   __builtin_arm_lane_check (4, __index);
18223   return __builtin_neon_vfmal_lane_highv4hfv4sf (__r, __a, __b, __index);
18224 }
18225 
18226 __extension__ extern __inline float32x2_t
18227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_laneq_high_u32(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __index)18228 vfmlal_laneq_high_u32 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
18229 		       const int __index)
18230 {
18231   __builtin_arm_lane_check (8, __index);
18232   return __builtin_neon_vfmal_lane_highv8hfv2sf (__r, __a, __b, __index);
18233 }
18234 
18235 __extension__ extern __inline float32x2_t
18236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_lane_low_u32(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __index)18237 vfmlsl_lane_low_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
18238 		     const int __index)
18239 {
18240   __builtin_arm_lane_check (4, __index);
18241   return __builtin_neon_vfmsl_lane_lowv2sf (__r, __a, __b, __index);
18242 }
18243 
18244 __extension__ extern __inline float32x2_t
18245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_lane_high_u32(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __index)18246 vfmlsl_lane_high_u32 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
18247 		      const int __index)
18248 {
18249   __builtin_arm_lane_check (4, __index);
18250   return __builtin_neon_vfmsl_lane_highv2sf (__r, __a, __b, __index);
18251 }
18252 
18253 __extension__ extern __inline float32x4_t
18254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_laneq_low_u32(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __index)18255 vfmlslq_laneq_low_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
18256 		       const int __index)
18257 {
18258   __builtin_arm_lane_check (8, __index);
18259   return __builtin_neon_vfmsl_lane_lowv4sf (__r, __a, __b, __index);
18260 }
18261 
18262 __extension__ extern __inline float32x4_t
18263 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_lane_low_u32(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __index)18264 vfmlslq_lane_low_u32 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
18265 		       const int __index)
18266 {
18267   __builtin_arm_lane_check (4, __index);
18268   return __builtin_neon_vfmsl_lane_lowv4hfv4sf (__r, __a, __b, __index);
18269 }
18270 
18271 __extension__ extern __inline float32x2_t
18272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_laneq_low_u32(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __index)18273 vfmlsl_laneq_low_u32 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
18274 		       const int __index)
18275 {
18276   __builtin_arm_lane_check (8, __index);
18277   return __builtin_neon_vfmsl_lane_lowv8hfv2sf (__r, __a, __b, __index);
18278 }
18279 
18280 __extension__ extern __inline float32x4_t
18281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_laneq_high_u32(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __index)18282 vfmlslq_laneq_high_u32 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
18283 			const int __index)
18284 {
18285   __builtin_arm_lane_check (8, __index);
18286   return __builtin_neon_vfmsl_lane_highv4sf (__r, __a, __b, __index);
18287 }
18288 
18289 __extension__ extern __inline float32x4_t
18290 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_lane_high_u32(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __index)18291 vfmlslq_lane_high_u32 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
18292 		       const int __index)
18293 {
18294   __builtin_arm_lane_check (4, __index);
18295   return __builtin_neon_vfmsl_lane_highv4hfv4sf (__r, __a, __b, __index);
18296 }
18297 
18298 __extension__ extern __inline float32x2_t
18299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_laneq_high_u32(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __index)18300 vfmlsl_laneq_high_u32 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
18301 		       const int __index)
18302 {
18303   __builtin_arm_lane_check (8, __index);
18304   return __builtin_neon_vfmsl_lane_highv8hfv2sf (__r, __a, __b, __index);
18305 }
18306 
18307 #pragma GCC pop_options
18308 #endif
18309 
18310 #ifdef __cplusplus
18311 }
18312 #endif
18313 
18314 #pragma GCC pop_options
18315 
18316 #endif
18317 #endif
18318