1 /* ARM NEON intrinsics include file.
2 
3    Copyright (C) 2006-2014 Free Software Foundation, Inc.
4    Contributed by CodeSourcery.
5 
6    This file is part of GCC.
7 
8    GCC is free software; you can redistribute it and/or modify it
9    under the terms of the GNU General Public License as published
10    by the Free Software Foundation; either version 3, or (at your
11    option) any later version.
12 
13    GCC is distributed in the hope that it will be useful, but WITHOUT
14    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
16    License for more details.
17 
18    Under Section 7 of GPL version 3, you are granted additional
19    permissions described in the GCC Runtime Library Exception, version
20    3.1, as published by the Free Software Foundation.
21 
22    You should have received a copy of the GNU General Public License and
23    a copy of the GCC Runtime Library Exception along with this program;
24    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
25    <http://www.gnu.org/licenses/>.  */
26 
27 #ifndef _GCC_ARM_NEON_H
28 #define _GCC_ARM_NEON_H 1
29 
30 #ifndef __ARM_NEON__
31 #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
32 #else
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 #include <stdint.h>
39 
40 typedef __builtin_neon_qi int8x8_t	__attribute__ ((__vector_size__ (8)));
41 typedef __builtin_neon_hi int16x4_t	__attribute__ ((__vector_size__ (8)));
42 typedef __builtin_neon_si int32x2_t	__attribute__ ((__vector_size__ (8)));
43 typedef __builtin_neon_di int64x1_t;
44 typedef __builtin_neon_hf float16x4_t	__attribute__ ((__vector_size__ (8)));
45 typedef __builtin_neon_sf float32x2_t	__attribute__ ((__vector_size__ (8)));
46 typedef __builtin_neon_poly8 poly8x8_t	__attribute__ ((__vector_size__ (8)));
47 typedef __builtin_neon_poly16 poly16x4_t	__attribute__ ((__vector_size__ (8)));
48 #ifdef __ARM_FEATURE_CRYPTO
49 typedef __builtin_neon_poly64 poly64x1_t;
50 #endif
51 typedef __builtin_neon_uqi uint8x8_t	__attribute__ ((__vector_size__ (8)));
52 typedef __builtin_neon_uhi uint16x4_t	__attribute__ ((__vector_size__ (8)));
53 typedef __builtin_neon_usi uint32x2_t	__attribute__ ((__vector_size__ (8)));
54 typedef __builtin_neon_udi uint64x1_t;
55 typedef __builtin_neon_qi int8x16_t	__attribute__ ((__vector_size__ (16)));
56 typedef __builtin_neon_hi int16x8_t	__attribute__ ((__vector_size__ (16)));
57 typedef __builtin_neon_si int32x4_t	__attribute__ ((__vector_size__ (16)));
58 typedef __builtin_neon_di int64x2_t	__attribute__ ((__vector_size__ (16)));
59 typedef __builtin_neon_sf float32x4_t	__attribute__ ((__vector_size__ (16)));
60 typedef __builtin_neon_poly8 poly8x16_t	__attribute__ ((__vector_size__ (16)));
61 typedef __builtin_neon_poly16 poly16x8_t	__attribute__ ((__vector_size__ (16)));
62 #ifdef __ARM_FEATURE_CRYPTO
63 typedef __builtin_neon_poly64 poly64x2_t	__attribute__ ((__vector_size__ (16)));
64 #endif
65 typedef __builtin_neon_uqi uint8x16_t	__attribute__ ((__vector_size__ (16)));
66 typedef __builtin_neon_uhi uint16x8_t	__attribute__ ((__vector_size__ (16)));
67 typedef __builtin_neon_usi uint32x4_t	__attribute__ ((__vector_size__ (16)));
68 typedef __builtin_neon_udi uint64x2_t	__attribute__ ((__vector_size__ (16)));
69 
70 typedef float float32_t;
71 typedef __builtin_neon_poly8 poly8_t;
72 typedef __builtin_neon_poly16 poly16_t;
73 #ifdef __ARM_FEATURE_CRYPTO
74 typedef __builtin_neon_poly64 poly64_t;
75 typedef __builtin_neon_poly128 poly128_t;
76 #endif
77 
78 typedef struct int8x8x2_t
79 {
80   int8x8_t val[2];
81 } int8x8x2_t;
82 
83 typedef struct int8x16x2_t
84 {
85   int8x16_t val[2];
86 } int8x16x2_t;
87 
88 typedef struct int16x4x2_t
89 {
90   int16x4_t val[2];
91 } int16x4x2_t;
92 
93 typedef struct int16x8x2_t
94 {
95   int16x8_t val[2];
96 } int16x8x2_t;
97 
98 typedef struct int32x2x2_t
99 {
100   int32x2_t val[2];
101 } int32x2x2_t;
102 
103 typedef struct int32x4x2_t
104 {
105   int32x4_t val[2];
106 } int32x4x2_t;
107 
108 typedef struct int64x1x2_t
109 {
110   int64x1_t val[2];
111 } int64x1x2_t;
112 
113 typedef struct int64x2x2_t
114 {
115   int64x2_t val[2];
116 } int64x2x2_t;
117 
118 typedef struct uint8x8x2_t
119 {
120   uint8x8_t val[2];
121 } uint8x8x2_t;
122 
123 typedef struct uint8x16x2_t
124 {
125   uint8x16_t val[2];
126 } uint8x16x2_t;
127 
128 typedef struct uint16x4x2_t
129 {
130   uint16x4_t val[2];
131 } uint16x4x2_t;
132 
133 typedef struct uint16x8x2_t
134 {
135   uint16x8_t val[2];
136 } uint16x8x2_t;
137 
138 typedef struct uint32x2x2_t
139 {
140   uint32x2_t val[2];
141 } uint32x2x2_t;
142 
143 typedef struct uint32x4x2_t
144 {
145   uint32x4_t val[2];
146 } uint32x4x2_t;
147 
148 typedef struct uint64x1x2_t
149 {
150   uint64x1_t val[2];
151 } uint64x1x2_t;
152 
153 typedef struct uint64x2x2_t
154 {
155   uint64x2_t val[2];
156 } uint64x2x2_t;
157 
158 typedef struct float32x2x2_t
159 {
160   float32x2_t val[2];
161 } float32x2x2_t;
162 
163 typedef struct float32x4x2_t
164 {
165   float32x4_t val[2];
166 } float32x4x2_t;
167 
168 typedef struct poly8x8x2_t
169 {
170   poly8x8_t val[2];
171 } poly8x8x2_t;
172 
173 typedef struct poly8x16x2_t
174 {
175   poly8x16_t val[2];
176 } poly8x16x2_t;
177 
178 typedef struct poly16x4x2_t
179 {
180   poly16x4_t val[2];
181 } poly16x4x2_t;
182 
183 typedef struct poly16x8x2_t
184 {
185   poly16x8_t val[2];
186 } poly16x8x2_t;
187 
188 #ifdef __ARM_FEATURE_CRYPTO
189 typedef struct poly64x1x2_t
190 {
191   poly64x1_t val[2];
192 } poly64x1x2_t;
193 #endif
194 
195 
196 #ifdef __ARM_FEATURE_CRYPTO
197 typedef struct poly64x2x2_t
198 {
199   poly64x2_t val[2];
200 } poly64x2x2_t;
201 #endif
202 
203 
204 typedef struct int8x8x3_t
205 {
206   int8x8_t val[3];
207 } int8x8x3_t;
208 
209 typedef struct int8x16x3_t
210 {
211   int8x16_t val[3];
212 } int8x16x3_t;
213 
214 typedef struct int16x4x3_t
215 {
216   int16x4_t val[3];
217 } int16x4x3_t;
218 
219 typedef struct int16x8x3_t
220 {
221   int16x8_t val[3];
222 } int16x8x3_t;
223 
224 typedef struct int32x2x3_t
225 {
226   int32x2_t val[3];
227 } int32x2x3_t;
228 
229 typedef struct int32x4x3_t
230 {
231   int32x4_t val[3];
232 } int32x4x3_t;
233 
234 typedef struct int64x1x3_t
235 {
236   int64x1_t val[3];
237 } int64x1x3_t;
238 
239 typedef struct int64x2x3_t
240 {
241   int64x2_t val[3];
242 } int64x2x3_t;
243 
244 typedef struct uint8x8x3_t
245 {
246   uint8x8_t val[3];
247 } uint8x8x3_t;
248 
249 typedef struct uint8x16x3_t
250 {
251   uint8x16_t val[3];
252 } uint8x16x3_t;
253 
254 typedef struct uint16x4x3_t
255 {
256   uint16x4_t val[3];
257 } uint16x4x3_t;
258 
259 typedef struct uint16x8x3_t
260 {
261   uint16x8_t val[3];
262 } uint16x8x3_t;
263 
264 typedef struct uint32x2x3_t
265 {
266   uint32x2_t val[3];
267 } uint32x2x3_t;
268 
269 typedef struct uint32x4x3_t
270 {
271   uint32x4_t val[3];
272 } uint32x4x3_t;
273 
274 typedef struct uint64x1x3_t
275 {
276   uint64x1_t val[3];
277 } uint64x1x3_t;
278 
279 typedef struct uint64x2x3_t
280 {
281   uint64x2_t val[3];
282 } uint64x2x3_t;
283 
284 typedef struct float32x2x3_t
285 {
286   float32x2_t val[3];
287 } float32x2x3_t;
288 
289 typedef struct float32x4x3_t
290 {
291   float32x4_t val[3];
292 } float32x4x3_t;
293 
294 typedef struct poly8x8x3_t
295 {
296   poly8x8_t val[3];
297 } poly8x8x3_t;
298 
299 typedef struct poly8x16x3_t
300 {
301   poly8x16_t val[3];
302 } poly8x16x3_t;
303 
304 typedef struct poly16x4x3_t
305 {
306   poly16x4_t val[3];
307 } poly16x4x3_t;
308 
309 typedef struct poly16x8x3_t
310 {
311   poly16x8_t val[3];
312 } poly16x8x3_t;
313 
314 #ifdef __ARM_FEATURE_CRYPTO
315 typedef struct poly64x1x3_t
316 {
317   poly64x1_t val[3];
318 } poly64x1x3_t;
319 #endif
320 
321 
322 #ifdef __ARM_FEATURE_CRYPTO
323 typedef struct poly64x2x3_t
324 {
325   poly64x2_t val[3];
326 } poly64x2x3_t;
327 #endif
328 
329 
330 typedef struct int8x8x4_t
331 {
332   int8x8_t val[4];
333 } int8x8x4_t;
334 
335 typedef struct int8x16x4_t
336 {
337   int8x16_t val[4];
338 } int8x16x4_t;
339 
340 typedef struct int16x4x4_t
341 {
342   int16x4_t val[4];
343 } int16x4x4_t;
344 
345 typedef struct int16x8x4_t
346 {
347   int16x8_t val[4];
348 } int16x8x4_t;
349 
350 typedef struct int32x2x4_t
351 {
352   int32x2_t val[4];
353 } int32x2x4_t;
354 
355 typedef struct int32x4x4_t
356 {
357   int32x4_t val[4];
358 } int32x4x4_t;
359 
360 typedef struct int64x1x4_t
361 {
362   int64x1_t val[4];
363 } int64x1x4_t;
364 
365 typedef struct int64x2x4_t
366 {
367   int64x2_t val[4];
368 } int64x2x4_t;
369 
370 typedef struct uint8x8x4_t
371 {
372   uint8x8_t val[4];
373 } uint8x8x4_t;
374 
375 typedef struct uint8x16x4_t
376 {
377   uint8x16_t val[4];
378 } uint8x16x4_t;
379 
380 typedef struct uint16x4x4_t
381 {
382   uint16x4_t val[4];
383 } uint16x4x4_t;
384 
385 typedef struct uint16x8x4_t
386 {
387   uint16x8_t val[4];
388 } uint16x8x4_t;
389 
390 typedef struct uint32x2x4_t
391 {
392   uint32x2_t val[4];
393 } uint32x2x4_t;
394 
395 typedef struct uint32x4x4_t
396 {
397   uint32x4_t val[4];
398 } uint32x4x4_t;
399 
400 typedef struct uint64x1x4_t
401 {
402   uint64x1_t val[4];
403 } uint64x1x4_t;
404 
405 typedef struct uint64x2x4_t
406 {
407   uint64x2_t val[4];
408 } uint64x2x4_t;
409 
410 typedef struct float32x2x4_t
411 {
412   float32x2_t val[4];
413 } float32x2x4_t;
414 
415 typedef struct float32x4x4_t
416 {
417   float32x4_t val[4];
418 } float32x4x4_t;
419 
420 typedef struct poly8x8x4_t
421 {
422   poly8x8_t val[4];
423 } poly8x8x4_t;
424 
425 typedef struct poly8x16x4_t
426 {
427   poly8x16_t val[4];
428 } poly8x16x4_t;
429 
430 typedef struct poly16x4x4_t
431 {
432   poly16x4_t val[4];
433 } poly16x4x4_t;
434 
435 typedef struct poly16x8x4_t
436 {
437   poly16x8_t val[4];
438 } poly16x8x4_t;
439 
440 #ifdef __ARM_FEATURE_CRYPTO
441 typedef struct poly64x1x4_t
442 {
443   poly64x1_t val[4];
444 } poly64x1x4_t;
445 #endif
446 
447 
448 #ifdef __ARM_FEATURE_CRYPTO
449 typedef struct poly64x2x4_t
450 {
451   poly64x2_t val[4];
452 } poly64x2x4_t;
453 #endif
454 
455 
456 
457 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vadd_s8(int8x8_t __a,int8x8_t __b)458 vadd_s8 (int8x8_t __a, int8x8_t __b)
459 {
460   return (int8x8_t)__builtin_neon_vaddv8qi (__a, __b, 1);
461 }
462 
463 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vadd_s16(int16x4_t __a,int16x4_t __b)464 vadd_s16 (int16x4_t __a, int16x4_t __b)
465 {
466   return (int16x4_t)__builtin_neon_vaddv4hi (__a, __b, 1);
467 }
468 
469 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vadd_s32(int32x2_t __a,int32x2_t __b)470 vadd_s32 (int32x2_t __a, int32x2_t __b)
471 {
472   return (int32x2_t)__builtin_neon_vaddv2si (__a, __b, 1);
473 }
474 
475 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vadd_f32(float32x2_t __a,float32x2_t __b)476 vadd_f32 (float32x2_t __a, float32x2_t __b)
477 {
478   return (float32x2_t)__builtin_neon_vaddv2sf (__a, __b, 3);
479 }
480 
481 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vadd_u8(uint8x8_t __a,uint8x8_t __b)482 vadd_u8 (uint8x8_t __a, uint8x8_t __b)
483 {
484   return (uint8x8_t)__builtin_neon_vaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
485 }
486 
487 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vadd_u16(uint16x4_t __a,uint16x4_t __b)488 vadd_u16 (uint16x4_t __a, uint16x4_t __b)
489 {
490   return (uint16x4_t)__builtin_neon_vaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
491 }
492 
493 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vadd_u32(uint32x2_t __a,uint32x2_t __b)494 vadd_u32 (uint32x2_t __a, uint32x2_t __b)
495 {
496   return (uint32x2_t)__builtin_neon_vaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
497 }
498 
499 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vadd_s64(int64x1_t __a,int64x1_t __b)500 vadd_s64 (int64x1_t __a, int64x1_t __b)
501 {
502   return (int64x1_t)__builtin_neon_vadddi (__a, __b, 1);
503 }
504 
505 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vadd_u64(uint64x1_t __a,uint64x1_t __b)506 vadd_u64 (uint64x1_t __a, uint64x1_t __b)
507 {
508   return (uint64x1_t)__builtin_neon_vadddi ((int64x1_t) __a, (int64x1_t) __b, 0);
509 }
510 
511 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vaddq_s8(int8x16_t __a,int8x16_t __b)512 vaddq_s8 (int8x16_t __a, int8x16_t __b)
513 {
514   return (int8x16_t)__builtin_neon_vaddv16qi (__a, __b, 1);
515 }
516 
517 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vaddq_s16(int16x8_t __a,int16x8_t __b)518 vaddq_s16 (int16x8_t __a, int16x8_t __b)
519 {
520   return (int16x8_t)__builtin_neon_vaddv8hi (__a, __b, 1);
521 }
522 
523 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vaddq_s32(int32x4_t __a,int32x4_t __b)524 vaddq_s32 (int32x4_t __a, int32x4_t __b)
525 {
526   return (int32x4_t)__builtin_neon_vaddv4si (__a, __b, 1);
527 }
528 
529 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vaddq_s64(int64x2_t __a,int64x2_t __b)530 vaddq_s64 (int64x2_t __a, int64x2_t __b)
531 {
532   return (int64x2_t)__builtin_neon_vaddv2di (__a, __b, 1);
533 }
534 
535 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vaddq_f32(float32x4_t __a,float32x4_t __b)536 vaddq_f32 (float32x4_t __a, float32x4_t __b)
537 {
538   return (float32x4_t)__builtin_neon_vaddv4sf (__a, __b, 3);
539 }
540 
541 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vaddq_u8(uint8x16_t __a,uint8x16_t __b)542 vaddq_u8 (uint8x16_t __a, uint8x16_t __b)
543 {
544   return (uint8x16_t)__builtin_neon_vaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
545 }
546 
547 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vaddq_u16(uint16x8_t __a,uint16x8_t __b)548 vaddq_u16 (uint16x8_t __a, uint16x8_t __b)
549 {
550   return (uint16x8_t)__builtin_neon_vaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
551 }
552 
553 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vaddq_u32(uint32x4_t __a,uint32x4_t __b)554 vaddq_u32 (uint32x4_t __a, uint32x4_t __b)
555 {
556   return (uint32x4_t)__builtin_neon_vaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
557 }
558 
559 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vaddq_u64(uint64x2_t __a,uint64x2_t __b)560 vaddq_u64 (uint64x2_t __a, uint64x2_t __b)
561 {
562   return (uint64x2_t)__builtin_neon_vaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
563 }
564 
565 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vaddl_s8(int8x8_t __a,int8x8_t __b)566 vaddl_s8 (int8x8_t __a, int8x8_t __b)
567 {
568   return (int16x8_t)__builtin_neon_vaddlv8qi (__a, __b, 1);
569 }
570 
571 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vaddl_s16(int16x4_t __a,int16x4_t __b)572 vaddl_s16 (int16x4_t __a, int16x4_t __b)
573 {
574   return (int32x4_t)__builtin_neon_vaddlv4hi (__a, __b, 1);
575 }
576 
577 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vaddl_s32(int32x2_t __a,int32x2_t __b)578 vaddl_s32 (int32x2_t __a, int32x2_t __b)
579 {
580   return (int64x2_t)__builtin_neon_vaddlv2si (__a, __b, 1);
581 }
582 
583 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vaddl_u8(uint8x8_t __a,uint8x8_t __b)584 vaddl_u8 (uint8x8_t __a, uint8x8_t __b)
585 {
586   return (uint16x8_t)__builtin_neon_vaddlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
587 }
588 
589 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vaddl_u16(uint16x4_t __a,uint16x4_t __b)590 vaddl_u16 (uint16x4_t __a, uint16x4_t __b)
591 {
592   return (uint32x4_t)__builtin_neon_vaddlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
593 }
594 
595 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vaddl_u32(uint32x2_t __a,uint32x2_t __b)596 vaddl_u32 (uint32x2_t __a, uint32x2_t __b)
597 {
598   return (uint64x2_t)__builtin_neon_vaddlv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
599 }
600 
601 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vaddw_s8(int16x8_t __a,int8x8_t __b)602 vaddw_s8 (int16x8_t __a, int8x8_t __b)
603 {
604   return (int16x8_t)__builtin_neon_vaddwv8qi (__a, __b, 1);
605 }
606 
607 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vaddw_s16(int32x4_t __a,int16x4_t __b)608 vaddw_s16 (int32x4_t __a, int16x4_t __b)
609 {
610   return (int32x4_t)__builtin_neon_vaddwv4hi (__a, __b, 1);
611 }
612 
613 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vaddw_s32(int64x2_t __a,int32x2_t __b)614 vaddw_s32 (int64x2_t __a, int32x2_t __b)
615 {
616   return (int64x2_t)__builtin_neon_vaddwv2si (__a, __b, 1);
617 }
618 
619 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vaddw_u8(uint16x8_t __a,uint8x8_t __b)620 vaddw_u8 (uint16x8_t __a, uint8x8_t __b)
621 {
622   return (uint16x8_t)__builtin_neon_vaddwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0);
623 }
624 
625 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vaddw_u16(uint32x4_t __a,uint16x4_t __b)626 vaddw_u16 (uint32x4_t __a, uint16x4_t __b)
627 {
628   return (uint32x4_t)__builtin_neon_vaddwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0);
629 }
630 
631 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vaddw_u32(uint64x2_t __a,uint32x2_t __b)632 vaddw_u32 (uint64x2_t __a, uint32x2_t __b)
633 {
634   return (uint64x2_t)__builtin_neon_vaddwv2si ((int64x2_t) __a, (int32x2_t) __b, 0);
635 }
636 
637 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vhadd_s8(int8x8_t __a,int8x8_t __b)638 vhadd_s8 (int8x8_t __a, int8x8_t __b)
639 {
640   return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 1);
641 }
642 
643 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vhadd_s16(int16x4_t __a,int16x4_t __b)644 vhadd_s16 (int16x4_t __a, int16x4_t __b)
645 {
646   return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 1);
647 }
648 
649 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vhadd_s32(int32x2_t __a,int32x2_t __b)650 vhadd_s32 (int32x2_t __a, int32x2_t __b)
651 {
652   return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 1);
653 }
654 
655 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vhadd_u8(uint8x8_t __a,uint8x8_t __b)656 vhadd_u8 (uint8x8_t __a, uint8x8_t __b)
657 {
658   return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
659 }
660 
661 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vhadd_u16(uint16x4_t __a,uint16x4_t __b)662 vhadd_u16 (uint16x4_t __a, uint16x4_t __b)
663 {
664   return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
665 }
666 
667 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vhadd_u32(uint32x2_t __a,uint32x2_t __b)668 vhadd_u32 (uint32x2_t __a, uint32x2_t __b)
669 {
670   return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
671 }
672 
673 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vhaddq_s8(int8x16_t __a,int8x16_t __b)674 vhaddq_s8 (int8x16_t __a, int8x16_t __b)
675 {
676   return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 1);
677 }
678 
679 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vhaddq_s16(int16x8_t __a,int16x8_t __b)680 vhaddq_s16 (int16x8_t __a, int16x8_t __b)
681 {
682   return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 1);
683 }
684 
685 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vhaddq_s32(int32x4_t __a,int32x4_t __b)686 vhaddq_s32 (int32x4_t __a, int32x4_t __b)
687 {
688   return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 1);
689 }
690 
691 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vhaddq_u8(uint8x16_t __a,uint8x16_t __b)692 vhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
693 {
694   return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
695 }
696 
697 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vhaddq_u16(uint16x8_t __a,uint16x8_t __b)698 vhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
699 {
700   return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
701 }
702 
703 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vhaddq_u32(uint32x4_t __a,uint32x4_t __b)704 vhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
705 {
706   return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
707 }
708 
709 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrhadd_s8(int8x8_t __a,int8x8_t __b)710 vrhadd_s8 (int8x8_t __a, int8x8_t __b)
711 {
712   return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 5);
713 }
714 
715 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrhadd_s16(int16x4_t __a,int16x4_t __b)716 vrhadd_s16 (int16x4_t __a, int16x4_t __b)
717 {
718   return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 5);
719 }
720 
721 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrhadd_s32(int32x2_t __a,int32x2_t __b)722 vrhadd_s32 (int32x2_t __a, int32x2_t __b)
723 {
724   return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 5);
725 }
726 
727 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrhadd_u8(uint8x8_t __a,uint8x8_t __b)728 vrhadd_u8 (uint8x8_t __a, uint8x8_t __b)
729 {
730   return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 4);
731 }
732 
733 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrhadd_u16(uint16x4_t __a,uint16x4_t __b)734 vrhadd_u16 (uint16x4_t __a, uint16x4_t __b)
735 {
736   return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 4);
737 }
738 
739 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrhadd_u32(uint32x2_t __a,uint32x2_t __b)740 vrhadd_u32 (uint32x2_t __a, uint32x2_t __b)
741 {
742   return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 4);
743 }
744 
745 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrhaddq_s8(int8x16_t __a,int8x16_t __b)746 vrhaddq_s8 (int8x16_t __a, int8x16_t __b)
747 {
748   return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 5);
749 }
750 
751 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vrhaddq_s16(int16x8_t __a,int16x8_t __b)752 vrhaddq_s16 (int16x8_t __a, int16x8_t __b)
753 {
754   return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 5);
755 }
756 
757 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vrhaddq_s32(int32x4_t __a,int32x4_t __b)758 vrhaddq_s32 (int32x4_t __a, int32x4_t __b)
759 {
760   return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 5);
761 }
762 
763 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrhaddq_u8(uint8x16_t __a,uint8x16_t __b)764 vrhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
765 {
766   return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 4);
767 }
768 
769 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vrhaddq_u16(uint16x8_t __a,uint16x8_t __b)770 vrhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
771 {
772   return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
773 }
774 
775 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrhaddq_u32(uint32x4_t __a,uint32x4_t __b)776 vrhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
777 {
778   return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
779 }
780 
781 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqadd_s8(int8x8_t __a,int8x8_t __b)782 vqadd_s8 (int8x8_t __a, int8x8_t __b)
783 {
784   return (int8x8_t)__builtin_neon_vqaddv8qi (__a, __b, 1);
785 }
786 
787 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqadd_s16(int16x4_t __a,int16x4_t __b)788 vqadd_s16 (int16x4_t __a, int16x4_t __b)
789 {
790   return (int16x4_t)__builtin_neon_vqaddv4hi (__a, __b, 1);
791 }
792 
793 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqadd_s32(int32x2_t __a,int32x2_t __b)794 vqadd_s32 (int32x2_t __a, int32x2_t __b)
795 {
796   return (int32x2_t)__builtin_neon_vqaddv2si (__a, __b, 1);
797 }
798 
799 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vqadd_s64(int64x1_t __a,int64x1_t __b)800 vqadd_s64 (int64x1_t __a, int64x1_t __b)
801 {
802   return (int64x1_t)__builtin_neon_vqadddi (__a, __b, 1);
803 }
804 
805 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqadd_u8(uint8x8_t __a,uint8x8_t __b)806 vqadd_u8 (uint8x8_t __a, uint8x8_t __b)
807 {
808   return (uint8x8_t)__builtin_neon_vqaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
809 }
810 
811 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqadd_u16(uint16x4_t __a,uint16x4_t __b)812 vqadd_u16 (uint16x4_t __a, uint16x4_t __b)
813 {
814   return (uint16x4_t)__builtin_neon_vqaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
815 }
816 
817 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqadd_u32(uint32x2_t __a,uint32x2_t __b)818 vqadd_u32 (uint32x2_t __a, uint32x2_t __b)
819 {
820   return (uint32x2_t)__builtin_neon_vqaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
821 }
822 
823 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vqadd_u64(uint64x1_t __a,uint64x1_t __b)824 vqadd_u64 (uint64x1_t __a, uint64x1_t __b)
825 {
826   return (uint64x1_t)__builtin_neon_vqadddi ((int64x1_t) __a, (int64x1_t) __b, 0);
827 }
828 
829 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqaddq_s8(int8x16_t __a,int8x16_t __b)830 vqaddq_s8 (int8x16_t __a, int8x16_t __b)
831 {
832   return (int8x16_t)__builtin_neon_vqaddv16qi (__a, __b, 1);
833 }
834 
835 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqaddq_s16(int16x8_t __a,int16x8_t __b)836 vqaddq_s16 (int16x8_t __a, int16x8_t __b)
837 {
838   return (int16x8_t)__builtin_neon_vqaddv8hi (__a, __b, 1);
839 }
840 
841 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqaddq_s32(int32x4_t __a,int32x4_t __b)842 vqaddq_s32 (int32x4_t __a, int32x4_t __b)
843 {
844   return (int32x4_t)__builtin_neon_vqaddv4si (__a, __b, 1);
845 }
846 
847 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqaddq_s64(int64x2_t __a,int64x2_t __b)848 vqaddq_s64 (int64x2_t __a, int64x2_t __b)
849 {
850   return (int64x2_t)__builtin_neon_vqaddv2di (__a, __b, 1);
851 }
852 
853 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vqaddq_u8(uint8x16_t __a,uint8x16_t __b)854 vqaddq_u8 (uint8x16_t __a, uint8x16_t __b)
855 {
856   return (uint8x16_t)__builtin_neon_vqaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
857 }
858 
859 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vqaddq_u16(uint16x8_t __a,uint16x8_t __b)860 vqaddq_u16 (uint16x8_t __a, uint16x8_t __b)
861 {
862   return (uint16x8_t)__builtin_neon_vqaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
863 }
864 
865 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vqaddq_u32(uint32x4_t __a,uint32x4_t __b)866 vqaddq_u32 (uint32x4_t __a, uint32x4_t __b)
867 {
868   return (uint32x4_t)__builtin_neon_vqaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
869 }
870 
871 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vqaddq_u64(uint64x2_t __a,uint64x2_t __b)872 vqaddq_u64 (uint64x2_t __a, uint64x2_t __b)
873 {
874   return (uint64x2_t)__builtin_neon_vqaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
875 }
876 
877 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vaddhn_s16(int16x8_t __a,int16x8_t __b)878 vaddhn_s16 (int16x8_t __a, int16x8_t __b)
879 {
880   return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 1);
881 }
882 
883 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vaddhn_s32(int32x4_t __a,int32x4_t __b)884 vaddhn_s32 (int32x4_t __a, int32x4_t __b)
885 {
886   return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 1);
887 }
888 
889 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vaddhn_s64(int64x2_t __a,int64x2_t __b)890 vaddhn_s64 (int64x2_t __a, int64x2_t __b)
891 {
892   return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 1);
893 }
894 
895 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vaddhn_u16(uint16x8_t __a,uint16x8_t __b)896 vaddhn_u16 (uint16x8_t __a, uint16x8_t __b)
897 {
898   return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
899 }
900 
901 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vaddhn_u32(uint32x4_t __a,uint32x4_t __b)902 vaddhn_u32 (uint32x4_t __a, uint32x4_t __b)
903 {
904   return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
905 }
906 
907 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vaddhn_u64(uint64x2_t __a,uint64x2_t __b)908 vaddhn_u64 (uint64x2_t __a, uint64x2_t __b)
909 {
910   return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
911 }
912 
913 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vraddhn_s16(int16x8_t __a,int16x8_t __b)914 vraddhn_s16 (int16x8_t __a, int16x8_t __b)
915 {
916   return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 5);
917 }
918 
919 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vraddhn_s32(int32x4_t __a,int32x4_t __b)920 vraddhn_s32 (int32x4_t __a, int32x4_t __b)
921 {
922   return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 5);
923 }
924 
925 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vraddhn_s64(int64x2_t __a,int64x2_t __b)926 vraddhn_s64 (int64x2_t __a, int64x2_t __b)
927 {
928   return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 5);
929 }
930 
931 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vraddhn_u16(uint16x8_t __a,uint16x8_t __b)932 vraddhn_u16 (uint16x8_t __a, uint16x8_t __b)
933 {
934   return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
935 }
936 
937 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vraddhn_u32(uint32x4_t __a,uint32x4_t __b)938 vraddhn_u32 (uint32x4_t __a, uint32x4_t __b)
939 {
940   return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
941 }
942 
943 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vraddhn_u64(uint64x2_t __a,uint64x2_t __b)944 vraddhn_u64 (uint64x2_t __a, uint64x2_t __b)
945 {
946   return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4);
947 }
948 
949 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmul_s8(int8x8_t __a,int8x8_t __b)950 vmul_s8 (int8x8_t __a, int8x8_t __b)
951 {
952   return (int8x8_t)__builtin_neon_vmulv8qi (__a, __b, 1);
953 }
954 
955 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmul_s16(int16x4_t __a,int16x4_t __b)956 vmul_s16 (int16x4_t __a, int16x4_t __b)
957 {
958   return (int16x4_t)__builtin_neon_vmulv4hi (__a, __b, 1);
959 }
960 
961 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmul_s32(int32x2_t __a,int32x2_t __b)962 vmul_s32 (int32x2_t __a, int32x2_t __b)
963 {
964   return (int32x2_t)__builtin_neon_vmulv2si (__a, __b, 1);
965 }
966 
967 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmul_f32(float32x2_t __a,float32x2_t __b)968 vmul_f32 (float32x2_t __a, float32x2_t __b)
969 {
970   return (float32x2_t)__builtin_neon_vmulv2sf (__a, __b, 3);
971 }
972 
973 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmul_u8(uint8x8_t __a,uint8x8_t __b)974 vmul_u8 (uint8x8_t __a, uint8x8_t __b)
975 {
976   return (uint8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
977 }
978 
979 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmul_u16(uint16x4_t __a,uint16x4_t __b)980 vmul_u16 (uint16x4_t __a, uint16x4_t __b)
981 {
982   return (uint16x4_t)__builtin_neon_vmulv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
983 }
984 
985 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmul_u32(uint32x2_t __a,uint32x2_t __b)986 vmul_u32 (uint32x2_t __a, uint32x2_t __b)
987 {
988   return (uint32x2_t)__builtin_neon_vmulv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
989 }
990 
991 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vmul_p8(poly8x8_t __a,poly8x8_t __b)992 vmul_p8 (poly8x8_t __a, poly8x8_t __b)
993 {
994   return (poly8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
995 }
996 
997 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vmulq_s8(int8x16_t __a,int8x16_t __b)998 vmulq_s8 (int8x16_t __a, int8x16_t __b)
999 {
1000   return (int8x16_t)__builtin_neon_vmulv16qi (__a, __b, 1);
1001 }
1002 
1003 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmulq_s16(int16x8_t __a,int16x8_t __b)1004 vmulq_s16 (int16x8_t __a, int16x8_t __b)
1005 {
1006   return (int16x8_t)__builtin_neon_vmulv8hi (__a, __b, 1);
1007 }
1008 
1009 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmulq_s32(int32x4_t __a,int32x4_t __b)1010 vmulq_s32 (int32x4_t __a, int32x4_t __b)
1011 {
1012   return (int32x4_t)__builtin_neon_vmulv4si (__a, __b, 1);
1013 }
1014 
1015 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmulq_f32(float32x4_t __a,float32x4_t __b)1016 vmulq_f32 (float32x4_t __a, float32x4_t __b)
1017 {
1018   return (float32x4_t)__builtin_neon_vmulv4sf (__a, __b, 3);
1019 }
1020 
1021 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vmulq_u8(uint8x16_t __a,uint8x16_t __b)1022 vmulq_u8 (uint8x16_t __a, uint8x16_t __b)
1023 {
1024   return (uint8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1025 }
1026 
1027 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmulq_u16(uint16x8_t __a,uint16x8_t __b)1028 vmulq_u16 (uint16x8_t __a, uint16x8_t __b)
1029 {
1030   return (uint16x8_t)__builtin_neon_vmulv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1031 }
1032 
1033 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmulq_u32(uint32x4_t __a,uint32x4_t __b)1034 vmulq_u32 (uint32x4_t __a, uint32x4_t __b)
1035 {
1036   return (uint32x4_t)__builtin_neon_vmulv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1037 }
1038 
1039 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vmulq_p8(poly8x16_t __a,poly8x16_t __b)1040 vmulq_p8 (poly8x16_t __a, poly8x16_t __b)
1041 {
1042   return (poly8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
1043 }
1044 
1045 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqdmulh_s16(int16x4_t __a,int16x4_t __b)1046 vqdmulh_s16 (int16x4_t __a, int16x4_t __b)
1047 {
1048   return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 1);
1049 }
1050 
1051 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqdmulh_s32(int32x2_t __a,int32x2_t __b)1052 vqdmulh_s32 (int32x2_t __a, int32x2_t __b)
1053 {
1054   return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 1);
1055 }
1056 
1057 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqdmulhq_s16(int16x8_t __a,int16x8_t __b)1058 vqdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1059 {
1060   return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 1);
1061 }
1062 
1063 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmulhq_s32(int32x4_t __a,int32x4_t __b)1064 vqdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1065 {
1066   return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 1);
1067 }
1068 
1069 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqrdmulh_s16(int16x4_t __a,int16x4_t __b)1070 vqrdmulh_s16 (int16x4_t __a, int16x4_t __b)
1071 {
1072   return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 5);
1073 }
1074 
1075 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqrdmulh_s32(int32x2_t __a,int32x2_t __b)1076 vqrdmulh_s32 (int32x2_t __a, int32x2_t __b)
1077 {
1078   return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 5);
1079 }
1080 
1081 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqrdmulhq_s16(int16x8_t __a,int16x8_t __b)1082 vqrdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1083 {
1084   return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 5);
1085 }
1086 
1087 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqrdmulhq_s32(int32x4_t __a,int32x4_t __b)1088 vqrdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1089 {
1090   return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 5);
1091 }
1092 
1093 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmull_s8(int8x8_t __a,int8x8_t __b)1094 vmull_s8 (int8x8_t __a, int8x8_t __b)
1095 {
1096   return (int16x8_t)__builtin_neon_vmullv8qi (__a, __b, 1);
1097 }
1098 
1099 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmull_s16(int16x4_t __a,int16x4_t __b)1100 vmull_s16 (int16x4_t __a, int16x4_t __b)
1101 {
1102   return (int32x4_t)__builtin_neon_vmullv4hi (__a, __b, 1);
1103 }
1104 
1105 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmull_s32(int32x2_t __a,int32x2_t __b)1106 vmull_s32 (int32x2_t __a, int32x2_t __b)
1107 {
1108   return (int64x2_t)__builtin_neon_vmullv2si (__a, __b, 1);
1109 }
1110 
1111 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmull_u8(uint8x8_t __a,uint8x8_t __b)1112 vmull_u8 (uint8x8_t __a, uint8x8_t __b)
1113 {
1114   return (uint16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1115 }
1116 
1117 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmull_u16(uint16x4_t __a,uint16x4_t __b)1118 vmull_u16 (uint16x4_t __a, uint16x4_t __b)
1119 {
1120   return (uint32x4_t)__builtin_neon_vmullv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1121 }
1122 
1123 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmull_u32(uint32x2_t __a,uint32x2_t __b)1124 vmull_u32 (uint32x2_t __a, uint32x2_t __b)
1125 {
1126   return (uint64x2_t)__builtin_neon_vmullv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1127 }
1128 
1129 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vmull_p8(poly8x8_t __a,poly8x8_t __b)1130 vmull_p8 (poly8x8_t __a, poly8x8_t __b)
1131 {
1132   return (poly16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
1133 }
1134 
1135 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmull_s16(int16x4_t __a,int16x4_t __b)1136 vqdmull_s16 (int16x4_t __a, int16x4_t __b)
1137 {
1138   return (int32x4_t)__builtin_neon_vqdmullv4hi (__a, __b, 1);
1139 }
1140 
1141 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmull_s32(int32x2_t __a,int32x2_t __b)1142 vqdmull_s32 (int32x2_t __a, int32x2_t __b)
1143 {
1144   return (int64x2_t)__builtin_neon_vqdmullv2si (__a, __b, 1);
1145 }
1146 
1147 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmla_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)1148 vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1149 {
1150   return (int8x8_t)__builtin_neon_vmlav8qi (__a, __b, __c, 1);
1151 }
1152 
1153 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmla_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)1154 vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1155 {
1156   return (int16x4_t)__builtin_neon_vmlav4hi (__a, __b, __c, 1);
1157 }
1158 
1159 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmla_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)1160 vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1161 {
1162   return (int32x2_t)__builtin_neon_vmlav2si (__a, __b, __c, 1);
1163 }
1164 
1165 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmla_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1166 vmla_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1167 {
1168   return (float32x2_t)__builtin_neon_vmlav2sf (__a, __b, __c, 3);
1169 }
1170 
1171 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmla_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)1172 vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1173 {
1174   return (uint8x8_t)__builtin_neon_vmlav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1175 }
1176 
1177 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmla_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)1178 vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1179 {
1180   return (uint16x4_t)__builtin_neon_vmlav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1181 }
1182 
1183 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmla_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)1184 vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1185 {
1186   return (uint32x2_t)__builtin_neon_vmlav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1187 }
1188 
1189 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vmlaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)1190 vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1191 {
1192   return (int8x16_t)__builtin_neon_vmlav16qi (__a, __b, __c, 1);
1193 }
1194 
1195 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)1196 vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1197 {
1198   return (int16x8_t)__builtin_neon_vmlav8hi (__a, __b, __c, 1);
1199 }
1200 
1201 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)1202 vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1203 {
1204   return (int32x4_t)__builtin_neon_vmlav4si (__a, __b, __c, 1);
1205 }
1206 
1207 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmlaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1208 vmlaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1209 {
1210   return (float32x4_t)__builtin_neon_vmlav4sf (__a, __b, __c, 3);
1211 }
1212 
1213 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vmlaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)1214 vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1215 {
1216   return (uint8x16_t)__builtin_neon_vmlav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
1217 }
1218 
1219 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)1220 vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1221 {
1222   return (uint16x8_t)__builtin_neon_vmlav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
1223 }
1224 
1225 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)1226 vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1227 {
1228   return (uint32x4_t)__builtin_neon_vmlav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
1229 }
1230 
1231 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)1232 vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1233 {
1234   return (int16x8_t)__builtin_neon_vmlalv8qi (__a, __b, __c, 1);
1235 }
1236 
1237 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1238 vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1239 {
1240   return (int32x4_t)__builtin_neon_vmlalv4hi (__a, __b, __c, 1);
1241 }
1242 
1243 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1244 vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1245 {
1246   return (int64x2_t)__builtin_neon_vmlalv2si (__a, __b, __c, 1);
1247 }
1248 
1249 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)1250 vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1251 {
1252   return (uint16x8_t)__builtin_neon_vmlalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1253 }
1254 
1255 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)1256 vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1257 {
1258   return (uint32x4_t)__builtin_neon_vmlalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1259 }
1260 
1261 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmlal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)1262 vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1263 {
1264   return (uint64x2_t)__builtin_neon_vmlalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1265 }
1266 
1267 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1268 vqdmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1269 {
1270   return (int32x4_t)__builtin_neon_vqdmlalv4hi (__a, __b, __c, 1);
1271 }
1272 
1273 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1274 vqdmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1275 {
1276   return (int64x2_t)__builtin_neon_vqdmlalv2si (__a, __b, __c, 1);
1277 }
1278 
1279 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmls_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)1280 vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1281 {
1282   return (int8x8_t)__builtin_neon_vmlsv8qi (__a, __b, __c, 1);
1283 }
1284 
1285 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmls_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)1286 vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1287 {
1288   return (int16x4_t)__builtin_neon_vmlsv4hi (__a, __b, __c, 1);
1289 }
1290 
1291 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmls_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)1292 vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1293 {
1294   return (int32x2_t)__builtin_neon_vmlsv2si (__a, __b, __c, 1);
1295 }
1296 
1297 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmls_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1298 vmls_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1299 {
1300   return (float32x2_t)__builtin_neon_vmlsv2sf (__a, __b, __c, 3);
1301 }
1302 
1303 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmls_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)1304 vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1305 {
1306   return (uint8x8_t)__builtin_neon_vmlsv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1307 }
1308 
1309 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmls_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)1310 vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1311 {
1312   return (uint16x4_t)__builtin_neon_vmlsv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1313 }
1314 
1315 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmls_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)1316 vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1317 {
1318   return (uint32x2_t)__builtin_neon_vmlsv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1319 }
1320 
1321 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vmlsq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)1322 vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1323 {
1324   return (int8x16_t)__builtin_neon_vmlsv16qi (__a, __b, __c, 1);
1325 }
1326 
1327 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlsq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)1328 vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1329 {
1330   return (int16x8_t)__builtin_neon_vmlsv8hi (__a, __b, __c, 1);
1331 }
1332 
1333 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlsq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)1334 vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1335 {
1336   return (int32x4_t)__builtin_neon_vmlsv4si (__a, __b, __c, 1);
1337 }
1338 
1339 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmlsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1340 vmlsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1341 {
1342   return (float32x4_t)__builtin_neon_vmlsv4sf (__a, __b, __c, 3);
1343 }
1344 
1345 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vmlsq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)1346 vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1347 {
1348   return (uint8x16_t)__builtin_neon_vmlsv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
1349 }
1350 
1351 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlsq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)1352 vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1353 {
1354   return (uint16x8_t)__builtin_neon_vmlsv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
1355 }
1356 
1357 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlsq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)1358 vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1359 {
1360   return (uint32x4_t)__builtin_neon_vmlsv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
1361 }
1362 
1363 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlsl_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)1364 vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1365 {
1366   return (int16x8_t)__builtin_neon_vmlslv8qi (__a, __b, __c, 1);
1367 }
1368 
1369 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1370 vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1371 {
1372   return (int32x4_t)__builtin_neon_vmlslv4hi (__a, __b, __c, 1);
1373 }
1374 
1375 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1376 vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1377 {
1378   return (int64x2_t)__builtin_neon_vmlslv2si (__a, __b, __c, 1);
1379 }
1380 
1381 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlsl_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)1382 vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1383 {
1384   return (uint16x8_t)__builtin_neon_vmlslv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1385 }
1386 
1387 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlsl_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)1388 vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1389 {
1390   return (uint32x4_t)__builtin_neon_vmlslv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1391 }
1392 
1393 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmlsl_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)1394 vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1395 {
1396   return (uint64x2_t)__builtin_neon_vmlslv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1397 }
1398 
1399 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1400 vqdmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1401 {
1402   return (int32x4_t)__builtin_neon_vqdmlslv4hi (__a, __b, __c, 1);
1403 }
1404 
1405 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1406 vqdmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1407 {
1408   return (int64x2_t)__builtin_neon_vqdmlslv2si (__a, __b, __c, 1);
1409 }
1410 
1411 #ifdef __ARM_FEATURE_FMA
1412 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vfma_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1413 vfma_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1414 {
1415   return (float32x2_t)__builtin_neon_vfmav2sf (__a, __b, __c, 3);
1416 }
1417 
1418 #endif
1419 #ifdef __ARM_FEATURE_FMA
1420 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vfmaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1421 vfmaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1422 {
1423   return (float32x4_t)__builtin_neon_vfmav4sf (__a, __b, __c, 3);
1424 }
1425 
1426 #endif
1427 #ifdef __ARM_FEATURE_FMA
1428 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vfms_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1429 vfms_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1430 {
1431   return (float32x2_t)__builtin_neon_vfmsv2sf (__a, __b, __c, 3);
1432 }
1433 
1434 #endif
1435 #ifdef __ARM_FEATURE_FMA
1436 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vfmsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1437 vfmsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1438 {
1439   return (float32x4_t)__builtin_neon_vfmsv4sf (__a, __b, __c, 3);
1440 }
1441 
1442 #endif
1443 #if __ARM_ARCH >= 8
1444 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrndn_f32(float32x2_t __a)1445 vrndn_f32 (float32x2_t __a)
1446 {
1447   return (float32x2_t)__builtin_neon_vrintnv2sf (__a);
1448 }
1449 
1450 #endif
1451 #if __ARM_ARCH >= 8
1452 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrndqn_f32(float32x4_t __a)1453 vrndqn_f32 (float32x4_t __a)
1454 {
1455   return (float32x4_t)__builtin_neon_vrintnv4sf (__a);
1456 }
1457 
1458 #endif
1459 #if __ARM_ARCH >= 8
1460 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrnda_f32(float32x2_t __a)1461 vrnda_f32 (float32x2_t __a)
1462 {
1463   return (float32x2_t)__builtin_neon_vrintav2sf (__a);
1464 }
1465 
1466 #endif
1467 #if __ARM_ARCH >= 8
1468 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrndqa_f32(float32x4_t __a)1469 vrndqa_f32 (float32x4_t __a)
1470 {
1471   return (float32x4_t)__builtin_neon_vrintav4sf (__a);
1472 }
1473 
1474 #endif
1475 #if __ARM_ARCH >= 8
1476 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrndp_f32(float32x2_t __a)1477 vrndp_f32 (float32x2_t __a)
1478 {
1479   return (float32x2_t)__builtin_neon_vrintpv2sf (__a);
1480 }
1481 
1482 #endif
1483 #if __ARM_ARCH >= 8
1484 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrndqp_f32(float32x4_t __a)1485 vrndqp_f32 (float32x4_t __a)
1486 {
1487   return (float32x4_t)__builtin_neon_vrintpv4sf (__a);
1488 }
1489 
1490 #endif
1491 #if __ARM_ARCH >= 8
1492 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrndm_f32(float32x2_t __a)1493 vrndm_f32 (float32x2_t __a)
1494 {
1495   return (float32x2_t)__builtin_neon_vrintmv2sf (__a);
1496 }
1497 
1498 #endif
1499 #if __ARM_ARCH >= 8
1500 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrndqm_f32(float32x4_t __a)1501 vrndqm_f32 (float32x4_t __a)
1502 {
1503   return (float32x4_t)__builtin_neon_vrintmv4sf (__a);
1504 }
1505 
1506 #endif
1507 #if __ARM_ARCH >= 8
1508 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrnd_f32(float32x2_t __a)1509 vrnd_f32 (float32x2_t __a)
1510 {
1511   return (float32x2_t)__builtin_neon_vrintzv2sf (__a);
1512 }
1513 
1514 #endif
1515 #if __ARM_ARCH >= 8
1516 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrndq_f32(float32x4_t __a)1517 vrndq_f32 (float32x4_t __a)
1518 {
1519   return (float32x4_t)__builtin_neon_vrintzv4sf (__a);
1520 }
1521 
1522 #endif
1523 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vsub_s8(int8x8_t __a,int8x8_t __b)1524 vsub_s8 (int8x8_t __a, int8x8_t __b)
1525 {
1526   return (int8x8_t)__builtin_neon_vsubv8qi (__a, __b, 1);
1527 }
1528 
1529 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vsub_s16(int16x4_t __a,int16x4_t __b)1530 vsub_s16 (int16x4_t __a, int16x4_t __b)
1531 {
1532   return (int16x4_t)__builtin_neon_vsubv4hi (__a, __b, 1);
1533 }
1534 
1535 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vsub_s32(int32x2_t __a,int32x2_t __b)1536 vsub_s32 (int32x2_t __a, int32x2_t __b)
1537 {
1538   return (int32x2_t)__builtin_neon_vsubv2si (__a, __b, 1);
1539 }
1540 
1541 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vsub_f32(float32x2_t __a,float32x2_t __b)1542 vsub_f32 (float32x2_t __a, float32x2_t __b)
1543 {
1544   return (float32x2_t)__builtin_neon_vsubv2sf (__a, __b, 3);
1545 }
1546 
1547 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vsub_u8(uint8x8_t __a,uint8x8_t __b)1548 vsub_u8 (uint8x8_t __a, uint8x8_t __b)
1549 {
1550   return (uint8x8_t)__builtin_neon_vsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1551 }
1552 
1553 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vsub_u16(uint16x4_t __a,uint16x4_t __b)1554 vsub_u16 (uint16x4_t __a, uint16x4_t __b)
1555 {
1556   return (uint16x4_t)__builtin_neon_vsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1557 }
1558 
1559 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vsub_u32(uint32x2_t __a,uint32x2_t __b)1560 vsub_u32 (uint32x2_t __a, uint32x2_t __b)
1561 {
1562   return (uint32x2_t)__builtin_neon_vsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1563 }
1564 
1565 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vsub_s64(int64x1_t __a,int64x1_t __b)1566 vsub_s64 (int64x1_t __a, int64x1_t __b)
1567 {
1568   return (int64x1_t)__builtin_neon_vsubdi (__a, __b, 1);
1569 }
1570 
1571 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vsub_u64(uint64x1_t __a,uint64x1_t __b)1572 vsub_u64 (uint64x1_t __a, uint64x1_t __b)
1573 {
1574   return (uint64x1_t)__builtin_neon_vsubdi ((int64x1_t) __a, (int64x1_t) __b, 0);
1575 }
1576 
1577 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vsubq_s8(int8x16_t __a,int8x16_t __b)1578 vsubq_s8 (int8x16_t __a, int8x16_t __b)
1579 {
1580   return (int8x16_t)__builtin_neon_vsubv16qi (__a, __b, 1);
1581 }
1582 
1583 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsubq_s16(int16x8_t __a,int16x8_t __b)1584 vsubq_s16 (int16x8_t __a, int16x8_t __b)
1585 {
1586   return (int16x8_t)__builtin_neon_vsubv8hi (__a, __b, 1);
1587 }
1588 
1589 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsubq_s32(int32x4_t __a,int32x4_t __b)1590 vsubq_s32 (int32x4_t __a, int32x4_t __b)
1591 {
1592   return (int32x4_t)__builtin_neon_vsubv4si (__a, __b, 1);
1593 }
1594 
1595 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsubq_s64(int64x2_t __a,int64x2_t __b)1596 vsubq_s64 (int64x2_t __a, int64x2_t __b)
1597 {
1598   return (int64x2_t)__builtin_neon_vsubv2di (__a, __b, 1);
1599 }
1600 
1601 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vsubq_f32(float32x4_t __a,float32x4_t __b)1602 vsubq_f32 (float32x4_t __a, float32x4_t __b)
1603 {
1604   return (float32x4_t)__builtin_neon_vsubv4sf (__a, __b, 3);
1605 }
1606 
1607 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vsubq_u8(uint8x16_t __a,uint8x16_t __b)1608 vsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1609 {
1610   return (uint8x16_t)__builtin_neon_vsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1611 }
1612 
1613 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsubq_u16(uint16x8_t __a,uint16x8_t __b)1614 vsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1615 {
1616   return (uint16x8_t)__builtin_neon_vsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1617 }
1618 
1619 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsubq_u32(uint32x4_t __a,uint32x4_t __b)1620 vsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1621 {
1622   return (uint32x4_t)__builtin_neon_vsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1623 }
1624 
1625 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsubq_u64(uint64x2_t __a,uint64x2_t __b)1626 vsubq_u64 (uint64x2_t __a, uint64x2_t __b)
1627 {
1628   return (uint64x2_t)__builtin_neon_vsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1629 }
1630 
1631 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsubl_s8(int8x8_t __a,int8x8_t __b)1632 vsubl_s8 (int8x8_t __a, int8x8_t __b)
1633 {
1634   return (int16x8_t)__builtin_neon_vsublv8qi (__a, __b, 1);
1635 }
1636 
1637 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsubl_s16(int16x4_t __a,int16x4_t __b)1638 vsubl_s16 (int16x4_t __a, int16x4_t __b)
1639 {
1640   return (int32x4_t)__builtin_neon_vsublv4hi (__a, __b, 1);
1641 }
1642 
1643 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsubl_s32(int32x2_t __a,int32x2_t __b)1644 vsubl_s32 (int32x2_t __a, int32x2_t __b)
1645 {
1646   return (int64x2_t)__builtin_neon_vsublv2si (__a, __b, 1);
1647 }
1648 
1649 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsubl_u8(uint8x8_t __a,uint8x8_t __b)1650 vsubl_u8 (uint8x8_t __a, uint8x8_t __b)
1651 {
1652   return (uint16x8_t)__builtin_neon_vsublv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1653 }
1654 
1655 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsubl_u16(uint16x4_t __a,uint16x4_t __b)1656 vsubl_u16 (uint16x4_t __a, uint16x4_t __b)
1657 {
1658   return (uint32x4_t)__builtin_neon_vsublv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1659 }
1660 
1661 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsubl_u32(uint32x2_t __a,uint32x2_t __b)1662 vsubl_u32 (uint32x2_t __a, uint32x2_t __b)
1663 {
1664   return (uint64x2_t)__builtin_neon_vsublv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1665 }
1666 
1667 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsubw_s8(int16x8_t __a,int8x8_t __b)1668 vsubw_s8 (int16x8_t __a, int8x8_t __b)
1669 {
1670   return (int16x8_t)__builtin_neon_vsubwv8qi (__a, __b, 1);
1671 }
1672 
1673 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsubw_s16(int32x4_t __a,int16x4_t __b)1674 vsubw_s16 (int32x4_t __a, int16x4_t __b)
1675 {
1676   return (int32x4_t)__builtin_neon_vsubwv4hi (__a, __b, 1);
1677 }
1678 
1679 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsubw_s32(int64x2_t __a,int32x2_t __b)1680 vsubw_s32 (int64x2_t __a, int32x2_t __b)
1681 {
1682   return (int64x2_t)__builtin_neon_vsubwv2si (__a, __b, 1);
1683 }
1684 
1685 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsubw_u8(uint16x8_t __a,uint8x8_t __b)1686 vsubw_u8 (uint16x8_t __a, uint8x8_t __b)
1687 {
1688   return (uint16x8_t)__builtin_neon_vsubwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0);
1689 }
1690 
1691 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsubw_u16(uint32x4_t __a,uint16x4_t __b)1692 vsubw_u16 (uint32x4_t __a, uint16x4_t __b)
1693 {
1694   return (uint32x4_t)__builtin_neon_vsubwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0);
1695 }
1696 
1697 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsubw_u32(uint64x2_t __a,uint32x2_t __b)1698 vsubw_u32 (uint64x2_t __a, uint32x2_t __b)
1699 {
1700   return (uint64x2_t)__builtin_neon_vsubwv2si ((int64x2_t) __a, (int32x2_t) __b, 0);
1701 }
1702 
1703 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vhsub_s8(int8x8_t __a,int8x8_t __b)1704 vhsub_s8 (int8x8_t __a, int8x8_t __b)
1705 {
1706   return (int8x8_t)__builtin_neon_vhsubv8qi (__a, __b, 1);
1707 }
1708 
1709 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vhsub_s16(int16x4_t __a,int16x4_t __b)1710 vhsub_s16 (int16x4_t __a, int16x4_t __b)
1711 {
1712   return (int16x4_t)__builtin_neon_vhsubv4hi (__a, __b, 1);
1713 }
1714 
1715 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vhsub_s32(int32x2_t __a,int32x2_t __b)1716 vhsub_s32 (int32x2_t __a, int32x2_t __b)
1717 {
1718   return (int32x2_t)__builtin_neon_vhsubv2si (__a, __b, 1);
1719 }
1720 
1721 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vhsub_u8(uint8x8_t __a,uint8x8_t __b)1722 vhsub_u8 (uint8x8_t __a, uint8x8_t __b)
1723 {
1724   return (uint8x8_t)__builtin_neon_vhsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1725 }
1726 
1727 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vhsub_u16(uint16x4_t __a,uint16x4_t __b)1728 vhsub_u16 (uint16x4_t __a, uint16x4_t __b)
1729 {
1730   return (uint16x4_t)__builtin_neon_vhsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1731 }
1732 
1733 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vhsub_u32(uint32x2_t __a,uint32x2_t __b)1734 vhsub_u32 (uint32x2_t __a, uint32x2_t __b)
1735 {
1736   return (uint32x2_t)__builtin_neon_vhsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1737 }
1738 
1739 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vhsubq_s8(int8x16_t __a,int8x16_t __b)1740 vhsubq_s8 (int8x16_t __a, int8x16_t __b)
1741 {
1742   return (int8x16_t)__builtin_neon_vhsubv16qi (__a, __b, 1);
1743 }
1744 
1745 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vhsubq_s16(int16x8_t __a,int16x8_t __b)1746 vhsubq_s16 (int16x8_t __a, int16x8_t __b)
1747 {
1748   return (int16x8_t)__builtin_neon_vhsubv8hi (__a, __b, 1);
1749 }
1750 
1751 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vhsubq_s32(int32x4_t __a,int32x4_t __b)1752 vhsubq_s32 (int32x4_t __a, int32x4_t __b)
1753 {
1754   return (int32x4_t)__builtin_neon_vhsubv4si (__a, __b, 1);
1755 }
1756 
1757 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vhsubq_u8(uint8x16_t __a,uint8x16_t __b)1758 vhsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1759 {
1760   return (uint8x16_t)__builtin_neon_vhsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1761 }
1762 
1763 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vhsubq_u16(uint16x8_t __a,uint16x8_t __b)1764 vhsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1765 {
1766   return (uint16x8_t)__builtin_neon_vhsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1767 }
1768 
1769 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vhsubq_u32(uint32x4_t __a,uint32x4_t __b)1770 vhsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1771 {
1772   return (uint32x4_t)__builtin_neon_vhsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1773 }
1774 
1775 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqsub_s8(int8x8_t __a,int8x8_t __b)1776 vqsub_s8 (int8x8_t __a, int8x8_t __b)
1777 {
1778   return (int8x8_t)__builtin_neon_vqsubv8qi (__a, __b, 1);
1779 }
1780 
1781 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqsub_s16(int16x4_t __a,int16x4_t __b)1782 vqsub_s16 (int16x4_t __a, int16x4_t __b)
1783 {
1784   return (int16x4_t)__builtin_neon_vqsubv4hi (__a, __b, 1);
1785 }
1786 
1787 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqsub_s32(int32x2_t __a,int32x2_t __b)1788 vqsub_s32 (int32x2_t __a, int32x2_t __b)
1789 {
1790   return (int32x2_t)__builtin_neon_vqsubv2si (__a, __b, 1);
1791 }
1792 
1793 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vqsub_s64(int64x1_t __a,int64x1_t __b)1794 vqsub_s64 (int64x1_t __a, int64x1_t __b)
1795 {
1796   return (int64x1_t)__builtin_neon_vqsubdi (__a, __b, 1);
1797 }
1798 
1799 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqsub_u8(uint8x8_t __a,uint8x8_t __b)1800 vqsub_u8 (uint8x8_t __a, uint8x8_t __b)
1801 {
1802   return (uint8x8_t)__builtin_neon_vqsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1803 }
1804 
1805 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqsub_u16(uint16x4_t __a,uint16x4_t __b)1806 vqsub_u16 (uint16x4_t __a, uint16x4_t __b)
1807 {
1808   return (uint16x4_t)__builtin_neon_vqsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1809 }
1810 
1811 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqsub_u32(uint32x2_t __a,uint32x2_t __b)1812 vqsub_u32 (uint32x2_t __a, uint32x2_t __b)
1813 {
1814   return (uint32x2_t)__builtin_neon_vqsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1815 }
1816 
1817 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vqsub_u64(uint64x1_t __a,uint64x1_t __b)1818 vqsub_u64 (uint64x1_t __a, uint64x1_t __b)
1819 {
1820   return (uint64x1_t)__builtin_neon_vqsubdi ((int64x1_t) __a, (int64x1_t) __b, 0);
1821 }
1822 
1823 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqsubq_s8(int8x16_t __a,int8x16_t __b)1824 vqsubq_s8 (int8x16_t __a, int8x16_t __b)
1825 {
1826   return (int8x16_t)__builtin_neon_vqsubv16qi (__a, __b, 1);
1827 }
1828 
1829 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqsubq_s16(int16x8_t __a,int16x8_t __b)1830 vqsubq_s16 (int16x8_t __a, int16x8_t __b)
1831 {
1832   return (int16x8_t)__builtin_neon_vqsubv8hi (__a, __b, 1);
1833 }
1834 
1835 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqsubq_s32(int32x4_t __a,int32x4_t __b)1836 vqsubq_s32 (int32x4_t __a, int32x4_t __b)
1837 {
1838   return (int32x4_t)__builtin_neon_vqsubv4si (__a, __b, 1);
1839 }
1840 
1841 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqsubq_s64(int64x2_t __a,int64x2_t __b)1842 vqsubq_s64 (int64x2_t __a, int64x2_t __b)
1843 {
1844   return (int64x2_t)__builtin_neon_vqsubv2di (__a, __b, 1);
1845 }
1846 
1847 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vqsubq_u8(uint8x16_t __a,uint8x16_t __b)1848 vqsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1849 {
1850   return (uint8x16_t)__builtin_neon_vqsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1851 }
1852 
1853 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vqsubq_u16(uint16x8_t __a,uint16x8_t __b)1854 vqsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1855 {
1856   return (uint16x8_t)__builtin_neon_vqsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1857 }
1858 
1859 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vqsubq_u32(uint32x4_t __a,uint32x4_t __b)1860 vqsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1861 {
1862   return (uint32x4_t)__builtin_neon_vqsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1863 }
1864 
1865 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vqsubq_u64(uint64x2_t __a,uint64x2_t __b)1866 vqsubq_u64 (uint64x2_t __a, uint64x2_t __b)
1867 {
1868   return (uint64x2_t)__builtin_neon_vqsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1869 }
1870 
1871 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vsubhn_s16(int16x8_t __a,int16x8_t __b)1872 vsubhn_s16 (int16x8_t __a, int16x8_t __b)
1873 {
1874   return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 1);
1875 }
1876 
1877 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vsubhn_s32(int32x4_t __a,int32x4_t __b)1878 vsubhn_s32 (int32x4_t __a, int32x4_t __b)
1879 {
1880   return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 1);
1881 }
1882 
1883 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vsubhn_s64(int64x2_t __a,int64x2_t __b)1884 vsubhn_s64 (int64x2_t __a, int64x2_t __b)
1885 {
1886   return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 1);
1887 }
1888 
1889 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vsubhn_u16(uint16x8_t __a,uint16x8_t __b)1890 vsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
1891 {
1892   return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1893 }
1894 
1895 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vsubhn_u32(uint32x4_t __a,uint32x4_t __b)1896 vsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
1897 {
1898   return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1899 }
1900 
1901 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vsubhn_u64(uint64x2_t __a,uint64x2_t __b)1902 vsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
1903 {
1904   return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1905 }
1906 
1907 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrsubhn_s16(int16x8_t __a,int16x8_t __b)1908 vrsubhn_s16 (int16x8_t __a, int16x8_t __b)
1909 {
1910   return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 5);
1911 }
1912 
1913 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrsubhn_s32(int32x4_t __a,int32x4_t __b)1914 vrsubhn_s32 (int32x4_t __a, int32x4_t __b)
1915 {
1916   return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 5);
1917 }
1918 
1919 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrsubhn_s64(int64x2_t __a,int64x2_t __b)1920 vrsubhn_s64 (int64x2_t __a, int64x2_t __b)
1921 {
1922   return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 5);
1923 }
1924 
1925 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrsubhn_u16(uint16x8_t __a,uint16x8_t __b)1926 vrsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
1927 {
1928   return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
1929 }
1930 
1931 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrsubhn_u32(uint32x4_t __a,uint32x4_t __b)1932 vrsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
1933 {
1934   return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
1935 }
1936 
1937 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrsubhn_u64(uint64x2_t __a,uint64x2_t __b)1938 vrsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
1939 {
1940   return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4);
1941 }
1942 
1943 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vceq_s8(int8x8_t __a,int8x8_t __b)1944 vceq_s8 (int8x8_t __a, int8x8_t __b)
1945 {
1946   return (uint8x8_t)__builtin_neon_vceqv8qi (__a, __b, 1);
1947 }
1948 
1949 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vceq_s16(int16x4_t __a,int16x4_t __b)1950 vceq_s16 (int16x4_t __a, int16x4_t __b)
1951 {
1952   return (uint16x4_t)__builtin_neon_vceqv4hi (__a, __b, 1);
1953 }
1954 
1955 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vceq_s32(int32x2_t __a,int32x2_t __b)1956 vceq_s32 (int32x2_t __a, int32x2_t __b)
1957 {
1958   return (uint32x2_t)__builtin_neon_vceqv2si (__a, __b, 1);
1959 }
1960 
1961 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vceq_f32(float32x2_t __a,float32x2_t __b)1962 vceq_f32 (float32x2_t __a, float32x2_t __b)
1963 {
1964   return (uint32x2_t)__builtin_neon_vceqv2sf (__a, __b, 3);
1965 }
1966 
1967 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vceq_u8(uint8x8_t __a,uint8x8_t __b)1968 vceq_u8 (uint8x8_t __a, uint8x8_t __b)
1969 {
1970   return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1971 }
1972 
1973 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vceq_u16(uint16x4_t __a,uint16x4_t __b)1974 vceq_u16 (uint16x4_t __a, uint16x4_t __b)
1975 {
1976   return (uint16x4_t)__builtin_neon_vceqv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1977 }
1978 
1979 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vceq_u32(uint32x2_t __a,uint32x2_t __b)1980 vceq_u32 (uint32x2_t __a, uint32x2_t __b)
1981 {
1982   return (uint32x2_t)__builtin_neon_vceqv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1983 }
1984 
1985 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vceq_p8(poly8x8_t __a,poly8x8_t __b)1986 vceq_p8 (poly8x8_t __a, poly8x8_t __b)
1987 {
1988   return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
1989 }
1990 
1991 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vceqq_s8(int8x16_t __a,int8x16_t __b)1992 vceqq_s8 (int8x16_t __a, int8x16_t __b)
1993 {
1994   return (uint8x16_t)__builtin_neon_vceqv16qi (__a, __b, 1);
1995 }
1996 
1997 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vceqq_s16(int16x8_t __a,int16x8_t __b)1998 vceqq_s16 (int16x8_t __a, int16x8_t __b)
1999 {
2000   return (uint16x8_t)__builtin_neon_vceqv8hi (__a, __b, 1);
2001 }
2002 
2003 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vceqq_s32(int32x4_t __a,int32x4_t __b)2004 vceqq_s32 (int32x4_t __a, int32x4_t __b)
2005 {
2006   return (uint32x4_t)__builtin_neon_vceqv4si (__a, __b, 1);
2007 }
2008 
2009 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vceqq_f32(float32x4_t __a,float32x4_t __b)2010 vceqq_f32 (float32x4_t __a, float32x4_t __b)
2011 {
2012   return (uint32x4_t)__builtin_neon_vceqv4sf (__a, __b, 3);
2013 }
2014 
2015 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vceqq_u8(uint8x16_t __a,uint8x16_t __b)2016 vceqq_u8 (uint8x16_t __a, uint8x16_t __b)
2017 {
2018   return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2019 }
2020 
2021 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vceqq_u16(uint16x8_t __a,uint16x8_t __b)2022 vceqq_u16 (uint16x8_t __a, uint16x8_t __b)
2023 {
2024   return (uint16x8_t)__builtin_neon_vceqv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2025 }
2026 
2027 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vceqq_u32(uint32x4_t __a,uint32x4_t __b)2028 vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
2029 {
2030   return (uint32x4_t)__builtin_neon_vceqv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2031 }
2032 
2033 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vceqq_p8(poly8x16_t __a,poly8x16_t __b)2034 vceqq_p8 (poly8x16_t __a, poly8x16_t __b)
2035 {
2036   return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
2037 }
2038 
2039 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcge_s8(int8x8_t __a,int8x8_t __b)2040 vcge_s8 (int8x8_t __a, int8x8_t __b)
2041 {
2042   return (uint8x8_t)__builtin_neon_vcgev8qi (__a, __b, 1);
2043 }
2044 
2045 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcge_s16(int16x4_t __a,int16x4_t __b)2046 vcge_s16 (int16x4_t __a, int16x4_t __b)
2047 {
2048   return (uint16x4_t)__builtin_neon_vcgev4hi (__a, __b, 1);
2049 }
2050 
2051 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcge_s32(int32x2_t __a,int32x2_t __b)2052 vcge_s32 (int32x2_t __a, int32x2_t __b)
2053 {
2054   return (uint32x2_t)__builtin_neon_vcgev2si (__a, __b, 1);
2055 }
2056 
2057 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcge_f32(float32x2_t __a,float32x2_t __b)2058 vcge_f32 (float32x2_t __a, float32x2_t __b)
2059 {
2060   return (uint32x2_t)__builtin_neon_vcgev2sf (__a, __b, 3);
2061 }
2062 
2063 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcge_u8(uint8x8_t __a,uint8x8_t __b)2064 vcge_u8 (uint8x8_t __a, uint8x8_t __b)
2065 {
2066   return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2067 }
2068 
2069 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcge_u16(uint16x4_t __a,uint16x4_t __b)2070 vcge_u16 (uint16x4_t __a, uint16x4_t __b)
2071 {
2072   return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2073 }
2074 
2075 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcge_u32(uint32x2_t __a,uint32x2_t __b)2076 vcge_u32 (uint32x2_t __a, uint32x2_t __b)
2077 {
2078   return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2079 }
2080 
2081 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcgeq_s8(int8x16_t __a,int8x16_t __b)2082 vcgeq_s8 (int8x16_t __a, int8x16_t __b)
2083 {
2084   return (uint8x16_t)__builtin_neon_vcgev16qi (__a, __b, 1);
2085 }
2086 
2087 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcgeq_s16(int16x8_t __a,int16x8_t __b)2088 vcgeq_s16 (int16x8_t __a, int16x8_t __b)
2089 {
2090   return (uint16x8_t)__builtin_neon_vcgev8hi (__a, __b, 1);
2091 }
2092 
2093 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcgeq_s32(int32x4_t __a,int32x4_t __b)2094 vcgeq_s32 (int32x4_t __a, int32x4_t __b)
2095 {
2096   return (uint32x4_t)__builtin_neon_vcgev4si (__a, __b, 1);
2097 }
2098 
2099 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcgeq_f32(float32x4_t __a,float32x4_t __b)2100 vcgeq_f32 (float32x4_t __a, float32x4_t __b)
2101 {
2102   return (uint32x4_t)__builtin_neon_vcgev4sf (__a, __b, 3);
2103 }
2104 
2105 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcgeq_u8(uint8x16_t __a,uint8x16_t __b)2106 vcgeq_u8 (uint8x16_t __a, uint8x16_t __b)
2107 {
2108   return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2109 }
2110 
2111 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcgeq_u16(uint16x8_t __a,uint16x8_t __b)2112 vcgeq_u16 (uint16x8_t __a, uint16x8_t __b)
2113 {
2114   return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2115 }
2116 
2117 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcgeq_u32(uint32x4_t __a,uint32x4_t __b)2118 vcgeq_u32 (uint32x4_t __a, uint32x4_t __b)
2119 {
2120   return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2121 }
2122 
2123 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcle_s8(int8x8_t __a,int8x8_t __b)2124 vcle_s8 (int8x8_t __a, int8x8_t __b)
2125 {
2126   return (uint8x8_t)__builtin_neon_vcgev8qi (__b, __a, 1);
2127 }
2128 
2129 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcle_s16(int16x4_t __a,int16x4_t __b)2130 vcle_s16 (int16x4_t __a, int16x4_t __b)
2131 {
2132   return (uint16x4_t)__builtin_neon_vcgev4hi (__b, __a, 1);
2133 }
2134 
2135 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcle_s32(int32x2_t __a,int32x2_t __b)2136 vcle_s32 (int32x2_t __a, int32x2_t __b)
2137 {
2138   return (uint32x2_t)__builtin_neon_vcgev2si (__b, __a, 1);
2139 }
2140 
2141 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcle_f32(float32x2_t __a,float32x2_t __b)2142 vcle_f32 (float32x2_t __a, float32x2_t __b)
2143 {
2144   return (uint32x2_t)__builtin_neon_vcgev2sf (__b, __a, 3);
2145 }
2146 
2147 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcle_u8(uint8x8_t __a,uint8x8_t __b)2148 vcle_u8 (uint8x8_t __a, uint8x8_t __b)
2149 {
2150   return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __b, (int8x8_t) __a, 0);
2151 }
2152 
2153 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcle_u16(uint16x4_t __a,uint16x4_t __b)2154 vcle_u16 (uint16x4_t __a, uint16x4_t __b)
2155 {
2156   return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __b, (int16x4_t) __a, 0);
2157 }
2158 
2159 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcle_u32(uint32x2_t __a,uint32x2_t __b)2160 vcle_u32 (uint32x2_t __a, uint32x2_t __b)
2161 {
2162   return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __b, (int32x2_t) __a, 0);
2163 }
2164 
2165 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcleq_s8(int8x16_t __a,int8x16_t __b)2166 vcleq_s8 (int8x16_t __a, int8x16_t __b)
2167 {
2168   return (uint8x16_t)__builtin_neon_vcgev16qi (__b, __a, 1);
2169 }
2170 
2171 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcleq_s16(int16x8_t __a,int16x8_t __b)2172 vcleq_s16 (int16x8_t __a, int16x8_t __b)
2173 {
2174   return (uint16x8_t)__builtin_neon_vcgev8hi (__b, __a, 1);
2175 }
2176 
2177 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcleq_s32(int32x4_t __a,int32x4_t __b)2178 vcleq_s32 (int32x4_t __a, int32x4_t __b)
2179 {
2180   return (uint32x4_t)__builtin_neon_vcgev4si (__b, __a, 1);
2181 }
2182 
2183 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcleq_f32(float32x4_t __a,float32x4_t __b)2184 vcleq_f32 (float32x4_t __a, float32x4_t __b)
2185 {
2186   return (uint32x4_t)__builtin_neon_vcgev4sf (__b, __a, 3);
2187 }
2188 
2189 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcleq_u8(uint8x16_t __a,uint8x16_t __b)2190 vcleq_u8 (uint8x16_t __a, uint8x16_t __b)
2191 {
2192   return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __b, (int8x16_t) __a, 0);
2193 }
2194 
2195 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcleq_u16(uint16x8_t __a,uint16x8_t __b)2196 vcleq_u16 (uint16x8_t __a, uint16x8_t __b)
2197 {
2198   return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __b, (int16x8_t) __a, 0);
2199 }
2200 
2201 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcleq_u32(uint32x4_t __a,uint32x4_t __b)2202 vcleq_u32 (uint32x4_t __a, uint32x4_t __b)
2203 {
2204   return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __b, (int32x4_t) __a, 0);
2205 }
2206 
2207 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcgt_s8(int8x8_t __a,int8x8_t __b)2208 vcgt_s8 (int8x8_t __a, int8x8_t __b)
2209 {
2210   return (uint8x8_t)__builtin_neon_vcgtv8qi (__a, __b, 1);
2211 }
2212 
2213 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcgt_s16(int16x4_t __a,int16x4_t __b)2214 vcgt_s16 (int16x4_t __a, int16x4_t __b)
2215 {
2216   return (uint16x4_t)__builtin_neon_vcgtv4hi (__a, __b, 1);
2217 }
2218 
2219 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcgt_s32(int32x2_t __a,int32x2_t __b)2220 vcgt_s32 (int32x2_t __a, int32x2_t __b)
2221 {
2222   return (uint32x2_t)__builtin_neon_vcgtv2si (__a, __b, 1);
2223 }
2224 
2225 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcgt_f32(float32x2_t __a,float32x2_t __b)2226 vcgt_f32 (float32x2_t __a, float32x2_t __b)
2227 {
2228   return (uint32x2_t)__builtin_neon_vcgtv2sf (__a, __b, 3);
2229 }
2230 
2231 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcgt_u8(uint8x8_t __a,uint8x8_t __b)2232 vcgt_u8 (uint8x8_t __a, uint8x8_t __b)
2233 {
2234   return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2235 }
2236 
2237 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcgt_u16(uint16x4_t __a,uint16x4_t __b)2238 vcgt_u16 (uint16x4_t __a, uint16x4_t __b)
2239 {
2240   return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2241 }
2242 
2243 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcgt_u32(uint32x2_t __a,uint32x2_t __b)2244 vcgt_u32 (uint32x2_t __a, uint32x2_t __b)
2245 {
2246   return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2247 }
2248 
2249 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcgtq_s8(int8x16_t __a,int8x16_t __b)2250 vcgtq_s8 (int8x16_t __a, int8x16_t __b)
2251 {
2252   return (uint8x16_t)__builtin_neon_vcgtv16qi (__a, __b, 1);
2253 }
2254 
2255 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcgtq_s16(int16x8_t __a,int16x8_t __b)2256 vcgtq_s16 (int16x8_t __a, int16x8_t __b)
2257 {
2258   return (uint16x8_t)__builtin_neon_vcgtv8hi (__a, __b, 1);
2259 }
2260 
2261 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcgtq_s32(int32x4_t __a,int32x4_t __b)2262 vcgtq_s32 (int32x4_t __a, int32x4_t __b)
2263 {
2264   return (uint32x4_t)__builtin_neon_vcgtv4si (__a, __b, 1);
2265 }
2266 
2267 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcgtq_f32(float32x4_t __a,float32x4_t __b)2268 vcgtq_f32 (float32x4_t __a, float32x4_t __b)
2269 {
2270   return (uint32x4_t)__builtin_neon_vcgtv4sf (__a, __b, 3);
2271 }
2272 
2273 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcgtq_u8(uint8x16_t __a,uint8x16_t __b)2274 vcgtq_u8 (uint8x16_t __a, uint8x16_t __b)
2275 {
2276   return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2277 }
2278 
2279 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcgtq_u16(uint16x8_t __a,uint16x8_t __b)2280 vcgtq_u16 (uint16x8_t __a, uint16x8_t __b)
2281 {
2282   return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2283 }
2284 
2285 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcgtq_u32(uint32x4_t __a,uint32x4_t __b)2286 vcgtq_u32 (uint32x4_t __a, uint32x4_t __b)
2287 {
2288   return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2289 }
2290 
2291 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vclt_s8(int8x8_t __a,int8x8_t __b)2292 vclt_s8 (int8x8_t __a, int8x8_t __b)
2293 {
2294   return (uint8x8_t)__builtin_neon_vcgtv8qi (__b, __a, 1);
2295 }
2296 
2297 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vclt_s16(int16x4_t __a,int16x4_t __b)2298 vclt_s16 (int16x4_t __a, int16x4_t __b)
2299 {
2300   return (uint16x4_t)__builtin_neon_vcgtv4hi (__b, __a, 1);
2301 }
2302 
2303 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vclt_s32(int32x2_t __a,int32x2_t __b)2304 vclt_s32 (int32x2_t __a, int32x2_t __b)
2305 {
2306   return (uint32x2_t)__builtin_neon_vcgtv2si (__b, __a, 1);
2307 }
2308 
2309 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vclt_f32(float32x2_t __a,float32x2_t __b)2310 vclt_f32 (float32x2_t __a, float32x2_t __b)
2311 {
2312   return (uint32x2_t)__builtin_neon_vcgtv2sf (__b, __a, 3);
2313 }
2314 
2315 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vclt_u8(uint8x8_t __a,uint8x8_t __b)2316 vclt_u8 (uint8x8_t __a, uint8x8_t __b)
2317 {
2318   return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __b, (int8x8_t) __a, 0);
2319 }
2320 
2321 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vclt_u16(uint16x4_t __a,uint16x4_t __b)2322 vclt_u16 (uint16x4_t __a, uint16x4_t __b)
2323 {
2324   return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __b, (int16x4_t) __a, 0);
2325 }
2326 
2327 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vclt_u32(uint32x2_t __a,uint32x2_t __b)2328 vclt_u32 (uint32x2_t __a, uint32x2_t __b)
2329 {
2330   return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __b, (int32x2_t) __a, 0);
2331 }
2332 
2333 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcltq_s8(int8x16_t __a,int8x16_t __b)2334 vcltq_s8 (int8x16_t __a, int8x16_t __b)
2335 {
2336   return (uint8x16_t)__builtin_neon_vcgtv16qi (__b, __a, 1);
2337 }
2338 
2339 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcltq_s16(int16x8_t __a,int16x8_t __b)2340 vcltq_s16 (int16x8_t __a, int16x8_t __b)
2341 {
2342   return (uint16x8_t)__builtin_neon_vcgtv8hi (__b, __a, 1);
2343 }
2344 
2345 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcltq_s32(int32x4_t __a,int32x4_t __b)2346 vcltq_s32 (int32x4_t __a, int32x4_t __b)
2347 {
2348   return (uint32x4_t)__builtin_neon_vcgtv4si (__b, __a, 1);
2349 }
2350 
2351 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcltq_f32(float32x4_t __a,float32x4_t __b)2352 vcltq_f32 (float32x4_t __a, float32x4_t __b)
2353 {
2354   return (uint32x4_t)__builtin_neon_vcgtv4sf (__b, __a, 3);
2355 }
2356 
2357 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcltq_u8(uint8x16_t __a,uint8x16_t __b)2358 vcltq_u8 (uint8x16_t __a, uint8x16_t __b)
2359 {
2360   return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __b, (int8x16_t) __a, 0);
2361 }
2362 
2363 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcltq_u16(uint16x8_t __a,uint16x8_t __b)2364 vcltq_u16 (uint16x8_t __a, uint16x8_t __b)
2365 {
2366   return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __b, (int16x8_t) __a, 0);
2367 }
2368 
2369 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcltq_u32(uint32x4_t __a,uint32x4_t __b)2370 vcltq_u32 (uint32x4_t __a, uint32x4_t __b)
2371 {
2372   return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __b, (int32x4_t) __a, 0);
2373 }
2374 
2375 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcage_f32(float32x2_t __a,float32x2_t __b)2376 vcage_f32 (float32x2_t __a, float32x2_t __b)
2377 {
2378   return (uint32x2_t)__builtin_neon_vcagev2sf (__a, __b, 3);
2379 }
2380 
2381 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcageq_f32(float32x4_t __a,float32x4_t __b)2382 vcageq_f32 (float32x4_t __a, float32x4_t __b)
2383 {
2384   return (uint32x4_t)__builtin_neon_vcagev4sf (__a, __b, 3);
2385 }
2386 
2387 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcale_f32(float32x2_t __a,float32x2_t __b)2388 vcale_f32 (float32x2_t __a, float32x2_t __b)
2389 {
2390   return (uint32x2_t)__builtin_neon_vcagev2sf (__b, __a, 3);
2391 }
2392 
2393 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcaleq_f32(float32x4_t __a,float32x4_t __b)2394 vcaleq_f32 (float32x4_t __a, float32x4_t __b)
2395 {
2396   return (uint32x4_t)__builtin_neon_vcagev4sf (__b, __a, 3);
2397 }
2398 
2399 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcagt_f32(float32x2_t __a,float32x2_t __b)2400 vcagt_f32 (float32x2_t __a, float32x2_t __b)
2401 {
2402   return (uint32x2_t)__builtin_neon_vcagtv2sf (__a, __b, 3);
2403 }
2404 
2405 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcagtq_f32(float32x4_t __a,float32x4_t __b)2406 vcagtq_f32 (float32x4_t __a, float32x4_t __b)
2407 {
2408   return (uint32x4_t)__builtin_neon_vcagtv4sf (__a, __b, 3);
2409 }
2410 
2411 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcalt_f32(float32x2_t __a,float32x2_t __b)2412 vcalt_f32 (float32x2_t __a, float32x2_t __b)
2413 {
2414   return (uint32x2_t)__builtin_neon_vcagtv2sf (__b, __a, 3);
2415 }
2416 
2417 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcaltq_f32(float32x4_t __a,float32x4_t __b)2418 vcaltq_f32 (float32x4_t __a, float32x4_t __b)
2419 {
2420   return (uint32x4_t)__builtin_neon_vcagtv4sf (__b, __a, 3);
2421 }
2422 
2423 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtst_s8(int8x8_t __a,int8x8_t __b)2424 vtst_s8 (int8x8_t __a, int8x8_t __b)
2425 {
2426   return (uint8x8_t)__builtin_neon_vtstv8qi (__a, __b, 1);
2427 }
2428 
2429 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vtst_s16(int16x4_t __a,int16x4_t __b)2430 vtst_s16 (int16x4_t __a, int16x4_t __b)
2431 {
2432   return (uint16x4_t)__builtin_neon_vtstv4hi (__a, __b, 1);
2433 }
2434 
2435 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vtst_s32(int32x2_t __a,int32x2_t __b)2436 vtst_s32 (int32x2_t __a, int32x2_t __b)
2437 {
2438   return (uint32x2_t)__builtin_neon_vtstv2si (__a, __b, 1);
2439 }
2440 
2441 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtst_u8(uint8x8_t __a,uint8x8_t __b)2442 vtst_u8 (uint8x8_t __a, uint8x8_t __b)
2443 {
2444   return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2445 }
2446 
2447 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vtst_u16(uint16x4_t __a,uint16x4_t __b)2448 vtst_u16 (uint16x4_t __a, uint16x4_t __b)
2449 {
2450   return (uint16x4_t)__builtin_neon_vtstv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2451 }
2452 
2453 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vtst_u32(uint32x2_t __a,uint32x2_t __b)2454 vtst_u32 (uint32x2_t __a, uint32x2_t __b)
2455 {
2456   return (uint32x2_t)__builtin_neon_vtstv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2457 }
2458 
2459 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtst_p8(poly8x8_t __a,poly8x8_t __b)2460 vtst_p8 (poly8x8_t __a, poly8x8_t __b)
2461 {
2462   return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
2463 }
2464 
2465 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vtstq_s8(int8x16_t __a,int8x16_t __b)2466 vtstq_s8 (int8x16_t __a, int8x16_t __b)
2467 {
2468   return (uint8x16_t)__builtin_neon_vtstv16qi (__a, __b, 1);
2469 }
2470 
2471 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vtstq_s16(int16x8_t __a,int16x8_t __b)2472 vtstq_s16 (int16x8_t __a, int16x8_t __b)
2473 {
2474   return (uint16x8_t)__builtin_neon_vtstv8hi (__a, __b, 1);
2475 }
2476 
2477 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vtstq_s32(int32x4_t __a,int32x4_t __b)2478 vtstq_s32 (int32x4_t __a, int32x4_t __b)
2479 {
2480   return (uint32x4_t)__builtin_neon_vtstv4si (__a, __b, 1);
2481 }
2482 
2483 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vtstq_u8(uint8x16_t __a,uint8x16_t __b)2484 vtstq_u8 (uint8x16_t __a, uint8x16_t __b)
2485 {
2486   return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2487 }
2488 
2489 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vtstq_u16(uint16x8_t __a,uint16x8_t __b)2490 vtstq_u16 (uint16x8_t __a, uint16x8_t __b)
2491 {
2492   return (uint16x8_t)__builtin_neon_vtstv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2493 }
2494 
2495 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vtstq_u32(uint32x4_t __a,uint32x4_t __b)2496 vtstq_u32 (uint32x4_t __a, uint32x4_t __b)
2497 {
2498   return (uint32x4_t)__builtin_neon_vtstv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2499 }
2500 
2501 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vtstq_p8(poly8x16_t __a,poly8x16_t __b)2502 vtstq_p8 (poly8x16_t __a, poly8x16_t __b)
2503 {
2504   return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
2505 }
2506 
2507 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vabd_s8(int8x8_t __a,int8x8_t __b)2508 vabd_s8 (int8x8_t __a, int8x8_t __b)
2509 {
2510   return (int8x8_t)__builtin_neon_vabdv8qi (__a, __b, 1);
2511 }
2512 
2513 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vabd_s16(int16x4_t __a,int16x4_t __b)2514 vabd_s16 (int16x4_t __a, int16x4_t __b)
2515 {
2516   return (int16x4_t)__builtin_neon_vabdv4hi (__a, __b, 1);
2517 }
2518 
2519 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vabd_s32(int32x2_t __a,int32x2_t __b)2520 vabd_s32 (int32x2_t __a, int32x2_t __b)
2521 {
2522   return (int32x2_t)__builtin_neon_vabdv2si (__a, __b, 1);
2523 }
2524 
2525 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vabd_f32(float32x2_t __a,float32x2_t __b)2526 vabd_f32 (float32x2_t __a, float32x2_t __b)
2527 {
2528   return (float32x2_t)__builtin_neon_vabdv2sf (__a, __b, 3);
2529 }
2530 
2531 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vabd_u8(uint8x8_t __a,uint8x8_t __b)2532 vabd_u8 (uint8x8_t __a, uint8x8_t __b)
2533 {
2534   return (uint8x8_t)__builtin_neon_vabdv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2535 }
2536 
2537 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vabd_u16(uint16x4_t __a,uint16x4_t __b)2538 vabd_u16 (uint16x4_t __a, uint16x4_t __b)
2539 {
2540   return (uint16x4_t)__builtin_neon_vabdv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2541 }
2542 
2543 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vabd_u32(uint32x2_t __a,uint32x2_t __b)2544 vabd_u32 (uint32x2_t __a, uint32x2_t __b)
2545 {
2546   return (uint32x2_t)__builtin_neon_vabdv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2547 }
2548 
2549 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vabdq_s8(int8x16_t __a,int8x16_t __b)2550 vabdq_s8 (int8x16_t __a, int8x16_t __b)
2551 {
2552   return (int8x16_t)__builtin_neon_vabdv16qi (__a, __b, 1);
2553 }
2554 
2555 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vabdq_s16(int16x8_t __a,int16x8_t __b)2556 vabdq_s16 (int16x8_t __a, int16x8_t __b)
2557 {
2558   return (int16x8_t)__builtin_neon_vabdv8hi (__a, __b, 1);
2559 }
2560 
2561 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vabdq_s32(int32x4_t __a,int32x4_t __b)2562 vabdq_s32 (int32x4_t __a, int32x4_t __b)
2563 {
2564   return (int32x4_t)__builtin_neon_vabdv4si (__a, __b, 1);
2565 }
2566 
2567 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vabdq_f32(float32x4_t __a,float32x4_t __b)2568 vabdq_f32 (float32x4_t __a, float32x4_t __b)
2569 {
2570   return (float32x4_t)__builtin_neon_vabdv4sf (__a, __b, 3);
2571 }
2572 
2573 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vabdq_u8(uint8x16_t __a,uint8x16_t __b)2574 vabdq_u8 (uint8x16_t __a, uint8x16_t __b)
2575 {
2576   return (uint8x16_t)__builtin_neon_vabdv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2577 }
2578 
2579 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vabdq_u16(uint16x8_t __a,uint16x8_t __b)2580 vabdq_u16 (uint16x8_t __a, uint16x8_t __b)
2581 {
2582   return (uint16x8_t)__builtin_neon_vabdv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2583 }
2584 
2585 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vabdq_u32(uint32x4_t __a,uint32x4_t __b)2586 vabdq_u32 (uint32x4_t __a, uint32x4_t __b)
2587 {
2588   return (uint32x4_t)__builtin_neon_vabdv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2589 }
2590 
2591 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vabdl_s8(int8x8_t __a,int8x8_t __b)2592 vabdl_s8 (int8x8_t __a, int8x8_t __b)
2593 {
2594   return (int16x8_t)__builtin_neon_vabdlv8qi (__a, __b, 1);
2595 }
2596 
2597 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vabdl_s16(int16x4_t __a,int16x4_t __b)2598 vabdl_s16 (int16x4_t __a, int16x4_t __b)
2599 {
2600   return (int32x4_t)__builtin_neon_vabdlv4hi (__a, __b, 1);
2601 }
2602 
2603 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vabdl_s32(int32x2_t __a,int32x2_t __b)2604 vabdl_s32 (int32x2_t __a, int32x2_t __b)
2605 {
2606   return (int64x2_t)__builtin_neon_vabdlv2si (__a, __b, 1);
2607 }
2608 
2609 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vabdl_u8(uint8x8_t __a,uint8x8_t __b)2610 vabdl_u8 (uint8x8_t __a, uint8x8_t __b)
2611 {
2612   return (uint16x8_t)__builtin_neon_vabdlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2613 }
2614 
2615 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vabdl_u16(uint16x4_t __a,uint16x4_t __b)2616 vabdl_u16 (uint16x4_t __a, uint16x4_t __b)
2617 {
2618   return (uint32x4_t)__builtin_neon_vabdlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2619 }
2620 
2621 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vabdl_u32(uint32x2_t __a,uint32x2_t __b)2622 vabdl_u32 (uint32x2_t __a, uint32x2_t __b)
2623 {
2624   return (uint64x2_t)__builtin_neon_vabdlv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2625 }
2626 
2627 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vaba_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)2628 vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
2629 {
2630   return (int8x8_t)__builtin_neon_vabav8qi (__a, __b, __c, 1);
2631 }
2632 
2633 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vaba_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)2634 vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
2635 {
2636   return (int16x4_t)__builtin_neon_vabav4hi (__a, __b, __c, 1);
2637 }
2638 
2639 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vaba_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)2640 vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
2641 {
2642   return (int32x2_t)__builtin_neon_vabav2si (__a, __b, __c, 1);
2643 }
2644 
2645 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vaba_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)2646 vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
2647 {
2648   return (uint8x8_t)__builtin_neon_vabav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
2649 }
2650 
2651 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vaba_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)2652 vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
2653 {
2654   return (uint16x4_t)__builtin_neon_vabav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
2655 }
2656 
2657 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vaba_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)2658 vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
2659 {
2660   return (uint32x2_t)__builtin_neon_vabav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
2661 }
2662 
2663 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vabaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)2664 vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
2665 {
2666   return (int8x16_t)__builtin_neon_vabav16qi (__a, __b, __c, 1);
2667 }
2668 
2669 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vabaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)2670 vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
2671 {
2672   return (int16x8_t)__builtin_neon_vabav8hi (__a, __b, __c, 1);
2673 }
2674 
2675 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vabaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)2676 vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
2677 {
2678   return (int32x4_t)__builtin_neon_vabav4si (__a, __b, __c, 1);
2679 }
2680 
2681 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vabaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)2682 vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
2683 {
2684   return (uint8x16_t)__builtin_neon_vabav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
2685 }
2686 
2687 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vabaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)2688 vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
2689 {
2690   return (uint16x8_t)__builtin_neon_vabav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
2691 }
2692 
2693 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vabaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)2694 vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
2695 {
2696   return (uint32x4_t)__builtin_neon_vabav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
2697 }
2698 
2699 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vabal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)2700 vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
2701 {
2702   return (int16x8_t)__builtin_neon_vabalv8qi (__a, __b, __c, 1);
2703 }
2704 
2705 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vabal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)2706 vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
2707 {
2708   return (int32x4_t)__builtin_neon_vabalv4hi (__a, __b, __c, 1);
2709 }
2710 
2711 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vabal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)2712 vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
2713 {
2714   return (int64x2_t)__builtin_neon_vabalv2si (__a, __b, __c, 1);
2715 }
2716 
2717 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vabal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)2718 vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
2719 {
2720   return (uint16x8_t)__builtin_neon_vabalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
2721 }
2722 
2723 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vabal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)2724 vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
2725 {
2726   return (uint32x4_t)__builtin_neon_vabalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
2727 }
2728 
2729 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vabal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)2730 vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
2731 {
2732   return (uint64x2_t)__builtin_neon_vabalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
2733 }
2734 
2735 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmax_s8(int8x8_t __a,int8x8_t __b)2736 vmax_s8 (int8x8_t __a, int8x8_t __b)
2737 {
2738   return (int8x8_t)__builtin_neon_vmaxv8qi (__a, __b, 1);
2739 }
2740 
2741 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmax_s16(int16x4_t __a,int16x4_t __b)2742 vmax_s16 (int16x4_t __a, int16x4_t __b)
2743 {
2744   return (int16x4_t)__builtin_neon_vmaxv4hi (__a, __b, 1);
2745 }
2746 
2747 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmax_s32(int32x2_t __a,int32x2_t __b)2748 vmax_s32 (int32x2_t __a, int32x2_t __b)
2749 {
2750   return (int32x2_t)__builtin_neon_vmaxv2si (__a, __b, 1);
2751 }
2752 
2753 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmax_f32(float32x2_t __a,float32x2_t __b)2754 vmax_f32 (float32x2_t __a, float32x2_t __b)
2755 {
2756   return (float32x2_t)__builtin_neon_vmaxv2sf (__a, __b, 3);
2757 }
2758 
2759 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmax_u8(uint8x8_t __a,uint8x8_t __b)2760 vmax_u8 (uint8x8_t __a, uint8x8_t __b)
2761 {
2762   return (uint8x8_t)__builtin_neon_vmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2763 }
2764 
2765 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmax_u16(uint16x4_t __a,uint16x4_t __b)2766 vmax_u16 (uint16x4_t __a, uint16x4_t __b)
2767 {
2768   return (uint16x4_t)__builtin_neon_vmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2769 }
2770 
2771 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmax_u32(uint32x2_t __a,uint32x2_t __b)2772 vmax_u32 (uint32x2_t __a, uint32x2_t __b)
2773 {
2774   return (uint32x2_t)__builtin_neon_vmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2775 }
2776 
2777 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vmaxq_s8(int8x16_t __a,int8x16_t __b)2778 vmaxq_s8 (int8x16_t __a, int8x16_t __b)
2779 {
2780   return (int8x16_t)__builtin_neon_vmaxv16qi (__a, __b, 1);
2781 }
2782 
2783 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmaxq_s16(int16x8_t __a,int16x8_t __b)2784 vmaxq_s16 (int16x8_t __a, int16x8_t __b)
2785 {
2786   return (int16x8_t)__builtin_neon_vmaxv8hi (__a, __b, 1);
2787 }
2788 
2789 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmaxq_s32(int32x4_t __a,int32x4_t __b)2790 vmaxq_s32 (int32x4_t __a, int32x4_t __b)
2791 {
2792   return (int32x4_t)__builtin_neon_vmaxv4si (__a, __b, 1);
2793 }
2794 
2795 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmaxq_f32(float32x4_t __a,float32x4_t __b)2796 vmaxq_f32 (float32x4_t __a, float32x4_t __b)
2797 {
2798   return (float32x4_t)__builtin_neon_vmaxv4sf (__a, __b, 3);
2799 }
2800 
2801 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vmaxq_u8(uint8x16_t __a,uint8x16_t __b)2802 vmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
2803 {
2804   return (uint8x16_t)__builtin_neon_vmaxv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2805 }
2806 
2807 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmaxq_u16(uint16x8_t __a,uint16x8_t __b)2808 vmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
2809 {
2810   return (uint16x8_t)__builtin_neon_vmaxv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2811 }
2812 
2813 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmaxq_u32(uint32x4_t __a,uint32x4_t __b)2814 vmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
2815 {
2816   return (uint32x4_t)__builtin_neon_vmaxv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2817 }
2818 
2819 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmin_s8(int8x8_t __a,int8x8_t __b)2820 vmin_s8 (int8x8_t __a, int8x8_t __b)
2821 {
2822   return (int8x8_t)__builtin_neon_vminv8qi (__a, __b, 1);
2823 }
2824 
2825 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmin_s16(int16x4_t __a,int16x4_t __b)2826 vmin_s16 (int16x4_t __a, int16x4_t __b)
2827 {
2828   return (int16x4_t)__builtin_neon_vminv4hi (__a, __b, 1);
2829 }
2830 
2831 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmin_s32(int32x2_t __a,int32x2_t __b)2832 vmin_s32 (int32x2_t __a, int32x2_t __b)
2833 {
2834   return (int32x2_t)__builtin_neon_vminv2si (__a, __b, 1);
2835 }
2836 
2837 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmin_f32(float32x2_t __a,float32x2_t __b)2838 vmin_f32 (float32x2_t __a, float32x2_t __b)
2839 {
2840   return (float32x2_t)__builtin_neon_vminv2sf (__a, __b, 3);
2841 }
2842 
2843 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmin_u8(uint8x8_t __a,uint8x8_t __b)2844 vmin_u8 (uint8x8_t __a, uint8x8_t __b)
2845 {
2846   return (uint8x8_t)__builtin_neon_vminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2847 }
2848 
2849 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmin_u16(uint16x4_t __a,uint16x4_t __b)2850 vmin_u16 (uint16x4_t __a, uint16x4_t __b)
2851 {
2852   return (uint16x4_t)__builtin_neon_vminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2853 }
2854 
2855 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmin_u32(uint32x2_t __a,uint32x2_t __b)2856 vmin_u32 (uint32x2_t __a, uint32x2_t __b)
2857 {
2858   return (uint32x2_t)__builtin_neon_vminv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2859 }
2860 
2861 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vminq_s8(int8x16_t __a,int8x16_t __b)2862 vminq_s8 (int8x16_t __a, int8x16_t __b)
2863 {
2864   return (int8x16_t)__builtin_neon_vminv16qi (__a, __b, 1);
2865 }
2866 
2867 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vminq_s16(int16x8_t __a,int16x8_t __b)2868 vminq_s16 (int16x8_t __a, int16x8_t __b)
2869 {
2870   return (int16x8_t)__builtin_neon_vminv8hi (__a, __b, 1);
2871 }
2872 
2873 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vminq_s32(int32x4_t __a,int32x4_t __b)2874 vminq_s32 (int32x4_t __a, int32x4_t __b)
2875 {
2876   return (int32x4_t)__builtin_neon_vminv4si (__a, __b, 1);
2877 }
2878 
2879 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vminq_f32(float32x4_t __a,float32x4_t __b)2880 vminq_f32 (float32x4_t __a, float32x4_t __b)
2881 {
2882   return (float32x4_t)__builtin_neon_vminv4sf (__a, __b, 3);
2883 }
2884 
2885 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vminq_u8(uint8x16_t __a,uint8x16_t __b)2886 vminq_u8 (uint8x16_t __a, uint8x16_t __b)
2887 {
2888   return (uint8x16_t)__builtin_neon_vminv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2889 }
2890 
2891 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vminq_u16(uint16x8_t __a,uint16x8_t __b)2892 vminq_u16 (uint16x8_t __a, uint16x8_t __b)
2893 {
2894   return (uint16x8_t)__builtin_neon_vminv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2895 }
2896 
2897 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vminq_u32(uint32x4_t __a,uint32x4_t __b)2898 vminq_u32 (uint32x4_t __a, uint32x4_t __b)
2899 {
2900   return (uint32x4_t)__builtin_neon_vminv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2901 }
2902 
2903 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vpadd_s8(int8x8_t __a,int8x8_t __b)2904 vpadd_s8 (int8x8_t __a, int8x8_t __b)
2905 {
2906   return (int8x8_t)__builtin_neon_vpaddv8qi (__a, __b, 1);
2907 }
2908 
2909 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vpadd_s16(int16x4_t __a,int16x4_t __b)2910 vpadd_s16 (int16x4_t __a, int16x4_t __b)
2911 {
2912   return (int16x4_t)__builtin_neon_vpaddv4hi (__a, __b, 1);
2913 }
2914 
2915 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vpadd_s32(int32x2_t __a,int32x2_t __b)2916 vpadd_s32 (int32x2_t __a, int32x2_t __b)
2917 {
2918   return (int32x2_t)__builtin_neon_vpaddv2si (__a, __b, 1);
2919 }
2920 
2921 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vpadd_f32(float32x2_t __a,float32x2_t __b)2922 vpadd_f32 (float32x2_t __a, float32x2_t __b)
2923 {
2924   return (float32x2_t)__builtin_neon_vpaddv2sf (__a, __b, 3);
2925 }
2926 
2927 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vpadd_u8(uint8x8_t __a,uint8x8_t __b)2928 vpadd_u8 (uint8x8_t __a, uint8x8_t __b)
2929 {
2930   return (uint8x8_t)__builtin_neon_vpaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2931 }
2932 
2933 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vpadd_u16(uint16x4_t __a,uint16x4_t __b)2934 vpadd_u16 (uint16x4_t __a, uint16x4_t __b)
2935 {
2936   return (uint16x4_t)__builtin_neon_vpaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2937 }
2938 
2939 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vpadd_u32(uint32x2_t __a,uint32x2_t __b)2940 vpadd_u32 (uint32x2_t __a, uint32x2_t __b)
2941 {
2942   return (uint32x2_t)__builtin_neon_vpaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2943 }
2944 
2945 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vpaddl_s8(int8x8_t __a)2946 vpaddl_s8 (int8x8_t __a)
2947 {
2948   return (int16x4_t)__builtin_neon_vpaddlv8qi (__a, 1);
2949 }
2950 
2951 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vpaddl_s16(int16x4_t __a)2952 vpaddl_s16 (int16x4_t __a)
2953 {
2954   return (int32x2_t)__builtin_neon_vpaddlv4hi (__a, 1);
2955 }
2956 
2957 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vpaddl_s32(int32x2_t __a)2958 vpaddl_s32 (int32x2_t __a)
2959 {
2960   return (int64x1_t)__builtin_neon_vpaddlv2si (__a, 1);
2961 }
2962 
2963 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vpaddl_u8(uint8x8_t __a)2964 vpaddl_u8 (uint8x8_t __a)
2965 {
2966   return (uint16x4_t)__builtin_neon_vpaddlv8qi ((int8x8_t) __a, 0);
2967 }
2968 
2969 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vpaddl_u16(uint16x4_t __a)2970 vpaddl_u16 (uint16x4_t __a)
2971 {
2972   return (uint32x2_t)__builtin_neon_vpaddlv4hi ((int16x4_t) __a, 0);
2973 }
2974 
2975 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vpaddl_u32(uint32x2_t __a)2976 vpaddl_u32 (uint32x2_t __a)
2977 {
2978   return (uint64x1_t)__builtin_neon_vpaddlv2si ((int32x2_t) __a, 0);
2979 }
2980 
2981 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vpaddlq_s8(int8x16_t __a)2982 vpaddlq_s8 (int8x16_t __a)
2983 {
2984   return (int16x8_t)__builtin_neon_vpaddlv16qi (__a, 1);
2985 }
2986 
2987 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vpaddlq_s16(int16x8_t __a)2988 vpaddlq_s16 (int16x8_t __a)
2989 {
2990   return (int32x4_t)__builtin_neon_vpaddlv8hi (__a, 1);
2991 }
2992 
2993 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vpaddlq_s32(int32x4_t __a)2994 vpaddlq_s32 (int32x4_t __a)
2995 {
2996   return (int64x2_t)__builtin_neon_vpaddlv4si (__a, 1);
2997 }
2998 
2999 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vpaddlq_u8(uint8x16_t __a)3000 vpaddlq_u8 (uint8x16_t __a)
3001 {
3002   return (uint16x8_t)__builtin_neon_vpaddlv16qi ((int8x16_t) __a, 0);
3003 }
3004 
3005 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vpaddlq_u16(uint16x8_t __a)3006 vpaddlq_u16 (uint16x8_t __a)
3007 {
3008   return (uint32x4_t)__builtin_neon_vpaddlv8hi ((int16x8_t) __a, 0);
3009 }
3010 
3011 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vpaddlq_u32(uint32x4_t __a)3012 vpaddlq_u32 (uint32x4_t __a)
3013 {
3014   return (uint64x2_t)__builtin_neon_vpaddlv4si ((int32x4_t) __a, 0);
3015 }
3016 
3017 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vpadal_s8(int16x4_t __a,int8x8_t __b)3018 vpadal_s8 (int16x4_t __a, int8x8_t __b)
3019 {
3020   return (int16x4_t)__builtin_neon_vpadalv8qi (__a, __b, 1);
3021 }
3022 
3023 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vpadal_s16(int32x2_t __a,int16x4_t __b)3024 vpadal_s16 (int32x2_t __a, int16x4_t __b)
3025 {
3026   return (int32x2_t)__builtin_neon_vpadalv4hi (__a, __b, 1);
3027 }
3028 
3029 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vpadal_s32(int64x1_t __a,int32x2_t __b)3030 vpadal_s32 (int64x1_t __a, int32x2_t __b)
3031 {
3032   return (int64x1_t)__builtin_neon_vpadalv2si (__a, __b, 1);
3033 }
3034 
3035 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vpadal_u8(uint16x4_t __a,uint8x8_t __b)3036 vpadal_u8 (uint16x4_t __a, uint8x8_t __b)
3037 {
3038   return (uint16x4_t)__builtin_neon_vpadalv8qi ((int16x4_t) __a, (int8x8_t) __b, 0);
3039 }
3040 
3041 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vpadal_u16(uint32x2_t __a,uint16x4_t __b)3042 vpadal_u16 (uint32x2_t __a, uint16x4_t __b)
3043 {
3044   return (uint32x2_t)__builtin_neon_vpadalv4hi ((int32x2_t) __a, (int16x4_t) __b, 0);
3045 }
3046 
3047 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vpadal_u32(uint64x1_t __a,uint32x2_t __b)3048 vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
3049 {
3050   return (uint64x1_t)__builtin_neon_vpadalv2si ((int64x1_t) __a, (int32x2_t) __b, 0);
3051 }
3052 
3053 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vpadalq_s8(int16x8_t __a,int8x16_t __b)3054 vpadalq_s8 (int16x8_t __a, int8x16_t __b)
3055 {
3056   return (int16x8_t)__builtin_neon_vpadalv16qi (__a, __b, 1);
3057 }
3058 
3059 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vpadalq_s16(int32x4_t __a,int16x8_t __b)3060 vpadalq_s16 (int32x4_t __a, int16x8_t __b)
3061 {
3062   return (int32x4_t)__builtin_neon_vpadalv8hi (__a, __b, 1);
3063 }
3064 
3065 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vpadalq_s32(int64x2_t __a,int32x4_t __b)3066 vpadalq_s32 (int64x2_t __a, int32x4_t __b)
3067 {
3068   return (int64x2_t)__builtin_neon_vpadalv4si (__a, __b, 1);
3069 }
3070 
3071 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vpadalq_u8(uint16x8_t __a,uint8x16_t __b)3072 vpadalq_u8 (uint16x8_t __a, uint8x16_t __b)
3073 {
3074   return (uint16x8_t)__builtin_neon_vpadalv16qi ((int16x8_t) __a, (int8x16_t) __b, 0);
3075 }
3076 
3077 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vpadalq_u16(uint32x4_t __a,uint16x8_t __b)3078 vpadalq_u16 (uint32x4_t __a, uint16x8_t __b)
3079 {
3080   return (uint32x4_t)__builtin_neon_vpadalv8hi ((int32x4_t) __a, (int16x8_t) __b, 0);
3081 }
3082 
3083 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vpadalq_u32(uint64x2_t __a,uint32x4_t __b)3084 vpadalq_u32 (uint64x2_t __a, uint32x4_t __b)
3085 {
3086   return (uint64x2_t)__builtin_neon_vpadalv4si ((int64x2_t) __a, (int32x4_t) __b, 0);
3087 }
3088 
3089 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vpmax_s8(int8x8_t __a,int8x8_t __b)3090 vpmax_s8 (int8x8_t __a, int8x8_t __b)
3091 {
3092   return (int8x8_t)__builtin_neon_vpmaxv8qi (__a, __b, 1);
3093 }
3094 
3095 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vpmax_s16(int16x4_t __a,int16x4_t __b)3096 vpmax_s16 (int16x4_t __a, int16x4_t __b)
3097 {
3098   return (int16x4_t)__builtin_neon_vpmaxv4hi (__a, __b, 1);
3099 }
3100 
3101 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vpmax_s32(int32x2_t __a,int32x2_t __b)3102 vpmax_s32 (int32x2_t __a, int32x2_t __b)
3103 {
3104   return (int32x2_t)__builtin_neon_vpmaxv2si (__a, __b, 1);
3105 }
3106 
3107 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vpmax_f32(float32x2_t __a,float32x2_t __b)3108 vpmax_f32 (float32x2_t __a, float32x2_t __b)
3109 {
3110   return (float32x2_t)__builtin_neon_vpmaxv2sf (__a, __b, 3);
3111 }
3112 
3113 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vpmax_u8(uint8x8_t __a,uint8x8_t __b)3114 vpmax_u8 (uint8x8_t __a, uint8x8_t __b)
3115 {
3116   return (uint8x8_t)__builtin_neon_vpmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
3117 }
3118 
3119 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vpmax_u16(uint16x4_t __a,uint16x4_t __b)3120 vpmax_u16 (uint16x4_t __a, uint16x4_t __b)
3121 {
3122   return (uint16x4_t)__builtin_neon_vpmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
3123 }
3124 
3125 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vpmax_u32(uint32x2_t __a,uint32x2_t __b)3126 vpmax_u32 (uint32x2_t __a, uint32x2_t __b)
3127 {
3128   return (uint32x2_t)__builtin_neon_vpmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
3129 }
3130 
3131 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vpmin_s8(int8x8_t __a,int8x8_t __b)3132 vpmin_s8 (int8x8_t __a, int8x8_t __b)
3133 {
3134   return (int8x8_t)__builtin_neon_vpminv8qi (__a, __b, 1);
3135 }
3136 
3137 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vpmin_s16(int16x4_t __a,int16x4_t __b)3138 vpmin_s16 (int16x4_t __a, int16x4_t __b)
3139 {
3140   return (int16x4_t)__builtin_neon_vpminv4hi (__a, __b, 1);
3141 }
3142 
3143 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vpmin_s32(int32x2_t __a,int32x2_t __b)3144 vpmin_s32 (int32x2_t __a, int32x2_t __b)
3145 {
3146   return (int32x2_t)__builtin_neon_vpminv2si (__a, __b, 1);
3147 }
3148 
3149 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vpmin_f32(float32x2_t __a,float32x2_t __b)3150 vpmin_f32 (float32x2_t __a, float32x2_t __b)
3151 {
3152   return (float32x2_t)__builtin_neon_vpminv2sf (__a, __b, 3);
3153 }
3154 
3155 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vpmin_u8(uint8x8_t __a,uint8x8_t __b)3156 vpmin_u8 (uint8x8_t __a, uint8x8_t __b)
3157 {
3158   return (uint8x8_t)__builtin_neon_vpminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
3159 }
3160 
3161 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vpmin_u16(uint16x4_t __a,uint16x4_t __b)3162 vpmin_u16 (uint16x4_t __a, uint16x4_t __b)
3163 {
3164   return (uint16x4_t)__builtin_neon_vpminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
3165 }
3166 
3167 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vpmin_u32(uint32x2_t __a,uint32x2_t __b)3168 vpmin_u32 (uint32x2_t __a, uint32x2_t __b)
3169 {
3170   return (uint32x2_t)__builtin_neon_vpminv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
3171 }
3172 
3173 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrecps_f32(float32x2_t __a,float32x2_t __b)3174 vrecps_f32 (float32x2_t __a, float32x2_t __b)
3175 {
3176   return (float32x2_t)__builtin_neon_vrecpsv2sf (__a, __b, 3);
3177 }
3178 
3179 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrecpsq_f32(float32x4_t __a,float32x4_t __b)3180 vrecpsq_f32 (float32x4_t __a, float32x4_t __b)
3181 {
3182   return (float32x4_t)__builtin_neon_vrecpsv4sf (__a, __b, 3);
3183 }
3184 
3185 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrsqrts_f32(float32x2_t __a,float32x2_t __b)3186 vrsqrts_f32 (float32x2_t __a, float32x2_t __b)
3187 {
3188   return (float32x2_t)__builtin_neon_vrsqrtsv2sf (__a, __b, 3);
3189 }
3190 
3191 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrsqrtsq_f32(float32x4_t __a,float32x4_t __b)3192 vrsqrtsq_f32 (float32x4_t __a, float32x4_t __b)
3193 {
3194   return (float32x4_t)__builtin_neon_vrsqrtsv4sf (__a, __b, 3);
3195 }
3196 
3197 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vshl_s8(int8x8_t __a,int8x8_t __b)3198 vshl_s8 (int8x8_t __a, int8x8_t __b)
3199 {
3200   return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 1);
3201 }
3202 
3203 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vshl_s16(int16x4_t __a,int16x4_t __b)3204 vshl_s16 (int16x4_t __a, int16x4_t __b)
3205 {
3206   return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 1);
3207 }
3208 
3209 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vshl_s32(int32x2_t __a,int32x2_t __b)3210 vshl_s32 (int32x2_t __a, int32x2_t __b)
3211 {
3212   return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 1);
3213 }
3214 
3215 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vshl_s64(int64x1_t __a,int64x1_t __b)3216 vshl_s64 (int64x1_t __a, int64x1_t __b)
3217 {
3218   return (int64x1_t)__builtin_neon_vshldi (__a, __b, 1);
3219 }
3220 
3221 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vshl_u8(uint8x8_t __a,int8x8_t __b)3222 vshl_u8 (uint8x8_t __a, int8x8_t __b)
3223 {
3224   return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 0);
3225 }
3226 
3227 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vshl_u16(uint16x4_t __a,int16x4_t __b)3228 vshl_u16 (uint16x4_t __a, int16x4_t __b)
3229 {
3230   return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 0);
3231 }
3232 
3233 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vshl_u32(uint32x2_t __a,int32x2_t __b)3234 vshl_u32 (uint32x2_t __a, int32x2_t __b)
3235 {
3236   return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 0);
3237 }
3238 
3239 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vshl_u64(uint64x1_t __a,int64x1_t __b)3240 vshl_u64 (uint64x1_t __a, int64x1_t __b)
3241 {
3242   return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 0);
3243 }
3244 
3245 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vshlq_s8(int8x16_t __a,int8x16_t __b)3246 vshlq_s8 (int8x16_t __a, int8x16_t __b)
3247 {
3248   return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 1);
3249 }
3250 
3251 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vshlq_s16(int16x8_t __a,int16x8_t __b)3252 vshlq_s16 (int16x8_t __a, int16x8_t __b)
3253 {
3254   return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 1);
3255 }
3256 
3257 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vshlq_s32(int32x4_t __a,int32x4_t __b)3258 vshlq_s32 (int32x4_t __a, int32x4_t __b)
3259 {
3260   return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 1);
3261 }
3262 
3263 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vshlq_s64(int64x2_t __a,int64x2_t __b)3264 vshlq_s64 (int64x2_t __a, int64x2_t __b)
3265 {
3266   return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 1);
3267 }
3268 
3269 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vshlq_u8(uint8x16_t __a,int8x16_t __b)3270 vshlq_u8 (uint8x16_t __a, int8x16_t __b)
3271 {
3272   return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 0);
3273 }
3274 
3275 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vshlq_u16(uint16x8_t __a,int16x8_t __b)3276 vshlq_u16 (uint16x8_t __a, int16x8_t __b)
3277 {
3278   return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 0);
3279 }
3280 
3281 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vshlq_u32(uint32x4_t __a,int32x4_t __b)3282 vshlq_u32 (uint32x4_t __a, int32x4_t __b)
3283 {
3284   return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 0);
3285 }
3286 
3287 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vshlq_u64(uint64x2_t __a,int64x2_t __b)3288 vshlq_u64 (uint64x2_t __a, int64x2_t __b)
3289 {
3290   return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 0);
3291 }
3292 
3293 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrshl_s8(int8x8_t __a,int8x8_t __b)3294 vrshl_s8 (int8x8_t __a, int8x8_t __b)
3295 {
3296   return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 5);
3297 }
3298 
3299 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrshl_s16(int16x4_t __a,int16x4_t __b)3300 vrshl_s16 (int16x4_t __a, int16x4_t __b)
3301 {
3302   return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 5);
3303 }
3304 
3305 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrshl_s32(int32x2_t __a,int32x2_t __b)3306 vrshl_s32 (int32x2_t __a, int32x2_t __b)
3307 {
3308   return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 5);
3309 }
3310 
3311 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vrshl_s64(int64x1_t __a,int64x1_t __b)3312 vrshl_s64 (int64x1_t __a, int64x1_t __b)
3313 {
3314   return (int64x1_t)__builtin_neon_vshldi (__a, __b, 5);
3315 }
3316 
3317 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrshl_u8(uint8x8_t __a,int8x8_t __b)3318 vrshl_u8 (uint8x8_t __a, int8x8_t __b)
3319 {
3320   return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 4);
3321 }
3322 
3323 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrshl_u16(uint16x4_t __a,int16x4_t __b)3324 vrshl_u16 (uint16x4_t __a, int16x4_t __b)
3325 {
3326   return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 4);
3327 }
3328 
3329 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrshl_u32(uint32x2_t __a,int32x2_t __b)3330 vrshl_u32 (uint32x2_t __a, int32x2_t __b)
3331 {
3332   return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 4);
3333 }
3334 
3335 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vrshl_u64(uint64x1_t __a,int64x1_t __b)3336 vrshl_u64 (uint64x1_t __a, int64x1_t __b)
3337 {
3338   return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 4);
3339 }
3340 
3341 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrshlq_s8(int8x16_t __a,int8x16_t __b)3342 vrshlq_s8 (int8x16_t __a, int8x16_t __b)
3343 {
3344   return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 5);
3345 }
3346 
3347 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vrshlq_s16(int16x8_t __a,int16x8_t __b)3348 vrshlq_s16 (int16x8_t __a, int16x8_t __b)
3349 {
3350   return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 5);
3351 }
3352 
3353 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vrshlq_s32(int32x4_t __a,int32x4_t __b)3354 vrshlq_s32 (int32x4_t __a, int32x4_t __b)
3355 {
3356   return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 5);
3357 }
3358 
3359 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vrshlq_s64(int64x2_t __a,int64x2_t __b)3360 vrshlq_s64 (int64x2_t __a, int64x2_t __b)
3361 {
3362   return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 5);
3363 }
3364 
3365 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrshlq_u8(uint8x16_t __a,int8x16_t __b)3366 vrshlq_u8 (uint8x16_t __a, int8x16_t __b)
3367 {
3368   return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 4);
3369 }
3370 
3371 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vrshlq_u16(uint16x8_t __a,int16x8_t __b)3372 vrshlq_u16 (uint16x8_t __a, int16x8_t __b)
3373 {
3374   return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 4);
3375 }
3376 
3377 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrshlq_u32(uint32x4_t __a,int32x4_t __b)3378 vrshlq_u32 (uint32x4_t __a, int32x4_t __b)
3379 {
3380   return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 4);
3381 }
3382 
3383 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vrshlq_u64(uint64x2_t __a,int64x2_t __b)3384 vrshlq_u64 (uint64x2_t __a, int64x2_t __b)
3385 {
3386   return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 4);
3387 }
3388 
3389 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqshl_s8(int8x8_t __a,int8x8_t __b)3390 vqshl_s8 (int8x8_t __a, int8x8_t __b)
3391 {
3392   return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 1);
3393 }
3394 
3395 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqshl_s16(int16x4_t __a,int16x4_t __b)3396 vqshl_s16 (int16x4_t __a, int16x4_t __b)
3397 {
3398   return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 1);
3399 }
3400 
3401 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqshl_s32(int32x2_t __a,int32x2_t __b)3402 vqshl_s32 (int32x2_t __a, int32x2_t __b)
3403 {
3404   return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 1);
3405 }
3406 
3407 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vqshl_s64(int64x1_t __a,int64x1_t __b)3408 vqshl_s64 (int64x1_t __a, int64x1_t __b)
3409 {
3410   return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 1);
3411 }
3412 
3413 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqshl_u8(uint8x8_t __a,int8x8_t __b)3414 vqshl_u8 (uint8x8_t __a, int8x8_t __b)
3415 {
3416   return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 0);
3417 }
3418 
3419 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqshl_u16(uint16x4_t __a,int16x4_t __b)3420 vqshl_u16 (uint16x4_t __a, int16x4_t __b)
3421 {
3422   return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 0);
3423 }
3424 
3425 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqshl_u32(uint32x2_t __a,int32x2_t __b)3426 vqshl_u32 (uint32x2_t __a, int32x2_t __b)
3427 {
3428   return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 0);
3429 }
3430 
3431 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vqshl_u64(uint64x1_t __a,int64x1_t __b)3432 vqshl_u64 (uint64x1_t __a, int64x1_t __b)
3433 {
3434   return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 0);
3435 }
3436 
3437 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqshlq_s8(int8x16_t __a,int8x16_t __b)3438 vqshlq_s8 (int8x16_t __a, int8x16_t __b)
3439 {
3440   return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 1);
3441 }
3442 
3443 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqshlq_s16(int16x8_t __a,int16x8_t __b)3444 vqshlq_s16 (int16x8_t __a, int16x8_t __b)
3445 {
3446   return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 1);
3447 }
3448 
3449 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqshlq_s32(int32x4_t __a,int32x4_t __b)3450 vqshlq_s32 (int32x4_t __a, int32x4_t __b)
3451 {
3452   return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 1);
3453 }
3454 
3455 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqshlq_s64(int64x2_t __a,int64x2_t __b)3456 vqshlq_s64 (int64x2_t __a, int64x2_t __b)
3457 {
3458   return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 1);
3459 }
3460 
3461 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vqshlq_u8(uint8x16_t __a,int8x16_t __b)3462 vqshlq_u8 (uint8x16_t __a, int8x16_t __b)
3463 {
3464   return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 0);
3465 }
3466 
3467 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vqshlq_u16(uint16x8_t __a,int16x8_t __b)3468 vqshlq_u16 (uint16x8_t __a, int16x8_t __b)
3469 {
3470   return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 0);
3471 }
3472 
3473 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vqshlq_u32(uint32x4_t __a,int32x4_t __b)3474 vqshlq_u32 (uint32x4_t __a, int32x4_t __b)
3475 {
3476   return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 0);
3477 }
3478 
3479 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vqshlq_u64(uint64x2_t __a,int64x2_t __b)3480 vqshlq_u64 (uint64x2_t __a, int64x2_t __b)
3481 {
3482   return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 0);
3483 }
3484 
3485 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqrshl_s8(int8x8_t __a,int8x8_t __b)3486 vqrshl_s8 (int8x8_t __a, int8x8_t __b)
3487 {
3488   return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 5);
3489 }
3490 
3491 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqrshl_s16(int16x4_t __a,int16x4_t __b)3492 vqrshl_s16 (int16x4_t __a, int16x4_t __b)
3493 {
3494   return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 5);
3495 }
3496 
3497 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqrshl_s32(int32x2_t __a,int32x2_t __b)3498 vqrshl_s32 (int32x2_t __a, int32x2_t __b)
3499 {
3500   return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 5);
3501 }
3502 
3503 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vqrshl_s64(int64x1_t __a,int64x1_t __b)3504 vqrshl_s64 (int64x1_t __a, int64x1_t __b)
3505 {
3506   return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 5);
3507 }
3508 
3509 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqrshl_u8(uint8x8_t __a,int8x8_t __b)3510 vqrshl_u8 (uint8x8_t __a, int8x8_t __b)
3511 {
3512   return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 4);
3513 }
3514 
3515 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqrshl_u16(uint16x4_t __a,int16x4_t __b)3516 vqrshl_u16 (uint16x4_t __a, int16x4_t __b)
3517 {
3518   return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 4);
3519 }
3520 
3521 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqrshl_u32(uint32x2_t __a,int32x2_t __b)3522 vqrshl_u32 (uint32x2_t __a, int32x2_t __b)
3523 {
3524   return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 4);
3525 }
3526 
3527 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vqrshl_u64(uint64x1_t __a,int64x1_t __b)3528 vqrshl_u64 (uint64x1_t __a, int64x1_t __b)
3529 {
3530   return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 4);
3531 }
3532 
3533 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqrshlq_s8(int8x16_t __a,int8x16_t __b)3534 vqrshlq_s8 (int8x16_t __a, int8x16_t __b)
3535 {
3536   return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 5);
3537 }
3538 
3539 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqrshlq_s16(int16x8_t __a,int16x8_t __b)3540 vqrshlq_s16 (int16x8_t __a, int16x8_t __b)
3541 {
3542   return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 5);
3543 }
3544 
3545 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqrshlq_s32(int32x4_t __a,int32x4_t __b)3546 vqrshlq_s32 (int32x4_t __a, int32x4_t __b)
3547 {
3548   return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 5);
3549 }
3550 
3551 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqrshlq_s64(int64x2_t __a,int64x2_t __b)3552 vqrshlq_s64 (int64x2_t __a, int64x2_t __b)
3553 {
3554   return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 5);
3555 }
3556 
3557 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vqrshlq_u8(uint8x16_t __a,int8x16_t __b)3558 vqrshlq_u8 (uint8x16_t __a, int8x16_t __b)
3559 {
3560   return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 4);
3561 }
3562 
3563 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vqrshlq_u16(uint16x8_t __a,int16x8_t __b)3564 vqrshlq_u16 (uint16x8_t __a, int16x8_t __b)
3565 {
3566   return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 4);
3567 }
3568 
3569 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vqrshlq_u32(uint32x4_t __a,int32x4_t __b)3570 vqrshlq_u32 (uint32x4_t __a, int32x4_t __b)
3571 {
3572   return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 4);
3573 }
3574 
3575 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vqrshlq_u64(uint64x2_t __a,int64x2_t __b)3576 vqrshlq_u64 (uint64x2_t __a, int64x2_t __b)
3577 {
3578   return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 4);
3579 }
3580 
3581 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vshr_n_s8(int8x8_t __a,const int __b)3582 vshr_n_s8 (int8x8_t __a, const int __b)
3583 {
3584   return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 1);
3585 }
3586 
3587 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vshr_n_s16(int16x4_t __a,const int __b)3588 vshr_n_s16 (int16x4_t __a, const int __b)
3589 {
3590   return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 1);
3591 }
3592 
3593 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vshr_n_s32(int32x2_t __a,const int __b)3594 vshr_n_s32 (int32x2_t __a, const int __b)
3595 {
3596   return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 1);
3597 }
3598 
3599 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vshr_n_s64(int64x1_t __a,const int __b)3600 vshr_n_s64 (int64x1_t __a, const int __b)
3601 {
3602   return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 1);
3603 }
3604 
3605 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vshr_n_u8(uint8x8_t __a,const int __b)3606 vshr_n_u8 (uint8x8_t __a, const int __b)
3607 {
3608   return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 0);
3609 }
3610 
3611 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vshr_n_u16(uint16x4_t __a,const int __b)3612 vshr_n_u16 (uint16x4_t __a, const int __b)
3613 {
3614   return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 0);
3615 }
3616 
3617 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vshr_n_u32(uint32x2_t __a,const int __b)3618 vshr_n_u32 (uint32x2_t __a, const int __b)
3619 {
3620   return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 0);
3621 }
3622 
3623 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vshr_n_u64(uint64x1_t __a,const int __b)3624 vshr_n_u64 (uint64x1_t __a, const int __b)
3625 {
3626   return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 0);
3627 }
3628 
3629 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vshrq_n_s8(int8x16_t __a,const int __b)3630 vshrq_n_s8 (int8x16_t __a, const int __b)
3631 {
3632   return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 1);
3633 }
3634 
3635 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vshrq_n_s16(int16x8_t __a,const int __b)3636 vshrq_n_s16 (int16x8_t __a, const int __b)
3637 {
3638   return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 1);
3639 }
3640 
3641 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vshrq_n_s32(int32x4_t __a,const int __b)3642 vshrq_n_s32 (int32x4_t __a, const int __b)
3643 {
3644   return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 1);
3645 }
3646 
3647 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vshrq_n_s64(int64x2_t __a,const int __b)3648 vshrq_n_s64 (int64x2_t __a, const int __b)
3649 {
3650   return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 1);
3651 }
3652 
3653 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vshrq_n_u8(uint8x16_t __a,const int __b)3654 vshrq_n_u8 (uint8x16_t __a, const int __b)
3655 {
3656   return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 0);
3657 }
3658 
3659 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vshrq_n_u16(uint16x8_t __a,const int __b)3660 vshrq_n_u16 (uint16x8_t __a, const int __b)
3661 {
3662   return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 0);
3663 }
3664 
3665 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vshrq_n_u32(uint32x4_t __a,const int __b)3666 vshrq_n_u32 (uint32x4_t __a, const int __b)
3667 {
3668   return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 0);
3669 }
3670 
3671 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vshrq_n_u64(uint64x2_t __a,const int __b)3672 vshrq_n_u64 (uint64x2_t __a, const int __b)
3673 {
3674   return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 0);
3675 }
3676 
3677 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrshr_n_s8(int8x8_t __a,const int __b)3678 vrshr_n_s8 (int8x8_t __a, const int __b)
3679 {
3680   return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 5);
3681 }
3682 
3683 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrshr_n_s16(int16x4_t __a,const int __b)3684 vrshr_n_s16 (int16x4_t __a, const int __b)
3685 {
3686   return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 5);
3687 }
3688 
3689 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrshr_n_s32(int32x2_t __a,const int __b)3690 vrshr_n_s32 (int32x2_t __a, const int __b)
3691 {
3692   return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 5);
3693 }
3694 
3695 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vrshr_n_s64(int64x1_t __a,const int __b)3696 vrshr_n_s64 (int64x1_t __a, const int __b)
3697 {
3698   return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 5);
3699 }
3700 
3701 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrshr_n_u8(uint8x8_t __a,const int __b)3702 vrshr_n_u8 (uint8x8_t __a, const int __b)
3703 {
3704   return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 4);
3705 }
3706 
3707 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrshr_n_u16(uint16x4_t __a,const int __b)3708 vrshr_n_u16 (uint16x4_t __a, const int __b)
3709 {
3710   return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 4);
3711 }
3712 
3713 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrshr_n_u32(uint32x2_t __a,const int __b)3714 vrshr_n_u32 (uint32x2_t __a, const int __b)
3715 {
3716   return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 4);
3717 }
3718 
3719 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vrshr_n_u64(uint64x1_t __a,const int __b)3720 vrshr_n_u64 (uint64x1_t __a, const int __b)
3721 {
3722   return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 4);
3723 }
3724 
3725 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrshrq_n_s8(int8x16_t __a,const int __b)3726 vrshrq_n_s8 (int8x16_t __a, const int __b)
3727 {
3728   return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 5);
3729 }
3730 
3731 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vrshrq_n_s16(int16x8_t __a,const int __b)3732 vrshrq_n_s16 (int16x8_t __a, const int __b)
3733 {
3734   return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 5);
3735 }
3736 
3737 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vrshrq_n_s32(int32x4_t __a,const int __b)3738 vrshrq_n_s32 (int32x4_t __a, const int __b)
3739 {
3740   return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 5);
3741 }
3742 
3743 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vrshrq_n_s64(int64x2_t __a,const int __b)3744 vrshrq_n_s64 (int64x2_t __a, const int __b)
3745 {
3746   return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 5);
3747 }
3748 
3749 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrshrq_n_u8(uint8x16_t __a,const int __b)3750 vrshrq_n_u8 (uint8x16_t __a, const int __b)
3751 {
3752   return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 4);
3753 }
3754 
3755 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vrshrq_n_u16(uint16x8_t __a,const int __b)3756 vrshrq_n_u16 (uint16x8_t __a, const int __b)
3757 {
3758   return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 4);
3759 }
3760 
3761 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrshrq_n_u32(uint32x4_t __a,const int __b)3762 vrshrq_n_u32 (uint32x4_t __a, const int __b)
3763 {
3764   return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 4);
3765 }
3766 
3767 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vrshrq_n_u64(uint64x2_t __a,const int __b)3768 vrshrq_n_u64 (uint64x2_t __a, const int __b)
3769 {
3770   return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 4);
3771 }
3772 
3773 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vshrn_n_s16(int16x8_t __a,const int __b)3774 vshrn_n_s16 (int16x8_t __a, const int __b)
3775 {
3776   return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 1);
3777 }
3778 
3779 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vshrn_n_s32(int32x4_t __a,const int __b)3780 vshrn_n_s32 (int32x4_t __a, const int __b)
3781 {
3782   return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 1);
3783 }
3784 
3785 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vshrn_n_s64(int64x2_t __a,const int __b)3786 vshrn_n_s64 (int64x2_t __a, const int __b)
3787 {
3788   return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 1);
3789 }
3790 
3791 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vshrn_n_u16(uint16x8_t __a,const int __b)3792 vshrn_n_u16 (uint16x8_t __a, const int __b)
3793 {
3794   return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 0);
3795 }
3796 
3797 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vshrn_n_u32(uint32x4_t __a,const int __b)3798 vshrn_n_u32 (uint32x4_t __a, const int __b)
3799 {
3800   return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 0);
3801 }
3802 
3803 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vshrn_n_u64(uint64x2_t __a,const int __b)3804 vshrn_n_u64 (uint64x2_t __a, const int __b)
3805 {
3806   return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 0);
3807 }
3808 
3809 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrshrn_n_s16(int16x8_t __a,const int __b)3810 vrshrn_n_s16 (int16x8_t __a, const int __b)
3811 {
3812   return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 5);
3813 }
3814 
3815 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrshrn_n_s32(int32x4_t __a,const int __b)3816 vrshrn_n_s32 (int32x4_t __a, const int __b)
3817 {
3818   return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 5);
3819 }
3820 
3821 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrshrn_n_s64(int64x2_t __a,const int __b)3822 vrshrn_n_s64 (int64x2_t __a, const int __b)
3823 {
3824   return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 5);
3825 }
3826 
3827 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrshrn_n_u16(uint16x8_t __a,const int __b)3828 vrshrn_n_u16 (uint16x8_t __a, const int __b)
3829 {
3830   return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 4);
3831 }
3832 
3833 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrshrn_n_u32(uint32x4_t __a,const int __b)3834 vrshrn_n_u32 (uint32x4_t __a, const int __b)
3835 {
3836   return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 4);
3837 }
3838 
3839 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrshrn_n_u64(uint64x2_t __a,const int __b)3840 vrshrn_n_u64 (uint64x2_t __a, const int __b)
3841 {
3842   return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 4);
3843 }
3844 
3845 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqshrn_n_s16(int16x8_t __a,const int __b)3846 vqshrn_n_s16 (int16x8_t __a, const int __b)
3847 {
3848   return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 1);
3849 }
3850 
3851 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqshrn_n_s32(int32x4_t __a,const int __b)3852 vqshrn_n_s32 (int32x4_t __a, const int __b)
3853 {
3854   return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 1);
3855 }
3856 
3857 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqshrn_n_s64(int64x2_t __a,const int __b)3858 vqshrn_n_s64 (int64x2_t __a, const int __b)
3859 {
3860   return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 1);
3861 }
3862 
3863 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqshrn_n_u16(uint16x8_t __a,const int __b)3864 vqshrn_n_u16 (uint16x8_t __a, const int __b)
3865 {
3866   return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 0);
3867 }
3868 
3869 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqshrn_n_u32(uint32x4_t __a,const int __b)3870 vqshrn_n_u32 (uint32x4_t __a, const int __b)
3871 {
3872   return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 0);
3873 }
3874 
3875 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqshrn_n_u64(uint64x2_t __a,const int __b)3876 vqshrn_n_u64 (uint64x2_t __a, const int __b)
3877 {
3878   return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 0);
3879 }
3880 
3881 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqrshrn_n_s16(int16x8_t __a,const int __b)3882 vqrshrn_n_s16 (int16x8_t __a, const int __b)
3883 {
3884   return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 5);
3885 }
3886 
3887 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqrshrn_n_s32(int32x4_t __a,const int __b)3888 vqrshrn_n_s32 (int32x4_t __a, const int __b)
3889 {
3890   return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 5);
3891 }
3892 
3893 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqrshrn_n_s64(int64x2_t __a,const int __b)3894 vqrshrn_n_s64 (int64x2_t __a, const int __b)
3895 {
3896   return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 5);
3897 }
3898 
3899 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqrshrn_n_u16(uint16x8_t __a,const int __b)3900 vqrshrn_n_u16 (uint16x8_t __a, const int __b)
3901 {
3902   return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 4);
3903 }
3904 
3905 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqrshrn_n_u32(uint32x4_t __a,const int __b)3906 vqrshrn_n_u32 (uint32x4_t __a, const int __b)
3907 {
3908   return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 4);
3909 }
3910 
3911 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqrshrn_n_u64(uint64x2_t __a,const int __b)3912 vqrshrn_n_u64 (uint64x2_t __a, const int __b)
3913 {
3914   return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 4);
3915 }
3916 
3917 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqshrun_n_s16(int16x8_t __a,const int __b)3918 vqshrun_n_s16 (int16x8_t __a, const int __b)
3919 {
3920   return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 1);
3921 }
3922 
3923 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqshrun_n_s32(int32x4_t __a,const int __b)3924 vqshrun_n_s32 (int32x4_t __a, const int __b)
3925 {
3926   return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 1);
3927 }
3928 
3929 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqshrun_n_s64(int64x2_t __a,const int __b)3930 vqshrun_n_s64 (int64x2_t __a, const int __b)
3931 {
3932   return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 1);
3933 }
3934 
3935 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqrshrun_n_s16(int16x8_t __a,const int __b)3936 vqrshrun_n_s16 (int16x8_t __a, const int __b)
3937 {
3938   return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 5);
3939 }
3940 
3941 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqrshrun_n_s32(int32x4_t __a,const int __b)3942 vqrshrun_n_s32 (int32x4_t __a, const int __b)
3943 {
3944   return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 5);
3945 }
3946 
3947 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqrshrun_n_s64(int64x2_t __a,const int __b)3948 vqrshrun_n_s64 (int64x2_t __a, const int __b)
3949 {
3950   return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 5);
3951 }
3952 
3953 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vshl_n_s8(int8x8_t __a,const int __b)3954 vshl_n_s8 (int8x8_t __a, const int __b)
3955 {
3956   return (int8x8_t)__builtin_neon_vshl_nv8qi (__a, __b, 1);
3957 }
3958 
3959 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vshl_n_s16(int16x4_t __a,const int __b)3960 vshl_n_s16 (int16x4_t __a, const int __b)
3961 {
3962   return (int16x4_t)__builtin_neon_vshl_nv4hi (__a, __b, 1);
3963 }
3964 
3965 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vshl_n_s32(int32x2_t __a,const int __b)3966 vshl_n_s32 (int32x2_t __a, const int __b)
3967 {
3968   return (int32x2_t)__builtin_neon_vshl_nv2si (__a, __b, 1);
3969 }
3970 
3971 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vshl_n_s64(int64x1_t __a,const int __b)3972 vshl_n_s64 (int64x1_t __a, const int __b)
3973 {
3974   return (int64x1_t)__builtin_neon_vshl_ndi (__a, __b, 1);
3975 }
3976 
3977 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vshl_n_u8(uint8x8_t __a,const int __b)3978 vshl_n_u8 (uint8x8_t __a, const int __b)
3979 {
3980   return (uint8x8_t)__builtin_neon_vshl_nv8qi ((int8x8_t) __a, __b, 0);
3981 }
3982 
3983 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vshl_n_u16(uint16x4_t __a,const int __b)3984 vshl_n_u16 (uint16x4_t __a, const int __b)
3985 {
3986   return (uint16x4_t)__builtin_neon_vshl_nv4hi ((int16x4_t) __a, __b, 0);
3987 }
3988 
3989 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vshl_n_u32(uint32x2_t __a,const int __b)3990 vshl_n_u32 (uint32x2_t __a, const int __b)
3991 {
3992   return (uint32x2_t)__builtin_neon_vshl_nv2si ((int32x2_t) __a, __b, 0);
3993 }
3994 
3995 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vshl_n_u64(uint64x1_t __a,const int __b)3996 vshl_n_u64 (uint64x1_t __a, const int __b)
3997 {
3998   return (uint64x1_t)__builtin_neon_vshl_ndi ((int64x1_t) __a, __b, 0);
3999 }
4000 
4001 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vshlq_n_s8(int8x16_t __a,const int __b)4002 vshlq_n_s8 (int8x16_t __a, const int __b)
4003 {
4004   return (int8x16_t)__builtin_neon_vshl_nv16qi (__a, __b, 1);
4005 }
4006 
4007 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vshlq_n_s16(int16x8_t __a,const int __b)4008 vshlq_n_s16 (int16x8_t __a, const int __b)
4009 {
4010   return (int16x8_t)__builtin_neon_vshl_nv8hi (__a, __b, 1);
4011 }
4012 
4013 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vshlq_n_s32(int32x4_t __a,const int __b)4014 vshlq_n_s32 (int32x4_t __a, const int __b)
4015 {
4016   return (int32x4_t)__builtin_neon_vshl_nv4si (__a, __b, 1);
4017 }
4018 
4019 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vshlq_n_s64(int64x2_t __a,const int __b)4020 vshlq_n_s64 (int64x2_t __a, const int __b)
4021 {
4022   return (int64x2_t)__builtin_neon_vshl_nv2di (__a, __b, 1);
4023 }
4024 
4025 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vshlq_n_u8(uint8x16_t __a,const int __b)4026 vshlq_n_u8 (uint8x16_t __a, const int __b)
4027 {
4028   return (uint8x16_t)__builtin_neon_vshl_nv16qi ((int8x16_t) __a, __b, 0);
4029 }
4030 
4031 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vshlq_n_u16(uint16x8_t __a,const int __b)4032 vshlq_n_u16 (uint16x8_t __a, const int __b)
4033 {
4034   return (uint16x8_t)__builtin_neon_vshl_nv8hi ((int16x8_t) __a, __b, 0);
4035 }
4036 
4037 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vshlq_n_u32(uint32x4_t __a,const int __b)4038 vshlq_n_u32 (uint32x4_t __a, const int __b)
4039 {
4040   return (uint32x4_t)__builtin_neon_vshl_nv4si ((int32x4_t) __a, __b, 0);
4041 }
4042 
4043 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vshlq_n_u64(uint64x2_t __a,const int __b)4044 vshlq_n_u64 (uint64x2_t __a, const int __b)
4045 {
4046   return (uint64x2_t)__builtin_neon_vshl_nv2di ((int64x2_t) __a, __b, 0);
4047 }
4048 
4049 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqshl_n_s8(int8x8_t __a,const int __b)4050 vqshl_n_s8 (int8x8_t __a, const int __b)
4051 {
4052   return (int8x8_t)__builtin_neon_vqshl_nv8qi (__a, __b, 1);
4053 }
4054 
4055 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqshl_n_s16(int16x4_t __a,const int __b)4056 vqshl_n_s16 (int16x4_t __a, const int __b)
4057 {
4058   return (int16x4_t)__builtin_neon_vqshl_nv4hi (__a, __b, 1);
4059 }
4060 
4061 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqshl_n_s32(int32x2_t __a,const int __b)4062 vqshl_n_s32 (int32x2_t __a, const int __b)
4063 {
4064   return (int32x2_t)__builtin_neon_vqshl_nv2si (__a, __b, 1);
4065 }
4066 
4067 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vqshl_n_s64(int64x1_t __a,const int __b)4068 vqshl_n_s64 (int64x1_t __a, const int __b)
4069 {
4070   return (int64x1_t)__builtin_neon_vqshl_ndi (__a, __b, 1);
4071 }
4072 
4073 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqshl_n_u8(uint8x8_t __a,const int __b)4074 vqshl_n_u8 (uint8x8_t __a, const int __b)
4075 {
4076   return (uint8x8_t)__builtin_neon_vqshl_nv8qi ((int8x8_t) __a, __b, 0);
4077 }
4078 
4079 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqshl_n_u16(uint16x4_t __a,const int __b)4080 vqshl_n_u16 (uint16x4_t __a, const int __b)
4081 {
4082   return (uint16x4_t)__builtin_neon_vqshl_nv4hi ((int16x4_t) __a, __b, 0);
4083 }
4084 
4085 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqshl_n_u32(uint32x2_t __a,const int __b)4086 vqshl_n_u32 (uint32x2_t __a, const int __b)
4087 {
4088   return (uint32x2_t)__builtin_neon_vqshl_nv2si ((int32x2_t) __a, __b, 0);
4089 }
4090 
4091 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vqshl_n_u64(uint64x1_t __a,const int __b)4092 vqshl_n_u64 (uint64x1_t __a, const int __b)
4093 {
4094   return (uint64x1_t)__builtin_neon_vqshl_ndi ((int64x1_t) __a, __b, 0);
4095 }
4096 
4097 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqshlq_n_s8(int8x16_t __a,const int __b)4098 vqshlq_n_s8 (int8x16_t __a, const int __b)
4099 {
4100   return (int8x16_t)__builtin_neon_vqshl_nv16qi (__a, __b, 1);
4101 }
4102 
4103 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqshlq_n_s16(int16x8_t __a,const int __b)4104 vqshlq_n_s16 (int16x8_t __a, const int __b)
4105 {
4106   return (int16x8_t)__builtin_neon_vqshl_nv8hi (__a, __b, 1);
4107 }
4108 
4109 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqshlq_n_s32(int32x4_t __a,const int __b)4110 vqshlq_n_s32 (int32x4_t __a, const int __b)
4111 {
4112   return (int32x4_t)__builtin_neon_vqshl_nv4si (__a, __b, 1);
4113 }
4114 
4115 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqshlq_n_s64(int64x2_t __a,const int __b)4116 vqshlq_n_s64 (int64x2_t __a, const int __b)
4117 {
4118   return (int64x2_t)__builtin_neon_vqshl_nv2di (__a, __b, 1);
4119 }
4120 
4121 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vqshlq_n_u8(uint8x16_t __a,const int __b)4122 vqshlq_n_u8 (uint8x16_t __a, const int __b)
4123 {
4124   return (uint8x16_t)__builtin_neon_vqshl_nv16qi ((int8x16_t) __a, __b, 0);
4125 }
4126 
4127 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vqshlq_n_u16(uint16x8_t __a,const int __b)4128 vqshlq_n_u16 (uint16x8_t __a, const int __b)
4129 {
4130   return (uint16x8_t)__builtin_neon_vqshl_nv8hi ((int16x8_t) __a, __b, 0);
4131 }
4132 
4133 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vqshlq_n_u32(uint32x4_t __a,const int __b)4134 vqshlq_n_u32 (uint32x4_t __a, const int __b)
4135 {
4136   return (uint32x4_t)__builtin_neon_vqshl_nv4si ((int32x4_t) __a, __b, 0);
4137 }
4138 
4139 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vqshlq_n_u64(uint64x2_t __a,const int __b)4140 vqshlq_n_u64 (uint64x2_t __a, const int __b)
4141 {
4142   return (uint64x2_t)__builtin_neon_vqshl_nv2di ((int64x2_t) __a, __b, 0);
4143 }
4144 
4145 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqshlu_n_s8(int8x8_t __a,const int __b)4146 vqshlu_n_s8 (int8x8_t __a, const int __b)
4147 {
4148   return (uint8x8_t)__builtin_neon_vqshlu_nv8qi (__a, __b, 1);
4149 }
4150 
4151 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqshlu_n_s16(int16x4_t __a,const int __b)4152 vqshlu_n_s16 (int16x4_t __a, const int __b)
4153 {
4154   return (uint16x4_t)__builtin_neon_vqshlu_nv4hi (__a, __b, 1);
4155 }
4156 
4157 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqshlu_n_s32(int32x2_t __a,const int __b)4158 vqshlu_n_s32 (int32x2_t __a, const int __b)
4159 {
4160   return (uint32x2_t)__builtin_neon_vqshlu_nv2si (__a, __b, 1);
4161 }
4162 
4163 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vqshlu_n_s64(int64x1_t __a,const int __b)4164 vqshlu_n_s64 (int64x1_t __a, const int __b)
4165 {
4166   return (uint64x1_t)__builtin_neon_vqshlu_ndi (__a, __b, 1);
4167 }
4168 
4169 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vqshluq_n_s8(int8x16_t __a,const int __b)4170 vqshluq_n_s8 (int8x16_t __a, const int __b)
4171 {
4172   return (uint8x16_t)__builtin_neon_vqshlu_nv16qi (__a, __b, 1);
4173 }
4174 
4175 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vqshluq_n_s16(int16x8_t __a,const int __b)4176 vqshluq_n_s16 (int16x8_t __a, const int __b)
4177 {
4178   return (uint16x8_t)__builtin_neon_vqshlu_nv8hi (__a, __b, 1);
4179 }
4180 
4181 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vqshluq_n_s32(int32x4_t __a,const int __b)4182 vqshluq_n_s32 (int32x4_t __a, const int __b)
4183 {
4184   return (uint32x4_t)__builtin_neon_vqshlu_nv4si (__a, __b, 1);
4185 }
4186 
4187 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vqshluq_n_s64(int64x2_t __a,const int __b)4188 vqshluq_n_s64 (int64x2_t __a, const int __b)
4189 {
4190   return (uint64x2_t)__builtin_neon_vqshlu_nv2di (__a, __b, 1);
4191 }
4192 
4193 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vshll_n_s8(int8x8_t __a,const int __b)4194 vshll_n_s8 (int8x8_t __a, const int __b)
4195 {
4196   return (int16x8_t)__builtin_neon_vshll_nv8qi (__a, __b, 1);
4197 }
4198 
4199 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vshll_n_s16(int16x4_t __a,const int __b)4200 vshll_n_s16 (int16x4_t __a, const int __b)
4201 {
4202   return (int32x4_t)__builtin_neon_vshll_nv4hi (__a, __b, 1);
4203 }
4204 
4205 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vshll_n_s32(int32x2_t __a,const int __b)4206 vshll_n_s32 (int32x2_t __a, const int __b)
4207 {
4208   return (int64x2_t)__builtin_neon_vshll_nv2si (__a, __b, 1);
4209 }
4210 
4211 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vshll_n_u8(uint8x8_t __a,const int __b)4212 vshll_n_u8 (uint8x8_t __a, const int __b)
4213 {
4214   return (uint16x8_t)__builtin_neon_vshll_nv8qi ((int8x8_t) __a, __b, 0);
4215 }
4216 
4217 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vshll_n_u16(uint16x4_t __a,const int __b)4218 vshll_n_u16 (uint16x4_t __a, const int __b)
4219 {
4220   return (uint32x4_t)__builtin_neon_vshll_nv4hi ((int16x4_t) __a, __b, 0);
4221 }
4222 
4223 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vshll_n_u32(uint32x2_t __a,const int __b)4224 vshll_n_u32 (uint32x2_t __a, const int __b)
4225 {
4226   return (uint64x2_t)__builtin_neon_vshll_nv2si ((int32x2_t) __a, __b, 0);
4227 }
4228 
4229 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)4230 vsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4231 {
4232   return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 1);
4233 }
4234 
4235 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)4236 vsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4237 {
4238   return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 1);
4239 }
4240 
4241 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)4242 vsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4243 {
4244   return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 1);
4245 }
4246 
4247 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)4248 vsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4249 {
4250   return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 1);
4251 }
4252 
4253 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)4254 vsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4255 {
4256   return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 0);
4257 }
4258 
4259 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)4260 vsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4261 {
4262   return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
4263 }
4264 
4265 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)4266 vsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4267 {
4268   return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
4269 }
4270 
4271 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)4272 vsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4273 {
4274   return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 0);
4275 }
4276 
4277 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)4278 vsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4279 {
4280   return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 1);
4281 }
4282 
4283 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)4284 vsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4285 {
4286   return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 1);
4287 }
4288 
4289 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)4290 vsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4291 {
4292   return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 1);
4293 }
4294 
4295 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)4296 vsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4297 {
4298   return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 1);
4299 }
4300 
4301 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)4302 vsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4303 {
4304   return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 0);
4305 }
4306 
4307 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)4308 vsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4309 {
4310   return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 0);
4311 }
4312 
4313 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)4314 vsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4315 {
4316   return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 0);
4317 }
4318 
4319 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)4320 vsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4321 {
4322   return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 0);
4323 }
4324 
4325 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)4326 vrsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4327 {
4328   return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 5);
4329 }
4330 
4331 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)4332 vrsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4333 {
4334   return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 5);
4335 }
4336 
4337 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)4338 vrsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4339 {
4340   return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 5);
4341 }
4342 
4343 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vrsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)4344 vrsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4345 {
4346   return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 5);
4347 }
4348 
4349 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)4350 vrsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4351 {
4352   return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 4);
4353 }
4354 
4355 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)4356 vrsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4357 {
4358   return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 4);
4359 }
4360 
4361 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)4362 vrsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4363 {
4364   return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 4);
4365 }
4366 
4367 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vrsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)4368 vrsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4369 {
4370   return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 4);
4371 }
4372 
4373 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)4374 vrsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4375 {
4376   return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 5);
4377 }
4378 
4379 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vrsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)4380 vrsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4381 {
4382   return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 5);
4383 }
4384 
4385 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vrsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)4386 vrsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4387 {
4388   return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 5);
4389 }
4390 
4391 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vrsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)4392 vrsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4393 {
4394   return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 5);
4395 }
4396 
4397 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)4398 vrsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4399 {
4400   return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 4);
4401 }
4402 
4403 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vrsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)4404 vrsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4405 {
4406   return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 4);
4407 }
4408 
4409 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)4410 vrsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4411 {
4412   return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 4);
4413 }
4414 
4415 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vrsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)4416 vrsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4417 {
4418   return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 4);
4419 }
4420 
4421 #ifdef __ARM_FEATURE_CRYPTO
4422 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vsri_n_p64(poly64x1_t __a,poly64x1_t __b,const int __c)4423 vsri_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
4424 {
4425   return (poly64x1_t)__builtin_neon_vsri_ndi (__a, __b, __c);
4426 }
4427 
4428 #endif
4429 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vsri_n_s8(int8x8_t __a,int8x8_t __b,const int __c)4430 vsri_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4431 {
4432   return (int8x8_t)__builtin_neon_vsri_nv8qi (__a, __b, __c);
4433 }
4434 
4435 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vsri_n_s16(int16x4_t __a,int16x4_t __b,const int __c)4436 vsri_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4437 {
4438   return (int16x4_t)__builtin_neon_vsri_nv4hi (__a, __b, __c);
4439 }
4440 
4441 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vsri_n_s32(int32x2_t __a,int32x2_t __b,const int __c)4442 vsri_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4443 {
4444   return (int32x2_t)__builtin_neon_vsri_nv2si (__a, __b, __c);
4445 }
4446 
4447 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vsri_n_s64(int64x1_t __a,int64x1_t __b,const int __c)4448 vsri_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4449 {
4450   return (int64x1_t)__builtin_neon_vsri_ndi (__a, __b, __c);
4451 }
4452 
4453 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vsri_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)4454 vsri_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4455 {
4456   return (uint8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4457 }
4458 
4459 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vsri_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)4460 vsri_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4461 {
4462   return (uint16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4463 }
4464 
4465 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vsri_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)4466 vsri_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4467 {
4468   return (uint32x2_t)__builtin_neon_vsri_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
4469 }
4470 
4471 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vsri_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)4472 vsri_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4473 {
4474   return (uint64x1_t)__builtin_neon_vsri_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
4475 }
4476 
4477 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vsri_n_p8(poly8x8_t __a,poly8x8_t __b,const int __c)4478 vsri_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
4479 {
4480   return (poly8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4481 }
4482 
4483 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vsri_n_p16(poly16x4_t __a,poly16x4_t __b,const int __c)4484 vsri_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
4485 {
4486   return (poly16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4487 }
4488 
4489 #ifdef __ARM_FEATURE_CRYPTO
4490 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vsriq_n_p64(poly64x2_t __a,poly64x2_t __b,const int __c)4491 vsriq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
4492 {
4493   return (poly64x2_t)__builtin_neon_vsri_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4494 }
4495 
4496 #endif
4497 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vsriq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)4498 vsriq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4499 {
4500   return (int8x16_t)__builtin_neon_vsri_nv16qi (__a, __b, __c);
4501 }
4502 
4503 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsriq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)4504 vsriq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4505 {
4506   return (int16x8_t)__builtin_neon_vsri_nv8hi (__a, __b, __c);
4507 }
4508 
4509 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsriq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)4510 vsriq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4511 {
4512   return (int32x4_t)__builtin_neon_vsri_nv4si (__a, __b, __c);
4513 }
4514 
4515 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsriq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)4516 vsriq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4517 {
4518   return (int64x2_t)__builtin_neon_vsri_nv2di (__a, __b, __c);
4519 }
4520 
4521 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vsriq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)4522 vsriq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4523 {
4524   return (uint8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4525 }
4526 
4527 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsriq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)4528 vsriq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4529 {
4530   return (uint16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4531 }
4532 
4533 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsriq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)4534 vsriq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4535 {
4536   return (uint32x4_t)__builtin_neon_vsri_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
4537 }
4538 
4539 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsriq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)4540 vsriq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4541 {
4542   return (uint64x2_t)__builtin_neon_vsri_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4543 }
4544 
4545 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vsriq_n_p8(poly8x16_t __a,poly8x16_t __b,const int __c)4546 vsriq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
4547 {
4548   return (poly8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4549 }
4550 
4551 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vsriq_n_p16(poly16x8_t __a,poly16x8_t __b,const int __c)4552 vsriq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
4553 {
4554   return (poly16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4555 }
4556 
4557 #ifdef __ARM_FEATURE_CRYPTO
4558 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vsli_n_p64(poly64x1_t __a,poly64x1_t __b,const int __c)4559 vsli_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
4560 {
4561   return (poly64x1_t)__builtin_neon_vsli_ndi (__a, __b, __c);
4562 }
4563 
4564 #endif
4565 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vsli_n_s8(int8x8_t __a,int8x8_t __b,const int __c)4566 vsli_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4567 {
4568   return (int8x8_t)__builtin_neon_vsli_nv8qi (__a, __b, __c);
4569 }
4570 
4571 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vsli_n_s16(int16x4_t __a,int16x4_t __b,const int __c)4572 vsli_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4573 {
4574   return (int16x4_t)__builtin_neon_vsli_nv4hi (__a, __b, __c);
4575 }
4576 
4577 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vsli_n_s32(int32x2_t __a,int32x2_t __b,const int __c)4578 vsli_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4579 {
4580   return (int32x2_t)__builtin_neon_vsli_nv2si (__a, __b, __c);
4581 }
4582 
4583 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vsli_n_s64(int64x1_t __a,int64x1_t __b,const int __c)4584 vsli_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4585 {
4586   return (int64x1_t)__builtin_neon_vsli_ndi (__a, __b, __c);
4587 }
4588 
4589 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vsli_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)4590 vsli_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4591 {
4592   return (uint8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4593 }
4594 
4595 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vsli_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)4596 vsli_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4597 {
4598   return (uint16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4599 }
4600 
4601 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vsli_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)4602 vsli_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4603 {
4604   return (uint32x2_t)__builtin_neon_vsli_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
4605 }
4606 
4607 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vsli_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)4608 vsli_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4609 {
4610   return (uint64x1_t)__builtin_neon_vsli_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
4611 }
4612 
4613 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vsli_n_p8(poly8x8_t __a,poly8x8_t __b,const int __c)4614 vsli_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
4615 {
4616   return (poly8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4617 }
4618 
4619 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vsli_n_p16(poly16x4_t __a,poly16x4_t __b,const int __c)4620 vsli_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
4621 {
4622   return (poly16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4623 }
4624 
4625 #ifdef __ARM_FEATURE_CRYPTO
4626 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vsliq_n_p64(poly64x2_t __a,poly64x2_t __b,const int __c)4627 vsliq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
4628 {
4629   return (poly64x2_t)__builtin_neon_vsli_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4630 }
4631 
4632 #endif
4633 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vsliq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)4634 vsliq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4635 {
4636   return (int8x16_t)__builtin_neon_vsli_nv16qi (__a, __b, __c);
4637 }
4638 
4639 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsliq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)4640 vsliq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4641 {
4642   return (int16x8_t)__builtin_neon_vsli_nv8hi (__a, __b, __c);
4643 }
4644 
4645 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsliq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)4646 vsliq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4647 {
4648   return (int32x4_t)__builtin_neon_vsli_nv4si (__a, __b, __c);
4649 }
4650 
4651 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsliq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)4652 vsliq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4653 {
4654   return (int64x2_t)__builtin_neon_vsli_nv2di (__a, __b, __c);
4655 }
4656 
4657 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vsliq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)4658 vsliq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4659 {
4660   return (uint8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4661 }
4662 
4663 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsliq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)4664 vsliq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4665 {
4666   return (uint16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4667 }
4668 
4669 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsliq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)4670 vsliq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4671 {
4672   return (uint32x4_t)__builtin_neon_vsli_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
4673 }
4674 
4675 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsliq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)4676 vsliq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4677 {
4678   return (uint64x2_t)__builtin_neon_vsli_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4679 }
4680 
4681 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vsliq_n_p8(poly8x16_t __a,poly8x16_t __b,const int __c)4682 vsliq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
4683 {
4684   return (poly8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4685 }
4686 
4687 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vsliq_n_p16(poly16x8_t __a,poly16x8_t __b,const int __c)4688 vsliq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
4689 {
4690   return (poly16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4691 }
4692 
4693 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vabs_s8(int8x8_t __a)4694 vabs_s8 (int8x8_t __a)
4695 {
4696   return (int8x8_t)__builtin_neon_vabsv8qi (__a, 1);
4697 }
4698 
4699 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vabs_s16(int16x4_t __a)4700 vabs_s16 (int16x4_t __a)
4701 {
4702   return (int16x4_t)__builtin_neon_vabsv4hi (__a, 1);
4703 }
4704 
4705 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vabs_s32(int32x2_t __a)4706 vabs_s32 (int32x2_t __a)
4707 {
4708   return (int32x2_t)__builtin_neon_vabsv2si (__a, 1);
4709 }
4710 
4711 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vabs_f32(float32x2_t __a)4712 vabs_f32 (float32x2_t __a)
4713 {
4714   return (float32x2_t)__builtin_neon_vabsv2sf (__a, 3);
4715 }
4716 
4717 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vabsq_s8(int8x16_t __a)4718 vabsq_s8 (int8x16_t __a)
4719 {
4720   return (int8x16_t)__builtin_neon_vabsv16qi (__a, 1);
4721 }
4722 
4723 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vabsq_s16(int16x8_t __a)4724 vabsq_s16 (int16x8_t __a)
4725 {
4726   return (int16x8_t)__builtin_neon_vabsv8hi (__a, 1);
4727 }
4728 
4729 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vabsq_s32(int32x4_t __a)4730 vabsq_s32 (int32x4_t __a)
4731 {
4732   return (int32x4_t)__builtin_neon_vabsv4si (__a, 1);
4733 }
4734 
4735 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vabsq_f32(float32x4_t __a)4736 vabsq_f32 (float32x4_t __a)
4737 {
4738   return (float32x4_t)__builtin_neon_vabsv4sf (__a, 3);
4739 }
4740 
4741 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqabs_s8(int8x8_t __a)4742 vqabs_s8 (int8x8_t __a)
4743 {
4744   return (int8x8_t)__builtin_neon_vqabsv8qi (__a, 1);
4745 }
4746 
4747 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqabs_s16(int16x4_t __a)4748 vqabs_s16 (int16x4_t __a)
4749 {
4750   return (int16x4_t)__builtin_neon_vqabsv4hi (__a, 1);
4751 }
4752 
4753 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqabs_s32(int32x2_t __a)4754 vqabs_s32 (int32x2_t __a)
4755 {
4756   return (int32x2_t)__builtin_neon_vqabsv2si (__a, 1);
4757 }
4758 
4759 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqabsq_s8(int8x16_t __a)4760 vqabsq_s8 (int8x16_t __a)
4761 {
4762   return (int8x16_t)__builtin_neon_vqabsv16qi (__a, 1);
4763 }
4764 
4765 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqabsq_s16(int16x8_t __a)4766 vqabsq_s16 (int16x8_t __a)
4767 {
4768   return (int16x8_t)__builtin_neon_vqabsv8hi (__a, 1);
4769 }
4770 
4771 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqabsq_s32(int32x4_t __a)4772 vqabsq_s32 (int32x4_t __a)
4773 {
4774   return (int32x4_t)__builtin_neon_vqabsv4si (__a, 1);
4775 }
4776 
4777 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vneg_s8(int8x8_t __a)4778 vneg_s8 (int8x8_t __a)
4779 {
4780   return (int8x8_t)__builtin_neon_vnegv8qi (__a, 1);
4781 }
4782 
4783 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vneg_s16(int16x4_t __a)4784 vneg_s16 (int16x4_t __a)
4785 {
4786   return (int16x4_t)__builtin_neon_vnegv4hi (__a, 1);
4787 }
4788 
4789 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vneg_s32(int32x2_t __a)4790 vneg_s32 (int32x2_t __a)
4791 {
4792   return (int32x2_t)__builtin_neon_vnegv2si (__a, 1);
4793 }
4794 
4795 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vneg_f32(float32x2_t __a)4796 vneg_f32 (float32x2_t __a)
4797 {
4798   return (float32x2_t)__builtin_neon_vnegv2sf (__a, 3);
4799 }
4800 
4801 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vnegq_s8(int8x16_t __a)4802 vnegq_s8 (int8x16_t __a)
4803 {
4804   return (int8x16_t)__builtin_neon_vnegv16qi (__a, 1);
4805 }
4806 
4807 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vnegq_s16(int16x8_t __a)4808 vnegq_s16 (int16x8_t __a)
4809 {
4810   return (int16x8_t)__builtin_neon_vnegv8hi (__a, 1);
4811 }
4812 
4813 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vnegq_s32(int32x4_t __a)4814 vnegq_s32 (int32x4_t __a)
4815 {
4816   return (int32x4_t)__builtin_neon_vnegv4si (__a, 1);
4817 }
4818 
4819 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vnegq_f32(float32x4_t __a)4820 vnegq_f32 (float32x4_t __a)
4821 {
4822   return (float32x4_t)__builtin_neon_vnegv4sf (__a, 3);
4823 }
4824 
4825 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqneg_s8(int8x8_t __a)4826 vqneg_s8 (int8x8_t __a)
4827 {
4828   return (int8x8_t)__builtin_neon_vqnegv8qi (__a, 1);
4829 }
4830 
4831 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqneg_s16(int16x4_t __a)4832 vqneg_s16 (int16x4_t __a)
4833 {
4834   return (int16x4_t)__builtin_neon_vqnegv4hi (__a, 1);
4835 }
4836 
4837 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqneg_s32(int32x2_t __a)4838 vqneg_s32 (int32x2_t __a)
4839 {
4840   return (int32x2_t)__builtin_neon_vqnegv2si (__a, 1);
4841 }
4842 
4843 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqnegq_s8(int8x16_t __a)4844 vqnegq_s8 (int8x16_t __a)
4845 {
4846   return (int8x16_t)__builtin_neon_vqnegv16qi (__a, 1);
4847 }
4848 
4849 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqnegq_s16(int16x8_t __a)4850 vqnegq_s16 (int16x8_t __a)
4851 {
4852   return (int16x8_t)__builtin_neon_vqnegv8hi (__a, 1);
4853 }
4854 
4855 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqnegq_s32(int32x4_t __a)4856 vqnegq_s32 (int32x4_t __a)
4857 {
4858   return (int32x4_t)__builtin_neon_vqnegv4si (__a, 1);
4859 }
4860 
4861 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmvn_s8(int8x8_t __a)4862 vmvn_s8 (int8x8_t __a)
4863 {
4864   return (int8x8_t)__builtin_neon_vmvnv8qi (__a, 1);
4865 }
4866 
4867 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmvn_s16(int16x4_t __a)4868 vmvn_s16 (int16x4_t __a)
4869 {
4870   return (int16x4_t)__builtin_neon_vmvnv4hi (__a, 1);
4871 }
4872 
4873 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmvn_s32(int32x2_t __a)4874 vmvn_s32 (int32x2_t __a)
4875 {
4876   return (int32x2_t)__builtin_neon_vmvnv2si (__a, 1);
4877 }
4878 
4879 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmvn_u8(uint8x8_t __a)4880 vmvn_u8 (uint8x8_t __a)
4881 {
4882   return (uint8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 0);
4883 }
4884 
4885 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmvn_u16(uint16x4_t __a)4886 vmvn_u16 (uint16x4_t __a)
4887 {
4888   return (uint16x4_t)__builtin_neon_vmvnv4hi ((int16x4_t) __a, 0);
4889 }
4890 
4891 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmvn_u32(uint32x2_t __a)4892 vmvn_u32 (uint32x2_t __a)
4893 {
4894   return (uint32x2_t)__builtin_neon_vmvnv2si ((int32x2_t) __a, 0);
4895 }
4896 
4897 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vmvn_p8(poly8x8_t __a)4898 vmvn_p8 (poly8x8_t __a)
4899 {
4900   return (poly8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 2);
4901 }
4902 
4903 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vmvnq_s8(int8x16_t __a)4904 vmvnq_s8 (int8x16_t __a)
4905 {
4906   return (int8x16_t)__builtin_neon_vmvnv16qi (__a, 1);
4907 }
4908 
4909 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmvnq_s16(int16x8_t __a)4910 vmvnq_s16 (int16x8_t __a)
4911 {
4912   return (int16x8_t)__builtin_neon_vmvnv8hi (__a, 1);
4913 }
4914 
4915 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmvnq_s32(int32x4_t __a)4916 vmvnq_s32 (int32x4_t __a)
4917 {
4918   return (int32x4_t)__builtin_neon_vmvnv4si (__a, 1);
4919 }
4920 
4921 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vmvnq_u8(uint8x16_t __a)4922 vmvnq_u8 (uint8x16_t __a)
4923 {
4924   return (uint8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 0);
4925 }
4926 
4927 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmvnq_u16(uint16x8_t __a)4928 vmvnq_u16 (uint16x8_t __a)
4929 {
4930   return (uint16x8_t)__builtin_neon_vmvnv8hi ((int16x8_t) __a, 0);
4931 }
4932 
4933 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmvnq_u32(uint32x4_t __a)4934 vmvnq_u32 (uint32x4_t __a)
4935 {
4936   return (uint32x4_t)__builtin_neon_vmvnv4si ((int32x4_t) __a, 0);
4937 }
4938 
4939 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vmvnq_p8(poly8x16_t __a)4940 vmvnq_p8 (poly8x16_t __a)
4941 {
4942   return (poly8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 2);
4943 }
4944 
4945 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vcls_s8(int8x8_t __a)4946 vcls_s8 (int8x8_t __a)
4947 {
4948   return (int8x8_t)__builtin_neon_vclsv8qi (__a, 1);
4949 }
4950 
4951 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vcls_s16(int16x4_t __a)4952 vcls_s16 (int16x4_t __a)
4953 {
4954   return (int16x4_t)__builtin_neon_vclsv4hi (__a, 1);
4955 }
4956 
4957 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vcls_s32(int32x2_t __a)4958 vcls_s32 (int32x2_t __a)
4959 {
4960   return (int32x2_t)__builtin_neon_vclsv2si (__a, 1);
4961 }
4962 
4963 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vclsq_s8(int8x16_t __a)4964 vclsq_s8 (int8x16_t __a)
4965 {
4966   return (int8x16_t)__builtin_neon_vclsv16qi (__a, 1);
4967 }
4968 
4969 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vclsq_s16(int16x8_t __a)4970 vclsq_s16 (int16x8_t __a)
4971 {
4972   return (int16x8_t)__builtin_neon_vclsv8hi (__a, 1);
4973 }
4974 
4975 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vclsq_s32(int32x4_t __a)4976 vclsq_s32 (int32x4_t __a)
4977 {
4978   return (int32x4_t)__builtin_neon_vclsv4si (__a, 1);
4979 }
4980 
4981 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vclz_s8(int8x8_t __a)4982 vclz_s8 (int8x8_t __a)
4983 {
4984   return (int8x8_t)__builtin_neon_vclzv8qi (__a, 1);
4985 }
4986 
4987 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vclz_s16(int16x4_t __a)4988 vclz_s16 (int16x4_t __a)
4989 {
4990   return (int16x4_t)__builtin_neon_vclzv4hi (__a, 1);
4991 }
4992 
4993 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vclz_s32(int32x2_t __a)4994 vclz_s32 (int32x2_t __a)
4995 {
4996   return (int32x2_t)__builtin_neon_vclzv2si (__a, 1);
4997 }
4998 
4999 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vclz_u8(uint8x8_t __a)5000 vclz_u8 (uint8x8_t __a)
5001 {
5002   return (uint8x8_t)__builtin_neon_vclzv8qi ((int8x8_t) __a, 0);
5003 }
5004 
5005 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vclz_u16(uint16x4_t __a)5006 vclz_u16 (uint16x4_t __a)
5007 {
5008   return (uint16x4_t)__builtin_neon_vclzv4hi ((int16x4_t) __a, 0);
5009 }
5010 
5011 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vclz_u32(uint32x2_t __a)5012 vclz_u32 (uint32x2_t __a)
5013 {
5014   return (uint32x2_t)__builtin_neon_vclzv2si ((int32x2_t) __a, 0);
5015 }
5016 
5017 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vclzq_s8(int8x16_t __a)5018 vclzq_s8 (int8x16_t __a)
5019 {
5020   return (int8x16_t)__builtin_neon_vclzv16qi (__a, 1);
5021 }
5022 
5023 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vclzq_s16(int16x8_t __a)5024 vclzq_s16 (int16x8_t __a)
5025 {
5026   return (int16x8_t)__builtin_neon_vclzv8hi (__a, 1);
5027 }
5028 
5029 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vclzq_s32(int32x4_t __a)5030 vclzq_s32 (int32x4_t __a)
5031 {
5032   return (int32x4_t)__builtin_neon_vclzv4si (__a, 1);
5033 }
5034 
5035 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vclzq_u8(uint8x16_t __a)5036 vclzq_u8 (uint8x16_t __a)
5037 {
5038   return (uint8x16_t)__builtin_neon_vclzv16qi ((int8x16_t) __a, 0);
5039 }
5040 
5041 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vclzq_u16(uint16x8_t __a)5042 vclzq_u16 (uint16x8_t __a)
5043 {
5044   return (uint16x8_t)__builtin_neon_vclzv8hi ((int16x8_t) __a, 0);
5045 }
5046 
5047 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vclzq_u32(uint32x4_t __a)5048 vclzq_u32 (uint32x4_t __a)
5049 {
5050   return (uint32x4_t)__builtin_neon_vclzv4si ((int32x4_t) __a, 0);
5051 }
5052 
5053 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vcnt_s8(int8x8_t __a)5054 vcnt_s8 (int8x8_t __a)
5055 {
5056   return (int8x8_t)__builtin_neon_vcntv8qi (__a, 1);
5057 }
5058 
5059 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcnt_u8(uint8x8_t __a)5060 vcnt_u8 (uint8x8_t __a)
5061 {
5062   return (uint8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 0);
5063 }
5064 
5065 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vcnt_p8(poly8x8_t __a)5066 vcnt_p8 (poly8x8_t __a)
5067 {
5068   return (poly8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 2);
5069 }
5070 
5071 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vcntq_s8(int8x16_t __a)5072 vcntq_s8 (int8x16_t __a)
5073 {
5074   return (int8x16_t)__builtin_neon_vcntv16qi (__a, 1);
5075 }
5076 
5077 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcntq_u8(uint8x16_t __a)5078 vcntq_u8 (uint8x16_t __a)
5079 {
5080   return (uint8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 0);
5081 }
5082 
5083 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vcntq_p8(poly8x16_t __a)5084 vcntq_p8 (poly8x16_t __a)
5085 {
5086   return (poly8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 2);
5087 }
5088 
5089 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrecpe_f32(float32x2_t __a)5090 vrecpe_f32 (float32x2_t __a)
5091 {
5092   return (float32x2_t)__builtin_neon_vrecpev2sf (__a, 3);
5093 }
5094 
5095 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrecpe_u32(uint32x2_t __a)5096 vrecpe_u32 (uint32x2_t __a)
5097 {
5098   return (uint32x2_t)__builtin_neon_vrecpev2si ((int32x2_t) __a, 0);
5099 }
5100 
5101 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrecpeq_f32(float32x4_t __a)5102 vrecpeq_f32 (float32x4_t __a)
5103 {
5104   return (float32x4_t)__builtin_neon_vrecpev4sf (__a, 3);
5105 }
5106 
5107 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrecpeq_u32(uint32x4_t __a)5108 vrecpeq_u32 (uint32x4_t __a)
5109 {
5110   return (uint32x4_t)__builtin_neon_vrecpev4si ((int32x4_t) __a, 0);
5111 }
5112 
5113 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrsqrte_f32(float32x2_t __a)5114 vrsqrte_f32 (float32x2_t __a)
5115 {
5116   return (float32x2_t)__builtin_neon_vrsqrtev2sf (__a, 3);
5117 }
5118 
5119 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrsqrte_u32(uint32x2_t __a)5120 vrsqrte_u32 (uint32x2_t __a)
5121 {
5122   return (uint32x2_t)__builtin_neon_vrsqrtev2si ((int32x2_t) __a, 0);
5123 }
5124 
5125 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrsqrteq_f32(float32x4_t __a)5126 vrsqrteq_f32 (float32x4_t __a)
5127 {
5128   return (float32x4_t)__builtin_neon_vrsqrtev4sf (__a, 3);
5129 }
5130 
5131 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrsqrteq_u32(uint32x4_t __a)5132 vrsqrteq_u32 (uint32x4_t __a)
5133 {
5134   return (uint32x4_t)__builtin_neon_vrsqrtev4si ((int32x4_t) __a, 0);
5135 }
5136 
5137 __extension__ static __inline int8_t __attribute__ ((__always_inline__))
vget_lane_s8(int8x8_t __a,const int __b)5138 vget_lane_s8 (int8x8_t __a, const int __b)
5139 {
5140   return (int8_t)__builtin_neon_vget_lanev8qi (__a, __b, 1);
5141 }
5142 
5143 __extension__ static __inline int16_t __attribute__ ((__always_inline__))
vget_lane_s16(int16x4_t __a,const int __b)5144 vget_lane_s16 (int16x4_t __a, const int __b)
5145 {
5146   return (int16_t)__builtin_neon_vget_lanev4hi (__a, __b, 1);
5147 }
5148 
5149 __extension__ static __inline int32_t __attribute__ ((__always_inline__))
vget_lane_s32(int32x2_t __a,const int __b)5150 vget_lane_s32 (int32x2_t __a, const int __b)
5151 {
5152   return (int32_t)__builtin_neon_vget_lanev2si (__a, __b, 1);
5153 }
5154 
5155 __extension__ static __inline float32_t __attribute__ ((__always_inline__))
vget_lane_f32(float32x2_t __a,const int __b)5156 vget_lane_f32 (float32x2_t __a, const int __b)
5157 {
5158   return (float32_t)__builtin_neon_vget_lanev2sf (__a, __b, 3);
5159 }
5160 
5161 __extension__ static __inline uint8_t __attribute__ ((__always_inline__))
vget_lane_u8(uint8x8_t __a,const int __b)5162 vget_lane_u8 (uint8x8_t __a, const int __b)
5163 {
5164   return (uint8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 0);
5165 }
5166 
5167 __extension__ static __inline uint16_t __attribute__ ((__always_inline__))
vget_lane_u16(uint16x4_t __a,const int __b)5168 vget_lane_u16 (uint16x4_t __a, const int __b)
5169 {
5170   return (uint16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 0);
5171 }
5172 
5173 __extension__ static __inline uint32_t __attribute__ ((__always_inline__))
vget_lane_u32(uint32x2_t __a,const int __b)5174 vget_lane_u32 (uint32x2_t __a, const int __b)
5175 {
5176   return (uint32_t)__builtin_neon_vget_lanev2si ((int32x2_t) __a, __b, 0);
5177 }
5178 
5179 __extension__ static __inline poly8_t __attribute__ ((__always_inline__))
vget_lane_p8(poly8x8_t __a,const int __b)5180 vget_lane_p8 (poly8x8_t __a, const int __b)
5181 {
5182   return (poly8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 2);
5183 }
5184 
5185 __extension__ static __inline poly16_t __attribute__ ((__always_inline__))
vget_lane_p16(poly16x4_t __a,const int __b)5186 vget_lane_p16 (poly16x4_t __a, const int __b)
5187 {
5188   return (poly16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 2);
5189 }
5190 
5191 __extension__ static __inline int64_t __attribute__ ((__always_inline__))
vget_lane_s64(int64x1_t __a,const int __b)5192 vget_lane_s64 (int64x1_t __a, const int __b)
5193 {
5194   return (int64_t)__builtin_neon_vget_lanedi (__a, __b, 1);
5195 }
5196 
5197 __extension__ static __inline uint64_t __attribute__ ((__always_inline__))
vget_lane_u64(uint64x1_t __a,const int __b)5198 vget_lane_u64 (uint64x1_t __a, const int __b)
5199 {
5200   return (uint64_t)__builtin_neon_vget_lanedi ((int64x1_t) __a, __b, 0);
5201 }
5202 
5203 __extension__ static __inline int8_t __attribute__ ((__always_inline__))
vgetq_lane_s8(int8x16_t __a,const int __b)5204 vgetq_lane_s8 (int8x16_t __a, const int __b)
5205 {
5206   return (int8_t)__builtin_neon_vget_lanev16qi (__a, __b, 1);
5207 }
5208 
5209 __extension__ static __inline int16_t __attribute__ ((__always_inline__))
vgetq_lane_s16(int16x8_t __a,const int __b)5210 vgetq_lane_s16 (int16x8_t __a, const int __b)
5211 {
5212   return (int16_t)__builtin_neon_vget_lanev8hi (__a, __b, 1);
5213 }
5214 
5215 __extension__ static __inline int32_t __attribute__ ((__always_inline__))
vgetq_lane_s32(int32x4_t __a,const int __b)5216 vgetq_lane_s32 (int32x4_t __a, const int __b)
5217 {
5218   return (int32_t)__builtin_neon_vget_lanev4si (__a, __b, 1);
5219 }
5220 
5221 __extension__ static __inline float32_t __attribute__ ((__always_inline__))
vgetq_lane_f32(float32x4_t __a,const int __b)5222 vgetq_lane_f32 (float32x4_t __a, const int __b)
5223 {
5224   return (float32_t)__builtin_neon_vget_lanev4sf (__a, __b, 3);
5225 }
5226 
5227 __extension__ static __inline uint8_t __attribute__ ((__always_inline__))
vgetq_lane_u8(uint8x16_t __a,const int __b)5228 vgetq_lane_u8 (uint8x16_t __a, const int __b)
5229 {
5230   return (uint8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 0);
5231 }
5232 
5233 __extension__ static __inline uint16_t __attribute__ ((__always_inline__))
vgetq_lane_u16(uint16x8_t __a,const int __b)5234 vgetq_lane_u16 (uint16x8_t __a, const int __b)
5235 {
5236   return (uint16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 0);
5237 }
5238 
5239 __extension__ static __inline uint32_t __attribute__ ((__always_inline__))
vgetq_lane_u32(uint32x4_t __a,const int __b)5240 vgetq_lane_u32 (uint32x4_t __a, const int __b)
5241 {
5242   return (uint32_t)__builtin_neon_vget_lanev4si ((int32x4_t) __a, __b, 0);
5243 }
5244 
5245 __extension__ static __inline poly8_t __attribute__ ((__always_inline__))
vgetq_lane_p8(poly8x16_t __a,const int __b)5246 vgetq_lane_p8 (poly8x16_t __a, const int __b)
5247 {
5248   return (poly8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 2);
5249 }
5250 
5251 __extension__ static __inline poly16_t __attribute__ ((__always_inline__))
vgetq_lane_p16(poly16x8_t __a,const int __b)5252 vgetq_lane_p16 (poly16x8_t __a, const int __b)
5253 {
5254   return (poly16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 2);
5255 }
5256 
5257 __extension__ static __inline int64_t __attribute__ ((__always_inline__))
vgetq_lane_s64(int64x2_t __a,const int __b)5258 vgetq_lane_s64 (int64x2_t __a, const int __b)
5259 {
5260   return (int64_t)__builtin_neon_vget_lanev2di (__a, __b, 1);
5261 }
5262 
5263 __extension__ static __inline uint64_t __attribute__ ((__always_inline__))
vgetq_lane_u64(uint64x2_t __a,const int __b)5264 vgetq_lane_u64 (uint64x2_t __a, const int __b)
5265 {
5266   return (uint64_t)__builtin_neon_vget_lanev2di ((int64x2_t) __a, __b, 0);
5267 }
5268 
5269 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vset_lane_s8(int8_t __a,int8x8_t __b,const int __c)5270 vset_lane_s8 (int8_t __a, int8x8_t __b, const int __c)
5271 {
5272   return (int8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, __b, __c);
5273 }
5274 
5275 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vset_lane_s16(int16_t __a,int16x4_t __b,const int __c)5276 vset_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
5277 {
5278   return (int16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, __b, __c);
5279 }
5280 
5281 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vset_lane_s32(int32_t __a,int32x2_t __b,const int __c)5282 vset_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
5283 {
5284   return (int32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, __b, __c);
5285 }
5286 
5287 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vset_lane_f32(float32_t __a,float32x2_t __b,const int __c)5288 vset_lane_f32 (float32_t __a, float32x2_t __b, const int __c)
5289 {
5290   return (float32x2_t)__builtin_neon_vset_lanev2sf ((__builtin_neon_sf) __a, __b, __c);
5291 }
5292 
5293 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vset_lane_u8(uint8_t __a,uint8x8_t __b,const int __c)5294 vset_lane_u8 (uint8_t __a, uint8x8_t __b, const int __c)
5295 {
5296   return (uint8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
5297 }
5298 
5299 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vset_lane_u16(uint16_t __a,uint16x4_t __b,const int __c)5300 vset_lane_u16 (uint16_t __a, uint16x4_t __b, const int __c)
5301 {
5302   return (uint16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
5303 }
5304 
5305 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vset_lane_u32(uint32_t __a,uint32x2_t __b,const int __c)5306 vset_lane_u32 (uint32_t __a, uint32x2_t __b, const int __c)
5307 {
5308   return (uint32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, (int32x2_t) __b, __c);
5309 }
5310 
5311 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vset_lane_p8(poly8_t __a,poly8x8_t __b,const int __c)5312 vset_lane_p8 (poly8_t __a, poly8x8_t __b, const int __c)
5313 {
5314   return (poly8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
5315 }
5316 
5317 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vset_lane_p16(poly16_t __a,poly16x4_t __b,const int __c)5318 vset_lane_p16 (poly16_t __a, poly16x4_t __b, const int __c)
5319 {
5320   return (poly16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
5321 }
5322 
5323 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vset_lane_s64(int64_t __a,int64x1_t __b,const int __c)5324 vset_lane_s64 (int64_t __a, int64x1_t __b, const int __c)
5325 {
5326   return (int64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, __b, __c);
5327 }
5328 
5329 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vset_lane_u64(uint64_t __a,uint64x1_t __b,const int __c)5330 vset_lane_u64 (uint64_t __a, uint64x1_t __b, const int __c)
5331 {
5332   return (uint64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, (int64x1_t) __b, __c);
5333 }
5334 
5335 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vsetq_lane_s8(int8_t __a,int8x16_t __b,const int __c)5336 vsetq_lane_s8 (int8_t __a, int8x16_t __b, const int __c)
5337 {
5338   return (int8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, __b, __c);
5339 }
5340 
5341 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsetq_lane_s16(int16_t __a,int16x8_t __b,const int __c)5342 vsetq_lane_s16 (int16_t __a, int16x8_t __b, const int __c)
5343 {
5344   return (int16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, __b, __c);
5345 }
5346 
5347 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsetq_lane_s32(int32_t __a,int32x4_t __b,const int __c)5348 vsetq_lane_s32 (int32_t __a, int32x4_t __b, const int __c)
5349 {
5350   return (int32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, __b, __c);
5351 }
5352 
5353 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vsetq_lane_f32(float32_t __a,float32x4_t __b,const int __c)5354 vsetq_lane_f32 (float32_t __a, float32x4_t __b, const int __c)
5355 {
5356   return (float32x4_t)__builtin_neon_vset_lanev4sf ((__builtin_neon_sf) __a, __b, __c);
5357 }
5358 
5359 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vsetq_lane_u8(uint8_t __a,uint8x16_t __b,const int __c)5360 vsetq_lane_u8 (uint8_t __a, uint8x16_t __b, const int __c)
5361 {
5362   return (uint8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
5363 }
5364 
5365 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsetq_lane_u16(uint16_t __a,uint16x8_t __b,const int __c)5366 vsetq_lane_u16 (uint16_t __a, uint16x8_t __b, const int __c)
5367 {
5368   return (uint16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
5369 }
5370 
5371 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsetq_lane_u32(uint32_t __a,uint32x4_t __b,const int __c)5372 vsetq_lane_u32 (uint32_t __a, uint32x4_t __b, const int __c)
5373 {
5374   return (uint32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, (int32x4_t) __b, __c);
5375 }
5376 
5377 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vsetq_lane_p8(poly8_t __a,poly8x16_t __b,const int __c)5378 vsetq_lane_p8 (poly8_t __a, poly8x16_t __b, const int __c)
5379 {
5380   return (poly8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
5381 }
5382 
5383 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vsetq_lane_p16(poly16_t __a,poly16x8_t __b,const int __c)5384 vsetq_lane_p16 (poly16_t __a, poly16x8_t __b, const int __c)
5385 {
5386   return (poly16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
5387 }
5388 
5389 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsetq_lane_s64(int64_t __a,int64x2_t __b,const int __c)5390 vsetq_lane_s64 (int64_t __a, int64x2_t __b, const int __c)
5391 {
5392   return (int64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, __b, __c);
5393 }
5394 
5395 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsetq_lane_u64(uint64_t __a,uint64x2_t __b,const int __c)5396 vsetq_lane_u64 (uint64_t __a, uint64x2_t __b, const int __c)
5397 {
5398   return (uint64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, (int64x2_t) __b, __c);
5399 }
5400 
5401 #ifdef __ARM_FEATURE_CRYPTO
5402 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vcreate_p64(uint64_t __a)5403 vcreate_p64 (uint64_t __a)
5404 {
5405   return (poly64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
5406 }
5407 
5408 #endif
5409 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vcreate_s8(uint64_t __a)5410 vcreate_s8 (uint64_t __a)
5411 {
5412   return (int8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5413 }
5414 
5415 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vcreate_s16(uint64_t __a)5416 vcreate_s16 (uint64_t __a)
5417 {
5418   return (int16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5419 }
5420 
5421 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vcreate_s32(uint64_t __a)5422 vcreate_s32 (uint64_t __a)
5423 {
5424   return (int32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
5425 }
5426 
5427 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vcreate_s64(uint64_t __a)5428 vcreate_s64 (uint64_t __a)
5429 {
5430   return (int64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
5431 }
5432 
5433 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vcreate_f32(uint64_t __a)5434 vcreate_f32 (uint64_t __a)
5435 {
5436   return (float32x2_t)__builtin_neon_vcreatev2sf ((__builtin_neon_di) __a);
5437 }
5438 
5439 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcreate_u8(uint64_t __a)5440 vcreate_u8 (uint64_t __a)
5441 {
5442   return (uint8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5443 }
5444 
5445 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcreate_u16(uint64_t __a)5446 vcreate_u16 (uint64_t __a)
5447 {
5448   return (uint16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5449 }
5450 
5451 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcreate_u32(uint64_t __a)5452 vcreate_u32 (uint64_t __a)
5453 {
5454   return (uint32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
5455 }
5456 
5457 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vcreate_u64(uint64_t __a)5458 vcreate_u64 (uint64_t __a)
5459 {
5460   return (uint64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
5461 }
5462 
5463 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vcreate_p8(uint64_t __a)5464 vcreate_p8 (uint64_t __a)
5465 {
5466   return (poly8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5467 }
5468 
5469 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vcreate_p16(uint64_t __a)5470 vcreate_p16 (uint64_t __a)
5471 {
5472   return (poly16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5473 }
5474 
5475 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vdup_n_s8(int8_t __a)5476 vdup_n_s8 (int8_t __a)
5477 {
5478   return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5479 }
5480 
5481 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vdup_n_s16(int16_t __a)5482 vdup_n_s16 (int16_t __a)
5483 {
5484   return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5485 }
5486 
5487 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vdup_n_s32(int32_t __a)5488 vdup_n_s32 (int32_t __a)
5489 {
5490   return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5491 }
5492 
5493 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vdup_n_f32(float32_t __a)5494 vdup_n_f32 (float32_t __a)
5495 {
5496   return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
5497 }
5498 
5499 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vdup_n_u8(uint8_t __a)5500 vdup_n_u8 (uint8_t __a)
5501 {
5502   return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5503 }
5504 
5505 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vdup_n_u16(uint16_t __a)5506 vdup_n_u16 (uint16_t __a)
5507 {
5508   return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5509 }
5510 
5511 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vdup_n_u32(uint32_t __a)5512 vdup_n_u32 (uint32_t __a)
5513 {
5514   return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5515 }
5516 
5517 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vdup_n_p8(poly8_t __a)5518 vdup_n_p8 (poly8_t __a)
5519 {
5520   return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5521 }
5522 
5523 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vdup_n_p16(poly16_t __a)5524 vdup_n_p16 (poly16_t __a)
5525 {
5526   return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5527 }
5528 
5529 #ifdef __ARM_FEATURE_CRYPTO
5530 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vdup_n_p64(poly64_t __a)5531 vdup_n_p64 (poly64_t __a)
5532 {
5533   return (poly64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5534 }
5535 
5536 #endif
5537 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vdup_n_s64(int64_t __a)5538 vdup_n_s64 (int64_t __a)
5539 {
5540   return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5541 }
5542 
5543 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vdup_n_u64(uint64_t __a)5544 vdup_n_u64 (uint64_t __a)
5545 {
5546   return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5547 }
5548 
5549 #ifdef __ARM_FEATURE_CRYPTO
5550 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vdupq_n_p64(poly64_t __a)5551 vdupq_n_p64 (poly64_t __a)
5552 {
5553   return (poly64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5554 }
5555 
5556 #endif
5557 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vdupq_n_s8(int8_t __a)5558 vdupq_n_s8 (int8_t __a)
5559 {
5560   return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5561 }
5562 
5563 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vdupq_n_s16(int16_t __a)5564 vdupq_n_s16 (int16_t __a)
5565 {
5566   return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5567 }
5568 
5569 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vdupq_n_s32(int32_t __a)5570 vdupq_n_s32 (int32_t __a)
5571 {
5572   return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5573 }
5574 
5575 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vdupq_n_f32(float32_t __a)5576 vdupq_n_f32 (float32_t __a)
5577 {
5578   return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
5579 }
5580 
5581 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vdupq_n_u8(uint8_t __a)5582 vdupq_n_u8 (uint8_t __a)
5583 {
5584   return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5585 }
5586 
5587 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vdupq_n_u16(uint16_t __a)5588 vdupq_n_u16 (uint16_t __a)
5589 {
5590   return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5591 }
5592 
5593 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vdupq_n_u32(uint32_t __a)5594 vdupq_n_u32 (uint32_t __a)
5595 {
5596   return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5597 }
5598 
5599 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vdupq_n_p8(poly8_t __a)5600 vdupq_n_p8 (poly8_t __a)
5601 {
5602   return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5603 }
5604 
5605 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vdupq_n_p16(poly16_t __a)5606 vdupq_n_p16 (poly16_t __a)
5607 {
5608   return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5609 }
5610 
5611 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vdupq_n_s64(int64_t __a)5612 vdupq_n_s64 (int64_t __a)
5613 {
5614   return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5615 }
5616 
5617 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vdupq_n_u64(uint64_t __a)5618 vdupq_n_u64 (uint64_t __a)
5619 {
5620   return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5621 }
5622 
5623 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmov_n_s8(int8_t __a)5624 vmov_n_s8 (int8_t __a)
5625 {
5626   return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5627 }
5628 
5629 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmov_n_s16(int16_t __a)5630 vmov_n_s16 (int16_t __a)
5631 {
5632   return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5633 }
5634 
5635 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmov_n_s32(int32_t __a)5636 vmov_n_s32 (int32_t __a)
5637 {
5638   return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5639 }
5640 
5641 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmov_n_f32(float32_t __a)5642 vmov_n_f32 (float32_t __a)
5643 {
5644   return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
5645 }
5646 
5647 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmov_n_u8(uint8_t __a)5648 vmov_n_u8 (uint8_t __a)
5649 {
5650   return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5651 }
5652 
5653 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmov_n_u16(uint16_t __a)5654 vmov_n_u16 (uint16_t __a)
5655 {
5656   return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5657 }
5658 
5659 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmov_n_u32(uint32_t __a)5660 vmov_n_u32 (uint32_t __a)
5661 {
5662   return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5663 }
5664 
5665 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vmov_n_p8(poly8_t __a)5666 vmov_n_p8 (poly8_t __a)
5667 {
5668   return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5669 }
5670 
5671 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vmov_n_p16(poly16_t __a)5672 vmov_n_p16 (poly16_t __a)
5673 {
5674   return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5675 }
5676 
5677 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vmov_n_s64(int64_t __a)5678 vmov_n_s64 (int64_t __a)
5679 {
5680   return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5681 }
5682 
5683 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vmov_n_u64(uint64_t __a)5684 vmov_n_u64 (uint64_t __a)
5685 {
5686   return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5687 }
5688 
5689 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vmovq_n_s8(int8_t __a)5690 vmovq_n_s8 (int8_t __a)
5691 {
5692   return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5693 }
5694 
5695 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmovq_n_s16(int16_t __a)5696 vmovq_n_s16 (int16_t __a)
5697 {
5698   return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5699 }
5700 
5701 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmovq_n_s32(int32_t __a)5702 vmovq_n_s32 (int32_t __a)
5703 {
5704   return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5705 }
5706 
5707 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmovq_n_f32(float32_t __a)5708 vmovq_n_f32 (float32_t __a)
5709 {
5710   return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
5711 }
5712 
5713 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vmovq_n_u8(uint8_t __a)5714 vmovq_n_u8 (uint8_t __a)
5715 {
5716   return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5717 }
5718 
5719 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmovq_n_u16(uint16_t __a)5720 vmovq_n_u16 (uint16_t __a)
5721 {
5722   return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5723 }
5724 
5725 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmovq_n_u32(uint32_t __a)5726 vmovq_n_u32 (uint32_t __a)
5727 {
5728   return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5729 }
5730 
5731 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vmovq_n_p8(poly8_t __a)5732 vmovq_n_p8 (poly8_t __a)
5733 {
5734   return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5735 }
5736 
5737 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vmovq_n_p16(poly16_t __a)5738 vmovq_n_p16 (poly16_t __a)
5739 {
5740   return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5741 }
5742 
5743 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmovq_n_s64(int64_t __a)5744 vmovq_n_s64 (int64_t __a)
5745 {
5746   return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5747 }
5748 
5749 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmovq_n_u64(uint64_t __a)5750 vmovq_n_u64 (uint64_t __a)
5751 {
5752   return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5753 }
5754 
5755 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vdup_lane_s8(int8x8_t __a,const int __b)5756 vdup_lane_s8 (int8x8_t __a, const int __b)
5757 {
5758   return (int8x8_t)__builtin_neon_vdup_lanev8qi (__a, __b);
5759 }
5760 
5761 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vdup_lane_s16(int16x4_t __a,const int __b)5762 vdup_lane_s16 (int16x4_t __a, const int __b)
5763 {
5764   return (int16x4_t)__builtin_neon_vdup_lanev4hi (__a, __b);
5765 }
5766 
5767 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vdup_lane_s32(int32x2_t __a,const int __b)5768 vdup_lane_s32 (int32x2_t __a, const int __b)
5769 {
5770   return (int32x2_t)__builtin_neon_vdup_lanev2si (__a, __b);
5771 }
5772 
5773 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vdup_lane_f32(float32x2_t __a,const int __b)5774 vdup_lane_f32 (float32x2_t __a, const int __b)
5775 {
5776   return (float32x2_t)__builtin_neon_vdup_lanev2sf (__a, __b);
5777 }
5778 
5779 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vdup_lane_u8(uint8x8_t __a,const int __b)5780 vdup_lane_u8 (uint8x8_t __a, const int __b)
5781 {
5782   return (uint8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
5783 }
5784 
5785 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vdup_lane_u16(uint16x4_t __a,const int __b)5786 vdup_lane_u16 (uint16x4_t __a, const int __b)
5787 {
5788   return (uint16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
5789 }
5790 
5791 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vdup_lane_u32(uint32x2_t __a,const int __b)5792 vdup_lane_u32 (uint32x2_t __a, const int __b)
5793 {
5794   return (uint32x2_t)__builtin_neon_vdup_lanev2si ((int32x2_t) __a, __b);
5795 }
5796 
5797 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vdup_lane_p8(poly8x8_t __a,const int __b)5798 vdup_lane_p8 (poly8x8_t __a, const int __b)
5799 {
5800   return (poly8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
5801 }
5802 
5803 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vdup_lane_p16(poly16x4_t __a,const int __b)5804 vdup_lane_p16 (poly16x4_t __a, const int __b)
5805 {
5806   return (poly16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
5807 }
5808 
5809 #ifdef __ARM_FEATURE_CRYPTO
5810 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vdup_lane_p64(poly64x1_t __a,const int __b)5811 vdup_lane_p64 (poly64x1_t __a, const int __b)
5812 {
5813   return (poly64x1_t)__builtin_neon_vdup_lanedi (__a, __b);
5814 }
5815 
5816 #endif
5817 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vdup_lane_s64(int64x1_t __a,const int __b)5818 vdup_lane_s64 (int64x1_t __a, const int __b)
5819 {
5820   return (int64x1_t)__builtin_neon_vdup_lanedi (__a, __b);
5821 }
5822 
5823 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vdup_lane_u64(uint64x1_t __a,const int __b)5824 vdup_lane_u64 (uint64x1_t __a, const int __b)
5825 {
5826   return (uint64x1_t)__builtin_neon_vdup_lanedi ((int64x1_t) __a, __b);
5827 }
5828 
5829 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vdupq_lane_s8(int8x8_t __a,const int __b)5830 vdupq_lane_s8 (int8x8_t __a, const int __b)
5831 {
5832   return (int8x16_t)__builtin_neon_vdup_lanev16qi (__a, __b);
5833 }
5834 
5835 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vdupq_lane_s16(int16x4_t __a,const int __b)5836 vdupq_lane_s16 (int16x4_t __a, const int __b)
5837 {
5838   return (int16x8_t)__builtin_neon_vdup_lanev8hi (__a, __b);
5839 }
5840 
5841 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vdupq_lane_s32(int32x2_t __a,const int __b)5842 vdupq_lane_s32 (int32x2_t __a, const int __b)
5843 {
5844   return (int32x4_t)__builtin_neon_vdup_lanev4si (__a, __b);
5845 }
5846 
5847 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vdupq_lane_f32(float32x2_t __a,const int __b)5848 vdupq_lane_f32 (float32x2_t __a, const int __b)
5849 {
5850   return (float32x4_t)__builtin_neon_vdup_lanev4sf (__a, __b);
5851 }
5852 
5853 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vdupq_lane_u8(uint8x8_t __a,const int __b)5854 vdupq_lane_u8 (uint8x8_t __a, const int __b)
5855 {
5856   return (uint8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
5857 }
5858 
5859 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vdupq_lane_u16(uint16x4_t __a,const int __b)5860 vdupq_lane_u16 (uint16x4_t __a, const int __b)
5861 {
5862   return (uint16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
5863 }
5864 
5865 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vdupq_lane_u32(uint32x2_t __a,const int __b)5866 vdupq_lane_u32 (uint32x2_t __a, const int __b)
5867 {
5868   return (uint32x4_t)__builtin_neon_vdup_lanev4si ((int32x2_t) __a, __b);
5869 }
5870 
5871 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vdupq_lane_p8(poly8x8_t __a,const int __b)5872 vdupq_lane_p8 (poly8x8_t __a, const int __b)
5873 {
5874   return (poly8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
5875 }
5876 
5877 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vdupq_lane_p16(poly16x4_t __a,const int __b)5878 vdupq_lane_p16 (poly16x4_t __a, const int __b)
5879 {
5880   return (poly16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
5881 }
5882 
5883 #ifdef __ARM_FEATURE_CRYPTO
5884 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vdupq_lane_p64(poly64x1_t __a,const int __b)5885 vdupq_lane_p64 (poly64x1_t __a, const int __b)
5886 {
5887   return (poly64x2_t)__builtin_neon_vdup_lanev2di (__a, __b);
5888 }
5889 
5890 #endif
5891 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vdupq_lane_s64(int64x1_t __a,const int __b)5892 vdupq_lane_s64 (int64x1_t __a, const int __b)
5893 {
5894   return (int64x2_t)__builtin_neon_vdup_lanev2di (__a, __b);
5895 }
5896 
5897 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vdupq_lane_u64(uint64x1_t __a,const int __b)5898 vdupq_lane_u64 (uint64x1_t __a, const int __b)
5899 {
5900   return (uint64x2_t)__builtin_neon_vdup_lanev2di ((int64x1_t) __a, __b);
5901 }
5902 
5903 #ifdef __ARM_FEATURE_CRYPTO
5904 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vcombine_p64(poly64x1_t __a,poly64x1_t __b)5905 vcombine_p64 (poly64x1_t __a, poly64x1_t __b)
5906 {
5907   return (poly64x2_t)__builtin_neon_vcombinedi (__a, __b);
5908 }
5909 
5910 #endif
5911 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vcombine_s8(int8x8_t __a,int8x8_t __b)5912 vcombine_s8 (int8x8_t __a, int8x8_t __b)
5913 {
5914   return (int8x16_t)__builtin_neon_vcombinev8qi (__a, __b);
5915 }
5916 
5917 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vcombine_s16(int16x4_t __a,int16x4_t __b)5918 vcombine_s16 (int16x4_t __a, int16x4_t __b)
5919 {
5920   return (int16x8_t)__builtin_neon_vcombinev4hi (__a, __b);
5921 }
5922 
5923 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vcombine_s32(int32x2_t __a,int32x2_t __b)5924 vcombine_s32 (int32x2_t __a, int32x2_t __b)
5925 {
5926   return (int32x4_t)__builtin_neon_vcombinev2si (__a, __b);
5927 }
5928 
5929 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vcombine_s64(int64x1_t __a,int64x1_t __b)5930 vcombine_s64 (int64x1_t __a, int64x1_t __b)
5931 {
5932   return (int64x2_t)__builtin_neon_vcombinedi (__a, __b);
5933 }
5934 
5935 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vcombine_f32(float32x2_t __a,float32x2_t __b)5936 vcombine_f32 (float32x2_t __a, float32x2_t __b)
5937 {
5938   return (float32x4_t)__builtin_neon_vcombinev2sf (__a, __b);
5939 }
5940 
5941 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcombine_u8(uint8x8_t __a,uint8x8_t __b)5942 vcombine_u8 (uint8x8_t __a, uint8x8_t __b)
5943 {
5944   return (uint8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
5945 }
5946 
5947 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcombine_u16(uint16x4_t __a,uint16x4_t __b)5948 vcombine_u16 (uint16x4_t __a, uint16x4_t __b)
5949 {
5950   return (uint16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
5951 }
5952 
5953 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcombine_u32(uint32x2_t __a,uint32x2_t __b)5954 vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
5955 {
5956   return (uint32x4_t)__builtin_neon_vcombinev2si ((int32x2_t) __a, (int32x2_t) __b);
5957 }
5958 
5959 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vcombine_u64(uint64x1_t __a,uint64x1_t __b)5960 vcombine_u64 (uint64x1_t __a, uint64x1_t __b)
5961 {
5962   return (uint64x2_t)__builtin_neon_vcombinedi ((int64x1_t) __a, (int64x1_t) __b);
5963 }
5964 
5965 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vcombine_p8(poly8x8_t __a,poly8x8_t __b)5966 vcombine_p8 (poly8x8_t __a, poly8x8_t __b)
5967 {
5968   return (poly8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
5969 }
5970 
5971 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vcombine_p16(poly16x4_t __a,poly16x4_t __b)5972 vcombine_p16 (poly16x4_t __a, poly16x4_t __b)
5973 {
5974   return (poly16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
5975 }
5976 
5977 #ifdef __ARM_FEATURE_CRYPTO
5978 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vget_high_p64(poly64x2_t __a)5979 vget_high_p64 (poly64x2_t __a)
5980 {
5981   return (poly64x1_t)__builtin_neon_vget_highv2di ((int64x2_t) __a);
5982 }
5983 
5984 #endif
5985 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vget_high_s8(int8x16_t __a)5986 vget_high_s8 (int8x16_t __a)
5987 {
5988   return (int8x8_t)__builtin_neon_vget_highv16qi (__a);
5989 }
5990 
5991 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vget_high_s16(int16x8_t __a)5992 vget_high_s16 (int16x8_t __a)
5993 {
5994   return (int16x4_t)__builtin_neon_vget_highv8hi (__a);
5995 }
5996 
5997 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vget_high_s32(int32x4_t __a)5998 vget_high_s32 (int32x4_t __a)
5999 {
6000   return (int32x2_t)__builtin_neon_vget_highv4si (__a);
6001 }
6002 
6003 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vget_high_s64(int64x2_t __a)6004 vget_high_s64 (int64x2_t __a)
6005 {
6006   return (int64x1_t)__builtin_neon_vget_highv2di (__a);
6007 }
6008 
6009 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vget_high_f32(float32x4_t __a)6010 vget_high_f32 (float32x4_t __a)
6011 {
6012   return (float32x2_t)__builtin_neon_vget_highv4sf (__a);
6013 }
6014 
6015 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vget_high_u8(uint8x16_t __a)6016 vget_high_u8 (uint8x16_t __a)
6017 {
6018   return (uint8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
6019 }
6020 
6021 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vget_high_u16(uint16x8_t __a)6022 vget_high_u16 (uint16x8_t __a)
6023 {
6024   return (uint16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
6025 }
6026 
6027 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vget_high_u32(uint32x4_t __a)6028 vget_high_u32 (uint32x4_t __a)
6029 {
6030   return (uint32x2_t)__builtin_neon_vget_highv4si ((int32x4_t) __a);
6031 }
6032 
6033 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vget_high_u64(uint64x2_t __a)6034 vget_high_u64 (uint64x2_t __a)
6035 {
6036   return (uint64x1_t)__builtin_neon_vget_highv2di ((int64x2_t) __a);
6037 }
6038 
6039 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vget_high_p8(poly8x16_t __a)6040 vget_high_p8 (poly8x16_t __a)
6041 {
6042   return (poly8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
6043 }
6044 
6045 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vget_high_p16(poly16x8_t __a)6046 vget_high_p16 (poly16x8_t __a)
6047 {
6048   return (poly16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
6049 }
6050 
6051 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vget_low_s8(int8x16_t __a)6052 vget_low_s8 (int8x16_t __a)
6053 {
6054   return (int8x8_t)__builtin_neon_vget_lowv16qi (__a);
6055 }
6056 
6057 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vget_low_s16(int16x8_t __a)6058 vget_low_s16 (int16x8_t __a)
6059 {
6060   return (int16x4_t)__builtin_neon_vget_lowv8hi (__a);
6061 }
6062 
6063 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vget_low_s32(int32x4_t __a)6064 vget_low_s32 (int32x4_t __a)
6065 {
6066   return (int32x2_t)__builtin_neon_vget_lowv4si (__a);
6067 }
6068 
6069 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vget_low_f32(float32x4_t __a)6070 vget_low_f32 (float32x4_t __a)
6071 {
6072   return (float32x2_t)__builtin_neon_vget_lowv4sf (__a);
6073 }
6074 
6075 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vget_low_u8(uint8x16_t __a)6076 vget_low_u8 (uint8x16_t __a)
6077 {
6078   return (uint8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
6079 }
6080 
6081 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vget_low_u16(uint16x8_t __a)6082 vget_low_u16 (uint16x8_t __a)
6083 {
6084   return (uint16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
6085 }
6086 
6087 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vget_low_u32(uint32x4_t __a)6088 vget_low_u32 (uint32x4_t __a)
6089 {
6090   return (uint32x2_t)__builtin_neon_vget_lowv4si ((int32x4_t) __a);
6091 }
6092 
6093 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vget_low_p8(poly8x16_t __a)6094 vget_low_p8 (poly8x16_t __a)
6095 {
6096   return (poly8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
6097 }
6098 
6099 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vget_low_p16(poly16x8_t __a)6100 vget_low_p16 (poly16x8_t __a)
6101 {
6102   return (poly16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
6103 }
6104 
6105 #ifdef __ARM_FEATURE_CRYPTO
6106 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vget_low_p64(poly64x2_t __a)6107 vget_low_p64 (poly64x2_t __a)
6108 {
6109   return (poly64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a);
6110 }
6111 
6112 #endif
6113 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vget_low_s64(int64x2_t __a)6114 vget_low_s64 (int64x2_t __a)
6115 {
6116   return (int64x1_t)__builtin_neon_vget_lowv2di (__a);
6117 }
6118 
6119 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vget_low_u64(uint64x2_t __a)6120 vget_low_u64 (uint64x2_t __a)
6121 {
6122   return (uint64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a);
6123 }
6124 
6125 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vcvt_s32_f32(float32x2_t __a)6126 vcvt_s32_f32 (float32x2_t __a)
6127 {
6128   return (int32x2_t)__builtin_neon_vcvtv2sf (__a, 1);
6129 }
6130 
6131 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vcvt_f32_s32(int32x2_t __a)6132 vcvt_f32_s32 (int32x2_t __a)
6133 {
6134   return (float32x2_t)__builtin_neon_vcvtv2si (__a, 1);
6135 }
6136 
6137 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vcvt_f32_u32(uint32x2_t __a)6138 vcvt_f32_u32 (uint32x2_t __a)
6139 {
6140   return (float32x2_t)__builtin_neon_vcvtv2si ((int32x2_t) __a, 0);
6141 }
6142 
6143 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcvt_u32_f32(float32x2_t __a)6144 vcvt_u32_f32 (float32x2_t __a)
6145 {
6146   return (uint32x2_t)__builtin_neon_vcvtv2sf (__a, 0);
6147 }
6148 
6149 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vcvtq_s32_f32(float32x4_t __a)6150 vcvtq_s32_f32 (float32x4_t __a)
6151 {
6152   return (int32x4_t)__builtin_neon_vcvtv4sf (__a, 1);
6153 }
6154 
6155 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vcvtq_f32_s32(int32x4_t __a)6156 vcvtq_f32_s32 (int32x4_t __a)
6157 {
6158   return (float32x4_t)__builtin_neon_vcvtv4si (__a, 1);
6159 }
6160 
6161 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vcvtq_f32_u32(uint32x4_t __a)6162 vcvtq_f32_u32 (uint32x4_t __a)
6163 {
6164   return (float32x4_t)__builtin_neon_vcvtv4si ((int32x4_t) __a, 0);
6165 }
6166 
6167 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcvtq_u32_f32(float32x4_t __a)6168 vcvtq_u32_f32 (float32x4_t __a)
6169 {
6170   return (uint32x4_t)__builtin_neon_vcvtv4sf (__a, 0);
6171 }
6172 
6173 #if ((__ARM_FP & 0x2) != 0)
6174 __extension__ static __inline float16x4_t __attribute__ ((__always_inline__))
vcvt_f16_f32(float32x4_t __a)6175 vcvt_f16_f32 (float32x4_t __a)
6176 {
6177   return (float16x4_t)__builtin_neon_vcvtv4hfv4sf (__a);
6178 }
6179 
6180 #endif
6181 #if ((__ARM_FP & 0x2) != 0)
6182 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vcvt_f32_f16(float16x4_t __a)6183 vcvt_f32_f16 (float16x4_t __a)
6184 {
6185   return (float32x4_t)__builtin_neon_vcvtv4sfv4hf (__a);
6186 }
6187 
6188 #endif
6189 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vcvt_n_s32_f32(float32x2_t __a,const int __b)6190 vcvt_n_s32_f32 (float32x2_t __a, const int __b)
6191 {
6192   return (int32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 1);
6193 }
6194 
6195 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vcvt_n_f32_s32(int32x2_t __a,const int __b)6196 vcvt_n_f32_s32 (int32x2_t __a, const int __b)
6197 {
6198   return (float32x2_t)__builtin_neon_vcvt_nv2si (__a, __b, 1);
6199 }
6200 
6201 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vcvt_n_f32_u32(uint32x2_t __a,const int __b)6202 vcvt_n_f32_u32 (uint32x2_t __a, const int __b)
6203 {
6204   return (float32x2_t)__builtin_neon_vcvt_nv2si ((int32x2_t) __a, __b, 0);
6205 }
6206 
6207 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcvt_n_u32_f32(float32x2_t __a,const int __b)6208 vcvt_n_u32_f32 (float32x2_t __a, const int __b)
6209 {
6210   return (uint32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 0);
6211 }
6212 
6213 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vcvtq_n_s32_f32(float32x4_t __a,const int __b)6214 vcvtq_n_s32_f32 (float32x4_t __a, const int __b)
6215 {
6216   return (int32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 1);
6217 }
6218 
6219 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vcvtq_n_f32_s32(int32x4_t __a,const int __b)6220 vcvtq_n_f32_s32 (int32x4_t __a, const int __b)
6221 {
6222   return (float32x4_t)__builtin_neon_vcvt_nv4si (__a, __b, 1);
6223 }
6224 
6225 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vcvtq_n_f32_u32(uint32x4_t __a,const int __b)6226 vcvtq_n_f32_u32 (uint32x4_t __a, const int __b)
6227 {
6228   return (float32x4_t)__builtin_neon_vcvt_nv4si ((int32x4_t) __a, __b, 0);
6229 }
6230 
6231 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcvtq_n_u32_f32(float32x4_t __a,const int __b)6232 vcvtq_n_u32_f32 (float32x4_t __a, const int __b)
6233 {
6234   return (uint32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 0);
6235 }
6236 
6237 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmovn_s16(int16x8_t __a)6238 vmovn_s16 (int16x8_t __a)
6239 {
6240   return (int8x8_t)__builtin_neon_vmovnv8hi (__a, 1);
6241 }
6242 
6243 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmovn_s32(int32x4_t __a)6244 vmovn_s32 (int32x4_t __a)
6245 {
6246   return (int16x4_t)__builtin_neon_vmovnv4si (__a, 1);
6247 }
6248 
6249 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmovn_s64(int64x2_t __a)6250 vmovn_s64 (int64x2_t __a)
6251 {
6252   return (int32x2_t)__builtin_neon_vmovnv2di (__a, 1);
6253 }
6254 
6255 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmovn_u16(uint16x8_t __a)6256 vmovn_u16 (uint16x8_t __a)
6257 {
6258   return (uint8x8_t)__builtin_neon_vmovnv8hi ((int16x8_t) __a, 0);
6259 }
6260 
6261 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmovn_u32(uint32x4_t __a)6262 vmovn_u32 (uint32x4_t __a)
6263 {
6264   return (uint16x4_t)__builtin_neon_vmovnv4si ((int32x4_t) __a, 0);
6265 }
6266 
6267 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmovn_u64(uint64x2_t __a)6268 vmovn_u64 (uint64x2_t __a)
6269 {
6270   return (uint32x2_t)__builtin_neon_vmovnv2di ((int64x2_t) __a, 0);
6271 }
6272 
6273 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqmovn_s16(int16x8_t __a)6274 vqmovn_s16 (int16x8_t __a)
6275 {
6276   return (int8x8_t)__builtin_neon_vqmovnv8hi (__a, 1);
6277 }
6278 
6279 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqmovn_s32(int32x4_t __a)6280 vqmovn_s32 (int32x4_t __a)
6281 {
6282   return (int16x4_t)__builtin_neon_vqmovnv4si (__a, 1);
6283 }
6284 
6285 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqmovn_s64(int64x2_t __a)6286 vqmovn_s64 (int64x2_t __a)
6287 {
6288   return (int32x2_t)__builtin_neon_vqmovnv2di (__a, 1);
6289 }
6290 
6291 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqmovn_u16(uint16x8_t __a)6292 vqmovn_u16 (uint16x8_t __a)
6293 {
6294   return (uint8x8_t)__builtin_neon_vqmovnv8hi ((int16x8_t) __a, 0);
6295 }
6296 
6297 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqmovn_u32(uint32x4_t __a)6298 vqmovn_u32 (uint32x4_t __a)
6299 {
6300   return (uint16x4_t)__builtin_neon_vqmovnv4si ((int32x4_t) __a, 0);
6301 }
6302 
6303 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqmovn_u64(uint64x2_t __a)6304 vqmovn_u64 (uint64x2_t __a)
6305 {
6306   return (uint32x2_t)__builtin_neon_vqmovnv2di ((int64x2_t) __a, 0);
6307 }
6308 
6309 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqmovun_s16(int16x8_t __a)6310 vqmovun_s16 (int16x8_t __a)
6311 {
6312   return (uint8x8_t)__builtin_neon_vqmovunv8hi (__a, 1);
6313 }
6314 
6315 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqmovun_s32(int32x4_t __a)6316 vqmovun_s32 (int32x4_t __a)
6317 {
6318   return (uint16x4_t)__builtin_neon_vqmovunv4si (__a, 1);
6319 }
6320 
6321 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqmovun_s64(int64x2_t __a)6322 vqmovun_s64 (int64x2_t __a)
6323 {
6324   return (uint32x2_t)__builtin_neon_vqmovunv2di (__a, 1);
6325 }
6326 
6327 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmovl_s8(int8x8_t __a)6328 vmovl_s8 (int8x8_t __a)
6329 {
6330   return (int16x8_t)__builtin_neon_vmovlv8qi (__a, 1);
6331 }
6332 
6333 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmovl_s16(int16x4_t __a)6334 vmovl_s16 (int16x4_t __a)
6335 {
6336   return (int32x4_t)__builtin_neon_vmovlv4hi (__a, 1);
6337 }
6338 
6339 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmovl_s32(int32x2_t __a)6340 vmovl_s32 (int32x2_t __a)
6341 {
6342   return (int64x2_t)__builtin_neon_vmovlv2si (__a, 1);
6343 }
6344 
6345 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmovl_u8(uint8x8_t __a)6346 vmovl_u8 (uint8x8_t __a)
6347 {
6348   return (uint16x8_t)__builtin_neon_vmovlv8qi ((int8x8_t) __a, 0);
6349 }
6350 
6351 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmovl_u16(uint16x4_t __a)6352 vmovl_u16 (uint16x4_t __a)
6353 {
6354   return (uint32x4_t)__builtin_neon_vmovlv4hi ((int16x4_t) __a, 0);
6355 }
6356 
6357 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmovl_u32(uint32x2_t __a)6358 vmovl_u32 (uint32x2_t __a)
6359 {
6360   return (uint64x2_t)__builtin_neon_vmovlv2si ((int32x2_t) __a, 0);
6361 }
6362 
6363 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbl1_s8(int8x8_t __a,int8x8_t __b)6364 vtbl1_s8 (int8x8_t __a, int8x8_t __b)
6365 {
6366   return (int8x8_t)__builtin_neon_vtbl1v8qi (__a, __b);
6367 }
6368 
6369 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbl1_u8(uint8x8_t __a,uint8x8_t __b)6370 vtbl1_u8 (uint8x8_t __a, uint8x8_t __b)
6371 {
6372   return (uint8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
6373 }
6374 
6375 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbl1_p8(poly8x8_t __a,uint8x8_t __b)6376 vtbl1_p8 (poly8x8_t __a, uint8x8_t __b)
6377 {
6378   return (poly8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
6379 }
6380 
6381 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbl2_s8(int8x8x2_t __a,int8x8_t __b)6382 vtbl2_s8 (int8x8x2_t __a, int8x8_t __b)
6383 {
6384   union { int8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6385   return (int8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, __b);
6386 }
6387 
6388 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbl2_u8(uint8x8x2_t __a,uint8x8_t __b)6389 vtbl2_u8 (uint8x8x2_t __a, uint8x8_t __b)
6390 {
6391   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6392   return (uint8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
6393 }
6394 
6395 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbl2_p8(poly8x8x2_t __a,uint8x8_t __b)6396 vtbl2_p8 (poly8x8x2_t __a, uint8x8_t __b)
6397 {
6398   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6399   return (poly8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
6400 }
6401 
6402 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbl3_s8(int8x8x3_t __a,int8x8_t __b)6403 vtbl3_s8 (int8x8x3_t __a, int8x8_t __b)
6404 {
6405   union { int8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6406   return (int8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, __b);
6407 }
6408 
6409 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbl3_u8(uint8x8x3_t __a,uint8x8_t __b)6410 vtbl3_u8 (uint8x8x3_t __a, uint8x8_t __b)
6411 {
6412   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6413   return (uint8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
6414 }
6415 
6416 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbl3_p8(poly8x8x3_t __a,uint8x8_t __b)6417 vtbl3_p8 (poly8x8x3_t __a, uint8x8_t __b)
6418 {
6419   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6420   return (poly8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
6421 }
6422 
6423 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbl4_s8(int8x8x4_t __a,int8x8_t __b)6424 vtbl4_s8 (int8x8x4_t __a, int8x8_t __b)
6425 {
6426   union { int8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6427   return (int8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, __b);
6428 }
6429 
6430 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbl4_u8(uint8x8x4_t __a,uint8x8_t __b)6431 vtbl4_u8 (uint8x8x4_t __a, uint8x8_t __b)
6432 {
6433   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6434   return (uint8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
6435 }
6436 
6437 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbl4_p8(poly8x8x4_t __a,uint8x8_t __b)6438 vtbl4_p8 (poly8x8x4_t __a, uint8x8_t __b)
6439 {
6440   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6441   return (poly8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
6442 }
6443 
6444 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbx1_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)6445 vtbx1_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
6446 {
6447   return (int8x8_t)__builtin_neon_vtbx1v8qi (__a, __b, __c);
6448 }
6449 
6450 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbx1_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)6451 vtbx1_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
6452 {
6453   return (uint8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
6454 }
6455 
6456 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbx1_p8(poly8x8_t __a,poly8x8_t __b,uint8x8_t __c)6457 vtbx1_p8 (poly8x8_t __a, poly8x8_t __b, uint8x8_t __c)
6458 {
6459   return (poly8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
6460 }
6461 
6462 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbx2_s8(int8x8_t __a,int8x8x2_t __b,int8x8_t __c)6463 vtbx2_s8 (int8x8_t __a, int8x8x2_t __b, int8x8_t __c)
6464 {
6465   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6466   return (int8x8_t)__builtin_neon_vtbx2v8qi (__a, __bu.__o, __c);
6467 }
6468 
6469 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbx2_u8(uint8x8_t __a,uint8x8x2_t __b,uint8x8_t __c)6470 vtbx2_u8 (uint8x8_t __a, uint8x8x2_t __b, uint8x8_t __c)
6471 {
6472   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6473   return (uint8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6474 }
6475 
6476 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbx2_p8(poly8x8_t __a,poly8x8x2_t __b,uint8x8_t __c)6477 vtbx2_p8 (poly8x8_t __a, poly8x8x2_t __b, uint8x8_t __c)
6478 {
6479   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6480   return (poly8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6481 }
6482 
6483 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbx3_s8(int8x8_t __a,int8x8x3_t __b,int8x8_t __c)6484 vtbx3_s8 (int8x8_t __a, int8x8x3_t __b, int8x8_t __c)
6485 {
6486   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6487   return (int8x8_t)__builtin_neon_vtbx3v8qi (__a, __bu.__o, __c);
6488 }
6489 
6490 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbx3_u8(uint8x8_t __a,uint8x8x3_t __b,uint8x8_t __c)6491 vtbx3_u8 (uint8x8_t __a, uint8x8x3_t __b, uint8x8_t __c)
6492 {
6493   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6494   return (uint8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6495 }
6496 
6497 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbx3_p8(poly8x8_t __a,poly8x8x3_t __b,uint8x8_t __c)6498 vtbx3_p8 (poly8x8_t __a, poly8x8x3_t __b, uint8x8_t __c)
6499 {
6500   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6501   return (poly8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6502 }
6503 
6504 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbx4_s8(int8x8_t __a,int8x8x4_t __b,int8x8_t __c)6505 vtbx4_s8 (int8x8_t __a, int8x8x4_t __b, int8x8_t __c)
6506 {
6507   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6508   return (int8x8_t)__builtin_neon_vtbx4v8qi (__a, __bu.__o, __c);
6509 }
6510 
6511 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbx4_u8(uint8x8_t __a,uint8x8x4_t __b,uint8x8_t __c)6512 vtbx4_u8 (uint8x8_t __a, uint8x8x4_t __b, uint8x8_t __c)
6513 {
6514   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6515   return (uint8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6516 }
6517 
6518 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbx4_p8(poly8x8_t __a,poly8x8x4_t __b,uint8x8_t __c)6519 vtbx4_p8 (poly8x8_t __a, poly8x8x4_t __b, uint8x8_t __c)
6520 {
6521   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6522   return (poly8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6523 }
6524 
6525 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmul_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)6526 vmul_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6527 {
6528   return (int16x4_t)__builtin_neon_vmul_lanev4hi (__a, __b, __c, 1);
6529 }
6530 
6531 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmul_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)6532 vmul_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6533 {
6534   return (int32x2_t)__builtin_neon_vmul_lanev2si (__a, __b, __c, 1);
6535 }
6536 
6537 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmul_lane_f32(float32x2_t __a,float32x2_t __b,const int __c)6538 vmul_lane_f32 (float32x2_t __a, float32x2_t __b, const int __c)
6539 {
6540   return (float32x2_t)__builtin_neon_vmul_lanev2sf (__a, __b, __c, 3);
6541 }
6542 
6543 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmul_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __c)6544 vmul_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
6545 {
6546   return (uint16x4_t)__builtin_neon_vmul_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
6547 }
6548 
6549 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmul_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __c)6550 vmul_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
6551 {
6552   return (uint32x2_t)__builtin_neon_vmul_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
6553 }
6554 
6555 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmulq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)6556 vmulq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6557 {
6558   return (int16x8_t)__builtin_neon_vmul_lanev8hi (__a, __b, __c, 1);
6559 }
6560 
6561 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmulq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)6562 vmulq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6563 {
6564   return (int32x4_t)__builtin_neon_vmul_lanev4si (__a, __b, __c, 1);
6565 }
6566 
6567 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmulq_lane_f32(float32x4_t __a,float32x2_t __b,const int __c)6568 vmulq_lane_f32 (float32x4_t __a, float32x2_t __b, const int __c)
6569 {
6570   return (float32x4_t)__builtin_neon_vmul_lanev4sf (__a, __b, __c, 3);
6571 }
6572 
6573 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmulq_lane_u16(uint16x8_t __a,uint16x4_t __b,const int __c)6574 vmulq_lane_u16 (uint16x8_t __a, uint16x4_t __b, const int __c)
6575 {
6576   return (uint16x8_t)__builtin_neon_vmul_lanev8hi ((int16x8_t) __a, (int16x4_t) __b, __c, 0);
6577 }
6578 
6579 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmulq_lane_u32(uint32x4_t __a,uint32x2_t __b,const int __c)6580 vmulq_lane_u32 (uint32x4_t __a, uint32x2_t __b, const int __c)
6581 {
6582   return (uint32x4_t)__builtin_neon_vmul_lanev4si ((int32x4_t) __a, (int32x2_t) __b, __c, 0);
6583 }
6584 
6585 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmla_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)6586 vmla_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6587 {
6588   return (int16x4_t)__builtin_neon_vmla_lanev4hi (__a, __b, __c, __d, 1);
6589 }
6590 
6591 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmla_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)6592 vmla_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6593 {
6594   return (int32x2_t)__builtin_neon_vmla_lanev2si (__a, __b, __c, __d, 1);
6595 }
6596 
6597 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmla_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __d)6598 vmla_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
6599 {
6600   return (float32x2_t)__builtin_neon_vmla_lanev2sf (__a, __b, __c, __d, 3);
6601 }
6602 
6603 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmla_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)6604 vmla_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6605 {
6606   return (uint16x4_t)__builtin_neon_vmla_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6607 }
6608 
6609 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmla_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)6610 vmla_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6611 {
6612   return (uint32x2_t)__builtin_neon_vmla_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6613 }
6614 
6615 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlaq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)6616 vmlaq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
6617 {
6618   return (int16x8_t)__builtin_neon_vmla_lanev8hi (__a, __b, __c, __d, 1);
6619 }
6620 
6621 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlaq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)6622 vmlaq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
6623 {
6624   return (int32x4_t)__builtin_neon_vmla_lanev4si (__a, __b, __c, __d, 1);
6625 }
6626 
6627 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmlaq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __d)6628 vmlaq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
6629 {
6630   return (float32x4_t)__builtin_neon_vmla_lanev4sf (__a, __b, __c, __d, 3);
6631 }
6632 
6633 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlaq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __d)6634 vmlaq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
6635 {
6636   return (uint16x8_t)__builtin_neon_vmla_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0);
6637 }
6638 
6639 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlaq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __d)6640 vmlaq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
6641 {
6642   return (uint32x4_t)__builtin_neon_vmla_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0);
6643 }
6644 
6645 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlal_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)6646 vmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6647 {
6648   return (int32x4_t)__builtin_neon_vmlal_lanev4hi (__a, __b, __c, __d, 1);
6649 }
6650 
6651 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmlal_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)6652 vmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6653 {
6654   return (int64x2_t)__builtin_neon_vmlal_lanev2si (__a, __b, __c, __d, 1);
6655 }
6656 
6657 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlal_lane_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)6658 vmlal_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6659 {
6660   return (uint32x4_t)__builtin_neon_vmlal_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6661 }
6662 
6663 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmlal_lane_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)6664 vmlal_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6665 {
6666   return (uint64x2_t)__builtin_neon_vmlal_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6667 }
6668 
6669 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmlal_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)6670 vqdmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6671 {
6672   return (int32x4_t)__builtin_neon_vqdmlal_lanev4hi (__a, __b, __c, __d, 1);
6673 }
6674 
6675 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmlal_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)6676 vqdmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6677 {
6678   return (int64x2_t)__builtin_neon_vqdmlal_lanev2si (__a, __b, __c, __d, 1);
6679 }
6680 
6681 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmls_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)6682 vmls_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6683 {
6684   return (int16x4_t)__builtin_neon_vmls_lanev4hi (__a, __b, __c, __d, 1);
6685 }
6686 
6687 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmls_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)6688 vmls_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6689 {
6690   return (int32x2_t)__builtin_neon_vmls_lanev2si (__a, __b, __c, __d, 1);
6691 }
6692 
6693 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmls_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __d)6694 vmls_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
6695 {
6696   return (float32x2_t)__builtin_neon_vmls_lanev2sf (__a, __b, __c, __d, 3);
6697 }
6698 
6699 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmls_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)6700 vmls_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6701 {
6702   return (uint16x4_t)__builtin_neon_vmls_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6703 }
6704 
6705 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmls_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)6706 vmls_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6707 {
6708   return (uint32x2_t)__builtin_neon_vmls_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6709 }
6710 
6711 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlsq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)6712 vmlsq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
6713 {
6714   return (int16x8_t)__builtin_neon_vmls_lanev8hi (__a, __b, __c, __d, 1);
6715 }
6716 
6717 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlsq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)6718 vmlsq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
6719 {
6720   return (int32x4_t)__builtin_neon_vmls_lanev4si (__a, __b, __c, __d, 1);
6721 }
6722 
6723 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmlsq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __d)6724 vmlsq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
6725 {
6726   return (float32x4_t)__builtin_neon_vmls_lanev4sf (__a, __b, __c, __d, 3);
6727 }
6728 
6729 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlsq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __d)6730 vmlsq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
6731 {
6732   return (uint16x8_t)__builtin_neon_vmls_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0);
6733 }
6734 
6735 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlsq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __d)6736 vmlsq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
6737 {
6738   return (uint32x4_t)__builtin_neon_vmls_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0);
6739 }
6740 
6741 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlsl_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)6742 vmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6743 {
6744   return (int32x4_t)__builtin_neon_vmlsl_lanev4hi (__a, __b, __c, __d, 1);
6745 }
6746 
6747 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmlsl_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)6748 vmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6749 {
6750   return (int64x2_t)__builtin_neon_vmlsl_lanev2si (__a, __b, __c, __d, 1);
6751 }
6752 
6753 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlsl_lane_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)6754 vmlsl_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6755 {
6756   return (uint32x4_t)__builtin_neon_vmlsl_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6757 }
6758 
6759 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmlsl_lane_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)6760 vmlsl_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6761 {
6762   return (uint64x2_t)__builtin_neon_vmlsl_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6763 }
6764 
6765 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmlsl_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)6766 vqdmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6767 {
6768   return (int32x4_t)__builtin_neon_vqdmlsl_lanev4hi (__a, __b, __c, __d, 1);
6769 }
6770 
6771 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmlsl_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)6772 vqdmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6773 {
6774   return (int64x2_t)__builtin_neon_vqdmlsl_lanev2si (__a, __b, __c, __d, 1);
6775 }
6776 
6777 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmull_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)6778 vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6779 {
6780   return (int32x4_t)__builtin_neon_vmull_lanev4hi (__a, __b, __c, 1);
6781 }
6782 
6783 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmull_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)6784 vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6785 {
6786   return (int64x2_t)__builtin_neon_vmull_lanev2si (__a, __b, __c, 1);
6787 }
6788 
6789 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmull_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __c)6790 vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
6791 {
6792   return (uint32x4_t)__builtin_neon_vmull_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
6793 }
6794 
6795 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmull_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __c)6796 vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
6797 {
6798   return (uint64x2_t)__builtin_neon_vmull_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
6799 }
6800 
6801 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmull_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)6802 vqdmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6803 {
6804   return (int32x4_t)__builtin_neon_vqdmull_lanev4hi (__a, __b, __c, 1);
6805 }
6806 
6807 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmull_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)6808 vqdmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6809 {
6810   return (int64x2_t)__builtin_neon_vqdmull_lanev2si (__a, __b, __c, 1);
6811 }
6812 
6813 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)6814 vqdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6815 {
6816   return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 1);
6817 }
6818 
6819 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)6820 vqdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6821 {
6822   return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 1);
6823 }
6824 
6825 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)6826 vqdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6827 {
6828   return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 1);
6829 }
6830 
6831 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)6832 vqdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6833 {
6834   return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 1);
6835 }
6836 
6837 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqrdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)6838 vqrdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6839 {
6840   return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 5);
6841 }
6842 
6843 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqrdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)6844 vqrdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6845 {
6846   return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 5);
6847 }
6848 
6849 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqrdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)6850 vqrdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6851 {
6852   return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 5);
6853 }
6854 
6855 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqrdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)6856 vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6857 {
6858   return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 5);
6859 }
6860 
6861 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmul_n_s16(int16x4_t __a,int16_t __b)6862 vmul_n_s16 (int16x4_t __a, int16_t __b)
6863 {
6864   return (int16x4_t)__builtin_neon_vmul_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6865 }
6866 
6867 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmul_n_s32(int32x2_t __a,int32_t __b)6868 vmul_n_s32 (int32x2_t __a, int32_t __b)
6869 {
6870   return (int32x2_t)__builtin_neon_vmul_nv2si (__a, (__builtin_neon_si) __b, 1);
6871 }
6872 
6873 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmul_n_f32(float32x2_t __a,float32_t __b)6874 vmul_n_f32 (float32x2_t __a, float32_t __b)
6875 {
6876   return (float32x2_t)__builtin_neon_vmul_nv2sf (__a, (__builtin_neon_sf) __b, 3);
6877 }
6878 
6879 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmul_n_u16(uint16x4_t __a,uint16_t __b)6880 vmul_n_u16 (uint16x4_t __a, uint16_t __b)
6881 {
6882   return (uint16x4_t)__builtin_neon_vmul_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0);
6883 }
6884 
6885 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmul_n_u32(uint32x2_t __a,uint32_t __b)6886 vmul_n_u32 (uint32x2_t __a, uint32_t __b)
6887 {
6888   return (uint32x2_t)__builtin_neon_vmul_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0);
6889 }
6890 
6891 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmulq_n_s16(int16x8_t __a,int16_t __b)6892 vmulq_n_s16 (int16x8_t __a, int16_t __b)
6893 {
6894   return (int16x8_t)__builtin_neon_vmul_nv8hi (__a, (__builtin_neon_hi) __b, 1);
6895 }
6896 
6897 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmulq_n_s32(int32x4_t __a,int32_t __b)6898 vmulq_n_s32 (int32x4_t __a, int32_t __b)
6899 {
6900   return (int32x4_t)__builtin_neon_vmul_nv4si (__a, (__builtin_neon_si) __b, 1);
6901 }
6902 
6903 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmulq_n_f32(float32x4_t __a,float32_t __b)6904 vmulq_n_f32 (float32x4_t __a, float32_t __b)
6905 {
6906   return (float32x4_t)__builtin_neon_vmul_nv4sf (__a, (__builtin_neon_sf) __b, 3);
6907 }
6908 
6909 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmulq_n_u16(uint16x8_t __a,uint16_t __b)6910 vmulq_n_u16 (uint16x8_t __a, uint16_t __b)
6911 {
6912   return (uint16x8_t)__builtin_neon_vmul_nv8hi ((int16x8_t) __a, (__builtin_neon_hi) __b, 0);
6913 }
6914 
6915 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmulq_n_u32(uint32x4_t __a,uint32_t __b)6916 vmulq_n_u32 (uint32x4_t __a, uint32_t __b)
6917 {
6918   return (uint32x4_t)__builtin_neon_vmul_nv4si ((int32x4_t) __a, (__builtin_neon_si) __b, 0);
6919 }
6920 
6921 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmull_n_s16(int16x4_t __a,int16_t __b)6922 vmull_n_s16 (int16x4_t __a, int16_t __b)
6923 {
6924   return (int32x4_t)__builtin_neon_vmull_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6925 }
6926 
6927 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmull_n_s32(int32x2_t __a,int32_t __b)6928 vmull_n_s32 (int32x2_t __a, int32_t __b)
6929 {
6930   return (int64x2_t)__builtin_neon_vmull_nv2si (__a, (__builtin_neon_si) __b, 1);
6931 }
6932 
6933 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmull_n_u16(uint16x4_t __a,uint16_t __b)6934 vmull_n_u16 (uint16x4_t __a, uint16_t __b)
6935 {
6936   return (uint32x4_t)__builtin_neon_vmull_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0);
6937 }
6938 
6939 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmull_n_u32(uint32x2_t __a,uint32_t __b)6940 vmull_n_u32 (uint32x2_t __a, uint32_t __b)
6941 {
6942   return (uint64x2_t)__builtin_neon_vmull_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0);
6943 }
6944 
6945 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmull_n_s16(int16x4_t __a,int16_t __b)6946 vqdmull_n_s16 (int16x4_t __a, int16_t __b)
6947 {
6948   return (int32x4_t)__builtin_neon_vqdmull_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6949 }
6950 
6951 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmull_n_s32(int32x2_t __a,int32_t __b)6952 vqdmull_n_s32 (int32x2_t __a, int32_t __b)
6953 {
6954   return (int64x2_t)__builtin_neon_vqdmull_nv2si (__a, (__builtin_neon_si) __b, 1);
6955 }
6956 
6957 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqdmulhq_n_s16(int16x8_t __a,int16_t __b)6958 vqdmulhq_n_s16 (int16x8_t __a, int16_t __b)
6959 {
6960   return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 1);
6961 }
6962 
6963 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmulhq_n_s32(int32x4_t __a,int32_t __b)6964 vqdmulhq_n_s32 (int32x4_t __a, int32_t __b)
6965 {
6966   return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 1);
6967 }
6968 
6969 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqdmulh_n_s16(int16x4_t __a,int16_t __b)6970 vqdmulh_n_s16 (int16x4_t __a, int16_t __b)
6971 {
6972   return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6973 }
6974 
6975 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqdmulh_n_s32(int32x2_t __a,int32_t __b)6976 vqdmulh_n_s32 (int32x2_t __a, int32_t __b)
6977 {
6978   return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 1);
6979 }
6980 
6981 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqrdmulhq_n_s16(int16x8_t __a,int16_t __b)6982 vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b)
6983 {
6984   return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 5);
6985 }
6986 
6987 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqrdmulhq_n_s32(int32x4_t __a,int32_t __b)6988 vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b)
6989 {
6990   return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 5);
6991 }
6992 
6993 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqrdmulh_n_s16(int16x4_t __a,int16_t __b)6994 vqrdmulh_n_s16 (int16x4_t __a, int16_t __b)
6995 {
6996   return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 5);
6997 }
6998 
6999 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqrdmulh_n_s32(int32x2_t __a,int32_t __b)7000 vqrdmulh_n_s32 (int32x2_t __a, int32_t __b)
7001 {
7002   return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 5);
7003 }
7004 
7005 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmla_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)7006 vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
7007 {
7008   return (int16x4_t)__builtin_neon_vmla_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7009 }
7010 
7011 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmla_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)7012 vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
7013 {
7014   return (int32x2_t)__builtin_neon_vmla_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7015 }
7016 
7017 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmla_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)7018 vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
7019 {
7020   return (float32x2_t)__builtin_neon_vmla_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3);
7021 }
7022 
7023 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmla_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)7024 vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
7025 {
7026   return (uint16x4_t)__builtin_neon_vmla_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
7027 }
7028 
7029 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmla_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)7030 vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
7031 {
7032   return (uint32x2_t)__builtin_neon_vmla_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
7033 }
7034 
7035 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlaq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)7036 vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
7037 {
7038   return (int16x8_t)__builtin_neon_vmla_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1);
7039 }
7040 
7041 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlaq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)7042 vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
7043 {
7044   return (int32x4_t)__builtin_neon_vmla_nv4si (__a, __b, (__builtin_neon_si) __c, 1);
7045 }
7046 
7047 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmlaq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)7048 vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
7049 {
7050   return (float32x4_t)__builtin_neon_vmla_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3);
7051 }
7052 
7053 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlaq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)7054 vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
7055 {
7056   return (uint16x8_t)__builtin_neon_vmla_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0);
7057 }
7058 
7059 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlaq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)7060 vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
7061 {
7062   return (uint32x4_t)__builtin_neon_vmla_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0);
7063 }
7064 
7065 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)7066 vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7067 {
7068   return (int32x4_t)__builtin_neon_vmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7069 }
7070 
7071 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)7072 vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7073 {
7074   return (int64x2_t)__builtin_neon_vmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7075 }
7076 
7077 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlal_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)7078 vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
7079 {
7080   return (uint32x4_t)__builtin_neon_vmlal_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
7081 }
7082 
7083 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmlal_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)7084 vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
7085 {
7086   return (uint64x2_t)__builtin_neon_vmlal_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
7087 }
7088 
7089 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)7090 vqdmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7091 {
7092   return (int32x4_t)__builtin_neon_vqdmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7093 }
7094 
7095 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)7096 vqdmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7097 {
7098   return (int64x2_t)__builtin_neon_vqdmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7099 }
7100 
7101 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmls_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)7102 vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
7103 {
7104   return (int16x4_t)__builtin_neon_vmls_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7105 }
7106 
7107 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmls_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)7108 vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
7109 {
7110   return (int32x2_t)__builtin_neon_vmls_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7111 }
7112 
7113 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmls_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)7114 vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
7115 {
7116   return (float32x2_t)__builtin_neon_vmls_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3);
7117 }
7118 
7119 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmls_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)7120 vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
7121 {
7122   return (uint16x4_t)__builtin_neon_vmls_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
7123 }
7124 
7125 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmls_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)7126 vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
7127 {
7128   return (uint32x2_t)__builtin_neon_vmls_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
7129 }
7130 
7131 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlsq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)7132 vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
7133 {
7134   return (int16x8_t)__builtin_neon_vmls_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1);
7135 }
7136 
7137 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlsq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)7138 vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
7139 {
7140   return (int32x4_t)__builtin_neon_vmls_nv4si (__a, __b, (__builtin_neon_si) __c, 1);
7141 }
7142 
7143 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmlsq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)7144 vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
7145 {
7146   return (float32x4_t)__builtin_neon_vmls_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3);
7147 }
7148 
7149 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlsq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)7150 vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
7151 {
7152   return (uint16x8_t)__builtin_neon_vmls_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0);
7153 }
7154 
7155 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlsq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)7156 vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
7157 {
7158   return (uint32x4_t)__builtin_neon_vmls_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0);
7159 }
7160 
7161 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)7162 vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7163 {
7164   return (int32x4_t)__builtin_neon_vmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7165 }
7166 
7167 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)7168 vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7169 {
7170   return (int64x2_t)__builtin_neon_vmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7171 }
7172 
7173 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlsl_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)7174 vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
7175 {
7176   return (uint32x4_t)__builtin_neon_vmlsl_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
7177 }
7178 
7179 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmlsl_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)7180 vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
7181 {
7182   return (uint64x2_t)__builtin_neon_vmlsl_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
7183 }
7184 
7185 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)7186 vqdmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7187 {
7188   return (int32x4_t)__builtin_neon_vqdmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7189 }
7190 
7191 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)7192 vqdmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7193 {
7194   return (int64x2_t)__builtin_neon_vqdmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7195 }
7196 
7197 #ifdef __ARM_FEATURE_CRYPTO
7198 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vext_p64(poly64x1_t __a,poly64x1_t __b,const int __c)7199 vext_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
7200 {
7201   return (poly64x1_t)__builtin_neon_vextdi (__a, __b, __c);
7202 }
7203 
7204 #endif
7205 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vext_s8(int8x8_t __a,int8x8_t __b,const int __c)7206 vext_s8 (int8x8_t __a, int8x8_t __b, const int __c)
7207 {
7208   return (int8x8_t)__builtin_neon_vextv8qi (__a, __b, __c);
7209 }
7210 
7211 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vext_s16(int16x4_t __a,int16x4_t __b,const int __c)7212 vext_s16 (int16x4_t __a, int16x4_t __b, const int __c)
7213 {
7214   return (int16x4_t)__builtin_neon_vextv4hi (__a, __b, __c);
7215 }
7216 
7217 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vext_s32(int32x2_t __a,int32x2_t __b,const int __c)7218 vext_s32 (int32x2_t __a, int32x2_t __b, const int __c)
7219 {
7220   return (int32x2_t)__builtin_neon_vextv2si (__a, __b, __c);
7221 }
7222 
7223 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vext_s64(int64x1_t __a,int64x1_t __b,const int __c)7224 vext_s64 (int64x1_t __a, int64x1_t __b, const int __c)
7225 {
7226   return (int64x1_t)__builtin_neon_vextdi (__a, __b, __c);
7227 }
7228 
7229 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vext_f32(float32x2_t __a,float32x2_t __b,const int __c)7230 vext_f32 (float32x2_t __a, float32x2_t __b, const int __c)
7231 {
7232   return (float32x2_t)__builtin_neon_vextv2sf (__a, __b, __c);
7233 }
7234 
7235 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vext_u8(uint8x8_t __a,uint8x8_t __b,const int __c)7236 vext_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
7237 {
7238   return (uint8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
7239 }
7240 
7241 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vext_u16(uint16x4_t __a,uint16x4_t __b,const int __c)7242 vext_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
7243 {
7244   return (uint16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
7245 }
7246 
7247 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vext_u32(uint32x2_t __a,uint32x2_t __b,const int __c)7248 vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
7249 {
7250   return (uint32x2_t)__builtin_neon_vextv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
7251 }
7252 
7253 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vext_u64(uint64x1_t __a,uint64x1_t __b,const int __c)7254 vext_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
7255 {
7256   return (uint64x1_t)__builtin_neon_vextdi ((int64x1_t) __a, (int64x1_t) __b, __c);
7257 }
7258 
7259 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vext_p8(poly8x8_t __a,poly8x8_t __b,const int __c)7260 vext_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
7261 {
7262   return (poly8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
7263 }
7264 
7265 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vext_p16(poly16x4_t __a,poly16x4_t __b,const int __c)7266 vext_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
7267 {
7268   return (poly16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
7269 }
7270 
7271 #ifdef __ARM_FEATURE_CRYPTO
7272 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vextq_p64(poly64x2_t __a,poly64x2_t __b,const int __c)7273 vextq_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
7274 {
7275   return (poly64x2_t)__builtin_neon_vextv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
7276 }
7277 
7278 #endif
7279 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vextq_s8(int8x16_t __a,int8x16_t __b,const int __c)7280 vextq_s8 (int8x16_t __a, int8x16_t __b, const int __c)
7281 {
7282   return (int8x16_t)__builtin_neon_vextv16qi (__a, __b, __c);
7283 }
7284 
7285 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vextq_s16(int16x8_t __a,int16x8_t __b,const int __c)7286 vextq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
7287 {
7288   return (int16x8_t)__builtin_neon_vextv8hi (__a, __b, __c);
7289 }
7290 
7291 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vextq_s32(int32x4_t __a,int32x4_t __b,const int __c)7292 vextq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
7293 {
7294   return (int32x4_t)__builtin_neon_vextv4si (__a, __b, __c);
7295 }
7296 
7297 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vextq_s64(int64x2_t __a,int64x2_t __b,const int __c)7298 vextq_s64 (int64x2_t __a, int64x2_t __b, const int __c)
7299 {
7300   return (int64x2_t)__builtin_neon_vextv2di (__a, __b, __c);
7301 }
7302 
7303 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vextq_f32(float32x4_t __a,float32x4_t __b,const int __c)7304 vextq_f32 (float32x4_t __a, float32x4_t __b, const int __c)
7305 {
7306   return (float32x4_t)__builtin_neon_vextv4sf (__a, __b, __c);
7307 }
7308 
7309 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vextq_u8(uint8x16_t __a,uint8x16_t __b,const int __c)7310 vextq_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
7311 {
7312   return (uint8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
7313 }
7314 
7315 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vextq_u16(uint16x8_t __a,uint16x8_t __b,const int __c)7316 vextq_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
7317 {
7318   return (uint16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
7319 }
7320 
7321 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vextq_u32(uint32x4_t __a,uint32x4_t __b,const int __c)7322 vextq_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
7323 {
7324   return (uint32x4_t)__builtin_neon_vextv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
7325 }
7326 
7327 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vextq_u64(uint64x2_t __a,uint64x2_t __b,const int __c)7328 vextq_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
7329 {
7330   return (uint64x2_t)__builtin_neon_vextv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
7331 }
7332 
7333 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vextq_p8(poly8x16_t __a,poly8x16_t __b,const int __c)7334 vextq_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
7335 {
7336   return (poly8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
7337 }
7338 
7339 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vextq_p16(poly16x8_t __a,poly16x8_t __b,const int __c)7340 vextq_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
7341 {
7342   return (poly16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
7343 }
7344 
7345 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrev64_s8(int8x8_t __a)7346 vrev64_s8 (int8x8_t __a)
7347 {
7348   return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
7349 }
7350 
7351 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrev64_s16(int16x4_t __a)7352 vrev64_s16 (int16x4_t __a)
7353 {
7354   return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
7355 }
7356 
7357 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrev64_s32(int32x2_t __a)7358 vrev64_s32 (int32x2_t __a)
7359 {
7360   return (int32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
7361 }
7362 
7363 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrev64_f32(float32x2_t __a)7364 vrev64_f32 (float32x2_t __a)
7365 {
7366   return (float32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
7367 }
7368 
7369 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrev64_u8(uint8x8_t __a)7370 vrev64_u8 (uint8x8_t __a)
7371 {
7372   return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
7373 }
7374 
7375 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrev64_u16(uint16x4_t __a)7376 vrev64_u16 (uint16x4_t __a)
7377 {
7378   return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
7379 }
7380 
7381 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrev64_u32(uint32x2_t __a)7382 vrev64_u32 (uint32x2_t __a)
7383 {
7384   return (uint32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
7385 }
7386 
7387 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vrev64_p8(poly8x8_t __a)7388 vrev64_p8 (poly8x8_t __a)
7389 {
7390   return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
7391 }
7392 
7393 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vrev64_p16(poly16x4_t __a)7394 vrev64_p16 (poly16x4_t __a)
7395 {
7396   return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
7397 }
7398 
7399 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrev64q_s8(int8x16_t __a)7400 vrev64q_s8 (int8x16_t __a)
7401 {
7402   return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
7403 }
7404 
7405 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vrev64q_s16(int16x8_t __a)7406 vrev64q_s16 (int16x8_t __a)
7407 {
7408   return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7409 }
7410 
7411 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vrev64q_s32(int32x4_t __a)7412 vrev64q_s32 (int32x4_t __a)
7413 {
7414   return (int32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
7415 }
7416 
7417 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrev64q_f32(float32x4_t __a)7418 vrev64q_f32 (float32x4_t __a)
7419 {
7420   return (float32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
7421 }
7422 
7423 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrev64q_u8(uint8x16_t __a)7424 vrev64q_u8 (uint8x16_t __a)
7425 {
7426   return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
7427 }
7428 
7429 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vrev64q_u16(uint16x8_t __a)7430 vrev64q_u16 (uint16x8_t __a)
7431 {
7432   return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7433 }
7434 
7435 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrev64q_u32(uint32x4_t __a)7436 vrev64q_u32 (uint32x4_t __a)
7437 {
7438   return (uint32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
7439 }
7440 
7441 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vrev64q_p8(poly8x16_t __a)7442 vrev64q_p8 (poly8x16_t __a)
7443 {
7444   return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
7445 }
7446 
7447 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vrev64q_p16(poly16x8_t __a)7448 vrev64q_p16 (poly16x8_t __a)
7449 {
7450   return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7451 }
7452 
7453 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrev32_s8(int8x8_t __a)7454 vrev32_s8 (int8x8_t __a)
7455 {
7456   return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7457 }
7458 
7459 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrev32_s16(int16x4_t __a)7460 vrev32_s16 (int16x4_t __a)
7461 {
7462   return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
7463 }
7464 
7465 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrev32_u8(uint8x8_t __a)7466 vrev32_u8 (uint8x8_t __a)
7467 {
7468   return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7469 }
7470 
7471 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrev32_u16(uint16x4_t __a)7472 vrev32_u16 (uint16x4_t __a)
7473 {
7474   return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
7475 }
7476 
7477 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vrev32_p8(poly8x8_t __a)7478 vrev32_p8 (poly8x8_t __a)
7479 {
7480   return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7481 }
7482 
7483 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vrev32_p16(poly16x4_t __a)7484 vrev32_p16 (poly16x4_t __a)
7485 {
7486   return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
7487 }
7488 
7489 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrev32q_s8(int8x16_t __a)7490 vrev32q_s8 (int8x16_t __a)
7491 {
7492   return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
7493 }
7494 
7495 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vrev32q_s16(int16x8_t __a)7496 vrev32q_s16 (int16x8_t __a)
7497 {
7498   return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7499 }
7500 
7501 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrev32q_u8(uint8x16_t __a)7502 vrev32q_u8 (uint8x16_t __a)
7503 {
7504   return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
7505 }
7506 
7507 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vrev32q_u16(uint16x8_t __a)7508 vrev32q_u16 (uint16x8_t __a)
7509 {
7510   return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7511 }
7512 
7513 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vrev32q_p8(poly8x16_t __a)7514 vrev32q_p8 (poly8x16_t __a)
7515 {
7516   return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
7517 }
7518 
7519 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vrev32q_p16(poly16x8_t __a)7520 vrev32q_p16 (poly16x8_t __a)
7521 {
7522   return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7523 }
7524 
7525 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrev16_s8(int8x8_t __a)7526 vrev16_s8 (int8x8_t __a)
7527 {
7528   return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7529 }
7530 
7531 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrev16_u8(uint8x8_t __a)7532 vrev16_u8 (uint8x8_t __a)
7533 {
7534   return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7535 }
7536 
7537 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vrev16_p8(poly8x8_t __a)7538 vrev16_p8 (poly8x8_t __a)
7539 {
7540   return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7541 }
7542 
7543 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrev16q_s8(int8x16_t __a)7544 vrev16q_s8 (int8x16_t __a)
7545 {
7546   return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
7547 }
7548 
7549 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrev16q_u8(uint8x16_t __a)7550 vrev16q_u8 (uint8x16_t __a)
7551 {
7552   return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
7553 }
7554 
7555 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vrev16q_p8(poly8x16_t __a)7556 vrev16q_p8 (poly8x16_t __a)
7557 {
7558   return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
7559 }
7560 
7561 #ifdef __ARM_FEATURE_CRYPTO
7562 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vbsl_p64(uint64x1_t __a,poly64x1_t __b,poly64x1_t __c)7563 vbsl_p64 (uint64x1_t __a, poly64x1_t __b, poly64x1_t __c)
7564 {
7565   return (poly64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, __b, __c);
7566 }
7567 
7568 #endif
7569 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vbsl_s8(uint8x8_t __a,int8x8_t __b,int8x8_t __c)7570 vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c)
7571 {
7572   return (int8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, __b, __c);
7573 }
7574 
7575 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vbsl_s16(uint16x4_t __a,int16x4_t __b,int16x4_t __c)7576 vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c)
7577 {
7578   return (int16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, __b, __c);
7579 }
7580 
7581 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vbsl_s32(uint32x2_t __a,int32x2_t __b,int32x2_t __c)7582 vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c)
7583 {
7584   return (int32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, __b, __c);
7585 }
7586 
7587 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vbsl_s64(uint64x1_t __a,int64x1_t __b,int64x1_t __c)7588 vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c)
7589 {
7590   return (int64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, __b, __c);
7591 }
7592 
7593 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vbsl_f32(uint32x2_t __a,float32x2_t __b,float32x2_t __c)7594 vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c)
7595 {
7596   return (float32x2_t)__builtin_neon_vbslv2sf ((int32x2_t) __a, __b, __c);
7597 }
7598 
7599 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vbsl_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)7600 vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
7601 {
7602   return (uint8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7603 }
7604 
7605 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vbsl_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)7606 vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
7607 {
7608   return (uint16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
7609 }
7610 
7611 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vbsl_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)7612 vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
7613 {
7614   return (uint32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
7615 }
7616 
7617 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vbsl_u64(uint64x1_t __a,uint64x1_t __b,uint64x1_t __c)7618 vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c)
7619 {
7620   return (uint64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, (int64x1_t) __b, (int64x1_t) __c);
7621 }
7622 
7623 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vbsl_p8(uint8x8_t __a,poly8x8_t __b,poly8x8_t __c)7624 vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c)
7625 {
7626   return (poly8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7627 }
7628 
7629 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vbsl_p16(uint16x4_t __a,poly16x4_t __b,poly16x4_t __c)7630 vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c)
7631 {
7632   return (poly16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
7633 }
7634 
7635 #ifdef __ARM_FEATURE_CRYPTO
7636 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vbslq_p64(uint64x2_t __a,poly64x2_t __b,poly64x2_t __c)7637 vbslq_p64 (uint64x2_t __a, poly64x2_t __b, poly64x2_t __c)
7638 {
7639   return (poly64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, (int64x2_t) __b, (int64x2_t) __c);
7640 }
7641 
7642 #endif
7643 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vbslq_s8(uint8x16_t __a,int8x16_t __b,int8x16_t __c)7644 vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c)
7645 {
7646   return (int8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, __b, __c);
7647 }
7648 
7649 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vbslq_s16(uint16x8_t __a,int16x8_t __b,int16x8_t __c)7650 vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c)
7651 {
7652   return (int16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, __b, __c);
7653 }
7654 
7655 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vbslq_s32(uint32x4_t __a,int32x4_t __b,int32x4_t __c)7656 vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c)
7657 {
7658   return (int32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, __b, __c);
7659 }
7660 
7661 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vbslq_s64(uint64x2_t __a,int64x2_t __b,int64x2_t __c)7662 vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c)
7663 {
7664   return (int64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, __b, __c);
7665 }
7666 
7667 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vbslq_f32(uint32x4_t __a,float32x4_t __b,float32x4_t __c)7668 vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c)
7669 {
7670   return (float32x4_t)__builtin_neon_vbslv4sf ((int32x4_t) __a, __b, __c);
7671 }
7672 
7673 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vbslq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)7674 vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
7675 {
7676   return (uint8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
7677 }
7678 
7679 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vbslq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)7680 vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
7681 {
7682   return (uint16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
7683 }
7684 
7685 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vbslq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)7686 vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
7687 {
7688   return (uint32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c);
7689 }
7690 
7691 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vbslq_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)7692 vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
7693 {
7694   return (uint64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, (int64x2_t) __b, (int64x2_t) __c);
7695 }
7696 
7697 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vbslq_p8(uint8x16_t __a,poly8x16_t __b,poly8x16_t __c)7698 vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c)
7699 {
7700   return (poly8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
7701 }
7702 
7703 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vbslq_p16(uint16x8_t __a,poly16x8_t __b,poly16x8_t __c)7704 vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c)
7705 {
7706   return (poly16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
7707 }
7708 
7709 /* For big-endian, the shuffle masks for ZIP, UZP and TRN must be changed as
7710    follows. (nelt = the number of elements within a vector.)
7711 
7712    Firstly, a value of N within a mask, becomes (N ^ (nelt - 1)), as gcc vector
7713    extension's indexing scheme is reversed *within each vector* (relative to the
7714    neon intrinsics view), but without changing which of the two vectors.
7715 
7716    Secondly, the elements within each mask are reversed, as the mask is itself a
7717    vector, and will itself be loaded in reverse order (again, relative to the
7718    neon intrinsics view, i.e. that would result from a "vld1" instruction).  */
7719 
7720 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
vtrn_s8(int8x8_t __a,int8x8_t __b)7721 vtrn_s8 (int8x8_t __a, int8x8_t __b)
7722 {
7723   int8x8x2_t __rv;
7724 #ifdef __ARM_BIG_ENDIAN
7725   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
7726       { 9, 1, 11, 3, 13, 5, 15, 7 });
7727   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
7728       { 8, 0, 10, 2, 12, 4, 14, 6 });
7729 #else
7730   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
7731       { 0, 8, 2, 10, 4, 12, 6, 14 });
7732   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
7733       { 1, 9, 3, 11, 5, 13, 7, 15 });
7734 #endif
7735   return __rv;
7736 }
7737 
7738 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
vtrn_s16(int16x4_t __a,int16x4_t __b)7739 vtrn_s16 (int16x4_t __a, int16x4_t __b)
7740 {
7741   int16x4x2_t __rv;
7742 #ifdef __ARM_BIG_ENDIAN
7743   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 1, 7, 3 });
7744   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 6, 2 });
7745 #else
7746   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
7747   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
7748 #endif
7749   return __rv;
7750 }
7751 
7752 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
vtrn_u8(uint8x8_t __a,uint8x8_t __b)7753 vtrn_u8 (uint8x8_t __a, uint8x8_t __b)
7754 {
7755   uint8x8x2_t __rv;
7756 #ifdef __ARM_BIG_ENDIAN
7757   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
7758       { 9, 1, 11, 3, 13, 5, 15, 7 });
7759   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
7760       { 8, 0, 10, 2, 12, 4, 14, 6 });
7761 #else
7762   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
7763       { 0, 8, 2, 10, 4, 12, 6, 14 });
7764   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
7765       { 1, 9, 3, 11, 5, 13, 7, 15 });
7766 #endif
7767   return __rv;
7768 }
7769 
7770 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
vtrn_u16(uint16x4_t __a,uint16x4_t __b)7771 vtrn_u16 (uint16x4_t __a, uint16x4_t __b)
7772 {
7773   uint16x4x2_t __rv;
7774 #ifdef __ARM_BIG_ENDIAN
7775   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 1, 7, 3 });
7776   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 6, 2 });
7777 #else
7778   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
7779   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
7780 #endif
7781   return __rv;
7782 }
7783 
7784 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
vtrn_p8(poly8x8_t __a,poly8x8_t __b)7785 vtrn_p8 (poly8x8_t __a, poly8x8_t __b)
7786 {
7787   poly8x8x2_t __rv;
7788 #ifdef __ARM_BIG_ENDIAN
7789   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
7790       { 9, 1, 11, 3, 13, 5, 15, 7 });
7791   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
7792       { 8, 0, 10, 2, 12, 4, 14, 6 });
7793 #else
7794   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
7795       { 0, 8, 2, 10, 4, 12, 6, 14 });
7796   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
7797       { 1, 9, 3, 11, 5, 13, 7, 15 });
7798 #endif
7799   return __rv;
7800 }
7801 
7802 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
vtrn_p16(poly16x4_t __a,poly16x4_t __b)7803 vtrn_p16 (poly16x4_t __a, poly16x4_t __b)
7804 {
7805   poly16x4x2_t __rv;
7806 #ifdef __ARM_BIG_ENDIAN
7807   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 1, 7, 3 });
7808   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 6, 2 });
7809 #else
7810   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
7811   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
7812 #endif
7813   return __rv;
7814 }
7815 
7816 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
vtrn_s32(int32x2_t __a,int32x2_t __b)7817 vtrn_s32 (int32x2_t __a, int32x2_t __b)
7818 {
7819   int32x2x2_t __rv;
7820 #ifdef __ARM_BIG_ENDIAN
7821   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
7822   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
7823 #else
7824   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7825   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7826 #endif
7827   return __rv;
7828 }
7829 
7830 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
vtrn_f32(float32x2_t __a,float32x2_t __b)7831 vtrn_f32 (float32x2_t __a, float32x2_t __b)
7832 {
7833   float32x2x2_t __rv;
7834 #ifdef __ARM_BIG_ENDIAN
7835   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
7836   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
7837 #else
7838   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7839   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7840 #endif
7841   return __rv;
7842 }
7843 
7844 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
vtrn_u32(uint32x2_t __a,uint32x2_t __b)7845 vtrn_u32 (uint32x2_t __a, uint32x2_t __b)
7846 {
7847   uint32x2x2_t __rv;
7848 #ifdef __ARM_BIG_ENDIAN
7849   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
7850   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
7851 #else
7852   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7853   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7854 #endif
7855   return __rv;
7856 }
7857 
7858 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
vtrnq_s8(int8x16_t __a,int8x16_t __b)7859 vtrnq_s8 (int8x16_t __a, int8x16_t __b)
7860 {
7861   int8x16x2_t __rv;
7862 #ifdef __ARM_BIG_ENDIAN
7863   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
7864       { 17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15 });
7865   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
7866       { 16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14 });
7867 #else
7868   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
7869       { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
7870   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
7871       { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
7872 #endif
7873   return __rv;
7874 }
7875 
7876 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
vtrnq_s16(int16x8_t __a,int16x8_t __b)7877 vtrnq_s16 (int16x8_t __a, int16x8_t __b)
7878 {
7879   int16x8x2_t __rv;
7880 #ifdef __ARM_BIG_ENDIAN
7881   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
7882       { 9, 1, 11, 3, 13, 5, 15, 7 });
7883   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
7884       { 8, 0, 10, 2, 12, 4, 14, 6 });
7885 #else
7886   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
7887       { 0, 8, 2, 10, 4, 12, 6, 14 });
7888   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
7889       { 1, 9, 3, 11, 5, 13, 7, 15 });
7890 #endif
7891   return __rv;
7892 }
7893 
7894 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
vtrnq_s32(int32x4_t __a,int32x4_t __b)7895 vtrnq_s32 (int32x4_t __a, int32x4_t __b)
7896 {
7897   int32x4x2_t __rv;
7898 #ifdef __ARM_BIG_ENDIAN
7899   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 7, 3 });
7900   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 0, 6, 2 });
7901 #else
7902   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
7903   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
7904 #endif
7905   return __rv;
7906 }
7907 
7908 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
vtrnq_f32(float32x4_t __a,float32x4_t __b)7909 vtrnq_f32 (float32x4_t __a, float32x4_t __b)
7910 {
7911   float32x4x2_t __rv;
7912 #ifdef __ARM_BIG_ENDIAN
7913   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 7, 3 });
7914   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 0, 6, 2 });
7915 #else
7916   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
7917   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
7918 #endif
7919   return __rv;
7920 }
7921 
7922 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
vtrnq_u8(uint8x16_t __a,uint8x16_t __b)7923 vtrnq_u8 (uint8x16_t __a, uint8x16_t __b)
7924 {
7925   uint8x16x2_t __rv;
7926 #ifdef __ARM_BIG_ENDIAN
7927   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
7928       { 17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15 });
7929   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
7930       { 16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14 });
7931 #else
7932   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
7933       { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
7934   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
7935       { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
7936 #endif
7937   return __rv;
7938 }
7939 
7940 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
vtrnq_u16(uint16x8_t __a,uint16x8_t __b)7941 vtrnq_u16 (uint16x8_t __a, uint16x8_t __b)
7942 {
7943   uint16x8x2_t __rv;
7944 #ifdef __ARM_BIG_ENDIAN
7945   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
7946       { 9, 1, 11, 3, 13, 5, 15, 7 });
7947   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
7948       { 8, 0, 10, 2, 12, 4, 14, 6 });
7949 #else
7950   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
7951       { 0, 8, 2, 10, 4, 12, 6, 14 });
7952   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
7953       { 1, 9, 3, 11, 5, 13, 7, 15 });
7954 #endif
7955   return __rv;
7956 }
7957 
7958 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
vtrnq_u32(uint32x4_t __a,uint32x4_t __b)7959 vtrnq_u32 (uint32x4_t __a, uint32x4_t __b)
7960 {
7961   uint32x4x2_t __rv;
7962 #ifdef __ARM_BIG_ENDIAN
7963   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 1, 7, 3 });
7964   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 0, 6, 2 });
7965 #else
7966   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
7967   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
7968 #endif
7969   return __rv;
7970 }
7971 
7972 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
vtrnq_p8(poly8x16_t __a,poly8x16_t __b)7973 vtrnq_p8 (poly8x16_t __a, poly8x16_t __b)
7974 {
7975   poly8x16x2_t __rv;
7976 #ifdef __ARM_BIG_ENDIAN
7977   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
7978       { 17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15 });
7979   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
7980       { 16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14 });
7981 #else
7982   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
7983       { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
7984   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
7985       { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
7986 #endif
7987   return __rv;
7988 }
7989 
7990 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
vtrnq_p16(poly16x8_t __a,poly16x8_t __b)7991 vtrnq_p16 (poly16x8_t __a, poly16x8_t __b)
7992 {
7993   poly16x8x2_t __rv;
7994 #ifdef __ARM_BIG_ENDIAN
7995   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
7996       { 9, 1, 11, 3, 13, 5, 15, 7 });
7997   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
7998       { 8, 0, 10, 2, 12, 4, 14, 6 });
7999 #else
8000   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
8001       { 0, 8, 2, 10, 4, 12, 6, 14 });
8002   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
8003       { 1, 9, 3, 11, 5, 13, 7, 15 });
8004 #endif
8005   return __rv;
8006 }
8007 
8008 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
vzip_s8(int8x8_t __a,int8x8_t __b)8009 vzip_s8 (int8x8_t __a, int8x8_t __b)
8010 {
8011   int8x8x2_t __rv;
8012 #ifdef __ARM_BIG_ENDIAN
8013   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
8014       { 12, 4, 13, 5, 14, 6, 15, 7 });
8015   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
8016       { 8, 0, 9, 1, 10, 2, 11, 3 });
8017 #else
8018   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
8019       { 0, 8, 1, 9, 2, 10, 3, 11 });
8020   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
8021       { 4, 12, 5, 13, 6, 14, 7, 15 });
8022 #endif
8023   return __rv;
8024 }
8025 
8026 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
vzip_s16(int16x4_t __a,int16x4_t __b)8027 vzip_s16 (int16x4_t __a, int16x4_t __b)
8028 {
8029   int16x4x2_t __rv;
8030 #ifdef __ARM_BIG_ENDIAN
8031   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 6, 2, 7, 3 });
8032   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 5, 1 });
8033 #else
8034   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
8035   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
8036 #endif
8037   return __rv;
8038 }
8039 
8040 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
vzip_u8(uint8x8_t __a,uint8x8_t __b)8041 vzip_u8 (uint8x8_t __a, uint8x8_t __b)
8042 {
8043   uint8x8x2_t __rv;
8044 #ifdef __ARM_BIG_ENDIAN
8045   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
8046       { 12, 4, 13, 5, 14, 6, 15, 7 });
8047   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
8048       { 8, 0, 9, 1, 10, 2, 11, 3 });
8049 #else
8050   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
8051       { 0, 8, 1, 9, 2, 10, 3, 11 });
8052   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
8053       { 4, 12, 5, 13, 6, 14, 7, 15 });
8054 #endif
8055   return __rv;
8056 }
8057 
8058 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
vzip_u16(uint16x4_t __a,uint16x4_t __b)8059 vzip_u16 (uint16x4_t __a, uint16x4_t __b)
8060 {
8061   uint16x4x2_t __rv;
8062 #ifdef __ARM_BIG_ENDIAN
8063   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 6, 2, 7, 3 });
8064   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 5, 1 });
8065 #else
8066   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
8067   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
8068 #endif
8069   return __rv;
8070 }
8071 
8072 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
vzip_p8(poly8x8_t __a,poly8x8_t __b)8073 vzip_p8 (poly8x8_t __a, poly8x8_t __b)
8074 {
8075   poly8x8x2_t __rv;
8076 #ifdef __ARM_BIG_ENDIAN
8077   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
8078       { 12, 4, 13, 5, 14, 6, 15, 7 });
8079   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
8080       { 8, 0, 9, 1, 10, 2, 11, 3 });
8081 #else
8082   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
8083       { 0, 8, 1, 9, 2, 10, 3, 11 });
8084   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
8085       { 4, 12, 5, 13, 6, 14, 7, 15 });
8086 #endif
8087   return __rv;
8088 }
8089 
8090 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
vzip_p16(poly16x4_t __a,poly16x4_t __b)8091 vzip_p16 (poly16x4_t __a, poly16x4_t __b)
8092 {
8093   poly16x4x2_t __rv;
8094 #ifdef __ARM_BIG_ENDIAN
8095   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 6, 2, 7, 3 });
8096   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 0, 5, 1 });
8097 #else
8098   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
8099   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
8100 #endif
8101   return __rv;
8102 }
8103 
8104 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
vzip_s32(int32x2_t __a,int32x2_t __b)8105 vzip_s32 (int32x2_t __a, int32x2_t __b)
8106 {
8107   int32x2x2_t __rv;
8108 #ifdef __ARM_BIG_ENDIAN
8109   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
8110   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
8111 #else
8112   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
8113   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
8114 #endif
8115   return __rv;
8116 }
8117 
8118 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
vzip_f32(float32x2_t __a,float32x2_t __b)8119 vzip_f32 (float32x2_t __a, float32x2_t __b)
8120 {
8121   float32x2x2_t __rv;
8122 #ifdef __ARM_BIG_ENDIAN
8123   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
8124   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
8125 #else
8126   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
8127   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
8128 #endif
8129   return __rv;
8130 }
8131 
8132 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
vzip_u32(uint32x2_t __a,uint32x2_t __b)8133 vzip_u32 (uint32x2_t __a, uint32x2_t __b)
8134 {
8135   uint32x2x2_t __rv;
8136 #ifdef __ARM_BIG_ENDIAN
8137   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
8138   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
8139 #else
8140   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
8141   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
8142 #endif
8143   return __rv;
8144 }
8145 
8146 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
vzipq_s8(int8x16_t __a,int8x16_t __b)8147 vzipq_s8 (int8x16_t __a, int8x16_t __b)
8148 {
8149   int8x16x2_t __rv;
8150 #ifdef __ARM_BIG_ENDIAN
8151   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
8152       { 24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15 });
8153   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
8154       { 16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7 });
8155 #else
8156   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
8157       { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
8158   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
8159       { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
8160 #endif
8161   return __rv;
8162 }
8163 
8164 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
vzipq_s16(int16x8_t __a,int16x8_t __b)8165 vzipq_s16 (int16x8_t __a, int16x8_t __b)
8166 {
8167   int16x8x2_t __rv;
8168 #ifdef __ARM_BIG_ENDIAN
8169   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
8170       { 12, 4, 13, 5, 14, 6, 15, 7 });
8171   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
8172       { 8, 0, 9, 1, 10, 2, 11, 3 });
8173 #else
8174   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
8175       { 0, 8, 1, 9, 2, 10, 3, 11 });
8176   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
8177       { 4, 12, 5, 13, 6, 14, 7, 15 });
8178 #endif
8179   return __rv;
8180 }
8181 
8182 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
vzipq_s32(int32x4_t __a,int32x4_t __b)8183 vzipq_s32 (int32x4_t __a, int32x4_t __b)
8184 {
8185   int32x4x2_t __rv;
8186 #ifdef __ARM_BIG_ENDIAN
8187   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 6, 2, 7, 3 });
8188   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 0, 5, 1 });
8189 #else
8190   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
8191   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
8192 #endif
8193   return __rv;
8194 }
8195 
8196 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
vzipq_f32(float32x4_t __a,float32x4_t __b)8197 vzipq_f32 (float32x4_t __a, float32x4_t __b)
8198 {
8199   float32x4x2_t __rv;
8200 #ifdef __ARM_BIG_ENDIAN
8201   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 6, 2, 7, 3 });
8202   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 0, 5, 1 });
8203 #else
8204   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
8205   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
8206 #endif
8207   return __rv;
8208 }
8209 
8210 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
vzipq_u8(uint8x16_t __a,uint8x16_t __b)8211 vzipq_u8 (uint8x16_t __a, uint8x16_t __b)
8212 {
8213   uint8x16x2_t __rv;
8214 #ifdef __ARM_BIG_ENDIAN
8215   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
8216       { 24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15 });
8217   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
8218       { 16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7 });
8219 #else
8220   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
8221       { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
8222   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
8223       { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
8224 #endif
8225   return __rv;
8226 }
8227 
8228 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
vzipq_u16(uint16x8_t __a,uint16x8_t __b)8229 vzipq_u16 (uint16x8_t __a, uint16x8_t __b)
8230 {
8231   uint16x8x2_t __rv;
8232 #ifdef __ARM_BIG_ENDIAN
8233   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
8234       { 12, 4, 13, 5, 14, 6, 15, 7 });
8235   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
8236       { 8, 0, 9, 1, 10, 2, 11, 3 });
8237 #else
8238   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
8239       { 0, 8, 1, 9, 2, 10, 3, 11 });
8240   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
8241       { 4, 12, 5, 13, 6, 14, 7, 15 });
8242 #endif
8243   return __rv;
8244 }
8245 
8246 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
vzipq_u32(uint32x4_t __a,uint32x4_t __b)8247 vzipq_u32 (uint32x4_t __a, uint32x4_t __b)
8248 {
8249   uint32x4x2_t __rv;
8250 #ifdef __ARM_BIG_ENDIAN
8251   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 6, 2, 7, 3 });
8252   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 0, 5, 1 });
8253 #else
8254   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
8255   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
8256 #endif
8257   return __rv;
8258 }
8259 
8260 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
vzipq_p8(poly8x16_t __a,poly8x16_t __b)8261 vzipq_p8 (poly8x16_t __a, poly8x16_t __b)
8262 {
8263   poly8x16x2_t __rv;
8264 #ifdef __ARM_BIG_ENDIAN
8265   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
8266       { 24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15 });
8267   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
8268       { 16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7 });
8269 #else
8270   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
8271       { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
8272   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
8273       { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
8274 #endif
8275   return __rv;
8276 }
8277 
8278 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
vzipq_p16(poly16x8_t __a,poly16x8_t __b)8279 vzipq_p16 (poly16x8_t __a, poly16x8_t __b)
8280 {
8281   poly16x8x2_t __rv;
8282 #ifdef __ARM_BIG_ENDIAN
8283   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
8284       { 12, 4, 13, 5, 14, 6, 15, 7 });
8285   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
8286       { 8, 0, 9, 1, 10, 2, 11, 3 });
8287 #else
8288   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
8289       { 0, 8, 1, 9, 2, 10, 3, 11 });
8290   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
8291       { 4, 12, 5, 13, 6, 14, 7, 15 });
8292 #endif
8293   return __rv;
8294 }
8295 
8296 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
vuzp_s8(int8x8_t __a,int8x8_t __b)8297 vuzp_s8 (int8x8_t __a, int8x8_t __b)
8298 {
8299   int8x8x2_t __rv;
8300 #ifdef __ARM_BIG_ENDIAN
8301   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
8302       { 9, 11, 13, 15, 1, 3, 5, 7 });
8303   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
8304       { 8, 10, 12, 14, 0, 2, 4, 6 });
8305 #else
8306   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
8307       { 0, 2, 4, 6, 8, 10, 12, 14 });
8308   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
8309       { 1, 3, 5, 7, 9, 11, 13, 15 });
8310 #endif
8311   return __rv;
8312 }
8313 
8314 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
vuzp_s16(int16x4_t __a,int16x4_t __b)8315 vuzp_s16 (int16x4_t __a, int16x4_t __b)
8316 {
8317   int16x4x2_t __rv;
8318 #ifdef __ARM_BIG_ENDIAN
8319   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 7, 1, 3 });
8320   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 6, 0, 2 });
8321 #else
8322   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
8323   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
8324 #endif
8325   return __rv;
8326 }
8327 
8328 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
vuzp_s32(int32x2_t __a,int32x2_t __b)8329 vuzp_s32 (int32x2_t __a, int32x2_t __b)
8330 {
8331   int32x2x2_t __rv;
8332 #ifdef __ARM_BIG_ENDIAN
8333   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
8334   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
8335 #else
8336   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
8337   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
8338 #endif
8339   return __rv;
8340 }
8341 
8342 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
vuzp_f32(float32x2_t __a,float32x2_t __b)8343 vuzp_f32 (float32x2_t __a, float32x2_t __b)
8344 {
8345   float32x2x2_t __rv;
8346 #ifdef __ARM_BIG_ENDIAN
8347   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
8348   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
8349 #else
8350   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
8351   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
8352 #endif
8353   return __rv;
8354 }
8355 
8356 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
vuzp_u8(uint8x8_t __a,uint8x8_t __b)8357 vuzp_u8 (uint8x8_t __a, uint8x8_t __b)
8358 {
8359   uint8x8x2_t __rv;
8360 #ifdef __ARM_BIG_ENDIAN
8361   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
8362       { 9, 11, 13, 15, 1, 3, 5, 7 });
8363   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
8364       { 8, 10, 12, 14, 0, 2, 4, 6 });
8365 #else
8366   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
8367       { 0, 2, 4, 6, 8, 10, 12, 14 });
8368   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
8369       { 1, 3, 5, 7, 9, 11, 13, 15 });
8370 #endif
8371   return __rv;
8372 }
8373 
8374 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
vuzp_u16(uint16x4_t __a,uint16x4_t __b)8375 vuzp_u16 (uint16x4_t __a, uint16x4_t __b)
8376 {
8377   uint16x4x2_t __rv;
8378 #ifdef __ARM_BIG_ENDIAN
8379   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 7, 1, 3 });
8380   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 6, 0, 2 });
8381 #else
8382   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
8383   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
8384 #endif
8385   return __rv;
8386 }
8387 
8388 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
vuzp_u32(uint32x2_t __a,uint32x2_t __b)8389 vuzp_u32 (uint32x2_t __a, uint32x2_t __b)
8390 {
8391   uint32x2x2_t __rv;
8392 #ifdef __ARM_BIG_ENDIAN
8393   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 3, 1 });
8394   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 2, 0 });
8395 #else
8396   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
8397   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
8398 #endif
8399   return __rv;
8400 }
8401 
8402 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
vuzp_p8(poly8x8_t __a,poly8x8_t __b)8403 vuzp_p8 (poly8x8_t __a, poly8x8_t __b)
8404 {
8405   poly8x8x2_t __rv;
8406 #ifdef __ARM_BIG_ENDIAN
8407   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
8408       { 9, 11, 13, 15, 1, 3, 5, 7 });
8409   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
8410       { 8, 10, 12, 14, 0, 2, 4, 6 });
8411 #else
8412   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x8_t)
8413       { 0, 2, 4, 6, 8, 10, 12, 14 });
8414   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x8_t)
8415       { 1, 3, 5, 7, 9, 11, 13, 15 });
8416 #endif
8417   return __rv;
8418 }
8419 
8420 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
vuzp_p16(poly16x4_t __a,poly16x4_t __b)8421 vuzp_p16 (poly16x4_t __a, poly16x4_t __b)
8422 {
8423   poly16x4x2_t __rv;
8424 #ifdef __ARM_BIG_ENDIAN
8425   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 5, 7, 1, 3 });
8426   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 4, 6, 0, 2 });
8427 #else
8428   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
8429   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
8430 #endif
8431   return __rv;
8432 }
8433 
8434 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
vuzpq_s8(int8x16_t __a,int8x16_t __b)8435 vuzpq_s8 (int8x16_t __a, int8x16_t __b)
8436 {
8437   int8x16x2_t __rv;
8438 #ifdef __ARM_BIG_ENDIAN
8439   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
8440       { 17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15 });
8441   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
8442       { 16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14 });
8443 #else
8444   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
8445       { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
8446   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
8447       { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
8448 #endif
8449   return __rv;
8450 }
8451 
8452 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
vuzpq_s16(int16x8_t __a,int16x8_t __b)8453 vuzpq_s16 (int16x8_t __a, int16x8_t __b)
8454 {
8455   int16x8x2_t __rv;
8456 #ifdef __ARM_BIG_ENDIAN
8457   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
8458       { 9, 11, 13, 15, 1, 3, 5, 7 });
8459   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
8460       { 8, 10, 12, 14, 0, 2, 4, 6 });
8461 #else
8462   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
8463       { 0, 2, 4, 6, 8, 10, 12, 14 });
8464   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
8465       { 1, 3, 5, 7, 9, 11, 13, 15 });
8466 #endif
8467   return __rv;
8468 }
8469 
8470 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
vuzpq_s32(int32x4_t __a,int32x4_t __b)8471 vuzpq_s32 (int32x4_t __a, int32x4_t __b)
8472 {
8473   int32x4x2_t __rv;
8474 #ifdef __ARM_BIG_ENDIAN
8475   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 7, 1, 3 });
8476   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 6, 0, 2 });
8477 #else
8478   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
8479   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
8480 #endif
8481   return __rv;
8482 }
8483 
8484 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
vuzpq_f32(float32x4_t __a,float32x4_t __b)8485 vuzpq_f32 (float32x4_t __a, float32x4_t __b)
8486 {
8487   float32x4x2_t __rv;
8488 #ifdef __ARM_BIG_ENDIAN
8489   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 7, 1, 3 });
8490   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 6, 0, 2 });
8491 #else
8492   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
8493   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
8494 #endif
8495   return __rv;
8496 }
8497 
8498 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
vuzpq_u8(uint8x16_t __a,uint8x16_t __b)8499 vuzpq_u8 (uint8x16_t __a, uint8x16_t __b)
8500 {
8501   uint8x16x2_t __rv;
8502 #ifdef __ARM_BIG_ENDIAN
8503   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
8504       { 17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15 });
8505   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
8506       { 16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14 });
8507 #else
8508   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
8509       { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
8510   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
8511       { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
8512 #endif
8513   return __rv;
8514 }
8515 
8516 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
vuzpq_u16(uint16x8_t __a,uint16x8_t __b)8517 vuzpq_u16 (uint16x8_t __a, uint16x8_t __b)
8518 {
8519   uint16x8x2_t __rv;
8520 #ifdef __ARM_BIG_ENDIAN
8521   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
8522       { 9, 11, 13, 15, 1, 3, 5, 7 });
8523   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
8524       { 8, 10, 12, 14, 0, 2, 4, 6 });
8525 #else
8526   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
8527       { 0, 2, 4, 6, 8, 10, 12, 14 });
8528   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
8529       { 1, 3, 5, 7, 9, 11, 13, 15 });
8530 #endif
8531   return __rv;
8532 }
8533 
8534 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
vuzpq_u32(uint32x4_t __a,uint32x4_t __b)8535 vuzpq_u32 (uint32x4_t __a, uint32x4_t __b)
8536 {
8537   uint32x4x2_t __rv;
8538 #ifdef __ARM_BIG_ENDIAN
8539   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 5, 7, 1, 3 });
8540   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 4, 6, 0, 2 });
8541 #else
8542   __rv.val[0] = __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
8543   __rv.val[1] = __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
8544 #endif
8545   return __rv;
8546 }
8547 
8548 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
vuzpq_p8(poly8x16_t __a,poly8x16_t __b)8549 vuzpq_p8 (poly8x16_t __a, poly8x16_t __b)
8550 {
8551   poly8x16x2_t __rv;
8552 #ifdef __ARM_BIG_ENDIAN
8553   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
8554       { 17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15 });
8555   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
8556       { 16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14 });
8557 #else
8558   __rv.val[0] = __builtin_shuffle (__a, __b, (uint8x16_t)
8559       { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
8560   __rv.val[1] = __builtin_shuffle (__a, __b, (uint8x16_t)
8561       { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
8562 #endif
8563   return __rv;
8564 }
8565 
8566 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
vuzpq_p16(poly16x8_t __a,poly16x8_t __b)8567 vuzpq_p16 (poly16x8_t __a, poly16x8_t __b)
8568 {
8569   poly16x8x2_t __rv;
8570 #ifdef __ARM_BIG_ENDIAN
8571   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
8572       { 9, 11, 13, 15, 1, 3, 5, 7 });
8573   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
8574       { 8, 10, 12, 14, 0, 2, 4, 6 });
8575 #else
8576   __rv.val[0] = __builtin_shuffle (__a, __b, (uint16x8_t)
8577       { 0, 2, 4, 6, 8, 10, 12, 14 });
8578   __rv.val[1] = __builtin_shuffle (__a, __b, (uint16x8_t)
8579       { 1, 3, 5, 7, 9, 11, 13, 15 });
8580 #endif
8581   return __rv;
8582 }
8583 
8584 #ifdef __ARM_FEATURE_CRYPTO
8585 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vld1_p64(const poly64_t * __a)8586 vld1_p64 (const poly64_t * __a)
8587 {
8588   return (poly64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
8589 }
8590 
8591 #endif
8592 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vld1_s8(const int8_t * __a)8593 vld1_s8 (const int8_t * __a)
8594 {
8595   return (int8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
8596 }
8597 
8598 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vld1_s16(const int16_t * __a)8599 vld1_s16 (const int16_t * __a)
8600 {
8601   return (int16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
8602 }
8603 
8604 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vld1_s32(const int32_t * __a)8605 vld1_s32 (const int32_t * __a)
8606 {
8607   return (int32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
8608 }
8609 
8610 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vld1_s64(const int64_t * __a)8611 vld1_s64 (const int64_t * __a)
8612 {
8613   return (int64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
8614 }
8615 
8616 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vld1_f32(const float32_t * __a)8617 vld1_f32 (const float32_t * __a)
8618 {
8619   return (float32x2_t)__builtin_neon_vld1v2sf ((const __builtin_neon_sf *) __a);
8620 }
8621 
8622 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vld1_u8(const uint8_t * __a)8623 vld1_u8 (const uint8_t * __a)
8624 {
8625   return (uint8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
8626 }
8627 
8628 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vld1_u16(const uint16_t * __a)8629 vld1_u16 (const uint16_t * __a)
8630 {
8631   return (uint16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
8632 }
8633 
8634 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vld1_u32(const uint32_t * __a)8635 vld1_u32 (const uint32_t * __a)
8636 {
8637   return (uint32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
8638 }
8639 
8640 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vld1_u64(const uint64_t * __a)8641 vld1_u64 (const uint64_t * __a)
8642 {
8643   return (uint64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
8644 }
8645 
8646 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vld1_p8(const poly8_t * __a)8647 vld1_p8 (const poly8_t * __a)
8648 {
8649   return (poly8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
8650 }
8651 
8652 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vld1_p16(const poly16_t * __a)8653 vld1_p16 (const poly16_t * __a)
8654 {
8655   return (poly16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
8656 }
8657 
8658 #ifdef __ARM_FEATURE_CRYPTO
8659 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vld1q_p64(const poly64_t * __a)8660 vld1q_p64 (const poly64_t * __a)
8661 {
8662   return (poly64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
8663 }
8664 
8665 #endif
8666 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vld1q_s8(const int8_t * __a)8667 vld1q_s8 (const int8_t * __a)
8668 {
8669   return (int8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
8670 }
8671 
8672 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vld1q_s16(const int16_t * __a)8673 vld1q_s16 (const int16_t * __a)
8674 {
8675   return (int16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
8676 }
8677 
8678 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vld1q_s32(const int32_t * __a)8679 vld1q_s32 (const int32_t * __a)
8680 {
8681   return (int32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
8682 }
8683 
8684 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vld1q_s64(const int64_t * __a)8685 vld1q_s64 (const int64_t * __a)
8686 {
8687   return (int64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
8688 }
8689 
8690 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vld1q_f32(const float32_t * __a)8691 vld1q_f32 (const float32_t * __a)
8692 {
8693   return (float32x4_t)__builtin_neon_vld1v4sf ((const __builtin_neon_sf *) __a);
8694 }
8695 
8696 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vld1q_u8(const uint8_t * __a)8697 vld1q_u8 (const uint8_t * __a)
8698 {
8699   return (uint8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
8700 }
8701 
8702 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vld1q_u16(const uint16_t * __a)8703 vld1q_u16 (const uint16_t * __a)
8704 {
8705   return (uint16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
8706 }
8707 
8708 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vld1q_u32(const uint32_t * __a)8709 vld1q_u32 (const uint32_t * __a)
8710 {
8711   return (uint32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
8712 }
8713 
8714 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vld1q_u64(const uint64_t * __a)8715 vld1q_u64 (const uint64_t * __a)
8716 {
8717   return (uint64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
8718 }
8719 
8720 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vld1q_p8(const poly8_t * __a)8721 vld1q_p8 (const poly8_t * __a)
8722 {
8723   return (poly8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
8724 }
8725 
8726 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vld1q_p16(const poly16_t * __a)8727 vld1q_p16 (const poly16_t * __a)
8728 {
8729   return (poly16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
8730 }
8731 
8732 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vld1_lane_s8(const int8_t * __a,int8x8_t __b,const int __c)8733 vld1_lane_s8 (const int8_t * __a, int8x8_t __b, const int __c)
8734 {
8735   return (int8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, __b, __c);
8736 }
8737 
8738 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vld1_lane_s16(const int16_t * __a,int16x4_t __b,const int __c)8739 vld1_lane_s16 (const int16_t * __a, int16x4_t __b, const int __c)
8740 {
8741   return (int16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, __b, __c);
8742 }
8743 
8744 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vld1_lane_s32(const int32_t * __a,int32x2_t __b,const int __c)8745 vld1_lane_s32 (const int32_t * __a, int32x2_t __b, const int __c)
8746 {
8747   return (int32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, __b, __c);
8748 }
8749 
8750 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vld1_lane_f32(const float32_t * __a,float32x2_t __b,const int __c)8751 vld1_lane_f32 (const float32_t * __a, float32x2_t __b, const int __c)
8752 {
8753   return (float32x2_t)__builtin_neon_vld1_lanev2sf ((const __builtin_neon_sf *) __a, __b, __c);
8754 }
8755 
8756 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vld1_lane_u8(const uint8_t * __a,uint8x8_t __b,const int __c)8757 vld1_lane_u8 (const uint8_t * __a, uint8x8_t __b, const int __c)
8758 {
8759   return (uint8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8760 }
8761 
8762 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vld1_lane_u16(const uint16_t * __a,uint16x4_t __b,const int __c)8763 vld1_lane_u16 (const uint16_t * __a, uint16x4_t __b, const int __c)
8764 {
8765   return (uint16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8766 }
8767 
8768 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vld1_lane_u32(const uint32_t * __a,uint32x2_t __b,const int __c)8769 vld1_lane_u32 (const uint32_t * __a, uint32x2_t __b, const int __c)
8770 {
8771   return (uint32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, (int32x2_t) __b, __c);
8772 }
8773 
8774 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vld1_lane_p8(const poly8_t * __a,poly8x8_t __b,const int __c)8775 vld1_lane_p8 (const poly8_t * __a, poly8x8_t __b, const int __c)
8776 {
8777   return (poly8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8778 }
8779 
8780 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vld1_lane_p16(const poly16_t * __a,poly16x4_t __b,const int __c)8781 vld1_lane_p16 (const poly16_t * __a, poly16x4_t __b, const int __c)
8782 {
8783   return (poly16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8784 }
8785 
8786 #ifdef __ARM_FEATURE_CRYPTO
8787 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vld1_lane_p64(const poly64_t * __a,poly64x1_t __b,const int __c)8788 vld1_lane_p64 (const poly64_t * __a, poly64x1_t __b, const int __c)
8789 {
8790   return (poly64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, __b, __c);
8791 }
8792 
8793 #endif
8794 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vld1_lane_s64(const int64_t * __a,int64x1_t __b,const int __c)8795 vld1_lane_s64 (const int64_t * __a, int64x1_t __b, const int __c)
8796 {
8797   return (int64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, __b, __c);
8798 }
8799 
8800 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vld1_lane_u64(const uint64_t * __a,uint64x1_t __b,const int __c)8801 vld1_lane_u64 (const uint64_t * __a, uint64x1_t __b, const int __c)
8802 {
8803   return (uint64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, (int64x1_t) __b, __c);
8804 }
8805 
8806 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vld1q_lane_s8(const int8_t * __a,int8x16_t __b,const int __c)8807 vld1q_lane_s8 (const int8_t * __a, int8x16_t __b, const int __c)
8808 {
8809   return (int8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, __b, __c);
8810 }
8811 
8812 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vld1q_lane_s16(const int16_t * __a,int16x8_t __b,const int __c)8813 vld1q_lane_s16 (const int16_t * __a, int16x8_t __b, const int __c)
8814 {
8815   return (int16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, __b, __c);
8816 }
8817 
8818 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vld1q_lane_s32(const int32_t * __a,int32x4_t __b,const int __c)8819 vld1q_lane_s32 (const int32_t * __a, int32x4_t __b, const int __c)
8820 {
8821   return (int32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, __b, __c);
8822 }
8823 
8824 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vld1q_lane_f32(const float32_t * __a,float32x4_t __b,const int __c)8825 vld1q_lane_f32 (const float32_t * __a, float32x4_t __b, const int __c)
8826 {
8827   return (float32x4_t)__builtin_neon_vld1_lanev4sf ((const __builtin_neon_sf *) __a, __b, __c);
8828 }
8829 
8830 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vld1q_lane_u8(const uint8_t * __a,uint8x16_t __b,const int __c)8831 vld1q_lane_u8 (const uint8_t * __a, uint8x16_t __b, const int __c)
8832 {
8833   return (uint8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8834 }
8835 
8836 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vld1q_lane_u16(const uint16_t * __a,uint16x8_t __b,const int __c)8837 vld1q_lane_u16 (const uint16_t * __a, uint16x8_t __b, const int __c)
8838 {
8839   return (uint16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8840 }
8841 
8842 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vld1q_lane_u32(const uint32_t * __a,uint32x4_t __b,const int __c)8843 vld1q_lane_u32 (const uint32_t * __a, uint32x4_t __b, const int __c)
8844 {
8845   return (uint32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, (int32x4_t) __b, __c);
8846 }
8847 
8848 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vld1q_lane_p8(const poly8_t * __a,poly8x16_t __b,const int __c)8849 vld1q_lane_p8 (const poly8_t * __a, poly8x16_t __b, const int __c)
8850 {
8851   return (poly8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8852 }
8853 
8854 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vld1q_lane_p16(const poly16_t * __a,poly16x8_t __b,const int __c)8855 vld1q_lane_p16 (const poly16_t * __a, poly16x8_t __b, const int __c)
8856 {
8857   return (poly16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8858 }
8859 
8860 #ifdef __ARM_FEATURE_CRYPTO
8861 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vld1q_lane_p64(const poly64_t * __a,poly64x2_t __b,const int __c)8862 vld1q_lane_p64 (const poly64_t * __a, poly64x2_t __b, const int __c)
8863 {
8864   return (poly64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, (int64x2_t) __b, __c);
8865 }
8866 
8867 #endif
8868 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vld1q_lane_s64(const int64_t * __a,int64x2_t __b,const int __c)8869 vld1q_lane_s64 (const int64_t * __a, int64x2_t __b, const int __c)
8870 {
8871   return (int64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, __b, __c);
8872 }
8873 
8874 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vld1q_lane_u64(const uint64_t * __a,uint64x2_t __b,const int __c)8875 vld1q_lane_u64 (const uint64_t * __a, uint64x2_t __b, const int __c)
8876 {
8877   return (uint64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, (int64x2_t) __b, __c);
8878 }
8879 
8880 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vld1_dup_s8(const int8_t * __a)8881 vld1_dup_s8 (const int8_t * __a)
8882 {
8883   return (int8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8884 }
8885 
8886 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vld1_dup_s16(const int16_t * __a)8887 vld1_dup_s16 (const int16_t * __a)
8888 {
8889   return (int16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8890 }
8891 
8892 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vld1_dup_s32(const int32_t * __a)8893 vld1_dup_s32 (const int32_t * __a)
8894 {
8895   return (int32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
8896 }
8897 
8898 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vld1_dup_f32(const float32_t * __a)8899 vld1_dup_f32 (const float32_t * __a)
8900 {
8901   return (float32x2_t)__builtin_neon_vld1_dupv2sf ((const __builtin_neon_sf *) __a);
8902 }
8903 
8904 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vld1_dup_u8(const uint8_t * __a)8905 vld1_dup_u8 (const uint8_t * __a)
8906 {
8907   return (uint8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8908 }
8909 
8910 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vld1_dup_u16(const uint16_t * __a)8911 vld1_dup_u16 (const uint16_t * __a)
8912 {
8913   return (uint16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8914 }
8915 
8916 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vld1_dup_u32(const uint32_t * __a)8917 vld1_dup_u32 (const uint32_t * __a)
8918 {
8919   return (uint32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
8920 }
8921 
8922 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vld1_dup_p8(const poly8_t * __a)8923 vld1_dup_p8 (const poly8_t * __a)
8924 {
8925   return (poly8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8926 }
8927 
8928 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vld1_dup_p16(const poly16_t * __a)8929 vld1_dup_p16 (const poly16_t * __a)
8930 {
8931   return (poly16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8932 }
8933 
8934 #ifdef __ARM_FEATURE_CRYPTO
8935 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vld1_dup_p64(const poly64_t * __a)8936 vld1_dup_p64 (const poly64_t * __a)
8937 {
8938   return (poly64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
8939 }
8940 
8941 #endif
8942 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vld1_dup_s64(const int64_t * __a)8943 vld1_dup_s64 (const int64_t * __a)
8944 {
8945   return (int64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
8946 }
8947 
8948 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vld1_dup_u64(const uint64_t * __a)8949 vld1_dup_u64 (const uint64_t * __a)
8950 {
8951   return (uint64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
8952 }
8953 
8954 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vld1q_dup_s8(const int8_t * __a)8955 vld1q_dup_s8 (const int8_t * __a)
8956 {
8957   return (int8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8958 }
8959 
8960 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vld1q_dup_s16(const int16_t * __a)8961 vld1q_dup_s16 (const int16_t * __a)
8962 {
8963   return (int16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8964 }
8965 
8966 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vld1q_dup_s32(const int32_t * __a)8967 vld1q_dup_s32 (const int32_t * __a)
8968 {
8969   return (int32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
8970 }
8971 
8972 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vld1q_dup_f32(const float32_t * __a)8973 vld1q_dup_f32 (const float32_t * __a)
8974 {
8975   return (float32x4_t)__builtin_neon_vld1_dupv4sf ((const __builtin_neon_sf *) __a);
8976 }
8977 
8978 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vld1q_dup_u8(const uint8_t * __a)8979 vld1q_dup_u8 (const uint8_t * __a)
8980 {
8981   return (uint8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8982 }
8983 
8984 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vld1q_dup_u16(const uint16_t * __a)8985 vld1q_dup_u16 (const uint16_t * __a)
8986 {
8987   return (uint16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8988 }
8989 
8990 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vld1q_dup_u32(const uint32_t * __a)8991 vld1q_dup_u32 (const uint32_t * __a)
8992 {
8993   return (uint32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
8994 }
8995 
8996 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vld1q_dup_p8(const poly8_t * __a)8997 vld1q_dup_p8 (const poly8_t * __a)
8998 {
8999   return (poly8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
9000 }
9001 
9002 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vld1q_dup_p16(const poly16_t * __a)9003 vld1q_dup_p16 (const poly16_t * __a)
9004 {
9005   return (poly16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
9006 }
9007 
9008 #ifdef __ARM_FEATURE_CRYPTO
9009 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vld1q_dup_p64(const poly64_t * __a)9010 vld1q_dup_p64 (const poly64_t * __a)
9011 {
9012   return (poly64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
9013 }
9014 
9015 #endif
9016 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vld1q_dup_s64(const int64_t * __a)9017 vld1q_dup_s64 (const int64_t * __a)
9018 {
9019   return (int64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
9020 }
9021 
9022 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vld1q_dup_u64(const uint64_t * __a)9023 vld1q_dup_u64 (const uint64_t * __a)
9024 {
9025   return (uint64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
9026 }
9027 
9028 #ifdef __ARM_FEATURE_CRYPTO
9029 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_p64(poly64_t * __a,poly64x1_t __b)9030 vst1_p64 (poly64_t * __a, poly64x1_t __b)
9031 {
9032   __builtin_neon_vst1di ((__builtin_neon_di *) __a, __b);
9033 }
9034 
9035 #endif
9036 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_s8(int8_t * __a,int8x8_t __b)9037 vst1_s8 (int8_t * __a, int8x8_t __b)
9038 {
9039   __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, __b);
9040 }
9041 
9042 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_s16(int16_t * __a,int16x4_t __b)9043 vst1_s16 (int16_t * __a, int16x4_t __b)
9044 {
9045   __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, __b);
9046 }
9047 
9048 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_s32(int32_t * __a,int32x2_t __b)9049 vst1_s32 (int32_t * __a, int32x2_t __b)
9050 {
9051   __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, __b);
9052 }
9053 
9054 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_s64(int64_t * __a,int64x1_t __b)9055 vst1_s64 (int64_t * __a, int64x1_t __b)
9056 {
9057   __builtin_neon_vst1di ((__builtin_neon_di *) __a, __b);
9058 }
9059 
9060 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_f32(float32_t * __a,float32x2_t __b)9061 vst1_f32 (float32_t * __a, float32x2_t __b)
9062 {
9063   __builtin_neon_vst1v2sf ((__builtin_neon_sf *) __a, __b);
9064 }
9065 
9066 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_u8(uint8_t * __a,uint8x8_t __b)9067 vst1_u8 (uint8_t * __a, uint8x8_t __b)
9068 {
9069   __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
9070 }
9071 
9072 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_u16(uint16_t * __a,uint16x4_t __b)9073 vst1_u16 (uint16_t * __a, uint16x4_t __b)
9074 {
9075   __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
9076 }
9077 
9078 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_u32(uint32_t * __a,uint32x2_t __b)9079 vst1_u32 (uint32_t * __a, uint32x2_t __b)
9080 {
9081   __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, (int32x2_t) __b);
9082 }
9083 
9084 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_u64(uint64_t * __a,uint64x1_t __b)9085 vst1_u64 (uint64_t * __a, uint64x1_t __b)
9086 {
9087   __builtin_neon_vst1di ((__builtin_neon_di *) __a, (int64x1_t) __b);
9088 }
9089 
9090 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_p8(poly8_t * __a,poly8x8_t __b)9091 vst1_p8 (poly8_t * __a, poly8x8_t __b)
9092 {
9093   __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
9094 }
9095 
9096 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_p16(poly16_t * __a,poly16x4_t __b)9097 vst1_p16 (poly16_t * __a, poly16x4_t __b)
9098 {
9099   __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
9100 }
9101 
9102 #ifdef __ARM_FEATURE_CRYPTO
9103 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_p64(poly64_t * __a,poly64x2_t __b)9104 vst1q_p64 (poly64_t * __a, poly64x2_t __b)
9105 {
9106   __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, (int64x2_t) __b);
9107 }
9108 
9109 #endif
9110 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_s8(int8_t * __a,int8x16_t __b)9111 vst1q_s8 (int8_t * __a, int8x16_t __b)
9112 {
9113   __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, __b);
9114 }
9115 
9116 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_s16(int16_t * __a,int16x8_t __b)9117 vst1q_s16 (int16_t * __a, int16x8_t __b)
9118 {
9119   __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, __b);
9120 }
9121 
9122 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_s32(int32_t * __a,int32x4_t __b)9123 vst1q_s32 (int32_t * __a, int32x4_t __b)
9124 {
9125   __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, __b);
9126 }
9127 
9128 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_s64(int64_t * __a,int64x2_t __b)9129 vst1q_s64 (int64_t * __a, int64x2_t __b)
9130 {
9131   __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, __b);
9132 }
9133 
9134 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_f32(float32_t * __a,float32x4_t __b)9135 vst1q_f32 (float32_t * __a, float32x4_t __b)
9136 {
9137   __builtin_neon_vst1v4sf ((__builtin_neon_sf *) __a, __b);
9138 }
9139 
9140 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_u8(uint8_t * __a,uint8x16_t __b)9141 vst1q_u8 (uint8_t * __a, uint8x16_t __b)
9142 {
9143   __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
9144 }
9145 
9146 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_u16(uint16_t * __a,uint16x8_t __b)9147 vst1q_u16 (uint16_t * __a, uint16x8_t __b)
9148 {
9149   __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
9150 }
9151 
9152 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_u32(uint32_t * __a,uint32x4_t __b)9153 vst1q_u32 (uint32_t * __a, uint32x4_t __b)
9154 {
9155   __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, (int32x4_t) __b);
9156 }
9157 
9158 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_u64(uint64_t * __a,uint64x2_t __b)9159 vst1q_u64 (uint64_t * __a, uint64x2_t __b)
9160 {
9161   __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, (int64x2_t) __b);
9162 }
9163 
9164 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_p8(poly8_t * __a,poly8x16_t __b)9165 vst1q_p8 (poly8_t * __a, poly8x16_t __b)
9166 {
9167   __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
9168 }
9169 
9170 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_p16(poly16_t * __a,poly16x8_t __b)9171 vst1q_p16 (poly16_t * __a, poly16x8_t __b)
9172 {
9173   __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
9174 }
9175 
9176 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_s8(int8_t * __a,int8x8_t __b,const int __c)9177 vst1_lane_s8 (int8_t * __a, int8x8_t __b, const int __c)
9178 {
9179   __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, __b, __c);
9180 }
9181 
9182 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_s16(int16_t * __a,int16x4_t __b,const int __c)9183 vst1_lane_s16 (int16_t * __a, int16x4_t __b, const int __c)
9184 {
9185   __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, __b, __c);
9186 }
9187 
9188 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_s32(int32_t * __a,int32x2_t __b,const int __c)9189 vst1_lane_s32 (int32_t * __a, int32x2_t __b, const int __c)
9190 {
9191   __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, __b, __c);
9192 }
9193 
9194 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_f32(float32_t * __a,float32x2_t __b,const int __c)9195 vst1_lane_f32 (float32_t * __a, float32x2_t __b, const int __c)
9196 {
9197   __builtin_neon_vst1_lanev2sf ((__builtin_neon_sf *) __a, __b, __c);
9198 }
9199 
9200 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_u8(uint8_t * __a,uint8x8_t __b,const int __c)9201 vst1_lane_u8 (uint8_t * __a, uint8x8_t __b, const int __c)
9202 {
9203   __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
9204 }
9205 
9206 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_u16(uint16_t * __a,uint16x4_t __b,const int __c)9207 vst1_lane_u16 (uint16_t * __a, uint16x4_t __b, const int __c)
9208 {
9209   __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
9210 }
9211 
9212 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_u32(uint32_t * __a,uint32x2_t __b,const int __c)9213 vst1_lane_u32 (uint32_t * __a, uint32x2_t __b, const int __c)
9214 {
9215   __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, (int32x2_t) __b, __c);
9216 }
9217 
9218 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_p8(poly8_t * __a,poly8x8_t __b,const int __c)9219 vst1_lane_p8 (poly8_t * __a, poly8x8_t __b, const int __c)
9220 {
9221   __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
9222 }
9223 
9224 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_p16(poly16_t * __a,poly16x4_t __b,const int __c)9225 vst1_lane_p16 (poly16_t * __a, poly16x4_t __b, const int __c)
9226 {
9227   __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
9228 }
9229 
9230 #ifdef __ARM_FEATURE_CRYPTO
9231 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_p64(poly64_t * __a,poly64x1_t __b,const int __c)9232 vst1_lane_p64 (poly64_t * __a, poly64x1_t __b, const int __c)
9233 {
9234   __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, __b, __c);
9235 }
9236 
9237 #endif
9238 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_s64(int64_t * __a,int64x1_t __b,const int __c)9239 vst1_lane_s64 (int64_t * __a, int64x1_t __b, const int __c)
9240 {
9241   __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, __b, __c);
9242 }
9243 
9244 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_u64(uint64_t * __a,uint64x1_t __b,const int __c)9245 vst1_lane_u64 (uint64_t * __a, uint64x1_t __b, const int __c)
9246 {
9247   __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, (int64x1_t) __b, __c);
9248 }
9249 
9250 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_s8(int8_t * __a,int8x16_t __b,const int __c)9251 vst1q_lane_s8 (int8_t * __a, int8x16_t __b, const int __c)
9252 {
9253   __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, __b, __c);
9254 }
9255 
9256 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_s16(int16_t * __a,int16x8_t __b,const int __c)9257 vst1q_lane_s16 (int16_t * __a, int16x8_t __b, const int __c)
9258 {
9259   __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, __b, __c);
9260 }
9261 
9262 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_s32(int32_t * __a,int32x4_t __b,const int __c)9263 vst1q_lane_s32 (int32_t * __a, int32x4_t __b, const int __c)
9264 {
9265   __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, __b, __c);
9266 }
9267 
9268 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_f32(float32_t * __a,float32x4_t __b,const int __c)9269 vst1q_lane_f32 (float32_t * __a, float32x4_t __b, const int __c)
9270 {
9271   __builtin_neon_vst1_lanev4sf ((__builtin_neon_sf *) __a, __b, __c);
9272 }
9273 
9274 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_u8(uint8_t * __a,uint8x16_t __b,const int __c)9275 vst1q_lane_u8 (uint8_t * __a, uint8x16_t __b, const int __c)
9276 {
9277   __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
9278 }
9279 
9280 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_u16(uint16_t * __a,uint16x8_t __b,const int __c)9281 vst1q_lane_u16 (uint16_t * __a, uint16x8_t __b, const int __c)
9282 {
9283   __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
9284 }
9285 
9286 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_u32(uint32_t * __a,uint32x4_t __b,const int __c)9287 vst1q_lane_u32 (uint32_t * __a, uint32x4_t __b, const int __c)
9288 {
9289   __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, (int32x4_t) __b, __c);
9290 }
9291 
9292 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_p8(poly8_t * __a,poly8x16_t __b,const int __c)9293 vst1q_lane_p8 (poly8_t * __a, poly8x16_t __b, const int __c)
9294 {
9295   __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
9296 }
9297 
9298 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_p16(poly16_t * __a,poly16x8_t __b,const int __c)9299 vst1q_lane_p16 (poly16_t * __a, poly16x8_t __b, const int __c)
9300 {
9301   __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
9302 }
9303 
9304 #ifdef __ARM_FEATURE_CRYPTO
9305 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_p64(poly64_t * __a,poly64x2_t __b,const int __c)9306 vst1q_lane_p64 (poly64_t * __a, poly64x2_t __b, const int __c)
9307 {
9308   __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, (int64x2_t) __b, __c);
9309 }
9310 
9311 #endif
9312 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_s64(int64_t * __a,int64x2_t __b,const int __c)9313 vst1q_lane_s64 (int64_t * __a, int64x2_t __b, const int __c)
9314 {
9315   __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, __b, __c);
9316 }
9317 
9318 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_u64(uint64_t * __a,uint64x2_t __b,const int __c)9319 vst1q_lane_u64 (uint64_t * __a, uint64x2_t __b, const int __c)
9320 {
9321   __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, (int64x2_t) __b, __c);
9322 }
9323 
9324 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
vld2_s8(const int8_t * __a)9325 vld2_s8 (const int8_t * __a)
9326 {
9327   union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9328   __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
9329   return __rv.__i;
9330 }
9331 
9332 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
vld2_s16(const int16_t * __a)9333 vld2_s16 (const int16_t * __a)
9334 {
9335   union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9336   __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
9337   return __rv.__i;
9338 }
9339 
9340 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
vld2_s32(const int32_t * __a)9341 vld2_s32 (const int32_t * __a)
9342 {
9343   union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9344   __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
9345   return __rv.__i;
9346 }
9347 
9348 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
vld2_f32(const float32_t * __a)9349 vld2_f32 (const float32_t * __a)
9350 {
9351   union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9352   __rv.__o = __builtin_neon_vld2v2sf ((const __builtin_neon_sf *) __a);
9353   return __rv.__i;
9354 }
9355 
9356 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
vld2_u8(const uint8_t * __a)9357 vld2_u8 (const uint8_t * __a)
9358 {
9359   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9360   __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
9361   return __rv.__i;
9362 }
9363 
9364 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
vld2_u16(const uint16_t * __a)9365 vld2_u16 (const uint16_t * __a)
9366 {
9367   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9368   __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
9369   return __rv.__i;
9370 }
9371 
9372 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
vld2_u32(const uint32_t * __a)9373 vld2_u32 (const uint32_t * __a)
9374 {
9375   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9376   __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
9377   return __rv.__i;
9378 }
9379 
9380 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
vld2_p8(const poly8_t * __a)9381 vld2_p8 (const poly8_t * __a)
9382 {
9383   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9384   __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
9385   return __rv.__i;
9386 }
9387 
9388 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
vld2_p16(const poly16_t * __a)9389 vld2_p16 (const poly16_t * __a)
9390 {
9391   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9392   __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
9393   return __rv.__i;
9394 }
9395 
9396 #ifdef __ARM_FEATURE_CRYPTO
9397 __extension__ static __inline poly64x1x2_t __attribute__ ((__always_inline__))
vld2_p64(const poly64_t * __a)9398 vld2_p64 (const poly64_t * __a)
9399 {
9400   union { poly64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9401   __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
9402   return __rv.__i;
9403 }
9404 
9405 #endif
9406 __extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__))
vld2_s64(const int64_t * __a)9407 vld2_s64 (const int64_t * __a)
9408 {
9409   union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9410   __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
9411   return __rv.__i;
9412 }
9413 
9414 __extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__))
vld2_u64(const uint64_t * __a)9415 vld2_u64 (const uint64_t * __a)
9416 {
9417   union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9418   __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
9419   return __rv.__i;
9420 }
9421 
9422 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
vld2q_s8(const int8_t * __a)9423 vld2q_s8 (const int8_t * __a)
9424 {
9425   union { int8x16x2_t __i; __builtin_neon_oi __o; } __rv;
9426   __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
9427   return __rv.__i;
9428 }
9429 
9430 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
vld2q_s16(const int16_t * __a)9431 vld2q_s16 (const int16_t * __a)
9432 {
9433   union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
9434   __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
9435   return __rv.__i;
9436 }
9437 
9438 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
vld2q_s32(const int32_t * __a)9439 vld2q_s32 (const int32_t * __a)
9440 {
9441   union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
9442   __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
9443   return __rv.__i;
9444 }
9445 
9446 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
vld2q_f32(const float32_t * __a)9447 vld2q_f32 (const float32_t * __a)
9448 {
9449   union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
9450   __rv.__o = __builtin_neon_vld2v4sf ((const __builtin_neon_sf *) __a);
9451   return __rv.__i;
9452 }
9453 
9454 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
vld2q_u8(const uint8_t * __a)9455 vld2q_u8 (const uint8_t * __a)
9456 {
9457   union { uint8x16x2_t __i; __builtin_neon_oi __o; } __rv;
9458   __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
9459   return __rv.__i;
9460 }
9461 
9462 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
vld2q_u16(const uint16_t * __a)9463 vld2q_u16 (const uint16_t * __a)
9464 {
9465   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
9466   __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
9467   return __rv.__i;
9468 }
9469 
9470 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
vld2q_u32(const uint32_t * __a)9471 vld2q_u32 (const uint32_t * __a)
9472 {
9473   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
9474   __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
9475   return __rv.__i;
9476 }
9477 
9478 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
vld2q_p8(const poly8_t * __a)9479 vld2q_p8 (const poly8_t * __a)
9480 {
9481   union { poly8x16x2_t __i; __builtin_neon_oi __o; } __rv;
9482   __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
9483   return __rv.__i;
9484 }
9485 
9486 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
vld2q_p16(const poly16_t * __a)9487 vld2q_p16 (const poly16_t * __a)
9488 {
9489   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
9490   __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
9491   return __rv.__i;
9492 }
9493 
9494 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
vld2_lane_s8(const int8_t * __a,int8x8x2_t __b,const int __c)9495 vld2_lane_s8 (const int8_t * __a, int8x8x2_t __b, const int __c)
9496 {
9497   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9498   union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9499   __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9500   return __rv.__i;
9501 }
9502 
9503 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
vld2_lane_s16(const int16_t * __a,int16x4x2_t __b,const int __c)9504 vld2_lane_s16 (const int16_t * __a, int16x4x2_t __b, const int __c)
9505 {
9506   union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9507   union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9508   __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9509   return __rv.__i;
9510 }
9511 
9512 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
vld2_lane_s32(const int32_t * __a,int32x2x2_t __b,const int __c)9513 vld2_lane_s32 (const int32_t * __a, int32x2x2_t __b, const int __c)
9514 {
9515   union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9516   union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9517   __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9518   return __rv.__i;
9519 }
9520 
9521 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
vld2_lane_f32(const float32_t * __a,float32x2x2_t __b,const int __c)9522 vld2_lane_f32 (const float32_t * __a, float32x2x2_t __b, const int __c)
9523 {
9524   union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9525   union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9526   __rv.__o = __builtin_neon_vld2_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
9527   return __rv.__i;
9528 }
9529 
9530 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
vld2_lane_u8(const uint8_t * __a,uint8x8x2_t __b,const int __c)9531 vld2_lane_u8 (const uint8_t * __a, uint8x8x2_t __b, const int __c)
9532 {
9533   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9534   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9535   __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9536   return __rv.__i;
9537 }
9538 
9539 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
vld2_lane_u16(const uint16_t * __a,uint16x4x2_t __b,const int __c)9540 vld2_lane_u16 (const uint16_t * __a, uint16x4x2_t __b, const int __c)
9541 {
9542   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9543   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9544   __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9545   return __rv.__i;
9546 }
9547 
9548 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
vld2_lane_u32(const uint32_t * __a,uint32x2x2_t __b,const int __c)9549 vld2_lane_u32 (const uint32_t * __a, uint32x2x2_t __b, const int __c)
9550 {
9551   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9552   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9553   __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9554   return __rv.__i;
9555 }
9556 
9557 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
vld2_lane_p8(const poly8_t * __a,poly8x8x2_t __b,const int __c)9558 vld2_lane_p8 (const poly8_t * __a, poly8x8x2_t __b, const int __c)
9559 {
9560   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9561   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9562   __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9563   return __rv.__i;
9564 }
9565 
9566 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
vld2_lane_p16(const poly16_t * __a,poly16x4x2_t __b,const int __c)9567 vld2_lane_p16 (const poly16_t * __a, poly16x4x2_t __b, const int __c)
9568 {
9569   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9570   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9571   __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9572   return __rv.__i;
9573 }
9574 
9575 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
vld2q_lane_s16(const int16_t * __a,int16x8x2_t __b,const int __c)9576 vld2q_lane_s16 (const int16_t * __a, int16x8x2_t __b, const int __c)
9577 {
9578   union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9579   union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
9580   __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9581   return __rv.__i;
9582 }
9583 
9584 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
vld2q_lane_s32(const int32_t * __a,int32x4x2_t __b,const int __c)9585 vld2q_lane_s32 (const int32_t * __a, int32x4x2_t __b, const int __c)
9586 {
9587   union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9588   union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
9589   __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9590   return __rv.__i;
9591 }
9592 
9593 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
vld2q_lane_f32(const float32_t * __a,float32x4x2_t __b,const int __c)9594 vld2q_lane_f32 (const float32_t * __a, float32x4x2_t __b, const int __c)
9595 {
9596   union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9597   union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
9598   __rv.__o = __builtin_neon_vld2_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
9599   return __rv.__i;
9600 }
9601 
9602 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
vld2q_lane_u16(const uint16_t * __a,uint16x8x2_t __b,const int __c)9603 vld2q_lane_u16 (const uint16_t * __a, uint16x8x2_t __b, const int __c)
9604 {
9605   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9606   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
9607   __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9608   return __rv.__i;
9609 }
9610 
9611 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
vld2q_lane_u32(const uint32_t * __a,uint32x4x2_t __b,const int __c)9612 vld2q_lane_u32 (const uint32_t * __a, uint32x4x2_t __b, const int __c)
9613 {
9614   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9615   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
9616   __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9617   return __rv.__i;
9618 }
9619 
9620 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
vld2q_lane_p16(const poly16_t * __a,poly16x8x2_t __b,const int __c)9621 vld2q_lane_p16 (const poly16_t * __a, poly16x8x2_t __b, const int __c)
9622 {
9623   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9624   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
9625   __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9626   return __rv.__i;
9627 }
9628 
9629 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
vld2_dup_s8(const int8_t * __a)9630 vld2_dup_s8 (const int8_t * __a)
9631 {
9632   union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9633   __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
9634   return __rv.__i;
9635 }
9636 
9637 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
vld2_dup_s16(const int16_t * __a)9638 vld2_dup_s16 (const int16_t * __a)
9639 {
9640   union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9641   __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
9642   return __rv.__i;
9643 }
9644 
9645 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
vld2_dup_s32(const int32_t * __a)9646 vld2_dup_s32 (const int32_t * __a)
9647 {
9648   union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9649   __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
9650   return __rv.__i;
9651 }
9652 
9653 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
vld2_dup_f32(const float32_t * __a)9654 vld2_dup_f32 (const float32_t * __a)
9655 {
9656   union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9657   __rv.__o = __builtin_neon_vld2_dupv2sf ((const __builtin_neon_sf *) __a);
9658   return __rv.__i;
9659 }
9660 
9661 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
vld2_dup_u8(const uint8_t * __a)9662 vld2_dup_u8 (const uint8_t * __a)
9663 {
9664   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9665   __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
9666   return __rv.__i;
9667 }
9668 
9669 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
vld2_dup_u16(const uint16_t * __a)9670 vld2_dup_u16 (const uint16_t * __a)
9671 {
9672   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9673   __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
9674   return __rv.__i;
9675 }
9676 
9677 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
vld2_dup_u32(const uint32_t * __a)9678 vld2_dup_u32 (const uint32_t * __a)
9679 {
9680   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9681   __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
9682   return __rv.__i;
9683 }
9684 
9685 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
vld2_dup_p8(const poly8_t * __a)9686 vld2_dup_p8 (const poly8_t * __a)
9687 {
9688   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9689   __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
9690   return __rv.__i;
9691 }
9692 
9693 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
vld2_dup_p16(const poly16_t * __a)9694 vld2_dup_p16 (const poly16_t * __a)
9695 {
9696   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9697   __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
9698   return __rv.__i;
9699 }
9700 
9701 #ifdef __ARM_FEATURE_CRYPTO
9702 __extension__ static __inline poly64x1x2_t __attribute__ ((__always_inline__))
vld2_dup_p64(const poly64_t * __a)9703 vld2_dup_p64 (const poly64_t * __a)
9704 {
9705   union { poly64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9706   __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
9707   return __rv.__i;
9708 }
9709 
9710 #endif
9711 __extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__))
vld2_dup_s64(const int64_t * __a)9712 vld2_dup_s64 (const int64_t * __a)
9713 {
9714   union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9715   __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
9716   return __rv.__i;
9717 }
9718 
9719 __extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__))
vld2_dup_u64(const uint64_t * __a)9720 vld2_dup_u64 (const uint64_t * __a)
9721 {
9722   union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9723   __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
9724   return __rv.__i;
9725 }
9726 
9727 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_s8(int8_t * __a,int8x8x2_t __b)9728 vst2_s8 (int8_t * __a, int8x8x2_t __b)
9729 {
9730   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9731   __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9732 }
9733 
9734 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_s16(int16_t * __a,int16x4x2_t __b)9735 vst2_s16 (int16_t * __a, int16x4x2_t __b)
9736 {
9737   union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9738   __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9739 }
9740 
9741 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_s32(int32_t * __a,int32x2x2_t __b)9742 vst2_s32 (int32_t * __a, int32x2x2_t __b)
9743 {
9744   union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9745   __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
9746 }
9747 
9748 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_f32(float32_t * __a,float32x2x2_t __b)9749 vst2_f32 (float32_t * __a, float32x2x2_t __b)
9750 {
9751   union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9752   __builtin_neon_vst2v2sf ((__builtin_neon_sf *) __a, __bu.__o);
9753 }
9754 
9755 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_u8(uint8_t * __a,uint8x8x2_t __b)9756 vst2_u8 (uint8_t * __a, uint8x8x2_t __b)
9757 {
9758   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9759   __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9760 }
9761 
9762 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_u16(uint16_t * __a,uint16x4x2_t __b)9763 vst2_u16 (uint16_t * __a, uint16x4x2_t __b)
9764 {
9765   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9766   __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9767 }
9768 
9769 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_u32(uint32_t * __a,uint32x2x2_t __b)9770 vst2_u32 (uint32_t * __a, uint32x2x2_t __b)
9771 {
9772   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9773   __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
9774 }
9775 
9776 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_p8(poly8_t * __a,poly8x8x2_t __b)9777 vst2_p8 (poly8_t * __a, poly8x8x2_t __b)
9778 {
9779   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9780   __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9781 }
9782 
9783 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_p16(poly16_t * __a,poly16x4x2_t __b)9784 vst2_p16 (poly16_t * __a, poly16x4x2_t __b)
9785 {
9786   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9787   __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9788 }
9789 
9790 #ifdef __ARM_FEATURE_CRYPTO
9791 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_p64(poly64_t * __a,poly64x1x2_t __b)9792 vst2_p64 (poly64_t * __a, poly64x1x2_t __b)
9793 {
9794   union { poly64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9795   __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
9796 }
9797 
9798 #endif
9799 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_s64(int64_t * __a,int64x1x2_t __b)9800 vst2_s64 (int64_t * __a, int64x1x2_t __b)
9801 {
9802   union { int64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9803   __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
9804 }
9805 
9806 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_u64(uint64_t * __a,uint64x1x2_t __b)9807 vst2_u64 (uint64_t * __a, uint64x1x2_t __b)
9808 {
9809   union { uint64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9810   __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
9811 }
9812 
9813 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_s8(int8_t * __a,int8x16x2_t __b)9814 vst2q_s8 (int8_t * __a, int8x16x2_t __b)
9815 {
9816   union { int8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9817   __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9818 }
9819 
9820 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_s16(int16_t * __a,int16x8x2_t __b)9821 vst2q_s16 (int16_t * __a, int16x8x2_t __b)
9822 {
9823   union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9824   __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9825 }
9826 
9827 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_s32(int32_t * __a,int32x4x2_t __b)9828 vst2q_s32 (int32_t * __a, int32x4x2_t __b)
9829 {
9830   union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9831   __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
9832 }
9833 
9834 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_f32(float32_t * __a,float32x4x2_t __b)9835 vst2q_f32 (float32_t * __a, float32x4x2_t __b)
9836 {
9837   union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9838   __builtin_neon_vst2v4sf ((__builtin_neon_sf *) __a, __bu.__o);
9839 }
9840 
9841 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_u8(uint8_t * __a,uint8x16x2_t __b)9842 vst2q_u8 (uint8_t * __a, uint8x16x2_t __b)
9843 {
9844   union { uint8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9845   __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9846 }
9847 
9848 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_u16(uint16_t * __a,uint16x8x2_t __b)9849 vst2q_u16 (uint16_t * __a, uint16x8x2_t __b)
9850 {
9851   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9852   __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9853 }
9854 
9855 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_u32(uint32_t * __a,uint32x4x2_t __b)9856 vst2q_u32 (uint32_t * __a, uint32x4x2_t __b)
9857 {
9858   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9859   __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
9860 }
9861 
9862 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_p8(poly8_t * __a,poly8x16x2_t __b)9863 vst2q_p8 (poly8_t * __a, poly8x16x2_t __b)
9864 {
9865   union { poly8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9866   __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9867 }
9868 
9869 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_p16(poly16_t * __a,poly16x8x2_t __b)9870 vst2q_p16 (poly16_t * __a, poly16x8x2_t __b)
9871 {
9872   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9873   __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9874 }
9875 
9876 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_s8(int8_t * __a,int8x8x2_t __b,const int __c)9877 vst2_lane_s8 (int8_t * __a, int8x8x2_t __b, const int __c)
9878 {
9879   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9880   __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9881 }
9882 
9883 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_s16(int16_t * __a,int16x4x2_t __b,const int __c)9884 vst2_lane_s16 (int16_t * __a, int16x4x2_t __b, const int __c)
9885 {
9886   union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9887   __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9888 }
9889 
9890 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_s32(int32_t * __a,int32x2x2_t __b,const int __c)9891 vst2_lane_s32 (int32_t * __a, int32x2x2_t __b, const int __c)
9892 {
9893   union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9894   __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9895 }
9896 
9897 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_f32(float32_t * __a,float32x2x2_t __b,const int __c)9898 vst2_lane_f32 (float32_t * __a, float32x2x2_t __b, const int __c)
9899 {
9900   union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9901   __builtin_neon_vst2_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9902 }
9903 
9904 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_u8(uint8_t * __a,uint8x8x2_t __b,const int __c)9905 vst2_lane_u8 (uint8_t * __a, uint8x8x2_t __b, const int __c)
9906 {
9907   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9908   __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9909 }
9910 
9911 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_u16(uint16_t * __a,uint16x4x2_t __b,const int __c)9912 vst2_lane_u16 (uint16_t * __a, uint16x4x2_t __b, const int __c)
9913 {
9914   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9915   __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9916 }
9917 
9918 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_u32(uint32_t * __a,uint32x2x2_t __b,const int __c)9919 vst2_lane_u32 (uint32_t * __a, uint32x2x2_t __b, const int __c)
9920 {
9921   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9922   __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9923 }
9924 
9925 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_p8(poly8_t * __a,poly8x8x2_t __b,const int __c)9926 vst2_lane_p8 (poly8_t * __a, poly8x8x2_t __b, const int __c)
9927 {
9928   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9929   __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9930 }
9931 
9932 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_p16(poly16_t * __a,poly16x4x2_t __b,const int __c)9933 vst2_lane_p16 (poly16_t * __a, poly16x4x2_t __b, const int __c)
9934 {
9935   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9936   __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9937 }
9938 
9939 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_lane_s16(int16_t * __a,int16x8x2_t __b,const int __c)9940 vst2q_lane_s16 (int16_t * __a, int16x8x2_t __b, const int __c)
9941 {
9942   union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9943   __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9944 }
9945 
9946 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_lane_s32(int32_t * __a,int32x4x2_t __b,const int __c)9947 vst2q_lane_s32 (int32_t * __a, int32x4x2_t __b, const int __c)
9948 {
9949   union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9950   __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9951 }
9952 
9953 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_lane_f32(float32_t * __a,float32x4x2_t __b,const int __c)9954 vst2q_lane_f32 (float32_t * __a, float32x4x2_t __b, const int __c)
9955 {
9956   union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9957   __builtin_neon_vst2_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9958 }
9959 
9960 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_lane_u16(uint16_t * __a,uint16x8x2_t __b,const int __c)9961 vst2q_lane_u16 (uint16_t * __a, uint16x8x2_t __b, const int __c)
9962 {
9963   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9964   __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9965 }
9966 
9967 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_lane_u32(uint32_t * __a,uint32x4x2_t __b,const int __c)9968 vst2q_lane_u32 (uint32_t * __a, uint32x4x2_t __b, const int __c)
9969 {
9970   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9971   __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9972 }
9973 
9974 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_lane_p16(poly16_t * __a,poly16x8x2_t __b,const int __c)9975 vst2q_lane_p16 (poly16_t * __a, poly16x8x2_t __b, const int __c)
9976 {
9977   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9978   __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9979 }
9980 
9981 __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
vld3_s8(const int8_t * __a)9982 vld3_s8 (const int8_t * __a)
9983 {
9984   union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9985   __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
9986   return __rv.__i;
9987 }
9988 
9989 __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
vld3_s16(const int16_t * __a)9990 vld3_s16 (const int16_t * __a)
9991 {
9992   union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9993   __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
9994   return __rv.__i;
9995 }
9996 
9997 __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
vld3_s32(const int32_t * __a)9998 vld3_s32 (const int32_t * __a)
9999 {
10000   union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
10001   __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
10002   return __rv.__i;
10003 }
10004 
10005 __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
vld3_f32(const float32_t * __a)10006 vld3_f32 (const float32_t * __a)
10007 {
10008   union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
10009   __rv.__o = __builtin_neon_vld3v2sf ((const __builtin_neon_sf *) __a);
10010   return __rv.__i;
10011 }
10012 
10013 __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
vld3_u8(const uint8_t * __a)10014 vld3_u8 (const uint8_t * __a)
10015 {
10016   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
10017   __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
10018   return __rv.__i;
10019 }
10020 
10021 __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
vld3_u16(const uint16_t * __a)10022 vld3_u16 (const uint16_t * __a)
10023 {
10024   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
10025   __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
10026   return __rv.__i;
10027 }
10028 
10029 __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
vld3_u32(const uint32_t * __a)10030 vld3_u32 (const uint32_t * __a)
10031 {
10032   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
10033   __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
10034   return __rv.__i;
10035 }
10036 
10037 __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
vld3_p8(const poly8_t * __a)10038 vld3_p8 (const poly8_t * __a)
10039 {
10040   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
10041   __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
10042   return __rv.__i;
10043 }
10044 
10045 __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
vld3_p16(const poly16_t * __a)10046 vld3_p16 (const poly16_t * __a)
10047 {
10048   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
10049   __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
10050   return __rv.__i;
10051 }
10052 
10053 #ifdef __ARM_FEATURE_CRYPTO
10054 __extension__ static __inline poly64x1x3_t __attribute__ ((__always_inline__))
vld3_p64(const poly64_t * __a)10055 vld3_p64 (const poly64_t * __a)
10056 {
10057   union { poly64x1x3_t __i; __builtin_neon_ei __o; } __rv;
10058   __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
10059   return __rv.__i;
10060 }
10061 
10062 #endif
10063 __extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__))
vld3_s64(const int64_t * __a)10064 vld3_s64 (const int64_t * __a)
10065 {
10066   union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
10067   __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
10068   return __rv.__i;
10069 }
10070 
10071 __extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__))
vld3_u64(const uint64_t * __a)10072 vld3_u64 (const uint64_t * __a)
10073 {
10074   union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
10075   __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
10076   return __rv.__i;
10077 }
10078 
10079 __extension__ static __inline int8x16x3_t __attribute__ ((__always_inline__))
vld3q_s8(const int8_t * __a)10080 vld3q_s8 (const int8_t * __a)
10081 {
10082   union { int8x16x3_t __i; __builtin_neon_ci __o; } __rv;
10083   __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
10084   return __rv.__i;
10085 }
10086 
10087 __extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__))
vld3q_s16(const int16_t * __a)10088 vld3q_s16 (const int16_t * __a)
10089 {
10090   union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
10091   __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
10092   return __rv.__i;
10093 }
10094 
10095 __extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__))
vld3q_s32(const int32_t * __a)10096 vld3q_s32 (const int32_t * __a)
10097 {
10098   union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
10099   __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
10100   return __rv.__i;
10101 }
10102 
10103 __extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__))
vld3q_f32(const float32_t * __a)10104 vld3q_f32 (const float32_t * __a)
10105 {
10106   union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
10107   __rv.__o = __builtin_neon_vld3v4sf ((const __builtin_neon_sf *) __a);
10108   return __rv.__i;
10109 }
10110 
10111 __extension__ static __inline uint8x16x3_t __attribute__ ((__always_inline__))
vld3q_u8(const uint8_t * __a)10112 vld3q_u8 (const uint8_t * __a)
10113 {
10114   union { uint8x16x3_t __i; __builtin_neon_ci __o; } __rv;
10115   __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
10116   return __rv.__i;
10117 }
10118 
10119 __extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__))
vld3q_u16(const uint16_t * __a)10120 vld3q_u16 (const uint16_t * __a)
10121 {
10122   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
10123   __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
10124   return __rv.__i;
10125 }
10126 
10127 __extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__))
vld3q_u32(const uint32_t * __a)10128 vld3q_u32 (const uint32_t * __a)
10129 {
10130   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
10131   __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
10132   return __rv.__i;
10133 }
10134 
10135 __extension__ static __inline poly8x16x3_t __attribute__ ((__always_inline__))
vld3q_p8(const poly8_t * __a)10136 vld3q_p8 (const poly8_t * __a)
10137 {
10138   union { poly8x16x3_t __i; __builtin_neon_ci __o; } __rv;
10139   __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
10140   return __rv.__i;
10141 }
10142 
10143 __extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__))
vld3q_p16(const poly16_t * __a)10144 vld3q_p16 (const poly16_t * __a)
10145 {
10146   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
10147   __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
10148   return __rv.__i;
10149 }
10150 
10151 __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
vld3_lane_s8(const int8_t * __a,int8x8x3_t __b,const int __c)10152 vld3_lane_s8 (const int8_t * __a, int8x8x3_t __b, const int __c)
10153 {
10154   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10155   union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
10156   __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10157   return __rv.__i;
10158 }
10159 
10160 __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
vld3_lane_s16(const int16_t * __a,int16x4x3_t __b,const int __c)10161 vld3_lane_s16 (const int16_t * __a, int16x4x3_t __b, const int __c)
10162 {
10163   union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10164   union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
10165   __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10166   return __rv.__i;
10167 }
10168 
10169 __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
vld3_lane_s32(const int32_t * __a,int32x2x3_t __b,const int __c)10170 vld3_lane_s32 (const int32_t * __a, int32x2x3_t __b, const int __c)
10171 {
10172   union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10173   union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
10174   __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10175   return __rv.__i;
10176 }
10177 
10178 __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
vld3_lane_f32(const float32_t * __a,float32x2x3_t __b,const int __c)10179 vld3_lane_f32 (const float32_t * __a, float32x2x3_t __b, const int __c)
10180 {
10181   union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10182   union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
10183   __rv.__o = __builtin_neon_vld3_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
10184   return __rv.__i;
10185 }
10186 
10187 __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
vld3_lane_u8(const uint8_t * __a,uint8x8x3_t __b,const int __c)10188 vld3_lane_u8 (const uint8_t * __a, uint8x8x3_t __b, const int __c)
10189 {
10190   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10191   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
10192   __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10193   return __rv.__i;
10194 }
10195 
10196 __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
vld3_lane_u16(const uint16_t * __a,uint16x4x3_t __b,const int __c)10197 vld3_lane_u16 (const uint16_t * __a, uint16x4x3_t __b, const int __c)
10198 {
10199   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10200   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
10201   __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10202   return __rv.__i;
10203 }
10204 
10205 __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
vld3_lane_u32(const uint32_t * __a,uint32x2x3_t __b,const int __c)10206 vld3_lane_u32 (const uint32_t * __a, uint32x2x3_t __b, const int __c)
10207 {
10208   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10209   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
10210   __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10211   return __rv.__i;
10212 }
10213 
10214 __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
vld3_lane_p8(const poly8_t * __a,poly8x8x3_t __b,const int __c)10215 vld3_lane_p8 (const poly8_t * __a, poly8x8x3_t __b, const int __c)
10216 {
10217   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10218   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
10219   __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10220   return __rv.__i;
10221 }
10222 
10223 __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
vld3_lane_p16(const poly16_t * __a,poly16x4x3_t __b,const int __c)10224 vld3_lane_p16 (const poly16_t * __a, poly16x4x3_t __b, const int __c)
10225 {
10226   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10227   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
10228   __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10229   return __rv.__i;
10230 }
10231 
10232 __extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__))
vld3q_lane_s16(const int16_t * __a,int16x8x3_t __b,const int __c)10233 vld3q_lane_s16 (const int16_t * __a, int16x8x3_t __b, const int __c)
10234 {
10235   union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10236   union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
10237   __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10238   return __rv.__i;
10239 }
10240 
10241 __extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__))
vld3q_lane_s32(const int32_t * __a,int32x4x3_t __b,const int __c)10242 vld3q_lane_s32 (const int32_t * __a, int32x4x3_t __b, const int __c)
10243 {
10244   union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10245   union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
10246   __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10247   return __rv.__i;
10248 }
10249 
10250 __extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__))
vld3q_lane_f32(const float32_t * __a,float32x4x3_t __b,const int __c)10251 vld3q_lane_f32 (const float32_t * __a, float32x4x3_t __b, const int __c)
10252 {
10253   union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10254   union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
10255   __rv.__o = __builtin_neon_vld3_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
10256   return __rv.__i;
10257 }
10258 
10259 __extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__))
vld3q_lane_u16(const uint16_t * __a,uint16x8x3_t __b,const int __c)10260 vld3q_lane_u16 (const uint16_t * __a, uint16x8x3_t __b, const int __c)
10261 {
10262   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10263   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
10264   __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10265   return __rv.__i;
10266 }
10267 
10268 __extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__))
vld3q_lane_u32(const uint32_t * __a,uint32x4x3_t __b,const int __c)10269 vld3q_lane_u32 (const uint32_t * __a, uint32x4x3_t __b, const int __c)
10270 {
10271   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10272   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
10273   __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10274   return __rv.__i;
10275 }
10276 
10277 __extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__))
vld3q_lane_p16(const poly16_t * __a,poly16x8x3_t __b,const int __c)10278 vld3q_lane_p16 (const poly16_t * __a, poly16x8x3_t __b, const int __c)
10279 {
10280   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10281   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
10282   __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10283   return __rv.__i;
10284 }
10285 
10286 __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
vld3_dup_s8(const int8_t * __a)10287 vld3_dup_s8 (const int8_t * __a)
10288 {
10289   union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
10290   __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
10291   return __rv.__i;
10292 }
10293 
10294 __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
vld3_dup_s16(const int16_t * __a)10295 vld3_dup_s16 (const int16_t * __a)
10296 {
10297   union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
10298   __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
10299   return __rv.__i;
10300 }
10301 
10302 __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
vld3_dup_s32(const int32_t * __a)10303 vld3_dup_s32 (const int32_t * __a)
10304 {
10305   union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
10306   __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
10307   return __rv.__i;
10308 }
10309 
10310 __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
vld3_dup_f32(const float32_t * __a)10311 vld3_dup_f32 (const float32_t * __a)
10312 {
10313   union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
10314   __rv.__o = __builtin_neon_vld3_dupv2sf ((const __builtin_neon_sf *) __a);
10315   return __rv.__i;
10316 }
10317 
10318 __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
vld3_dup_u8(const uint8_t * __a)10319 vld3_dup_u8 (const uint8_t * __a)
10320 {
10321   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
10322   __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
10323   return __rv.__i;
10324 }
10325 
10326 __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
vld3_dup_u16(const uint16_t * __a)10327 vld3_dup_u16 (const uint16_t * __a)
10328 {
10329   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
10330   __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
10331   return __rv.__i;
10332 }
10333 
10334 __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
vld3_dup_u32(const uint32_t * __a)10335 vld3_dup_u32 (const uint32_t * __a)
10336 {
10337   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
10338   __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
10339   return __rv.__i;
10340 }
10341 
10342 __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
vld3_dup_p8(const poly8_t * __a)10343 vld3_dup_p8 (const poly8_t * __a)
10344 {
10345   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
10346   __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
10347   return __rv.__i;
10348 }
10349 
10350 __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
vld3_dup_p16(const poly16_t * __a)10351 vld3_dup_p16 (const poly16_t * __a)
10352 {
10353   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
10354   __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
10355   return __rv.__i;
10356 }
10357 
10358 #ifdef __ARM_FEATURE_CRYPTO
10359 __extension__ static __inline poly64x1x3_t __attribute__ ((__always_inline__))
vld3_dup_p64(const poly64_t * __a)10360 vld3_dup_p64 (const poly64_t * __a)
10361 {
10362   union { poly64x1x3_t __i; __builtin_neon_ei __o; } __rv;
10363   __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
10364   return __rv.__i;
10365 }
10366 
10367 #endif
10368 __extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__))
vld3_dup_s64(const int64_t * __a)10369 vld3_dup_s64 (const int64_t * __a)
10370 {
10371   union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
10372   __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
10373   return __rv.__i;
10374 }
10375 
10376 __extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__))
vld3_dup_u64(const uint64_t * __a)10377 vld3_dup_u64 (const uint64_t * __a)
10378 {
10379   union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
10380   __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
10381   return __rv.__i;
10382 }
10383 
10384 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_s8(int8_t * __a,int8x8x3_t __b)10385 vst3_s8 (int8_t * __a, int8x8x3_t __b)
10386 {
10387   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10388   __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10389 }
10390 
10391 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_s16(int16_t * __a,int16x4x3_t __b)10392 vst3_s16 (int16_t * __a, int16x4x3_t __b)
10393 {
10394   union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10395   __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10396 }
10397 
10398 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_s32(int32_t * __a,int32x2x3_t __b)10399 vst3_s32 (int32_t * __a, int32x2x3_t __b)
10400 {
10401   union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10402   __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
10403 }
10404 
10405 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_f32(float32_t * __a,float32x2x3_t __b)10406 vst3_f32 (float32_t * __a, float32x2x3_t __b)
10407 {
10408   union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10409   __builtin_neon_vst3v2sf ((__builtin_neon_sf *) __a, __bu.__o);
10410 }
10411 
10412 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_u8(uint8_t * __a,uint8x8x3_t __b)10413 vst3_u8 (uint8_t * __a, uint8x8x3_t __b)
10414 {
10415   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10416   __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10417 }
10418 
10419 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_u16(uint16_t * __a,uint16x4x3_t __b)10420 vst3_u16 (uint16_t * __a, uint16x4x3_t __b)
10421 {
10422   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10423   __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10424 }
10425 
10426 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_u32(uint32_t * __a,uint32x2x3_t __b)10427 vst3_u32 (uint32_t * __a, uint32x2x3_t __b)
10428 {
10429   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10430   __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
10431 }
10432 
10433 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_p8(poly8_t * __a,poly8x8x3_t __b)10434 vst3_p8 (poly8_t * __a, poly8x8x3_t __b)
10435 {
10436   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10437   __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10438 }
10439 
10440 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_p16(poly16_t * __a,poly16x4x3_t __b)10441 vst3_p16 (poly16_t * __a, poly16x4x3_t __b)
10442 {
10443   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10444   __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10445 }
10446 
10447 #ifdef __ARM_FEATURE_CRYPTO
10448 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_p64(poly64_t * __a,poly64x1x3_t __b)10449 vst3_p64 (poly64_t * __a, poly64x1x3_t __b)
10450 {
10451   union { poly64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10452   __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
10453 }
10454 
10455 #endif
10456 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_s64(int64_t * __a,int64x1x3_t __b)10457 vst3_s64 (int64_t * __a, int64x1x3_t __b)
10458 {
10459   union { int64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10460   __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
10461 }
10462 
10463 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_u64(uint64_t * __a,uint64x1x3_t __b)10464 vst3_u64 (uint64_t * __a, uint64x1x3_t __b)
10465 {
10466   union { uint64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10467   __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
10468 }
10469 
10470 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_s8(int8_t * __a,int8x16x3_t __b)10471 vst3q_s8 (int8_t * __a, int8x16x3_t __b)
10472 {
10473   union { int8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10474   __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10475 }
10476 
10477 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_s16(int16_t * __a,int16x8x3_t __b)10478 vst3q_s16 (int16_t * __a, int16x8x3_t __b)
10479 {
10480   union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10481   __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10482 }
10483 
10484 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_s32(int32_t * __a,int32x4x3_t __b)10485 vst3q_s32 (int32_t * __a, int32x4x3_t __b)
10486 {
10487   union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10488   __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
10489 }
10490 
10491 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_f32(float32_t * __a,float32x4x3_t __b)10492 vst3q_f32 (float32_t * __a, float32x4x3_t __b)
10493 {
10494   union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10495   __builtin_neon_vst3v4sf ((__builtin_neon_sf *) __a, __bu.__o);
10496 }
10497 
10498 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_u8(uint8_t * __a,uint8x16x3_t __b)10499 vst3q_u8 (uint8_t * __a, uint8x16x3_t __b)
10500 {
10501   union { uint8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10502   __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10503 }
10504 
10505 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_u16(uint16_t * __a,uint16x8x3_t __b)10506 vst3q_u16 (uint16_t * __a, uint16x8x3_t __b)
10507 {
10508   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10509   __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10510 }
10511 
10512 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_u32(uint32_t * __a,uint32x4x3_t __b)10513 vst3q_u32 (uint32_t * __a, uint32x4x3_t __b)
10514 {
10515   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10516   __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
10517 }
10518 
10519 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_p8(poly8_t * __a,poly8x16x3_t __b)10520 vst3q_p8 (poly8_t * __a, poly8x16x3_t __b)
10521 {
10522   union { poly8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10523   __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10524 }
10525 
10526 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_p16(poly16_t * __a,poly16x8x3_t __b)10527 vst3q_p16 (poly16_t * __a, poly16x8x3_t __b)
10528 {
10529   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10530   __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10531 }
10532 
10533 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_s8(int8_t * __a,int8x8x3_t __b,const int __c)10534 vst3_lane_s8 (int8_t * __a, int8x8x3_t __b, const int __c)
10535 {
10536   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10537   __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10538 }
10539 
10540 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_s16(int16_t * __a,int16x4x3_t __b,const int __c)10541 vst3_lane_s16 (int16_t * __a, int16x4x3_t __b, const int __c)
10542 {
10543   union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10544   __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10545 }
10546 
10547 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_s32(int32_t * __a,int32x2x3_t __b,const int __c)10548 vst3_lane_s32 (int32_t * __a, int32x2x3_t __b, const int __c)
10549 {
10550   union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10551   __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
10552 }
10553 
10554 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_f32(float32_t * __a,float32x2x3_t __b,const int __c)10555 vst3_lane_f32 (float32_t * __a, float32x2x3_t __b, const int __c)
10556 {
10557   union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10558   __builtin_neon_vst3_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
10559 }
10560 
10561 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_u8(uint8_t * __a,uint8x8x3_t __b,const int __c)10562 vst3_lane_u8 (uint8_t * __a, uint8x8x3_t __b, const int __c)
10563 {
10564   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10565   __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10566 }
10567 
10568 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_u16(uint16_t * __a,uint16x4x3_t __b,const int __c)10569 vst3_lane_u16 (uint16_t * __a, uint16x4x3_t __b, const int __c)
10570 {
10571   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10572   __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10573 }
10574 
10575 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_u32(uint32_t * __a,uint32x2x3_t __b,const int __c)10576 vst3_lane_u32 (uint32_t * __a, uint32x2x3_t __b, const int __c)
10577 {
10578   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10579   __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
10580 }
10581 
10582 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_p8(poly8_t * __a,poly8x8x3_t __b,const int __c)10583 vst3_lane_p8 (poly8_t * __a, poly8x8x3_t __b, const int __c)
10584 {
10585   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10586   __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10587 }
10588 
10589 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_p16(poly16_t * __a,poly16x4x3_t __b,const int __c)10590 vst3_lane_p16 (poly16_t * __a, poly16x4x3_t __b, const int __c)
10591 {
10592   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
10593   __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10594 }
10595 
10596 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_lane_s16(int16_t * __a,int16x8x3_t __b,const int __c)10597 vst3q_lane_s16 (int16_t * __a, int16x8x3_t __b, const int __c)
10598 {
10599   union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10600   __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10601 }
10602 
10603 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_lane_s32(int32_t * __a,int32x4x3_t __b,const int __c)10604 vst3q_lane_s32 (int32_t * __a, int32x4x3_t __b, const int __c)
10605 {
10606   union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10607   __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
10608 }
10609 
10610 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_lane_f32(float32_t * __a,float32x4x3_t __b,const int __c)10611 vst3q_lane_f32 (float32_t * __a, float32x4x3_t __b, const int __c)
10612 {
10613   union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10614   __builtin_neon_vst3_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
10615 }
10616 
10617 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_lane_u16(uint16_t * __a,uint16x8x3_t __b,const int __c)10618 vst3q_lane_u16 (uint16_t * __a, uint16x8x3_t __b, const int __c)
10619 {
10620   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10621   __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10622 }
10623 
10624 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_lane_u32(uint32_t * __a,uint32x4x3_t __b,const int __c)10625 vst3q_lane_u32 (uint32_t * __a, uint32x4x3_t __b, const int __c)
10626 {
10627   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10628   __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
10629 }
10630 
10631 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_lane_p16(poly16_t * __a,poly16x8x3_t __b,const int __c)10632 vst3q_lane_p16 (poly16_t * __a, poly16x8x3_t __b, const int __c)
10633 {
10634   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
10635   __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10636 }
10637 
10638 __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
vld4_s8(const int8_t * __a)10639 vld4_s8 (const int8_t * __a)
10640 {
10641   union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10642   __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
10643   return __rv.__i;
10644 }
10645 
10646 __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
vld4_s16(const int16_t * __a)10647 vld4_s16 (const int16_t * __a)
10648 {
10649   union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10650   __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
10651   return __rv.__i;
10652 }
10653 
10654 __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
vld4_s32(const int32_t * __a)10655 vld4_s32 (const int32_t * __a)
10656 {
10657   union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10658   __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
10659   return __rv.__i;
10660 }
10661 
10662 __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
vld4_f32(const float32_t * __a)10663 vld4_f32 (const float32_t * __a)
10664 {
10665   union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10666   __rv.__o = __builtin_neon_vld4v2sf ((const __builtin_neon_sf *) __a);
10667   return __rv.__i;
10668 }
10669 
10670 __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
vld4_u8(const uint8_t * __a)10671 vld4_u8 (const uint8_t * __a)
10672 {
10673   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10674   __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
10675   return __rv.__i;
10676 }
10677 
10678 __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
vld4_u16(const uint16_t * __a)10679 vld4_u16 (const uint16_t * __a)
10680 {
10681   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10682   __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
10683   return __rv.__i;
10684 }
10685 
10686 __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
vld4_u32(const uint32_t * __a)10687 vld4_u32 (const uint32_t * __a)
10688 {
10689   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10690   __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
10691   return __rv.__i;
10692 }
10693 
10694 __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
vld4_p8(const poly8_t * __a)10695 vld4_p8 (const poly8_t * __a)
10696 {
10697   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10698   __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
10699   return __rv.__i;
10700 }
10701 
10702 __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
vld4_p16(const poly16_t * __a)10703 vld4_p16 (const poly16_t * __a)
10704 {
10705   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10706   __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
10707   return __rv.__i;
10708 }
10709 
10710 #ifdef __ARM_FEATURE_CRYPTO
10711 __extension__ static __inline poly64x1x4_t __attribute__ ((__always_inline__))
vld4_p64(const poly64_t * __a)10712 vld4_p64 (const poly64_t * __a)
10713 {
10714   union { poly64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10715   __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
10716   return __rv.__i;
10717 }
10718 
10719 #endif
10720 __extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__))
vld4_s64(const int64_t * __a)10721 vld4_s64 (const int64_t * __a)
10722 {
10723   union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10724   __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
10725   return __rv.__i;
10726 }
10727 
10728 __extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__))
vld4_u64(const uint64_t * __a)10729 vld4_u64 (const uint64_t * __a)
10730 {
10731   union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10732   __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
10733   return __rv.__i;
10734 }
10735 
10736 __extension__ static __inline int8x16x4_t __attribute__ ((__always_inline__))
vld4q_s8(const int8_t * __a)10737 vld4q_s8 (const int8_t * __a)
10738 {
10739   union { int8x16x4_t __i; __builtin_neon_xi __o; } __rv;
10740   __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
10741   return __rv.__i;
10742 }
10743 
10744 __extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__))
vld4q_s16(const int16_t * __a)10745 vld4q_s16 (const int16_t * __a)
10746 {
10747   union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10748   __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
10749   return __rv.__i;
10750 }
10751 
10752 __extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__))
vld4q_s32(const int32_t * __a)10753 vld4q_s32 (const int32_t * __a)
10754 {
10755   union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10756   __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
10757   return __rv.__i;
10758 }
10759 
10760 __extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__))
vld4q_f32(const float32_t * __a)10761 vld4q_f32 (const float32_t * __a)
10762 {
10763   union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10764   __rv.__o = __builtin_neon_vld4v4sf ((const __builtin_neon_sf *) __a);
10765   return __rv.__i;
10766 }
10767 
10768 __extension__ static __inline uint8x16x4_t __attribute__ ((__always_inline__))
vld4q_u8(const uint8_t * __a)10769 vld4q_u8 (const uint8_t * __a)
10770 {
10771   union { uint8x16x4_t __i; __builtin_neon_xi __o; } __rv;
10772   __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
10773   return __rv.__i;
10774 }
10775 
10776 __extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__))
vld4q_u16(const uint16_t * __a)10777 vld4q_u16 (const uint16_t * __a)
10778 {
10779   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10780   __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
10781   return __rv.__i;
10782 }
10783 
10784 __extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__))
vld4q_u32(const uint32_t * __a)10785 vld4q_u32 (const uint32_t * __a)
10786 {
10787   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10788   __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
10789   return __rv.__i;
10790 }
10791 
10792 __extension__ static __inline poly8x16x4_t __attribute__ ((__always_inline__))
vld4q_p8(const poly8_t * __a)10793 vld4q_p8 (const poly8_t * __a)
10794 {
10795   union { poly8x16x4_t __i; __builtin_neon_xi __o; } __rv;
10796   __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
10797   return __rv.__i;
10798 }
10799 
10800 __extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__))
vld4q_p16(const poly16_t * __a)10801 vld4q_p16 (const poly16_t * __a)
10802 {
10803   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10804   __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
10805   return __rv.__i;
10806 }
10807 
10808 __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
vld4_lane_s8(const int8_t * __a,int8x8x4_t __b,const int __c)10809 vld4_lane_s8 (const int8_t * __a, int8x8x4_t __b, const int __c)
10810 {
10811   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10812   union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10813   __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10814   return __rv.__i;
10815 }
10816 
10817 __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
vld4_lane_s16(const int16_t * __a,int16x4x4_t __b,const int __c)10818 vld4_lane_s16 (const int16_t * __a, int16x4x4_t __b, const int __c)
10819 {
10820   union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10821   union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10822   __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10823   return __rv.__i;
10824 }
10825 
10826 __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
vld4_lane_s32(const int32_t * __a,int32x2x4_t __b,const int __c)10827 vld4_lane_s32 (const int32_t * __a, int32x2x4_t __b, const int __c)
10828 {
10829   union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10830   union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10831   __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10832   return __rv.__i;
10833 }
10834 
10835 __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
vld4_lane_f32(const float32_t * __a,float32x2x4_t __b,const int __c)10836 vld4_lane_f32 (const float32_t * __a, float32x2x4_t __b, const int __c)
10837 {
10838   union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10839   union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10840   __rv.__o = __builtin_neon_vld4_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
10841   return __rv.__i;
10842 }
10843 
10844 __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
vld4_lane_u8(const uint8_t * __a,uint8x8x4_t __b,const int __c)10845 vld4_lane_u8 (const uint8_t * __a, uint8x8x4_t __b, const int __c)
10846 {
10847   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10848   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10849   __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10850   return __rv.__i;
10851 }
10852 
10853 __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
vld4_lane_u16(const uint16_t * __a,uint16x4x4_t __b,const int __c)10854 vld4_lane_u16 (const uint16_t * __a, uint16x4x4_t __b, const int __c)
10855 {
10856   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10857   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10858   __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10859   return __rv.__i;
10860 }
10861 
10862 __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
vld4_lane_u32(const uint32_t * __a,uint32x2x4_t __b,const int __c)10863 vld4_lane_u32 (const uint32_t * __a, uint32x2x4_t __b, const int __c)
10864 {
10865   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10866   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10867   __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10868   return __rv.__i;
10869 }
10870 
10871 __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
vld4_lane_p8(const poly8_t * __a,poly8x8x4_t __b,const int __c)10872 vld4_lane_p8 (const poly8_t * __a, poly8x8x4_t __b, const int __c)
10873 {
10874   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10875   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10876   __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10877   return __rv.__i;
10878 }
10879 
10880 __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
vld4_lane_p16(const poly16_t * __a,poly16x4x4_t __b,const int __c)10881 vld4_lane_p16 (const poly16_t * __a, poly16x4x4_t __b, const int __c)
10882 {
10883   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10884   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10885   __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10886   return __rv.__i;
10887 }
10888 
10889 __extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__))
vld4q_lane_s16(const int16_t * __a,int16x8x4_t __b,const int __c)10890 vld4q_lane_s16 (const int16_t * __a, int16x8x4_t __b, const int __c)
10891 {
10892   union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10893   union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10894   __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10895   return __rv.__i;
10896 }
10897 
10898 __extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__))
vld4q_lane_s32(const int32_t * __a,int32x4x4_t __b,const int __c)10899 vld4q_lane_s32 (const int32_t * __a, int32x4x4_t __b, const int __c)
10900 {
10901   union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10902   union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10903   __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10904   return __rv.__i;
10905 }
10906 
10907 __extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__))
vld4q_lane_f32(const float32_t * __a,float32x4x4_t __b,const int __c)10908 vld4q_lane_f32 (const float32_t * __a, float32x4x4_t __b, const int __c)
10909 {
10910   union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10911   union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10912   __rv.__o = __builtin_neon_vld4_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
10913   return __rv.__i;
10914 }
10915 
10916 __extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__))
vld4q_lane_u16(const uint16_t * __a,uint16x8x4_t __b,const int __c)10917 vld4q_lane_u16 (const uint16_t * __a, uint16x8x4_t __b, const int __c)
10918 {
10919   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10920   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10921   __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10922   return __rv.__i;
10923 }
10924 
10925 __extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__))
vld4q_lane_u32(const uint32_t * __a,uint32x4x4_t __b,const int __c)10926 vld4q_lane_u32 (const uint32_t * __a, uint32x4x4_t __b, const int __c)
10927 {
10928   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10929   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10930   __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10931   return __rv.__i;
10932 }
10933 
10934 __extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__))
vld4q_lane_p16(const poly16_t * __a,poly16x8x4_t __b,const int __c)10935 vld4q_lane_p16 (const poly16_t * __a, poly16x8x4_t __b, const int __c)
10936 {
10937   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10938   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10939   __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10940   return __rv.__i;
10941 }
10942 
10943 __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
vld4_dup_s8(const int8_t * __a)10944 vld4_dup_s8 (const int8_t * __a)
10945 {
10946   union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10947   __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10948   return __rv.__i;
10949 }
10950 
10951 __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
vld4_dup_s16(const int16_t * __a)10952 vld4_dup_s16 (const int16_t * __a)
10953 {
10954   union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10955   __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10956   return __rv.__i;
10957 }
10958 
10959 __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
vld4_dup_s32(const int32_t * __a)10960 vld4_dup_s32 (const int32_t * __a)
10961 {
10962   union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10963   __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
10964   return __rv.__i;
10965 }
10966 
10967 __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
vld4_dup_f32(const float32_t * __a)10968 vld4_dup_f32 (const float32_t * __a)
10969 {
10970   union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10971   __rv.__o = __builtin_neon_vld4_dupv2sf ((const __builtin_neon_sf *) __a);
10972   return __rv.__i;
10973 }
10974 
10975 __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
vld4_dup_u8(const uint8_t * __a)10976 vld4_dup_u8 (const uint8_t * __a)
10977 {
10978   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10979   __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10980   return __rv.__i;
10981 }
10982 
10983 __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
vld4_dup_u16(const uint16_t * __a)10984 vld4_dup_u16 (const uint16_t * __a)
10985 {
10986   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10987   __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10988   return __rv.__i;
10989 }
10990 
10991 __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
vld4_dup_u32(const uint32_t * __a)10992 vld4_dup_u32 (const uint32_t * __a)
10993 {
10994   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10995   __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
10996   return __rv.__i;
10997 }
10998 
10999 __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
vld4_dup_p8(const poly8_t * __a)11000 vld4_dup_p8 (const poly8_t * __a)
11001 {
11002   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
11003   __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
11004   return __rv.__i;
11005 }
11006 
11007 __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
vld4_dup_p16(const poly16_t * __a)11008 vld4_dup_p16 (const poly16_t * __a)
11009 {
11010   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
11011   __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
11012   return __rv.__i;
11013 }
11014 
11015 #ifdef __ARM_FEATURE_CRYPTO
11016 __extension__ static __inline poly64x1x4_t __attribute__ ((__always_inline__))
vld4_dup_p64(const poly64_t * __a)11017 vld4_dup_p64 (const poly64_t * __a)
11018 {
11019   union { poly64x1x4_t __i; __builtin_neon_oi __o; } __rv;
11020   __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
11021   return __rv.__i;
11022 }
11023 
11024 #endif
11025 __extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__))
vld4_dup_s64(const int64_t * __a)11026 vld4_dup_s64 (const int64_t * __a)
11027 {
11028   union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
11029   __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
11030   return __rv.__i;
11031 }
11032 
11033 __extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__))
vld4_dup_u64(const uint64_t * __a)11034 vld4_dup_u64 (const uint64_t * __a)
11035 {
11036   union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
11037   __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
11038   return __rv.__i;
11039 }
11040 
11041 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_s8(int8_t * __a,int8x8x4_t __b)11042 vst4_s8 (int8_t * __a, int8x8x4_t __b)
11043 {
11044   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11045   __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
11046 }
11047 
11048 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_s16(int16_t * __a,int16x4x4_t __b)11049 vst4_s16 (int16_t * __a, int16x4x4_t __b)
11050 {
11051   union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11052   __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
11053 }
11054 
11055 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_s32(int32_t * __a,int32x2x4_t __b)11056 vst4_s32 (int32_t * __a, int32x2x4_t __b)
11057 {
11058   union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11059   __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
11060 }
11061 
11062 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_f32(float32_t * __a,float32x2x4_t __b)11063 vst4_f32 (float32_t * __a, float32x2x4_t __b)
11064 {
11065   union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11066   __builtin_neon_vst4v2sf ((__builtin_neon_sf *) __a, __bu.__o);
11067 }
11068 
11069 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_u8(uint8_t * __a,uint8x8x4_t __b)11070 vst4_u8 (uint8_t * __a, uint8x8x4_t __b)
11071 {
11072   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11073   __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
11074 }
11075 
11076 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_u16(uint16_t * __a,uint16x4x4_t __b)11077 vst4_u16 (uint16_t * __a, uint16x4x4_t __b)
11078 {
11079   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11080   __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
11081 }
11082 
11083 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_u32(uint32_t * __a,uint32x2x4_t __b)11084 vst4_u32 (uint32_t * __a, uint32x2x4_t __b)
11085 {
11086   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11087   __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
11088 }
11089 
11090 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_p8(poly8_t * __a,poly8x8x4_t __b)11091 vst4_p8 (poly8_t * __a, poly8x8x4_t __b)
11092 {
11093   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11094   __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
11095 }
11096 
11097 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_p16(poly16_t * __a,poly16x4x4_t __b)11098 vst4_p16 (poly16_t * __a, poly16x4x4_t __b)
11099 {
11100   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11101   __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
11102 }
11103 
11104 #ifdef __ARM_FEATURE_CRYPTO
11105 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_p64(poly64_t * __a,poly64x1x4_t __b)11106 vst4_p64 (poly64_t * __a, poly64x1x4_t __b)
11107 {
11108   union { poly64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11109   __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
11110 }
11111 
11112 #endif
11113 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_s64(int64_t * __a,int64x1x4_t __b)11114 vst4_s64 (int64_t * __a, int64x1x4_t __b)
11115 {
11116   union { int64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11117   __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
11118 }
11119 
11120 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_u64(uint64_t * __a,uint64x1x4_t __b)11121 vst4_u64 (uint64_t * __a, uint64x1x4_t __b)
11122 {
11123   union { uint64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11124   __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
11125 }
11126 
11127 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_s8(int8_t * __a,int8x16x4_t __b)11128 vst4q_s8 (int8_t * __a, int8x16x4_t __b)
11129 {
11130   union { int8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11131   __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
11132 }
11133 
11134 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_s16(int16_t * __a,int16x8x4_t __b)11135 vst4q_s16 (int16_t * __a, int16x8x4_t __b)
11136 {
11137   union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11138   __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
11139 }
11140 
11141 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_s32(int32_t * __a,int32x4x4_t __b)11142 vst4q_s32 (int32_t * __a, int32x4x4_t __b)
11143 {
11144   union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11145   __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
11146 }
11147 
11148 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_f32(float32_t * __a,float32x4x4_t __b)11149 vst4q_f32 (float32_t * __a, float32x4x4_t __b)
11150 {
11151   union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11152   __builtin_neon_vst4v4sf ((__builtin_neon_sf *) __a, __bu.__o);
11153 }
11154 
11155 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_u8(uint8_t * __a,uint8x16x4_t __b)11156 vst4q_u8 (uint8_t * __a, uint8x16x4_t __b)
11157 {
11158   union { uint8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11159   __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
11160 }
11161 
11162 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_u16(uint16_t * __a,uint16x8x4_t __b)11163 vst4q_u16 (uint16_t * __a, uint16x8x4_t __b)
11164 {
11165   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11166   __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
11167 }
11168 
11169 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_u32(uint32_t * __a,uint32x4x4_t __b)11170 vst4q_u32 (uint32_t * __a, uint32x4x4_t __b)
11171 {
11172   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11173   __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
11174 }
11175 
11176 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_p8(poly8_t * __a,poly8x16x4_t __b)11177 vst4q_p8 (poly8_t * __a, poly8x16x4_t __b)
11178 {
11179   union { poly8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11180   __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
11181 }
11182 
11183 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_p16(poly16_t * __a,poly16x8x4_t __b)11184 vst4q_p16 (poly16_t * __a, poly16x8x4_t __b)
11185 {
11186   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11187   __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
11188 }
11189 
11190 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_s8(int8_t * __a,int8x8x4_t __b,const int __c)11191 vst4_lane_s8 (int8_t * __a, int8x8x4_t __b, const int __c)
11192 {
11193   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11194   __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
11195 }
11196 
11197 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_s16(int16_t * __a,int16x4x4_t __b,const int __c)11198 vst4_lane_s16 (int16_t * __a, int16x4x4_t __b, const int __c)
11199 {
11200   union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11201   __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
11202 }
11203 
11204 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_s32(int32_t * __a,int32x2x4_t __b,const int __c)11205 vst4_lane_s32 (int32_t * __a, int32x2x4_t __b, const int __c)
11206 {
11207   union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11208   __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
11209 }
11210 
11211 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_f32(float32_t * __a,float32x2x4_t __b,const int __c)11212 vst4_lane_f32 (float32_t * __a, float32x2x4_t __b, const int __c)
11213 {
11214   union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11215   __builtin_neon_vst4_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
11216 }
11217 
11218 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_u8(uint8_t * __a,uint8x8x4_t __b,const int __c)11219 vst4_lane_u8 (uint8_t * __a, uint8x8x4_t __b, const int __c)
11220 {
11221   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11222   __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
11223 }
11224 
11225 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_u16(uint16_t * __a,uint16x4x4_t __b,const int __c)11226 vst4_lane_u16 (uint16_t * __a, uint16x4x4_t __b, const int __c)
11227 {
11228   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11229   __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
11230 }
11231 
11232 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_u32(uint32_t * __a,uint32x2x4_t __b,const int __c)11233 vst4_lane_u32 (uint32_t * __a, uint32x2x4_t __b, const int __c)
11234 {
11235   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11236   __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
11237 }
11238 
11239 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_p8(poly8_t * __a,poly8x8x4_t __b,const int __c)11240 vst4_lane_p8 (poly8_t * __a, poly8x8x4_t __b, const int __c)
11241 {
11242   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11243   __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
11244 }
11245 
11246 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_p16(poly16_t * __a,poly16x4x4_t __b,const int __c)11247 vst4_lane_p16 (poly16_t * __a, poly16x4x4_t __b, const int __c)
11248 {
11249   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
11250   __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
11251 }
11252 
11253 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_lane_s16(int16_t * __a,int16x8x4_t __b,const int __c)11254 vst4q_lane_s16 (int16_t * __a, int16x8x4_t __b, const int __c)
11255 {
11256   union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11257   __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
11258 }
11259 
11260 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_lane_s32(int32_t * __a,int32x4x4_t __b,const int __c)11261 vst4q_lane_s32 (int32_t * __a, int32x4x4_t __b, const int __c)
11262 {
11263   union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11264   __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
11265 }
11266 
11267 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_lane_f32(float32_t * __a,float32x4x4_t __b,const int __c)11268 vst4q_lane_f32 (float32_t * __a, float32x4x4_t __b, const int __c)
11269 {
11270   union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11271   __builtin_neon_vst4_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
11272 }
11273 
11274 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_lane_u16(uint16_t * __a,uint16x8x4_t __b,const int __c)11275 vst4q_lane_u16 (uint16_t * __a, uint16x8x4_t __b, const int __c)
11276 {
11277   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11278   __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
11279 }
11280 
11281 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_lane_u32(uint32_t * __a,uint32x4x4_t __b,const int __c)11282 vst4q_lane_u32 (uint32_t * __a, uint32x4x4_t __b, const int __c)
11283 {
11284   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11285   __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
11286 }
11287 
11288 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_lane_p16(poly16_t * __a,poly16x8x4_t __b,const int __c)11289 vst4q_lane_p16 (poly16_t * __a, poly16x8x4_t __b, const int __c)
11290 {
11291   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
11292   __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
11293 }
11294 
11295 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vand_s8(int8x8_t __a,int8x8_t __b)11296 vand_s8 (int8x8_t __a, int8x8_t __b)
11297 {
11298   return (int8x8_t)__builtin_neon_vandv8qi (__a, __b, 1);
11299 }
11300 
11301 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vand_s16(int16x4_t __a,int16x4_t __b)11302 vand_s16 (int16x4_t __a, int16x4_t __b)
11303 {
11304   return (int16x4_t)__builtin_neon_vandv4hi (__a, __b, 1);
11305 }
11306 
11307 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vand_s32(int32x2_t __a,int32x2_t __b)11308 vand_s32 (int32x2_t __a, int32x2_t __b)
11309 {
11310   return (int32x2_t)__builtin_neon_vandv2si (__a, __b, 1);
11311 }
11312 
11313 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vand_u8(uint8x8_t __a,uint8x8_t __b)11314 vand_u8 (uint8x8_t __a, uint8x8_t __b)
11315 {
11316   return (uint8x8_t)__builtin_neon_vandv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
11317 }
11318 
11319 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vand_u16(uint16x4_t __a,uint16x4_t __b)11320 vand_u16 (uint16x4_t __a, uint16x4_t __b)
11321 {
11322   return (uint16x4_t)__builtin_neon_vandv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
11323 }
11324 
11325 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vand_u32(uint32x2_t __a,uint32x2_t __b)11326 vand_u32 (uint32x2_t __a, uint32x2_t __b)
11327 {
11328   return (uint32x2_t)__builtin_neon_vandv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
11329 }
11330 
11331 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vand_s64(int64x1_t __a,int64x1_t __b)11332 vand_s64 (int64x1_t __a, int64x1_t __b)
11333 {
11334   return (int64x1_t)__builtin_neon_vanddi (__a, __b, 1);
11335 }
11336 
11337 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vand_u64(uint64x1_t __a,uint64x1_t __b)11338 vand_u64 (uint64x1_t __a, uint64x1_t __b)
11339 {
11340   return (uint64x1_t)__builtin_neon_vanddi ((int64x1_t) __a, (int64x1_t) __b, 0);
11341 }
11342 
11343 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vandq_s8(int8x16_t __a,int8x16_t __b)11344 vandq_s8 (int8x16_t __a, int8x16_t __b)
11345 {
11346   return (int8x16_t)__builtin_neon_vandv16qi (__a, __b, 1);
11347 }
11348 
11349 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vandq_s16(int16x8_t __a,int16x8_t __b)11350 vandq_s16 (int16x8_t __a, int16x8_t __b)
11351 {
11352   return (int16x8_t)__builtin_neon_vandv8hi (__a, __b, 1);
11353 }
11354 
11355 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vandq_s32(int32x4_t __a,int32x4_t __b)11356 vandq_s32 (int32x4_t __a, int32x4_t __b)
11357 {
11358   return (int32x4_t)__builtin_neon_vandv4si (__a, __b, 1);
11359 }
11360 
11361 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vandq_s64(int64x2_t __a,int64x2_t __b)11362 vandq_s64 (int64x2_t __a, int64x2_t __b)
11363 {
11364   return (int64x2_t)__builtin_neon_vandv2di (__a, __b, 1);
11365 }
11366 
11367 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vandq_u8(uint8x16_t __a,uint8x16_t __b)11368 vandq_u8 (uint8x16_t __a, uint8x16_t __b)
11369 {
11370   return (uint8x16_t)__builtin_neon_vandv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
11371 }
11372 
11373 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vandq_u16(uint16x8_t __a,uint16x8_t __b)11374 vandq_u16 (uint16x8_t __a, uint16x8_t __b)
11375 {
11376   return (uint16x8_t)__builtin_neon_vandv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
11377 }
11378 
11379 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vandq_u32(uint32x4_t __a,uint32x4_t __b)11380 vandq_u32 (uint32x4_t __a, uint32x4_t __b)
11381 {
11382   return (uint32x4_t)__builtin_neon_vandv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
11383 }
11384 
11385 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vandq_u64(uint64x2_t __a,uint64x2_t __b)11386 vandq_u64 (uint64x2_t __a, uint64x2_t __b)
11387 {
11388   return (uint64x2_t)__builtin_neon_vandv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
11389 }
11390 
11391 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vorr_s8(int8x8_t __a,int8x8_t __b)11392 vorr_s8 (int8x8_t __a, int8x8_t __b)
11393 {
11394   return (int8x8_t)__builtin_neon_vorrv8qi (__a, __b, 1);
11395 }
11396 
11397 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vorr_s16(int16x4_t __a,int16x4_t __b)11398 vorr_s16 (int16x4_t __a, int16x4_t __b)
11399 {
11400   return (int16x4_t)__builtin_neon_vorrv4hi (__a, __b, 1);
11401 }
11402 
11403 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vorr_s32(int32x2_t __a,int32x2_t __b)11404 vorr_s32 (int32x2_t __a, int32x2_t __b)
11405 {
11406   return (int32x2_t)__builtin_neon_vorrv2si (__a, __b, 1);
11407 }
11408 
11409 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vorr_u8(uint8x8_t __a,uint8x8_t __b)11410 vorr_u8 (uint8x8_t __a, uint8x8_t __b)
11411 {
11412   return (uint8x8_t)__builtin_neon_vorrv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
11413 }
11414 
11415 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vorr_u16(uint16x4_t __a,uint16x4_t __b)11416 vorr_u16 (uint16x4_t __a, uint16x4_t __b)
11417 {
11418   return (uint16x4_t)__builtin_neon_vorrv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
11419 }
11420 
11421 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vorr_u32(uint32x2_t __a,uint32x2_t __b)11422 vorr_u32 (uint32x2_t __a, uint32x2_t __b)
11423 {
11424   return (uint32x2_t)__builtin_neon_vorrv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
11425 }
11426 
11427 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vorr_s64(int64x1_t __a,int64x1_t __b)11428 vorr_s64 (int64x1_t __a, int64x1_t __b)
11429 {
11430   return (int64x1_t)__builtin_neon_vorrdi (__a, __b, 1);
11431 }
11432 
11433 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vorr_u64(uint64x1_t __a,uint64x1_t __b)11434 vorr_u64 (uint64x1_t __a, uint64x1_t __b)
11435 {
11436   return (uint64x1_t)__builtin_neon_vorrdi ((int64x1_t) __a, (int64x1_t) __b, 0);
11437 }
11438 
11439 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vorrq_s8(int8x16_t __a,int8x16_t __b)11440 vorrq_s8 (int8x16_t __a, int8x16_t __b)
11441 {
11442   return (int8x16_t)__builtin_neon_vorrv16qi (__a, __b, 1);
11443 }
11444 
11445 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vorrq_s16(int16x8_t __a,int16x8_t __b)11446 vorrq_s16 (int16x8_t __a, int16x8_t __b)
11447 {
11448   return (int16x8_t)__builtin_neon_vorrv8hi (__a, __b, 1);
11449 }
11450 
11451 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vorrq_s32(int32x4_t __a,int32x4_t __b)11452 vorrq_s32 (int32x4_t __a, int32x4_t __b)
11453 {
11454   return (int32x4_t)__builtin_neon_vorrv4si (__a, __b, 1);
11455 }
11456 
11457 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vorrq_s64(int64x2_t __a,int64x2_t __b)11458 vorrq_s64 (int64x2_t __a, int64x2_t __b)
11459 {
11460   return (int64x2_t)__builtin_neon_vorrv2di (__a, __b, 1);
11461 }
11462 
11463 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vorrq_u8(uint8x16_t __a,uint8x16_t __b)11464 vorrq_u8 (uint8x16_t __a, uint8x16_t __b)
11465 {
11466   return (uint8x16_t)__builtin_neon_vorrv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
11467 }
11468 
11469 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vorrq_u16(uint16x8_t __a,uint16x8_t __b)11470 vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
11471 {
11472   return (uint16x8_t)__builtin_neon_vorrv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
11473 }
11474 
11475 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vorrq_u32(uint32x4_t __a,uint32x4_t __b)11476 vorrq_u32 (uint32x4_t __a, uint32x4_t __b)
11477 {
11478   return (uint32x4_t)__builtin_neon_vorrv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
11479 }
11480 
11481 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vorrq_u64(uint64x2_t __a,uint64x2_t __b)11482 vorrq_u64 (uint64x2_t __a, uint64x2_t __b)
11483 {
11484   return (uint64x2_t)__builtin_neon_vorrv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
11485 }
11486 
11487 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
veor_s8(int8x8_t __a,int8x8_t __b)11488 veor_s8 (int8x8_t __a, int8x8_t __b)
11489 {
11490   return (int8x8_t)__builtin_neon_veorv8qi (__a, __b, 1);
11491 }
11492 
11493 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
veor_s16(int16x4_t __a,int16x4_t __b)11494 veor_s16 (int16x4_t __a, int16x4_t __b)
11495 {
11496   return (int16x4_t)__builtin_neon_veorv4hi (__a, __b, 1);
11497 }
11498 
11499 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
veor_s32(int32x2_t __a,int32x2_t __b)11500 veor_s32 (int32x2_t __a, int32x2_t __b)
11501 {
11502   return (int32x2_t)__builtin_neon_veorv2si (__a, __b, 1);
11503 }
11504 
11505 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
veor_u8(uint8x8_t __a,uint8x8_t __b)11506 veor_u8 (uint8x8_t __a, uint8x8_t __b)
11507 {
11508   return (uint8x8_t)__builtin_neon_veorv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
11509 }
11510 
11511 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
veor_u16(uint16x4_t __a,uint16x4_t __b)11512 veor_u16 (uint16x4_t __a, uint16x4_t __b)
11513 {
11514   return (uint16x4_t)__builtin_neon_veorv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
11515 }
11516 
11517 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
veor_u32(uint32x2_t __a,uint32x2_t __b)11518 veor_u32 (uint32x2_t __a, uint32x2_t __b)
11519 {
11520   return (uint32x2_t)__builtin_neon_veorv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
11521 }
11522 
11523 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
veor_s64(int64x1_t __a,int64x1_t __b)11524 veor_s64 (int64x1_t __a, int64x1_t __b)
11525 {
11526   return (int64x1_t)__builtin_neon_veordi (__a, __b, 1);
11527 }
11528 
11529 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
veor_u64(uint64x1_t __a,uint64x1_t __b)11530 veor_u64 (uint64x1_t __a, uint64x1_t __b)
11531 {
11532   return (uint64x1_t)__builtin_neon_veordi ((int64x1_t) __a, (int64x1_t) __b, 0);
11533 }
11534 
11535 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
veorq_s8(int8x16_t __a,int8x16_t __b)11536 veorq_s8 (int8x16_t __a, int8x16_t __b)
11537 {
11538   return (int8x16_t)__builtin_neon_veorv16qi (__a, __b, 1);
11539 }
11540 
11541 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
veorq_s16(int16x8_t __a,int16x8_t __b)11542 veorq_s16 (int16x8_t __a, int16x8_t __b)
11543 {
11544   return (int16x8_t)__builtin_neon_veorv8hi (__a, __b, 1);
11545 }
11546 
11547 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
veorq_s32(int32x4_t __a,int32x4_t __b)11548 veorq_s32 (int32x4_t __a, int32x4_t __b)
11549 {
11550   return (int32x4_t)__builtin_neon_veorv4si (__a, __b, 1);
11551 }
11552 
11553 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
veorq_s64(int64x2_t __a,int64x2_t __b)11554 veorq_s64 (int64x2_t __a, int64x2_t __b)
11555 {
11556   return (int64x2_t)__builtin_neon_veorv2di (__a, __b, 1);
11557 }
11558 
11559 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
veorq_u8(uint8x16_t __a,uint8x16_t __b)11560 veorq_u8 (uint8x16_t __a, uint8x16_t __b)
11561 {
11562   return (uint8x16_t)__builtin_neon_veorv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
11563 }
11564 
11565 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
veorq_u16(uint16x8_t __a,uint16x8_t __b)11566 veorq_u16 (uint16x8_t __a, uint16x8_t __b)
11567 {
11568   return (uint16x8_t)__builtin_neon_veorv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
11569 }
11570 
11571 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
veorq_u32(uint32x4_t __a,uint32x4_t __b)11572 veorq_u32 (uint32x4_t __a, uint32x4_t __b)
11573 {
11574   return (uint32x4_t)__builtin_neon_veorv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
11575 }
11576 
11577 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
veorq_u64(uint64x2_t __a,uint64x2_t __b)11578 veorq_u64 (uint64x2_t __a, uint64x2_t __b)
11579 {
11580   return (uint64x2_t)__builtin_neon_veorv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
11581 }
11582 
11583 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vbic_s8(int8x8_t __a,int8x8_t __b)11584 vbic_s8 (int8x8_t __a, int8x8_t __b)
11585 {
11586   return (int8x8_t)__builtin_neon_vbicv8qi (__a, __b, 1);
11587 }
11588 
11589 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vbic_s16(int16x4_t __a,int16x4_t __b)11590 vbic_s16 (int16x4_t __a, int16x4_t __b)
11591 {
11592   return (int16x4_t)__builtin_neon_vbicv4hi (__a, __b, 1);
11593 }
11594 
11595 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vbic_s32(int32x2_t __a,int32x2_t __b)11596 vbic_s32 (int32x2_t __a, int32x2_t __b)
11597 {
11598   return (int32x2_t)__builtin_neon_vbicv2si (__a, __b, 1);
11599 }
11600 
11601 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vbic_u8(uint8x8_t __a,uint8x8_t __b)11602 vbic_u8 (uint8x8_t __a, uint8x8_t __b)
11603 {
11604   return (uint8x8_t)__builtin_neon_vbicv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
11605 }
11606 
11607 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vbic_u16(uint16x4_t __a,uint16x4_t __b)11608 vbic_u16 (uint16x4_t __a, uint16x4_t __b)
11609 {
11610   return (uint16x4_t)__builtin_neon_vbicv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
11611 }
11612 
11613 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vbic_u32(uint32x2_t __a,uint32x2_t __b)11614 vbic_u32 (uint32x2_t __a, uint32x2_t __b)
11615 {
11616   return (uint32x2_t)__builtin_neon_vbicv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
11617 }
11618 
11619 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vbic_s64(int64x1_t __a,int64x1_t __b)11620 vbic_s64 (int64x1_t __a, int64x1_t __b)
11621 {
11622   return (int64x1_t)__builtin_neon_vbicdi (__a, __b, 1);
11623 }
11624 
11625 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vbic_u64(uint64x1_t __a,uint64x1_t __b)11626 vbic_u64 (uint64x1_t __a, uint64x1_t __b)
11627 {
11628   return (uint64x1_t)__builtin_neon_vbicdi ((int64x1_t) __a, (int64x1_t) __b, 0);
11629 }
11630 
11631 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vbicq_s8(int8x16_t __a,int8x16_t __b)11632 vbicq_s8 (int8x16_t __a, int8x16_t __b)
11633 {
11634   return (int8x16_t)__builtin_neon_vbicv16qi (__a, __b, 1);
11635 }
11636 
11637 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vbicq_s16(int16x8_t __a,int16x8_t __b)11638 vbicq_s16 (int16x8_t __a, int16x8_t __b)
11639 {
11640   return (int16x8_t)__builtin_neon_vbicv8hi (__a, __b, 1);
11641 }
11642 
11643 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vbicq_s32(int32x4_t __a,int32x4_t __b)11644 vbicq_s32 (int32x4_t __a, int32x4_t __b)
11645 {
11646   return (int32x4_t)__builtin_neon_vbicv4si (__a, __b, 1);
11647 }
11648 
11649 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vbicq_s64(int64x2_t __a,int64x2_t __b)11650 vbicq_s64 (int64x2_t __a, int64x2_t __b)
11651 {
11652   return (int64x2_t)__builtin_neon_vbicv2di (__a, __b, 1);
11653 }
11654 
11655 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vbicq_u8(uint8x16_t __a,uint8x16_t __b)11656 vbicq_u8 (uint8x16_t __a, uint8x16_t __b)
11657 {
11658   return (uint8x16_t)__builtin_neon_vbicv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
11659 }
11660 
11661 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vbicq_u16(uint16x8_t __a,uint16x8_t __b)11662 vbicq_u16 (uint16x8_t __a, uint16x8_t __b)
11663 {
11664   return (uint16x8_t)__builtin_neon_vbicv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
11665 }
11666 
11667 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vbicq_u32(uint32x4_t __a,uint32x4_t __b)11668 vbicq_u32 (uint32x4_t __a, uint32x4_t __b)
11669 {
11670   return (uint32x4_t)__builtin_neon_vbicv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
11671 }
11672 
11673 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vbicq_u64(uint64x2_t __a,uint64x2_t __b)11674 vbicq_u64 (uint64x2_t __a, uint64x2_t __b)
11675 {
11676   return (uint64x2_t)__builtin_neon_vbicv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
11677 }
11678 
11679 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vorn_s8(int8x8_t __a,int8x8_t __b)11680 vorn_s8 (int8x8_t __a, int8x8_t __b)
11681 {
11682   return (int8x8_t)__builtin_neon_vornv8qi (__a, __b, 1);
11683 }
11684 
11685 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vorn_s16(int16x4_t __a,int16x4_t __b)11686 vorn_s16 (int16x4_t __a, int16x4_t __b)
11687 {
11688   return (int16x4_t)__builtin_neon_vornv4hi (__a, __b, 1);
11689 }
11690 
11691 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vorn_s32(int32x2_t __a,int32x2_t __b)11692 vorn_s32 (int32x2_t __a, int32x2_t __b)
11693 {
11694   return (int32x2_t)__builtin_neon_vornv2si (__a, __b, 1);
11695 }
11696 
11697 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vorn_u8(uint8x8_t __a,uint8x8_t __b)11698 vorn_u8 (uint8x8_t __a, uint8x8_t __b)
11699 {
11700   return (uint8x8_t)__builtin_neon_vornv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
11701 }
11702 
11703 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vorn_u16(uint16x4_t __a,uint16x4_t __b)11704 vorn_u16 (uint16x4_t __a, uint16x4_t __b)
11705 {
11706   return (uint16x4_t)__builtin_neon_vornv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
11707 }
11708 
11709 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vorn_u32(uint32x2_t __a,uint32x2_t __b)11710 vorn_u32 (uint32x2_t __a, uint32x2_t __b)
11711 {
11712   return (uint32x2_t)__builtin_neon_vornv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
11713 }
11714 
11715 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vorn_s64(int64x1_t __a,int64x1_t __b)11716 vorn_s64 (int64x1_t __a, int64x1_t __b)
11717 {
11718   return (int64x1_t)__builtin_neon_vorndi (__a, __b, 1);
11719 }
11720 
11721 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vorn_u64(uint64x1_t __a,uint64x1_t __b)11722 vorn_u64 (uint64x1_t __a, uint64x1_t __b)
11723 {
11724   return (uint64x1_t)__builtin_neon_vorndi ((int64x1_t) __a, (int64x1_t) __b, 0);
11725 }
11726 
11727 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vornq_s8(int8x16_t __a,int8x16_t __b)11728 vornq_s8 (int8x16_t __a, int8x16_t __b)
11729 {
11730   return (int8x16_t)__builtin_neon_vornv16qi (__a, __b, 1);
11731 }
11732 
11733 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vornq_s16(int16x8_t __a,int16x8_t __b)11734 vornq_s16 (int16x8_t __a, int16x8_t __b)
11735 {
11736   return (int16x8_t)__builtin_neon_vornv8hi (__a, __b, 1);
11737 }
11738 
11739 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vornq_s32(int32x4_t __a,int32x4_t __b)11740 vornq_s32 (int32x4_t __a, int32x4_t __b)
11741 {
11742   return (int32x4_t)__builtin_neon_vornv4si (__a, __b, 1);
11743 }
11744 
11745 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vornq_s64(int64x2_t __a,int64x2_t __b)11746 vornq_s64 (int64x2_t __a, int64x2_t __b)
11747 {
11748   return (int64x2_t)__builtin_neon_vornv2di (__a, __b, 1);
11749 }
11750 
11751 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vornq_u8(uint8x16_t __a,uint8x16_t __b)11752 vornq_u8 (uint8x16_t __a, uint8x16_t __b)
11753 {
11754   return (uint8x16_t)__builtin_neon_vornv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
11755 }
11756 
11757 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vornq_u16(uint16x8_t __a,uint16x8_t __b)11758 vornq_u16 (uint16x8_t __a, uint16x8_t __b)
11759 {
11760   return (uint16x8_t)__builtin_neon_vornv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
11761 }
11762 
11763 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vornq_u32(uint32x4_t __a,uint32x4_t __b)11764 vornq_u32 (uint32x4_t __a, uint32x4_t __b)
11765 {
11766   return (uint32x4_t)__builtin_neon_vornv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
11767 }
11768 
11769 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vornq_u64(uint64x2_t __a,uint64x2_t __b)11770 vornq_u64 (uint64x2_t __a, uint64x2_t __b)
11771 {
11772   return (uint64x2_t)__builtin_neon_vornv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
11773 }
11774 
11775 
11776 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_p16(poly16x4_t __a)11777 vreinterpret_p8_p16 (poly16x4_t __a)
11778 {
11779   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11780 }
11781 
11782 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_f32(float32x2_t __a)11783 vreinterpret_p8_f32 (float32x2_t __a)
11784 {
11785   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
11786 }
11787 
11788 #ifdef __ARM_FEATURE_CRYPTO
11789 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_p64(poly64x1_t __a)11790 vreinterpret_p8_p64 (poly64x1_t __a)
11791 {
11792   return (poly8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
11793 }
11794 
11795 #endif
11796 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_s64(int64x1_t __a)11797 vreinterpret_p8_s64 (int64x1_t __a)
11798 {
11799   return (poly8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
11800 }
11801 
11802 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_u64(uint64x1_t __a)11803 vreinterpret_p8_u64 (uint64x1_t __a)
11804 {
11805   return (poly8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
11806 }
11807 
11808 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_s8(int8x8_t __a)11809 vreinterpret_p8_s8 (int8x8_t __a)
11810 {
11811   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a);
11812 }
11813 
11814 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_s16(int16x4_t __a)11815 vreinterpret_p8_s16 (int16x4_t __a)
11816 {
11817   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
11818 }
11819 
11820 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_s32(int32x2_t __a)11821 vreinterpret_p8_s32 (int32x2_t __a)
11822 {
11823   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
11824 }
11825 
11826 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_u8(uint8x8_t __a)11827 vreinterpret_p8_u8 (uint8x8_t __a)
11828 {
11829   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
11830 }
11831 
11832 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_u16(uint16x4_t __a)11833 vreinterpret_p8_u16 (uint16x4_t __a)
11834 {
11835   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11836 }
11837 
11838 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_u32(uint32x2_t __a)11839 vreinterpret_p8_u32 (uint32x2_t __a)
11840 {
11841   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
11842 }
11843 
11844 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_p8(poly8x8_t __a)11845 vreinterpret_p16_p8 (poly8x8_t __a)
11846 {
11847   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11848 }
11849 
11850 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_f32(float32x2_t __a)11851 vreinterpret_p16_f32 (float32x2_t __a)
11852 {
11853   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
11854 }
11855 
11856 #ifdef __ARM_FEATURE_CRYPTO
11857 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_p64(poly64x1_t __a)11858 vreinterpret_p16_p64 (poly64x1_t __a)
11859 {
11860   return (poly16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
11861 }
11862 
11863 #endif
11864 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_s64(int64x1_t __a)11865 vreinterpret_p16_s64 (int64x1_t __a)
11866 {
11867   return (poly16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
11868 }
11869 
11870 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_u64(uint64x1_t __a)11871 vreinterpret_p16_u64 (uint64x1_t __a)
11872 {
11873   return (poly16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
11874 }
11875 
11876 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_s8(int8x8_t __a)11877 vreinterpret_p16_s8 (int8x8_t __a)
11878 {
11879   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
11880 }
11881 
11882 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_s16(int16x4_t __a)11883 vreinterpret_p16_s16 (int16x4_t __a)
11884 {
11885   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a);
11886 }
11887 
11888 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_s32(int32x2_t __a)11889 vreinterpret_p16_s32 (int32x2_t __a)
11890 {
11891   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
11892 }
11893 
11894 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_u8(uint8x8_t __a)11895 vreinterpret_p16_u8 (uint8x8_t __a)
11896 {
11897   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11898 }
11899 
11900 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_u16(uint16x4_t __a)11901 vreinterpret_p16_u16 (uint16x4_t __a)
11902 {
11903   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11904 }
11905 
11906 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_u32(uint32x2_t __a)11907 vreinterpret_p16_u32 (uint32x2_t __a)
11908 {
11909   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
11910 }
11911 
11912 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_p8(poly8x8_t __a)11913 vreinterpret_f32_p8 (poly8x8_t __a)
11914 {
11915   return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a);
11916 }
11917 
11918 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_p16(poly16x4_t __a)11919 vreinterpret_f32_p16 (poly16x4_t __a)
11920 {
11921   return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a);
11922 }
11923 
11924 #ifdef __ARM_FEATURE_CRYPTO
11925 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_p64(poly64x1_t __a)11926 vreinterpret_f32_p64 (poly64x1_t __a)
11927 {
11928   return (float32x2_t)__builtin_neon_vreinterpretv2sfdi (__a);
11929 }
11930 
11931 #endif
11932 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_s64(int64x1_t __a)11933 vreinterpret_f32_s64 (int64x1_t __a)
11934 {
11935   return (float32x2_t)__builtin_neon_vreinterpretv2sfdi (__a);
11936 }
11937 
11938 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_u64(uint64x1_t __a)11939 vreinterpret_f32_u64 (uint64x1_t __a)
11940 {
11941   return (float32x2_t)__builtin_neon_vreinterpretv2sfdi ((int64x1_t) __a);
11942 }
11943 
11944 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_s8(int8x8_t __a)11945 vreinterpret_f32_s8 (int8x8_t __a)
11946 {
11947   return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi (__a);
11948 }
11949 
11950 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_s16(int16x4_t __a)11951 vreinterpret_f32_s16 (int16x4_t __a)
11952 {
11953   return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi (__a);
11954 }
11955 
11956 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_s32(int32x2_t __a)11957 vreinterpret_f32_s32 (int32x2_t __a)
11958 {
11959   return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si (__a);
11960 }
11961 
11962 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_u8(uint8x8_t __a)11963 vreinterpret_f32_u8 (uint8x8_t __a)
11964 {
11965   return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a);
11966 }
11967 
11968 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_u16(uint16x4_t __a)11969 vreinterpret_f32_u16 (uint16x4_t __a)
11970 {
11971   return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a);
11972 }
11973 
11974 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_u32(uint32x2_t __a)11975 vreinterpret_f32_u32 (uint32x2_t __a)
11976 {
11977   return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si ((int32x2_t) __a);
11978 }
11979 
11980 #ifdef __ARM_FEATURE_CRYPTO
11981 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vreinterpret_p64_p8(poly8x8_t __a)11982 vreinterpret_p64_p8 (poly8x8_t __a)
11983 {
11984   return (poly64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11985 }
11986 
11987 #endif
11988 #ifdef __ARM_FEATURE_CRYPTO
11989 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vreinterpret_p64_p16(poly16x4_t __a)11990 vreinterpret_p64_p16 (poly16x4_t __a)
11991 {
11992   return (poly64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11993 }
11994 
11995 #endif
11996 #ifdef __ARM_FEATURE_CRYPTO
11997 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vreinterpret_p64_f32(float32x2_t __a)11998 vreinterpret_p64_f32 (float32x2_t __a)
11999 {
12000   return (poly64x1_t)__builtin_neon_vreinterpretdiv2sf (__a);
12001 }
12002 
12003 #endif
12004 #ifdef __ARM_FEATURE_CRYPTO
12005 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vreinterpret_p64_s64(int64x1_t __a)12006 vreinterpret_p64_s64 (int64x1_t __a)
12007 {
12008   return (poly64x1_t)__builtin_neon_vreinterpretdidi (__a);
12009 }
12010 
12011 #endif
12012 #ifdef __ARM_FEATURE_CRYPTO
12013 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vreinterpret_p64_u64(uint64x1_t __a)12014 vreinterpret_p64_u64 (uint64x1_t __a)
12015 {
12016   return (poly64x1_t)__builtin_neon_vreinterpretdidi ((int64x1_t) __a);
12017 }
12018 
12019 #endif
12020 #ifdef __ARM_FEATURE_CRYPTO
12021 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vreinterpret_p64_s8(int8x8_t __a)12022 vreinterpret_p64_s8 (int8x8_t __a)
12023 {
12024   return (poly64x1_t)__builtin_neon_vreinterpretdiv8qi (__a);
12025 }
12026 
12027 #endif
12028 #ifdef __ARM_FEATURE_CRYPTO
12029 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vreinterpret_p64_s16(int16x4_t __a)12030 vreinterpret_p64_s16 (int16x4_t __a)
12031 {
12032   return (poly64x1_t)__builtin_neon_vreinterpretdiv4hi (__a);
12033 }
12034 
12035 #endif
12036 #ifdef __ARM_FEATURE_CRYPTO
12037 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vreinterpret_p64_s32(int32x2_t __a)12038 vreinterpret_p64_s32 (int32x2_t __a)
12039 {
12040   return (poly64x1_t)__builtin_neon_vreinterpretdiv2si (__a);
12041 }
12042 
12043 #endif
12044 #ifdef __ARM_FEATURE_CRYPTO
12045 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vreinterpret_p64_u8(uint8x8_t __a)12046 vreinterpret_p64_u8 (uint8x8_t __a)
12047 {
12048   return (poly64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
12049 }
12050 
12051 #endif
12052 #ifdef __ARM_FEATURE_CRYPTO
12053 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vreinterpret_p64_u16(uint16x4_t __a)12054 vreinterpret_p64_u16 (uint16x4_t __a)
12055 {
12056   return (poly64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
12057 }
12058 
12059 #endif
12060 #ifdef __ARM_FEATURE_CRYPTO
12061 __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__))
vreinterpret_p64_u32(uint32x2_t __a)12062 vreinterpret_p64_u32 (uint32x2_t __a)
12063 {
12064   return (poly64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a);
12065 }
12066 
12067 #endif
12068 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_p8(poly8x8_t __a)12069 vreinterpret_s64_p8 (poly8x8_t __a)
12070 {
12071   return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
12072 }
12073 
12074 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_p16(poly16x4_t __a)12075 vreinterpret_s64_p16 (poly16x4_t __a)
12076 {
12077   return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
12078 }
12079 
12080 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_f32(float32x2_t __a)12081 vreinterpret_s64_f32 (float32x2_t __a)
12082 {
12083   return (int64x1_t)__builtin_neon_vreinterpretdiv2sf (__a);
12084 }
12085 
12086 #ifdef __ARM_FEATURE_CRYPTO
12087 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_p64(poly64x1_t __a)12088 vreinterpret_s64_p64 (poly64x1_t __a)
12089 {
12090   return (int64x1_t)__builtin_neon_vreinterpretdidi (__a);
12091 }
12092 
12093 #endif
12094 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_u64(uint64x1_t __a)12095 vreinterpret_s64_u64 (uint64x1_t __a)
12096 {
12097   return (int64x1_t)__builtin_neon_vreinterpretdidi ((int64x1_t) __a);
12098 }
12099 
12100 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_s8(int8x8_t __a)12101 vreinterpret_s64_s8 (int8x8_t __a)
12102 {
12103   return (int64x1_t)__builtin_neon_vreinterpretdiv8qi (__a);
12104 }
12105 
12106 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_s16(int16x4_t __a)12107 vreinterpret_s64_s16 (int16x4_t __a)
12108 {
12109   return (int64x1_t)__builtin_neon_vreinterpretdiv4hi (__a);
12110 }
12111 
12112 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_s32(int32x2_t __a)12113 vreinterpret_s64_s32 (int32x2_t __a)
12114 {
12115   return (int64x1_t)__builtin_neon_vreinterpretdiv2si (__a);
12116 }
12117 
12118 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_u8(uint8x8_t __a)12119 vreinterpret_s64_u8 (uint8x8_t __a)
12120 {
12121   return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
12122 }
12123 
12124 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_u16(uint16x4_t __a)12125 vreinterpret_s64_u16 (uint16x4_t __a)
12126 {
12127   return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
12128 }
12129 
12130 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_u32(uint32x2_t __a)12131 vreinterpret_s64_u32 (uint32x2_t __a)
12132 {
12133   return (int64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a);
12134 }
12135 
12136 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_p8(poly8x8_t __a)12137 vreinterpret_u64_p8 (poly8x8_t __a)
12138 {
12139   return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
12140 }
12141 
12142 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_p16(poly16x4_t __a)12143 vreinterpret_u64_p16 (poly16x4_t __a)
12144 {
12145   return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
12146 }
12147 
12148 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_f32(float32x2_t __a)12149 vreinterpret_u64_f32 (float32x2_t __a)
12150 {
12151   return (uint64x1_t)__builtin_neon_vreinterpretdiv2sf (__a);
12152 }
12153 
12154 #ifdef __ARM_FEATURE_CRYPTO
12155 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_p64(poly64x1_t __a)12156 vreinterpret_u64_p64 (poly64x1_t __a)
12157 {
12158   return (uint64x1_t)__builtin_neon_vreinterpretdidi (__a);
12159 }
12160 
12161 #endif
12162 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_s64(int64x1_t __a)12163 vreinterpret_u64_s64 (int64x1_t __a)
12164 {
12165   return (uint64x1_t)__builtin_neon_vreinterpretdidi (__a);
12166 }
12167 
12168 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_s8(int8x8_t __a)12169 vreinterpret_u64_s8 (int8x8_t __a)
12170 {
12171   return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi (__a);
12172 }
12173 
12174 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_s16(int16x4_t __a)12175 vreinterpret_u64_s16 (int16x4_t __a)
12176 {
12177   return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi (__a);
12178 }
12179 
12180 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_s32(int32x2_t __a)12181 vreinterpret_u64_s32 (int32x2_t __a)
12182 {
12183   return (uint64x1_t)__builtin_neon_vreinterpretdiv2si (__a);
12184 }
12185 
12186 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_u8(uint8x8_t __a)12187 vreinterpret_u64_u8 (uint8x8_t __a)
12188 {
12189   return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
12190 }
12191 
12192 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_u16(uint16x4_t __a)12193 vreinterpret_u64_u16 (uint16x4_t __a)
12194 {
12195   return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
12196 }
12197 
12198 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_u32(uint32x2_t __a)12199 vreinterpret_u64_u32 (uint32x2_t __a)
12200 {
12201   return (uint64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a);
12202 }
12203 
12204 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_p8(poly8x8_t __a)12205 vreinterpret_s8_p8 (poly8x8_t __a)
12206 {
12207   return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
12208 }
12209 
12210 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_p16(poly16x4_t __a)12211 vreinterpret_s8_p16 (poly16x4_t __a)
12212 {
12213   return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
12214 }
12215 
12216 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_f32(float32x2_t __a)12217 vreinterpret_s8_f32 (float32x2_t __a)
12218 {
12219   return (int8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
12220 }
12221 
12222 #ifdef __ARM_FEATURE_CRYPTO
12223 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_p64(poly64x1_t __a)12224 vreinterpret_s8_p64 (poly64x1_t __a)
12225 {
12226   return (int8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
12227 }
12228 
12229 #endif
12230 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_s64(int64x1_t __a)12231 vreinterpret_s8_s64 (int64x1_t __a)
12232 {
12233   return (int8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
12234 }
12235 
12236 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_u64(uint64x1_t __a)12237 vreinterpret_s8_u64 (uint64x1_t __a)
12238 {
12239   return (int8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
12240 }
12241 
12242 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_s16(int16x4_t __a)12243 vreinterpret_s8_s16 (int16x4_t __a)
12244 {
12245   return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
12246 }
12247 
12248 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_s32(int32x2_t __a)12249 vreinterpret_s8_s32 (int32x2_t __a)
12250 {
12251   return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
12252 }
12253 
12254 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_u8(uint8x8_t __a)12255 vreinterpret_s8_u8 (uint8x8_t __a)
12256 {
12257   return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
12258 }
12259 
12260 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_u16(uint16x4_t __a)12261 vreinterpret_s8_u16 (uint16x4_t __a)
12262 {
12263   return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
12264 }
12265 
12266 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_u32(uint32x2_t __a)12267 vreinterpret_s8_u32 (uint32x2_t __a)
12268 {
12269   return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
12270 }
12271 
12272 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_p8(poly8x8_t __a)12273 vreinterpret_s16_p8 (poly8x8_t __a)
12274 {
12275   return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
12276 }
12277 
12278 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_p16(poly16x4_t __a)12279 vreinterpret_s16_p16 (poly16x4_t __a)
12280 {
12281   return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
12282 }
12283 
12284 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_f32(float32x2_t __a)12285 vreinterpret_s16_f32 (float32x2_t __a)
12286 {
12287   return (int16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
12288 }
12289 
12290 #ifdef __ARM_FEATURE_CRYPTO
12291 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_p64(poly64x1_t __a)12292 vreinterpret_s16_p64 (poly64x1_t __a)
12293 {
12294   return (int16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
12295 }
12296 
12297 #endif
12298 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_s64(int64x1_t __a)12299 vreinterpret_s16_s64 (int64x1_t __a)
12300 {
12301   return (int16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
12302 }
12303 
12304 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_u64(uint64x1_t __a)12305 vreinterpret_s16_u64 (uint64x1_t __a)
12306 {
12307   return (int16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
12308 }
12309 
12310 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_s8(int8x8_t __a)12311 vreinterpret_s16_s8 (int8x8_t __a)
12312 {
12313   return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
12314 }
12315 
12316 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_s32(int32x2_t __a)12317 vreinterpret_s16_s32 (int32x2_t __a)
12318 {
12319   return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
12320 }
12321 
12322 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_u8(uint8x8_t __a)12323 vreinterpret_s16_u8 (uint8x8_t __a)
12324 {
12325   return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
12326 }
12327 
12328 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_u16(uint16x4_t __a)12329 vreinterpret_s16_u16 (uint16x4_t __a)
12330 {
12331   return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
12332 }
12333 
12334 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_u32(uint32x2_t __a)12335 vreinterpret_s16_u32 (uint32x2_t __a)
12336 {
12337   return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
12338 }
12339 
12340 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_p8(poly8x8_t __a)12341 vreinterpret_s32_p8 (poly8x8_t __a)
12342 {
12343   return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
12344 }
12345 
12346 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_p16(poly16x4_t __a)12347 vreinterpret_s32_p16 (poly16x4_t __a)
12348 {
12349   return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
12350 }
12351 
12352 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_f32(float32x2_t __a)12353 vreinterpret_s32_f32 (float32x2_t __a)
12354 {
12355   return (int32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a);
12356 }
12357 
12358 #ifdef __ARM_FEATURE_CRYPTO
12359 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_p64(poly64x1_t __a)12360 vreinterpret_s32_p64 (poly64x1_t __a)
12361 {
12362   return (int32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
12363 }
12364 
12365 #endif
12366 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_s64(int64x1_t __a)12367 vreinterpret_s32_s64 (int64x1_t __a)
12368 {
12369   return (int32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
12370 }
12371 
12372 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_u64(uint64x1_t __a)12373 vreinterpret_s32_u64 (uint64x1_t __a)
12374 {
12375   return (int32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a);
12376 }
12377 
12378 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_s8(int8x8_t __a)12379 vreinterpret_s32_s8 (int8x8_t __a)
12380 {
12381   return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a);
12382 }
12383 
12384 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_s16(int16x4_t __a)12385 vreinterpret_s32_s16 (int16x4_t __a)
12386 {
12387   return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a);
12388 }
12389 
12390 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_u8(uint8x8_t __a)12391 vreinterpret_s32_u8 (uint8x8_t __a)
12392 {
12393   return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
12394 }
12395 
12396 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_u16(uint16x4_t __a)12397 vreinterpret_s32_u16 (uint16x4_t __a)
12398 {
12399   return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
12400 }
12401 
12402 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_u32(uint32x2_t __a)12403 vreinterpret_s32_u32 (uint32x2_t __a)
12404 {
12405   return (int32x2_t)__builtin_neon_vreinterpretv2siv2si ((int32x2_t) __a);
12406 }
12407 
12408 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_p8(poly8x8_t __a)12409 vreinterpret_u8_p8 (poly8x8_t __a)
12410 {
12411   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
12412 }
12413 
12414 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_p16(poly16x4_t __a)12415 vreinterpret_u8_p16 (poly16x4_t __a)
12416 {
12417   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
12418 }
12419 
12420 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_f32(float32x2_t __a)12421 vreinterpret_u8_f32 (float32x2_t __a)
12422 {
12423   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
12424 }
12425 
12426 #ifdef __ARM_FEATURE_CRYPTO
12427 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_p64(poly64x1_t __a)12428 vreinterpret_u8_p64 (poly64x1_t __a)
12429 {
12430   return (uint8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
12431 }
12432 
12433 #endif
12434 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_s64(int64x1_t __a)12435 vreinterpret_u8_s64 (int64x1_t __a)
12436 {
12437   return (uint8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
12438 }
12439 
12440 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_u64(uint64x1_t __a)12441 vreinterpret_u8_u64 (uint64x1_t __a)
12442 {
12443   return (uint8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
12444 }
12445 
12446 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_s8(int8x8_t __a)12447 vreinterpret_u8_s8 (int8x8_t __a)
12448 {
12449   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a);
12450 }
12451 
12452 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_s16(int16x4_t __a)12453 vreinterpret_u8_s16 (int16x4_t __a)
12454 {
12455   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
12456 }
12457 
12458 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_s32(int32x2_t __a)12459 vreinterpret_u8_s32 (int32x2_t __a)
12460 {
12461   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
12462 }
12463 
12464 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_u16(uint16x4_t __a)12465 vreinterpret_u8_u16 (uint16x4_t __a)
12466 {
12467   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
12468 }
12469 
12470 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_u32(uint32x2_t __a)12471 vreinterpret_u8_u32 (uint32x2_t __a)
12472 {
12473   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
12474 }
12475 
12476 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_p8(poly8x8_t __a)12477 vreinterpret_u16_p8 (poly8x8_t __a)
12478 {
12479   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
12480 }
12481 
12482 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_p16(poly16x4_t __a)12483 vreinterpret_u16_p16 (poly16x4_t __a)
12484 {
12485   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
12486 }
12487 
12488 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_f32(float32x2_t __a)12489 vreinterpret_u16_f32 (float32x2_t __a)
12490 {
12491   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
12492 }
12493 
12494 #ifdef __ARM_FEATURE_CRYPTO
12495 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_p64(poly64x1_t __a)12496 vreinterpret_u16_p64 (poly64x1_t __a)
12497 {
12498   return (uint16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
12499 }
12500 
12501 #endif
12502 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_s64(int64x1_t __a)12503 vreinterpret_u16_s64 (int64x1_t __a)
12504 {
12505   return (uint16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
12506 }
12507 
12508 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_u64(uint64x1_t __a)12509 vreinterpret_u16_u64 (uint64x1_t __a)
12510 {
12511   return (uint16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
12512 }
12513 
12514 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_s8(int8x8_t __a)12515 vreinterpret_u16_s8 (int8x8_t __a)
12516 {
12517   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
12518 }
12519 
12520 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_s16(int16x4_t __a)12521 vreinterpret_u16_s16 (int16x4_t __a)
12522 {
12523   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a);
12524 }
12525 
12526 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_s32(int32x2_t __a)12527 vreinterpret_u16_s32 (int32x2_t __a)
12528 {
12529   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
12530 }
12531 
12532 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_u8(uint8x8_t __a)12533 vreinterpret_u16_u8 (uint8x8_t __a)
12534 {
12535   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
12536 }
12537 
12538 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_u32(uint32x2_t __a)12539 vreinterpret_u16_u32 (uint32x2_t __a)
12540 {
12541   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
12542 }
12543 
12544 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_p8(poly8x8_t __a)12545 vreinterpret_u32_p8 (poly8x8_t __a)
12546 {
12547   return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
12548 }
12549 
12550 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_p16(poly16x4_t __a)12551 vreinterpret_u32_p16 (poly16x4_t __a)
12552 {
12553   return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
12554 }
12555 
12556 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_f32(float32x2_t __a)12557 vreinterpret_u32_f32 (float32x2_t __a)
12558 {
12559   return (uint32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a);
12560 }
12561 
12562 #ifdef __ARM_FEATURE_CRYPTO
12563 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_p64(poly64x1_t __a)12564 vreinterpret_u32_p64 (poly64x1_t __a)
12565 {
12566   return (uint32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
12567 }
12568 
12569 #endif
12570 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_s64(int64x1_t __a)12571 vreinterpret_u32_s64 (int64x1_t __a)
12572 {
12573   return (uint32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
12574 }
12575 
12576 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_u64(uint64x1_t __a)12577 vreinterpret_u32_u64 (uint64x1_t __a)
12578 {
12579   return (uint32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a);
12580 }
12581 
12582 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_s8(int8x8_t __a)12583 vreinterpret_u32_s8 (int8x8_t __a)
12584 {
12585   return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a);
12586 }
12587 
12588 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_s16(int16x4_t __a)12589 vreinterpret_u32_s16 (int16x4_t __a)
12590 {
12591   return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a);
12592 }
12593 
12594 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_s32(int32x2_t __a)12595 vreinterpret_u32_s32 (int32x2_t __a)
12596 {
12597   return (uint32x2_t)__builtin_neon_vreinterpretv2siv2si (__a);
12598 }
12599 
12600 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_u8(uint8x8_t __a)12601 vreinterpret_u32_u8 (uint8x8_t __a)
12602 {
12603   return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
12604 }
12605 
12606 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_u16(uint16x4_t __a)12607 vreinterpret_u32_u16 (uint16x4_t __a)
12608 {
12609   return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
12610 }
12611 
12612 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_p16(poly16x8_t __a)12613 vreinterpretq_p8_p16 (poly16x8_t __a)
12614 {
12615   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
12616 }
12617 
12618 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_f32(float32x4_t __a)12619 vreinterpretq_p8_f32 (float32x4_t __a)
12620 {
12621   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
12622 }
12623 
12624 #ifdef __ARM_FEATURE_CRYPTO
12625 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_p64(poly64x2_t __a)12626 vreinterpretq_p8_p64 (poly64x2_t __a)
12627 {
12628   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
12629 }
12630 
12631 #endif
12632 #ifdef __ARM_FEATURE_CRYPTO
12633 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_p128(poly128_t __a)12634 vreinterpretq_p8_p128 (poly128_t __a)
12635 {
12636   return (poly8x16_t)__builtin_neon_vreinterpretv16qiti ((__builtin_neon_ti) __a);
12637 }
12638 
12639 #endif
12640 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_s64(int64x2_t __a)12641 vreinterpretq_p8_s64 (int64x2_t __a)
12642 {
12643   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
12644 }
12645 
12646 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_u64(uint64x2_t __a)12647 vreinterpretq_p8_u64 (uint64x2_t __a)
12648 {
12649   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
12650 }
12651 
12652 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_s8(int8x16_t __a)12653 vreinterpretq_p8_s8 (int8x16_t __a)
12654 {
12655   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a);
12656 }
12657 
12658 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_s16(int16x8_t __a)12659 vreinterpretq_p8_s16 (int16x8_t __a)
12660 {
12661   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
12662 }
12663 
12664 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_s32(int32x4_t __a)12665 vreinterpretq_p8_s32 (int32x4_t __a)
12666 {
12667   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
12668 }
12669 
12670 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_u8(uint8x16_t __a)12671 vreinterpretq_p8_u8 (uint8x16_t __a)
12672 {
12673   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
12674 }
12675 
12676 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_u16(uint16x8_t __a)12677 vreinterpretq_p8_u16 (uint16x8_t __a)
12678 {
12679   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
12680 }
12681 
12682 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_u32(uint32x4_t __a)12683 vreinterpretq_p8_u32 (uint32x4_t __a)
12684 {
12685   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
12686 }
12687 
12688 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_p8(poly8x16_t __a)12689 vreinterpretq_p16_p8 (poly8x16_t __a)
12690 {
12691   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
12692 }
12693 
12694 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_f32(float32x4_t __a)12695 vreinterpretq_p16_f32 (float32x4_t __a)
12696 {
12697   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
12698 }
12699 
12700 #ifdef __ARM_FEATURE_CRYPTO
12701 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_p64(poly64x2_t __a)12702 vreinterpretq_p16_p64 (poly64x2_t __a)
12703 {
12704   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
12705 }
12706 
12707 #endif
12708 #ifdef __ARM_FEATURE_CRYPTO
12709 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_p128(poly128_t __a)12710 vreinterpretq_p16_p128 (poly128_t __a)
12711 {
12712   return (poly16x8_t)__builtin_neon_vreinterpretv8hiti ((__builtin_neon_ti) __a);
12713 }
12714 
12715 #endif
12716 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_s64(int64x2_t __a)12717 vreinterpretq_p16_s64 (int64x2_t __a)
12718 {
12719   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
12720 }
12721 
12722 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_u64(uint64x2_t __a)12723 vreinterpretq_p16_u64 (uint64x2_t __a)
12724 {
12725   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
12726 }
12727 
12728 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_s8(int8x16_t __a)12729 vreinterpretq_p16_s8 (int8x16_t __a)
12730 {
12731   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
12732 }
12733 
12734 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_s16(int16x8_t __a)12735 vreinterpretq_p16_s16 (int16x8_t __a)
12736 {
12737   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a);
12738 }
12739 
12740 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_s32(int32x4_t __a)12741 vreinterpretq_p16_s32 (int32x4_t __a)
12742 {
12743   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
12744 }
12745 
12746 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_u8(uint8x16_t __a)12747 vreinterpretq_p16_u8 (uint8x16_t __a)
12748 {
12749   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
12750 }
12751 
12752 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_u16(uint16x8_t __a)12753 vreinterpretq_p16_u16 (uint16x8_t __a)
12754 {
12755   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
12756 }
12757 
12758 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_u32(uint32x4_t __a)12759 vreinterpretq_p16_u32 (uint32x4_t __a)
12760 {
12761   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
12762 }
12763 
12764 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_p8(poly8x16_t __a)12765 vreinterpretq_f32_p8 (poly8x16_t __a)
12766 {
12767   return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a);
12768 }
12769 
12770 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_p16(poly16x8_t __a)12771 vreinterpretq_f32_p16 (poly16x8_t __a)
12772 {
12773   return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a);
12774 }
12775 
12776 #ifdef __ARM_FEATURE_CRYPTO
12777 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_p64(poly64x2_t __a)12778 vreinterpretq_f32_p64 (poly64x2_t __a)
12779 {
12780   return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di ((int64x2_t) __a);
12781 }
12782 
12783 #endif
12784 #ifdef __ARM_FEATURE_CRYPTO
12785 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_p128(poly128_t __a)12786 vreinterpretq_f32_p128 (poly128_t __a)
12787 {
12788   return (float32x4_t)__builtin_neon_vreinterpretv4sfti ((__builtin_neon_ti) __a);
12789 }
12790 
12791 #endif
12792 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_s64(int64x2_t __a)12793 vreinterpretq_f32_s64 (int64x2_t __a)
12794 {
12795   return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di (__a);
12796 }
12797 
12798 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_u64(uint64x2_t __a)12799 vreinterpretq_f32_u64 (uint64x2_t __a)
12800 {
12801   return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di ((int64x2_t) __a);
12802 }
12803 
12804 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_s8(int8x16_t __a)12805 vreinterpretq_f32_s8 (int8x16_t __a)
12806 {
12807   return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi (__a);
12808 }
12809 
12810 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_s16(int16x8_t __a)12811 vreinterpretq_f32_s16 (int16x8_t __a)
12812 {
12813   return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi (__a);
12814 }
12815 
12816 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_s32(int32x4_t __a)12817 vreinterpretq_f32_s32 (int32x4_t __a)
12818 {
12819   return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si (__a);
12820 }
12821 
12822 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_u8(uint8x16_t __a)12823 vreinterpretq_f32_u8 (uint8x16_t __a)
12824 {
12825   return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a);
12826 }
12827 
12828 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_u16(uint16x8_t __a)12829 vreinterpretq_f32_u16 (uint16x8_t __a)
12830 {
12831   return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a);
12832 }
12833 
12834 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_u32(uint32x4_t __a)12835 vreinterpretq_f32_u32 (uint32x4_t __a)
12836 {
12837   return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si ((int32x4_t) __a);
12838 }
12839 
12840 #ifdef __ARM_FEATURE_CRYPTO
12841 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vreinterpretq_p64_p8(poly8x16_t __a)12842 vreinterpretq_p64_p8 (poly8x16_t __a)
12843 {
12844   return (poly64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
12845 }
12846 
12847 #endif
12848 #ifdef __ARM_FEATURE_CRYPTO
12849 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vreinterpretq_p64_p16(poly16x8_t __a)12850 vreinterpretq_p64_p16 (poly16x8_t __a)
12851 {
12852   return (poly64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
12853 }
12854 
12855 #endif
12856 #ifdef __ARM_FEATURE_CRYPTO
12857 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vreinterpretq_p64_f32(float32x4_t __a)12858 vreinterpretq_p64_f32 (float32x4_t __a)
12859 {
12860   return (poly64x2_t)__builtin_neon_vreinterpretv2div4sf (__a);
12861 }
12862 
12863 #endif
12864 #ifdef __ARM_FEATURE_CRYPTO
12865 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vreinterpretq_p64_p128(poly128_t __a)12866 vreinterpretq_p64_p128 (poly128_t __a)
12867 {
12868   return (poly64x2_t)__builtin_neon_vreinterpretv2diti ((__builtin_neon_ti) __a);
12869 }
12870 
12871 #endif
12872 #ifdef __ARM_FEATURE_CRYPTO
12873 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vreinterpretq_p64_s64(int64x2_t __a)12874 vreinterpretq_p64_s64 (int64x2_t __a)
12875 {
12876   return (poly64x2_t)__builtin_neon_vreinterpretv2div2di (__a);
12877 }
12878 
12879 #endif
12880 #ifdef __ARM_FEATURE_CRYPTO
12881 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vreinterpretq_p64_u64(uint64x2_t __a)12882 vreinterpretq_p64_u64 (uint64x2_t __a)
12883 {
12884   return (poly64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a);
12885 }
12886 
12887 #endif
12888 #ifdef __ARM_FEATURE_CRYPTO
12889 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vreinterpretq_p64_s8(int8x16_t __a)12890 vreinterpretq_p64_s8 (int8x16_t __a)
12891 {
12892   return (poly64x2_t)__builtin_neon_vreinterpretv2div16qi (__a);
12893 }
12894 
12895 #endif
12896 #ifdef __ARM_FEATURE_CRYPTO
12897 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vreinterpretq_p64_s16(int16x8_t __a)12898 vreinterpretq_p64_s16 (int16x8_t __a)
12899 {
12900   return (poly64x2_t)__builtin_neon_vreinterpretv2div8hi (__a);
12901 }
12902 
12903 #endif
12904 #ifdef __ARM_FEATURE_CRYPTO
12905 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vreinterpretq_p64_s32(int32x4_t __a)12906 vreinterpretq_p64_s32 (int32x4_t __a)
12907 {
12908   return (poly64x2_t)__builtin_neon_vreinterpretv2div4si (__a);
12909 }
12910 
12911 #endif
12912 #ifdef __ARM_FEATURE_CRYPTO
12913 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vreinterpretq_p64_u8(uint8x16_t __a)12914 vreinterpretq_p64_u8 (uint8x16_t __a)
12915 {
12916   return (poly64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
12917 }
12918 
12919 #endif
12920 #ifdef __ARM_FEATURE_CRYPTO
12921 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vreinterpretq_p64_u16(uint16x8_t __a)12922 vreinterpretq_p64_u16 (uint16x8_t __a)
12923 {
12924   return (poly64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
12925 }
12926 
12927 #endif
12928 #ifdef __ARM_FEATURE_CRYPTO
12929 __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__))
vreinterpretq_p64_u32(uint32x4_t __a)12930 vreinterpretq_p64_u32 (uint32x4_t __a)
12931 {
12932   return (poly64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a);
12933 }
12934 
12935 #endif
12936 #ifdef __ARM_FEATURE_CRYPTO
12937 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vreinterpretq_p128_p8(poly8x16_t __a)12938 vreinterpretq_p128_p8 (poly8x16_t __a)
12939 {
12940   return (poly128_t)__builtin_neon_vreinterprettiv16qi ((int8x16_t) __a);
12941 }
12942 
12943 #endif
12944 #ifdef __ARM_FEATURE_CRYPTO
12945 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vreinterpretq_p128_p16(poly16x8_t __a)12946 vreinterpretq_p128_p16 (poly16x8_t __a)
12947 {
12948   return (poly128_t)__builtin_neon_vreinterprettiv8hi ((int16x8_t) __a);
12949 }
12950 
12951 #endif
12952 #ifdef __ARM_FEATURE_CRYPTO
12953 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vreinterpretq_p128_f32(float32x4_t __a)12954 vreinterpretq_p128_f32 (float32x4_t __a)
12955 {
12956   return (poly128_t)__builtin_neon_vreinterprettiv4sf (__a);
12957 }
12958 
12959 #endif
12960 #ifdef __ARM_FEATURE_CRYPTO
12961 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vreinterpretq_p128_p64(poly64x2_t __a)12962 vreinterpretq_p128_p64 (poly64x2_t __a)
12963 {
12964   return (poly128_t)__builtin_neon_vreinterprettiv2di ((int64x2_t) __a);
12965 }
12966 
12967 #endif
12968 #ifdef __ARM_FEATURE_CRYPTO
12969 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vreinterpretq_p128_s64(int64x2_t __a)12970 vreinterpretq_p128_s64 (int64x2_t __a)
12971 {
12972   return (poly128_t)__builtin_neon_vreinterprettiv2di (__a);
12973 }
12974 
12975 #endif
12976 #ifdef __ARM_FEATURE_CRYPTO
12977 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vreinterpretq_p128_u64(uint64x2_t __a)12978 vreinterpretq_p128_u64 (uint64x2_t __a)
12979 {
12980   return (poly128_t)__builtin_neon_vreinterprettiv2di ((int64x2_t) __a);
12981 }
12982 
12983 #endif
12984 #ifdef __ARM_FEATURE_CRYPTO
12985 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vreinterpretq_p128_s8(int8x16_t __a)12986 vreinterpretq_p128_s8 (int8x16_t __a)
12987 {
12988   return (poly128_t)__builtin_neon_vreinterprettiv16qi (__a);
12989 }
12990 
12991 #endif
12992 #ifdef __ARM_FEATURE_CRYPTO
12993 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vreinterpretq_p128_s16(int16x8_t __a)12994 vreinterpretq_p128_s16 (int16x8_t __a)
12995 {
12996   return (poly128_t)__builtin_neon_vreinterprettiv8hi (__a);
12997 }
12998 
12999 #endif
13000 #ifdef __ARM_FEATURE_CRYPTO
13001 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vreinterpretq_p128_s32(int32x4_t __a)13002 vreinterpretq_p128_s32 (int32x4_t __a)
13003 {
13004   return (poly128_t)__builtin_neon_vreinterprettiv4si (__a);
13005 }
13006 
13007 #endif
13008 #ifdef __ARM_FEATURE_CRYPTO
13009 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vreinterpretq_p128_u8(uint8x16_t __a)13010 vreinterpretq_p128_u8 (uint8x16_t __a)
13011 {
13012   return (poly128_t)__builtin_neon_vreinterprettiv16qi ((int8x16_t) __a);
13013 }
13014 
13015 #endif
13016 #ifdef __ARM_FEATURE_CRYPTO
13017 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vreinterpretq_p128_u16(uint16x8_t __a)13018 vreinterpretq_p128_u16 (uint16x8_t __a)
13019 {
13020   return (poly128_t)__builtin_neon_vreinterprettiv8hi ((int16x8_t) __a);
13021 }
13022 
13023 #endif
13024 #ifdef __ARM_FEATURE_CRYPTO
13025 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vreinterpretq_p128_u32(uint32x4_t __a)13026 vreinterpretq_p128_u32 (uint32x4_t __a)
13027 {
13028   return (poly128_t)__builtin_neon_vreinterprettiv4si ((int32x4_t) __a);
13029 }
13030 
13031 #endif
13032 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_p8(poly8x16_t __a)13033 vreinterpretq_s64_p8 (poly8x16_t __a)
13034 {
13035   return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
13036 }
13037 
13038 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_p16(poly16x8_t __a)13039 vreinterpretq_s64_p16 (poly16x8_t __a)
13040 {
13041   return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
13042 }
13043 
13044 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_f32(float32x4_t __a)13045 vreinterpretq_s64_f32 (float32x4_t __a)
13046 {
13047   return (int64x2_t)__builtin_neon_vreinterpretv2div4sf (__a);
13048 }
13049 
13050 #ifdef __ARM_FEATURE_CRYPTO
13051 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_p64(poly64x2_t __a)13052 vreinterpretq_s64_p64 (poly64x2_t __a)
13053 {
13054   return (int64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a);
13055 }
13056 
13057 #endif
13058 #ifdef __ARM_FEATURE_CRYPTO
13059 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_p128(poly128_t __a)13060 vreinterpretq_s64_p128 (poly128_t __a)
13061 {
13062   return (int64x2_t)__builtin_neon_vreinterpretv2diti ((__builtin_neon_ti) __a);
13063 }
13064 
13065 #endif
13066 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_u64(uint64x2_t __a)13067 vreinterpretq_s64_u64 (uint64x2_t __a)
13068 {
13069   return (int64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a);
13070 }
13071 
13072 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_s8(int8x16_t __a)13073 vreinterpretq_s64_s8 (int8x16_t __a)
13074 {
13075   return (int64x2_t)__builtin_neon_vreinterpretv2div16qi (__a);
13076 }
13077 
13078 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_s16(int16x8_t __a)13079 vreinterpretq_s64_s16 (int16x8_t __a)
13080 {
13081   return (int64x2_t)__builtin_neon_vreinterpretv2div8hi (__a);
13082 }
13083 
13084 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_s32(int32x4_t __a)13085 vreinterpretq_s64_s32 (int32x4_t __a)
13086 {
13087   return (int64x2_t)__builtin_neon_vreinterpretv2div4si (__a);
13088 }
13089 
13090 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_u8(uint8x16_t __a)13091 vreinterpretq_s64_u8 (uint8x16_t __a)
13092 {
13093   return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
13094 }
13095 
13096 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_u16(uint16x8_t __a)13097 vreinterpretq_s64_u16 (uint16x8_t __a)
13098 {
13099   return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
13100 }
13101 
13102 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_u32(uint32x4_t __a)13103 vreinterpretq_s64_u32 (uint32x4_t __a)
13104 {
13105   return (int64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a);
13106 }
13107 
13108 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_p8(poly8x16_t __a)13109 vreinterpretq_u64_p8 (poly8x16_t __a)
13110 {
13111   return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
13112 }
13113 
13114 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_p16(poly16x8_t __a)13115 vreinterpretq_u64_p16 (poly16x8_t __a)
13116 {
13117   return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
13118 }
13119 
13120 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_f32(float32x4_t __a)13121 vreinterpretq_u64_f32 (float32x4_t __a)
13122 {
13123   return (uint64x2_t)__builtin_neon_vreinterpretv2div4sf (__a);
13124 }
13125 
13126 #ifdef __ARM_FEATURE_CRYPTO
13127 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_p64(poly64x2_t __a)13128 vreinterpretq_u64_p64 (poly64x2_t __a)
13129 {
13130   return (uint64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a);
13131 }
13132 
13133 #endif
13134 #ifdef __ARM_FEATURE_CRYPTO
13135 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_p128(poly128_t __a)13136 vreinterpretq_u64_p128 (poly128_t __a)
13137 {
13138   return (uint64x2_t)__builtin_neon_vreinterpretv2diti ((__builtin_neon_ti) __a);
13139 }
13140 
13141 #endif
13142 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_s64(int64x2_t __a)13143 vreinterpretq_u64_s64 (int64x2_t __a)
13144 {
13145   return (uint64x2_t)__builtin_neon_vreinterpretv2div2di (__a);
13146 }
13147 
13148 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_s8(int8x16_t __a)13149 vreinterpretq_u64_s8 (int8x16_t __a)
13150 {
13151   return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi (__a);
13152 }
13153 
13154 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_s16(int16x8_t __a)13155 vreinterpretq_u64_s16 (int16x8_t __a)
13156 {
13157   return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi (__a);
13158 }
13159 
13160 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_s32(int32x4_t __a)13161 vreinterpretq_u64_s32 (int32x4_t __a)
13162 {
13163   return (uint64x2_t)__builtin_neon_vreinterpretv2div4si (__a);
13164 }
13165 
13166 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_u8(uint8x16_t __a)13167 vreinterpretq_u64_u8 (uint8x16_t __a)
13168 {
13169   return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
13170 }
13171 
13172 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_u16(uint16x8_t __a)13173 vreinterpretq_u64_u16 (uint16x8_t __a)
13174 {
13175   return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
13176 }
13177 
13178 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_u32(uint32x4_t __a)13179 vreinterpretq_u64_u32 (uint32x4_t __a)
13180 {
13181   return (uint64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a);
13182 }
13183 
13184 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_p8(poly8x16_t __a)13185 vreinterpretq_s8_p8 (poly8x16_t __a)
13186 {
13187   return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
13188 }
13189 
13190 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_p16(poly16x8_t __a)13191 vreinterpretq_s8_p16 (poly16x8_t __a)
13192 {
13193   return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
13194 }
13195 
13196 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_f32(float32x4_t __a)13197 vreinterpretq_s8_f32 (float32x4_t __a)
13198 {
13199   return (int8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
13200 }
13201 
13202 #ifdef __ARM_FEATURE_CRYPTO
13203 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_p64(poly64x2_t __a)13204 vreinterpretq_s8_p64 (poly64x2_t __a)
13205 {
13206   return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
13207 }
13208 
13209 #endif
13210 #ifdef __ARM_FEATURE_CRYPTO
13211 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_p128(poly128_t __a)13212 vreinterpretq_s8_p128 (poly128_t __a)
13213 {
13214   return (int8x16_t)__builtin_neon_vreinterpretv16qiti ((__builtin_neon_ti) __a);
13215 }
13216 
13217 #endif
13218 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_s64(int64x2_t __a)13219 vreinterpretq_s8_s64 (int64x2_t __a)
13220 {
13221   return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
13222 }
13223 
13224 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_u64(uint64x2_t __a)13225 vreinterpretq_s8_u64 (uint64x2_t __a)
13226 {
13227   return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
13228 }
13229 
13230 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_s16(int16x8_t __a)13231 vreinterpretq_s8_s16 (int16x8_t __a)
13232 {
13233   return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
13234 }
13235 
13236 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_s32(int32x4_t __a)13237 vreinterpretq_s8_s32 (int32x4_t __a)
13238 {
13239   return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
13240 }
13241 
13242 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_u8(uint8x16_t __a)13243 vreinterpretq_s8_u8 (uint8x16_t __a)
13244 {
13245   return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
13246 }
13247 
13248 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_u16(uint16x8_t __a)13249 vreinterpretq_s8_u16 (uint16x8_t __a)
13250 {
13251   return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
13252 }
13253 
13254 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_u32(uint32x4_t __a)13255 vreinterpretq_s8_u32 (uint32x4_t __a)
13256 {
13257   return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
13258 }
13259 
13260 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_p8(poly8x16_t __a)13261 vreinterpretq_s16_p8 (poly8x16_t __a)
13262 {
13263   return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
13264 }
13265 
13266 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_p16(poly16x8_t __a)13267 vreinterpretq_s16_p16 (poly16x8_t __a)
13268 {
13269   return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
13270 }
13271 
13272 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_f32(float32x4_t __a)13273 vreinterpretq_s16_f32 (float32x4_t __a)
13274 {
13275   return (int16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
13276 }
13277 
13278 #ifdef __ARM_FEATURE_CRYPTO
13279 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_p64(poly64x2_t __a)13280 vreinterpretq_s16_p64 (poly64x2_t __a)
13281 {
13282   return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
13283 }
13284 
13285 #endif
13286 #ifdef __ARM_FEATURE_CRYPTO
13287 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_p128(poly128_t __a)13288 vreinterpretq_s16_p128 (poly128_t __a)
13289 {
13290   return (int16x8_t)__builtin_neon_vreinterpretv8hiti ((__builtin_neon_ti) __a);
13291 }
13292 
13293 #endif
13294 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_s64(int64x2_t __a)13295 vreinterpretq_s16_s64 (int64x2_t __a)
13296 {
13297   return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
13298 }
13299 
13300 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_u64(uint64x2_t __a)13301 vreinterpretq_s16_u64 (uint64x2_t __a)
13302 {
13303   return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
13304 }
13305 
13306 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_s8(int8x16_t __a)13307 vreinterpretq_s16_s8 (int8x16_t __a)
13308 {
13309   return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
13310 }
13311 
13312 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_s32(int32x4_t __a)13313 vreinterpretq_s16_s32 (int32x4_t __a)
13314 {
13315   return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
13316 }
13317 
13318 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_u8(uint8x16_t __a)13319 vreinterpretq_s16_u8 (uint8x16_t __a)
13320 {
13321   return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
13322 }
13323 
13324 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_u16(uint16x8_t __a)13325 vreinterpretq_s16_u16 (uint16x8_t __a)
13326 {
13327   return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
13328 }
13329 
13330 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_u32(uint32x4_t __a)13331 vreinterpretq_s16_u32 (uint32x4_t __a)
13332 {
13333   return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
13334 }
13335 
13336 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_p8(poly8x16_t __a)13337 vreinterpretq_s32_p8 (poly8x16_t __a)
13338 {
13339   return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
13340 }
13341 
13342 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_p16(poly16x8_t __a)13343 vreinterpretq_s32_p16 (poly16x8_t __a)
13344 {
13345   return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
13346 }
13347 
13348 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_f32(float32x4_t __a)13349 vreinterpretq_s32_f32 (float32x4_t __a)
13350 {
13351   return (int32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a);
13352 }
13353 
13354 #ifdef __ARM_FEATURE_CRYPTO
13355 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_p64(poly64x2_t __a)13356 vreinterpretq_s32_p64 (poly64x2_t __a)
13357 {
13358   return (int32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
13359 }
13360 
13361 #endif
13362 #ifdef __ARM_FEATURE_CRYPTO
13363 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_p128(poly128_t __a)13364 vreinterpretq_s32_p128 (poly128_t __a)
13365 {
13366   return (int32x4_t)__builtin_neon_vreinterpretv4siti ((__builtin_neon_ti) __a);
13367 }
13368 
13369 #endif
13370 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_s64(int64x2_t __a)13371 vreinterpretq_s32_s64 (int64x2_t __a)
13372 {
13373   return (int32x4_t)__builtin_neon_vreinterpretv4siv2di (__a);
13374 }
13375 
13376 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_u64(uint64x2_t __a)13377 vreinterpretq_s32_u64 (uint64x2_t __a)
13378 {
13379   return (int32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
13380 }
13381 
13382 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_s8(int8x16_t __a)13383 vreinterpretq_s32_s8 (int8x16_t __a)
13384 {
13385   return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a);
13386 }
13387 
13388 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_s16(int16x8_t __a)13389 vreinterpretq_s32_s16 (int16x8_t __a)
13390 {
13391   return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a);
13392 }
13393 
13394 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_u8(uint8x16_t __a)13395 vreinterpretq_s32_u8 (uint8x16_t __a)
13396 {
13397   return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
13398 }
13399 
13400 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_u16(uint16x8_t __a)13401 vreinterpretq_s32_u16 (uint16x8_t __a)
13402 {
13403   return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
13404 }
13405 
13406 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_u32(uint32x4_t __a)13407 vreinterpretq_s32_u32 (uint32x4_t __a)
13408 {
13409   return (int32x4_t)__builtin_neon_vreinterpretv4siv4si ((int32x4_t) __a);
13410 }
13411 
13412 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_p8(poly8x16_t __a)13413 vreinterpretq_u8_p8 (poly8x16_t __a)
13414 {
13415   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
13416 }
13417 
13418 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_p16(poly16x8_t __a)13419 vreinterpretq_u8_p16 (poly16x8_t __a)
13420 {
13421   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
13422 }
13423 
13424 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_f32(float32x4_t __a)13425 vreinterpretq_u8_f32 (float32x4_t __a)
13426 {
13427   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
13428 }
13429 
13430 #ifdef __ARM_FEATURE_CRYPTO
13431 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_p64(poly64x2_t __a)13432 vreinterpretq_u8_p64 (poly64x2_t __a)
13433 {
13434   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
13435 }
13436 
13437 #endif
13438 #ifdef __ARM_FEATURE_CRYPTO
13439 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_p128(poly128_t __a)13440 vreinterpretq_u8_p128 (poly128_t __a)
13441 {
13442   return (uint8x16_t)__builtin_neon_vreinterpretv16qiti ((__builtin_neon_ti) __a);
13443 }
13444 
13445 #endif
13446 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_s64(int64x2_t __a)13447 vreinterpretq_u8_s64 (int64x2_t __a)
13448 {
13449   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
13450 }
13451 
13452 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_u64(uint64x2_t __a)13453 vreinterpretq_u8_u64 (uint64x2_t __a)
13454 {
13455   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
13456 }
13457 
13458 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_s8(int8x16_t __a)13459 vreinterpretq_u8_s8 (int8x16_t __a)
13460 {
13461   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a);
13462 }
13463 
13464 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_s16(int16x8_t __a)13465 vreinterpretq_u8_s16 (int16x8_t __a)
13466 {
13467   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
13468 }
13469 
13470 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_s32(int32x4_t __a)13471 vreinterpretq_u8_s32 (int32x4_t __a)
13472 {
13473   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
13474 }
13475 
13476 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_u16(uint16x8_t __a)13477 vreinterpretq_u8_u16 (uint16x8_t __a)
13478 {
13479   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
13480 }
13481 
13482 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_u32(uint32x4_t __a)13483 vreinterpretq_u8_u32 (uint32x4_t __a)
13484 {
13485   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
13486 }
13487 
13488 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_p8(poly8x16_t __a)13489 vreinterpretq_u16_p8 (poly8x16_t __a)
13490 {
13491   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
13492 }
13493 
13494 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_p16(poly16x8_t __a)13495 vreinterpretq_u16_p16 (poly16x8_t __a)
13496 {
13497   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
13498 }
13499 
13500 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_f32(float32x4_t __a)13501 vreinterpretq_u16_f32 (float32x4_t __a)
13502 {
13503   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
13504 }
13505 
13506 #ifdef __ARM_FEATURE_CRYPTO
13507 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_p64(poly64x2_t __a)13508 vreinterpretq_u16_p64 (poly64x2_t __a)
13509 {
13510   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
13511 }
13512 
13513 #endif
13514 #ifdef __ARM_FEATURE_CRYPTO
13515 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_p128(poly128_t __a)13516 vreinterpretq_u16_p128 (poly128_t __a)
13517 {
13518   return (uint16x8_t)__builtin_neon_vreinterpretv8hiti ((__builtin_neon_ti) __a);
13519 }
13520 
13521 #endif
13522 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_s64(int64x2_t __a)13523 vreinterpretq_u16_s64 (int64x2_t __a)
13524 {
13525   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
13526 }
13527 
13528 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_u64(uint64x2_t __a)13529 vreinterpretq_u16_u64 (uint64x2_t __a)
13530 {
13531   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
13532 }
13533 
13534 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_s8(int8x16_t __a)13535 vreinterpretq_u16_s8 (int8x16_t __a)
13536 {
13537   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
13538 }
13539 
13540 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_s16(int16x8_t __a)13541 vreinterpretq_u16_s16 (int16x8_t __a)
13542 {
13543   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a);
13544 }
13545 
13546 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_s32(int32x4_t __a)13547 vreinterpretq_u16_s32 (int32x4_t __a)
13548 {
13549   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
13550 }
13551 
13552 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_u8(uint8x16_t __a)13553 vreinterpretq_u16_u8 (uint8x16_t __a)
13554 {
13555   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
13556 }
13557 
13558 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_u32(uint32x4_t __a)13559 vreinterpretq_u16_u32 (uint32x4_t __a)
13560 {
13561   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
13562 }
13563 
13564 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_p8(poly8x16_t __a)13565 vreinterpretq_u32_p8 (poly8x16_t __a)
13566 {
13567   return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
13568 }
13569 
13570 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_p16(poly16x8_t __a)13571 vreinterpretq_u32_p16 (poly16x8_t __a)
13572 {
13573   return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
13574 }
13575 
13576 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_f32(float32x4_t __a)13577 vreinterpretq_u32_f32 (float32x4_t __a)
13578 {
13579   return (uint32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a);
13580 }
13581 
13582 #ifdef __ARM_FEATURE_CRYPTO
13583 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_p64(poly64x2_t __a)13584 vreinterpretq_u32_p64 (poly64x2_t __a)
13585 {
13586   return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
13587 }
13588 
13589 #endif
13590 #ifdef __ARM_FEATURE_CRYPTO
13591 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_p128(poly128_t __a)13592 vreinterpretq_u32_p128 (poly128_t __a)
13593 {
13594   return (uint32x4_t)__builtin_neon_vreinterpretv4siti ((__builtin_neon_ti) __a);
13595 }
13596 
13597 #endif
13598 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_s64(int64x2_t __a)13599 vreinterpretq_u32_s64 (int64x2_t __a)
13600 {
13601   return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di (__a);
13602 }
13603 
13604 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_u64(uint64x2_t __a)13605 vreinterpretq_u32_u64 (uint64x2_t __a)
13606 {
13607   return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
13608 }
13609 
13610 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_s8(int8x16_t __a)13611 vreinterpretq_u32_s8 (int8x16_t __a)
13612 {
13613   return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a);
13614 }
13615 
13616 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_s16(int16x8_t __a)13617 vreinterpretq_u32_s16 (int16x8_t __a)
13618 {
13619   return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a);
13620 }
13621 
13622 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_s32(int32x4_t __a)13623 vreinterpretq_u32_s32 (int32x4_t __a)
13624 {
13625   return (uint32x4_t)__builtin_neon_vreinterpretv4siv4si (__a);
13626 }
13627 
13628 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_u8(uint8x16_t __a)13629 vreinterpretq_u32_u8 (uint8x16_t __a)
13630 {
13631   return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
13632 }
13633 
13634 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_u16(uint16x8_t __a)13635 vreinterpretq_u32_u16 (uint16x8_t __a)
13636 {
13637   return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
13638 }
13639 
13640 
13641 #ifdef __ARM_FEATURE_CRYPTO
13642 
13643 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vldrq_p128(poly128_t const * __ptr)13644 vldrq_p128 (poly128_t const * __ptr)
13645 {
13646 #ifdef __ARM_BIG_ENDIAN
13647   poly64_t* __ptmp = (poly64_t*) __ptr;
13648   poly64_t __d0 = vld1_p64 (__ptmp);
13649   poly64_t __d1 = vld1_p64 (__ptmp + 1);
13650   return vreinterpretq_p128_p64 (vcombine_p64 (__d1, __d0));
13651 #else
13652   return vreinterpretq_p128_p64 (vld1q_p64 ((poly64_t*) __ptr));
13653 #endif
13654 }
13655 
13656 __extension__ static __inline void __attribute__ ((__always_inline__))
vstrq_p128(poly128_t * __ptr,poly128_t __val)13657 vstrq_p128 (poly128_t * __ptr, poly128_t __val)
13658 {
13659 #ifdef __ARM_BIG_ENDIAN
13660   poly64x2_t __tmp = vreinterpretq_p64_p128 (__val);
13661   poly64_t __d0 = vget_high_p64 (__tmp);
13662   poly64_t __d1 = vget_low_p64 (__tmp);
13663   vst1q_p64 ((poly64_t*) __ptr, vcombine_p64 (__d0, __d1));
13664 #else
13665   vst1q_p64 ((poly64_t*) __ptr, vreinterpretq_p64_p128 (__val));
13666 #endif
13667 }
13668 
13669 /* The vceq_p64 intrinsic does not map to a single instruction.
13670    Instead we emulate it by performing a 32-bit variant of the vceq
13671    and applying a pairwise min reduction to the result.
13672    vceq_u32 will produce two 32-bit halves, each of which will contain either
13673    all ones or all zeros depending on whether the corresponding 32-bit
13674    halves of the poly64_t were equal.  The whole poly64_t values are equal
13675    if and only if both halves are equal, i.e. vceq_u32 returns all ones.
13676    If the result is all zeroes for any half then the whole result is zeroes.
13677    This is what the pairwise min reduction achieves.  */
13678 
13679 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vceq_p64(poly64x1_t __a,poly64x1_t __b)13680 vceq_p64 (poly64x1_t __a, poly64x1_t __b)
13681 {
13682   uint32x2_t __t_a = vreinterpret_u32_p64 (__a);
13683   uint32x2_t __t_b = vreinterpret_u32_p64 (__b);
13684   uint32x2_t __c = vceq_u32 (__t_a, __t_b);
13685   uint32x2_t __m = vpmin_u32 (__c, __c);
13686   return vreinterpret_u64_u32 (__m);
13687 }
13688 
13689 /* The vtst_p64 intrinsic does not map to a single instruction.
13690    We emulate it in way similar to vceq_p64 above but here we do
13691    a reduction with max since if any two corresponding bits
13692    in the two poly64_t's match, then the whole result must be all ones.  */
13693 
13694 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vtst_p64(poly64x1_t __a,poly64x1_t __b)13695 vtst_p64 (poly64x1_t __a, poly64x1_t __b)
13696 {
13697   uint32x2_t __t_a = vreinterpret_u32_p64 (__a);
13698   uint32x2_t __t_b = vreinterpret_u32_p64 (__b);
13699   uint32x2_t __c = vtst_u32 (__t_a, __t_b);
13700   uint32x2_t __m = vpmax_u32 (__c, __c);
13701   return vreinterpret_u64_u32 (__m);
13702 }
13703 
13704 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vaeseq_u8(uint8x16_t __data,uint8x16_t __key)13705 vaeseq_u8 (uint8x16_t __data, uint8x16_t __key)
13706 {
13707   return __builtin_arm_crypto_aese (__data, __key);
13708 }
13709 
13710 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vaesdq_u8(uint8x16_t __data,uint8x16_t __key)13711 vaesdq_u8 (uint8x16_t __data, uint8x16_t __key)
13712 {
13713   return __builtin_arm_crypto_aesd (__data, __key);
13714 }
13715 
13716 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vaesmcq_u8(uint8x16_t __data)13717 vaesmcq_u8 (uint8x16_t __data)
13718 {
13719   return __builtin_arm_crypto_aesmc (__data);
13720 }
13721 
13722 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vaesimcq_u8(uint8x16_t __data)13723 vaesimcq_u8 (uint8x16_t __data)
13724 {
13725   return __builtin_arm_crypto_aesimc (__data);
13726 }
13727 
13728 __extension__ static __inline uint32_t __attribute__ ((__always_inline__))
vsha1h_u32(uint32_t __hash_e)13729 vsha1h_u32 (uint32_t __hash_e)
13730 {
13731   uint32x4_t __t = vdupq_n_u32 (0);
13732   __t = vsetq_lane_u32 (__hash_e, __t, 0);
13733   __t = __builtin_arm_crypto_sha1h (__t);
13734   return vgetq_lane_u32 (__t, 0);
13735 }
13736 
13737 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsha1cq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)13738 vsha1cq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
13739 {
13740   uint32x4_t __t = vdupq_n_u32 (0);
13741   __t = vsetq_lane_u32 (__hash_e, __t, 0);
13742   return __builtin_arm_crypto_sha1c (__hash_abcd, __t, __wk);
13743 }
13744 
13745 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsha1pq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)13746 vsha1pq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
13747 {
13748   uint32x4_t __t = vdupq_n_u32 (0);
13749   __t = vsetq_lane_u32 (__hash_e, __t, 0);
13750   return __builtin_arm_crypto_sha1p (__hash_abcd, __t, __wk);
13751 }
13752 
13753 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsha1mq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)13754 vsha1mq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
13755 {
13756   uint32x4_t __t = vdupq_n_u32 (0);
13757   __t = vsetq_lane_u32 (__hash_e, __t, 0);
13758   return __builtin_arm_crypto_sha1m (__hash_abcd, __t, __wk);
13759 }
13760 
13761 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsha1su0q_u32(uint32x4_t __w0_3,uint32x4_t __w4_7,uint32x4_t __w8_11)13762 vsha1su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7, uint32x4_t __w8_11)
13763 {
13764   return __builtin_arm_crypto_sha1su0 (__w0_3, __w4_7, __w8_11);
13765 }
13766 
13767 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsha1su1q_u32(uint32x4_t __tw0_3,uint32x4_t __w12_15)13768 vsha1su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w12_15)
13769 {
13770   return __builtin_arm_crypto_sha1su1 (__tw0_3, __w12_15);
13771 }
13772 
13773 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsha256hq_u32(uint32x4_t __hash_abcd,uint32x4_t __hash_efgh,uint32x4_t __wk)13774 vsha256hq_u32 (uint32x4_t __hash_abcd, uint32x4_t __hash_efgh, uint32x4_t __wk)
13775 {
13776   return __builtin_arm_crypto_sha256h (__hash_abcd, __hash_efgh, __wk);
13777 }
13778 
13779 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsha256h2q_u32(uint32x4_t __hash_abcd,uint32x4_t __hash_efgh,uint32x4_t __wk)13780 vsha256h2q_u32 (uint32x4_t __hash_abcd, uint32x4_t __hash_efgh, uint32x4_t __wk)
13781 {
13782   return __builtin_arm_crypto_sha256h2 (__hash_abcd, __hash_efgh, __wk);
13783 }
13784 
13785 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsha256su0q_u32(uint32x4_t __w0_3,uint32x4_t __w4_7)13786 vsha256su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7)
13787 {
13788   return __builtin_arm_crypto_sha256su0 (__w0_3, __w4_7);
13789 }
13790 
13791 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsha256su1q_u32(uint32x4_t __tw0_3,uint32x4_t __w8_11,uint32x4_t __w12_15)13792 vsha256su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w8_11, uint32x4_t __w12_15)
13793 {
13794   return __builtin_arm_crypto_sha256su1 (__tw0_3, __w8_11, __w12_15);
13795 }
13796 
13797 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vmull_p64(poly64_t __a,poly64_t __b)13798 vmull_p64 (poly64_t __a, poly64_t __b)
13799 {
13800   return (poly128_t) __builtin_arm_crypto_vmullp64 ((uint64_t) __a, (uint64_t) __b);
13801 }
13802 
13803 __extension__ static __inline poly128_t __attribute__ ((__always_inline__))
vmull_high_p64(poly64x2_t __a,poly64x2_t __b)13804 vmull_high_p64 (poly64x2_t __a, poly64x2_t __b)
13805 {
13806   poly64_t __t1 = vget_high_p64 (__a);
13807   poly64_t __t2 = vget_high_p64 (__b);
13808 
13809   return (poly128_t) __builtin_arm_crypto_vmullp64 ((uint64_t) __t1, (uint64_t) __t2);
13810 }
13811 
13812 #endif
13813 #ifdef __cplusplus
13814 }
13815 #endif
13816 #endif
13817 #endif
13818