2014-01-17 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / config / arm / arm_neon.h
blob37a6e611b48fd42ddd6284a56d28080884a0bcec
1 /* ARM NEON intrinsics include file. This file is generated automatically
2 using neon-gen.ml. Please do not edit manually.
4 Copyright (C) 2006-2014 Free Software Foundation, Inc.
5 Contributed by CodeSourcery.
7 This file is part of GCC.
9 GCC is free software; you can redistribute it and/or modify it
10 under the terms of the GNU General Public License as published
11 by the Free Software Foundation; either version 3, or (at your
12 option) any later version.
14 GCC is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
19 Under Section 7 of GPL version 3, you are granted additional
20 permissions described in the GCC Runtime Library Exception, version
21 3.1, as published by the Free Software Foundation.
23 You should have received a copy of the GNU General Public License and
24 a copy of the GCC Runtime Library Exception along with this program;
25 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
26 <http://www.gnu.org/licenses/>. */
28 #ifndef _GCC_ARM_NEON_H
29 #define _GCC_ARM_NEON_H 1
31 #ifndef __ARM_NEON__
32 #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
33 #else
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
39 #include <stdint.h>
41 typedef __builtin_neon_qi int8x8_t __attribute__ ((__vector_size__ (8)));
42 typedef __builtin_neon_hi int16x4_t __attribute__ ((__vector_size__ (8)));
43 typedef __builtin_neon_si int32x2_t __attribute__ ((__vector_size__ (8)));
44 typedef __builtin_neon_di int64x1_t;
45 typedef __builtin_neon_hf float16x4_t __attribute__ ((__vector_size__ (8)));
46 typedef __builtin_neon_sf float32x2_t __attribute__ ((__vector_size__ (8)));
47 typedef __builtin_neon_poly8 poly8x8_t __attribute__ ((__vector_size__ (8)));
48 typedef __builtin_neon_poly16 poly16x4_t __attribute__ ((__vector_size__ (8)));
49 #ifdef __ARM_FEATURE_CRYPTO
50 typedef __builtin_neon_poly64 poly64x1_t;
51 #endif
52 typedef __builtin_neon_uqi uint8x8_t __attribute__ ((__vector_size__ (8)));
53 typedef __builtin_neon_uhi uint16x4_t __attribute__ ((__vector_size__ (8)));
54 typedef __builtin_neon_usi uint32x2_t __attribute__ ((__vector_size__ (8)));
55 typedef __builtin_neon_udi uint64x1_t;
56 typedef __builtin_neon_qi int8x16_t __attribute__ ((__vector_size__ (16)));
57 typedef __builtin_neon_hi int16x8_t __attribute__ ((__vector_size__ (16)));
58 typedef __builtin_neon_si int32x4_t __attribute__ ((__vector_size__ (16)));
59 typedef __builtin_neon_di int64x2_t __attribute__ ((__vector_size__ (16)));
60 typedef __builtin_neon_sf float32x4_t __attribute__ ((__vector_size__ (16)));
61 typedef __builtin_neon_poly8 poly8x16_t __attribute__ ((__vector_size__ (16)));
62 typedef __builtin_neon_poly16 poly16x8_t __attribute__ ((__vector_size__ (16)));
63 #ifdef __ARM_FEATURE_CRYPTO
64 typedef __builtin_neon_poly64 poly64x2_t __attribute__ ((__vector_size__ (16)));
65 #endif
66 typedef __builtin_neon_uqi uint8x16_t __attribute__ ((__vector_size__ (16)));
67 typedef __builtin_neon_uhi uint16x8_t __attribute__ ((__vector_size__ (16)));
68 typedef __builtin_neon_usi uint32x4_t __attribute__ ((__vector_size__ (16)));
69 typedef __builtin_neon_udi uint64x2_t __attribute__ ((__vector_size__ (16)));
71 typedef float float32_t;
72 typedef __builtin_neon_poly8 poly8_t;
73 typedef __builtin_neon_poly16 poly16_t;
74 #ifdef __ARM_FEATURE_CRYPTO
75 typedef __builtin_neon_poly64 poly64_t;
76 typedef __builtin_neon_poly128 poly128_t;
77 #endif
79 typedef struct int8x8x2_t
81 int8x8_t val[2];
82 } int8x8x2_t;
84 typedef struct int8x16x2_t
86 int8x16_t val[2];
87 } int8x16x2_t;
89 typedef struct int16x4x2_t
91 int16x4_t val[2];
92 } int16x4x2_t;
94 typedef struct int16x8x2_t
96 int16x8_t val[2];
97 } int16x8x2_t;
99 typedef struct int32x2x2_t
101 int32x2_t val[2];
102 } int32x2x2_t;
104 typedef struct int32x4x2_t
106 int32x4_t val[2];
107 } int32x4x2_t;
109 typedef struct int64x1x2_t
111 int64x1_t val[2];
112 } int64x1x2_t;
114 typedef struct int64x2x2_t
116 int64x2_t val[2];
117 } int64x2x2_t;
119 typedef struct uint8x8x2_t
121 uint8x8_t val[2];
122 } uint8x8x2_t;
124 typedef struct uint8x16x2_t
126 uint8x16_t val[2];
127 } uint8x16x2_t;
129 typedef struct uint16x4x2_t
131 uint16x4_t val[2];
132 } uint16x4x2_t;
134 typedef struct uint16x8x2_t
136 uint16x8_t val[2];
137 } uint16x8x2_t;
139 typedef struct uint32x2x2_t
141 uint32x2_t val[2];
142 } uint32x2x2_t;
144 typedef struct uint32x4x2_t
146 uint32x4_t val[2];
147 } uint32x4x2_t;
149 typedef struct uint64x1x2_t
151 uint64x1_t val[2];
152 } uint64x1x2_t;
154 typedef struct uint64x2x2_t
156 uint64x2_t val[2];
157 } uint64x2x2_t;
159 typedef struct float32x2x2_t
161 float32x2_t val[2];
162 } float32x2x2_t;
164 typedef struct float32x4x2_t
166 float32x4_t val[2];
167 } float32x4x2_t;
169 typedef struct poly8x8x2_t
171 poly8x8_t val[2];
172 } poly8x8x2_t;
174 typedef struct poly8x16x2_t
176 poly8x16_t val[2];
177 } poly8x16x2_t;
179 typedef struct poly16x4x2_t
181 poly16x4_t val[2];
182 } poly16x4x2_t;
184 typedef struct poly16x8x2_t
186 poly16x8_t val[2];
187 } poly16x8x2_t;
189 #ifdef __ARM_FEATURE_CRYPTO
190 typedef struct poly64x1x2_t
192 poly64x1_t val[2];
193 } poly64x1x2_t;
194 #endif
197 #ifdef __ARM_FEATURE_CRYPTO
198 typedef struct poly64x2x2_t
200 poly64x2_t val[2];
201 } poly64x2x2_t;
202 #endif
205 typedef struct int8x8x3_t
207 int8x8_t val[3];
208 } int8x8x3_t;
210 typedef struct int8x16x3_t
212 int8x16_t val[3];
213 } int8x16x3_t;
215 typedef struct int16x4x3_t
217 int16x4_t val[3];
218 } int16x4x3_t;
220 typedef struct int16x8x3_t
222 int16x8_t val[3];
223 } int16x8x3_t;
225 typedef struct int32x2x3_t
227 int32x2_t val[3];
228 } int32x2x3_t;
230 typedef struct int32x4x3_t
232 int32x4_t val[3];
233 } int32x4x3_t;
235 typedef struct int64x1x3_t
237 int64x1_t val[3];
238 } int64x1x3_t;
240 typedef struct int64x2x3_t
242 int64x2_t val[3];
243 } int64x2x3_t;
245 typedef struct uint8x8x3_t
247 uint8x8_t val[3];
248 } uint8x8x3_t;
250 typedef struct uint8x16x3_t
252 uint8x16_t val[3];
253 } uint8x16x3_t;
255 typedef struct uint16x4x3_t
257 uint16x4_t val[3];
258 } uint16x4x3_t;
260 typedef struct uint16x8x3_t
262 uint16x8_t val[3];
263 } uint16x8x3_t;
265 typedef struct uint32x2x3_t
267 uint32x2_t val[3];
268 } uint32x2x3_t;
270 typedef struct uint32x4x3_t
272 uint32x4_t val[3];
273 } uint32x4x3_t;
275 typedef struct uint64x1x3_t
277 uint64x1_t val[3];
278 } uint64x1x3_t;
280 typedef struct uint64x2x3_t
282 uint64x2_t val[3];
283 } uint64x2x3_t;
285 typedef struct float32x2x3_t
287 float32x2_t val[3];
288 } float32x2x3_t;
290 typedef struct float32x4x3_t
292 float32x4_t val[3];
293 } float32x4x3_t;
295 typedef struct poly8x8x3_t
297 poly8x8_t val[3];
298 } poly8x8x3_t;
300 typedef struct poly8x16x3_t
302 poly8x16_t val[3];
303 } poly8x16x3_t;
305 typedef struct poly16x4x3_t
307 poly16x4_t val[3];
308 } poly16x4x3_t;
310 typedef struct poly16x8x3_t
312 poly16x8_t val[3];
313 } poly16x8x3_t;
315 #ifdef __ARM_FEATURE_CRYPTO
316 typedef struct poly64x1x3_t
318 poly64x1_t val[3];
319 } poly64x1x3_t;
320 #endif
323 #ifdef __ARM_FEATURE_CRYPTO
324 typedef struct poly64x2x3_t
326 poly64x2_t val[3];
327 } poly64x2x3_t;
328 #endif
331 typedef struct int8x8x4_t
333 int8x8_t val[4];
334 } int8x8x4_t;
336 typedef struct int8x16x4_t
338 int8x16_t val[4];
339 } int8x16x4_t;
341 typedef struct int16x4x4_t
343 int16x4_t val[4];
344 } int16x4x4_t;
346 typedef struct int16x8x4_t
348 int16x8_t val[4];
349 } int16x8x4_t;
351 typedef struct int32x2x4_t
353 int32x2_t val[4];
354 } int32x2x4_t;
356 typedef struct int32x4x4_t
358 int32x4_t val[4];
359 } int32x4x4_t;
361 typedef struct int64x1x4_t
363 int64x1_t val[4];
364 } int64x1x4_t;
366 typedef struct int64x2x4_t
368 int64x2_t val[4];
369 } int64x2x4_t;
371 typedef struct uint8x8x4_t
373 uint8x8_t val[4];
374 } uint8x8x4_t;
376 typedef struct uint8x16x4_t
378 uint8x16_t val[4];
379 } uint8x16x4_t;
381 typedef struct uint16x4x4_t
383 uint16x4_t val[4];
384 } uint16x4x4_t;
386 typedef struct uint16x8x4_t
388 uint16x8_t val[4];
389 } uint16x8x4_t;
391 typedef struct uint32x2x4_t
393 uint32x2_t val[4];
394 } uint32x2x4_t;
396 typedef struct uint32x4x4_t
398 uint32x4_t val[4];
399 } uint32x4x4_t;
401 typedef struct uint64x1x4_t
403 uint64x1_t val[4];
404 } uint64x1x4_t;
406 typedef struct uint64x2x4_t
408 uint64x2_t val[4];
409 } uint64x2x4_t;
411 typedef struct float32x2x4_t
413 float32x2_t val[4];
414 } float32x2x4_t;
416 typedef struct float32x4x4_t
418 float32x4_t val[4];
419 } float32x4x4_t;
421 typedef struct poly8x8x4_t
423 poly8x8_t val[4];
424 } poly8x8x4_t;
426 typedef struct poly8x16x4_t
428 poly8x16_t val[4];
429 } poly8x16x4_t;
431 typedef struct poly16x4x4_t
433 poly16x4_t val[4];
434 } poly16x4x4_t;
436 typedef struct poly16x8x4_t
438 poly16x8_t val[4];
439 } poly16x8x4_t;
441 #ifdef __ARM_FEATURE_CRYPTO
442 typedef struct poly64x1x4_t
444 poly64x1_t val[4];
445 } poly64x1x4_t;
446 #endif
449 #ifdef __ARM_FEATURE_CRYPTO
450 typedef struct poly64x2x4_t
452 poly64x2_t val[4];
453 } poly64x2x4_t;
454 #endif
458 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
459 vadd_s8 (int8x8_t __a, int8x8_t __b)
461 return (int8x8_t)__builtin_neon_vaddv8qi (__a, __b, 1);
464 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
465 vadd_s16 (int16x4_t __a, int16x4_t __b)
467 return (int16x4_t)__builtin_neon_vaddv4hi (__a, __b, 1);
470 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
471 vadd_s32 (int32x2_t __a, int32x2_t __b)
473 return (int32x2_t)__builtin_neon_vaddv2si (__a, __b, 1);
476 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
477 vadd_f32 (float32x2_t __a, float32x2_t __b)
479 return (float32x2_t)__builtin_neon_vaddv2sf (__a, __b, 3);
482 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
483 vadd_u8 (uint8x8_t __a, uint8x8_t __b)
485 return (uint8x8_t)__builtin_neon_vaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
488 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
489 vadd_u16 (uint16x4_t __a, uint16x4_t __b)
491 return (uint16x4_t)__builtin_neon_vaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
494 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
495 vadd_u32 (uint32x2_t __a, uint32x2_t __b)
497 return (uint32x2_t)__builtin_neon_vaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
500 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
501 vadd_s64 (int64x1_t __a, int64x1_t __b)
503 return (int64x1_t)__builtin_neon_vadddi (__a, __b, 1);
506 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
507 vadd_u64 (uint64x1_t __a, uint64x1_t __b)
509 return (uint64x1_t)__builtin_neon_vadddi ((int64x1_t) __a, (int64x1_t) __b, 0);
512 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
513 vaddq_s8 (int8x16_t __a, int8x16_t __b)
515 return (int8x16_t)__builtin_neon_vaddv16qi (__a, __b, 1);
518 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
519 vaddq_s16 (int16x8_t __a, int16x8_t __b)
521 return (int16x8_t)__builtin_neon_vaddv8hi (__a, __b, 1);
524 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
525 vaddq_s32 (int32x4_t __a, int32x4_t __b)
527 return (int32x4_t)__builtin_neon_vaddv4si (__a, __b, 1);
530 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
531 vaddq_s64 (int64x2_t __a, int64x2_t __b)
533 return (int64x2_t)__builtin_neon_vaddv2di (__a, __b, 1);
536 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
537 vaddq_f32 (float32x4_t __a, float32x4_t __b)
539 return (float32x4_t)__builtin_neon_vaddv4sf (__a, __b, 3);
542 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
543 vaddq_u8 (uint8x16_t __a, uint8x16_t __b)
545 return (uint8x16_t)__builtin_neon_vaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
548 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
549 vaddq_u16 (uint16x8_t __a, uint16x8_t __b)
551 return (uint16x8_t)__builtin_neon_vaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
554 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
555 vaddq_u32 (uint32x4_t __a, uint32x4_t __b)
557 return (uint32x4_t)__builtin_neon_vaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
560 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
561 vaddq_u64 (uint64x2_t __a, uint64x2_t __b)
563 return (uint64x2_t)__builtin_neon_vaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
566 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
567 vaddl_s8 (int8x8_t __a, int8x8_t __b)
569 return (int16x8_t)__builtin_neon_vaddlv8qi (__a, __b, 1);
572 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
573 vaddl_s16 (int16x4_t __a, int16x4_t __b)
575 return (int32x4_t)__builtin_neon_vaddlv4hi (__a, __b, 1);
578 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
579 vaddl_s32 (int32x2_t __a, int32x2_t __b)
581 return (int64x2_t)__builtin_neon_vaddlv2si (__a, __b, 1);
584 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
585 vaddl_u8 (uint8x8_t __a, uint8x8_t __b)
587 return (uint16x8_t)__builtin_neon_vaddlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
590 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
591 vaddl_u16 (uint16x4_t __a, uint16x4_t __b)
593 return (uint32x4_t)__builtin_neon_vaddlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
596 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
597 vaddl_u32 (uint32x2_t __a, uint32x2_t __b)
599 return (uint64x2_t)__builtin_neon_vaddlv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
602 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
603 vaddw_s8 (int16x8_t __a, int8x8_t __b)
605 return (int16x8_t)__builtin_neon_vaddwv8qi (__a, __b, 1);
608 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
609 vaddw_s16 (int32x4_t __a, int16x4_t __b)
611 return (int32x4_t)__builtin_neon_vaddwv4hi (__a, __b, 1);
614 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
615 vaddw_s32 (int64x2_t __a, int32x2_t __b)
617 return (int64x2_t)__builtin_neon_vaddwv2si (__a, __b, 1);
620 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
621 vaddw_u8 (uint16x8_t __a, uint8x8_t __b)
623 return (uint16x8_t)__builtin_neon_vaddwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0);
626 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
627 vaddw_u16 (uint32x4_t __a, uint16x4_t __b)
629 return (uint32x4_t)__builtin_neon_vaddwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0);
632 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
633 vaddw_u32 (uint64x2_t __a, uint32x2_t __b)
635 return (uint64x2_t)__builtin_neon_vaddwv2si ((int64x2_t) __a, (int32x2_t) __b, 0);
638 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
639 vhadd_s8 (int8x8_t __a, int8x8_t __b)
641 return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 1);
644 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
645 vhadd_s16 (int16x4_t __a, int16x4_t __b)
647 return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 1);
650 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
651 vhadd_s32 (int32x2_t __a, int32x2_t __b)
653 return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 1);
656 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
657 vhadd_u8 (uint8x8_t __a, uint8x8_t __b)
659 return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
662 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
663 vhadd_u16 (uint16x4_t __a, uint16x4_t __b)
665 return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
668 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
669 vhadd_u32 (uint32x2_t __a, uint32x2_t __b)
671 return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
674 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
675 vhaddq_s8 (int8x16_t __a, int8x16_t __b)
677 return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 1);
680 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
681 vhaddq_s16 (int16x8_t __a, int16x8_t __b)
683 return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 1);
686 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
687 vhaddq_s32 (int32x4_t __a, int32x4_t __b)
689 return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 1);
692 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
693 vhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
695 return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
698 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
699 vhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
701 return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
704 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
705 vhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
707 return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
710 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
711 vrhadd_s8 (int8x8_t __a, int8x8_t __b)
713 return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 5);
716 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
717 vrhadd_s16 (int16x4_t __a, int16x4_t __b)
719 return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 5);
722 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
723 vrhadd_s32 (int32x2_t __a, int32x2_t __b)
725 return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 5);
728 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
729 vrhadd_u8 (uint8x8_t __a, uint8x8_t __b)
731 return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 4);
734 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
735 vrhadd_u16 (uint16x4_t __a, uint16x4_t __b)
737 return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 4);
740 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
741 vrhadd_u32 (uint32x2_t __a, uint32x2_t __b)
743 return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 4);
746 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
747 vrhaddq_s8 (int8x16_t __a, int8x16_t __b)
749 return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 5);
752 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
753 vrhaddq_s16 (int16x8_t __a, int16x8_t __b)
755 return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 5);
758 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
759 vrhaddq_s32 (int32x4_t __a, int32x4_t __b)
761 return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 5);
764 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
765 vrhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
767 return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 4);
770 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
771 vrhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
773 return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
776 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
777 vrhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
779 return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
782 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
783 vqadd_s8 (int8x8_t __a, int8x8_t __b)
785 return (int8x8_t)__builtin_neon_vqaddv8qi (__a, __b, 1);
788 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
789 vqadd_s16 (int16x4_t __a, int16x4_t __b)
791 return (int16x4_t)__builtin_neon_vqaddv4hi (__a, __b, 1);
794 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
795 vqadd_s32 (int32x2_t __a, int32x2_t __b)
797 return (int32x2_t)__builtin_neon_vqaddv2si (__a, __b, 1);
800 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
801 vqadd_s64 (int64x1_t __a, int64x1_t __b)
803 return (int64x1_t)__builtin_neon_vqadddi (__a, __b, 1);
806 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
807 vqadd_u8 (uint8x8_t __a, uint8x8_t __b)
809 return (uint8x8_t)__builtin_neon_vqaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
812 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
813 vqadd_u16 (uint16x4_t __a, uint16x4_t __b)
815 return (uint16x4_t)__builtin_neon_vqaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
818 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
819 vqadd_u32 (uint32x2_t __a, uint32x2_t __b)
821 return (uint32x2_t)__builtin_neon_vqaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
824 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
825 vqadd_u64 (uint64x1_t __a, uint64x1_t __b)
827 return (uint64x1_t)__builtin_neon_vqadddi ((int64x1_t) __a, (int64x1_t) __b, 0);
830 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
831 vqaddq_s8 (int8x16_t __a, int8x16_t __b)
833 return (int8x16_t)__builtin_neon_vqaddv16qi (__a, __b, 1);
836 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
837 vqaddq_s16 (int16x8_t __a, int16x8_t __b)
839 return (int16x8_t)__builtin_neon_vqaddv8hi (__a, __b, 1);
842 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
843 vqaddq_s32 (int32x4_t __a, int32x4_t __b)
845 return (int32x4_t)__builtin_neon_vqaddv4si (__a, __b, 1);
848 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
849 vqaddq_s64 (int64x2_t __a, int64x2_t __b)
851 return (int64x2_t)__builtin_neon_vqaddv2di (__a, __b, 1);
854 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
855 vqaddq_u8 (uint8x16_t __a, uint8x16_t __b)
857 return (uint8x16_t)__builtin_neon_vqaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
860 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
861 vqaddq_u16 (uint16x8_t __a, uint16x8_t __b)
863 return (uint16x8_t)__builtin_neon_vqaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
866 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
867 vqaddq_u32 (uint32x4_t __a, uint32x4_t __b)
869 return (uint32x4_t)__builtin_neon_vqaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
872 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
873 vqaddq_u64 (uint64x2_t __a, uint64x2_t __b)
875 return (uint64x2_t)__builtin_neon_vqaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
878 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
879 vaddhn_s16 (int16x8_t __a, int16x8_t __b)
881 return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 1);
884 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
885 vaddhn_s32 (int32x4_t __a, int32x4_t __b)
887 return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 1);
890 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
891 vaddhn_s64 (int64x2_t __a, int64x2_t __b)
893 return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 1);
896 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
897 vaddhn_u16 (uint16x8_t __a, uint16x8_t __b)
899 return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
902 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
903 vaddhn_u32 (uint32x4_t __a, uint32x4_t __b)
905 return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
908 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
909 vaddhn_u64 (uint64x2_t __a, uint64x2_t __b)
911 return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
914 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
915 vraddhn_s16 (int16x8_t __a, int16x8_t __b)
917 return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 5);
920 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
921 vraddhn_s32 (int32x4_t __a, int32x4_t __b)
923 return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 5);
926 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
927 vraddhn_s64 (int64x2_t __a, int64x2_t __b)
929 return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 5);
932 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
933 vraddhn_u16 (uint16x8_t __a, uint16x8_t __b)
935 return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
938 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
939 vraddhn_u32 (uint32x4_t __a, uint32x4_t __b)
941 return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
944 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
945 vraddhn_u64 (uint64x2_t __a, uint64x2_t __b)
947 return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4);
950 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
951 vmul_s8 (int8x8_t __a, int8x8_t __b)
953 return (int8x8_t)__builtin_neon_vmulv8qi (__a, __b, 1);
956 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
957 vmul_s16 (int16x4_t __a, int16x4_t __b)
959 return (int16x4_t)__builtin_neon_vmulv4hi (__a, __b, 1);
962 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
963 vmul_s32 (int32x2_t __a, int32x2_t __b)
965 return (int32x2_t)__builtin_neon_vmulv2si (__a, __b, 1);
968 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
969 vmul_f32 (float32x2_t __a, float32x2_t __b)
971 return (float32x2_t)__builtin_neon_vmulv2sf (__a, __b, 3);
974 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
975 vmul_u8 (uint8x8_t __a, uint8x8_t __b)
977 return (uint8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
980 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
981 vmul_u16 (uint16x4_t __a, uint16x4_t __b)
983 return (uint16x4_t)__builtin_neon_vmulv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
986 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
987 vmul_u32 (uint32x2_t __a, uint32x2_t __b)
989 return (uint32x2_t)__builtin_neon_vmulv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
992 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
993 vmul_p8 (poly8x8_t __a, poly8x8_t __b)
995 return (poly8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
998 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
999 vmulq_s8 (int8x16_t __a, int8x16_t __b)
1001 return (int8x16_t)__builtin_neon_vmulv16qi (__a, __b, 1);
1004 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1005 vmulq_s16 (int16x8_t __a, int16x8_t __b)
1007 return (int16x8_t)__builtin_neon_vmulv8hi (__a, __b, 1);
1010 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1011 vmulq_s32 (int32x4_t __a, int32x4_t __b)
1013 return (int32x4_t)__builtin_neon_vmulv4si (__a, __b, 1);
1016 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1017 vmulq_f32 (float32x4_t __a, float32x4_t __b)
1019 return (float32x4_t)__builtin_neon_vmulv4sf (__a, __b, 3);
1022 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1023 vmulq_u8 (uint8x16_t __a, uint8x16_t __b)
1025 return (uint8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1028 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1029 vmulq_u16 (uint16x8_t __a, uint16x8_t __b)
1031 return (uint16x8_t)__builtin_neon_vmulv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1034 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1035 vmulq_u32 (uint32x4_t __a, uint32x4_t __b)
1037 return (uint32x4_t)__builtin_neon_vmulv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1040 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
1041 vmulq_p8 (poly8x16_t __a, poly8x16_t __b)
1043 return (poly8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
1046 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1047 vqdmulh_s16 (int16x4_t __a, int16x4_t __b)
1049 return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 1);
1052 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1053 vqdmulh_s32 (int32x2_t __a, int32x2_t __b)
1055 return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 1);
1058 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1059 vqdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1061 return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 1);
1064 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1065 vqdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1067 return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 1);
1070 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1071 vqrdmulh_s16 (int16x4_t __a, int16x4_t __b)
1073 return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 5);
1076 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1077 vqrdmulh_s32 (int32x2_t __a, int32x2_t __b)
1079 return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 5);
1082 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1083 vqrdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1085 return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 5);
1088 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1089 vqrdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1091 return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 5);
1094 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1095 vmull_s8 (int8x8_t __a, int8x8_t __b)
1097 return (int16x8_t)__builtin_neon_vmullv8qi (__a, __b, 1);
1100 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1101 vmull_s16 (int16x4_t __a, int16x4_t __b)
1103 return (int32x4_t)__builtin_neon_vmullv4hi (__a, __b, 1);
1106 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1107 vmull_s32 (int32x2_t __a, int32x2_t __b)
1109 return (int64x2_t)__builtin_neon_vmullv2si (__a, __b, 1);
1112 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1113 vmull_u8 (uint8x8_t __a, uint8x8_t __b)
1115 return (uint16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1118 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1119 vmull_u16 (uint16x4_t __a, uint16x4_t __b)
1121 return (uint32x4_t)__builtin_neon_vmullv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1124 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1125 vmull_u32 (uint32x2_t __a, uint32x2_t __b)
1127 return (uint64x2_t)__builtin_neon_vmullv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1130 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
1131 vmull_p8 (poly8x8_t __a, poly8x8_t __b)
1133 return (poly16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
1136 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1137 vqdmull_s16 (int16x4_t __a, int16x4_t __b)
1139 return (int32x4_t)__builtin_neon_vqdmullv4hi (__a, __b, 1);
1142 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1143 vqdmull_s32 (int32x2_t __a, int32x2_t __b)
1145 return (int64x2_t)__builtin_neon_vqdmullv2si (__a, __b, 1);
1148 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1149 vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1151 return (int8x8_t)__builtin_neon_vmlav8qi (__a, __b, __c, 1);
1154 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1155 vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1157 return (int16x4_t)__builtin_neon_vmlav4hi (__a, __b, __c, 1);
1160 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1161 vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1163 return (int32x2_t)__builtin_neon_vmlav2si (__a, __b, __c, 1);
1166 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1167 vmla_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1169 return (float32x2_t)__builtin_neon_vmlav2sf (__a, __b, __c, 3);
1172 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1173 vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1175 return (uint8x8_t)__builtin_neon_vmlav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1178 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1179 vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1181 return (uint16x4_t)__builtin_neon_vmlav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1184 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1185 vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1187 return (uint32x2_t)__builtin_neon_vmlav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1190 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1191 vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1193 return (int8x16_t)__builtin_neon_vmlav16qi (__a, __b, __c, 1);
1196 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1197 vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1199 return (int16x8_t)__builtin_neon_vmlav8hi (__a, __b, __c, 1);
1202 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1203 vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1205 return (int32x4_t)__builtin_neon_vmlav4si (__a, __b, __c, 1);
1208 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1209 vmlaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1211 return (float32x4_t)__builtin_neon_vmlav4sf (__a, __b, __c, 3);
1214 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1215 vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1217 return (uint8x16_t)__builtin_neon_vmlav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
1220 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1221 vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1223 return (uint16x8_t)__builtin_neon_vmlav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
1226 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1227 vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1229 return (uint32x4_t)__builtin_neon_vmlav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
1232 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1233 vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1235 return (int16x8_t)__builtin_neon_vmlalv8qi (__a, __b, __c, 1);
1238 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1239 vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1241 return (int32x4_t)__builtin_neon_vmlalv4hi (__a, __b, __c, 1);
1244 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1245 vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1247 return (int64x2_t)__builtin_neon_vmlalv2si (__a, __b, __c, 1);
1250 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1251 vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1253 return (uint16x8_t)__builtin_neon_vmlalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1256 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1257 vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1259 return (uint32x4_t)__builtin_neon_vmlalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1262 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1263 vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1265 return (uint64x2_t)__builtin_neon_vmlalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1268 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1269 vqdmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1271 return (int32x4_t)__builtin_neon_vqdmlalv4hi (__a, __b, __c, 1);
1274 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1275 vqdmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1277 return (int64x2_t)__builtin_neon_vqdmlalv2si (__a, __b, __c, 1);
1280 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1281 vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1283 return (int8x8_t)__builtin_neon_vmlsv8qi (__a, __b, __c, 1);
1286 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1287 vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1289 return (int16x4_t)__builtin_neon_vmlsv4hi (__a, __b, __c, 1);
1292 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1293 vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1295 return (int32x2_t)__builtin_neon_vmlsv2si (__a, __b, __c, 1);
1298 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1299 vmls_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1301 return (float32x2_t)__builtin_neon_vmlsv2sf (__a, __b, __c, 3);
1304 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1305 vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1307 return (uint8x8_t)__builtin_neon_vmlsv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1310 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1311 vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1313 return (uint16x4_t)__builtin_neon_vmlsv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1316 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1317 vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1319 return (uint32x2_t)__builtin_neon_vmlsv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1322 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1323 vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1325 return (int8x16_t)__builtin_neon_vmlsv16qi (__a, __b, __c, 1);
1328 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1329 vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1331 return (int16x8_t)__builtin_neon_vmlsv8hi (__a, __b, __c, 1);
1334 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1335 vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1337 return (int32x4_t)__builtin_neon_vmlsv4si (__a, __b, __c, 1);
1340 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1341 vmlsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1343 return (float32x4_t)__builtin_neon_vmlsv4sf (__a, __b, __c, 3);
1346 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1347 vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1349 return (uint8x16_t)__builtin_neon_vmlsv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
1352 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1353 vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1355 return (uint16x8_t)__builtin_neon_vmlsv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
1358 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1359 vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1361 return (uint32x4_t)__builtin_neon_vmlsv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
1364 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1365 vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1367 return (int16x8_t)__builtin_neon_vmlslv8qi (__a, __b, __c, 1);
1370 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1371 vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1373 return (int32x4_t)__builtin_neon_vmlslv4hi (__a, __b, __c, 1);
1376 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1377 vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1379 return (int64x2_t)__builtin_neon_vmlslv2si (__a, __b, __c, 1);
1382 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1383 vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1385 return (uint16x8_t)__builtin_neon_vmlslv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1388 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1389 vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1391 return (uint32x4_t)__builtin_neon_vmlslv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1394 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1395 vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1397 return (uint64x2_t)__builtin_neon_vmlslv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1400 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1401 vqdmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1403 return (int32x4_t)__builtin_neon_vqdmlslv4hi (__a, __b, __c, 1);
1406 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1407 vqdmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1409 return (int64x2_t)__builtin_neon_vqdmlslv2si (__a, __b, __c, 1);
1412 #ifdef __ARM_FEATURE_FMA
1413 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1414 vfma_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1416 return (float32x2_t)__builtin_neon_vfmav2sf (__a, __b, __c, 3);
1419 #endif
1420 #ifdef __ARM_FEATURE_FMA
1421 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1422 vfmaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1424 return (float32x4_t)__builtin_neon_vfmav4sf (__a, __b, __c, 3);
1427 #endif
1428 #ifdef __ARM_FEATURE_FMA
1429 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1430 vfms_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1432 return (float32x2_t)__builtin_neon_vfmsv2sf (__a, __b, __c, 3);
1435 #endif
1436 #ifdef __ARM_FEATURE_FMA
1437 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1438 vfmsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1440 return (float32x4_t)__builtin_neon_vfmsv4sf (__a, __b, __c, 3);
1443 #endif
1444 #if __ARM_ARCH >= 8
1445 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1446 vrndn_f32 (float32x2_t __a)
1448 return (float32x2_t)__builtin_neon_vrintnv2sf (__a);
1451 #endif
1452 #if __ARM_ARCH >= 8
1453 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1454 vrndqn_f32 (float32x4_t __a)
1456 return (float32x4_t)__builtin_neon_vrintnv4sf (__a);
1459 #endif
1460 #if __ARM_ARCH >= 8
1461 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1462 vrnda_f32 (float32x2_t __a)
1464 return (float32x2_t)__builtin_neon_vrintav2sf (__a);
1467 #endif
1468 #if __ARM_ARCH >= 8
1469 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1470 vrndqa_f32 (float32x4_t __a)
1472 return (float32x4_t)__builtin_neon_vrintav4sf (__a);
1475 #endif
1476 #if __ARM_ARCH >= 8
1477 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1478 vrndp_f32 (float32x2_t __a)
1480 return (float32x2_t)__builtin_neon_vrintpv2sf (__a);
1483 #endif
1484 #if __ARM_ARCH >= 8
1485 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1486 vrndqp_f32 (float32x4_t __a)
1488 return (float32x4_t)__builtin_neon_vrintpv4sf (__a);
1491 #endif
1492 #if __ARM_ARCH >= 8
1493 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1494 vrndm_f32 (float32x2_t __a)
1496 return (float32x2_t)__builtin_neon_vrintmv2sf (__a);
1499 #endif
1500 #if __ARM_ARCH >= 8
1501 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1502 vrndqm_f32 (float32x4_t __a)
1504 return (float32x4_t)__builtin_neon_vrintmv4sf (__a);
1507 #endif
1508 #if __ARM_ARCH >= 8
1509 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1510 vrnd_f32 (float32x2_t __a)
1512 return (float32x2_t)__builtin_neon_vrintzv2sf (__a);
1515 #endif
1516 #if __ARM_ARCH >= 8
1517 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1518 vrndq_f32 (float32x4_t __a)
1520 return (float32x4_t)__builtin_neon_vrintzv4sf (__a);
1523 #endif
1524 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1525 vsub_s8 (int8x8_t __a, int8x8_t __b)
1527 return (int8x8_t)__builtin_neon_vsubv8qi (__a, __b, 1);
1530 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1531 vsub_s16 (int16x4_t __a, int16x4_t __b)
1533 return (int16x4_t)__builtin_neon_vsubv4hi (__a, __b, 1);
1536 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1537 vsub_s32 (int32x2_t __a, int32x2_t __b)
1539 return (int32x2_t)__builtin_neon_vsubv2si (__a, __b, 1);
1542 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1543 vsub_f32 (float32x2_t __a, float32x2_t __b)
1545 return (float32x2_t)__builtin_neon_vsubv2sf (__a, __b, 3);
1548 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1549 vsub_u8 (uint8x8_t __a, uint8x8_t __b)
1551 return (uint8x8_t)__builtin_neon_vsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1554 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1555 vsub_u16 (uint16x4_t __a, uint16x4_t __b)
1557 return (uint16x4_t)__builtin_neon_vsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1560 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1561 vsub_u32 (uint32x2_t __a, uint32x2_t __b)
1563 return (uint32x2_t)__builtin_neon_vsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1566 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
1567 vsub_s64 (int64x1_t __a, int64x1_t __b)
1569 return (int64x1_t)__builtin_neon_vsubdi (__a, __b, 1);
1572 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
1573 vsub_u64 (uint64x1_t __a, uint64x1_t __b)
1575 return (uint64x1_t)__builtin_neon_vsubdi ((int64x1_t) __a, (int64x1_t) __b, 0);
1578 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1579 vsubq_s8 (int8x16_t __a, int8x16_t __b)
1581 return (int8x16_t)__builtin_neon_vsubv16qi (__a, __b, 1);
1584 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1585 vsubq_s16 (int16x8_t __a, int16x8_t __b)
1587 return (int16x8_t)__builtin_neon_vsubv8hi (__a, __b, 1);
1590 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1591 vsubq_s32 (int32x4_t __a, int32x4_t __b)
1593 return (int32x4_t)__builtin_neon_vsubv4si (__a, __b, 1);
1596 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1597 vsubq_s64 (int64x2_t __a, int64x2_t __b)
1599 return (int64x2_t)__builtin_neon_vsubv2di (__a, __b, 1);
1602 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1603 vsubq_f32 (float32x4_t __a, float32x4_t __b)
1605 return (float32x4_t)__builtin_neon_vsubv4sf (__a, __b, 3);
1608 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1609 vsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1611 return (uint8x16_t)__builtin_neon_vsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1614 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1615 vsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1617 return (uint16x8_t)__builtin_neon_vsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1620 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1621 vsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1623 return (uint32x4_t)__builtin_neon_vsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1626 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1627 vsubq_u64 (uint64x2_t __a, uint64x2_t __b)
1629 return (uint64x2_t)__builtin_neon_vsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1632 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1633 vsubl_s8 (int8x8_t __a, int8x8_t __b)
1635 return (int16x8_t)__builtin_neon_vsublv8qi (__a, __b, 1);
1638 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1639 vsubl_s16 (int16x4_t __a, int16x4_t __b)
1641 return (int32x4_t)__builtin_neon_vsublv4hi (__a, __b, 1);
1644 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1645 vsubl_s32 (int32x2_t __a, int32x2_t __b)
1647 return (int64x2_t)__builtin_neon_vsublv2si (__a, __b, 1);
1650 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1651 vsubl_u8 (uint8x8_t __a, uint8x8_t __b)
1653 return (uint16x8_t)__builtin_neon_vsublv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1656 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1657 vsubl_u16 (uint16x4_t __a, uint16x4_t __b)
1659 return (uint32x4_t)__builtin_neon_vsublv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1662 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1663 vsubl_u32 (uint32x2_t __a, uint32x2_t __b)
1665 return (uint64x2_t)__builtin_neon_vsublv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1668 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1669 vsubw_s8 (int16x8_t __a, int8x8_t __b)
1671 return (int16x8_t)__builtin_neon_vsubwv8qi (__a, __b, 1);
1674 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1675 vsubw_s16 (int32x4_t __a, int16x4_t __b)
1677 return (int32x4_t)__builtin_neon_vsubwv4hi (__a, __b, 1);
1680 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1681 vsubw_s32 (int64x2_t __a, int32x2_t __b)
1683 return (int64x2_t)__builtin_neon_vsubwv2si (__a, __b, 1);
1686 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1687 vsubw_u8 (uint16x8_t __a, uint8x8_t __b)
1689 return (uint16x8_t)__builtin_neon_vsubwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0);
1692 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1693 vsubw_u16 (uint32x4_t __a, uint16x4_t __b)
1695 return (uint32x4_t)__builtin_neon_vsubwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0);
1698 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1699 vsubw_u32 (uint64x2_t __a, uint32x2_t __b)
1701 return (uint64x2_t)__builtin_neon_vsubwv2si ((int64x2_t) __a, (int32x2_t) __b, 0);
1704 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1705 vhsub_s8 (int8x8_t __a, int8x8_t __b)
1707 return (int8x8_t)__builtin_neon_vhsubv8qi (__a, __b, 1);
1710 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1711 vhsub_s16 (int16x4_t __a, int16x4_t __b)
1713 return (int16x4_t)__builtin_neon_vhsubv4hi (__a, __b, 1);
1716 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1717 vhsub_s32 (int32x2_t __a, int32x2_t __b)
1719 return (int32x2_t)__builtin_neon_vhsubv2si (__a, __b, 1);
1722 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1723 vhsub_u8 (uint8x8_t __a, uint8x8_t __b)
1725 return (uint8x8_t)__builtin_neon_vhsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1728 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1729 vhsub_u16 (uint16x4_t __a, uint16x4_t __b)
1731 return (uint16x4_t)__builtin_neon_vhsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1734 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1735 vhsub_u32 (uint32x2_t __a, uint32x2_t __b)
1737 return (uint32x2_t)__builtin_neon_vhsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1740 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1741 vhsubq_s8 (int8x16_t __a, int8x16_t __b)
1743 return (int8x16_t)__builtin_neon_vhsubv16qi (__a, __b, 1);
1746 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1747 vhsubq_s16 (int16x8_t __a, int16x8_t __b)
1749 return (int16x8_t)__builtin_neon_vhsubv8hi (__a, __b, 1);
1752 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1753 vhsubq_s32 (int32x4_t __a, int32x4_t __b)
1755 return (int32x4_t)__builtin_neon_vhsubv4si (__a, __b, 1);
1758 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1759 vhsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1761 return (uint8x16_t)__builtin_neon_vhsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1764 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1765 vhsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1767 return (uint16x8_t)__builtin_neon_vhsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1770 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1771 vhsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1773 return (uint32x4_t)__builtin_neon_vhsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1776 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1777 vqsub_s8 (int8x8_t __a, int8x8_t __b)
1779 return (int8x8_t)__builtin_neon_vqsubv8qi (__a, __b, 1);
1782 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1783 vqsub_s16 (int16x4_t __a, int16x4_t __b)
1785 return (int16x4_t)__builtin_neon_vqsubv4hi (__a, __b, 1);
1788 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1789 vqsub_s32 (int32x2_t __a, int32x2_t __b)
1791 return (int32x2_t)__builtin_neon_vqsubv2si (__a, __b, 1);
1794 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
1795 vqsub_s64 (int64x1_t __a, int64x1_t __b)
1797 return (int64x1_t)__builtin_neon_vqsubdi (__a, __b, 1);
1800 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1801 vqsub_u8 (uint8x8_t __a, uint8x8_t __b)
1803 return (uint8x8_t)__builtin_neon_vqsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1806 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1807 vqsub_u16 (uint16x4_t __a, uint16x4_t __b)
1809 return (uint16x4_t)__builtin_neon_vqsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1812 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1813 vqsub_u32 (uint32x2_t __a, uint32x2_t __b)
1815 return (uint32x2_t)__builtin_neon_vqsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1818 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
1819 vqsub_u64 (uint64x1_t __a, uint64x1_t __b)
1821 return (uint64x1_t)__builtin_neon_vqsubdi ((int64x1_t) __a, (int64x1_t) __b, 0);
1824 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1825 vqsubq_s8 (int8x16_t __a, int8x16_t __b)
1827 return (int8x16_t)__builtin_neon_vqsubv16qi (__a, __b, 1);
1830 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1831 vqsubq_s16 (int16x8_t __a, int16x8_t __b)
1833 return (int16x8_t)__builtin_neon_vqsubv8hi (__a, __b, 1);
1836 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1837 vqsubq_s32 (int32x4_t __a, int32x4_t __b)
1839 return (int32x4_t)__builtin_neon_vqsubv4si (__a, __b, 1);
1842 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1843 vqsubq_s64 (int64x2_t __a, int64x2_t __b)
1845 return (int64x2_t)__builtin_neon_vqsubv2di (__a, __b, 1);
1848 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1849 vqsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1851 return (uint8x16_t)__builtin_neon_vqsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1854 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1855 vqsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1857 return (uint16x8_t)__builtin_neon_vqsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1860 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1861 vqsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1863 return (uint32x4_t)__builtin_neon_vqsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1866 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1867 vqsubq_u64 (uint64x2_t __a, uint64x2_t __b)
1869 return (uint64x2_t)__builtin_neon_vqsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1872 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1873 vsubhn_s16 (int16x8_t __a, int16x8_t __b)
1875 return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 1);
1878 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1879 vsubhn_s32 (int32x4_t __a, int32x4_t __b)
1881 return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 1);
1884 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1885 vsubhn_s64 (int64x2_t __a, int64x2_t __b)
1887 return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 1);
1890 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1891 vsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
1893 return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1896 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1897 vsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
1899 return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1902 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1903 vsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
1905 return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1908 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1909 vrsubhn_s16 (int16x8_t __a, int16x8_t __b)
1911 return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 5);
1914 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1915 vrsubhn_s32 (int32x4_t __a, int32x4_t __b)
1917 return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 5);
1920 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1921 vrsubhn_s64 (int64x2_t __a, int64x2_t __b)
1923 return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 5);
1926 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1927 vrsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
1929 return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
1932 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1933 vrsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
1935 return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
1938 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1939 vrsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
1941 return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4);
1944 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1945 vceq_s8 (int8x8_t __a, int8x8_t __b)
1947 return (uint8x8_t)__builtin_neon_vceqv8qi (__a, __b, 1);
1950 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1951 vceq_s16 (int16x4_t __a, int16x4_t __b)
1953 return (uint16x4_t)__builtin_neon_vceqv4hi (__a, __b, 1);
1956 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1957 vceq_s32 (int32x2_t __a, int32x2_t __b)
1959 return (uint32x2_t)__builtin_neon_vceqv2si (__a, __b, 1);
1962 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1963 vceq_f32 (float32x2_t __a, float32x2_t __b)
1965 return (uint32x2_t)__builtin_neon_vceqv2sf (__a, __b, 3);
1968 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1969 vceq_u8 (uint8x8_t __a, uint8x8_t __b)
1971 return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1974 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1975 vceq_u16 (uint16x4_t __a, uint16x4_t __b)
1977 return (uint16x4_t)__builtin_neon_vceqv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1980 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1981 vceq_u32 (uint32x2_t __a, uint32x2_t __b)
1983 return (uint32x2_t)__builtin_neon_vceqv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1986 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1987 vceq_p8 (poly8x8_t __a, poly8x8_t __b)
1989 return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
1992 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1993 vceqq_s8 (int8x16_t __a, int8x16_t __b)
1995 return (uint8x16_t)__builtin_neon_vceqv16qi (__a, __b, 1);
1998 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1999 vceqq_s16 (int16x8_t __a, int16x8_t __b)
2001 return (uint16x8_t)__builtin_neon_vceqv8hi (__a, __b, 1);
2004 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2005 vceqq_s32 (int32x4_t __a, int32x4_t __b)
2007 return (uint32x4_t)__builtin_neon_vceqv4si (__a, __b, 1);
2010 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2011 vceqq_f32 (float32x4_t __a, float32x4_t __b)
2013 return (uint32x4_t)__builtin_neon_vceqv4sf (__a, __b, 3);
2016 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2017 vceqq_u8 (uint8x16_t __a, uint8x16_t __b)
2019 return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2022 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2023 vceqq_u16 (uint16x8_t __a, uint16x8_t __b)
2025 return (uint16x8_t)__builtin_neon_vceqv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2028 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2029 vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
2031 return (uint32x4_t)__builtin_neon_vceqv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2034 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2035 vceqq_p8 (poly8x16_t __a, poly8x16_t __b)
2037 return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
2040 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2041 vcge_s8 (int8x8_t __a, int8x8_t __b)
2043 return (uint8x8_t)__builtin_neon_vcgev8qi (__a, __b, 1);
2046 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2047 vcge_s16 (int16x4_t __a, int16x4_t __b)
2049 return (uint16x4_t)__builtin_neon_vcgev4hi (__a, __b, 1);
2052 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2053 vcge_s32 (int32x2_t __a, int32x2_t __b)
2055 return (uint32x2_t)__builtin_neon_vcgev2si (__a, __b, 1);
2058 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2059 vcge_f32 (float32x2_t __a, float32x2_t __b)
2061 return (uint32x2_t)__builtin_neon_vcgev2sf (__a, __b, 3);
2064 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2065 vcge_u8 (uint8x8_t __a, uint8x8_t __b)
2067 return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2070 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2071 vcge_u16 (uint16x4_t __a, uint16x4_t __b)
2073 return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2076 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2077 vcge_u32 (uint32x2_t __a, uint32x2_t __b)
2079 return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2082 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2083 vcgeq_s8 (int8x16_t __a, int8x16_t __b)
2085 return (uint8x16_t)__builtin_neon_vcgev16qi (__a, __b, 1);
2088 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2089 vcgeq_s16 (int16x8_t __a, int16x8_t __b)
2091 return (uint16x8_t)__builtin_neon_vcgev8hi (__a, __b, 1);
2094 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2095 vcgeq_s32 (int32x4_t __a, int32x4_t __b)
2097 return (uint32x4_t)__builtin_neon_vcgev4si (__a, __b, 1);
2100 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2101 vcgeq_f32 (float32x4_t __a, float32x4_t __b)
2103 return (uint32x4_t)__builtin_neon_vcgev4sf (__a, __b, 3);
2106 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2107 vcgeq_u8 (uint8x16_t __a, uint8x16_t __b)
2109 return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2112 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2113 vcgeq_u16 (uint16x8_t __a, uint16x8_t __b)
2115 return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2118 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2119 vcgeq_u32 (uint32x4_t __a, uint32x4_t __b)
2121 return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2124 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2125 vcle_s8 (int8x8_t __a, int8x8_t __b)
2127 return (uint8x8_t)__builtin_neon_vcgev8qi (__b, __a, 1);
2130 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2131 vcle_s16 (int16x4_t __a, int16x4_t __b)
2133 return (uint16x4_t)__builtin_neon_vcgev4hi (__b, __a, 1);
2136 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2137 vcle_s32 (int32x2_t __a, int32x2_t __b)
2139 return (uint32x2_t)__builtin_neon_vcgev2si (__b, __a, 1);
2142 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2143 vcle_f32 (float32x2_t __a, float32x2_t __b)
2145 return (uint32x2_t)__builtin_neon_vcgev2sf (__b, __a, 3);
2148 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2149 vcle_u8 (uint8x8_t __a, uint8x8_t __b)
2151 return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __b, (int8x8_t) __a, 0);
2154 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2155 vcle_u16 (uint16x4_t __a, uint16x4_t __b)
2157 return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __b, (int16x4_t) __a, 0);
2160 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2161 vcle_u32 (uint32x2_t __a, uint32x2_t __b)
2163 return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __b, (int32x2_t) __a, 0);
2166 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2167 vcleq_s8 (int8x16_t __a, int8x16_t __b)
2169 return (uint8x16_t)__builtin_neon_vcgev16qi (__b, __a, 1);
2172 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2173 vcleq_s16 (int16x8_t __a, int16x8_t __b)
2175 return (uint16x8_t)__builtin_neon_vcgev8hi (__b, __a, 1);
2178 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2179 vcleq_s32 (int32x4_t __a, int32x4_t __b)
2181 return (uint32x4_t)__builtin_neon_vcgev4si (__b, __a, 1);
2184 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2185 vcleq_f32 (float32x4_t __a, float32x4_t __b)
2187 return (uint32x4_t)__builtin_neon_vcgev4sf (__b, __a, 3);
2190 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2191 vcleq_u8 (uint8x16_t __a, uint8x16_t __b)
2193 return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __b, (int8x16_t) __a, 0);
2196 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2197 vcleq_u16 (uint16x8_t __a, uint16x8_t __b)
2199 return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __b, (int16x8_t) __a, 0);
2202 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2203 vcleq_u32 (uint32x4_t __a, uint32x4_t __b)
2205 return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __b, (int32x4_t) __a, 0);
2208 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2209 vcgt_s8 (int8x8_t __a, int8x8_t __b)
2211 return (uint8x8_t)__builtin_neon_vcgtv8qi (__a, __b, 1);
2214 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2215 vcgt_s16 (int16x4_t __a, int16x4_t __b)
2217 return (uint16x4_t)__builtin_neon_vcgtv4hi (__a, __b, 1);
2220 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2221 vcgt_s32 (int32x2_t __a, int32x2_t __b)
2223 return (uint32x2_t)__builtin_neon_vcgtv2si (__a, __b, 1);
2226 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2227 vcgt_f32 (float32x2_t __a, float32x2_t __b)
2229 return (uint32x2_t)__builtin_neon_vcgtv2sf (__a, __b, 3);
2232 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2233 vcgt_u8 (uint8x8_t __a, uint8x8_t __b)
2235 return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2238 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2239 vcgt_u16 (uint16x4_t __a, uint16x4_t __b)
2241 return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2244 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2245 vcgt_u32 (uint32x2_t __a, uint32x2_t __b)
2247 return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2250 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2251 vcgtq_s8 (int8x16_t __a, int8x16_t __b)
2253 return (uint8x16_t)__builtin_neon_vcgtv16qi (__a, __b, 1);
2256 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2257 vcgtq_s16 (int16x8_t __a, int16x8_t __b)
2259 return (uint16x8_t)__builtin_neon_vcgtv8hi (__a, __b, 1);
2262 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2263 vcgtq_s32 (int32x4_t __a, int32x4_t __b)
2265 return (uint32x4_t)__builtin_neon_vcgtv4si (__a, __b, 1);
2268 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2269 vcgtq_f32 (float32x4_t __a, float32x4_t __b)
2271 return (uint32x4_t)__builtin_neon_vcgtv4sf (__a, __b, 3);
2274 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2275 vcgtq_u8 (uint8x16_t __a, uint8x16_t __b)
2277 return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2280 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2281 vcgtq_u16 (uint16x8_t __a, uint16x8_t __b)
2283 return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2286 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2287 vcgtq_u32 (uint32x4_t __a, uint32x4_t __b)
2289 return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2292 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2293 vclt_s8 (int8x8_t __a, int8x8_t __b)
2295 return (uint8x8_t)__builtin_neon_vcgtv8qi (__b, __a, 1);
2298 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2299 vclt_s16 (int16x4_t __a, int16x4_t __b)
2301 return (uint16x4_t)__builtin_neon_vcgtv4hi (__b, __a, 1);
2304 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2305 vclt_s32 (int32x2_t __a, int32x2_t __b)
2307 return (uint32x2_t)__builtin_neon_vcgtv2si (__b, __a, 1);
2310 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2311 vclt_f32 (float32x2_t __a, float32x2_t __b)
2313 return (uint32x2_t)__builtin_neon_vcgtv2sf (__b, __a, 3);
2316 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2317 vclt_u8 (uint8x8_t __a, uint8x8_t __b)
2319 return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __b, (int8x8_t) __a, 0);
2322 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2323 vclt_u16 (uint16x4_t __a, uint16x4_t __b)
2325 return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __b, (int16x4_t) __a, 0);
2328 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2329 vclt_u32 (uint32x2_t __a, uint32x2_t __b)
2331 return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __b, (int32x2_t) __a, 0);
2334 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2335 vcltq_s8 (int8x16_t __a, int8x16_t __b)
2337 return (uint8x16_t)__builtin_neon_vcgtv16qi (__b, __a, 1);
2340 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2341 vcltq_s16 (int16x8_t __a, int16x8_t __b)
2343 return (uint16x8_t)__builtin_neon_vcgtv8hi (__b, __a, 1);
2346 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2347 vcltq_s32 (int32x4_t __a, int32x4_t __b)
2349 return (uint32x4_t)__builtin_neon_vcgtv4si (__b, __a, 1);
2352 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2353 vcltq_f32 (float32x4_t __a, float32x4_t __b)
2355 return (uint32x4_t)__builtin_neon_vcgtv4sf (__b, __a, 3);
2358 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2359 vcltq_u8 (uint8x16_t __a, uint8x16_t __b)
2361 return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __b, (int8x16_t) __a, 0);
2364 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2365 vcltq_u16 (uint16x8_t __a, uint16x8_t __b)
2367 return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __b, (int16x8_t) __a, 0);
2370 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2371 vcltq_u32 (uint32x4_t __a, uint32x4_t __b)
2373 return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __b, (int32x4_t) __a, 0);
2376 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2377 vcage_f32 (float32x2_t __a, float32x2_t __b)
2379 return (uint32x2_t)__builtin_neon_vcagev2sf (__a, __b, 3);
2382 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2383 vcageq_f32 (float32x4_t __a, float32x4_t __b)
2385 return (uint32x4_t)__builtin_neon_vcagev4sf (__a, __b, 3);
2388 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2389 vcale_f32 (float32x2_t __a, float32x2_t __b)
2391 return (uint32x2_t)__builtin_neon_vcagev2sf (__b, __a, 3);
2394 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2395 vcaleq_f32 (float32x4_t __a, float32x4_t __b)
2397 return (uint32x4_t)__builtin_neon_vcagev4sf (__b, __a, 3);
2400 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2401 vcagt_f32 (float32x2_t __a, float32x2_t __b)
2403 return (uint32x2_t)__builtin_neon_vcagtv2sf (__a, __b, 3);
2406 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2407 vcagtq_f32 (float32x4_t __a, float32x4_t __b)
2409 return (uint32x4_t)__builtin_neon_vcagtv4sf (__a, __b, 3);
2412 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2413 vcalt_f32 (float32x2_t __a, float32x2_t __b)
2415 return (uint32x2_t)__builtin_neon_vcagtv2sf (__b, __a, 3);
2418 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2419 vcaltq_f32 (float32x4_t __a, float32x4_t __b)
2421 return (uint32x4_t)__builtin_neon_vcagtv4sf (__b, __a, 3);
2424 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2425 vtst_s8 (int8x8_t __a, int8x8_t __b)
2427 return (uint8x8_t)__builtin_neon_vtstv8qi (__a, __b, 1);
2430 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2431 vtst_s16 (int16x4_t __a, int16x4_t __b)
2433 return (uint16x4_t)__builtin_neon_vtstv4hi (__a, __b, 1);
2436 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2437 vtst_s32 (int32x2_t __a, int32x2_t __b)
2439 return (uint32x2_t)__builtin_neon_vtstv2si (__a, __b, 1);
2442 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2443 vtst_u8 (uint8x8_t __a, uint8x8_t __b)
2445 return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2448 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2449 vtst_u16 (uint16x4_t __a, uint16x4_t __b)
2451 return (uint16x4_t)__builtin_neon_vtstv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2454 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2455 vtst_u32 (uint32x2_t __a, uint32x2_t __b)
2457 return (uint32x2_t)__builtin_neon_vtstv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2460 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2461 vtst_p8 (poly8x8_t __a, poly8x8_t __b)
2463 return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
2466 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2467 vtstq_s8 (int8x16_t __a, int8x16_t __b)
2469 return (uint8x16_t)__builtin_neon_vtstv16qi (__a, __b, 1);
2472 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2473 vtstq_s16 (int16x8_t __a, int16x8_t __b)
2475 return (uint16x8_t)__builtin_neon_vtstv8hi (__a, __b, 1);
2478 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2479 vtstq_s32 (int32x4_t __a, int32x4_t __b)
2481 return (uint32x4_t)__builtin_neon_vtstv4si (__a, __b, 1);
2484 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2485 vtstq_u8 (uint8x16_t __a, uint8x16_t __b)
2487 return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2490 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2491 vtstq_u16 (uint16x8_t __a, uint16x8_t __b)
2493 return (uint16x8_t)__builtin_neon_vtstv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2496 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2497 vtstq_u32 (uint32x4_t __a, uint32x4_t __b)
2499 return (uint32x4_t)__builtin_neon_vtstv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2502 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2503 vtstq_p8 (poly8x16_t __a, poly8x16_t __b)
2505 return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
2508 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2509 vabd_s8 (int8x8_t __a, int8x8_t __b)
2511 return (int8x8_t)__builtin_neon_vabdv8qi (__a, __b, 1);
2514 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2515 vabd_s16 (int16x4_t __a, int16x4_t __b)
2517 return (int16x4_t)__builtin_neon_vabdv4hi (__a, __b, 1);
2520 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2521 vabd_s32 (int32x2_t __a, int32x2_t __b)
2523 return (int32x2_t)__builtin_neon_vabdv2si (__a, __b, 1);
2526 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2527 vabd_f32 (float32x2_t __a, float32x2_t __b)
2529 return (float32x2_t)__builtin_neon_vabdv2sf (__a, __b, 3);
2532 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2533 vabd_u8 (uint8x8_t __a, uint8x8_t __b)
2535 return (uint8x8_t)__builtin_neon_vabdv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2538 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2539 vabd_u16 (uint16x4_t __a, uint16x4_t __b)
2541 return (uint16x4_t)__builtin_neon_vabdv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2544 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2545 vabd_u32 (uint32x2_t __a, uint32x2_t __b)
2547 return (uint32x2_t)__builtin_neon_vabdv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2550 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
2551 vabdq_s8 (int8x16_t __a, int8x16_t __b)
2553 return (int8x16_t)__builtin_neon_vabdv16qi (__a, __b, 1);
2556 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2557 vabdq_s16 (int16x8_t __a, int16x8_t __b)
2559 return (int16x8_t)__builtin_neon_vabdv8hi (__a, __b, 1);
2562 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2563 vabdq_s32 (int32x4_t __a, int32x4_t __b)
2565 return (int32x4_t)__builtin_neon_vabdv4si (__a, __b, 1);
2568 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
2569 vabdq_f32 (float32x4_t __a, float32x4_t __b)
2571 return (float32x4_t)__builtin_neon_vabdv4sf (__a, __b, 3);
2574 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2575 vabdq_u8 (uint8x16_t __a, uint8x16_t __b)
2577 return (uint8x16_t)__builtin_neon_vabdv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2580 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2581 vabdq_u16 (uint16x8_t __a, uint16x8_t __b)
2583 return (uint16x8_t)__builtin_neon_vabdv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2586 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2587 vabdq_u32 (uint32x4_t __a, uint32x4_t __b)
2589 return (uint32x4_t)__builtin_neon_vabdv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2592 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2593 vabdl_s8 (int8x8_t __a, int8x8_t __b)
2595 return (int16x8_t)__builtin_neon_vabdlv8qi (__a, __b, 1);
2598 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2599 vabdl_s16 (int16x4_t __a, int16x4_t __b)
2601 return (int32x4_t)__builtin_neon_vabdlv4hi (__a, __b, 1);
2604 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
2605 vabdl_s32 (int32x2_t __a, int32x2_t __b)
2607 return (int64x2_t)__builtin_neon_vabdlv2si (__a, __b, 1);
2610 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2611 vabdl_u8 (uint8x8_t __a, uint8x8_t __b)
2613 return (uint16x8_t)__builtin_neon_vabdlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2616 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2617 vabdl_u16 (uint16x4_t __a, uint16x4_t __b)
2619 return (uint32x4_t)__builtin_neon_vabdlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2622 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
2623 vabdl_u32 (uint32x2_t __a, uint32x2_t __b)
2625 return (uint64x2_t)__builtin_neon_vabdlv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2628 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2629 vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
2631 return (int8x8_t)__builtin_neon_vabav8qi (__a, __b, __c, 1);
2634 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2635 vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
2637 return (int16x4_t)__builtin_neon_vabav4hi (__a, __b, __c, 1);
2640 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2641 vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
2643 return (int32x2_t)__builtin_neon_vabav2si (__a, __b, __c, 1);
2646 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2647 vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
2649 return (uint8x8_t)__builtin_neon_vabav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
2652 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2653 vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
2655 return (uint16x4_t)__builtin_neon_vabav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
2658 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2659 vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
2661 return (uint32x2_t)__builtin_neon_vabav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
2664 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
2665 vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
2667 return (int8x16_t)__builtin_neon_vabav16qi (__a, __b, __c, 1);
2670 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2671 vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
2673 return (int16x8_t)__builtin_neon_vabav8hi (__a, __b, __c, 1);
2676 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2677 vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
2679 return (int32x4_t)__builtin_neon_vabav4si (__a, __b, __c, 1);
2682 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2683 vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
2685 return (uint8x16_t)__builtin_neon_vabav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
2688 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2689 vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
2691 return (uint16x8_t)__builtin_neon_vabav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
2694 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2695 vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
2697 return (uint32x4_t)__builtin_neon_vabav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
2700 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2701 vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
2703 return (int16x8_t)__builtin_neon_vabalv8qi (__a, __b, __c, 1);
2706 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2707 vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
2709 return (int32x4_t)__builtin_neon_vabalv4hi (__a, __b, __c, 1);
2712 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
2713 vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
2715 return (int64x2_t)__builtin_neon_vabalv2si (__a, __b, __c, 1);
2718 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2719 vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
2721 return (uint16x8_t)__builtin_neon_vabalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
2724 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2725 vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
2727 return (uint32x4_t)__builtin_neon_vabalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
2730 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
2731 vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
2733 return (uint64x2_t)__builtin_neon_vabalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
2736 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2737 vmax_s8 (int8x8_t __a, int8x8_t __b)
2739 return (int8x8_t)__builtin_neon_vmaxv8qi (__a, __b, 1);
2742 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2743 vmax_s16 (int16x4_t __a, int16x4_t __b)
2745 return (int16x4_t)__builtin_neon_vmaxv4hi (__a, __b, 1);
2748 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2749 vmax_s32 (int32x2_t __a, int32x2_t __b)
2751 return (int32x2_t)__builtin_neon_vmaxv2si (__a, __b, 1);
2754 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2755 vmax_f32 (float32x2_t __a, float32x2_t __b)
2757 return (float32x2_t)__builtin_neon_vmaxv2sf (__a, __b, 3);
2760 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2761 vmax_u8 (uint8x8_t __a, uint8x8_t __b)
2763 return (uint8x8_t)__builtin_neon_vmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2766 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2767 vmax_u16 (uint16x4_t __a, uint16x4_t __b)
2769 return (uint16x4_t)__builtin_neon_vmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2772 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2773 vmax_u32 (uint32x2_t __a, uint32x2_t __b)
2775 return (uint32x2_t)__builtin_neon_vmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2778 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
2779 vmaxq_s8 (int8x16_t __a, int8x16_t __b)
2781 return (int8x16_t)__builtin_neon_vmaxv16qi (__a, __b, 1);
2784 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2785 vmaxq_s16 (int16x8_t __a, int16x8_t __b)
2787 return (int16x8_t)__builtin_neon_vmaxv8hi (__a, __b, 1);
2790 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2791 vmaxq_s32 (int32x4_t __a, int32x4_t __b)
2793 return (int32x4_t)__builtin_neon_vmaxv4si (__a, __b, 1);
2796 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
2797 vmaxq_f32 (float32x4_t __a, float32x4_t __b)
2799 return (float32x4_t)__builtin_neon_vmaxv4sf (__a, __b, 3);
2802 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2803 vmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
2805 return (uint8x16_t)__builtin_neon_vmaxv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2808 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2809 vmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
2811 return (uint16x8_t)__builtin_neon_vmaxv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2814 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2815 vmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
2817 return (uint32x4_t)__builtin_neon_vmaxv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2820 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2821 vmin_s8 (int8x8_t __a, int8x8_t __b)
2823 return (int8x8_t)__builtin_neon_vminv8qi (__a, __b, 1);
2826 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2827 vmin_s16 (int16x4_t __a, int16x4_t __b)
2829 return (int16x4_t)__builtin_neon_vminv4hi (__a, __b, 1);
2832 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2833 vmin_s32 (int32x2_t __a, int32x2_t __b)
2835 return (int32x2_t)__builtin_neon_vminv2si (__a, __b, 1);
2838 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2839 vmin_f32 (float32x2_t __a, float32x2_t __b)
2841 return (float32x2_t)__builtin_neon_vminv2sf (__a, __b, 3);
2844 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2845 vmin_u8 (uint8x8_t __a, uint8x8_t __b)
2847 return (uint8x8_t)__builtin_neon_vminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2850 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2851 vmin_u16 (uint16x4_t __a, uint16x4_t __b)
2853 return (uint16x4_t)__builtin_neon_vminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2856 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2857 vmin_u32 (uint32x2_t __a, uint32x2_t __b)
2859 return (uint32x2_t)__builtin_neon_vminv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2862 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
2863 vminq_s8 (int8x16_t __a, int8x16_t __b)
2865 return (int8x16_t)__builtin_neon_vminv16qi (__a, __b, 1);
2868 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2869 vminq_s16 (int16x8_t __a, int16x8_t __b)
2871 return (int16x8_t)__builtin_neon_vminv8hi (__a, __b, 1);
2874 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2875 vminq_s32 (int32x4_t __a, int32x4_t __b)
2877 return (int32x4_t)__builtin_neon_vminv4si (__a, __b, 1);
2880 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
2881 vminq_f32 (float32x4_t __a, float32x4_t __b)
2883 return (float32x4_t)__builtin_neon_vminv4sf (__a, __b, 3);
2886 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2887 vminq_u8 (uint8x16_t __a, uint8x16_t __b)
2889 return (uint8x16_t)__builtin_neon_vminv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2892 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2893 vminq_u16 (uint16x8_t __a, uint16x8_t __b)
2895 return (uint16x8_t)__builtin_neon_vminv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2898 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2899 vminq_u32 (uint32x4_t __a, uint32x4_t __b)
2901 return (uint32x4_t)__builtin_neon_vminv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2904 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2905 vpadd_s8 (int8x8_t __a, int8x8_t __b)
2907 return (int8x8_t)__builtin_neon_vpaddv8qi (__a, __b, 1);
2910 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2911 vpadd_s16 (int16x4_t __a, int16x4_t __b)
2913 return (int16x4_t)__builtin_neon_vpaddv4hi (__a, __b, 1);
2916 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2917 vpadd_s32 (int32x2_t __a, int32x2_t __b)
2919 return (int32x2_t)__builtin_neon_vpaddv2si (__a, __b, 1);
2922 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2923 vpadd_f32 (float32x2_t __a, float32x2_t __b)
2925 return (float32x2_t)__builtin_neon_vpaddv2sf (__a, __b, 3);
2928 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2929 vpadd_u8 (uint8x8_t __a, uint8x8_t __b)
2931 return (uint8x8_t)__builtin_neon_vpaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2934 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2935 vpadd_u16 (uint16x4_t __a, uint16x4_t __b)
2937 return (uint16x4_t)__builtin_neon_vpaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2940 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2941 vpadd_u32 (uint32x2_t __a, uint32x2_t __b)
2943 return (uint32x2_t)__builtin_neon_vpaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2946 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2947 vpaddl_s8 (int8x8_t __a)
2949 return (int16x4_t)__builtin_neon_vpaddlv8qi (__a, 1);
2952 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2953 vpaddl_s16 (int16x4_t __a)
2955 return (int32x2_t)__builtin_neon_vpaddlv4hi (__a, 1);
2958 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
2959 vpaddl_s32 (int32x2_t __a)
2961 return (int64x1_t)__builtin_neon_vpaddlv2si (__a, 1);
2964 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2965 vpaddl_u8 (uint8x8_t __a)
2967 return (uint16x4_t)__builtin_neon_vpaddlv8qi ((int8x8_t) __a, 0);
2970 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2971 vpaddl_u16 (uint16x4_t __a)
2973 return (uint32x2_t)__builtin_neon_vpaddlv4hi ((int16x4_t) __a, 0);
2976 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
2977 vpaddl_u32 (uint32x2_t __a)
2979 return (uint64x1_t)__builtin_neon_vpaddlv2si ((int32x2_t) __a, 0);
2982 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2983 vpaddlq_s8 (int8x16_t __a)
2985 return (int16x8_t)__builtin_neon_vpaddlv16qi (__a, 1);
2988 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2989 vpaddlq_s16 (int16x8_t __a)
2991 return (int32x4_t)__builtin_neon_vpaddlv8hi (__a, 1);
2994 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
2995 vpaddlq_s32 (int32x4_t __a)
2997 return (int64x2_t)__builtin_neon_vpaddlv4si (__a, 1);
3000 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3001 vpaddlq_u8 (uint8x16_t __a)
3003 return (uint16x8_t)__builtin_neon_vpaddlv16qi ((int8x16_t) __a, 0);
3006 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3007 vpaddlq_u16 (uint16x8_t __a)
3009 return (uint32x4_t)__builtin_neon_vpaddlv8hi ((int16x8_t) __a, 0);
3012 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3013 vpaddlq_u32 (uint32x4_t __a)
3015 return (uint64x2_t)__builtin_neon_vpaddlv4si ((int32x4_t) __a, 0);
3018 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3019 vpadal_s8 (int16x4_t __a, int8x8_t __b)
3021 return (int16x4_t)__builtin_neon_vpadalv8qi (__a, __b, 1);
3024 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3025 vpadal_s16 (int32x2_t __a, int16x4_t __b)
3027 return (int32x2_t)__builtin_neon_vpadalv4hi (__a, __b, 1);
3030 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3031 vpadal_s32 (int64x1_t __a, int32x2_t __b)
3033 return (int64x1_t)__builtin_neon_vpadalv2si (__a, __b, 1);
3036 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3037 vpadal_u8 (uint16x4_t __a, uint8x8_t __b)
3039 return (uint16x4_t)__builtin_neon_vpadalv8qi ((int16x4_t) __a, (int8x8_t) __b, 0);
3042 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3043 vpadal_u16 (uint32x2_t __a, uint16x4_t __b)
3045 return (uint32x2_t)__builtin_neon_vpadalv4hi ((int32x2_t) __a, (int16x4_t) __b, 0);
3048 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3049 vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
3051 return (uint64x1_t)__builtin_neon_vpadalv2si ((int64x1_t) __a, (int32x2_t) __b, 0);
3054 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3055 vpadalq_s8 (int16x8_t __a, int8x16_t __b)
3057 return (int16x8_t)__builtin_neon_vpadalv16qi (__a, __b, 1);
3060 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3061 vpadalq_s16 (int32x4_t __a, int16x8_t __b)
3063 return (int32x4_t)__builtin_neon_vpadalv8hi (__a, __b, 1);
3066 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3067 vpadalq_s32 (int64x2_t __a, int32x4_t __b)
3069 return (int64x2_t)__builtin_neon_vpadalv4si (__a, __b, 1);
3072 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3073 vpadalq_u8 (uint16x8_t __a, uint8x16_t __b)
3075 return (uint16x8_t)__builtin_neon_vpadalv16qi ((int16x8_t) __a, (int8x16_t) __b, 0);
3078 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3079 vpadalq_u16 (uint32x4_t __a, uint16x8_t __b)
3081 return (uint32x4_t)__builtin_neon_vpadalv8hi ((int32x4_t) __a, (int16x8_t) __b, 0);
3084 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3085 vpadalq_u32 (uint64x2_t __a, uint32x4_t __b)
3087 return (uint64x2_t)__builtin_neon_vpadalv4si ((int64x2_t) __a, (int32x4_t) __b, 0);
3090 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3091 vpmax_s8 (int8x8_t __a, int8x8_t __b)
3093 return (int8x8_t)__builtin_neon_vpmaxv8qi (__a, __b, 1);
3096 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3097 vpmax_s16 (int16x4_t __a, int16x4_t __b)
3099 return (int16x4_t)__builtin_neon_vpmaxv4hi (__a, __b, 1);
3102 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3103 vpmax_s32 (int32x2_t __a, int32x2_t __b)
3105 return (int32x2_t)__builtin_neon_vpmaxv2si (__a, __b, 1);
3108 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
3109 vpmax_f32 (float32x2_t __a, float32x2_t __b)
3111 return (float32x2_t)__builtin_neon_vpmaxv2sf (__a, __b, 3);
3114 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3115 vpmax_u8 (uint8x8_t __a, uint8x8_t __b)
3117 return (uint8x8_t)__builtin_neon_vpmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
3120 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3121 vpmax_u16 (uint16x4_t __a, uint16x4_t __b)
3123 return (uint16x4_t)__builtin_neon_vpmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
3126 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3127 vpmax_u32 (uint32x2_t __a, uint32x2_t __b)
3129 return (uint32x2_t)__builtin_neon_vpmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
3132 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3133 vpmin_s8 (int8x8_t __a, int8x8_t __b)
3135 return (int8x8_t)__builtin_neon_vpminv8qi (__a, __b, 1);
3138 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3139 vpmin_s16 (int16x4_t __a, int16x4_t __b)
3141 return (int16x4_t)__builtin_neon_vpminv4hi (__a, __b, 1);
3144 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3145 vpmin_s32 (int32x2_t __a, int32x2_t __b)
3147 return (int32x2_t)__builtin_neon_vpminv2si (__a, __b, 1);
3150 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
3151 vpmin_f32 (float32x2_t __a, float32x2_t __b)
3153 return (float32x2_t)__builtin_neon_vpminv2sf (__a, __b, 3);
3156 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3157 vpmin_u8 (uint8x8_t __a, uint8x8_t __b)
3159 return (uint8x8_t)__builtin_neon_vpminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
3162 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3163 vpmin_u16 (uint16x4_t __a, uint16x4_t __b)
3165 return (uint16x4_t)__builtin_neon_vpminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
3168 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3169 vpmin_u32 (uint32x2_t __a, uint32x2_t __b)
3171 return (uint32x2_t)__builtin_neon_vpminv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
3174 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
3175 vrecps_f32 (float32x2_t __a, float32x2_t __b)
3177 return (float32x2_t)__builtin_neon_vrecpsv2sf (__a, __b, 3);
3180 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
3181 vrecpsq_f32 (float32x4_t __a, float32x4_t __b)
3183 return (float32x4_t)__builtin_neon_vrecpsv4sf (__a, __b, 3);
3186 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
3187 vrsqrts_f32 (float32x2_t __a, float32x2_t __b)
3189 return (float32x2_t)__builtin_neon_vrsqrtsv2sf (__a, __b, 3);
3192 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
3193 vrsqrtsq_f32 (float32x4_t __a, float32x4_t __b)
3195 return (float32x4_t)__builtin_neon_vrsqrtsv4sf (__a, __b, 3);
3198 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3199 vshl_s8 (int8x8_t __a, int8x8_t __b)
3201 return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 1);
3204 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3205 vshl_s16 (int16x4_t __a, int16x4_t __b)
3207 return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 1);
3210 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3211 vshl_s32 (int32x2_t __a, int32x2_t __b)
3213 return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 1);
3216 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3217 vshl_s64 (int64x1_t __a, int64x1_t __b)
3219 return (int64x1_t)__builtin_neon_vshldi (__a, __b, 1);
3222 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3223 vshl_u8 (uint8x8_t __a, int8x8_t __b)
3225 return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 0);
3228 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3229 vshl_u16 (uint16x4_t __a, int16x4_t __b)
3231 return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 0);
3234 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3235 vshl_u32 (uint32x2_t __a, int32x2_t __b)
3237 return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 0);
3240 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3241 vshl_u64 (uint64x1_t __a, int64x1_t __b)
3243 return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 0);
3246 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3247 vshlq_s8 (int8x16_t __a, int8x16_t __b)
3249 return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 1);
3252 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3253 vshlq_s16 (int16x8_t __a, int16x8_t __b)
3255 return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 1);
3258 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3259 vshlq_s32 (int32x4_t __a, int32x4_t __b)
3261 return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 1);
3264 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3265 vshlq_s64 (int64x2_t __a, int64x2_t __b)
3267 return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 1);
3270 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3271 vshlq_u8 (uint8x16_t __a, int8x16_t __b)
3273 return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 0);
3276 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3277 vshlq_u16 (uint16x8_t __a, int16x8_t __b)
3279 return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 0);
3282 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3283 vshlq_u32 (uint32x4_t __a, int32x4_t __b)
3285 return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 0);
3288 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3289 vshlq_u64 (uint64x2_t __a, int64x2_t __b)
3291 return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 0);
3294 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3295 vrshl_s8 (int8x8_t __a, int8x8_t __b)
3297 return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 5);
3300 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3301 vrshl_s16 (int16x4_t __a, int16x4_t __b)
3303 return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 5);
3306 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3307 vrshl_s32 (int32x2_t __a, int32x2_t __b)
3309 return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 5);
3312 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3313 vrshl_s64 (int64x1_t __a, int64x1_t __b)
3315 return (int64x1_t)__builtin_neon_vshldi (__a, __b, 5);
3318 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3319 vrshl_u8 (uint8x8_t __a, int8x8_t __b)
3321 return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 4);
3324 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3325 vrshl_u16 (uint16x4_t __a, int16x4_t __b)
3327 return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 4);
3330 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3331 vrshl_u32 (uint32x2_t __a, int32x2_t __b)
3333 return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 4);
3336 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3337 vrshl_u64 (uint64x1_t __a, int64x1_t __b)
3339 return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 4);
3342 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3343 vrshlq_s8 (int8x16_t __a, int8x16_t __b)
3345 return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 5);
3348 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3349 vrshlq_s16 (int16x8_t __a, int16x8_t __b)
3351 return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 5);
3354 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3355 vrshlq_s32 (int32x4_t __a, int32x4_t __b)
3357 return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 5);
3360 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3361 vrshlq_s64 (int64x2_t __a, int64x2_t __b)
3363 return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 5);
3366 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3367 vrshlq_u8 (uint8x16_t __a, int8x16_t __b)
3369 return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 4);
3372 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3373 vrshlq_u16 (uint16x8_t __a, int16x8_t __b)
3375 return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 4);
3378 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3379 vrshlq_u32 (uint32x4_t __a, int32x4_t __b)
3381 return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 4);
3384 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3385 vrshlq_u64 (uint64x2_t __a, int64x2_t __b)
3387 return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 4);
3390 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3391 vqshl_s8 (int8x8_t __a, int8x8_t __b)
3393 return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 1);
3396 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3397 vqshl_s16 (int16x4_t __a, int16x4_t __b)
3399 return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 1);
3402 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3403 vqshl_s32 (int32x2_t __a, int32x2_t __b)
3405 return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 1);
3408 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3409 vqshl_s64 (int64x1_t __a, int64x1_t __b)
3411 return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 1);
3414 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3415 vqshl_u8 (uint8x8_t __a, int8x8_t __b)
3417 return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 0);
3420 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3421 vqshl_u16 (uint16x4_t __a, int16x4_t __b)
3423 return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 0);
3426 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3427 vqshl_u32 (uint32x2_t __a, int32x2_t __b)
3429 return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 0);
3432 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3433 vqshl_u64 (uint64x1_t __a, int64x1_t __b)
3435 return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 0);
3438 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3439 vqshlq_s8 (int8x16_t __a, int8x16_t __b)
3441 return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 1);
3444 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3445 vqshlq_s16 (int16x8_t __a, int16x8_t __b)
3447 return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 1);
3450 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3451 vqshlq_s32 (int32x4_t __a, int32x4_t __b)
3453 return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 1);
3456 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3457 vqshlq_s64 (int64x2_t __a, int64x2_t __b)
3459 return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 1);
3462 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3463 vqshlq_u8 (uint8x16_t __a, int8x16_t __b)
3465 return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 0);
3468 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3469 vqshlq_u16 (uint16x8_t __a, int16x8_t __b)
3471 return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 0);
3474 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3475 vqshlq_u32 (uint32x4_t __a, int32x4_t __b)
3477 return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 0);
3480 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3481 vqshlq_u64 (uint64x2_t __a, int64x2_t __b)
3483 return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 0);
3486 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3487 vqrshl_s8 (int8x8_t __a, int8x8_t __b)
3489 return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 5);
3492 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3493 vqrshl_s16 (int16x4_t __a, int16x4_t __b)
3495 return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 5);
3498 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3499 vqrshl_s32 (int32x2_t __a, int32x2_t __b)
3501 return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 5);
3504 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3505 vqrshl_s64 (int64x1_t __a, int64x1_t __b)
3507 return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 5);
3510 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3511 vqrshl_u8 (uint8x8_t __a, int8x8_t __b)
3513 return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 4);
3516 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3517 vqrshl_u16 (uint16x4_t __a, int16x4_t __b)
3519 return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 4);
3522 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3523 vqrshl_u32 (uint32x2_t __a, int32x2_t __b)
3525 return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 4);
3528 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3529 vqrshl_u64 (uint64x1_t __a, int64x1_t __b)
3531 return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 4);
3534 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3535 vqrshlq_s8 (int8x16_t __a, int8x16_t __b)
3537 return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 5);
3540 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3541 vqrshlq_s16 (int16x8_t __a, int16x8_t __b)
3543 return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 5);
3546 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3547 vqrshlq_s32 (int32x4_t __a, int32x4_t __b)
3549 return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 5);
3552 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3553 vqrshlq_s64 (int64x2_t __a, int64x2_t __b)
3555 return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 5);
3558 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3559 vqrshlq_u8 (uint8x16_t __a, int8x16_t __b)
3561 return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 4);
3564 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3565 vqrshlq_u16 (uint16x8_t __a, int16x8_t __b)
3567 return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 4);
3570 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3571 vqrshlq_u32 (uint32x4_t __a, int32x4_t __b)
3573 return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 4);
3576 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3577 vqrshlq_u64 (uint64x2_t __a, int64x2_t __b)
3579 return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 4);
3582 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3583 vshr_n_s8 (int8x8_t __a, const int __b)
3585 return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 1);
3588 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3589 vshr_n_s16 (int16x4_t __a, const int __b)
3591 return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 1);
3594 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3595 vshr_n_s32 (int32x2_t __a, const int __b)
3597 return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 1);
3600 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3601 vshr_n_s64 (int64x1_t __a, const int __b)
3603 return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 1);
3606 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3607 vshr_n_u8 (uint8x8_t __a, const int __b)
3609 return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 0);
3612 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3613 vshr_n_u16 (uint16x4_t __a, const int __b)
3615 return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 0);
3618 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3619 vshr_n_u32 (uint32x2_t __a, const int __b)
3621 return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 0);
3624 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3625 vshr_n_u64 (uint64x1_t __a, const int __b)
3627 return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 0);
3630 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3631 vshrq_n_s8 (int8x16_t __a, const int __b)
3633 return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 1);
3636 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3637 vshrq_n_s16 (int16x8_t __a, const int __b)
3639 return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 1);
3642 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3643 vshrq_n_s32 (int32x4_t __a, const int __b)
3645 return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 1);
3648 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3649 vshrq_n_s64 (int64x2_t __a, const int __b)
3651 return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 1);
3654 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3655 vshrq_n_u8 (uint8x16_t __a, const int __b)
3657 return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 0);
3660 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3661 vshrq_n_u16 (uint16x8_t __a, const int __b)
3663 return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 0);
3666 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3667 vshrq_n_u32 (uint32x4_t __a, const int __b)
3669 return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 0);
3672 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3673 vshrq_n_u64 (uint64x2_t __a, const int __b)
3675 return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 0);
3678 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3679 vrshr_n_s8 (int8x8_t __a, const int __b)
3681 return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 5);
3684 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3685 vrshr_n_s16 (int16x4_t __a, const int __b)
3687 return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 5);
3690 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3691 vrshr_n_s32 (int32x2_t __a, const int __b)
3693 return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 5);
3696 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3697 vrshr_n_s64 (int64x1_t __a, const int __b)
3699 return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 5);
3702 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3703 vrshr_n_u8 (uint8x8_t __a, const int __b)
3705 return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 4);
3708 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3709 vrshr_n_u16 (uint16x4_t __a, const int __b)
3711 return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 4);
3714 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3715 vrshr_n_u32 (uint32x2_t __a, const int __b)
3717 return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 4);
3720 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3721 vrshr_n_u64 (uint64x1_t __a, const int __b)
3723 return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 4);
3726 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3727 vrshrq_n_s8 (int8x16_t __a, const int __b)
3729 return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 5);
3732 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3733 vrshrq_n_s16 (int16x8_t __a, const int __b)
3735 return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 5);
3738 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3739 vrshrq_n_s32 (int32x4_t __a, const int __b)
3741 return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 5);
3744 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3745 vrshrq_n_s64 (int64x2_t __a, const int __b)
3747 return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 5);
3750 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3751 vrshrq_n_u8 (uint8x16_t __a, const int __b)
3753 return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 4);
3756 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3757 vrshrq_n_u16 (uint16x8_t __a, const int __b)
3759 return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 4);
3762 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3763 vrshrq_n_u32 (uint32x4_t __a, const int __b)
3765 return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 4);
3768 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3769 vrshrq_n_u64 (uint64x2_t __a, const int __b)
3771 return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 4);
3774 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3775 vshrn_n_s16 (int16x8_t __a, const int __b)
3777 return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 1);
3780 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3781 vshrn_n_s32 (int32x4_t __a, const int __b)
3783 return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 1);
3786 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3787 vshrn_n_s64 (int64x2_t __a, const int __b)
3789 return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 1);
3792 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3793 vshrn_n_u16 (uint16x8_t __a, const int __b)
3795 return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 0);
3798 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3799 vshrn_n_u32 (uint32x4_t __a, const int __b)
3801 return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 0);
3804 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3805 vshrn_n_u64 (uint64x2_t __a, const int __b)
3807 return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 0);
3810 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3811 vrshrn_n_s16 (int16x8_t __a, const int __b)
3813 return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 5);
3816 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3817 vrshrn_n_s32 (int32x4_t __a, const int __b)
3819 return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 5);
3822 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3823 vrshrn_n_s64 (int64x2_t __a, const int __b)
3825 return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 5);
3828 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3829 vrshrn_n_u16 (uint16x8_t __a, const int __b)
3831 return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 4);
3834 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3835 vrshrn_n_u32 (uint32x4_t __a, const int __b)
3837 return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 4);
3840 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3841 vrshrn_n_u64 (uint64x2_t __a, const int __b)
3843 return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 4);
3846 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3847 vqshrn_n_s16 (int16x8_t __a, const int __b)
3849 return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 1);
3852 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3853 vqshrn_n_s32 (int32x4_t __a, const int __b)
3855 return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 1);
3858 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3859 vqshrn_n_s64 (int64x2_t __a, const int __b)
3861 return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 1);
3864 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3865 vqshrn_n_u16 (uint16x8_t __a, const int __b)
3867 return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 0);
3870 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3871 vqshrn_n_u32 (uint32x4_t __a, const int __b)
3873 return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 0);
3876 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3877 vqshrn_n_u64 (uint64x2_t __a, const int __b)
3879 return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 0);
3882 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3883 vqrshrn_n_s16 (int16x8_t __a, const int __b)
3885 return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 5);
3888 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3889 vqrshrn_n_s32 (int32x4_t __a, const int __b)
3891 return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 5);
3894 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3895 vqrshrn_n_s64 (int64x2_t __a, const int __b)
3897 return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 5);
3900 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3901 vqrshrn_n_u16 (uint16x8_t __a, const int __b)
3903 return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 4);
3906 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3907 vqrshrn_n_u32 (uint32x4_t __a, const int __b)
3909 return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 4);
3912 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3913 vqrshrn_n_u64 (uint64x2_t __a, const int __b)
3915 return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 4);
3918 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3919 vqshrun_n_s16 (int16x8_t __a, const int __b)
3921 return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 1);
3924 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3925 vqshrun_n_s32 (int32x4_t __a, const int __b)
3927 return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 1);
3930 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3931 vqshrun_n_s64 (int64x2_t __a, const int __b)
3933 return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 1);
3936 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3937 vqrshrun_n_s16 (int16x8_t __a, const int __b)
3939 return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 5);
3942 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3943 vqrshrun_n_s32 (int32x4_t __a, const int __b)
3945 return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 5);
3948 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3949 vqrshrun_n_s64 (int64x2_t __a, const int __b)
3951 return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 5);
3954 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3955 vshl_n_s8 (int8x8_t __a, const int __b)
3957 return (int8x8_t)__builtin_neon_vshl_nv8qi (__a, __b, 1);
3960 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3961 vshl_n_s16 (int16x4_t __a, const int __b)
3963 return (int16x4_t)__builtin_neon_vshl_nv4hi (__a, __b, 1);
3966 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3967 vshl_n_s32 (int32x2_t __a, const int __b)
3969 return (int32x2_t)__builtin_neon_vshl_nv2si (__a, __b, 1);
3972 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3973 vshl_n_s64 (int64x1_t __a, const int __b)
3975 return (int64x1_t)__builtin_neon_vshl_ndi (__a, __b, 1);
3978 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3979 vshl_n_u8 (uint8x8_t __a, const int __b)
3981 return (uint8x8_t)__builtin_neon_vshl_nv8qi ((int8x8_t) __a, __b, 0);
3984 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3985 vshl_n_u16 (uint16x4_t __a, const int __b)
3987 return (uint16x4_t)__builtin_neon_vshl_nv4hi ((int16x4_t) __a, __b, 0);
3990 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3991 vshl_n_u32 (uint32x2_t __a, const int __b)
3993 return (uint32x2_t)__builtin_neon_vshl_nv2si ((int32x2_t) __a, __b, 0);
3996 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3997 vshl_n_u64 (uint64x1_t __a, const int __b)
3999 return (uint64x1_t)__builtin_neon_vshl_ndi ((int64x1_t) __a, __b, 0);
4002 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4003 vshlq_n_s8 (int8x16_t __a, const int __b)
4005 return (int8x16_t)__builtin_neon_vshl_nv16qi (__a, __b, 1);
4008 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4009 vshlq_n_s16 (int16x8_t __a, const int __b)
4011 return (int16x8_t)__builtin_neon_vshl_nv8hi (__a, __b, 1);
4014 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4015 vshlq_n_s32 (int32x4_t __a, const int __b)
4017 return (int32x4_t)__builtin_neon_vshl_nv4si (__a, __b, 1);
4020 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4021 vshlq_n_s64 (int64x2_t __a, const int __b)
4023 return (int64x2_t)__builtin_neon_vshl_nv2di (__a, __b, 1);
4026 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4027 vshlq_n_u8 (uint8x16_t __a, const int __b)
4029 return (uint8x16_t)__builtin_neon_vshl_nv16qi ((int8x16_t) __a, __b, 0);
4032 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4033 vshlq_n_u16 (uint16x8_t __a, const int __b)
4035 return (uint16x8_t)__builtin_neon_vshl_nv8hi ((int16x8_t) __a, __b, 0);
4038 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4039 vshlq_n_u32 (uint32x4_t __a, const int __b)
4041 return (uint32x4_t)__builtin_neon_vshl_nv4si ((int32x4_t) __a, __b, 0);
4044 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4045 vshlq_n_u64 (uint64x2_t __a, const int __b)
4047 return (uint64x2_t)__builtin_neon_vshl_nv2di ((int64x2_t) __a, __b, 0);
4050 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4051 vqshl_n_s8 (int8x8_t __a, const int __b)
4053 return (int8x8_t)__builtin_neon_vqshl_nv8qi (__a, __b, 1);
4056 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4057 vqshl_n_s16 (int16x4_t __a, const int __b)
4059 return (int16x4_t)__builtin_neon_vqshl_nv4hi (__a, __b, 1);
4062 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4063 vqshl_n_s32 (int32x2_t __a, const int __b)
4065 return (int32x2_t)__builtin_neon_vqshl_nv2si (__a, __b, 1);
4068 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4069 vqshl_n_s64 (int64x1_t __a, const int __b)
4071 return (int64x1_t)__builtin_neon_vqshl_ndi (__a, __b, 1);
4074 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4075 vqshl_n_u8 (uint8x8_t __a, const int __b)
4077 return (uint8x8_t)__builtin_neon_vqshl_nv8qi ((int8x8_t) __a, __b, 0);
4080 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4081 vqshl_n_u16 (uint16x4_t __a, const int __b)
4083 return (uint16x4_t)__builtin_neon_vqshl_nv4hi ((int16x4_t) __a, __b, 0);
4086 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4087 vqshl_n_u32 (uint32x2_t __a, const int __b)
4089 return (uint32x2_t)__builtin_neon_vqshl_nv2si ((int32x2_t) __a, __b, 0);
4092 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4093 vqshl_n_u64 (uint64x1_t __a, const int __b)
4095 return (uint64x1_t)__builtin_neon_vqshl_ndi ((int64x1_t) __a, __b, 0);
4098 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4099 vqshlq_n_s8 (int8x16_t __a, const int __b)
4101 return (int8x16_t)__builtin_neon_vqshl_nv16qi (__a, __b, 1);
4104 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4105 vqshlq_n_s16 (int16x8_t __a, const int __b)
4107 return (int16x8_t)__builtin_neon_vqshl_nv8hi (__a, __b, 1);
4110 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4111 vqshlq_n_s32 (int32x4_t __a, const int __b)
4113 return (int32x4_t)__builtin_neon_vqshl_nv4si (__a, __b, 1);
4116 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4117 vqshlq_n_s64 (int64x2_t __a, const int __b)
4119 return (int64x2_t)__builtin_neon_vqshl_nv2di (__a, __b, 1);
4122 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4123 vqshlq_n_u8 (uint8x16_t __a, const int __b)
4125 return (uint8x16_t)__builtin_neon_vqshl_nv16qi ((int8x16_t) __a, __b, 0);
4128 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4129 vqshlq_n_u16 (uint16x8_t __a, const int __b)
4131 return (uint16x8_t)__builtin_neon_vqshl_nv8hi ((int16x8_t) __a, __b, 0);
4134 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4135 vqshlq_n_u32 (uint32x4_t __a, const int __b)
4137 return (uint32x4_t)__builtin_neon_vqshl_nv4si ((int32x4_t) __a, __b, 0);
4140 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4141 vqshlq_n_u64 (uint64x2_t __a, const int __b)
4143 return (uint64x2_t)__builtin_neon_vqshl_nv2di ((int64x2_t) __a, __b, 0);
4146 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4147 vqshlu_n_s8 (int8x8_t __a, const int __b)
4149 return (uint8x8_t)__builtin_neon_vqshlu_nv8qi (__a, __b, 1);
4152 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4153 vqshlu_n_s16 (int16x4_t __a, const int __b)
4155 return (uint16x4_t)__builtin_neon_vqshlu_nv4hi (__a, __b, 1);
4158 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4159 vqshlu_n_s32 (int32x2_t __a, const int __b)
4161 return (uint32x2_t)__builtin_neon_vqshlu_nv2si (__a, __b, 1);
4164 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4165 vqshlu_n_s64 (int64x1_t __a, const int __b)
4167 return (uint64x1_t)__builtin_neon_vqshlu_ndi (__a, __b, 1);
4170 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4171 vqshluq_n_s8 (int8x16_t __a, const int __b)
4173 return (uint8x16_t)__builtin_neon_vqshlu_nv16qi (__a, __b, 1);
4176 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4177 vqshluq_n_s16 (int16x8_t __a, const int __b)
4179 return (uint16x8_t)__builtin_neon_vqshlu_nv8hi (__a, __b, 1);
4182 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4183 vqshluq_n_s32 (int32x4_t __a, const int __b)
4185 return (uint32x4_t)__builtin_neon_vqshlu_nv4si (__a, __b, 1);
4188 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4189 vqshluq_n_s64 (int64x2_t __a, const int __b)
4191 return (uint64x2_t)__builtin_neon_vqshlu_nv2di (__a, __b, 1);
4194 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4195 vshll_n_s8 (int8x8_t __a, const int __b)
4197 return (int16x8_t)__builtin_neon_vshll_nv8qi (__a, __b, 1);
4200 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4201 vshll_n_s16 (int16x4_t __a, const int __b)
4203 return (int32x4_t)__builtin_neon_vshll_nv4hi (__a, __b, 1);
4206 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4207 vshll_n_s32 (int32x2_t __a, const int __b)
4209 return (int64x2_t)__builtin_neon_vshll_nv2si (__a, __b, 1);
4212 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4213 vshll_n_u8 (uint8x8_t __a, const int __b)
4215 return (uint16x8_t)__builtin_neon_vshll_nv8qi ((int8x8_t) __a, __b, 0);
4218 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4219 vshll_n_u16 (uint16x4_t __a, const int __b)
4221 return (uint32x4_t)__builtin_neon_vshll_nv4hi ((int16x4_t) __a, __b, 0);
4224 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4225 vshll_n_u32 (uint32x2_t __a, const int __b)
4227 return (uint64x2_t)__builtin_neon_vshll_nv2si ((int32x2_t) __a, __b, 0);
4230 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4231 vsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4233 return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 1);
4236 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4237 vsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4239 return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 1);
4242 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4243 vsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4245 return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 1);
4248 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4249 vsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4251 return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 1);
4254 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4255 vsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4257 return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 0);
4260 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4261 vsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4263 return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
4266 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4267 vsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4269 return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
4272 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4273 vsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4275 return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 0);
4278 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4279 vsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4281 return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 1);
4284 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4285 vsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4287 return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 1);
4290 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4291 vsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4293 return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 1);
4296 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4297 vsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4299 return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 1);
4302 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4303 vsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4305 return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 0);
4308 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4309 vsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4311 return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 0);
4314 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4315 vsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4317 return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 0);
4320 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4321 vsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4323 return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 0);
4326 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4327 vrsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4329 return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 5);
4332 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4333 vrsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4335 return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 5);
4338 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4339 vrsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4341 return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 5);
4344 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4345 vrsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4347 return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 5);
4350 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4351 vrsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4353 return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 4);
4356 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4357 vrsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4359 return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 4);
4362 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4363 vrsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4365 return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 4);
4368 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4369 vrsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4371 return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 4);
4374 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4375 vrsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4377 return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 5);
4380 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4381 vrsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4383 return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 5);
4386 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4387 vrsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4389 return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 5);
4392 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4393 vrsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4395 return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 5);
4398 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4399 vrsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4401 return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 4);
4404 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4405 vrsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4407 return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 4);
4410 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4411 vrsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4413 return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 4);
4416 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4417 vrsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4419 return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 4);
4422 #ifdef __ARM_FEATURE_CRYPTO
4423 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
4424 vsri_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
4426 return (poly64x1_t)__builtin_neon_vsri_ndi (__a, __b, __c);
4429 #endif
4430 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4431 vsri_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4433 return (int8x8_t)__builtin_neon_vsri_nv8qi (__a, __b, __c);
4436 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4437 vsri_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4439 return (int16x4_t)__builtin_neon_vsri_nv4hi (__a, __b, __c);
4442 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4443 vsri_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4445 return (int32x2_t)__builtin_neon_vsri_nv2si (__a, __b, __c);
4448 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4449 vsri_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4451 return (int64x1_t)__builtin_neon_vsri_ndi (__a, __b, __c);
4454 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4455 vsri_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4457 return (uint8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4460 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4461 vsri_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4463 return (uint16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4466 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4467 vsri_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4469 return (uint32x2_t)__builtin_neon_vsri_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
4472 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4473 vsri_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4475 return (uint64x1_t)__builtin_neon_vsri_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
4478 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
4479 vsri_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
4481 return (poly8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4484 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
4485 vsri_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
4487 return (poly16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4490 #ifdef __ARM_FEATURE_CRYPTO
4491 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
4492 vsriq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
4494 return (poly64x2_t)__builtin_neon_vsri_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4497 #endif
4498 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4499 vsriq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4501 return (int8x16_t)__builtin_neon_vsri_nv16qi (__a, __b, __c);
4504 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4505 vsriq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4507 return (int16x8_t)__builtin_neon_vsri_nv8hi (__a, __b, __c);
4510 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4511 vsriq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4513 return (int32x4_t)__builtin_neon_vsri_nv4si (__a, __b, __c);
4516 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4517 vsriq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4519 return (int64x2_t)__builtin_neon_vsri_nv2di (__a, __b, __c);
4522 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4523 vsriq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4525 return (uint8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4528 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4529 vsriq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4531 return (uint16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4534 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4535 vsriq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4537 return (uint32x4_t)__builtin_neon_vsri_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
4540 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4541 vsriq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4543 return (uint64x2_t)__builtin_neon_vsri_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4546 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
4547 vsriq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
4549 return (poly8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4552 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
4553 vsriq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
4555 return (poly16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4558 #ifdef __ARM_FEATURE_CRYPTO
4559 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
4560 vsli_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
4562 return (poly64x1_t)__builtin_neon_vsli_ndi (__a, __b, __c);
4565 #endif
4566 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4567 vsli_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4569 return (int8x8_t)__builtin_neon_vsli_nv8qi (__a, __b, __c);
4572 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4573 vsli_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4575 return (int16x4_t)__builtin_neon_vsli_nv4hi (__a, __b, __c);
4578 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4579 vsli_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4581 return (int32x2_t)__builtin_neon_vsli_nv2si (__a, __b, __c);
4584 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4585 vsli_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4587 return (int64x1_t)__builtin_neon_vsli_ndi (__a, __b, __c);
4590 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4591 vsli_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4593 return (uint8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4596 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4597 vsli_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4599 return (uint16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4602 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4603 vsli_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4605 return (uint32x2_t)__builtin_neon_vsli_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
4608 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4609 vsli_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4611 return (uint64x1_t)__builtin_neon_vsli_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
4614 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
4615 vsli_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
4617 return (poly8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4620 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
4621 vsli_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
4623 return (poly16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4626 #ifdef __ARM_FEATURE_CRYPTO
4627 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
4628 vsliq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
4630 return (poly64x2_t)__builtin_neon_vsli_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4633 #endif
4634 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4635 vsliq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4637 return (int8x16_t)__builtin_neon_vsli_nv16qi (__a, __b, __c);
4640 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4641 vsliq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4643 return (int16x8_t)__builtin_neon_vsli_nv8hi (__a, __b, __c);
4646 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4647 vsliq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4649 return (int32x4_t)__builtin_neon_vsli_nv4si (__a, __b, __c);
4652 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4653 vsliq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4655 return (int64x2_t)__builtin_neon_vsli_nv2di (__a, __b, __c);
4658 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4659 vsliq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4661 return (uint8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4664 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4665 vsliq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4667 return (uint16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4670 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4671 vsliq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4673 return (uint32x4_t)__builtin_neon_vsli_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
4676 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4677 vsliq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4679 return (uint64x2_t)__builtin_neon_vsli_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4682 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
4683 vsliq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
4685 return (poly8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4688 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
4689 vsliq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
4691 return (poly16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4694 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4695 vabs_s8 (int8x8_t __a)
4697 return (int8x8_t)__builtin_neon_vabsv8qi (__a, 1);
4700 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4701 vabs_s16 (int16x4_t __a)
4703 return (int16x4_t)__builtin_neon_vabsv4hi (__a, 1);
4706 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4707 vabs_s32 (int32x2_t __a)
4709 return (int32x2_t)__builtin_neon_vabsv2si (__a, 1);
4712 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
4713 vabs_f32 (float32x2_t __a)
4715 return (float32x2_t)__builtin_neon_vabsv2sf (__a, 3);
4718 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4719 vabsq_s8 (int8x16_t __a)
4721 return (int8x16_t)__builtin_neon_vabsv16qi (__a, 1);
4724 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4725 vabsq_s16 (int16x8_t __a)
4727 return (int16x8_t)__builtin_neon_vabsv8hi (__a, 1);
4730 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4731 vabsq_s32 (int32x4_t __a)
4733 return (int32x4_t)__builtin_neon_vabsv4si (__a, 1);
4736 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
4737 vabsq_f32 (float32x4_t __a)
4739 return (float32x4_t)__builtin_neon_vabsv4sf (__a, 3);
4742 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4743 vqabs_s8 (int8x8_t __a)
4745 return (int8x8_t)__builtin_neon_vqabsv8qi (__a, 1);
4748 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4749 vqabs_s16 (int16x4_t __a)
4751 return (int16x4_t)__builtin_neon_vqabsv4hi (__a, 1);
4754 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4755 vqabs_s32 (int32x2_t __a)
4757 return (int32x2_t)__builtin_neon_vqabsv2si (__a, 1);
4760 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4761 vqabsq_s8 (int8x16_t __a)
4763 return (int8x16_t)__builtin_neon_vqabsv16qi (__a, 1);
4766 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4767 vqabsq_s16 (int16x8_t __a)
4769 return (int16x8_t)__builtin_neon_vqabsv8hi (__a, 1);
4772 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4773 vqabsq_s32 (int32x4_t __a)
4775 return (int32x4_t)__builtin_neon_vqabsv4si (__a, 1);
4778 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4779 vneg_s8 (int8x8_t __a)
4781 return (int8x8_t)__builtin_neon_vnegv8qi (__a, 1);
4784 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4785 vneg_s16 (int16x4_t __a)
4787 return (int16x4_t)__builtin_neon_vnegv4hi (__a, 1);
4790 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4791 vneg_s32 (int32x2_t __a)
4793 return (int32x2_t)__builtin_neon_vnegv2si (__a, 1);
4796 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
4797 vneg_f32 (float32x2_t __a)
4799 return (float32x2_t)__builtin_neon_vnegv2sf (__a, 3);
4802 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4803 vnegq_s8 (int8x16_t __a)
4805 return (int8x16_t)__builtin_neon_vnegv16qi (__a, 1);
4808 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4809 vnegq_s16 (int16x8_t __a)
4811 return (int16x8_t)__builtin_neon_vnegv8hi (__a, 1);
4814 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4815 vnegq_s32 (int32x4_t __a)
4817 return (int32x4_t)__builtin_neon_vnegv4si (__a, 1);
4820 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
4821 vnegq_f32 (float32x4_t __a)
4823 return (float32x4_t)__builtin_neon_vnegv4sf (__a, 3);
4826 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4827 vqneg_s8 (int8x8_t __a)
4829 return (int8x8_t)__builtin_neon_vqnegv8qi (__a, 1);
4832 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4833 vqneg_s16 (int16x4_t __a)
4835 return (int16x4_t)__builtin_neon_vqnegv4hi (__a, 1);
4838 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4839 vqneg_s32 (int32x2_t __a)
4841 return (int32x2_t)__builtin_neon_vqnegv2si (__a, 1);
4844 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4845 vqnegq_s8 (int8x16_t __a)
4847 return (int8x16_t)__builtin_neon_vqnegv16qi (__a, 1);
4850 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4851 vqnegq_s16 (int16x8_t __a)
4853 return (int16x8_t)__builtin_neon_vqnegv8hi (__a, 1);
4856 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4857 vqnegq_s32 (int32x4_t __a)
4859 return (int32x4_t)__builtin_neon_vqnegv4si (__a, 1);
4862 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4863 vmvn_s8 (int8x8_t __a)
4865 return (int8x8_t)__builtin_neon_vmvnv8qi (__a, 1);
4868 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4869 vmvn_s16 (int16x4_t __a)
4871 return (int16x4_t)__builtin_neon_vmvnv4hi (__a, 1);
4874 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4875 vmvn_s32 (int32x2_t __a)
4877 return (int32x2_t)__builtin_neon_vmvnv2si (__a, 1);
4880 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4881 vmvn_u8 (uint8x8_t __a)
4883 return (uint8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 0);
4886 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4887 vmvn_u16 (uint16x4_t __a)
4889 return (uint16x4_t)__builtin_neon_vmvnv4hi ((int16x4_t) __a, 0);
4892 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4893 vmvn_u32 (uint32x2_t __a)
4895 return (uint32x2_t)__builtin_neon_vmvnv2si ((int32x2_t) __a, 0);
4898 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
4899 vmvn_p8 (poly8x8_t __a)
4901 return (poly8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 2);
4904 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4905 vmvnq_s8 (int8x16_t __a)
4907 return (int8x16_t)__builtin_neon_vmvnv16qi (__a, 1);
4910 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4911 vmvnq_s16 (int16x8_t __a)
4913 return (int16x8_t)__builtin_neon_vmvnv8hi (__a, 1);
4916 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4917 vmvnq_s32 (int32x4_t __a)
4919 return (int32x4_t)__builtin_neon_vmvnv4si (__a, 1);
4922 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4923 vmvnq_u8 (uint8x16_t __a)
4925 return (uint8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 0);
4928 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4929 vmvnq_u16 (uint16x8_t __a)
4931 return (uint16x8_t)__builtin_neon_vmvnv8hi ((int16x8_t) __a, 0);
4934 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4935 vmvnq_u32 (uint32x4_t __a)
4937 return (uint32x4_t)__builtin_neon_vmvnv4si ((int32x4_t) __a, 0);
4940 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
4941 vmvnq_p8 (poly8x16_t __a)
4943 return (poly8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 2);
4946 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4947 vcls_s8 (int8x8_t __a)
4949 return (int8x8_t)__builtin_neon_vclsv8qi (__a, 1);
4952 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4953 vcls_s16 (int16x4_t __a)
4955 return (int16x4_t)__builtin_neon_vclsv4hi (__a, 1);
4958 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4959 vcls_s32 (int32x2_t __a)
4961 return (int32x2_t)__builtin_neon_vclsv2si (__a, 1);
4964 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4965 vclsq_s8 (int8x16_t __a)
4967 return (int8x16_t)__builtin_neon_vclsv16qi (__a, 1);
4970 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4971 vclsq_s16 (int16x8_t __a)
4973 return (int16x8_t)__builtin_neon_vclsv8hi (__a, 1);
4976 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4977 vclsq_s32 (int32x4_t __a)
4979 return (int32x4_t)__builtin_neon_vclsv4si (__a, 1);
4982 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4983 vclz_s8 (int8x8_t __a)
4985 return (int8x8_t)__builtin_neon_vclzv8qi (__a, 1);
4988 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4989 vclz_s16 (int16x4_t __a)
4991 return (int16x4_t)__builtin_neon_vclzv4hi (__a, 1);
4994 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4995 vclz_s32 (int32x2_t __a)
4997 return (int32x2_t)__builtin_neon_vclzv2si (__a, 1);
5000 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5001 vclz_u8 (uint8x8_t __a)
5003 return (uint8x8_t)__builtin_neon_vclzv8qi ((int8x8_t) __a, 0);
5006 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5007 vclz_u16 (uint16x4_t __a)
5009 return (uint16x4_t)__builtin_neon_vclzv4hi ((int16x4_t) __a, 0);
5012 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5013 vclz_u32 (uint32x2_t __a)
5015 return (uint32x2_t)__builtin_neon_vclzv2si ((int32x2_t) __a, 0);
5018 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5019 vclzq_s8 (int8x16_t __a)
5021 return (int8x16_t)__builtin_neon_vclzv16qi (__a, 1);
5024 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5025 vclzq_s16 (int16x8_t __a)
5027 return (int16x8_t)__builtin_neon_vclzv8hi (__a, 1);
5030 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5031 vclzq_s32 (int32x4_t __a)
5033 return (int32x4_t)__builtin_neon_vclzv4si (__a, 1);
5036 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5037 vclzq_u8 (uint8x16_t __a)
5039 return (uint8x16_t)__builtin_neon_vclzv16qi ((int8x16_t) __a, 0);
5042 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5043 vclzq_u16 (uint16x8_t __a)
5045 return (uint16x8_t)__builtin_neon_vclzv8hi ((int16x8_t) __a, 0);
5048 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5049 vclzq_u32 (uint32x4_t __a)
5051 return (uint32x4_t)__builtin_neon_vclzv4si ((int32x4_t) __a, 0);
5054 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5055 vcnt_s8 (int8x8_t __a)
5057 return (int8x8_t)__builtin_neon_vcntv8qi (__a, 1);
5060 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5061 vcnt_u8 (uint8x8_t __a)
5063 return (uint8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 0);
5066 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5067 vcnt_p8 (poly8x8_t __a)
5069 return (poly8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 2);
5072 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5073 vcntq_s8 (int8x16_t __a)
5075 return (int8x16_t)__builtin_neon_vcntv16qi (__a, 1);
5078 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5079 vcntq_u8 (uint8x16_t __a)
5081 return (uint8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 0);
5084 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5085 vcntq_p8 (poly8x16_t __a)
5087 return (poly8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 2);
5090 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5091 vrecpe_f32 (float32x2_t __a)
5093 return (float32x2_t)__builtin_neon_vrecpev2sf (__a, 3);
5096 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5097 vrecpe_u32 (uint32x2_t __a)
5099 return (uint32x2_t)__builtin_neon_vrecpev2si ((int32x2_t) __a, 0);
5102 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5103 vrecpeq_f32 (float32x4_t __a)
5105 return (float32x4_t)__builtin_neon_vrecpev4sf (__a, 3);
5108 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5109 vrecpeq_u32 (uint32x4_t __a)
5111 return (uint32x4_t)__builtin_neon_vrecpev4si ((int32x4_t) __a, 0);
5114 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5115 vrsqrte_f32 (float32x2_t __a)
5117 return (float32x2_t)__builtin_neon_vrsqrtev2sf (__a, 3);
5120 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5121 vrsqrte_u32 (uint32x2_t __a)
5123 return (uint32x2_t)__builtin_neon_vrsqrtev2si ((int32x2_t) __a, 0);
5126 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5127 vrsqrteq_f32 (float32x4_t __a)
5129 return (float32x4_t)__builtin_neon_vrsqrtev4sf (__a, 3);
5132 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5133 vrsqrteq_u32 (uint32x4_t __a)
5135 return (uint32x4_t)__builtin_neon_vrsqrtev4si ((int32x4_t) __a, 0);
5138 __extension__ static __inline int8_t __attribute__ ((__always_inline__))
5139 vget_lane_s8 (int8x8_t __a, const int __b)
5141 return (int8_t)__builtin_neon_vget_lanev8qi (__a, __b, 1);
5144 __extension__ static __inline int16_t __attribute__ ((__always_inline__))
5145 vget_lane_s16 (int16x4_t __a, const int __b)
5147 return (int16_t)__builtin_neon_vget_lanev4hi (__a, __b, 1);
5150 __extension__ static __inline int32_t __attribute__ ((__always_inline__))
5151 vget_lane_s32 (int32x2_t __a, const int __b)
5153 return (int32_t)__builtin_neon_vget_lanev2si (__a, __b, 1);
5156 __extension__ static __inline float32_t __attribute__ ((__always_inline__))
5157 vget_lane_f32 (float32x2_t __a, const int __b)
5159 return (float32_t)__builtin_neon_vget_lanev2sf (__a, __b, 3);
5162 __extension__ static __inline uint8_t __attribute__ ((__always_inline__))
5163 vget_lane_u8 (uint8x8_t __a, const int __b)
5165 return (uint8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 0);
5168 __extension__ static __inline uint16_t __attribute__ ((__always_inline__))
5169 vget_lane_u16 (uint16x4_t __a, const int __b)
5171 return (uint16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 0);
5174 __extension__ static __inline uint32_t __attribute__ ((__always_inline__))
5175 vget_lane_u32 (uint32x2_t __a, const int __b)
5177 return (uint32_t)__builtin_neon_vget_lanev2si ((int32x2_t) __a, __b, 0);
5180 __extension__ static __inline poly8_t __attribute__ ((__always_inline__))
5181 vget_lane_p8 (poly8x8_t __a, const int __b)
5183 return (poly8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 2);
5186 __extension__ static __inline poly16_t __attribute__ ((__always_inline__))
5187 vget_lane_p16 (poly16x4_t __a, const int __b)
5189 return (poly16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 2);
5192 __extension__ static __inline int64_t __attribute__ ((__always_inline__))
5193 vget_lane_s64 (int64x1_t __a, const int __b)
5195 return (int64_t)__builtin_neon_vget_lanedi (__a, __b, 1);
5198 __extension__ static __inline uint64_t __attribute__ ((__always_inline__))
5199 vget_lane_u64 (uint64x1_t __a, const int __b)
5201 return (uint64_t)__builtin_neon_vget_lanedi ((int64x1_t) __a, __b, 0);
5204 __extension__ static __inline int8_t __attribute__ ((__always_inline__))
5205 vgetq_lane_s8 (int8x16_t __a, const int __b)
5207 return (int8_t)__builtin_neon_vget_lanev16qi (__a, __b, 1);
5210 __extension__ static __inline int16_t __attribute__ ((__always_inline__))
5211 vgetq_lane_s16 (int16x8_t __a, const int __b)
5213 return (int16_t)__builtin_neon_vget_lanev8hi (__a, __b, 1);
5216 __extension__ static __inline int32_t __attribute__ ((__always_inline__))
5217 vgetq_lane_s32 (int32x4_t __a, const int __b)
5219 return (int32_t)__builtin_neon_vget_lanev4si (__a, __b, 1);
5222 __extension__ static __inline float32_t __attribute__ ((__always_inline__))
5223 vgetq_lane_f32 (float32x4_t __a, const int __b)
5225 return (float32_t)__builtin_neon_vget_lanev4sf (__a, __b, 3);
5228 __extension__ static __inline uint8_t __attribute__ ((__always_inline__))
5229 vgetq_lane_u8 (uint8x16_t __a, const int __b)
5231 return (uint8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 0);
5234 __extension__ static __inline uint16_t __attribute__ ((__always_inline__))
5235 vgetq_lane_u16 (uint16x8_t __a, const int __b)
5237 return (uint16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 0);
5240 __extension__ static __inline uint32_t __attribute__ ((__always_inline__))
5241 vgetq_lane_u32 (uint32x4_t __a, const int __b)
5243 return (uint32_t)__builtin_neon_vget_lanev4si ((int32x4_t) __a, __b, 0);
5246 __extension__ static __inline poly8_t __attribute__ ((__always_inline__))
5247 vgetq_lane_p8 (poly8x16_t __a, const int __b)
5249 return (poly8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 2);
5252 __extension__ static __inline poly16_t __attribute__ ((__always_inline__))
5253 vgetq_lane_p16 (poly16x8_t __a, const int __b)
5255 return (poly16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 2);
5258 __extension__ static __inline int64_t __attribute__ ((__always_inline__))
5259 vgetq_lane_s64 (int64x2_t __a, const int __b)
5261 return (int64_t)__builtin_neon_vget_lanev2di (__a, __b, 1);
5264 __extension__ static __inline uint64_t __attribute__ ((__always_inline__))
5265 vgetq_lane_u64 (uint64x2_t __a, const int __b)
5267 return (uint64_t)__builtin_neon_vget_lanev2di ((int64x2_t) __a, __b, 0);
5270 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5271 vset_lane_s8 (int8_t __a, int8x8_t __b, const int __c)
5273 return (int8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, __b, __c);
5276 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5277 vset_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
5279 return (int16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, __b, __c);
5282 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5283 vset_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
5285 return (int32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, __b, __c);
5288 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5289 vset_lane_f32 (float32_t __a, float32x2_t __b, const int __c)
5291 return (float32x2_t)__builtin_neon_vset_lanev2sf ((__builtin_neon_sf) __a, __b, __c);
5294 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5295 vset_lane_u8 (uint8_t __a, uint8x8_t __b, const int __c)
5297 return (uint8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
5300 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5301 vset_lane_u16 (uint16_t __a, uint16x4_t __b, const int __c)
5303 return (uint16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
5306 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5307 vset_lane_u32 (uint32_t __a, uint32x2_t __b, const int __c)
5309 return (uint32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, (int32x2_t) __b, __c);
5312 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5313 vset_lane_p8 (poly8_t __a, poly8x8_t __b, const int __c)
5315 return (poly8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
5318 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5319 vset_lane_p16 (poly16_t __a, poly16x4_t __b, const int __c)
5321 return (poly16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
5324 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5325 vset_lane_s64 (int64_t __a, int64x1_t __b, const int __c)
5327 return (int64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, __b, __c);
5330 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5331 vset_lane_u64 (uint64_t __a, uint64x1_t __b, const int __c)
5333 return (uint64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, (int64x1_t) __b, __c);
5336 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5337 vsetq_lane_s8 (int8_t __a, int8x16_t __b, const int __c)
5339 return (int8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, __b, __c);
5342 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5343 vsetq_lane_s16 (int16_t __a, int16x8_t __b, const int __c)
5345 return (int16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, __b, __c);
5348 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5349 vsetq_lane_s32 (int32_t __a, int32x4_t __b, const int __c)
5351 return (int32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, __b, __c);
5354 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5355 vsetq_lane_f32 (float32_t __a, float32x4_t __b, const int __c)
5357 return (float32x4_t)__builtin_neon_vset_lanev4sf ((__builtin_neon_sf) __a, __b, __c);
5360 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5361 vsetq_lane_u8 (uint8_t __a, uint8x16_t __b, const int __c)
5363 return (uint8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
5366 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5367 vsetq_lane_u16 (uint16_t __a, uint16x8_t __b, const int __c)
5369 return (uint16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
5372 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5373 vsetq_lane_u32 (uint32_t __a, uint32x4_t __b, const int __c)
5375 return (uint32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, (int32x4_t) __b, __c);
5378 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5379 vsetq_lane_p8 (poly8_t __a, poly8x16_t __b, const int __c)
5381 return (poly8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
5384 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5385 vsetq_lane_p16 (poly16_t __a, poly16x8_t __b, const int __c)
5387 return (poly16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
5390 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5391 vsetq_lane_s64 (int64_t __a, int64x2_t __b, const int __c)
5393 return (int64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, __b, __c);
5396 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5397 vsetq_lane_u64 (uint64_t __a, uint64x2_t __b, const int __c)
5399 return (uint64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, (int64x2_t) __b, __c);
5402 #ifdef __ARM_FEATURE_CRYPTO
5403 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
5404 vcreate_p64 (uint64_t __a)
5406 return (poly64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
5409 #endif
5410 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5411 vcreate_s8 (uint64_t __a)
5413 return (int8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5416 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5417 vcreate_s16 (uint64_t __a)
5419 return (int16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5422 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5423 vcreate_s32 (uint64_t __a)
5425 return (int32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
5428 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5429 vcreate_s64 (uint64_t __a)
5431 return (int64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
5434 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5435 vcreate_f32 (uint64_t __a)
5437 return (float32x2_t)__builtin_neon_vcreatev2sf ((__builtin_neon_di) __a);
5440 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5441 vcreate_u8 (uint64_t __a)
5443 return (uint8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5446 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5447 vcreate_u16 (uint64_t __a)
5449 return (uint16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5452 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5453 vcreate_u32 (uint64_t __a)
5455 return (uint32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
5458 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5459 vcreate_u64 (uint64_t __a)
5461 return (uint64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
5464 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5465 vcreate_p8 (uint64_t __a)
5467 return (poly8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5470 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5471 vcreate_p16 (uint64_t __a)
5473 return (poly16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5476 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5477 vdup_n_s8 (int8_t __a)
5479 return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5482 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5483 vdup_n_s16 (int16_t __a)
5485 return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5488 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5489 vdup_n_s32 (int32_t __a)
5491 return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5494 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5495 vdup_n_f32 (float32_t __a)
5497 return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
5500 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5501 vdup_n_u8 (uint8_t __a)
5503 return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5506 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5507 vdup_n_u16 (uint16_t __a)
5509 return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5512 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5513 vdup_n_u32 (uint32_t __a)
5515 return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5518 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5519 vdup_n_p8 (poly8_t __a)
5521 return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5524 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5525 vdup_n_p16 (poly16_t __a)
5527 return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5530 #ifdef __ARM_FEATURE_CRYPTO
5531 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
5532 vdup_n_p64 (poly64_t __a)
5534 return (poly64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5537 #endif
5538 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5539 vdup_n_s64 (int64_t __a)
5541 return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5544 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5545 vdup_n_u64 (uint64_t __a)
5547 return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5550 #ifdef __ARM_FEATURE_CRYPTO
5551 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
5552 vdupq_n_p64 (poly64_t __a)
5554 return (poly64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5557 #endif
5558 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5559 vdupq_n_s8 (int8_t __a)
5561 return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5564 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5565 vdupq_n_s16 (int16_t __a)
5567 return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5570 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5571 vdupq_n_s32 (int32_t __a)
5573 return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5576 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5577 vdupq_n_f32 (float32_t __a)
5579 return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
5582 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5583 vdupq_n_u8 (uint8_t __a)
5585 return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5588 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5589 vdupq_n_u16 (uint16_t __a)
5591 return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5594 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5595 vdupq_n_u32 (uint32_t __a)
5597 return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5600 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5601 vdupq_n_p8 (poly8_t __a)
5603 return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5606 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5607 vdupq_n_p16 (poly16_t __a)
5609 return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5612 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5613 vdupq_n_s64 (int64_t __a)
5615 return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5618 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5619 vdupq_n_u64 (uint64_t __a)
5621 return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5624 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5625 vmov_n_s8 (int8_t __a)
5627 return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5630 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5631 vmov_n_s16 (int16_t __a)
5633 return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5636 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5637 vmov_n_s32 (int32_t __a)
5639 return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5642 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5643 vmov_n_f32 (float32_t __a)
5645 return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
5648 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5649 vmov_n_u8 (uint8_t __a)
5651 return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5654 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5655 vmov_n_u16 (uint16_t __a)
5657 return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5660 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5661 vmov_n_u32 (uint32_t __a)
5663 return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5666 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5667 vmov_n_p8 (poly8_t __a)
5669 return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5672 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5673 vmov_n_p16 (poly16_t __a)
5675 return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5678 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5679 vmov_n_s64 (int64_t __a)
5681 return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5684 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5685 vmov_n_u64 (uint64_t __a)
5687 return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5690 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5691 vmovq_n_s8 (int8_t __a)
5693 return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5696 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5697 vmovq_n_s16 (int16_t __a)
5699 return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5702 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5703 vmovq_n_s32 (int32_t __a)
5705 return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5708 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5709 vmovq_n_f32 (float32_t __a)
5711 return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
5714 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5715 vmovq_n_u8 (uint8_t __a)
5717 return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5720 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5721 vmovq_n_u16 (uint16_t __a)
5723 return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5726 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5727 vmovq_n_u32 (uint32_t __a)
5729 return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5732 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5733 vmovq_n_p8 (poly8_t __a)
5735 return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5738 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5739 vmovq_n_p16 (poly16_t __a)
5741 return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5744 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5745 vmovq_n_s64 (int64_t __a)
5747 return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5750 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5751 vmovq_n_u64 (uint64_t __a)
5753 return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5756 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5757 vdup_lane_s8 (int8x8_t __a, const int __b)
5759 return (int8x8_t)__builtin_neon_vdup_lanev8qi (__a, __b);
5762 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5763 vdup_lane_s16 (int16x4_t __a, const int __b)
5765 return (int16x4_t)__builtin_neon_vdup_lanev4hi (__a, __b);
5768 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5769 vdup_lane_s32 (int32x2_t __a, const int __b)
5771 return (int32x2_t)__builtin_neon_vdup_lanev2si (__a, __b);
5774 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5775 vdup_lane_f32 (float32x2_t __a, const int __b)
5777 return (float32x2_t)__builtin_neon_vdup_lanev2sf (__a, __b);
5780 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5781 vdup_lane_u8 (uint8x8_t __a, const int __b)
5783 return (uint8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
5786 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5787 vdup_lane_u16 (uint16x4_t __a, const int __b)
5789 return (uint16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
5792 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5793 vdup_lane_u32 (uint32x2_t __a, const int __b)
5795 return (uint32x2_t)__builtin_neon_vdup_lanev2si ((int32x2_t) __a, __b);
5798 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5799 vdup_lane_p8 (poly8x8_t __a, const int __b)
5801 return (poly8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
5804 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5805 vdup_lane_p16 (poly16x4_t __a, const int __b)
5807 return (poly16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
5810 #ifdef __ARM_FEATURE_CRYPTO
5811 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
5812 vdup_lane_p64 (poly64x1_t __a, const int __b)
5814 return (poly64x1_t)__builtin_neon_vdup_lanedi (__a, __b);
5817 #endif
5818 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5819 vdup_lane_s64 (int64x1_t __a, const int __b)
5821 return (int64x1_t)__builtin_neon_vdup_lanedi (__a, __b);
5824 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5825 vdup_lane_u64 (uint64x1_t __a, const int __b)
5827 return (uint64x1_t)__builtin_neon_vdup_lanedi ((int64x1_t) __a, __b);
5830 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5831 vdupq_lane_s8 (int8x8_t __a, const int __b)
5833 return (int8x16_t)__builtin_neon_vdup_lanev16qi (__a, __b);
5836 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5837 vdupq_lane_s16 (int16x4_t __a, const int __b)
5839 return (int16x8_t)__builtin_neon_vdup_lanev8hi (__a, __b);
5842 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5843 vdupq_lane_s32 (int32x2_t __a, const int __b)
5845 return (int32x4_t)__builtin_neon_vdup_lanev4si (__a, __b);
5848 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5849 vdupq_lane_f32 (float32x2_t __a, const int __b)
5851 return (float32x4_t)__builtin_neon_vdup_lanev4sf (__a, __b);
5854 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5855 vdupq_lane_u8 (uint8x8_t __a, const int __b)
5857 return (uint8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
5860 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5861 vdupq_lane_u16 (uint16x4_t __a, const int __b)
5863 return (uint16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
5866 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5867 vdupq_lane_u32 (uint32x2_t __a, const int __b)
5869 return (uint32x4_t)__builtin_neon_vdup_lanev4si ((int32x2_t) __a, __b);
5872 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5873 vdupq_lane_p8 (poly8x8_t __a, const int __b)
5875 return (poly8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
5878 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5879 vdupq_lane_p16 (poly16x4_t __a, const int __b)
5881 return (poly16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
5884 #ifdef __ARM_FEATURE_CRYPTO
5885 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
5886 vdupq_lane_p64 (poly64x1_t __a, const int __b)
5888 return (poly64x2_t)__builtin_neon_vdup_lanev2di (__a, __b);
5891 #endif
5892 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5893 vdupq_lane_s64 (int64x1_t __a, const int __b)
5895 return (int64x2_t)__builtin_neon_vdup_lanev2di (__a, __b);
5898 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5899 vdupq_lane_u64 (uint64x1_t __a, const int __b)
5901 return (uint64x2_t)__builtin_neon_vdup_lanev2di ((int64x1_t) __a, __b);
5904 #ifdef __ARM_FEATURE_CRYPTO
5905 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
5906 vcombine_p64 (poly64x1_t __a, poly64x1_t __b)
5908 return (poly64x2_t)__builtin_neon_vcombinedi (__a, __b);
5911 #endif
5912 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5913 vcombine_s8 (int8x8_t __a, int8x8_t __b)
5915 return (int8x16_t)__builtin_neon_vcombinev8qi (__a, __b);
5918 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5919 vcombine_s16 (int16x4_t __a, int16x4_t __b)
5921 return (int16x8_t)__builtin_neon_vcombinev4hi (__a, __b);
5924 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5925 vcombine_s32 (int32x2_t __a, int32x2_t __b)
5927 return (int32x4_t)__builtin_neon_vcombinev2si (__a, __b);
5930 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5931 vcombine_s64 (int64x1_t __a, int64x1_t __b)
5933 return (int64x2_t)__builtin_neon_vcombinedi (__a, __b);
5936 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5937 vcombine_f32 (float32x2_t __a, float32x2_t __b)
5939 return (float32x4_t)__builtin_neon_vcombinev2sf (__a, __b);
5942 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5943 vcombine_u8 (uint8x8_t __a, uint8x8_t __b)
5945 return (uint8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
5948 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5949 vcombine_u16 (uint16x4_t __a, uint16x4_t __b)
5951 return (uint16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
5954 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5955 vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
5957 return (uint32x4_t)__builtin_neon_vcombinev2si ((int32x2_t) __a, (int32x2_t) __b);
5960 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5961 vcombine_u64 (uint64x1_t __a, uint64x1_t __b)
5963 return (uint64x2_t)__builtin_neon_vcombinedi ((int64x1_t) __a, (int64x1_t) __b);
5966 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5967 vcombine_p8 (poly8x8_t __a, poly8x8_t __b)
5969 return (poly8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
5972 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5973 vcombine_p16 (poly16x4_t __a, poly16x4_t __b)
5975 return (poly16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
5978 #ifdef __ARM_FEATURE_CRYPTO
5979 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
5980 vget_high_p64 (poly64x2_t __a)
5982 return (poly64x1_t)__builtin_neon_vget_highv2di ((int64x2_t) __a);
5985 #endif
5986 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5987 vget_high_s8 (int8x16_t __a)
5989 return (int8x8_t)__builtin_neon_vget_highv16qi (__a);
5992 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5993 vget_high_s16 (int16x8_t __a)
5995 return (int16x4_t)__builtin_neon_vget_highv8hi (__a);
5998 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5999 vget_high_s32 (int32x4_t __a)
6001 return (int32x2_t)__builtin_neon_vget_highv4si (__a);
6004 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
6005 vget_high_s64 (int64x2_t __a)
6007 return (int64x1_t)__builtin_neon_vget_highv2di (__a);
6010 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6011 vget_high_f32 (float32x4_t __a)
6013 return (float32x2_t)__builtin_neon_vget_highv4sf (__a);
6016 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6017 vget_high_u8 (uint8x16_t __a)
6019 return (uint8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
6022 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6023 vget_high_u16 (uint16x8_t __a)
6025 return (uint16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
6028 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6029 vget_high_u32 (uint32x4_t __a)
6031 return (uint32x2_t)__builtin_neon_vget_highv4si ((int32x4_t) __a);
6034 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
6035 vget_high_u64 (uint64x2_t __a)
6037 return (uint64x1_t)__builtin_neon_vget_highv2di ((int64x2_t) __a);
6040 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6041 vget_high_p8 (poly8x16_t __a)
6043 return (poly8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
6046 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
6047 vget_high_p16 (poly16x8_t __a)
6049 return (poly16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
6052 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6053 vget_low_s8 (int8x16_t __a)
6055 return (int8x8_t)__builtin_neon_vget_lowv16qi (__a);
6058 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6059 vget_low_s16 (int16x8_t __a)
6061 return (int16x4_t)__builtin_neon_vget_lowv8hi (__a);
6064 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6065 vget_low_s32 (int32x4_t __a)
6067 return (int32x2_t)__builtin_neon_vget_lowv4si (__a);
6070 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6071 vget_low_f32 (float32x4_t __a)
6073 return (float32x2_t)__builtin_neon_vget_lowv4sf (__a);
6076 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6077 vget_low_u8 (uint8x16_t __a)
6079 return (uint8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
6082 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6083 vget_low_u16 (uint16x8_t __a)
6085 return (uint16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
6088 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6089 vget_low_u32 (uint32x4_t __a)
6091 return (uint32x2_t)__builtin_neon_vget_lowv4si ((int32x4_t) __a);
6094 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6095 vget_low_p8 (poly8x16_t __a)
6097 return (poly8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
6100 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
6101 vget_low_p16 (poly16x8_t __a)
6103 return (poly16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
6106 #ifdef __ARM_FEATURE_CRYPTO
6107 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
6108 vget_low_p64 (poly64x2_t __a)
6110 return (poly64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a);
6113 #endif
6114 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
6115 vget_low_s64 (int64x2_t __a)
6117 return (int64x1_t)__builtin_neon_vget_lowv2di (__a);
6120 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
6121 vget_low_u64 (uint64x2_t __a)
6123 return (uint64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a);
6126 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6127 vcvt_s32_f32 (float32x2_t __a)
6129 return (int32x2_t)__builtin_neon_vcvtv2sf (__a, 1);
6132 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6133 vcvt_f32_s32 (int32x2_t __a)
6135 return (float32x2_t)__builtin_neon_vcvtv2si (__a, 1);
6138 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6139 vcvt_f32_u32 (uint32x2_t __a)
6141 return (float32x2_t)__builtin_neon_vcvtv2si ((int32x2_t) __a, 0);
6144 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6145 vcvt_u32_f32 (float32x2_t __a)
6147 return (uint32x2_t)__builtin_neon_vcvtv2sf (__a, 0);
6150 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6151 vcvtq_s32_f32 (float32x4_t __a)
6153 return (int32x4_t)__builtin_neon_vcvtv4sf (__a, 1);
6156 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6157 vcvtq_f32_s32 (int32x4_t __a)
6159 return (float32x4_t)__builtin_neon_vcvtv4si (__a, 1);
6162 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6163 vcvtq_f32_u32 (uint32x4_t __a)
6165 return (float32x4_t)__builtin_neon_vcvtv4si ((int32x4_t) __a, 0);
6168 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6169 vcvtq_u32_f32 (float32x4_t __a)
6171 return (uint32x4_t)__builtin_neon_vcvtv4sf (__a, 0);
6174 #if ((__ARM_FP & 0x2) != 0)
6175 __extension__ static __inline float16x4_t __attribute__ ((__always_inline__))
6176 vcvt_f16_f32 (float32x4_t __a)
6178 return (float16x4_t)__builtin_neon_vcvtv4hfv4sf (__a);
6181 #endif
6182 #if ((__ARM_FP & 0x2) != 0)
6183 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6184 vcvt_f32_f16 (float16x4_t __a)
6186 return (float32x4_t)__builtin_neon_vcvtv4sfv4hf (__a);
6189 #endif
6190 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6191 vcvt_n_s32_f32 (float32x2_t __a, const int __b)
6193 return (int32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 1);
6196 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6197 vcvt_n_f32_s32 (int32x2_t __a, const int __b)
6199 return (float32x2_t)__builtin_neon_vcvt_nv2si (__a, __b, 1);
6202 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6203 vcvt_n_f32_u32 (uint32x2_t __a, const int __b)
6205 return (float32x2_t)__builtin_neon_vcvt_nv2si ((int32x2_t) __a, __b, 0);
6208 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6209 vcvt_n_u32_f32 (float32x2_t __a, const int __b)
6211 return (uint32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 0);
6214 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6215 vcvtq_n_s32_f32 (float32x4_t __a, const int __b)
6217 return (int32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 1);
6220 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6221 vcvtq_n_f32_s32 (int32x4_t __a, const int __b)
6223 return (float32x4_t)__builtin_neon_vcvt_nv4si (__a, __b, 1);
6226 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6227 vcvtq_n_f32_u32 (uint32x4_t __a, const int __b)
6229 return (float32x4_t)__builtin_neon_vcvt_nv4si ((int32x4_t) __a, __b, 0);
6232 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6233 vcvtq_n_u32_f32 (float32x4_t __a, const int __b)
6235 return (uint32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 0);
6238 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6239 vmovn_s16 (int16x8_t __a)
6241 return (int8x8_t)__builtin_neon_vmovnv8hi (__a, 1);
6244 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6245 vmovn_s32 (int32x4_t __a)
6247 return (int16x4_t)__builtin_neon_vmovnv4si (__a, 1);
6250 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6251 vmovn_s64 (int64x2_t __a)
6253 return (int32x2_t)__builtin_neon_vmovnv2di (__a, 1);
6256 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6257 vmovn_u16 (uint16x8_t __a)
6259 return (uint8x8_t)__builtin_neon_vmovnv8hi ((int16x8_t) __a, 0);
6262 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6263 vmovn_u32 (uint32x4_t __a)
6265 return (uint16x4_t)__builtin_neon_vmovnv4si ((int32x4_t) __a, 0);
6268 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6269 vmovn_u64 (uint64x2_t __a)
6271 return (uint32x2_t)__builtin_neon_vmovnv2di ((int64x2_t) __a, 0);
6274 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6275 vqmovn_s16 (int16x8_t __a)
6277 return (int8x8_t)__builtin_neon_vqmovnv8hi (__a, 1);
6280 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6281 vqmovn_s32 (int32x4_t __a)
6283 return (int16x4_t)__builtin_neon_vqmovnv4si (__a, 1);
6286 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6287 vqmovn_s64 (int64x2_t __a)
6289 return (int32x2_t)__builtin_neon_vqmovnv2di (__a, 1);
6292 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6293 vqmovn_u16 (uint16x8_t __a)
6295 return (uint8x8_t)__builtin_neon_vqmovnv8hi ((int16x8_t) __a, 0);
6298 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6299 vqmovn_u32 (uint32x4_t __a)
6301 return (uint16x4_t)__builtin_neon_vqmovnv4si ((int32x4_t) __a, 0);
6304 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6305 vqmovn_u64 (uint64x2_t __a)
6307 return (uint32x2_t)__builtin_neon_vqmovnv2di ((int64x2_t) __a, 0);
6310 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6311 vqmovun_s16 (int16x8_t __a)
6313 return (uint8x8_t)__builtin_neon_vqmovunv8hi (__a, 1);
6316 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6317 vqmovun_s32 (int32x4_t __a)
6319 return (uint16x4_t)__builtin_neon_vqmovunv4si (__a, 1);
6322 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6323 vqmovun_s64 (int64x2_t __a)
6325 return (uint32x2_t)__builtin_neon_vqmovunv2di (__a, 1);
6328 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6329 vmovl_s8 (int8x8_t __a)
6331 return (int16x8_t)__builtin_neon_vmovlv8qi (__a, 1);
6334 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6335 vmovl_s16 (int16x4_t __a)
6337 return (int32x4_t)__builtin_neon_vmovlv4hi (__a, 1);
6340 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6341 vmovl_s32 (int32x2_t __a)
6343 return (int64x2_t)__builtin_neon_vmovlv2si (__a, 1);
6346 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6347 vmovl_u8 (uint8x8_t __a)
6349 return (uint16x8_t)__builtin_neon_vmovlv8qi ((int8x8_t) __a, 0);
6352 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6353 vmovl_u16 (uint16x4_t __a)
6355 return (uint32x4_t)__builtin_neon_vmovlv4hi ((int16x4_t) __a, 0);
6358 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6359 vmovl_u32 (uint32x2_t __a)
6361 return (uint64x2_t)__builtin_neon_vmovlv2si ((int32x2_t) __a, 0);
6364 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6365 vtbl1_s8 (int8x8_t __a, int8x8_t __b)
6367 return (int8x8_t)__builtin_neon_vtbl1v8qi (__a, __b);
6370 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6371 vtbl1_u8 (uint8x8_t __a, uint8x8_t __b)
6373 return (uint8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
6376 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6377 vtbl1_p8 (poly8x8_t __a, uint8x8_t __b)
6379 return (poly8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
6382 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6383 vtbl2_s8 (int8x8x2_t __a, int8x8_t __b)
6385 union { int8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6386 return (int8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, __b);
6389 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6390 vtbl2_u8 (uint8x8x2_t __a, uint8x8_t __b)
6392 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6393 return (uint8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
6396 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6397 vtbl2_p8 (poly8x8x2_t __a, uint8x8_t __b)
6399 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6400 return (poly8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
6403 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6404 vtbl3_s8 (int8x8x3_t __a, int8x8_t __b)
6406 union { int8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6407 return (int8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, __b);
6410 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6411 vtbl3_u8 (uint8x8x3_t __a, uint8x8_t __b)
6413 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6414 return (uint8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
6417 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6418 vtbl3_p8 (poly8x8x3_t __a, uint8x8_t __b)
6420 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6421 return (poly8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
6424 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6425 vtbl4_s8 (int8x8x4_t __a, int8x8_t __b)
6427 union { int8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6428 return (int8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, __b);
6431 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6432 vtbl4_u8 (uint8x8x4_t __a, uint8x8_t __b)
6434 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6435 return (uint8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
6438 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6439 vtbl4_p8 (poly8x8x4_t __a, uint8x8_t __b)
6441 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6442 return (poly8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
6445 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6446 vtbx1_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
6448 return (int8x8_t)__builtin_neon_vtbx1v8qi (__a, __b, __c);
6451 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6452 vtbx1_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
6454 return (uint8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
6457 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6458 vtbx1_p8 (poly8x8_t __a, poly8x8_t __b, uint8x8_t __c)
6460 return (poly8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
6463 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6464 vtbx2_s8 (int8x8_t __a, int8x8x2_t __b, int8x8_t __c)
6466 union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6467 return (int8x8_t)__builtin_neon_vtbx2v8qi (__a, __bu.__o, __c);
6470 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6471 vtbx2_u8 (uint8x8_t __a, uint8x8x2_t __b, uint8x8_t __c)
6473 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6474 return (uint8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6477 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6478 vtbx2_p8 (poly8x8_t __a, poly8x8x2_t __b, uint8x8_t __c)
6480 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6481 return (poly8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6484 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6485 vtbx3_s8 (int8x8_t __a, int8x8x3_t __b, int8x8_t __c)
6487 union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6488 return (int8x8_t)__builtin_neon_vtbx3v8qi (__a, __bu.__o, __c);
6491 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6492 vtbx3_u8 (uint8x8_t __a, uint8x8x3_t __b, uint8x8_t __c)
6494 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6495 return (uint8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6498 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6499 vtbx3_p8 (poly8x8_t __a, poly8x8x3_t __b, uint8x8_t __c)
6501 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6502 return (poly8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6505 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6506 vtbx4_s8 (int8x8_t __a, int8x8x4_t __b, int8x8_t __c)
6508 union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6509 return (int8x8_t)__builtin_neon_vtbx4v8qi (__a, __bu.__o, __c);
6512 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6513 vtbx4_u8 (uint8x8_t __a, uint8x8x4_t __b, uint8x8_t __c)
6515 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6516 return (uint8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6519 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6520 vtbx4_p8 (poly8x8_t __a, poly8x8x4_t __b, uint8x8_t __c)
6522 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6523 return (poly8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6526 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6527 vmul_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6529 return (int16x4_t)__builtin_neon_vmul_lanev4hi (__a, __b, __c, 1);
6532 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6533 vmul_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6535 return (int32x2_t)__builtin_neon_vmul_lanev2si (__a, __b, __c, 1);
6538 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6539 vmul_lane_f32 (float32x2_t __a, float32x2_t __b, const int __c)
6541 return (float32x2_t)__builtin_neon_vmul_lanev2sf (__a, __b, __c, 3);
6544 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6545 vmul_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
6547 return (uint16x4_t)__builtin_neon_vmul_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
6550 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6551 vmul_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
6553 return (uint32x2_t)__builtin_neon_vmul_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
6556 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6557 vmulq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6559 return (int16x8_t)__builtin_neon_vmul_lanev8hi (__a, __b, __c, 1);
6562 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6563 vmulq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6565 return (int32x4_t)__builtin_neon_vmul_lanev4si (__a, __b, __c, 1);
6568 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6569 vmulq_lane_f32 (float32x4_t __a, float32x2_t __b, const int __c)
6571 return (float32x4_t)__builtin_neon_vmul_lanev4sf (__a, __b, __c, 3);
6574 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6575 vmulq_lane_u16 (uint16x8_t __a, uint16x4_t __b, const int __c)
6577 return (uint16x8_t)__builtin_neon_vmul_lanev8hi ((int16x8_t) __a, (int16x4_t) __b, __c, 0);
6580 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6581 vmulq_lane_u32 (uint32x4_t __a, uint32x2_t __b, const int __c)
6583 return (uint32x4_t)__builtin_neon_vmul_lanev4si ((int32x4_t) __a, (int32x2_t) __b, __c, 0);
6586 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6587 vmla_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6589 return (int16x4_t)__builtin_neon_vmla_lanev4hi (__a, __b, __c, __d, 1);
6592 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6593 vmla_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6595 return (int32x2_t)__builtin_neon_vmla_lanev2si (__a, __b, __c, __d, 1);
6598 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6599 vmla_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
6601 return (float32x2_t)__builtin_neon_vmla_lanev2sf (__a, __b, __c, __d, 3);
6604 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6605 vmla_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6607 return (uint16x4_t)__builtin_neon_vmla_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6610 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6611 vmla_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6613 return (uint32x2_t)__builtin_neon_vmla_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6616 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6617 vmlaq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
6619 return (int16x8_t)__builtin_neon_vmla_lanev8hi (__a, __b, __c, __d, 1);
6622 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6623 vmlaq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
6625 return (int32x4_t)__builtin_neon_vmla_lanev4si (__a, __b, __c, __d, 1);
6628 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6629 vmlaq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
6631 return (float32x4_t)__builtin_neon_vmla_lanev4sf (__a, __b, __c, __d, 3);
6634 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6635 vmlaq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
6637 return (uint16x8_t)__builtin_neon_vmla_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0);
6640 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6641 vmlaq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
6643 return (uint32x4_t)__builtin_neon_vmla_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0);
6646 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6647 vmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6649 return (int32x4_t)__builtin_neon_vmlal_lanev4hi (__a, __b, __c, __d, 1);
6652 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6653 vmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6655 return (int64x2_t)__builtin_neon_vmlal_lanev2si (__a, __b, __c, __d, 1);
6658 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6659 vmlal_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6661 return (uint32x4_t)__builtin_neon_vmlal_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6664 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6665 vmlal_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6667 return (uint64x2_t)__builtin_neon_vmlal_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6670 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6671 vqdmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6673 return (int32x4_t)__builtin_neon_vqdmlal_lanev4hi (__a, __b, __c, __d, 1);
6676 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6677 vqdmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6679 return (int64x2_t)__builtin_neon_vqdmlal_lanev2si (__a, __b, __c, __d, 1);
6682 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6683 vmls_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6685 return (int16x4_t)__builtin_neon_vmls_lanev4hi (__a, __b, __c, __d, 1);
6688 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6689 vmls_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6691 return (int32x2_t)__builtin_neon_vmls_lanev2si (__a, __b, __c, __d, 1);
6694 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6695 vmls_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
6697 return (float32x2_t)__builtin_neon_vmls_lanev2sf (__a, __b, __c, __d, 3);
6700 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6701 vmls_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6703 return (uint16x4_t)__builtin_neon_vmls_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6706 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6707 vmls_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6709 return (uint32x2_t)__builtin_neon_vmls_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6712 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6713 vmlsq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
6715 return (int16x8_t)__builtin_neon_vmls_lanev8hi (__a, __b, __c, __d, 1);
6718 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6719 vmlsq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
6721 return (int32x4_t)__builtin_neon_vmls_lanev4si (__a, __b, __c, __d, 1);
6724 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6725 vmlsq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
6727 return (float32x4_t)__builtin_neon_vmls_lanev4sf (__a, __b, __c, __d, 3);
6730 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6731 vmlsq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
6733 return (uint16x8_t)__builtin_neon_vmls_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0);
6736 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6737 vmlsq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
6739 return (uint32x4_t)__builtin_neon_vmls_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0);
6742 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6743 vmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6745 return (int32x4_t)__builtin_neon_vmlsl_lanev4hi (__a, __b, __c, __d, 1);
6748 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6749 vmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6751 return (int64x2_t)__builtin_neon_vmlsl_lanev2si (__a, __b, __c, __d, 1);
6754 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6755 vmlsl_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6757 return (uint32x4_t)__builtin_neon_vmlsl_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6760 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6761 vmlsl_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6763 return (uint64x2_t)__builtin_neon_vmlsl_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6766 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6767 vqdmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6769 return (int32x4_t)__builtin_neon_vqdmlsl_lanev4hi (__a, __b, __c, __d, 1);
6772 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6773 vqdmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6775 return (int64x2_t)__builtin_neon_vqdmlsl_lanev2si (__a, __b, __c, __d, 1);
6778 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6779 vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6781 return (int32x4_t)__builtin_neon_vmull_lanev4hi (__a, __b, __c, 1);
6784 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6785 vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6787 return (int64x2_t)__builtin_neon_vmull_lanev2si (__a, __b, __c, 1);
6790 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6791 vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
6793 return (uint32x4_t)__builtin_neon_vmull_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
6796 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6797 vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
6799 return (uint64x2_t)__builtin_neon_vmull_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
6802 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6803 vqdmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6805 return (int32x4_t)__builtin_neon_vqdmull_lanev4hi (__a, __b, __c, 1);
6808 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6809 vqdmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6811 return (int64x2_t)__builtin_neon_vqdmull_lanev2si (__a, __b, __c, 1);
6814 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6815 vqdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6817 return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 1);
6820 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6821 vqdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6823 return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 1);
6826 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6827 vqdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6829 return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 1);
6832 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6833 vqdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6835 return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 1);
6838 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6839 vqrdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6841 return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 5);
6844 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6845 vqrdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6847 return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 5);
6850 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6851 vqrdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6853 return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 5);
6856 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6857 vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6859 return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 5);
6862 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6863 vmul_n_s16 (int16x4_t __a, int16_t __b)
6865 return (int16x4_t)__builtin_neon_vmul_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6868 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6869 vmul_n_s32 (int32x2_t __a, int32_t __b)
6871 return (int32x2_t)__builtin_neon_vmul_nv2si (__a, (__builtin_neon_si) __b, 1);
6874 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6875 vmul_n_f32 (float32x2_t __a, float32_t __b)
6877 return (float32x2_t)__builtin_neon_vmul_nv2sf (__a, (__builtin_neon_sf) __b, 3);
6880 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6881 vmul_n_u16 (uint16x4_t __a, uint16_t __b)
6883 return (uint16x4_t)__builtin_neon_vmul_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0);
6886 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6887 vmul_n_u32 (uint32x2_t __a, uint32_t __b)
6889 return (uint32x2_t)__builtin_neon_vmul_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0);
6892 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6893 vmulq_n_s16 (int16x8_t __a, int16_t __b)
6895 return (int16x8_t)__builtin_neon_vmul_nv8hi (__a, (__builtin_neon_hi) __b, 1);
6898 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6899 vmulq_n_s32 (int32x4_t __a, int32_t __b)
6901 return (int32x4_t)__builtin_neon_vmul_nv4si (__a, (__builtin_neon_si) __b, 1);
6904 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6905 vmulq_n_f32 (float32x4_t __a, float32_t __b)
6907 return (float32x4_t)__builtin_neon_vmul_nv4sf (__a, (__builtin_neon_sf) __b, 3);
6910 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6911 vmulq_n_u16 (uint16x8_t __a, uint16_t __b)
6913 return (uint16x8_t)__builtin_neon_vmul_nv8hi ((int16x8_t) __a, (__builtin_neon_hi) __b, 0);
6916 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6917 vmulq_n_u32 (uint32x4_t __a, uint32_t __b)
6919 return (uint32x4_t)__builtin_neon_vmul_nv4si ((int32x4_t) __a, (__builtin_neon_si) __b, 0);
6922 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6923 vmull_n_s16 (int16x4_t __a, int16_t __b)
6925 return (int32x4_t)__builtin_neon_vmull_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6928 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6929 vmull_n_s32 (int32x2_t __a, int32_t __b)
6931 return (int64x2_t)__builtin_neon_vmull_nv2si (__a, (__builtin_neon_si) __b, 1);
6934 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6935 vmull_n_u16 (uint16x4_t __a, uint16_t __b)
6937 return (uint32x4_t)__builtin_neon_vmull_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0);
6940 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6941 vmull_n_u32 (uint32x2_t __a, uint32_t __b)
6943 return (uint64x2_t)__builtin_neon_vmull_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0);
6946 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6947 vqdmull_n_s16 (int16x4_t __a, int16_t __b)
6949 return (int32x4_t)__builtin_neon_vqdmull_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6952 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6953 vqdmull_n_s32 (int32x2_t __a, int32_t __b)
6955 return (int64x2_t)__builtin_neon_vqdmull_nv2si (__a, (__builtin_neon_si) __b, 1);
6958 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6959 vqdmulhq_n_s16 (int16x8_t __a, int16_t __b)
6961 return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 1);
6964 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6965 vqdmulhq_n_s32 (int32x4_t __a, int32_t __b)
6967 return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 1);
6970 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6971 vqdmulh_n_s16 (int16x4_t __a, int16_t __b)
6973 return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6976 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6977 vqdmulh_n_s32 (int32x2_t __a, int32_t __b)
6979 return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 1);
6982 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6983 vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b)
6985 return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 5);
6988 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6989 vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b)
6991 return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 5);
6994 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6995 vqrdmulh_n_s16 (int16x4_t __a, int16_t __b)
6997 return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 5);
7000 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
7001 vqrdmulh_n_s32 (int32x2_t __a, int32_t __b)
7003 return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 5);
7006 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7007 vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
7009 return (int16x4_t)__builtin_neon_vmla_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7012 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
7013 vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
7015 return (int32x2_t)__builtin_neon_vmla_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7018 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
7019 vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
7021 return (float32x2_t)__builtin_neon_vmla_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3);
7024 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7025 vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
7027 return (uint16x4_t)__builtin_neon_vmla_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
7030 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
7031 vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
7033 return (uint32x2_t)__builtin_neon_vmla_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
7036 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7037 vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
7039 return (int16x8_t)__builtin_neon_vmla_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1);
7042 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7043 vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
7045 return (int32x4_t)__builtin_neon_vmla_nv4si (__a, __b, (__builtin_neon_si) __c, 1);
7048 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
7049 vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
7051 return (float32x4_t)__builtin_neon_vmla_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3);
7054 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7055 vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
7057 return (uint16x8_t)__builtin_neon_vmla_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0);
7060 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7061 vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
7063 return (uint32x4_t)__builtin_neon_vmla_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0);
7066 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7067 vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7069 return (int32x4_t)__builtin_neon_vmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7072 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
7073 vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7075 return (int64x2_t)__builtin_neon_vmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7078 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7079 vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
7081 return (uint32x4_t)__builtin_neon_vmlal_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
7084 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
7085 vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
7087 return (uint64x2_t)__builtin_neon_vmlal_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
7090 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7091 vqdmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7093 return (int32x4_t)__builtin_neon_vqdmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7096 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
7097 vqdmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7099 return (int64x2_t)__builtin_neon_vqdmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7102 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7103 vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
7105 return (int16x4_t)__builtin_neon_vmls_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7108 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
7109 vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
7111 return (int32x2_t)__builtin_neon_vmls_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7114 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
7115 vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
7117 return (float32x2_t)__builtin_neon_vmls_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3);
7120 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7121 vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
7123 return (uint16x4_t)__builtin_neon_vmls_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
7126 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
7127 vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
7129 return (uint32x2_t)__builtin_neon_vmls_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
7132 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7133 vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
7135 return (int16x8_t)__builtin_neon_vmls_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1);
7138 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7139 vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
7141 return (int32x4_t)__builtin_neon_vmls_nv4si (__a, __b, (__builtin_neon_si) __c, 1);
7144 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
7145 vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
7147 return (float32x4_t)__builtin_neon_vmls_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3);
7150 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7151 vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
7153 return (uint16x8_t)__builtin_neon_vmls_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0);
7156 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7157 vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
7159 return (uint32x4_t)__builtin_neon_vmls_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0);
7162 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7163 vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7165 return (int32x4_t)__builtin_neon_vmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7168 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
7169 vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7171 return (int64x2_t)__builtin_neon_vmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7174 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7175 vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
7177 return (uint32x4_t)__builtin_neon_vmlsl_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
7180 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
7181 vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
7183 return (uint64x2_t)__builtin_neon_vmlsl_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
7186 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7187 vqdmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7189 return (int32x4_t)__builtin_neon_vqdmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7192 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
7193 vqdmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7195 return (int64x2_t)__builtin_neon_vqdmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7198 #ifdef __ARM_FEATURE_CRYPTO
7199 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
7200 vext_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
7202 return (poly64x1_t)__builtin_neon_vextdi (__a, __b, __c);
7205 #endif
7206 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7207 vext_s8 (int8x8_t __a, int8x8_t __b, const int __c)
7209 return (int8x8_t)__builtin_neon_vextv8qi (__a, __b, __c);
7212 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7213 vext_s16 (int16x4_t __a, int16x4_t __b, const int __c)
7215 return (int16x4_t)__builtin_neon_vextv4hi (__a, __b, __c);
7218 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
7219 vext_s32 (int32x2_t __a, int32x2_t __b, const int __c)
7221 return (int32x2_t)__builtin_neon_vextv2si (__a, __b, __c);
7224 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
7225 vext_s64 (int64x1_t __a, int64x1_t __b, const int __c)
7227 return (int64x1_t)__builtin_neon_vextdi (__a, __b, __c);
7230 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
7231 vext_f32 (float32x2_t __a, float32x2_t __b, const int __c)
7233 return (float32x2_t)__builtin_neon_vextv2sf (__a, __b, __c);
7236 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7237 vext_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
7239 return (uint8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
7242 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7243 vext_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
7245 return (uint16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
7248 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
7249 vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
7251 return (uint32x2_t)__builtin_neon_vextv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
7254 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
7255 vext_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
7257 return (uint64x1_t)__builtin_neon_vextdi ((int64x1_t) __a, (int64x1_t) __b, __c);
7260 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7261 vext_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
7263 return (poly8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
7266 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
7267 vext_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
7269 return (poly16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
7272 #ifdef __ARM_FEATURE_CRYPTO
7273 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
7274 vextq_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
7276 return (poly64x2_t)__builtin_neon_vextv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
7279 #endif
7280 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7281 vextq_s8 (int8x16_t __a, int8x16_t __b, const int __c)
7283 return (int8x16_t)__builtin_neon_vextv16qi (__a, __b, __c);
7286 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7287 vextq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
7289 return (int16x8_t)__builtin_neon_vextv8hi (__a, __b, __c);
7292 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7293 vextq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
7295 return (int32x4_t)__builtin_neon_vextv4si (__a, __b, __c);
7298 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
7299 vextq_s64 (int64x2_t __a, int64x2_t __b, const int __c)
7301 return (int64x2_t)__builtin_neon_vextv2di (__a, __b, __c);
7304 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
7305 vextq_f32 (float32x4_t __a, float32x4_t __b, const int __c)
7307 return (float32x4_t)__builtin_neon_vextv4sf (__a, __b, __c);
7310 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7311 vextq_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
7313 return (uint8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
7316 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7317 vextq_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
7319 return (uint16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
7322 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7323 vextq_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
7325 return (uint32x4_t)__builtin_neon_vextv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
7328 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
7329 vextq_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
7331 return (uint64x2_t)__builtin_neon_vextv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
7334 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7335 vextq_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
7337 return (poly8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
7340 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
7341 vextq_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
7343 return (poly16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
7346 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7347 vrev64_s8 (int8x8_t __a)
7349 return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
7352 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7353 vrev64_s16 (int16x4_t __a)
7355 return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
7358 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
7359 vrev64_s32 (int32x2_t __a)
7361 return (int32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
7364 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
7365 vrev64_f32 (float32x2_t __a)
7367 return (float32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
7370 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7371 vrev64_u8 (uint8x8_t __a)
7373 return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
7376 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7377 vrev64_u16 (uint16x4_t __a)
7379 return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
7382 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
7383 vrev64_u32 (uint32x2_t __a)
7385 return (uint32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
7388 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7389 vrev64_p8 (poly8x8_t __a)
7391 return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
7394 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
7395 vrev64_p16 (poly16x4_t __a)
7397 return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
7400 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7401 vrev64q_s8 (int8x16_t __a)
7403 return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
7406 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7407 vrev64q_s16 (int16x8_t __a)
7409 return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7412 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7413 vrev64q_s32 (int32x4_t __a)
7415 return (int32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
7418 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
7419 vrev64q_f32 (float32x4_t __a)
7421 return (float32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
7424 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7425 vrev64q_u8 (uint8x16_t __a)
7427 return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
7430 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7431 vrev64q_u16 (uint16x8_t __a)
7433 return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7436 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7437 vrev64q_u32 (uint32x4_t __a)
7439 return (uint32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
7442 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7443 vrev64q_p8 (poly8x16_t __a)
7445 return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
7448 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
7449 vrev64q_p16 (poly16x8_t __a)
7451 return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7454 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7455 vrev32_s8 (int8x8_t __a)
7457 return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7460 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7461 vrev32_s16 (int16x4_t __a)
7463 return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
7466 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7467 vrev32_u8 (uint8x8_t __a)
7469 return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7472 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7473 vrev32_u16 (uint16x4_t __a)
7475 return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
7478 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7479 vrev32_p8 (poly8x8_t __a)
7481 return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7484 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
7485 vrev32_p16 (poly16x4_t __a)
7487 return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
7490 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7491 vrev32q_s8 (int8x16_t __a)
7493 return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
7496 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7497 vrev32q_s16 (int16x8_t __a)
7499 return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7502 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7503 vrev32q_u8 (uint8x16_t __a)
7505 return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
7508 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7509 vrev32q_u16 (uint16x8_t __a)
7511 return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7514 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7515 vrev32q_p8 (poly8x16_t __a)
7517 return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
7520 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
7521 vrev32q_p16 (poly16x8_t __a)
7523 return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7526 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7527 vrev16_s8 (int8x8_t __a)
7529 return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7532 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7533 vrev16_u8 (uint8x8_t __a)
7535 return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7538 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7539 vrev16_p8 (poly8x8_t __a)
7541 return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7544 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7545 vrev16q_s8 (int8x16_t __a)
7547 return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
7550 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7551 vrev16q_u8 (uint8x16_t __a)
7553 return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
7556 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7557 vrev16q_p8 (poly8x16_t __a)
7559 return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
7562 #ifdef __ARM_FEATURE_CRYPTO
7563 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
7564 vbsl_p64 (uint64x1_t __a, poly64x1_t __b, poly64x1_t __c)
7566 return (poly64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, __b, __c);
7569 #endif
7570 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7571 vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c)
7573 return (int8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, __b, __c);
7576 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7577 vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c)
7579 return (int16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, __b, __c);
7582 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
7583 vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c)
7585 return (int32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, __b, __c);
7588 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
7589 vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c)
7591 return (int64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, __b, __c);
7594 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
7595 vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c)
7597 return (float32x2_t)__builtin_neon_vbslv2sf ((int32x2_t) __a, __b, __c);
7600 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7601 vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
7603 return (uint8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7606 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7607 vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
7609 return (uint16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
7612 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
7613 vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
7615 return (uint32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
7618 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
7619 vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c)
7621 return (uint64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, (int64x1_t) __b, (int64x1_t) __c);
7624 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7625 vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c)
7627 return (poly8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7630 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
7631 vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c)
7633 return (poly16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
7636 #ifdef __ARM_FEATURE_CRYPTO
7637 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
7638 vbslq_p64 (uint64x2_t __a, poly64x2_t __b, poly64x2_t __c)
7640 return (poly64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, (int64x2_t) __b, (int64x2_t) __c);
7643 #endif
7644 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7645 vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c)
7647 return (int8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, __b, __c);
7650 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7651 vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c)
7653 return (int16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, __b, __c);
7656 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7657 vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c)
7659 return (int32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, __b, __c);
7662 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
7663 vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c)
7665 return (int64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, __b, __c);
7668 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
7669 vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c)
7671 return (float32x4_t)__builtin_neon_vbslv4sf ((int32x4_t) __a, __b, __c);
7674 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7675 vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
7677 return (uint8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
7680 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7681 vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
7683 return (uint16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
7686 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7687 vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
7689 return (uint32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c);
7692 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
7693 vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
7695 return (uint64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, (int64x2_t) __b, (int64x2_t) __c);
7698 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7699 vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c)
7701 return (poly8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
7704 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
7705 vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c)
7707 return (poly16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
7710 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
7711 vtrn_s8 (int8x8_t __a, int8x8_t __b)
7713 int8x8x2_t __rv;
7714 __rv.val[0] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7715 __rv.val[1] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7716 return __rv;
7719 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
7720 vtrn_s16 (int16x4_t __a, int16x4_t __b)
7722 int16x4x2_t __rv;
7723 __rv.val[0] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
7724 __rv.val[1] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
7725 return __rv;
7728 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
7729 vtrn_u8 (uint8x8_t __a, uint8x8_t __b)
7731 uint8x8x2_t __rv;
7732 __rv.val[0] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7733 __rv.val[1] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7734 return __rv;
7737 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
7738 vtrn_u16 (uint16x4_t __a, uint16x4_t __b)
7740 uint16x4x2_t __rv;
7741 __rv.val[0] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
7742 __rv.val[1] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
7743 return __rv;
7746 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
7747 vtrn_p8 (poly8x8_t __a, poly8x8_t __b)
7749 poly8x8x2_t __rv;
7750 __rv.val[0] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7751 __rv.val[1] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7752 return __rv;
7755 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
7756 vtrn_p16 (poly16x4_t __a, poly16x4_t __b)
7758 poly16x4x2_t __rv;
7759 __rv.val[0] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
7760 __rv.val[1] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
7761 return __rv;
7764 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
7765 vtrn_s32 (int32x2_t __a, int32x2_t __b)
7767 int32x2x2_t __rv;
7768 __rv.val[0] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7769 __rv.val[1] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7770 return __rv;
7773 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
7774 vtrn_f32 (float32x2_t __a, float32x2_t __b)
7776 float32x2x2_t __rv;
7777 __rv.val[0] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7778 __rv.val[1] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7779 return __rv;
7782 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
7783 vtrn_u32 (uint32x2_t __a, uint32x2_t __b)
7785 uint32x2x2_t __rv;
7786 __rv.val[0] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7787 __rv.val[1] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7788 return __rv;
7791 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
7792 vtrnq_s8 (int8x16_t __a, int8x16_t __b)
7794 int8x16x2_t __rv;
7795 __rv.val[0] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
7796 __rv.val[1] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
7797 return __rv;
7800 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
7801 vtrnq_s16 (int16x8_t __a, int16x8_t __b)
7803 int16x8x2_t __rv;
7804 __rv.val[0] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7805 __rv.val[1] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7806 return __rv;
7809 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
7810 vtrnq_s32 (int32x4_t __a, int32x4_t __b)
7812 int32x4x2_t __rv;
7813 __rv.val[0] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
7814 __rv.val[1] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
7815 return __rv;
7818 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
7819 vtrnq_f32 (float32x4_t __a, float32x4_t __b)
7821 float32x4x2_t __rv;
7822 __rv.val[0] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
7823 __rv.val[1] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
7824 return __rv;
7827 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
7828 vtrnq_u8 (uint8x16_t __a, uint8x16_t __b)
7830 uint8x16x2_t __rv;
7831 __rv.val[0] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
7832 __rv.val[1] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
7833 return __rv;
7836 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
7837 vtrnq_u16 (uint16x8_t __a, uint16x8_t __b)
7839 uint16x8x2_t __rv;
7840 __rv.val[0] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7841 __rv.val[1] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7842 return __rv;
7845 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
7846 vtrnq_u32 (uint32x4_t __a, uint32x4_t __b)
7848 uint32x4x2_t __rv;
7849 __rv.val[0] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
7850 __rv.val[1] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
7851 return __rv;
7854 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
7855 vtrnq_p8 (poly8x16_t __a, poly8x16_t __b)
7857 poly8x16x2_t __rv;
7858 __rv.val[0] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
7859 __rv.val[1] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
7860 return __rv;
7863 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
7864 vtrnq_p16 (poly16x8_t __a, poly16x8_t __b)
7866 poly16x8x2_t __rv;
7867 __rv.val[0] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7868 __rv.val[1] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7869 return __rv;
7872 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
7873 vzip_s8 (int8x8_t __a, int8x8_t __b)
7875 int8x8x2_t __rv;
7876 __rv.val[0] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7877 __rv.val[1] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7878 return __rv;
7881 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
7882 vzip_s16 (int16x4_t __a, int16x4_t __b)
7884 int16x4x2_t __rv;
7885 __rv.val[0] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
7886 __rv.val[1] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
7887 return __rv;
7890 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
7891 vzip_u8 (uint8x8_t __a, uint8x8_t __b)
7893 uint8x8x2_t __rv;
7894 __rv.val[0] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7895 __rv.val[1] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7896 return __rv;
7899 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
7900 vzip_u16 (uint16x4_t __a, uint16x4_t __b)
7902 uint16x4x2_t __rv;
7903 __rv.val[0] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
7904 __rv.val[1] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
7905 return __rv;
7908 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
7909 vzip_p8 (poly8x8_t __a, poly8x8_t __b)
7911 poly8x8x2_t __rv;
7912 __rv.val[0] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7913 __rv.val[1] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7914 return __rv;
7917 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
7918 vzip_p16 (poly16x4_t __a, poly16x4_t __b)
7920 poly16x4x2_t __rv;
7921 __rv.val[0] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
7922 __rv.val[1] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
7923 return __rv;
7926 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
7927 vzip_s32 (int32x2_t __a, int32x2_t __b)
7929 int32x2x2_t __rv;
7930 __rv.val[0] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7931 __rv.val[1] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7932 return __rv;
7935 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
7936 vzip_f32 (float32x2_t __a, float32x2_t __b)
7938 float32x2x2_t __rv;
7939 __rv.val[0] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7940 __rv.val[1] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7941 return __rv;
7944 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
7945 vzip_u32 (uint32x2_t __a, uint32x2_t __b)
7947 uint32x2x2_t __rv;
7948 __rv.val[0] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7949 __rv.val[1] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7950 return __rv;
7953 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
7954 vzipq_s8 (int8x16_t __a, int8x16_t __b)
7956 int8x16x2_t __rv;
7957 __rv.val[0] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
7958 __rv.val[1] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
7959 return __rv;
7962 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
7963 vzipq_s16 (int16x8_t __a, int16x8_t __b)
7965 int16x8x2_t __rv;
7966 __rv.val[0] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7967 __rv.val[1] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7968 return __rv;
7971 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
7972 vzipq_s32 (int32x4_t __a, int32x4_t __b)
7974 int32x4x2_t __rv;
7975 __rv.val[0] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
7976 __rv.val[1] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
7977 return __rv;
7980 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
7981 vzipq_f32 (float32x4_t __a, float32x4_t __b)
7983 float32x4x2_t __rv;
7984 __rv.val[0] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
7985 __rv.val[1] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
7986 return __rv;
7989 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
7990 vzipq_u8 (uint8x16_t __a, uint8x16_t __b)
7992 uint8x16x2_t __rv;
7993 __rv.val[0] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
7994 __rv.val[1] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
7995 return __rv;
7998 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
7999 vzipq_u16 (uint16x8_t __a, uint16x8_t __b)
8001 uint16x8x2_t __rv;
8002 __rv.val[0] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
8003 __rv.val[1] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
8004 return __rv;
8007 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
8008 vzipq_u32 (uint32x4_t __a, uint32x4_t __b)
8010 uint32x4x2_t __rv;
8011 __rv.val[0] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
8012 __rv.val[1] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
8013 return __rv;
8016 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
8017 vzipq_p8 (poly8x16_t __a, poly8x16_t __b)
8019 poly8x16x2_t __rv;
8020 __rv.val[0] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
8021 __rv.val[1] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
8022 return __rv;
8025 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
8026 vzipq_p16 (poly16x8_t __a, poly16x8_t __b)
8028 poly16x8x2_t __rv;
8029 __rv.val[0] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
8030 __rv.val[1] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
8031 return __rv;
8034 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
8035 vuzp_s8 (int8x8_t __a, int8x8_t __b)
8037 int8x8x2_t __rv;
8038 __rv.val[0] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
8039 __rv.val[1] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
8040 return __rv;
8043 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
8044 vuzp_s16 (int16x4_t __a, int16x4_t __b)
8046 int16x4x2_t __rv;
8047 __rv.val[0] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
8048 __rv.val[1] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
8049 return __rv;
8052 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
8053 vuzp_s32 (int32x2_t __a, int32x2_t __b)
8055 int32x2x2_t __rv;
8056 __rv.val[0] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
8057 __rv.val[1] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
8058 return __rv;
8061 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
8062 vuzp_f32 (float32x2_t __a, float32x2_t __b)
8064 float32x2x2_t __rv;
8065 __rv.val[0] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
8066 __rv.val[1] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
8067 return __rv;
8070 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
8071 vuzp_u8 (uint8x8_t __a, uint8x8_t __b)
8073 uint8x8x2_t __rv;
8074 __rv.val[0] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
8075 __rv.val[1] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
8076 return __rv;
8079 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
8080 vuzp_u16 (uint16x4_t __a, uint16x4_t __b)
8082 uint16x4x2_t __rv;
8083 __rv.val[0] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
8084 __rv.val[1] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
8085 return __rv;
8088 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
8089 vuzp_u32 (uint32x2_t __a, uint32x2_t __b)
8091 uint32x2x2_t __rv;
8092 __rv.val[0] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
8093 __rv.val[1] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
8094 return __rv;
8097 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
8098 vuzp_p8 (poly8x8_t __a, poly8x8_t __b)
8100 poly8x8x2_t __rv;
8101 __rv.val[0] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
8102 __rv.val[1] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
8103 return __rv;
8106 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
8107 vuzp_p16 (poly16x4_t __a, poly16x4_t __b)
8109 poly16x4x2_t __rv;
8110 __rv.val[0] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
8111 __rv.val[1] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
8112 return __rv;
8115 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
8116 vuzpq_s8 (int8x16_t __a, int8x16_t __b)
8118 int8x16x2_t __rv;
8119 __rv.val[0] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
8120 __rv.val[1] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
8121 return __rv;
8124 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
8125 vuzpq_s16 (int16x8_t __a, int16x8_t __b)
8127 int16x8x2_t __rv;
8128 __rv.val[0] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
8129 __rv.val[1] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
8130 return __rv;
8133 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
8134 vuzpq_s32 (int32x4_t __a, int32x4_t __b)
8136 int32x4x2_t __rv;
8137 __rv.val[0] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
8138 __rv.val[1] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
8139 return __rv;
8142 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
8143 vuzpq_f32 (float32x4_t __a, float32x4_t __b)
8145 float32x4x2_t __rv;
8146 __rv.val[0] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
8147 __rv.val[1] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
8148 return __rv;
8151 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
8152 vuzpq_u8 (uint8x16_t __a, uint8x16_t __b)
8154 uint8x16x2_t __rv;
8155 __rv.val[0] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
8156 __rv.val[1] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
8157 return __rv;
8160 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
8161 vuzpq_u16 (uint16x8_t __a, uint16x8_t __b)
8163 uint16x8x2_t __rv;
8164 __rv.val[0] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
8165 __rv.val[1] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
8166 return __rv;
8169 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
8170 vuzpq_u32 (uint32x4_t __a, uint32x4_t __b)
8172 uint32x4x2_t __rv;
8173 __rv.val[0] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
8174 __rv.val[1] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
8175 return __rv;
8178 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
8179 vuzpq_p8 (poly8x16_t __a, poly8x16_t __b)
8181 poly8x16x2_t __rv;
8182 __rv.val[0] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
8183 __rv.val[1] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
8184 return __rv;
8187 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
8188 vuzpq_p16 (poly16x8_t __a, poly16x8_t __b)
8190 poly16x8x2_t __rv;
8191 __rv.val[0] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
8192 __rv.val[1] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
8193 return __rv;
8196 #ifdef __ARM_FEATURE_CRYPTO
8197 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
8198 vld1_p64 (const poly64_t * __a)
8200 return (poly64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
8203 #endif
8204 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
8205 vld1_s8 (const int8_t * __a)
8207 return (int8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
8210 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
8211 vld1_s16 (const int16_t * __a)
8213 return (int16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
8216 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
8217 vld1_s32 (const int32_t * __a)
8219 return (int32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
8222 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
8223 vld1_s64 (const int64_t * __a)
8225 return (int64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
8228 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
8229 vld1_f32 (const float32_t * __a)
8231 return (float32x2_t)__builtin_neon_vld1v2sf ((const __builtin_neon_sf *) __a);
8234 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
8235 vld1_u8 (const uint8_t * __a)
8237 return (uint8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
8240 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
8241 vld1_u16 (const uint16_t * __a)
8243 return (uint16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
8246 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
8247 vld1_u32 (const uint32_t * __a)
8249 return (uint32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
8252 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
8253 vld1_u64 (const uint64_t * __a)
8255 return (uint64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
8258 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
8259 vld1_p8 (const poly8_t * __a)
8261 return (poly8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
8264 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
8265 vld1_p16 (const poly16_t * __a)
8267 return (poly16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
8270 #ifdef __ARM_FEATURE_CRYPTO
8271 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
8272 vld1q_p64 (const poly64_t * __a)
8274 return (poly64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
8277 #endif
8278 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
8279 vld1q_s8 (const int8_t * __a)
8281 return (int8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
8284 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
8285 vld1q_s16 (const int16_t * __a)
8287 return (int16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
8290 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
8291 vld1q_s32 (const int32_t * __a)
8293 return (int32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
8296 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
8297 vld1q_s64 (const int64_t * __a)
8299 return (int64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
8302 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
8303 vld1q_f32 (const float32_t * __a)
8305 return (float32x4_t)__builtin_neon_vld1v4sf ((const __builtin_neon_sf *) __a);
8308 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
8309 vld1q_u8 (const uint8_t * __a)
8311 return (uint8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
8314 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
8315 vld1q_u16 (const uint16_t * __a)
8317 return (uint16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
8320 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
8321 vld1q_u32 (const uint32_t * __a)
8323 return (uint32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
8326 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
8327 vld1q_u64 (const uint64_t * __a)
8329 return (uint64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
8332 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
8333 vld1q_p8 (const poly8_t * __a)
8335 return (poly8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
8338 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
8339 vld1q_p16 (const poly16_t * __a)
8341 return (poly16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
8344 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
8345 vld1_lane_s8 (const int8_t * __a, int8x8_t __b, const int __c)
8347 return (int8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, __b, __c);
8350 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
8351 vld1_lane_s16 (const int16_t * __a, int16x4_t __b, const int __c)
8353 return (int16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, __b, __c);
8356 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
8357 vld1_lane_s32 (const int32_t * __a, int32x2_t __b, const int __c)
8359 return (int32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, __b, __c);
8362 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
8363 vld1_lane_f32 (const float32_t * __a, float32x2_t __b, const int __c)
8365 return (float32x2_t)__builtin_neon_vld1_lanev2sf ((const __builtin_neon_sf *) __a, __b, __c);
8368 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
8369 vld1_lane_u8 (const uint8_t * __a, uint8x8_t __b, const int __c)
8371 return (uint8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8374 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
8375 vld1_lane_u16 (const uint16_t * __a, uint16x4_t __b, const int __c)
8377 return (uint16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8380 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
8381 vld1_lane_u32 (const uint32_t * __a, uint32x2_t __b, const int __c)
8383 return (uint32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, (int32x2_t) __b, __c);
8386 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
8387 vld1_lane_p8 (const poly8_t * __a, poly8x8_t __b, const int __c)
8389 return (poly8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8392 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
8393 vld1_lane_p16 (const poly16_t * __a, poly16x4_t __b, const int __c)
8395 return (poly16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8398 #ifdef __ARM_FEATURE_CRYPTO
8399 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
8400 vld1_lane_p64 (const poly64_t * __a, poly64x1_t __b, const int __c)
8402 return (poly64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, __b, __c);
8405 #endif
8406 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
8407 vld1_lane_s64 (const int64_t * __a, int64x1_t __b, const int __c)
8409 return (int64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, __b, __c);
8412 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
8413 vld1_lane_u64 (const uint64_t * __a, uint64x1_t __b, const int __c)
8415 return (uint64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, (int64x1_t) __b, __c);
8418 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
8419 vld1q_lane_s8 (const int8_t * __a, int8x16_t __b, const int __c)
8421 return (int8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, __b, __c);
8424 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
8425 vld1q_lane_s16 (const int16_t * __a, int16x8_t __b, const int __c)
8427 return (int16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, __b, __c);
8430 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
8431 vld1q_lane_s32 (const int32_t * __a, int32x4_t __b, const int __c)
8433 return (int32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, __b, __c);
8436 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
8437 vld1q_lane_f32 (const float32_t * __a, float32x4_t __b, const int __c)
8439 return (float32x4_t)__builtin_neon_vld1_lanev4sf ((const __builtin_neon_sf *) __a, __b, __c);
8442 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
8443 vld1q_lane_u8 (const uint8_t * __a, uint8x16_t __b, const int __c)
8445 return (uint8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8448 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
8449 vld1q_lane_u16 (const uint16_t * __a, uint16x8_t __b, const int __c)
8451 return (uint16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8454 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
8455 vld1q_lane_u32 (const uint32_t * __a, uint32x4_t __b, const int __c)
8457 return (uint32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, (int32x4_t) __b, __c);
8460 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
8461 vld1q_lane_p8 (const poly8_t * __a, poly8x16_t __b, const int __c)
8463 return (poly8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8466 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
8467 vld1q_lane_p16 (const poly16_t * __a, poly16x8_t __b, const int __c)
8469 return (poly16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8472 #ifdef __ARM_FEATURE_CRYPTO
8473 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
8474 vld1q_lane_p64 (const poly64_t * __a, poly64x2_t __b, const int __c)
8476 return (poly64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, (int64x2_t) __b, __c);
8479 #endif
8480 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
8481 vld1q_lane_s64 (const int64_t * __a, int64x2_t __b, const int __c)
8483 return (int64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, __b, __c);
8486 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
8487 vld1q_lane_u64 (const uint64_t * __a, uint64x2_t __b, const int __c)
8489 return (uint64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, (int64x2_t) __b, __c);
8492 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
8493 vld1_dup_s8 (const int8_t * __a)
8495 return (int8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8498 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
8499 vld1_dup_s16 (const int16_t * __a)
8501 return (int16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8504 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
8505 vld1_dup_s32 (const int32_t * __a)
8507 return (int32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
8510 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
8511 vld1_dup_f32 (const float32_t * __a)
8513 return (float32x2_t)__builtin_neon_vld1_dupv2sf ((const __builtin_neon_sf *) __a);
8516 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
8517 vld1_dup_u8 (const uint8_t * __a)
8519 return (uint8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8522 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
8523 vld1_dup_u16 (const uint16_t * __a)
8525 return (uint16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8528 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
8529 vld1_dup_u32 (const uint32_t * __a)
8531 return (uint32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
8534 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
8535 vld1_dup_p8 (const poly8_t * __a)
8537 return (poly8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8540 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
8541 vld1_dup_p16 (const poly16_t * __a)
8543 return (poly16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8546 #ifdef __ARM_FEATURE_CRYPTO
8547 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
8548 vld1_dup_p64 (const poly64_t * __a)
8550 return (poly64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
8553 #endif
8554 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
8555 vld1_dup_s64 (const int64_t * __a)
8557 return (int64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
8560 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
8561 vld1_dup_u64 (const uint64_t * __a)
8563 return (uint64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
8566 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
8567 vld1q_dup_s8 (const int8_t * __a)
8569 return (int8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8572 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
8573 vld1q_dup_s16 (const int16_t * __a)
8575 return (int16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8578 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
8579 vld1q_dup_s32 (const int32_t * __a)
8581 return (int32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
8584 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
8585 vld1q_dup_f32 (const float32_t * __a)
8587 return (float32x4_t)__builtin_neon_vld1_dupv4sf ((const __builtin_neon_sf *) __a);
8590 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
8591 vld1q_dup_u8 (const uint8_t * __a)
8593 return (uint8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8596 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
8597 vld1q_dup_u16 (const uint16_t * __a)
8599 return (uint16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8602 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
8603 vld1q_dup_u32 (const uint32_t * __a)
8605 return (uint32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
8608 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
8609 vld1q_dup_p8 (const poly8_t * __a)
8611 return (poly8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8614 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
8615 vld1q_dup_p16 (const poly16_t * __a)
8617 return (poly16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8620 #ifdef __ARM_FEATURE_CRYPTO
8621 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
8622 vld1q_dup_p64 (const poly64_t * __a)
8624 return (poly64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
8627 #endif
8628 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
8629 vld1q_dup_s64 (const int64_t * __a)
8631 return (int64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
8634 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
8635 vld1q_dup_u64 (const uint64_t * __a)
8637 return (uint64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
8640 #ifdef __ARM_FEATURE_CRYPTO
8641 __extension__ static __inline void __attribute__ ((__always_inline__))
8642 vst1_p64 (poly64_t * __a, poly64x1_t __b)
8644 __builtin_neon_vst1di ((__builtin_neon_di *) __a, __b);
8647 #endif
8648 __extension__ static __inline void __attribute__ ((__always_inline__))
8649 vst1_s8 (int8_t * __a, int8x8_t __b)
8651 __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, __b);
8654 __extension__ static __inline void __attribute__ ((__always_inline__))
8655 vst1_s16 (int16_t * __a, int16x4_t __b)
8657 __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, __b);
8660 __extension__ static __inline void __attribute__ ((__always_inline__))
8661 vst1_s32 (int32_t * __a, int32x2_t __b)
8663 __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, __b);
8666 __extension__ static __inline void __attribute__ ((__always_inline__))
8667 vst1_s64 (int64_t * __a, int64x1_t __b)
8669 __builtin_neon_vst1di ((__builtin_neon_di *) __a, __b);
8672 __extension__ static __inline void __attribute__ ((__always_inline__))
8673 vst1_f32 (float32_t * __a, float32x2_t __b)
8675 __builtin_neon_vst1v2sf ((__builtin_neon_sf *) __a, __b);
8678 __extension__ static __inline void __attribute__ ((__always_inline__))
8679 vst1_u8 (uint8_t * __a, uint8x8_t __b)
8681 __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
8684 __extension__ static __inline void __attribute__ ((__always_inline__))
8685 vst1_u16 (uint16_t * __a, uint16x4_t __b)
8687 __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
8690 __extension__ static __inline void __attribute__ ((__always_inline__))
8691 vst1_u32 (uint32_t * __a, uint32x2_t __b)
8693 __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, (int32x2_t) __b);
8696 __extension__ static __inline void __attribute__ ((__always_inline__))
8697 vst1_u64 (uint64_t * __a, uint64x1_t __b)
8699 __builtin_neon_vst1di ((__builtin_neon_di *) __a, (int64x1_t) __b);
8702 __extension__ static __inline void __attribute__ ((__always_inline__))
8703 vst1_p8 (poly8_t * __a, poly8x8_t __b)
8705 __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
8708 __extension__ static __inline void __attribute__ ((__always_inline__))
8709 vst1_p16 (poly16_t * __a, poly16x4_t __b)
8711 __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
8714 #ifdef __ARM_FEATURE_CRYPTO
8715 __extension__ static __inline void __attribute__ ((__always_inline__))
8716 vst1q_p64 (poly64_t * __a, poly64x2_t __b)
8718 __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, (int64x2_t) __b);
8721 #endif
8722 __extension__ static __inline void __attribute__ ((__always_inline__))
8723 vst1q_s8 (int8_t * __a, int8x16_t __b)
8725 __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, __b);
8728 __extension__ static __inline void __attribute__ ((__always_inline__))
8729 vst1q_s16 (int16_t * __a, int16x8_t __b)
8731 __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, __b);
8734 __extension__ static __inline void __attribute__ ((__always_inline__))
8735 vst1q_s32 (int32_t * __a, int32x4_t __b)
8737 __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, __b);
8740 __extension__ static __inline void __attribute__ ((__always_inline__))
8741 vst1q_s64 (int64_t * __a, int64x2_t __b)
8743 __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, __b);
8746 __extension__ static __inline void __attribute__ ((__always_inline__))
8747 vst1q_f32 (float32_t * __a, float32x4_t __b)
8749 __builtin_neon_vst1v4sf ((__builtin_neon_sf *) __a, __b);
8752 __extension__ static __inline void __attribute__ ((__always_inline__))
8753 vst1q_u8 (uint8_t * __a, uint8x16_t __b)
8755 __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
8758 __extension__ static __inline void __attribute__ ((__always_inline__))
8759 vst1q_u16 (uint16_t * __a, uint16x8_t __b)
8761 __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
8764 __extension__ static __inline void __attribute__ ((__always_inline__))
8765 vst1q_u32 (uint32_t * __a, uint32x4_t __b)
8767 __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, (int32x4_t) __b);
8770 __extension__ static __inline void __attribute__ ((__always_inline__))
8771 vst1q_u64 (uint64_t * __a, uint64x2_t __b)
8773 __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, (int64x2_t) __b);
8776 __extension__ static __inline void __attribute__ ((__always_inline__))
8777 vst1q_p8 (poly8_t * __a, poly8x16_t __b)
8779 __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
8782 __extension__ static __inline void __attribute__ ((__always_inline__))
8783 vst1q_p16 (poly16_t * __a, poly16x8_t __b)
8785 __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
8788 __extension__ static __inline void __attribute__ ((__always_inline__))
8789 vst1_lane_s8 (int8_t * __a, int8x8_t __b, const int __c)
8791 __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, __b, __c);
8794 __extension__ static __inline void __attribute__ ((__always_inline__))
8795 vst1_lane_s16 (int16_t * __a, int16x4_t __b, const int __c)
8797 __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, __b, __c);
8800 __extension__ static __inline void __attribute__ ((__always_inline__))
8801 vst1_lane_s32 (int32_t * __a, int32x2_t __b, const int __c)
8803 __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, __b, __c);
8806 __extension__ static __inline void __attribute__ ((__always_inline__))
8807 vst1_lane_f32 (float32_t * __a, float32x2_t __b, const int __c)
8809 __builtin_neon_vst1_lanev2sf ((__builtin_neon_sf *) __a, __b, __c);
8812 __extension__ static __inline void __attribute__ ((__always_inline__))
8813 vst1_lane_u8 (uint8_t * __a, uint8x8_t __b, const int __c)
8815 __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8818 __extension__ static __inline void __attribute__ ((__always_inline__))
8819 vst1_lane_u16 (uint16_t * __a, uint16x4_t __b, const int __c)
8821 __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8824 __extension__ static __inline void __attribute__ ((__always_inline__))
8825 vst1_lane_u32 (uint32_t * __a, uint32x2_t __b, const int __c)
8827 __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, (int32x2_t) __b, __c);
8830 __extension__ static __inline void __attribute__ ((__always_inline__))
8831 vst1_lane_p8 (poly8_t * __a, poly8x8_t __b, const int __c)
8833 __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8836 __extension__ static __inline void __attribute__ ((__always_inline__))
8837 vst1_lane_p16 (poly16_t * __a, poly16x4_t __b, const int __c)
8839 __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8842 #ifdef __ARM_FEATURE_CRYPTO
8843 __extension__ static __inline void __attribute__ ((__always_inline__))
8844 vst1_lane_p64 (poly64_t * __a, poly64x1_t __b, const int __c)
8846 __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, __b, __c);
8849 #endif
8850 __extension__ static __inline void __attribute__ ((__always_inline__))
8851 vst1_lane_s64 (int64_t * __a, int64x1_t __b, const int __c)
8853 __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, __b, __c);
8856 __extension__ static __inline void __attribute__ ((__always_inline__))
8857 vst1_lane_u64 (uint64_t * __a, uint64x1_t __b, const int __c)
8859 __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, (int64x1_t) __b, __c);
8862 __extension__ static __inline void __attribute__ ((__always_inline__))
8863 vst1q_lane_s8 (int8_t * __a, int8x16_t __b, const int __c)
8865 __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, __b, __c);
8868 __extension__ static __inline void __attribute__ ((__always_inline__))
8869 vst1q_lane_s16 (int16_t * __a, int16x8_t __b, const int __c)
8871 __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, __b, __c);
8874 __extension__ static __inline void __attribute__ ((__always_inline__))
8875 vst1q_lane_s32 (int32_t * __a, int32x4_t __b, const int __c)
8877 __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, __b, __c);
8880 __extension__ static __inline void __attribute__ ((__always_inline__))
8881 vst1q_lane_f32 (float32_t * __a, float32x4_t __b, const int __c)
8883 __builtin_neon_vst1_lanev4sf ((__builtin_neon_sf *) __a, __b, __c);
8886 __extension__ static __inline void __attribute__ ((__always_inline__))
8887 vst1q_lane_u8 (uint8_t * __a, uint8x16_t __b, const int __c)
8889 __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8892 __extension__ static __inline void __attribute__ ((__always_inline__))
8893 vst1q_lane_u16 (uint16_t * __a, uint16x8_t __b, const int __c)
8895 __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8898 __extension__ static __inline void __attribute__ ((__always_inline__))
8899 vst1q_lane_u32 (uint32_t * __a, uint32x4_t __b, const int __c)
8901 __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, (int32x4_t) __b, __c);
8904 __extension__ static __inline void __attribute__ ((__always_inline__))
8905 vst1q_lane_p8 (poly8_t * __a, poly8x16_t __b, const int __c)
8907 __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8910 __extension__ static __inline void __attribute__ ((__always_inline__))
8911 vst1q_lane_p16 (poly16_t * __a, poly16x8_t __b, const int __c)
8913 __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8916 #ifdef __ARM_FEATURE_CRYPTO
8917 __extension__ static __inline void __attribute__ ((__always_inline__))
8918 vst1q_lane_p64 (poly64_t * __a, poly64x2_t __b, const int __c)
8920 __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, (int64x2_t) __b, __c);
8923 #endif
8924 __extension__ static __inline void __attribute__ ((__always_inline__))
8925 vst1q_lane_s64 (int64_t * __a, int64x2_t __b, const int __c)
8927 __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, __b, __c);
8930 __extension__ static __inline void __attribute__ ((__always_inline__))
8931 vst1q_lane_u64 (uint64_t * __a, uint64x2_t __b, const int __c)
8933 __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, (int64x2_t) __b, __c);
8936 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
8937 vld2_s8 (const int8_t * __a)
8939 union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8940 __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
8941 return __rv.__i;
8944 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
8945 vld2_s16 (const int16_t * __a)
8947 union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8948 __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
8949 return __rv.__i;
8952 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
8953 vld2_s32 (const int32_t * __a)
8955 union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8956 __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
8957 return __rv.__i;
8960 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
8961 vld2_f32 (const float32_t * __a)
8963 union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8964 __rv.__o = __builtin_neon_vld2v2sf ((const __builtin_neon_sf *) __a);
8965 return __rv.__i;
8968 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
8969 vld2_u8 (const uint8_t * __a)
8971 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8972 __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
8973 return __rv.__i;
8976 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
8977 vld2_u16 (const uint16_t * __a)
8979 union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8980 __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
8981 return __rv.__i;
8984 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
8985 vld2_u32 (const uint32_t * __a)
8987 union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8988 __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
8989 return __rv.__i;
8992 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
8993 vld2_p8 (const poly8_t * __a)
8995 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8996 __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
8997 return __rv.__i;
9000 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
9001 vld2_p16 (const poly16_t * __a)
9003 union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9004 __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
9005 return __rv.__i;
9008 #ifdef __ARM_FEATURE_CRYPTO
9009 __extension__ static __inline poly64x1x2_t __attribute__ ((__always_inline__))
9010 vld2_p64 (const poly64_t * __a)
9012 union { poly64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9013 __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
9014 return __rv.__i;
9017 #endif
9018 __extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__))
9019 vld2_s64 (const int64_t * __a)
9021 union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9022 __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
9023 return __rv.__i;
9026 __extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__))
9027 vld2_u64 (const uint64_t * __a)
9029 union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9030 __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
9031 return __rv.__i;
9034 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
9035 vld2q_s8 (const int8_t * __a)
9037 union { int8x16x2_t __i; __builtin_neon_oi __o; } __rv;
9038 __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
9039 return __rv.__i;
9042 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
9043 vld2q_s16 (const int16_t * __a)
9045 union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
9046 __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
9047 return __rv.__i;
9050 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
9051 vld2q_s32 (const int32_t * __a)
9053 union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
9054 __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
9055 return __rv.__i;
9058 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
9059 vld2q_f32 (const float32_t * __a)
9061 union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
9062 __rv.__o = __builtin_neon_vld2v4sf ((const __builtin_neon_sf *) __a);
9063 return __rv.__i;
9066 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
9067 vld2q_u8 (const uint8_t * __a)
9069 union { uint8x16x2_t __i; __builtin_neon_oi __o; } __rv;
9070 __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
9071 return __rv.__i;
9074 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
9075 vld2q_u16 (const uint16_t * __a)
9077 union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
9078 __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
9079 return __rv.__i;
9082 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
9083 vld2q_u32 (const uint32_t * __a)
9085 union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
9086 __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
9087 return __rv.__i;
9090 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
9091 vld2q_p8 (const poly8_t * __a)
9093 union { poly8x16x2_t __i; __builtin_neon_oi __o; } __rv;
9094 __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
9095 return __rv.__i;
9098 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
9099 vld2q_p16 (const poly16_t * __a)
9101 union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
9102 __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
9103 return __rv.__i;
9106 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
9107 vld2_lane_s8 (const int8_t * __a, int8x8x2_t __b, const int __c)
9109 union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9110 union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9111 __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9112 return __rv.__i;
9115 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
9116 vld2_lane_s16 (const int16_t * __a, int16x4x2_t __b, const int __c)
9118 union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9119 union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9120 __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9121 return __rv.__i;
9124 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
9125 vld2_lane_s32 (const int32_t * __a, int32x2x2_t __b, const int __c)
9127 union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9128 union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9129 __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9130 return __rv.__i;
9133 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
9134 vld2_lane_f32 (const float32_t * __a, float32x2x2_t __b, const int __c)
9136 union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9137 union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9138 __rv.__o = __builtin_neon_vld2_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
9139 return __rv.__i;
9142 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
9143 vld2_lane_u8 (const uint8_t * __a, uint8x8x2_t __b, const int __c)
9145 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9146 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9147 __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9148 return __rv.__i;
9151 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
9152 vld2_lane_u16 (const uint16_t * __a, uint16x4x2_t __b, const int __c)
9154 union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9155 union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9156 __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9157 return __rv.__i;
9160 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
9161 vld2_lane_u32 (const uint32_t * __a, uint32x2x2_t __b, const int __c)
9163 union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9164 union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9165 __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9166 return __rv.__i;
9169 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
9170 vld2_lane_p8 (const poly8_t * __a, poly8x8x2_t __b, const int __c)
9172 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9173 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9174 __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9175 return __rv.__i;
9178 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
9179 vld2_lane_p16 (const poly16_t * __a, poly16x4x2_t __b, const int __c)
9181 union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9182 union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9183 __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9184 return __rv.__i;
9187 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
9188 vld2q_lane_s16 (const int16_t * __a, int16x8x2_t __b, const int __c)
9190 union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9191 union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
9192 __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9193 return __rv.__i;
9196 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
9197 vld2q_lane_s32 (const int32_t * __a, int32x4x2_t __b, const int __c)
9199 union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9200 union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
9201 __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9202 return __rv.__i;
9205 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
9206 vld2q_lane_f32 (const float32_t * __a, float32x4x2_t __b, const int __c)
9208 union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9209 union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
9210 __rv.__o = __builtin_neon_vld2_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
9211 return __rv.__i;
9214 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
9215 vld2q_lane_u16 (const uint16_t * __a, uint16x8x2_t __b, const int __c)
9217 union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9218 union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
9219 __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9220 return __rv.__i;
9223 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
9224 vld2q_lane_u32 (const uint32_t * __a, uint32x4x2_t __b, const int __c)
9226 union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9227 union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
9228 __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9229 return __rv.__i;
9232 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
9233 vld2q_lane_p16 (const poly16_t * __a, poly16x8x2_t __b, const int __c)
9235 union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9236 union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
9237 __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9238 return __rv.__i;
9241 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
9242 vld2_dup_s8 (const int8_t * __a)
9244 union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9245 __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
9246 return __rv.__i;
9249 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
9250 vld2_dup_s16 (const int16_t * __a)
9252 union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9253 __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
9254 return __rv.__i;
9257 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
9258 vld2_dup_s32 (const int32_t * __a)
9260 union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9261 __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
9262 return __rv.__i;
9265 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
9266 vld2_dup_f32 (const float32_t * __a)
9268 union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9269 __rv.__o = __builtin_neon_vld2_dupv2sf ((const __builtin_neon_sf *) __a);
9270 return __rv.__i;
9273 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
9274 vld2_dup_u8 (const uint8_t * __a)
9276 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9277 __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
9278 return __rv.__i;
9281 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
9282 vld2_dup_u16 (const uint16_t * __a)
9284 union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9285 __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
9286 return __rv.__i;
9289 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
9290 vld2_dup_u32 (const uint32_t * __a)
9292 union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9293 __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
9294 return __rv.__i;
9297 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
9298 vld2_dup_p8 (const poly8_t * __a)
9300 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9301 __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
9302 return __rv.__i;
9305 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
9306 vld2_dup_p16 (const poly16_t * __a)
9308 union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9309 __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
9310 return __rv.__i;
9313 #ifdef __ARM_FEATURE_CRYPTO
9314 __extension__ static __inline poly64x1x2_t __attribute__ ((__always_inline__))
9315 vld2_dup_p64 (const poly64_t * __a)
9317 union { poly64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9318 __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
9319 return __rv.__i;
9322 #endif
9323 __extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__))
9324 vld2_dup_s64 (const int64_t * __a)
9326 union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9327 __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
9328 return __rv.__i;
9331 __extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__))
9332 vld2_dup_u64 (const uint64_t * __a)
9334 union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9335 __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
9336 return __rv.__i;
9339 __extension__ static __inline void __attribute__ ((__always_inline__))
9340 vst2_s8 (int8_t * __a, int8x8x2_t __b)
9342 union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9343 __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9346 __extension__ static __inline void __attribute__ ((__always_inline__))
9347 vst2_s16 (int16_t * __a, int16x4x2_t __b)
9349 union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9350 __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9353 __extension__ static __inline void __attribute__ ((__always_inline__))
9354 vst2_s32 (int32_t * __a, int32x2x2_t __b)
9356 union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9357 __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
9360 __extension__ static __inline void __attribute__ ((__always_inline__))
9361 vst2_f32 (float32_t * __a, float32x2x2_t __b)
9363 union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9364 __builtin_neon_vst2v2sf ((__builtin_neon_sf *) __a, __bu.__o);
9367 __extension__ static __inline void __attribute__ ((__always_inline__))
9368 vst2_u8 (uint8_t * __a, uint8x8x2_t __b)
9370 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9371 __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9374 __extension__ static __inline void __attribute__ ((__always_inline__))
9375 vst2_u16 (uint16_t * __a, uint16x4x2_t __b)
9377 union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9378 __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9381 __extension__ static __inline void __attribute__ ((__always_inline__))
9382 vst2_u32 (uint32_t * __a, uint32x2x2_t __b)
9384 union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9385 __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
9388 __extension__ static __inline void __attribute__ ((__always_inline__))
9389 vst2_p8 (poly8_t * __a, poly8x8x2_t __b)
9391 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9392 __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9395 __extension__ static __inline void __attribute__ ((__always_inline__))
9396 vst2_p16 (poly16_t * __a, poly16x4x2_t __b)
9398 union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9399 __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9402 #ifdef __ARM_FEATURE_CRYPTO
9403 __extension__ static __inline void __attribute__ ((__always_inline__))
9404 vst2_p64 (poly64_t * __a, poly64x1x2_t __b)
9406 union { poly64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9407 __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
9410 #endif
9411 __extension__ static __inline void __attribute__ ((__always_inline__))
9412 vst2_s64 (int64_t * __a, int64x1x2_t __b)
9414 union { int64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9415 __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
9418 __extension__ static __inline void __attribute__ ((__always_inline__))
9419 vst2_u64 (uint64_t * __a, uint64x1x2_t __b)
9421 union { uint64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9422 __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
9425 __extension__ static __inline void __attribute__ ((__always_inline__))
9426 vst2q_s8 (int8_t * __a, int8x16x2_t __b)
9428 union { int8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9429 __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9432 __extension__ static __inline void __attribute__ ((__always_inline__))
9433 vst2q_s16 (int16_t * __a, int16x8x2_t __b)
9435 union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9436 __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9439 __extension__ static __inline void __attribute__ ((__always_inline__))
9440 vst2q_s32 (int32_t * __a, int32x4x2_t __b)
9442 union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9443 __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
9446 __extension__ static __inline void __attribute__ ((__always_inline__))
9447 vst2q_f32 (float32_t * __a, float32x4x2_t __b)
9449 union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9450 __builtin_neon_vst2v4sf ((__builtin_neon_sf *) __a, __bu.__o);
9453 __extension__ static __inline void __attribute__ ((__always_inline__))
9454 vst2q_u8 (uint8_t * __a, uint8x16x2_t __b)
9456 union { uint8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9457 __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9460 __extension__ static __inline void __attribute__ ((__always_inline__))
9461 vst2q_u16 (uint16_t * __a, uint16x8x2_t __b)
9463 union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9464 __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9467 __extension__ static __inline void __attribute__ ((__always_inline__))
9468 vst2q_u32 (uint32_t * __a, uint32x4x2_t __b)
9470 union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9471 __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
9474 __extension__ static __inline void __attribute__ ((__always_inline__))
9475 vst2q_p8 (poly8_t * __a, poly8x16x2_t __b)
9477 union { poly8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9478 __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9481 __extension__ static __inline void __attribute__ ((__always_inline__))
9482 vst2q_p16 (poly16_t * __a, poly16x8x2_t __b)
9484 union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9485 __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9488 __extension__ static __inline void __attribute__ ((__always_inline__))
9489 vst2_lane_s8 (int8_t * __a, int8x8x2_t __b, const int __c)
9491 union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9492 __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9495 __extension__ static __inline void __attribute__ ((__always_inline__))
9496 vst2_lane_s16 (int16_t * __a, int16x4x2_t __b, const int __c)
9498 union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9499 __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9502 __extension__ static __inline void __attribute__ ((__always_inline__))
9503 vst2_lane_s32 (int32_t * __a, int32x2x2_t __b, const int __c)
9505 union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9506 __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9509 __extension__ static __inline void __attribute__ ((__always_inline__))
9510 vst2_lane_f32 (float32_t * __a, float32x2x2_t __b, const int __c)
9512 union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9513 __builtin_neon_vst2_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9516 __extension__ static __inline void __attribute__ ((__always_inline__))
9517 vst2_lane_u8 (uint8_t * __a, uint8x8x2_t __b, const int __c)
9519 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9520 __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9523 __extension__ static __inline void __attribute__ ((__always_inline__))
9524 vst2_lane_u16 (uint16_t * __a, uint16x4x2_t __b, const int __c)
9526 union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9527 __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9530 __extension__ static __inline void __attribute__ ((__always_inline__))
9531 vst2_lane_u32 (uint32_t * __a, uint32x2x2_t __b, const int __c)
9533 union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9534 __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9537 __extension__ static __inline void __attribute__ ((__always_inline__))
9538 vst2_lane_p8 (poly8_t * __a, poly8x8x2_t __b, const int __c)
9540 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9541 __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9544 __extension__ static __inline void __attribute__ ((__always_inline__))
9545 vst2_lane_p16 (poly16_t * __a, poly16x4x2_t __b, const int __c)
9547 union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9548 __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9551 __extension__ static __inline void __attribute__ ((__always_inline__))
9552 vst2q_lane_s16 (int16_t * __a, int16x8x2_t __b, const int __c)
9554 union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9555 __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9558 __extension__ static __inline void __attribute__ ((__always_inline__))
9559 vst2q_lane_s32 (int32_t * __a, int32x4x2_t __b, const int __c)
9561 union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9562 __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9565 __extension__ static __inline void __attribute__ ((__always_inline__))
9566 vst2q_lane_f32 (float32_t * __a, float32x4x2_t __b, const int __c)
9568 union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9569 __builtin_neon_vst2_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9572 __extension__ static __inline void __attribute__ ((__always_inline__))
9573 vst2q_lane_u16 (uint16_t * __a, uint16x8x2_t __b, const int __c)
9575 union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9576 __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9579 __extension__ static __inline void __attribute__ ((__always_inline__))
9580 vst2q_lane_u32 (uint32_t * __a, uint32x4x2_t __b, const int __c)
9582 union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9583 __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9586 __extension__ static __inline void __attribute__ ((__always_inline__))
9587 vst2q_lane_p16 (poly16_t * __a, poly16x8x2_t __b, const int __c)
9589 union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9590 __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9593 __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
9594 vld3_s8 (const int8_t * __a)
9596 union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9597 __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
9598 return __rv.__i;
9601 __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
9602 vld3_s16 (const int16_t * __a)
9604 union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9605 __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
9606 return __rv.__i;
9609 __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
9610 vld3_s32 (const int32_t * __a)
9612 union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9613 __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
9614 return __rv.__i;
9617 __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
9618 vld3_f32 (const float32_t * __a)
9620 union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9621 __rv.__o = __builtin_neon_vld3v2sf ((const __builtin_neon_sf *) __a);
9622 return __rv.__i;
9625 __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
9626 vld3_u8 (const uint8_t * __a)
9628 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9629 __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
9630 return __rv.__i;
9633 __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
9634 vld3_u16 (const uint16_t * __a)
9636 union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9637 __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
9638 return __rv.__i;
9641 __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
9642 vld3_u32 (const uint32_t * __a)
9644 union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9645 __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
9646 return __rv.__i;
9649 __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
9650 vld3_p8 (const poly8_t * __a)
9652 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9653 __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
9654 return __rv.__i;
9657 __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
9658 vld3_p16 (const poly16_t * __a)
9660 union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9661 __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
9662 return __rv.__i;
9665 #ifdef __ARM_FEATURE_CRYPTO
9666 __extension__ static __inline poly64x1x3_t __attribute__ ((__always_inline__))
9667 vld3_p64 (const poly64_t * __a)
9669 union { poly64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9670 __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
9671 return __rv.__i;
9674 #endif
9675 __extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__))
9676 vld3_s64 (const int64_t * __a)
9678 union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9679 __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
9680 return __rv.__i;
9683 __extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__))
9684 vld3_u64 (const uint64_t * __a)
9686 union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9687 __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
9688 return __rv.__i;
9691 __extension__ static __inline int8x16x3_t __attribute__ ((__always_inline__))
9692 vld3q_s8 (const int8_t * __a)
9694 union { int8x16x3_t __i; __builtin_neon_ci __o; } __rv;
9695 __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
9696 return __rv.__i;
9699 __extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__))
9700 vld3q_s16 (const int16_t * __a)
9702 union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9703 __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
9704 return __rv.__i;
9707 __extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__))
9708 vld3q_s32 (const int32_t * __a)
9710 union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9711 __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
9712 return __rv.__i;
9715 __extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__))
9716 vld3q_f32 (const float32_t * __a)
9718 union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9719 __rv.__o = __builtin_neon_vld3v4sf ((const __builtin_neon_sf *) __a);
9720 return __rv.__i;
9723 __extension__ static __inline uint8x16x3_t __attribute__ ((__always_inline__))
9724 vld3q_u8 (const uint8_t * __a)
9726 union { uint8x16x3_t __i; __builtin_neon_ci __o; } __rv;
9727 __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
9728 return __rv.__i;
9731 __extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__))
9732 vld3q_u16 (const uint16_t * __a)
9734 union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9735 __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
9736 return __rv.__i;
9739 __extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__))
9740 vld3q_u32 (const uint32_t * __a)
9742 union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9743 __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
9744 return __rv.__i;
9747 __extension__ static __inline poly8x16x3_t __attribute__ ((__always_inline__))
9748 vld3q_p8 (const poly8_t * __a)
9750 union { poly8x16x3_t __i; __builtin_neon_ci __o; } __rv;
9751 __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
9752 return __rv.__i;
9755 __extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__))
9756 vld3q_p16 (const poly16_t * __a)
9758 union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9759 __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
9760 return __rv.__i;
9763 __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
9764 vld3_lane_s8 (const int8_t * __a, int8x8x3_t __b, const int __c)
9766 union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9767 union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9768 __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9769 return __rv.__i;
9772 __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
9773 vld3_lane_s16 (const int16_t * __a, int16x4x3_t __b, const int __c)
9775 union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9776 union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9777 __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9778 return __rv.__i;
9781 __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
9782 vld3_lane_s32 (const int32_t * __a, int32x2x3_t __b, const int __c)
9784 union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9785 union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9786 __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9787 return __rv.__i;
9790 __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
9791 vld3_lane_f32 (const float32_t * __a, float32x2x3_t __b, const int __c)
9793 union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9794 union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9795 __rv.__o = __builtin_neon_vld3_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
9796 return __rv.__i;
9799 __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
9800 vld3_lane_u8 (const uint8_t * __a, uint8x8x3_t __b, const int __c)
9802 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9803 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9804 __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9805 return __rv.__i;
9808 __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
9809 vld3_lane_u16 (const uint16_t * __a, uint16x4x3_t __b, const int __c)
9811 union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9812 union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9813 __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9814 return __rv.__i;
9817 __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
9818 vld3_lane_u32 (const uint32_t * __a, uint32x2x3_t __b, const int __c)
9820 union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9821 union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9822 __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9823 return __rv.__i;
9826 __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
9827 vld3_lane_p8 (const poly8_t * __a, poly8x8x3_t __b, const int __c)
9829 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9830 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9831 __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9832 return __rv.__i;
9835 __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
9836 vld3_lane_p16 (const poly16_t * __a, poly16x4x3_t __b, const int __c)
9838 union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9839 union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9840 __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9841 return __rv.__i;
9844 __extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__))
9845 vld3q_lane_s16 (const int16_t * __a, int16x8x3_t __b, const int __c)
9847 union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9848 union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9849 __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9850 return __rv.__i;
9853 __extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__))
9854 vld3q_lane_s32 (const int32_t * __a, int32x4x3_t __b, const int __c)
9856 union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9857 union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9858 __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9859 return __rv.__i;
9862 __extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__))
9863 vld3q_lane_f32 (const float32_t * __a, float32x4x3_t __b, const int __c)
9865 union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9866 union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9867 __rv.__o = __builtin_neon_vld3_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
9868 return __rv.__i;
9871 __extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__))
9872 vld3q_lane_u16 (const uint16_t * __a, uint16x8x3_t __b, const int __c)
9874 union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9875 union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9876 __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9877 return __rv.__i;
9880 __extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__))
9881 vld3q_lane_u32 (const uint32_t * __a, uint32x4x3_t __b, const int __c)
9883 union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9884 union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9885 __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9886 return __rv.__i;
9889 __extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__))
9890 vld3q_lane_p16 (const poly16_t * __a, poly16x8x3_t __b, const int __c)
9892 union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9893 union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9894 __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9895 return __rv.__i;
9898 __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
9899 vld3_dup_s8 (const int8_t * __a)
9901 union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9902 __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
9903 return __rv.__i;
9906 __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
9907 vld3_dup_s16 (const int16_t * __a)
9909 union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9910 __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
9911 return __rv.__i;
9914 __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
9915 vld3_dup_s32 (const int32_t * __a)
9917 union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9918 __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
9919 return __rv.__i;
9922 __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
9923 vld3_dup_f32 (const float32_t * __a)
9925 union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9926 __rv.__o = __builtin_neon_vld3_dupv2sf ((const __builtin_neon_sf *) __a);
9927 return __rv.__i;
9930 __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
9931 vld3_dup_u8 (const uint8_t * __a)
9933 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9934 __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
9935 return __rv.__i;
9938 __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
9939 vld3_dup_u16 (const uint16_t * __a)
9941 union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9942 __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
9943 return __rv.__i;
9946 __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
9947 vld3_dup_u32 (const uint32_t * __a)
9949 union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9950 __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
9951 return __rv.__i;
9954 __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
9955 vld3_dup_p8 (const poly8_t * __a)
9957 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9958 __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
9959 return __rv.__i;
9962 __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
9963 vld3_dup_p16 (const poly16_t * __a)
9965 union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9966 __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
9967 return __rv.__i;
9970 #ifdef __ARM_FEATURE_CRYPTO
9971 __extension__ static __inline poly64x1x3_t __attribute__ ((__always_inline__))
9972 vld3_dup_p64 (const poly64_t * __a)
9974 union { poly64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9975 __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
9976 return __rv.__i;
9979 #endif
9980 __extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__))
9981 vld3_dup_s64 (const int64_t * __a)
9983 union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9984 __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
9985 return __rv.__i;
9988 __extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__))
9989 vld3_dup_u64 (const uint64_t * __a)
9991 union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9992 __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
9993 return __rv.__i;
9996 __extension__ static __inline void __attribute__ ((__always_inline__))
9997 vst3_s8 (int8_t * __a, int8x8x3_t __b)
9999 union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10000 __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10003 __extension__ static __inline void __attribute__ ((__always_inline__))
10004 vst3_s16 (int16_t * __a, int16x4x3_t __b)
10006 union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10007 __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10010 __extension__ static __inline void __attribute__ ((__always_inline__))
10011 vst3_s32 (int32_t * __a, int32x2x3_t __b)
10013 union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10014 __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
10017 __extension__ static __inline void __attribute__ ((__always_inline__))
10018 vst3_f32 (float32_t * __a, float32x2x3_t __b)
10020 union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10021 __builtin_neon_vst3v2sf ((__builtin_neon_sf *) __a, __bu.__o);
10024 __extension__ static __inline void __attribute__ ((__always_inline__))
10025 vst3_u8 (uint8_t * __a, uint8x8x3_t __b)
10027 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10028 __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10031 __extension__ static __inline void __attribute__ ((__always_inline__))
10032 vst3_u16 (uint16_t * __a, uint16x4x3_t __b)
10034 union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10035 __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10038 __extension__ static __inline void __attribute__ ((__always_inline__))
10039 vst3_u32 (uint32_t * __a, uint32x2x3_t __b)
10041 union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10042 __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
10045 __extension__ static __inline void __attribute__ ((__always_inline__))
10046 vst3_p8 (poly8_t * __a, poly8x8x3_t __b)
10048 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10049 __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10052 __extension__ static __inline void __attribute__ ((__always_inline__))
10053 vst3_p16 (poly16_t * __a, poly16x4x3_t __b)
10055 union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10056 __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10059 #ifdef __ARM_FEATURE_CRYPTO
10060 __extension__ static __inline void __attribute__ ((__always_inline__))
10061 vst3_p64 (poly64_t * __a, poly64x1x3_t __b)
10063 union { poly64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10064 __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
10067 #endif
10068 __extension__ static __inline void __attribute__ ((__always_inline__))
10069 vst3_s64 (int64_t * __a, int64x1x3_t __b)
10071 union { int64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10072 __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
10075 __extension__ static __inline void __attribute__ ((__always_inline__))
10076 vst3_u64 (uint64_t * __a, uint64x1x3_t __b)
10078 union { uint64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10079 __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
10082 __extension__ static __inline void __attribute__ ((__always_inline__))
10083 vst3q_s8 (int8_t * __a, int8x16x3_t __b)
10085 union { int8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10086 __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10089 __extension__ static __inline void __attribute__ ((__always_inline__))
10090 vst3q_s16 (int16_t * __a, int16x8x3_t __b)
10092 union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10093 __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10096 __extension__ static __inline void __attribute__ ((__always_inline__))
10097 vst3q_s32 (int32_t * __a, int32x4x3_t __b)
10099 union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10100 __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
10103 __extension__ static __inline void __attribute__ ((__always_inline__))
10104 vst3q_f32 (float32_t * __a, float32x4x3_t __b)
10106 union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10107 __builtin_neon_vst3v4sf ((__builtin_neon_sf *) __a, __bu.__o);
10110 __extension__ static __inline void __attribute__ ((__always_inline__))
10111 vst3q_u8 (uint8_t * __a, uint8x16x3_t __b)
10113 union { uint8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10114 __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10117 __extension__ static __inline void __attribute__ ((__always_inline__))
10118 vst3q_u16 (uint16_t * __a, uint16x8x3_t __b)
10120 union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10121 __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10124 __extension__ static __inline void __attribute__ ((__always_inline__))
10125 vst3q_u32 (uint32_t * __a, uint32x4x3_t __b)
10127 union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10128 __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
10131 __extension__ static __inline void __attribute__ ((__always_inline__))
10132 vst3q_p8 (poly8_t * __a, poly8x16x3_t __b)
10134 union { poly8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10135 __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10138 __extension__ static __inline void __attribute__ ((__always_inline__))
10139 vst3q_p16 (poly16_t * __a, poly16x8x3_t __b)
10141 union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10142 __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10145 __extension__ static __inline void __attribute__ ((__always_inline__))
10146 vst3_lane_s8 (int8_t * __a, int8x8x3_t __b, const int __c)
10148 union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10149 __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10152 __extension__ static __inline void __attribute__ ((__always_inline__))
10153 vst3_lane_s16 (int16_t * __a, int16x4x3_t __b, const int __c)
10155 union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10156 __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10159 __extension__ static __inline void __attribute__ ((__always_inline__))
10160 vst3_lane_s32 (int32_t * __a, int32x2x3_t __b, const int __c)
10162 union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10163 __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
10166 __extension__ static __inline void __attribute__ ((__always_inline__))
10167 vst3_lane_f32 (float32_t * __a, float32x2x3_t __b, const int __c)
10169 union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10170 __builtin_neon_vst3_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
10173 __extension__ static __inline void __attribute__ ((__always_inline__))
10174 vst3_lane_u8 (uint8_t * __a, uint8x8x3_t __b, const int __c)
10176 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10177 __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10180 __extension__ static __inline void __attribute__ ((__always_inline__))
10181 vst3_lane_u16 (uint16_t * __a, uint16x4x3_t __b, const int __c)
10183 union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10184 __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10187 __extension__ static __inline void __attribute__ ((__always_inline__))
10188 vst3_lane_u32 (uint32_t * __a, uint32x2x3_t __b, const int __c)
10190 union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10191 __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
10194 __extension__ static __inline void __attribute__ ((__always_inline__))
10195 vst3_lane_p8 (poly8_t * __a, poly8x8x3_t __b, const int __c)
10197 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10198 __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10201 __extension__ static __inline void __attribute__ ((__always_inline__))
10202 vst3_lane_p16 (poly16_t * __a, poly16x4x3_t __b, const int __c)
10204 union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10205 __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10208 __extension__ static __inline void __attribute__ ((__always_inline__))
10209 vst3q_lane_s16 (int16_t * __a, int16x8x3_t __b, const int __c)
10211 union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10212 __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10215 __extension__ static __inline void __attribute__ ((__always_inline__))
10216 vst3q_lane_s32 (int32_t * __a, int32x4x3_t __b, const int __c)
10218 union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10219 __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
10222 __extension__ static __inline void __attribute__ ((__always_inline__))
10223 vst3q_lane_f32 (float32_t * __a, float32x4x3_t __b, const int __c)
10225 union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10226 __builtin_neon_vst3_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
10229 __extension__ static __inline void __attribute__ ((__always_inline__))
10230 vst3q_lane_u16 (uint16_t * __a, uint16x8x3_t __b, const int __c)
10232 union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10233 __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10236 __extension__ static __inline void __attribute__ ((__always_inline__))
10237 vst3q_lane_u32 (uint32_t * __a, uint32x4x3_t __b, const int __c)
10239 union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10240 __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
10243 __extension__ static __inline void __attribute__ ((__always_inline__))
10244 vst3q_lane_p16 (poly16_t * __a, poly16x8x3_t __b, const int __c)
10246 union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10247 __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10250 __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
10251 vld4_s8 (const int8_t * __a)
10253 union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10254 __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
10255 return __rv.__i;
10258 __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
10259 vld4_s16 (const int16_t * __a)
10261 union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10262 __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
10263 return __rv.__i;
10266 __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
10267 vld4_s32 (const int32_t * __a)
10269 union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10270 __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
10271 return __rv.__i;
10274 __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
10275 vld4_f32 (const float32_t * __a)
10277 union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10278 __rv.__o = __builtin_neon_vld4v2sf ((const __builtin_neon_sf *) __a);
10279 return __rv.__i;
10282 __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
10283 vld4_u8 (const uint8_t * __a)
10285 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10286 __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
10287 return __rv.__i;
10290 __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
10291 vld4_u16 (const uint16_t * __a)
10293 union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10294 __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
10295 return __rv.__i;
10298 __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
10299 vld4_u32 (const uint32_t * __a)
10301 union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10302 __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
10303 return __rv.__i;
10306 __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
10307 vld4_p8 (const poly8_t * __a)
10309 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10310 __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
10311 return __rv.__i;
10314 __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
10315 vld4_p16 (const poly16_t * __a)
10317 union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10318 __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
10319 return __rv.__i;
10322 #ifdef __ARM_FEATURE_CRYPTO
10323 __extension__ static __inline poly64x1x4_t __attribute__ ((__always_inline__))
10324 vld4_p64 (const poly64_t * __a)
10326 union { poly64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10327 __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
10328 return __rv.__i;
10331 #endif
10332 __extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__))
10333 vld4_s64 (const int64_t * __a)
10335 union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10336 __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
10337 return __rv.__i;
10340 __extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__))
10341 vld4_u64 (const uint64_t * __a)
10343 union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10344 __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
10345 return __rv.__i;
10348 __extension__ static __inline int8x16x4_t __attribute__ ((__always_inline__))
10349 vld4q_s8 (const int8_t * __a)
10351 union { int8x16x4_t __i; __builtin_neon_xi __o; } __rv;
10352 __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
10353 return __rv.__i;
10356 __extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__))
10357 vld4q_s16 (const int16_t * __a)
10359 union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10360 __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
10361 return __rv.__i;
10364 __extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__))
10365 vld4q_s32 (const int32_t * __a)
10367 union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10368 __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
10369 return __rv.__i;
10372 __extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__))
10373 vld4q_f32 (const float32_t * __a)
10375 union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10376 __rv.__o = __builtin_neon_vld4v4sf ((const __builtin_neon_sf *) __a);
10377 return __rv.__i;
10380 __extension__ static __inline uint8x16x4_t __attribute__ ((__always_inline__))
10381 vld4q_u8 (const uint8_t * __a)
10383 union { uint8x16x4_t __i; __builtin_neon_xi __o; } __rv;
10384 __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
10385 return __rv.__i;
10388 __extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__))
10389 vld4q_u16 (const uint16_t * __a)
10391 union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10392 __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
10393 return __rv.__i;
10396 __extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__))
10397 vld4q_u32 (const uint32_t * __a)
10399 union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10400 __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
10401 return __rv.__i;
10404 __extension__ static __inline poly8x16x4_t __attribute__ ((__always_inline__))
10405 vld4q_p8 (const poly8_t * __a)
10407 union { poly8x16x4_t __i; __builtin_neon_xi __o; } __rv;
10408 __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
10409 return __rv.__i;
10412 __extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__))
10413 vld4q_p16 (const poly16_t * __a)
10415 union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10416 __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
10417 return __rv.__i;
10420 __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
10421 vld4_lane_s8 (const int8_t * __a, int8x8x4_t __b, const int __c)
10423 union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10424 union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10425 __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10426 return __rv.__i;
10429 __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
10430 vld4_lane_s16 (const int16_t * __a, int16x4x4_t __b, const int __c)
10432 union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10433 union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10434 __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10435 return __rv.__i;
10438 __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
10439 vld4_lane_s32 (const int32_t * __a, int32x2x4_t __b, const int __c)
10441 union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10442 union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10443 __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10444 return __rv.__i;
10447 __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
10448 vld4_lane_f32 (const float32_t * __a, float32x2x4_t __b, const int __c)
10450 union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10451 union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10452 __rv.__o = __builtin_neon_vld4_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
10453 return __rv.__i;
10456 __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
10457 vld4_lane_u8 (const uint8_t * __a, uint8x8x4_t __b, const int __c)
10459 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10460 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10461 __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10462 return __rv.__i;
10465 __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
10466 vld4_lane_u16 (const uint16_t * __a, uint16x4x4_t __b, const int __c)
10468 union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10469 union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10470 __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10471 return __rv.__i;
10474 __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
10475 vld4_lane_u32 (const uint32_t * __a, uint32x2x4_t __b, const int __c)
10477 union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10478 union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10479 __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10480 return __rv.__i;
10483 __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
10484 vld4_lane_p8 (const poly8_t * __a, poly8x8x4_t __b, const int __c)
10486 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10487 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10488 __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10489 return __rv.__i;
10492 __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
10493 vld4_lane_p16 (const poly16_t * __a, poly16x4x4_t __b, const int __c)
10495 union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10496 union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10497 __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10498 return __rv.__i;
10501 __extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__))
10502 vld4q_lane_s16 (const int16_t * __a, int16x8x4_t __b, const int __c)
10504 union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10505 union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10506 __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10507 return __rv.__i;
10510 __extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__))
10511 vld4q_lane_s32 (const int32_t * __a, int32x4x4_t __b, const int __c)
10513 union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10514 union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10515 __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10516 return __rv.__i;
10519 __extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__))
10520 vld4q_lane_f32 (const float32_t * __a, float32x4x4_t __b, const int __c)
10522 union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10523 union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10524 __rv.__o = __builtin_neon_vld4_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
10525 return __rv.__i;
10528 __extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__))
10529 vld4q_lane_u16 (const uint16_t * __a, uint16x8x4_t __b, const int __c)
10531 union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10532 union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10533 __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10534 return __rv.__i;
10537 __extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__))
10538 vld4q_lane_u32 (const uint32_t * __a, uint32x4x4_t __b, const int __c)
10540 union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10541 union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10542 __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10543 return __rv.__i;
10546 __extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__))
10547 vld4q_lane_p16 (const poly16_t * __a, poly16x8x4_t __b, const int __c)
10549 union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10550 union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10551 __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10552 return __rv.__i;
10555 __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
10556 vld4_dup_s8 (const int8_t * __a)
10558 union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10559 __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10560 return __rv.__i;
10563 __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
10564 vld4_dup_s16 (const int16_t * __a)
10566 union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10567 __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10568 return __rv.__i;
10571 __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
10572 vld4_dup_s32 (const int32_t * __a)
10574 union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10575 __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
10576 return __rv.__i;
10579 __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
10580 vld4_dup_f32 (const float32_t * __a)
10582 union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10583 __rv.__o = __builtin_neon_vld4_dupv2sf ((const __builtin_neon_sf *) __a);
10584 return __rv.__i;
10587 __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
10588 vld4_dup_u8 (const uint8_t * __a)
10590 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10591 __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10592 return __rv.__i;
10595 __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
10596 vld4_dup_u16 (const uint16_t * __a)
10598 union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10599 __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10600 return __rv.__i;
10603 __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
10604 vld4_dup_u32 (const uint32_t * __a)
10606 union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10607 __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
10608 return __rv.__i;
10611 __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
10612 vld4_dup_p8 (const poly8_t * __a)
10614 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10615 __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10616 return __rv.__i;
10619 __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
10620 vld4_dup_p16 (const poly16_t * __a)
10622 union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10623 __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10624 return __rv.__i;
10627 #ifdef __ARM_FEATURE_CRYPTO
10628 __extension__ static __inline poly64x1x4_t __attribute__ ((__always_inline__))
10629 vld4_dup_p64 (const poly64_t * __a)
10631 union { poly64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10632 __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
10633 return __rv.__i;
10636 #endif
10637 __extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__))
10638 vld4_dup_s64 (const int64_t * __a)
10640 union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10641 __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
10642 return __rv.__i;
10645 __extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__))
10646 vld4_dup_u64 (const uint64_t * __a)
10648 union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10649 __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
10650 return __rv.__i;
10653 __extension__ static __inline void __attribute__ ((__always_inline__))
10654 vst4_s8 (int8_t * __a, int8x8x4_t __b)
10656 union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10657 __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10660 __extension__ static __inline void __attribute__ ((__always_inline__))
10661 vst4_s16 (int16_t * __a, int16x4x4_t __b)
10663 union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10664 __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10667 __extension__ static __inline void __attribute__ ((__always_inline__))
10668 vst4_s32 (int32_t * __a, int32x2x4_t __b)
10670 union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10671 __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
10674 __extension__ static __inline void __attribute__ ((__always_inline__))
10675 vst4_f32 (float32_t * __a, float32x2x4_t __b)
10677 union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10678 __builtin_neon_vst4v2sf ((__builtin_neon_sf *) __a, __bu.__o);
10681 __extension__ static __inline void __attribute__ ((__always_inline__))
10682 vst4_u8 (uint8_t * __a, uint8x8x4_t __b)
10684 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10685 __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10688 __extension__ static __inline void __attribute__ ((__always_inline__))
10689 vst4_u16 (uint16_t * __a, uint16x4x4_t __b)
10691 union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10692 __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10695 __extension__ static __inline void __attribute__ ((__always_inline__))
10696 vst4_u32 (uint32_t * __a, uint32x2x4_t __b)
10698 union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10699 __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
10702 __extension__ static __inline void __attribute__ ((__always_inline__))
10703 vst4_p8 (poly8_t * __a, poly8x8x4_t __b)
10705 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10706 __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10709 __extension__ static __inline void __attribute__ ((__always_inline__))
10710 vst4_p16 (poly16_t * __a, poly16x4x4_t __b)
10712 union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10713 __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10716 #ifdef __ARM_FEATURE_CRYPTO
10717 __extension__ static __inline void __attribute__ ((__always_inline__))
10718 vst4_p64 (poly64_t * __a, poly64x1x4_t __b)
10720 union { poly64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10721 __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
10724 #endif
10725 __extension__ static __inline void __attribute__ ((__always_inline__))
10726 vst4_s64 (int64_t * __a, int64x1x4_t __b)
10728 union { int64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10729 __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
10732 __extension__ static __inline void __attribute__ ((__always_inline__))
10733 vst4_u64 (uint64_t * __a, uint64x1x4_t __b)
10735 union { uint64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10736 __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
10739 __extension__ static __inline void __attribute__ ((__always_inline__))
10740 vst4q_s8 (int8_t * __a, int8x16x4_t __b)
10742 union { int8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10743 __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10746 __extension__ static __inline void __attribute__ ((__always_inline__))
10747 vst4q_s16 (int16_t * __a, int16x8x4_t __b)
10749 union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10750 __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10753 __extension__ static __inline void __attribute__ ((__always_inline__))
10754 vst4q_s32 (int32_t * __a, int32x4x4_t __b)
10756 union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10757 __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
10760 __extension__ static __inline void __attribute__ ((__always_inline__))
10761 vst4q_f32 (float32_t * __a, float32x4x4_t __b)
10763 union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10764 __builtin_neon_vst4v4sf ((__builtin_neon_sf *) __a, __bu.__o);
10767 __extension__ static __inline void __attribute__ ((__always_inline__))
10768 vst4q_u8 (uint8_t * __a, uint8x16x4_t __b)
10770 union { uint8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10771 __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10774 __extension__ static __inline void __attribute__ ((__always_inline__))
10775 vst4q_u16 (uint16_t * __a, uint16x8x4_t __b)
10777 union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10778 __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10781 __extension__ static __inline void __attribute__ ((__always_inline__))
10782 vst4q_u32 (uint32_t * __a, uint32x4x4_t __b)
10784 union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10785 __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
10788 __extension__ static __inline void __attribute__ ((__always_inline__))
10789 vst4q_p8 (poly8_t * __a, poly8x16x4_t __b)
10791 union { poly8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10792 __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10795 __extension__ static __inline void __attribute__ ((__always_inline__))
10796 vst4q_p16 (poly16_t * __a, poly16x8x4_t __b)
10798 union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10799 __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10802 __extension__ static __inline void __attribute__ ((__always_inline__))
10803 vst4_lane_s8 (int8_t * __a, int8x8x4_t __b, const int __c)
10805 union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10806 __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10809 __extension__ static __inline void __attribute__ ((__always_inline__))
10810 vst4_lane_s16 (int16_t * __a, int16x4x4_t __b, const int __c)
10812 union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10813 __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10816 __extension__ static __inline void __attribute__ ((__always_inline__))
10817 vst4_lane_s32 (int32_t * __a, int32x2x4_t __b, const int __c)
10819 union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10820 __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
10823 __extension__ static __inline void __attribute__ ((__always_inline__))
10824 vst4_lane_f32 (float32_t * __a, float32x2x4_t __b, const int __c)
10826 union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10827 __builtin_neon_vst4_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
10830 __extension__ static __inline void __attribute__ ((__always_inline__))
10831 vst4_lane_u8 (uint8_t * __a, uint8x8x4_t __b, const int __c)
10833 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10834 __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10837 __extension__ static __inline void __attribute__ ((__always_inline__))
10838 vst4_lane_u16 (uint16_t * __a, uint16x4x4_t __b, const int __c)
10840 union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10841 __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10844 __extension__ static __inline void __attribute__ ((__always_inline__))
10845 vst4_lane_u32 (uint32_t * __a, uint32x2x4_t __b, const int __c)
10847 union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10848 __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
10851 __extension__ static __inline void __attribute__ ((__always_inline__))
10852 vst4_lane_p8 (poly8_t * __a, poly8x8x4_t __b, const int __c)
10854 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10855 __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10858 __extension__ static __inline void __attribute__ ((__always_inline__))
10859 vst4_lane_p16 (poly16_t * __a, poly16x4x4_t __b, const int __c)
10861 union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10862 __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10865 __extension__ static __inline void __attribute__ ((__always_inline__))
10866 vst4q_lane_s16 (int16_t * __a, int16x8x4_t __b, const int __c)
10868 union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10869 __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10872 __extension__ static __inline void __attribute__ ((__always_inline__))
10873 vst4q_lane_s32 (int32_t * __a, int32x4x4_t __b, const int __c)
10875 union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10876 __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
10879 __extension__ static __inline void __attribute__ ((__always_inline__))
10880 vst4q_lane_f32 (float32_t * __a, float32x4x4_t __b, const int __c)
10882 union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10883 __builtin_neon_vst4_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
10886 __extension__ static __inline void __attribute__ ((__always_inline__))
10887 vst4q_lane_u16 (uint16_t * __a, uint16x8x4_t __b, const int __c)
10889 union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10890 __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10893 __extension__ static __inline void __attribute__ ((__always_inline__))
10894 vst4q_lane_u32 (uint32_t * __a, uint32x4x4_t __b, const int __c)
10896 union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10897 __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
10900 __extension__ static __inline void __attribute__ ((__always_inline__))
10901 vst4q_lane_p16 (poly16_t * __a, poly16x8x4_t __b, const int __c)
10903 union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10904 __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10907 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
10908 vand_s8 (int8x8_t __a, int8x8_t __b)
10910 return (int8x8_t)__builtin_neon_vandv8qi (__a, __b, 1);
10913 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
10914 vand_s16 (int16x4_t __a, int16x4_t __b)
10916 return (int16x4_t)__builtin_neon_vandv4hi (__a, __b, 1);
10919 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
10920 vand_s32 (int32x2_t __a, int32x2_t __b)
10922 return (int32x2_t)__builtin_neon_vandv2si (__a, __b, 1);
10925 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
10926 vand_u8 (uint8x8_t __a, uint8x8_t __b)
10928 return (uint8x8_t)__builtin_neon_vandv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10931 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
10932 vand_u16 (uint16x4_t __a, uint16x4_t __b)
10934 return (uint16x4_t)__builtin_neon_vandv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10937 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
10938 vand_u32 (uint32x2_t __a, uint32x2_t __b)
10940 return (uint32x2_t)__builtin_neon_vandv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10943 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
10944 vand_s64 (int64x1_t __a, int64x1_t __b)
10946 return (int64x1_t)__builtin_neon_vanddi (__a, __b, 1);
10949 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
10950 vand_u64 (uint64x1_t __a, uint64x1_t __b)
10952 return (uint64x1_t)__builtin_neon_vanddi ((int64x1_t) __a, (int64x1_t) __b, 0);
10955 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
10956 vandq_s8 (int8x16_t __a, int8x16_t __b)
10958 return (int8x16_t)__builtin_neon_vandv16qi (__a, __b, 1);
10961 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
10962 vandq_s16 (int16x8_t __a, int16x8_t __b)
10964 return (int16x8_t)__builtin_neon_vandv8hi (__a, __b, 1);
10967 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
10968 vandq_s32 (int32x4_t __a, int32x4_t __b)
10970 return (int32x4_t)__builtin_neon_vandv4si (__a, __b, 1);
10973 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
10974 vandq_s64 (int64x2_t __a, int64x2_t __b)
10976 return (int64x2_t)__builtin_neon_vandv2di (__a, __b, 1);
10979 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
10980 vandq_u8 (uint8x16_t __a, uint8x16_t __b)
10982 return (uint8x16_t)__builtin_neon_vandv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10985 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
10986 vandq_u16 (uint16x8_t __a, uint16x8_t __b)
10988 return (uint16x8_t)__builtin_neon_vandv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10991 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
10992 vandq_u32 (uint32x4_t __a, uint32x4_t __b)
10994 return (uint32x4_t)__builtin_neon_vandv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10997 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
10998 vandq_u64 (uint64x2_t __a, uint64x2_t __b)
11000 return (uint64x2_t)__builtin_neon_vandv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
11003 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11004 vorr_s8 (int8x8_t __a, int8x8_t __b)
11006 return (int8x8_t)__builtin_neon_vorrv8qi (__a, __b, 1);
11009 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11010 vorr_s16 (int16x4_t __a, int16x4_t __b)
11012 return (int16x4_t)__builtin_neon_vorrv4hi (__a, __b, 1);
11015 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11016 vorr_s32 (int32x2_t __a, int32x2_t __b)
11018 return (int32x2_t)__builtin_neon_vorrv2si (__a, __b, 1);
11021 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11022 vorr_u8 (uint8x8_t __a, uint8x8_t __b)
11024 return (uint8x8_t)__builtin_neon_vorrv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
11027 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11028 vorr_u16 (uint16x4_t __a, uint16x4_t __b)
11030 return (uint16x4_t)__builtin_neon_vorrv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
11033 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
11034 vorr_u32 (uint32x2_t __a, uint32x2_t __b)
11036 return (uint32x2_t)__builtin_neon_vorrv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
11039 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11040 vorr_s64 (int64x1_t __a, int64x1_t __b)
11042 return (int64x1_t)__builtin_neon_vorrdi (__a, __b, 1);
11045 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11046 vorr_u64 (uint64x1_t __a, uint64x1_t __b)
11048 return (uint64x1_t)__builtin_neon_vorrdi ((int64x1_t) __a, (int64x1_t) __b, 0);
11051 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11052 vorrq_s8 (int8x16_t __a, int8x16_t __b)
11054 return (int8x16_t)__builtin_neon_vorrv16qi (__a, __b, 1);
11057 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11058 vorrq_s16 (int16x8_t __a, int16x8_t __b)
11060 return (int16x8_t)__builtin_neon_vorrv8hi (__a, __b, 1);
11063 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11064 vorrq_s32 (int32x4_t __a, int32x4_t __b)
11066 return (int32x4_t)__builtin_neon_vorrv4si (__a, __b, 1);
11069 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11070 vorrq_s64 (int64x2_t __a, int64x2_t __b)
11072 return (int64x2_t)__builtin_neon_vorrv2di (__a, __b, 1);
11075 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11076 vorrq_u8 (uint8x16_t __a, uint8x16_t __b)
11078 return (uint8x16_t)__builtin_neon_vorrv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
11081 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
11082 vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
11084 return (uint16x8_t)__builtin_neon_vorrv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
11087 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
11088 vorrq_u32 (uint32x4_t __a, uint32x4_t __b)
11090 return (uint32x4_t)__builtin_neon_vorrv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
11093 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11094 vorrq_u64 (uint64x2_t __a, uint64x2_t __b)
11096 return (uint64x2_t)__builtin_neon_vorrv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
11099 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11100 veor_s8 (int8x8_t __a, int8x8_t __b)
11102 return (int8x8_t)__builtin_neon_veorv8qi (__a, __b, 1);
11105 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11106 veor_s16 (int16x4_t __a, int16x4_t __b)
11108 return (int16x4_t)__builtin_neon_veorv4hi (__a, __b, 1);
11111 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11112 veor_s32 (int32x2_t __a, int32x2_t __b)
11114 return (int32x2_t)__builtin_neon_veorv2si (__a, __b, 1);
11117 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11118 veor_u8 (uint8x8_t __a, uint8x8_t __b)
11120 return (uint8x8_t)__builtin_neon_veorv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
11123 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11124 veor_u16 (uint16x4_t __a, uint16x4_t __b)
11126 return (uint16x4_t)__builtin_neon_veorv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
11129 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
11130 veor_u32 (uint32x2_t __a, uint32x2_t __b)
11132 return (uint32x2_t)__builtin_neon_veorv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
11135 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11136 veor_s64 (int64x1_t __a, int64x1_t __b)
11138 return (int64x1_t)__builtin_neon_veordi (__a, __b, 1);
11141 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11142 veor_u64 (uint64x1_t __a, uint64x1_t __b)
11144 return (uint64x1_t)__builtin_neon_veordi ((int64x1_t) __a, (int64x1_t) __b, 0);
11147 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11148 veorq_s8 (int8x16_t __a, int8x16_t __b)
11150 return (int8x16_t)__builtin_neon_veorv16qi (__a, __b, 1);
11153 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11154 veorq_s16 (int16x8_t __a, int16x8_t __b)
11156 return (int16x8_t)__builtin_neon_veorv8hi (__a, __b, 1);
11159 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11160 veorq_s32 (int32x4_t __a, int32x4_t __b)
11162 return (int32x4_t)__builtin_neon_veorv4si (__a, __b, 1);
11165 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11166 veorq_s64 (int64x2_t __a, int64x2_t __b)
11168 return (int64x2_t)__builtin_neon_veorv2di (__a, __b, 1);
11171 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11172 veorq_u8 (uint8x16_t __a, uint8x16_t __b)
11174 return (uint8x16_t)__builtin_neon_veorv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
11177 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
11178 veorq_u16 (uint16x8_t __a, uint16x8_t __b)
11180 return (uint16x8_t)__builtin_neon_veorv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
11183 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
11184 veorq_u32 (uint32x4_t __a, uint32x4_t __b)
11186 return (uint32x4_t)__builtin_neon_veorv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
11189 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11190 veorq_u64 (uint64x2_t __a, uint64x2_t __b)
11192 return (uint64x2_t)__builtin_neon_veorv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
11195 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11196 vbic_s8 (int8x8_t __a, int8x8_t __b)
11198 return (int8x8_t)__builtin_neon_vbicv8qi (__a, __b, 1);
11201 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11202 vbic_s16 (int16x4_t __a, int16x4_t __b)
11204 return (int16x4_t)__builtin_neon_vbicv4hi (__a, __b, 1);
11207 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11208 vbic_s32 (int32x2_t __a, int32x2_t __b)
11210 return (int32x2_t)__builtin_neon_vbicv2si (__a, __b, 1);
11213 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11214 vbic_u8 (uint8x8_t __a, uint8x8_t __b)
11216 return (uint8x8_t)__builtin_neon_vbicv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
11219 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11220 vbic_u16 (uint16x4_t __a, uint16x4_t __b)
11222 return (uint16x4_t)__builtin_neon_vbicv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
11225 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
11226 vbic_u32 (uint32x2_t __a, uint32x2_t __b)
11228 return (uint32x2_t)__builtin_neon_vbicv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
11231 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11232 vbic_s64 (int64x1_t __a, int64x1_t __b)
11234 return (int64x1_t)__builtin_neon_vbicdi (__a, __b, 1);
11237 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11238 vbic_u64 (uint64x1_t __a, uint64x1_t __b)
11240 return (uint64x1_t)__builtin_neon_vbicdi ((int64x1_t) __a, (int64x1_t) __b, 0);
11243 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11244 vbicq_s8 (int8x16_t __a, int8x16_t __b)
11246 return (int8x16_t)__builtin_neon_vbicv16qi (__a, __b, 1);
11249 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11250 vbicq_s16 (int16x8_t __a, int16x8_t __b)
11252 return (int16x8_t)__builtin_neon_vbicv8hi (__a, __b, 1);
11255 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11256 vbicq_s32 (int32x4_t __a, int32x4_t __b)
11258 return (int32x4_t)__builtin_neon_vbicv4si (__a, __b, 1);
11261 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11262 vbicq_s64 (int64x2_t __a, int64x2_t __b)
11264 return (int64x2_t)__builtin_neon_vbicv2di (__a, __b, 1);
11267 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11268 vbicq_u8 (uint8x16_t __a, uint8x16_t __b)
11270 return (uint8x16_t)__builtin_neon_vbicv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
11273 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
11274 vbicq_u16 (uint16x8_t __a, uint16x8_t __b)
11276 return (uint16x8_t)__builtin_neon_vbicv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
11279 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
11280 vbicq_u32 (uint32x4_t __a, uint32x4_t __b)
11282 return (uint32x4_t)__builtin_neon_vbicv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
11285 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11286 vbicq_u64 (uint64x2_t __a, uint64x2_t __b)
11288 return (uint64x2_t)__builtin_neon_vbicv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
11291 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11292 vorn_s8 (int8x8_t __a, int8x8_t __b)
11294 return (int8x8_t)__builtin_neon_vornv8qi (__a, __b, 1);
11297 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11298 vorn_s16 (int16x4_t __a, int16x4_t __b)
11300 return (int16x4_t)__builtin_neon_vornv4hi (__a, __b, 1);
11303 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11304 vorn_s32 (int32x2_t __a, int32x2_t __b)
11306 return (int32x2_t)__builtin_neon_vornv2si (__a, __b, 1);
11309 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11310 vorn_u8 (uint8x8_t __a, uint8x8_t __b)
11312 return (uint8x8_t)__builtin_neon_vornv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
11315 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11316 vorn_u16 (uint16x4_t __a, uint16x4_t __b)
11318 return (uint16x4_t)__builtin_neon_vornv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
11321 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
11322 vorn_u32 (uint32x2_t __a, uint32x2_t __b)
11324 return (uint32x2_t)__builtin_neon_vornv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
11327 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11328 vorn_s64 (int64x1_t __a, int64x1_t __b)
11330 return (int64x1_t)__builtin_neon_vorndi (__a, __b, 1);
11333 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11334 vorn_u64 (uint64x1_t __a, uint64x1_t __b)
11336 return (uint64x1_t)__builtin_neon_vorndi ((int64x1_t) __a, (int64x1_t) __b, 0);
11339 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11340 vornq_s8 (int8x16_t __a, int8x16_t __b)
11342 return (int8x16_t)__builtin_neon_vornv16qi (__a, __b, 1);
11345 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11346 vornq_s16 (int16x8_t __a, int16x8_t __b)
11348 return (int16x8_t)__builtin_neon_vornv8hi (__a, __b, 1);
11351 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11352 vornq_s32 (int32x4_t __a, int32x4_t __b)
11354 return (int32x4_t)__builtin_neon_vornv4si (__a, __b, 1);
11357 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11358 vornq_s64 (int64x2_t __a, int64x2_t __b)
11360 return (int64x2_t)__builtin_neon_vornv2di (__a, __b, 1);
11363 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11364 vornq_u8 (uint8x16_t __a, uint8x16_t __b)
11366 return (uint8x16_t)__builtin_neon_vornv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
11369 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
11370 vornq_u16 (uint16x8_t __a, uint16x8_t __b)
11372 return (uint16x8_t)__builtin_neon_vornv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
11375 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
11376 vornq_u32 (uint32x4_t __a, uint32x4_t __b)
11378 return (uint32x4_t)__builtin_neon_vornv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
11381 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11382 vornq_u64 (uint64x2_t __a, uint64x2_t __b)
11384 return (uint64x2_t)__builtin_neon_vornv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
11388 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11389 vreinterpret_p8_p16 (poly16x4_t __a)
11391 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11394 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11395 vreinterpret_p8_f32 (float32x2_t __a)
11397 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
11400 #ifdef __ARM_FEATURE_CRYPTO
11401 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11402 vreinterpret_p8_p64 (poly64x1_t __a)
11404 return (poly8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
11407 #endif
11408 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11409 vreinterpret_p8_s64 (int64x1_t __a)
11411 return (poly8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
11414 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11415 vreinterpret_p8_u64 (uint64x1_t __a)
11417 return (poly8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
11420 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11421 vreinterpret_p8_s8 (int8x8_t __a)
11423 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a);
11426 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11427 vreinterpret_p8_s16 (int16x4_t __a)
11429 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
11432 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11433 vreinterpret_p8_s32 (int32x2_t __a)
11435 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
11438 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11439 vreinterpret_p8_u8 (uint8x8_t __a)
11441 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
11444 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11445 vreinterpret_p8_u16 (uint16x4_t __a)
11447 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11450 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11451 vreinterpret_p8_u32 (uint32x2_t __a)
11453 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
11456 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11457 vreinterpret_p16_p8 (poly8x8_t __a)
11459 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11462 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11463 vreinterpret_p16_f32 (float32x2_t __a)
11465 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
11468 #ifdef __ARM_FEATURE_CRYPTO
11469 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11470 vreinterpret_p16_p64 (poly64x1_t __a)
11472 return (poly16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
11475 #endif
11476 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11477 vreinterpret_p16_s64 (int64x1_t __a)
11479 return (poly16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
11482 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11483 vreinterpret_p16_u64 (uint64x1_t __a)
11485 return (poly16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
11488 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11489 vreinterpret_p16_s8 (int8x8_t __a)
11491 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
11494 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11495 vreinterpret_p16_s16 (int16x4_t __a)
11497 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a);
11500 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11501 vreinterpret_p16_s32 (int32x2_t __a)
11503 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
11506 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11507 vreinterpret_p16_u8 (uint8x8_t __a)
11509 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11512 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11513 vreinterpret_p16_u16 (uint16x4_t __a)
11515 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11518 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11519 vreinterpret_p16_u32 (uint32x2_t __a)
11521 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
11524 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11525 vreinterpret_f32_p8 (poly8x8_t __a)
11527 return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a);
11530 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11531 vreinterpret_f32_p16 (poly16x4_t __a)
11533 return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a);
11536 #ifdef __ARM_FEATURE_CRYPTO
11537 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11538 vreinterpret_f32_p64 (poly64x1_t __a)
11540 return (float32x2_t)__builtin_neon_vreinterpretv2sfdi (__a);
11543 #endif
11544 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11545 vreinterpret_f32_s64 (int64x1_t __a)
11547 return (float32x2_t)__builtin_neon_vreinterpretv2sfdi (__a);
11550 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11551 vreinterpret_f32_u64 (uint64x1_t __a)
11553 return (float32x2_t)__builtin_neon_vreinterpretv2sfdi ((int64x1_t) __a);
11556 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11557 vreinterpret_f32_s8 (int8x8_t __a)
11559 return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi (__a);
11562 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11563 vreinterpret_f32_s16 (int16x4_t __a)
11565 return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi (__a);
11568 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11569 vreinterpret_f32_s32 (int32x2_t __a)
11571 return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si (__a);
11574 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11575 vreinterpret_f32_u8 (uint8x8_t __a)
11577 return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a);
11580 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11581 vreinterpret_f32_u16 (uint16x4_t __a)
11583 return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a);
11586 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11587 vreinterpret_f32_u32 (uint32x2_t __a)
11589 return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si ((int32x2_t) __a);
11592 #ifdef __ARM_FEATURE_CRYPTO
11593 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
11594 vreinterpret_p64_p8 (poly8x8_t __a)
11596 return (poly64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11599 #endif
11600 #ifdef __ARM_FEATURE_CRYPTO
11601 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
11602 vreinterpret_p64_p16 (poly16x4_t __a)
11604 return (poly64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11607 #endif
11608 #ifdef __ARM_FEATURE_CRYPTO
11609 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
11610 vreinterpret_p64_f32 (float32x2_t __a)
11612 return (poly64x1_t)__builtin_neon_vreinterpretdiv2sf (__a);
11615 #endif
11616 #ifdef __ARM_FEATURE_CRYPTO
11617 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
11618 vreinterpret_p64_s64 (int64x1_t __a)
11620 return (poly64x1_t)__builtin_neon_vreinterpretdidi (__a);
11623 #endif
11624 #ifdef __ARM_FEATURE_CRYPTO
11625 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
11626 vreinterpret_p64_u64 (uint64x1_t __a)
11628 return (poly64x1_t)__builtin_neon_vreinterpretdidi ((int64x1_t) __a);
11631 #endif
11632 #ifdef __ARM_FEATURE_CRYPTO
11633 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
11634 vreinterpret_p64_s8 (int8x8_t __a)
11636 return (poly64x1_t)__builtin_neon_vreinterpretdiv8qi (__a);
11639 #endif
11640 #ifdef __ARM_FEATURE_CRYPTO
11641 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
11642 vreinterpret_p64_s16 (int16x4_t __a)
11644 return (poly64x1_t)__builtin_neon_vreinterpretdiv4hi (__a);
11647 #endif
11648 #ifdef __ARM_FEATURE_CRYPTO
11649 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
11650 vreinterpret_p64_s32 (int32x2_t __a)
11652 return (poly64x1_t)__builtin_neon_vreinterpretdiv2si (__a);
11655 #endif
11656 #ifdef __ARM_FEATURE_CRYPTO
11657 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
11658 vreinterpret_p64_u8 (uint8x8_t __a)
11660 return (poly64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11663 #endif
11664 #ifdef __ARM_FEATURE_CRYPTO
11665 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
11666 vreinterpret_p64_u16 (uint16x4_t __a)
11668 return (poly64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11671 #endif
11672 #ifdef __ARM_FEATURE_CRYPTO
11673 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
11674 vreinterpret_p64_u32 (uint32x2_t __a)
11676 return (poly64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a);
11679 #endif
11680 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11681 vreinterpret_s64_p8 (poly8x8_t __a)
11683 return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11686 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11687 vreinterpret_s64_p16 (poly16x4_t __a)
11689 return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11692 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11693 vreinterpret_s64_f32 (float32x2_t __a)
11695 return (int64x1_t)__builtin_neon_vreinterpretdiv2sf (__a);
11698 #ifdef __ARM_FEATURE_CRYPTO
11699 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11700 vreinterpret_s64_p64 (poly64x1_t __a)
11702 return (int64x1_t)__builtin_neon_vreinterpretdidi (__a);
11705 #endif
11706 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11707 vreinterpret_s64_u64 (uint64x1_t __a)
11709 return (int64x1_t)__builtin_neon_vreinterpretdidi ((int64x1_t) __a);
11712 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11713 vreinterpret_s64_s8 (int8x8_t __a)
11715 return (int64x1_t)__builtin_neon_vreinterpretdiv8qi (__a);
11718 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11719 vreinterpret_s64_s16 (int16x4_t __a)
11721 return (int64x1_t)__builtin_neon_vreinterpretdiv4hi (__a);
11724 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11725 vreinterpret_s64_s32 (int32x2_t __a)
11727 return (int64x1_t)__builtin_neon_vreinterpretdiv2si (__a);
11730 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11731 vreinterpret_s64_u8 (uint8x8_t __a)
11733 return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11736 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11737 vreinterpret_s64_u16 (uint16x4_t __a)
11739 return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11742 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11743 vreinterpret_s64_u32 (uint32x2_t __a)
11745 return (int64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a);
11748 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11749 vreinterpret_u64_p8 (poly8x8_t __a)
11751 return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11754 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11755 vreinterpret_u64_p16 (poly16x4_t __a)
11757 return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11760 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11761 vreinterpret_u64_f32 (float32x2_t __a)
11763 return (uint64x1_t)__builtin_neon_vreinterpretdiv2sf (__a);
11766 #ifdef __ARM_FEATURE_CRYPTO
11767 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11768 vreinterpret_u64_p64 (poly64x1_t __a)
11770 return (uint64x1_t)__builtin_neon_vreinterpretdidi (__a);
11773 #endif
11774 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11775 vreinterpret_u64_s64 (int64x1_t __a)
11777 return (uint64x1_t)__builtin_neon_vreinterpretdidi (__a);
11780 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11781 vreinterpret_u64_s8 (int8x8_t __a)
11783 return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi (__a);
11786 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11787 vreinterpret_u64_s16 (int16x4_t __a)
11789 return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi (__a);
11792 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11793 vreinterpret_u64_s32 (int32x2_t __a)
11795 return (uint64x1_t)__builtin_neon_vreinterpretdiv2si (__a);
11798 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11799 vreinterpret_u64_u8 (uint8x8_t __a)
11801 return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11804 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11805 vreinterpret_u64_u16 (uint16x4_t __a)
11807 return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11810 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11811 vreinterpret_u64_u32 (uint32x2_t __a)
11813 return (uint64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a);
11816 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11817 vreinterpret_s8_p8 (poly8x8_t __a)
11819 return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
11822 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11823 vreinterpret_s8_p16 (poly16x4_t __a)
11825 return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11828 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11829 vreinterpret_s8_f32 (float32x2_t __a)
11831 return (int8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
11834 #ifdef __ARM_FEATURE_CRYPTO
11835 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11836 vreinterpret_s8_p64 (poly64x1_t __a)
11838 return (int8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
11841 #endif
11842 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11843 vreinterpret_s8_s64 (int64x1_t __a)
11845 return (int8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
11848 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11849 vreinterpret_s8_u64 (uint64x1_t __a)
11851 return (int8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
11854 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11855 vreinterpret_s8_s16 (int16x4_t __a)
11857 return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
11860 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11861 vreinterpret_s8_s32 (int32x2_t __a)
11863 return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
11866 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11867 vreinterpret_s8_u8 (uint8x8_t __a)
11869 return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
11872 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11873 vreinterpret_s8_u16 (uint16x4_t __a)
11875 return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11878 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11879 vreinterpret_s8_u32 (uint32x2_t __a)
11881 return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
11884 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11885 vreinterpret_s16_p8 (poly8x8_t __a)
11887 return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11890 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11891 vreinterpret_s16_p16 (poly16x4_t __a)
11893 return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11896 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11897 vreinterpret_s16_f32 (float32x2_t __a)
11899 return (int16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
11902 #ifdef __ARM_FEATURE_CRYPTO
11903 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11904 vreinterpret_s16_p64 (poly64x1_t __a)
11906 return (int16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
11909 #endif
11910 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11911 vreinterpret_s16_s64 (int64x1_t __a)
11913 return (int16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
11916 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11917 vreinterpret_s16_u64 (uint64x1_t __a)
11919 return (int16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
11922 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11923 vreinterpret_s16_s8 (int8x8_t __a)
11925 return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
11928 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11929 vreinterpret_s16_s32 (int32x2_t __a)
11931 return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
11934 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11935 vreinterpret_s16_u8 (uint8x8_t __a)
11937 return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11940 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11941 vreinterpret_s16_u16 (uint16x4_t __a)
11943 return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11946 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11947 vreinterpret_s16_u32 (uint32x2_t __a)
11949 return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
11952 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11953 vreinterpret_s32_p8 (poly8x8_t __a)
11955 return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
11958 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11959 vreinterpret_s32_p16 (poly16x4_t __a)
11961 return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
11964 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11965 vreinterpret_s32_f32 (float32x2_t __a)
11967 return (int32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a);
11970 #ifdef __ARM_FEATURE_CRYPTO
11971 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11972 vreinterpret_s32_p64 (poly64x1_t __a)
11974 return (int32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
11977 #endif
11978 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11979 vreinterpret_s32_s64 (int64x1_t __a)
11981 return (int32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
11984 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11985 vreinterpret_s32_u64 (uint64x1_t __a)
11987 return (int32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a);
11990 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11991 vreinterpret_s32_s8 (int8x8_t __a)
11993 return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a);
11996 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11997 vreinterpret_s32_s16 (int16x4_t __a)
11999 return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a);
12002 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
12003 vreinterpret_s32_u8 (uint8x8_t __a)
12005 return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
12008 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
12009 vreinterpret_s32_u16 (uint16x4_t __a)
12011 return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
12014 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
12015 vreinterpret_s32_u32 (uint32x2_t __a)
12017 return (int32x2_t)__builtin_neon_vreinterpretv2siv2si ((int32x2_t) __a);
12020 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12021 vreinterpret_u8_p8 (poly8x8_t __a)
12023 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
12026 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12027 vreinterpret_u8_p16 (poly16x4_t __a)
12029 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
12032 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12033 vreinterpret_u8_f32 (float32x2_t __a)
12035 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
12038 #ifdef __ARM_FEATURE_CRYPTO
12039 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12040 vreinterpret_u8_p64 (poly64x1_t __a)
12042 return (uint8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
12045 #endif
12046 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12047 vreinterpret_u8_s64 (int64x1_t __a)
12049 return (uint8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
12052 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12053 vreinterpret_u8_u64 (uint64x1_t __a)
12055 return (uint8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
12058 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12059 vreinterpret_u8_s8 (int8x8_t __a)
12061 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a);
12064 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12065 vreinterpret_u8_s16 (int16x4_t __a)
12067 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
12070 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12071 vreinterpret_u8_s32 (int32x2_t __a)
12073 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
12076 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12077 vreinterpret_u8_u16 (uint16x4_t __a)
12079 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
12082 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12083 vreinterpret_u8_u32 (uint32x2_t __a)
12085 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
12088 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12089 vreinterpret_u16_p8 (poly8x8_t __a)
12091 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
12094 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12095 vreinterpret_u16_p16 (poly16x4_t __a)
12097 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
12100 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12101 vreinterpret_u16_f32 (float32x2_t __a)
12103 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
12106 #ifdef __ARM_FEATURE_CRYPTO
12107 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12108 vreinterpret_u16_p64 (poly64x1_t __a)
12110 return (uint16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
12113 #endif
12114 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12115 vreinterpret_u16_s64 (int64x1_t __a)
12117 return (uint16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
12120 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12121 vreinterpret_u16_u64 (uint64x1_t __a)
12123 return (uint16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
12126 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12127 vreinterpret_u16_s8 (int8x8_t __a)
12129 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
12132 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12133 vreinterpret_u16_s16 (int16x4_t __a)
12135 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a);
12138 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12139 vreinterpret_u16_s32 (int32x2_t __a)
12141 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
12144 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12145 vreinterpret_u16_u8 (uint8x8_t __a)
12147 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
12150 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12151 vreinterpret_u16_u32 (uint32x2_t __a)
12153 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
12156 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12157 vreinterpret_u32_p8 (poly8x8_t __a)
12159 return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
12162 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12163 vreinterpret_u32_p16 (poly16x4_t __a)
12165 return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
12168 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12169 vreinterpret_u32_f32 (float32x2_t __a)
12171 return (uint32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a);
12174 #ifdef __ARM_FEATURE_CRYPTO
12175 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12176 vreinterpret_u32_p64 (poly64x1_t __a)
12178 return (uint32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
12181 #endif
12182 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12183 vreinterpret_u32_s64 (int64x1_t __a)
12185 return (uint32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
12188 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12189 vreinterpret_u32_u64 (uint64x1_t __a)
12191 return (uint32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a);
12194 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12195 vreinterpret_u32_s8 (int8x8_t __a)
12197 return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a);
12200 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12201 vreinterpret_u32_s16 (int16x4_t __a)
12203 return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a);
12206 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12207 vreinterpret_u32_s32 (int32x2_t __a)
12209 return (uint32x2_t)__builtin_neon_vreinterpretv2siv2si (__a);
12212 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12213 vreinterpret_u32_u8 (uint8x8_t __a)
12215 return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
12218 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12219 vreinterpret_u32_u16 (uint16x4_t __a)
12221 return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
12224 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
12225 vreinterpretq_p8_p16 (poly16x8_t __a)
12227 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
12230 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
12231 vreinterpretq_p8_f32 (float32x4_t __a)
12233 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
12236 #ifdef __ARM_FEATURE_CRYPTO
12237 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
12238 vreinterpretq_p8_p64 (poly64x2_t __a)
12240 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
12243 #endif
12244 #ifdef __ARM_FEATURE_CRYPTO
12245 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
12246 vreinterpretq_p8_p128 (poly128_t __a)
12248 return (poly8x16_t)__builtin_neon_vreinterpretv16qiti ((__builtin_neon_ti) __a);
12251 #endif
12252 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
12253 vreinterpretq_p8_s64 (int64x2_t __a)
12255 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
12258 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
12259 vreinterpretq_p8_u64 (uint64x2_t __a)
12261 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
12264 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
12265 vreinterpretq_p8_s8 (int8x16_t __a)
12267 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a);
12270 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
12271 vreinterpretq_p8_s16 (int16x8_t __a)
12273 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
12276 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
12277 vreinterpretq_p8_s32 (int32x4_t __a)
12279 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
12282 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
12283 vreinterpretq_p8_u8 (uint8x16_t __a)
12285 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
12288 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
12289 vreinterpretq_p8_u16 (uint16x8_t __a)
12291 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
12294 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
12295 vreinterpretq_p8_u32 (uint32x4_t __a)
12297 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
12300 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
12301 vreinterpretq_p16_p8 (poly8x16_t __a)
12303 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
12306 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
12307 vreinterpretq_p16_f32 (float32x4_t __a)
12309 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
12312 #ifdef __ARM_FEATURE_CRYPTO
12313 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
12314 vreinterpretq_p16_p64 (poly64x2_t __a)
12316 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
12319 #endif
12320 #ifdef __ARM_FEATURE_CRYPTO
12321 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
12322 vreinterpretq_p16_p128 (poly128_t __a)
12324 return (poly16x8_t)__builtin_neon_vreinterpretv8hiti ((__builtin_neon_ti) __a);
12327 #endif
12328 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
12329 vreinterpretq_p16_s64 (int64x2_t __a)
12331 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
12334 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
12335 vreinterpretq_p16_u64 (uint64x2_t __a)
12337 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
12340 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
12341 vreinterpretq_p16_s8 (int8x16_t __a)
12343 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
12346 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
12347 vreinterpretq_p16_s16 (int16x8_t __a)
12349 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a);
12352 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
12353 vreinterpretq_p16_s32 (int32x4_t __a)
12355 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
12358 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
12359 vreinterpretq_p16_u8 (uint8x16_t __a)
12361 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
12364 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
12365 vreinterpretq_p16_u16 (uint16x8_t __a)
12367 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
12370 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
12371 vreinterpretq_p16_u32 (uint32x4_t __a)
12373 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
12376 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
12377 vreinterpretq_f32_p8 (poly8x16_t __a)
12379 return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a);
12382 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
12383 vreinterpretq_f32_p16 (poly16x8_t __a)
12385 return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a);
12388 #ifdef __ARM_FEATURE_CRYPTO
12389 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
12390 vreinterpretq_f32_p64 (poly64x2_t __a)
12392 return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di ((int64x2_t) __a);
12395 #endif
12396 #ifdef __ARM_FEATURE_CRYPTO
12397 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
12398 vreinterpretq_f32_p128 (poly128_t __a)
12400 return (float32x4_t)__builtin_neon_vreinterpretv4sfti ((__builtin_neon_ti) __a);
12403 #endif
12404 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
12405 vreinterpretq_f32_s64 (int64x2_t __a)
12407 return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di (__a);
12410 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
12411 vreinterpretq_f32_u64 (uint64x2_t __a)
12413 return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di ((int64x2_t) __a);
12416 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
12417 vreinterpretq_f32_s8 (int8x16_t __a)
12419 return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi (__a);
12422 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
12423 vreinterpretq_f32_s16 (int16x8_t __a)
12425 return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi (__a);
12428 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
12429 vreinterpretq_f32_s32 (int32x4_t __a)
12431 return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si (__a);
12434 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
12435 vreinterpretq_f32_u8 (uint8x16_t __a)
12437 return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a);
12440 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
12441 vreinterpretq_f32_u16 (uint16x8_t __a)
12443 return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a);
12446 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
12447 vreinterpretq_f32_u32 (uint32x4_t __a)
12449 return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si ((int32x4_t) __a);
12452 #ifdef __ARM_FEATURE_CRYPTO
12453 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
12454 vreinterpretq_p64_p8 (poly8x16_t __a)
12456 return (poly64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
12459 #endif
12460 #ifdef __ARM_FEATURE_CRYPTO
12461 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
12462 vreinterpretq_p64_p16 (poly16x8_t __a)
12464 return (poly64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
12467 #endif
12468 #ifdef __ARM_FEATURE_CRYPTO
12469 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
12470 vreinterpretq_p64_f32 (float32x4_t __a)
12472 return (poly64x2_t)__builtin_neon_vreinterpretv2div4sf (__a);
12475 #endif
12476 #ifdef __ARM_FEATURE_CRYPTO
12477 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
12478 vreinterpretq_p64_p128 (poly128_t __a)
12480 return (poly64x2_t)__builtin_neon_vreinterpretv2diti ((__builtin_neon_ti) __a);
12483 #endif
12484 #ifdef __ARM_FEATURE_CRYPTO
12485 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
12486 vreinterpretq_p64_s64 (int64x2_t __a)
12488 return (poly64x2_t)__builtin_neon_vreinterpretv2div2di (__a);
12491 #endif
12492 #ifdef __ARM_FEATURE_CRYPTO
12493 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
12494 vreinterpretq_p64_u64 (uint64x2_t __a)
12496 return (poly64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a);
12499 #endif
12500 #ifdef __ARM_FEATURE_CRYPTO
12501 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
12502 vreinterpretq_p64_s8 (int8x16_t __a)
12504 return (poly64x2_t)__builtin_neon_vreinterpretv2div16qi (__a);
12507 #endif
12508 #ifdef __ARM_FEATURE_CRYPTO
12509 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
12510 vreinterpretq_p64_s16 (int16x8_t __a)
12512 return (poly64x2_t)__builtin_neon_vreinterpretv2div8hi (__a);
12515 #endif
12516 #ifdef __ARM_FEATURE_CRYPTO
12517 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
12518 vreinterpretq_p64_s32 (int32x4_t __a)
12520 return (poly64x2_t)__builtin_neon_vreinterpretv2div4si (__a);
12523 #endif
12524 #ifdef __ARM_FEATURE_CRYPTO
12525 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
12526 vreinterpretq_p64_u8 (uint8x16_t __a)
12528 return (poly64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
12531 #endif
12532 #ifdef __ARM_FEATURE_CRYPTO
12533 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
12534 vreinterpretq_p64_u16 (uint16x8_t __a)
12536 return (poly64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
12539 #endif
12540 #ifdef __ARM_FEATURE_CRYPTO
12541 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
12542 vreinterpretq_p64_u32 (uint32x4_t __a)
12544 return (poly64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a);
12547 #endif
12548 #ifdef __ARM_FEATURE_CRYPTO
12549 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
12550 vreinterpretq_p128_p8 (poly8x16_t __a)
12552 return (poly128_t)__builtin_neon_vreinterprettiv16qi ((int8x16_t) __a);
12555 #endif
12556 #ifdef __ARM_FEATURE_CRYPTO
12557 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
12558 vreinterpretq_p128_p16 (poly16x8_t __a)
12560 return (poly128_t)__builtin_neon_vreinterprettiv8hi ((int16x8_t) __a);
12563 #endif
12564 #ifdef __ARM_FEATURE_CRYPTO
12565 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
12566 vreinterpretq_p128_f32 (float32x4_t __a)
12568 return (poly128_t)__builtin_neon_vreinterprettiv4sf (__a);
12571 #endif
12572 #ifdef __ARM_FEATURE_CRYPTO
12573 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
12574 vreinterpretq_p128_p64 (poly64x2_t __a)
12576 return (poly128_t)__builtin_neon_vreinterprettiv2di ((int64x2_t) __a);
12579 #endif
12580 #ifdef __ARM_FEATURE_CRYPTO
12581 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
12582 vreinterpretq_p128_s64 (int64x2_t __a)
12584 return (poly128_t)__builtin_neon_vreinterprettiv2di (__a);
12587 #endif
12588 #ifdef __ARM_FEATURE_CRYPTO
12589 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
12590 vreinterpretq_p128_u64 (uint64x2_t __a)
12592 return (poly128_t)__builtin_neon_vreinterprettiv2di ((int64x2_t) __a);
12595 #endif
12596 #ifdef __ARM_FEATURE_CRYPTO
12597 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
12598 vreinterpretq_p128_s8 (int8x16_t __a)
12600 return (poly128_t)__builtin_neon_vreinterprettiv16qi (__a);
12603 #endif
12604 #ifdef __ARM_FEATURE_CRYPTO
12605 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
12606 vreinterpretq_p128_s16 (int16x8_t __a)
12608 return (poly128_t)__builtin_neon_vreinterprettiv8hi (__a);
12611 #endif
12612 #ifdef __ARM_FEATURE_CRYPTO
12613 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
12614 vreinterpretq_p128_s32 (int32x4_t __a)
12616 return (poly128_t)__builtin_neon_vreinterprettiv4si (__a);
12619 #endif
12620 #ifdef __ARM_FEATURE_CRYPTO
12621 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
12622 vreinterpretq_p128_u8 (uint8x16_t __a)
12624 return (poly128_t)__builtin_neon_vreinterprettiv16qi ((int8x16_t) __a);
12627 #endif
12628 #ifdef __ARM_FEATURE_CRYPTO
12629 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
12630 vreinterpretq_p128_u16 (uint16x8_t __a)
12632 return (poly128_t)__builtin_neon_vreinterprettiv8hi ((int16x8_t) __a);
12635 #endif
12636 #ifdef __ARM_FEATURE_CRYPTO
12637 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
12638 vreinterpretq_p128_u32 (uint32x4_t __a)
12640 return (poly128_t)__builtin_neon_vreinterprettiv4si ((int32x4_t) __a);
12643 #endif
12644 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
12645 vreinterpretq_s64_p8 (poly8x16_t __a)
12647 return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
12650 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
12651 vreinterpretq_s64_p16 (poly16x8_t __a)
12653 return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
12656 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
12657 vreinterpretq_s64_f32 (float32x4_t __a)
12659 return (int64x2_t)__builtin_neon_vreinterpretv2div4sf (__a);
12662 #ifdef __ARM_FEATURE_CRYPTO
12663 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
12664 vreinterpretq_s64_p64 (poly64x2_t __a)
12666 return (int64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a);
12669 #endif
12670 #ifdef __ARM_FEATURE_CRYPTO
12671 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
12672 vreinterpretq_s64_p128 (poly128_t __a)
12674 return (int64x2_t)__builtin_neon_vreinterpretv2diti ((__builtin_neon_ti) __a);
12677 #endif
12678 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
12679 vreinterpretq_s64_u64 (uint64x2_t __a)
12681 return (int64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a);
12684 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
12685 vreinterpretq_s64_s8 (int8x16_t __a)
12687 return (int64x2_t)__builtin_neon_vreinterpretv2div16qi (__a);
12690 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
12691 vreinterpretq_s64_s16 (int16x8_t __a)
12693 return (int64x2_t)__builtin_neon_vreinterpretv2div8hi (__a);
12696 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
12697 vreinterpretq_s64_s32 (int32x4_t __a)
12699 return (int64x2_t)__builtin_neon_vreinterpretv2div4si (__a);
12702 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
12703 vreinterpretq_s64_u8 (uint8x16_t __a)
12705 return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
12708 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
12709 vreinterpretq_s64_u16 (uint16x8_t __a)
12711 return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
12714 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
12715 vreinterpretq_s64_u32 (uint32x4_t __a)
12717 return (int64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a);
12720 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
12721 vreinterpretq_u64_p8 (poly8x16_t __a)
12723 return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
12726 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
12727 vreinterpretq_u64_p16 (poly16x8_t __a)
12729 return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
12732 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
12733 vreinterpretq_u64_f32 (float32x4_t __a)
12735 return (uint64x2_t)__builtin_neon_vreinterpretv2div4sf (__a);
12738 #ifdef __ARM_FEATURE_CRYPTO
12739 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
12740 vreinterpretq_u64_p64 (poly64x2_t __a)
12742 return (uint64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a);
12745 #endif
12746 #ifdef __ARM_FEATURE_CRYPTO
12747 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
12748 vreinterpretq_u64_p128 (poly128_t __a)
12750 return (uint64x2_t)__builtin_neon_vreinterpretv2diti ((__builtin_neon_ti) __a);
12753 #endif
12754 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
12755 vreinterpretq_u64_s64 (int64x2_t __a)
12757 return (uint64x2_t)__builtin_neon_vreinterpretv2div2di (__a);
12760 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
12761 vreinterpretq_u64_s8 (int8x16_t __a)
12763 return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi (__a);
12766 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
12767 vreinterpretq_u64_s16 (int16x8_t __a)
12769 return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi (__a);
12772 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
12773 vreinterpretq_u64_s32 (int32x4_t __a)
12775 return (uint64x2_t)__builtin_neon_vreinterpretv2div4si (__a);
12778 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
12779 vreinterpretq_u64_u8 (uint8x16_t __a)
12781 return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
12784 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
12785 vreinterpretq_u64_u16 (uint16x8_t __a)
12787 return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
12790 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
12791 vreinterpretq_u64_u32 (uint32x4_t __a)
12793 return (uint64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a);
12796 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
12797 vreinterpretq_s8_p8 (poly8x16_t __a)
12799 return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
12802 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
12803 vreinterpretq_s8_p16 (poly16x8_t __a)
12805 return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
12808 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
12809 vreinterpretq_s8_f32 (float32x4_t __a)
12811 return (int8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
12814 #ifdef __ARM_FEATURE_CRYPTO
12815 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
12816 vreinterpretq_s8_p64 (poly64x2_t __a)
12818 return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
12821 #endif
12822 #ifdef __ARM_FEATURE_CRYPTO
12823 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
12824 vreinterpretq_s8_p128 (poly128_t __a)
12826 return (int8x16_t)__builtin_neon_vreinterpretv16qiti ((__builtin_neon_ti) __a);
12829 #endif
12830 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
12831 vreinterpretq_s8_s64 (int64x2_t __a)
12833 return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
12836 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
12837 vreinterpretq_s8_u64 (uint64x2_t __a)
12839 return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
12842 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
12843 vreinterpretq_s8_s16 (int16x8_t __a)
12845 return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
12848 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
12849 vreinterpretq_s8_s32 (int32x4_t __a)
12851 return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
12854 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
12855 vreinterpretq_s8_u8 (uint8x16_t __a)
12857 return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
12860 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
12861 vreinterpretq_s8_u16 (uint16x8_t __a)
12863 return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
12866 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
12867 vreinterpretq_s8_u32 (uint32x4_t __a)
12869 return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
12872 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
12873 vreinterpretq_s16_p8 (poly8x16_t __a)
12875 return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
12878 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
12879 vreinterpretq_s16_p16 (poly16x8_t __a)
12881 return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
12884 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
12885 vreinterpretq_s16_f32 (float32x4_t __a)
12887 return (int16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
12890 #ifdef __ARM_FEATURE_CRYPTO
12891 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
12892 vreinterpretq_s16_p64 (poly64x2_t __a)
12894 return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
12897 #endif
12898 #ifdef __ARM_FEATURE_CRYPTO
12899 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
12900 vreinterpretq_s16_p128 (poly128_t __a)
12902 return (int16x8_t)__builtin_neon_vreinterpretv8hiti ((__builtin_neon_ti) __a);
12905 #endif
12906 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
12907 vreinterpretq_s16_s64 (int64x2_t __a)
12909 return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
12912 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
12913 vreinterpretq_s16_u64 (uint64x2_t __a)
12915 return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
12918 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
12919 vreinterpretq_s16_s8 (int8x16_t __a)
12921 return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
12924 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
12925 vreinterpretq_s16_s32 (int32x4_t __a)
12927 return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
12930 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
12931 vreinterpretq_s16_u8 (uint8x16_t __a)
12933 return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
12936 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
12937 vreinterpretq_s16_u16 (uint16x8_t __a)
12939 return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
12942 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
12943 vreinterpretq_s16_u32 (uint32x4_t __a)
12945 return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
12948 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
12949 vreinterpretq_s32_p8 (poly8x16_t __a)
12951 return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
12954 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
12955 vreinterpretq_s32_p16 (poly16x8_t __a)
12957 return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
12960 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
12961 vreinterpretq_s32_f32 (float32x4_t __a)
12963 return (int32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a);
12966 #ifdef __ARM_FEATURE_CRYPTO
12967 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
12968 vreinterpretq_s32_p64 (poly64x2_t __a)
12970 return (int32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
12973 #endif
12974 #ifdef __ARM_FEATURE_CRYPTO
12975 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
12976 vreinterpretq_s32_p128 (poly128_t __a)
12978 return (int32x4_t)__builtin_neon_vreinterpretv4siti ((__builtin_neon_ti) __a);
12981 #endif
12982 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
12983 vreinterpretq_s32_s64 (int64x2_t __a)
12985 return (int32x4_t)__builtin_neon_vreinterpretv4siv2di (__a);
12988 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
12989 vreinterpretq_s32_u64 (uint64x2_t __a)
12991 return (int32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
12994 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
12995 vreinterpretq_s32_s8 (int8x16_t __a)
12997 return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a);
13000 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
13001 vreinterpretq_s32_s16 (int16x8_t __a)
13003 return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a);
13006 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
13007 vreinterpretq_s32_u8 (uint8x16_t __a)
13009 return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
13012 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
13013 vreinterpretq_s32_u16 (uint16x8_t __a)
13015 return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
13018 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
13019 vreinterpretq_s32_u32 (uint32x4_t __a)
13021 return (int32x4_t)__builtin_neon_vreinterpretv4siv4si ((int32x4_t) __a);
13024 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13025 vreinterpretq_u8_p8 (poly8x16_t __a)
13027 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
13030 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13031 vreinterpretq_u8_p16 (poly16x8_t __a)
13033 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
13036 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13037 vreinterpretq_u8_f32 (float32x4_t __a)
13039 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
13042 #ifdef __ARM_FEATURE_CRYPTO
13043 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13044 vreinterpretq_u8_p64 (poly64x2_t __a)
13046 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
13049 #endif
13050 #ifdef __ARM_FEATURE_CRYPTO
13051 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13052 vreinterpretq_u8_p128 (poly128_t __a)
13054 return (uint8x16_t)__builtin_neon_vreinterpretv16qiti ((__builtin_neon_ti) __a);
13057 #endif
13058 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13059 vreinterpretq_u8_s64 (int64x2_t __a)
13061 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
13064 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13065 vreinterpretq_u8_u64 (uint64x2_t __a)
13067 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
13070 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13071 vreinterpretq_u8_s8 (int8x16_t __a)
13073 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a);
13076 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13077 vreinterpretq_u8_s16 (int16x8_t __a)
13079 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
13082 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13083 vreinterpretq_u8_s32 (int32x4_t __a)
13085 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
13088 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13089 vreinterpretq_u8_u16 (uint16x8_t __a)
13091 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
13094 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13095 vreinterpretq_u8_u32 (uint32x4_t __a)
13097 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
13100 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
13101 vreinterpretq_u16_p8 (poly8x16_t __a)
13103 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
13106 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
13107 vreinterpretq_u16_p16 (poly16x8_t __a)
13109 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
13112 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
13113 vreinterpretq_u16_f32 (float32x4_t __a)
13115 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
13118 #ifdef __ARM_FEATURE_CRYPTO
13119 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
13120 vreinterpretq_u16_p64 (poly64x2_t __a)
13122 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
13125 #endif
13126 #ifdef __ARM_FEATURE_CRYPTO
13127 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
13128 vreinterpretq_u16_p128 (poly128_t __a)
13130 return (uint16x8_t)__builtin_neon_vreinterpretv8hiti ((__builtin_neon_ti) __a);
13133 #endif
13134 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
13135 vreinterpretq_u16_s64 (int64x2_t __a)
13137 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
13140 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
13141 vreinterpretq_u16_u64 (uint64x2_t __a)
13143 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
13146 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
13147 vreinterpretq_u16_s8 (int8x16_t __a)
13149 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
13152 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
13153 vreinterpretq_u16_s16 (int16x8_t __a)
13155 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a);
13158 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
13159 vreinterpretq_u16_s32 (int32x4_t __a)
13161 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
13164 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
13165 vreinterpretq_u16_u8 (uint8x16_t __a)
13167 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
13170 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
13171 vreinterpretq_u16_u32 (uint32x4_t __a)
13173 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
13176 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13177 vreinterpretq_u32_p8 (poly8x16_t __a)
13179 return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
13182 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13183 vreinterpretq_u32_p16 (poly16x8_t __a)
13185 return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
13188 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13189 vreinterpretq_u32_f32 (float32x4_t __a)
13191 return (uint32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a);
13194 #ifdef __ARM_FEATURE_CRYPTO
13195 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13196 vreinterpretq_u32_p64 (poly64x2_t __a)
13198 return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
13201 #endif
13202 #ifdef __ARM_FEATURE_CRYPTO
13203 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13204 vreinterpretq_u32_p128 (poly128_t __a)
13206 return (uint32x4_t)__builtin_neon_vreinterpretv4siti ((__builtin_neon_ti) __a);
13209 #endif
13210 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13211 vreinterpretq_u32_s64 (int64x2_t __a)
13213 return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di (__a);
13216 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13217 vreinterpretq_u32_u64 (uint64x2_t __a)
13219 return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
13222 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13223 vreinterpretq_u32_s8 (int8x16_t __a)
13225 return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a);
13228 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13229 vreinterpretq_u32_s16 (int16x8_t __a)
13231 return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a);
13234 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13235 vreinterpretq_u32_s32 (int32x4_t __a)
13237 return (uint32x4_t)__builtin_neon_vreinterpretv4siv4si (__a);
13240 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13241 vreinterpretq_u32_u8 (uint8x16_t __a)
13243 return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
13246 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13247 vreinterpretq_u32_u16 (uint16x8_t __a)
13249 return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
13253 #ifdef __ARM_FEATURE_CRYPTO
13255 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
13256 vldrq_p128 (poly128_t const * __ptr)
13258 #ifdef __ARM_BIG_ENDIAN
13259 poly64_t* __ptmp = (poly64_t*) __ptr;
13260 poly64_t __d0 = vld1_p64 (__ptmp);
13261 poly64_t __d1 = vld1_p64 (__ptmp + 1);
13262 return vreinterpretq_p128_p64 (vcombine_p64 (__d1, __d0));
13263 #else
13264 return vreinterpretq_p128_p64 (vld1q_p64 ((poly64_t*) __ptr));
13265 #endif
13268 __extension__ static __inline void __attribute__ ((__always_inline__))
13269 vstrq_p128 (poly128_t * __ptr, poly128_t __val)
13271 #ifdef __ARM_BIG_ENDIAN
13272 poly64x2_t __tmp = vreinterpretq_p64_p128 (__val);
13273 poly64_t __d0 = vget_high_p64 (__tmp);
13274 poly64_t __d1 = vget_low_p64 (__tmp);
13275 vst1q_p64 ((poly64_t*) __ptr, vcombine_p64 (__d0, __d1));
13276 #else
13277 vst1q_p64 ((poly64_t*) __ptr, vreinterpretq_p64_p128 (__val));
13278 #endif
13281 /* The vceq_p64 intrinsic does not map to a single instruction.
13282 Instead we emulate it by performing a 32-bit variant of the vceq
13283 and applying a pairwise min reduction to the result.
13284 vceq_u32 will produce two 32-bit halves, each of which will contain either
13285 all ones or all zeros depending on whether the corresponding 32-bit
13286 halves of the poly64_t were equal. The whole poly64_t values are equal
13287 if and only if both halves are equal, i.e. vceq_u32 returns all ones.
13288 If the result is all zeroes for any half then the whole result is zeroes.
13289 This is what the pairwise min reduction achieves. */
13291 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
13292 vceq_p64 (poly64x1_t __a, poly64x1_t __b)
13294 uint32x2_t __t_a = vreinterpret_u32_p64 (__a);
13295 uint32x2_t __t_b = vreinterpret_u32_p64 (__b);
13296 uint32x2_t __c = vceq_u32 (__t_a, __t_b);
13297 uint32x2_t __m = vpmin_u32 (__c, __c);
13298 return vreinterpret_u64_u32 (__m);
13301 /* The vtst_p64 intrinsic does not map to a single instruction.
13302 We emulate it in way similar to vceq_p64 above but here we do
13303 a reduction with max since if any two corresponding bits
13304 in the two poly64_t's match, then the whole result must be all ones. */
13306 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
13307 vtst_p64 (poly64x1_t __a, poly64x1_t __b)
13309 uint32x2_t __t_a = vreinterpret_u32_p64 (__a);
13310 uint32x2_t __t_b = vreinterpret_u32_p64 (__b);
13311 uint32x2_t __c = vtst_u32 (__t_a, __t_b);
13312 uint32x2_t __m = vpmax_u32 (__c, __c);
13313 return vreinterpret_u64_u32 (__m);
13316 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13317 vaeseq_u8 (uint8x16_t __data, uint8x16_t __key)
13319 return __builtin_arm_crypto_aese (__data, __key);
13322 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13323 vaesdq_u8 (uint8x16_t __data, uint8x16_t __key)
13325 return __builtin_arm_crypto_aesd (__data, __key);
13328 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13329 vaesmcq_u8 (uint8x16_t __data)
13331 return __builtin_arm_crypto_aesmc (__data);
13334 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
13335 vaesimcq_u8 (uint8x16_t __data)
13337 return __builtin_arm_crypto_aesimc (__data);
13340 __extension__ static __inline uint32_t __attribute__ ((__always_inline__))
13341 vsha1h_u32 (uint32_t __hash_e)
13343 uint32x4_t __t = vdupq_n_u32 (0);
13344 __t = vsetq_lane_u32 (__hash_e, __t, 0);
13345 __t = __builtin_arm_crypto_sha1h (__t);
13346 return vgetq_lane_u32 (__t, 0);
13349 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13350 vsha1cq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
13352 uint32x4_t __t = vdupq_n_u32 (0);
13353 __t = vsetq_lane_u32 (__hash_e, __t, 0);
13354 return __builtin_arm_crypto_sha1c (__hash_abcd, __t, __wk);
13357 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13358 vsha1pq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
13360 uint32x4_t __t = vdupq_n_u32 (0);
13361 __t = vsetq_lane_u32 (__hash_e, __t, 0);
13362 return __builtin_arm_crypto_sha1p (__hash_abcd, __t, __wk);
13365 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13366 vsha1mq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
13368 uint32x4_t __t = vdupq_n_u32 (0);
13369 __t = vsetq_lane_u32 (__hash_e, __t, 0);
13370 return __builtin_arm_crypto_sha1m (__hash_abcd, __t, __wk);
13373 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13374 vsha1su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7, uint32x4_t __w8_11)
13376 return __builtin_arm_crypto_sha1su0 (__w0_3, __w4_7, __w8_11);
13379 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13380 vsha1su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w12_15)
13382 return __builtin_arm_crypto_sha1su1 (__tw0_3, __w12_15);
13385 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13386 vsha256hq_u32 (uint32x4_t __hash_abcd, uint32x4_t __hash_efgh, uint32x4_t __wk)
13388 return __builtin_arm_crypto_sha256h (__hash_abcd, __hash_efgh, __wk);
13391 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13392 vsha256h2q_u32 (uint32x4_t __hash_abcd, uint32x4_t __hash_efgh, uint32x4_t __wk)
13394 return __builtin_arm_crypto_sha256h2 (__hash_abcd, __hash_efgh, __wk);
13397 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13398 vsha256su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7)
13400 return __builtin_arm_crypto_sha256su0 (__w0_3, __w4_7);
13403 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
13404 vsha256su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w8_11, uint32x4_t __w12_15)
13406 return __builtin_arm_crypto_sha256su1 (__tw0_3, __w8_11, __w12_15);
13409 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
13410 vmull_p64 (poly64_t __a, poly64_t __b)
13412 return (poly128_t) __builtin_arm_crypto_vmullp64 ((uint64_t) __a, (uint64_t) __b);
13415 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
13416 vmull_high_p64 (poly64x2_t __a, poly64x2_t __b)
13418 poly64_t __t1 = vget_high_p64 (__a);
13419 poly64_t __t2 = vget_high_p64 (__b);
13421 return (poly128_t) __builtin_arm_crypto_vmullp64 ((uint64_t) __t1, (uint64_t) __t2);
13424 #endif
13425 #ifdef __cplusplus
13427 #endif
13428 #endif
13429 #endif