remove unused files
[platform/upstream/gcc48.git] / gcc / config / arm / arm_neon.h
1 /* ARM NEON intrinsics include file. This file is generated automatically
2    using neon-gen.ml.  Please do not edit manually.
3
4    Copyright (C) 2006-2013 Free Software Foundation, Inc.
5    Contributed by CodeSourcery.
6
7    This file is part of GCC.
8
9    GCC is free software; you can redistribute it and/or modify it
10    under the terms of the GNU General Public License as published
11    by the Free Software Foundation; either version 3, or (at your
12    option) any later version.
13
14    GCC is distributed in the hope that it will be useful, but WITHOUT
15    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
17    License for more details.
18
19    Under Section 7 of GPL version 3, you are granted additional
20    permissions described in the GCC Runtime Library Exception, version
21    3.1, as published by the Free Software Foundation.
22
23    You should have received a copy of the GNU General Public License and
24    a copy of the GCC Runtime Library Exception along with this program;
25    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
26    <http://www.gnu.org/licenses/>.  */
27
28 #ifndef _GCC_ARM_NEON_H
29 #define _GCC_ARM_NEON_H 1
30
31 #ifndef __ARM_NEON__
32 #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
33 #else
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 #include <stdint.h>
40
41 typedef __builtin_neon_qi int8x8_t      __attribute__ ((__vector_size__ (8)));
42 typedef __builtin_neon_hi int16x4_t     __attribute__ ((__vector_size__ (8)));
43 typedef __builtin_neon_si int32x2_t     __attribute__ ((__vector_size__ (8)));
44 typedef __builtin_neon_di int64x1_t;
45 typedef __builtin_neon_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 typedef __builtin_neon_uqi uint8x8_t    __attribute__ ((__vector_size__ (8)));
49 typedef __builtin_neon_uhi uint16x4_t   __attribute__ ((__vector_size__ (8)));
50 typedef __builtin_neon_usi uint32x2_t   __attribute__ ((__vector_size__ (8)));
51 typedef __builtin_neon_udi uint64x1_t;
52 typedef __builtin_neon_qi int8x16_t     __attribute__ ((__vector_size__ (16)));
53 typedef __builtin_neon_hi int16x8_t     __attribute__ ((__vector_size__ (16)));
54 typedef __builtin_neon_si int32x4_t     __attribute__ ((__vector_size__ (16)));
55 typedef __builtin_neon_di int64x2_t     __attribute__ ((__vector_size__ (16)));
56 typedef __builtin_neon_sf float32x4_t   __attribute__ ((__vector_size__ (16)));
57 typedef __builtin_neon_poly8 poly8x16_t __attribute__ ((__vector_size__ (16)));
58 typedef __builtin_neon_poly16 poly16x8_t        __attribute__ ((__vector_size__ (16)));
59 typedef __builtin_neon_uqi uint8x16_t   __attribute__ ((__vector_size__ (16)));
60 typedef __builtin_neon_uhi uint16x8_t   __attribute__ ((__vector_size__ (16)));
61 typedef __builtin_neon_usi uint32x4_t   __attribute__ ((__vector_size__ (16)));
62 typedef __builtin_neon_udi uint64x2_t   __attribute__ ((__vector_size__ (16)));
63
64 typedef float float32_t;
65 typedef __builtin_neon_poly8 poly8_t;
66 typedef __builtin_neon_poly16 poly16_t;
67
68 typedef struct int8x8x2_t
69 {
70   int8x8_t val[2];
71 } int8x8x2_t;
72
73 typedef struct int8x16x2_t
74 {
75   int8x16_t val[2];
76 } int8x16x2_t;
77
78 typedef struct int16x4x2_t
79 {
80   int16x4_t val[2];
81 } int16x4x2_t;
82
83 typedef struct int16x8x2_t
84 {
85   int16x8_t val[2];
86 } int16x8x2_t;
87
88 typedef struct int32x2x2_t
89 {
90   int32x2_t val[2];
91 } int32x2x2_t;
92
93 typedef struct int32x4x2_t
94 {
95   int32x4_t val[2];
96 } int32x4x2_t;
97
98 typedef struct int64x1x2_t
99 {
100   int64x1_t val[2];
101 } int64x1x2_t;
102
103 typedef struct int64x2x2_t
104 {
105   int64x2_t val[2];
106 } int64x2x2_t;
107
108 typedef struct uint8x8x2_t
109 {
110   uint8x8_t val[2];
111 } uint8x8x2_t;
112
113 typedef struct uint8x16x2_t
114 {
115   uint8x16_t val[2];
116 } uint8x16x2_t;
117
118 typedef struct uint16x4x2_t
119 {
120   uint16x4_t val[2];
121 } uint16x4x2_t;
122
123 typedef struct uint16x8x2_t
124 {
125   uint16x8_t val[2];
126 } uint16x8x2_t;
127
128 typedef struct uint32x2x2_t
129 {
130   uint32x2_t val[2];
131 } uint32x2x2_t;
132
133 typedef struct uint32x4x2_t
134 {
135   uint32x4_t val[2];
136 } uint32x4x2_t;
137
138 typedef struct uint64x1x2_t
139 {
140   uint64x1_t val[2];
141 } uint64x1x2_t;
142
143 typedef struct uint64x2x2_t
144 {
145   uint64x2_t val[2];
146 } uint64x2x2_t;
147
148 typedef struct float32x2x2_t
149 {
150   float32x2_t val[2];
151 } float32x2x2_t;
152
153 typedef struct float32x4x2_t
154 {
155   float32x4_t val[2];
156 } float32x4x2_t;
157
158 typedef struct poly8x8x2_t
159 {
160   poly8x8_t val[2];
161 } poly8x8x2_t;
162
163 typedef struct poly8x16x2_t
164 {
165   poly8x16_t val[2];
166 } poly8x16x2_t;
167
168 typedef struct poly16x4x2_t
169 {
170   poly16x4_t val[2];
171 } poly16x4x2_t;
172
173 typedef struct poly16x8x2_t
174 {
175   poly16x8_t val[2];
176 } poly16x8x2_t;
177
178 typedef struct int8x8x3_t
179 {
180   int8x8_t val[3];
181 } int8x8x3_t;
182
183 typedef struct int8x16x3_t
184 {
185   int8x16_t val[3];
186 } int8x16x3_t;
187
188 typedef struct int16x4x3_t
189 {
190   int16x4_t val[3];
191 } int16x4x3_t;
192
193 typedef struct int16x8x3_t
194 {
195   int16x8_t val[3];
196 } int16x8x3_t;
197
198 typedef struct int32x2x3_t
199 {
200   int32x2_t val[3];
201 } int32x2x3_t;
202
203 typedef struct int32x4x3_t
204 {
205   int32x4_t val[3];
206 } int32x4x3_t;
207
208 typedef struct int64x1x3_t
209 {
210   int64x1_t val[3];
211 } int64x1x3_t;
212
213 typedef struct int64x2x3_t
214 {
215   int64x2_t val[3];
216 } int64x2x3_t;
217
218 typedef struct uint8x8x3_t
219 {
220   uint8x8_t val[3];
221 } uint8x8x3_t;
222
223 typedef struct uint8x16x3_t
224 {
225   uint8x16_t val[3];
226 } uint8x16x3_t;
227
228 typedef struct uint16x4x3_t
229 {
230   uint16x4_t val[3];
231 } uint16x4x3_t;
232
233 typedef struct uint16x8x3_t
234 {
235   uint16x8_t val[3];
236 } uint16x8x3_t;
237
238 typedef struct uint32x2x3_t
239 {
240   uint32x2_t val[3];
241 } uint32x2x3_t;
242
243 typedef struct uint32x4x3_t
244 {
245   uint32x4_t val[3];
246 } uint32x4x3_t;
247
248 typedef struct uint64x1x3_t
249 {
250   uint64x1_t val[3];
251 } uint64x1x3_t;
252
253 typedef struct uint64x2x3_t
254 {
255   uint64x2_t val[3];
256 } uint64x2x3_t;
257
258 typedef struct float32x2x3_t
259 {
260   float32x2_t val[3];
261 } float32x2x3_t;
262
263 typedef struct float32x4x3_t
264 {
265   float32x4_t val[3];
266 } float32x4x3_t;
267
268 typedef struct poly8x8x3_t
269 {
270   poly8x8_t val[3];
271 } poly8x8x3_t;
272
273 typedef struct poly8x16x3_t
274 {
275   poly8x16_t val[3];
276 } poly8x16x3_t;
277
278 typedef struct poly16x4x3_t
279 {
280   poly16x4_t val[3];
281 } poly16x4x3_t;
282
283 typedef struct poly16x8x3_t
284 {
285   poly16x8_t val[3];
286 } poly16x8x3_t;
287
288 typedef struct int8x8x4_t
289 {
290   int8x8_t val[4];
291 } int8x8x4_t;
292
293 typedef struct int8x16x4_t
294 {
295   int8x16_t val[4];
296 } int8x16x4_t;
297
298 typedef struct int16x4x4_t
299 {
300   int16x4_t val[4];
301 } int16x4x4_t;
302
303 typedef struct int16x8x4_t
304 {
305   int16x8_t val[4];
306 } int16x8x4_t;
307
308 typedef struct int32x2x4_t
309 {
310   int32x2_t val[4];
311 } int32x2x4_t;
312
313 typedef struct int32x4x4_t
314 {
315   int32x4_t val[4];
316 } int32x4x4_t;
317
318 typedef struct int64x1x4_t
319 {
320   int64x1_t val[4];
321 } int64x1x4_t;
322
323 typedef struct int64x2x4_t
324 {
325   int64x2_t val[4];
326 } int64x2x4_t;
327
328 typedef struct uint8x8x4_t
329 {
330   uint8x8_t val[4];
331 } uint8x8x4_t;
332
333 typedef struct uint8x16x4_t
334 {
335   uint8x16_t val[4];
336 } uint8x16x4_t;
337
338 typedef struct uint16x4x4_t
339 {
340   uint16x4_t val[4];
341 } uint16x4x4_t;
342
343 typedef struct uint16x8x4_t
344 {
345   uint16x8_t val[4];
346 } uint16x8x4_t;
347
348 typedef struct uint32x2x4_t
349 {
350   uint32x2_t val[4];
351 } uint32x2x4_t;
352
353 typedef struct uint32x4x4_t
354 {
355   uint32x4_t val[4];
356 } uint32x4x4_t;
357
358 typedef struct uint64x1x4_t
359 {
360   uint64x1_t val[4];
361 } uint64x1x4_t;
362
363 typedef struct uint64x2x4_t
364 {
365   uint64x2_t val[4];
366 } uint64x2x4_t;
367
368 typedef struct float32x2x4_t
369 {
370   float32x2_t val[4];
371 } float32x2x4_t;
372
373 typedef struct float32x4x4_t
374 {
375   float32x4_t val[4];
376 } float32x4x4_t;
377
378 typedef struct poly8x8x4_t
379 {
380   poly8x8_t val[4];
381 } poly8x8x4_t;
382
383 typedef struct poly8x16x4_t
384 {
385   poly8x16_t val[4];
386 } poly8x16x4_t;
387
388 typedef struct poly16x4x4_t
389 {
390   poly16x4_t val[4];
391 } poly16x4x4_t;
392
393 typedef struct poly16x8x4_t
394 {
395   poly16x8_t val[4];
396 } poly16x8x4_t;
397
398
399 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
400 vadd_s8 (int8x8_t __a, int8x8_t __b)
401 {
402   return (int8x8_t)__builtin_neon_vaddv8qi (__a, __b, 1);
403 }
404
405 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
406 vadd_s16 (int16x4_t __a, int16x4_t __b)
407 {
408   return (int16x4_t)__builtin_neon_vaddv4hi (__a, __b, 1);
409 }
410
411 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
412 vadd_s32 (int32x2_t __a, int32x2_t __b)
413 {
414   return (int32x2_t)__builtin_neon_vaddv2si (__a, __b, 1);
415 }
416
417 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
418 vadd_f32 (float32x2_t __a, float32x2_t __b)
419 {
420   return (float32x2_t)__builtin_neon_vaddv2sf (__a, __b, 3);
421 }
422
423 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
424 vadd_u8 (uint8x8_t __a, uint8x8_t __b)
425 {
426   return (uint8x8_t)__builtin_neon_vaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
427 }
428
429 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
430 vadd_u16 (uint16x4_t __a, uint16x4_t __b)
431 {
432   return (uint16x4_t)__builtin_neon_vaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
433 }
434
435 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
436 vadd_u32 (uint32x2_t __a, uint32x2_t __b)
437 {
438   return (uint32x2_t)__builtin_neon_vaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
439 }
440
441 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
442 vadd_s64 (int64x1_t __a, int64x1_t __b)
443 {
444   return (int64x1_t)__builtin_neon_vadddi (__a, __b, 1);
445 }
446
447 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
448 vadd_u64 (uint64x1_t __a, uint64x1_t __b)
449 {
450   return (uint64x1_t)__builtin_neon_vadddi ((int64x1_t) __a, (int64x1_t) __b, 0);
451 }
452
453 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
454 vaddq_s8 (int8x16_t __a, int8x16_t __b)
455 {
456   return (int8x16_t)__builtin_neon_vaddv16qi (__a, __b, 1);
457 }
458
459 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
460 vaddq_s16 (int16x8_t __a, int16x8_t __b)
461 {
462   return (int16x8_t)__builtin_neon_vaddv8hi (__a, __b, 1);
463 }
464
465 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
466 vaddq_s32 (int32x4_t __a, int32x4_t __b)
467 {
468   return (int32x4_t)__builtin_neon_vaddv4si (__a, __b, 1);
469 }
470
471 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
472 vaddq_s64 (int64x2_t __a, int64x2_t __b)
473 {
474   return (int64x2_t)__builtin_neon_vaddv2di (__a, __b, 1);
475 }
476
477 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
478 vaddq_f32 (float32x4_t __a, float32x4_t __b)
479 {
480   return (float32x4_t)__builtin_neon_vaddv4sf (__a, __b, 3);
481 }
482
483 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
484 vaddq_u8 (uint8x16_t __a, uint8x16_t __b)
485 {
486   return (uint8x16_t)__builtin_neon_vaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
487 }
488
489 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
490 vaddq_u16 (uint16x8_t __a, uint16x8_t __b)
491 {
492   return (uint16x8_t)__builtin_neon_vaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
493 }
494
495 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
496 vaddq_u32 (uint32x4_t __a, uint32x4_t __b)
497 {
498   return (uint32x4_t)__builtin_neon_vaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
499 }
500
501 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
502 vaddq_u64 (uint64x2_t __a, uint64x2_t __b)
503 {
504   return (uint64x2_t)__builtin_neon_vaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
505 }
506
507 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
508 vaddl_s8 (int8x8_t __a, int8x8_t __b)
509 {
510   return (int16x8_t)__builtin_neon_vaddlv8qi (__a, __b, 1);
511 }
512
513 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
514 vaddl_s16 (int16x4_t __a, int16x4_t __b)
515 {
516   return (int32x4_t)__builtin_neon_vaddlv4hi (__a, __b, 1);
517 }
518
519 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
520 vaddl_s32 (int32x2_t __a, int32x2_t __b)
521 {
522   return (int64x2_t)__builtin_neon_vaddlv2si (__a, __b, 1);
523 }
524
525 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
526 vaddl_u8 (uint8x8_t __a, uint8x8_t __b)
527 {
528   return (uint16x8_t)__builtin_neon_vaddlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
529 }
530
531 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
532 vaddl_u16 (uint16x4_t __a, uint16x4_t __b)
533 {
534   return (uint32x4_t)__builtin_neon_vaddlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
535 }
536
537 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
538 vaddl_u32 (uint32x2_t __a, uint32x2_t __b)
539 {
540   return (uint64x2_t)__builtin_neon_vaddlv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
541 }
542
543 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
544 vaddw_s8 (int16x8_t __a, int8x8_t __b)
545 {
546   return (int16x8_t)__builtin_neon_vaddwv8qi (__a, __b, 1);
547 }
548
549 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
550 vaddw_s16 (int32x4_t __a, int16x4_t __b)
551 {
552   return (int32x4_t)__builtin_neon_vaddwv4hi (__a, __b, 1);
553 }
554
555 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
556 vaddw_s32 (int64x2_t __a, int32x2_t __b)
557 {
558   return (int64x2_t)__builtin_neon_vaddwv2si (__a, __b, 1);
559 }
560
561 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
562 vaddw_u8 (uint16x8_t __a, uint8x8_t __b)
563 {
564   return (uint16x8_t)__builtin_neon_vaddwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0);
565 }
566
567 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
568 vaddw_u16 (uint32x4_t __a, uint16x4_t __b)
569 {
570   return (uint32x4_t)__builtin_neon_vaddwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0);
571 }
572
573 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
574 vaddw_u32 (uint64x2_t __a, uint32x2_t __b)
575 {
576   return (uint64x2_t)__builtin_neon_vaddwv2si ((int64x2_t) __a, (int32x2_t) __b, 0);
577 }
578
579 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
580 vhadd_s8 (int8x8_t __a, int8x8_t __b)
581 {
582   return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 1);
583 }
584
585 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
586 vhadd_s16 (int16x4_t __a, int16x4_t __b)
587 {
588   return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 1);
589 }
590
591 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
592 vhadd_s32 (int32x2_t __a, int32x2_t __b)
593 {
594   return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 1);
595 }
596
597 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
598 vhadd_u8 (uint8x8_t __a, uint8x8_t __b)
599 {
600   return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
601 }
602
603 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
604 vhadd_u16 (uint16x4_t __a, uint16x4_t __b)
605 {
606   return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
607 }
608
609 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
610 vhadd_u32 (uint32x2_t __a, uint32x2_t __b)
611 {
612   return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
613 }
614
615 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
616 vhaddq_s8 (int8x16_t __a, int8x16_t __b)
617 {
618   return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 1);
619 }
620
621 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
622 vhaddq_s16 (int16x8_t __a, int16x8_t __b)
623 {
624   return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 1);
625 }
626
627 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
628 vhaddq_s32 (int32x4_t __a, int32x4_t __b)
629 {
630   return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 1);
631 }
632
633 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
634 vhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
635 {
636   return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
637 }
638
639 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
640 vhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
641 {
642   return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
643 }
644
645 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
646 vhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
647 {
648   return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
649 }
650
651 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
652 vrhadd_s8 (int8x8_t __a, int8x8_t __b)
653 {
654   return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 5);
655 }
656
657 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
658 vrhadd_s16 (int16x4_t __a, int16x4_t __b)
659 {
660   return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 5);
661 }
662
663 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
664 vrhadd_s32 (int32x2_t __a, int32x2_t __b)
665 {
666   return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 5);
667 }
668
669 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
670 vrhadd_u8 (uint8x8_t __a, uint8x8_t __b)
671 {
672   return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 4);
673 }
674
675 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
676 vrhadd_u16 (uint16x4_t __a, uint16x4_t __b)
677 {
678   return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 4);
679 }
680
681 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
682 vrhadd_u32 (uint32x2_t __a, uint32x2_t __b)
683 {
684   return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 4);
685 }
686
687 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
688 vrhaddq_s8 (int8x16_t __a, int8x16_t __b)
689 {
690   return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 5);
691 }
692
693 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
694 vrhaddq_s16 (int16x8_t __a, int16x8_t __b)
695 {
696   return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 5);
697 }
698
699 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
700 vrhaddq_s32 (int32x4_t __a, int32x4_t __b)
701 {
702   return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 5);
703 }
704
705 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
706 vrhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
707 {
708   return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 4);
709 }
710
711 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
712 vrhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
713 {
714   return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
715 }
716
717 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
718 vrhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
719 {
720   return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
721 }
722
723 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
724 vqadd_s8 (int8x8_t __a, int8x8_t __b)
725 {
726   return (int8x8_t)__builtin_neon_vqaddv8qi (__a, __b, 1);
727 }
728
729 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
730 vqadd_s16 (int16x4_t __a, int16x4_t __b)
731 {
732   return (int16x4_t)__builtin_neon_vqaddv4hi (__a, __b, 1);
733 }
734
735 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
736 vqadd_s32 (int32x2_t __a, int32x2_t __b)
737 {
738   return (int32x2_t)__builtin_neon_vqaddv2si (__a, __b, 1);
739 }
740
741 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
742 vqadd_s64 (int64x1_t __a, int64x1_t __b)
743 {
744   return (int64x1_t)__builtin_neon_vqadddi (__a, __b, 1);
745 }
746
747 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
748 vqadd_u8 (uint8x8_t __a, uint8x8_t __b)
749 {
750   return (uint8x8_t)__builtin_neon_vqaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
751 }
752
753 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
754 vqadd_u16 (uint16x4_t __a, uint16x4_t __b)
755 {
756   return (uint16x4_t)__builtin_neon_vqaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
757 }
758
759 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
760 vqadd_u32 (uint32x2_t __a, uint32x2_t __b)
761 {
762   return (uint32x2_t)__builtin_neon_vqaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
763 }
764
765 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
766 vqadd_u64 (uint64x1_t __a, uint64x1_t __b)
767 {
768   return (uint64x1_t)__builtin_neon_vqadddi ((int64x1_t) __a, (int64x1_t) __b, 0);
769 }
770
771 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
772 vqaddq_s8 (int8x16_t __a, int8x16_t __b)
773 {
774   return (int8x16_t)__builtin_neon_vqaddv16qi (__a, __b, 1);
775 }
776
777 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
778 vqaddq_s16 (int16x8_t __a, int16x8_t __b)
779 {
780   return (int16x8_t)__builtin_neon_vqaddv8hi (__a, __b, 1);
781 }
782
783 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
784 vqaddq_s32 (int32x4_t __a, int32x4_t __b)
785 {
786   return (int32x4_t)__builtin_neon_vqaddv4si (__a, __b, 1);
787 }
788
789 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
790 vqaddq_s64 (int64x2_t __a, int64x2_t __b)
791 {
792   return (int64x2_t)__builtin_neon_vqaddv2di (__a, __b, 1);
793 }
794
795 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
796 vqaddq_u8 (uint8x16_t __a, uint8x16_t __b)
797 {
798   return (uint8x16_t)__builtin_neon_vqaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
799 }
800
801 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
802 vqaddq_u16 (uint16x8_t __a, uint16x8_t __b)
803 {
804   return (uint16x8_t)__builtin_neon_vqaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
805 }
806
807 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
808 vqaddq_u32 (uint32x4_t __a, uint32x4_t __b)
809 {
810   return (uint32x4_t)__builtin_neon_vqaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
811 }
812
813 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
814 vqaddq_u64 (uint64x2_t __a, uint64x2_t __b)
815 {
816   return (uint64x2_t)__builtin_neon_vqaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
817 }
818
819 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
820 vaddhn_s16 (int16x8_t __a, int16x8_t __b)
821 {
822   return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 1);
823 }
824
825 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
826 vaddhn_s32 (int32x4_t __a, int32x4_t __b)
827 {
828   return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 1);
829 }
830
831 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
832 vaddhn_s64 (int64x2_t __a, int64x2_t __b)
833 {
834   return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 1);
835 }
836
837 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
838 vaddhn_u16 (uint16x8_t __a, uint16x8_t __b)
839 {
840   return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
841 }
842
843 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
844 vaddhn_u32 (uint32x4_t __a, uint32x4_t __b)
845 {
846   return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
847 }
848
849 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
850 vaddhn_u64 (uint64x2_t __a, uint64x2_t __b)
851 {
852   return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
853 }
854
855 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
856 vraddhn_s16 (int16x8_t __a, int16x8_t __b)
857 {
858   return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 5);
859 }
860
861 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
862 vraddhn_s32 (int32x4_t __a, int32x4_t __b)
863 {
864   return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 5);
865 }
866
867 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
868 vraddhn_s64 (int64x2_t __a, int64x2_t __b)
869 {
870   return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 5);
871 }
872
873 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
874 vraddhn_u16 (uint16x8_t __a, uint16x8_t __b)
875 {
876   return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
877 }
878
879 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
880 vraddhn_u32 (uint32x4_t __a, uint32x4_t __b)
881 {
882   return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
883 }
884
885 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
886 vraddhn_u64 (uint64x2_t __a, uint64x2_t __b)
887 {
888   return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4);
889 }
890
891 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
892 vmul_s8 (int8x8_t __a, int8x8_t __b)
893 {
894   return (int8x8_t)__builtin_neon_vmulv8qi (__a, __b, 1);
895 }
896
897 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
898 vmul_s16 (int16x4_t __a, int16x4_t __b)
899 {
900   return (int16x4_t)__builtin_neon_vmulv4hi (__a, __b, 1);
901 }
902
903 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
904 vmul_s32 (int32x2_t __a, int32x2_t __b)
905 {
906   return (int32x2_t)__builtin_neon_vmulv2si (__a, __b, 1);
907 }
908
909 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
910 vmul_f32 (float32x2_t __a, float32x2_t __b)
911 {
912   return (float32x2_t)__builtin_neon_vmulv2sf (__a, __b, 3);
913 }
914
915 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
916 vmul_u8 (uint8x8_t __a, uint8x8_t __b)
917 {
918   return (uint8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
919 }
920
921 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
922 vmul_u16 (uint16x4_t __a, uint16x4_t __b)
923 {
924   return (uint16x4_t)__builtin_neon_vmulv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
925 }
926
927 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
928 vmul_u32 (uint32x2_t __a, uint32x2_t __b)
929 {
930   return (uint32x2_t)__builtin_neon_vmulv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
931 }
932
933 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
934 vmul_p8 (poly8x8_t __a, poly8x8_t __b)
935 {
936   return (poly8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
937 }
938
939 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
940 vmulq_s8 (int8x16_t __a, int8x16_t __b)
941 {
942   return (int8x16_t)__builtin_neon_vmulv16qi (__a, __b, 1);
943 }
944
945 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
946 vmulq_s16 (int16x8_t __a, int16x8_t __b)
947 {
948   return (int16x8_t)__builtin_neon_vmulv8hi (__a, __b, 1);
949 }
950
951 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
952 vmulq_s32 (int32x4_t __a, int32x4_t __b)
953 {
954   return (int32x4_t)__builtin_neon_vmulv4si (__a, __b, 1);
955 }
956
957 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
958 vmulq_f32 (float32x4_t __a, float32x4_t __b)
959 {
960   return (float32x4_t)__builtin_neon_vmulv4sf (__a, __b, 3);
961 }
962
963 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
964 vmulq_u8 (uint8x16_t __a, uint8x16_t __b)
965 {
966   return (uint8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
967 }
968
969 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
970 vmulq_u16 (uint16x8_t __a, uint16x8_t __b)
971 {
972   return (uint16x8_t)__builtin_neon_vmulv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
973 }
974
975 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
976 vmulq_u32 (uint32x4_t __a, uint32x4_t __b)
977 {
978   return (uint32x4_t)__builtin_neon_vmulv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
979 }
980
981 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
982 vmulq_p8 (poly8x16_t __a, poly8x16_t __b)
983 {
984   return (poly8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
985 }
986
987 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
988 vqdmulh_s16 (int16x4_t __a, int16x4_t __b)
989 {
990   return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 1);
991 }
992
993 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
994 vqdmulh_s32 (int32x2_t __a, int32x2_t __b)
995 {
996   return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 1);
997 }
998
999 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1000 vqdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1001 {
1002   return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 1);
1003 }
1004
1005 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1006 vqdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1007 {
1008   return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 1);
1009 }
1010
1011 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1012 vqrdmulh_s16 (int16x4_t __a, int16x4_t __b)
1013 {
1014   return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 5);
1015 }
1016
1017 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1018 vqrdmulh_s32 (int32x2_t __a, int32x2_t __b)
1019 {
1020   return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 5);
1021 }
1022
1023 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1024 vqrdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1025 {
1026   return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 5);
1027 }
1028
1029 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1030 vqrdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1031 {
1032   return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 5);
1033 }
1034
1035 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1036 vmull_s8 (int8x8_t __a, int8x8_t __b)
1037 {
1038   return (int16x8_t)__builtin_neon_vmullv8qi (__a, __b, 1);
1039 }
1040
1041 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1042 vmull_s16 (int16x4_t __a, int16x4_t __b)
1043 {
1044   return (int32x4_t)__builtin_neon_vmullv4hi (__a, __b, 1);
1045 }
1046
1047 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1048 vmull_s32 (int32x2_t __a, int32x2_t __b)
1049 {
1050   return (int64x2_t)__builtin_neon_vmullv2si (__a, __b, 1);
1051 }
1052
1053 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1054 vmull_u8 (uint8x8_t __a, uint8x8_t __b)
1055 {
1056   return (uint16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1057 }
1058
1059 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1060 vmull_u16 (uint16x4_t __a, uint16x4_t __b)
1061 {
1062   return (uint32x4_t)__builtin_neon_vmullv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1063 }
1064
1065 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1066 vmull_u32 (uint32x2_t __a, uint32x2_t __b)
1067 {
1068   return (uint64x2_t)__builtin_neon_vmullv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1069 }
1070
1071 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
1072 vmull_p8 (poly8x8_t __a, poly8x8_t __b)
1073 {
1074   return (poly16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
1075 }
1076
1077 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1078 vqdmull_s16 (int16x4_t __a, int16x4_t __b)
1079 {
1080   return (int32x4_t)__builtin_neon_vqdmullv4hi (__a, __b, 1);
1081 }
1082
1083 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1084 vqdmull_s32 (int32x2_t __a, int32x2_t __b)
1085 {
1086   return (int64x2_t)__builtin_neon_vqdmullv2si (__a, __b, 1);
1087 }
1088
1089 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1090 vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1091 {
1092   return (int8x8_t)__builtin_neon_vmlav8qi (__a, __b, __c, 1);
1093 }
1094
1095 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1096 vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1097 {
1098   return (int16x4_t)__builtin_neon_vmlav4hi (__a, __b, __c, 1);
1099 }
1100
1101 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1102 vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1103 {
1104   return (int32x2_t)__builtin_neon_vmlav2si (__a, __b, __c, 1);
1105 }
1106
1107 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1108 vmla_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1109 {
1110   return (float32x2_t)__builtin_neon_vmlav2sf (__a, __b, __c, 3);
1111 }
1112
1113 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1114 vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1115 {
1116   return (uint8x8_t)__builtin_neon_vmlav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1117 }
1118
1119 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1120 vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1121 {
1122   return (uint16x4_t)__builtin_neon_vmlav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1123 }
1124
1125 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1126 vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1127 {
1128   return (uint32x2_t)__builtin_neon_vmlav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1129 }
1130
1131 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1132 vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1133 {
1134   return (int8x16_t)__builtin_neon_vmlav16qi (__a, __b, __c, 1);
1135 }
1136
1137 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1138 vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1139 {
1140   return (int16x8_t)__builtin_neon_vmlav8hi (__a, __b, __c, 1);
1141 }
1142
1143 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1144 vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1145 {
1146   return (int32x4_t)__builtin_neon_vmlav4si (__a, __b, __c, 1);
1147 }
1148
1149 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1150 vmlaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1151 {
1152   return (float32x4_t)__builtin_neon_vmlav4sf (__a, __b, __c, 3);
1153 }
1154
1155 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1156 vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1157 {
1158   return (uint8x16_t)__builtin_neon_vmlav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
1159 }
1160
1161 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1162 vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1163 {
1164   return (uint16x8_t)__builtin_neon_vmlav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
1165 }
1166
1167 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1168 vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1169 {
1170   return (uint32x4_t)__builtin_neon_vmlav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
1171 }
1172
1173 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1174 vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1175 {
1176   return (int16x8_t)__builtin_neon_vmlalv8qi (__a, __b, __c, 1);
1177 }
1178
1179 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1180 vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1181 {
1182   return (int32x4_t)__builtin_neon_vmlalv4hi (__a, __b, __c, 1);
1183 }
1184
1185 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1186 vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1187 {
1188   return (int64x2_t)__builtin_neon_vmlalv2si (__a, __b, __c, 1);
1189 }
1190
1191 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1192 vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1193 {
1194   return (uint16x8_t)__builtin_neon_vmlalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1195 }
1196
1197 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1198 vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1199 {
1200   return (uint32x4_t)__builtin_neon_vmlalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1201 }
1202
1203 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1204 vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1205 {
1206   return (uint64x2_t)__builtin_neon_vmlalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1207 }
1208
1209 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1210 vqdmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1211 {
1212   return (int32x4_t)__builtin_neon_vqdmlalv4hi (__a, __b, __c, 1);
1213 }
1214
1215 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1216 vqdmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1217 {
1218   return (int64x2_t)__builtin_neon_vqdmlalv2si (__a, __b, __c, 1);
1219 }
1220
1221 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1222 vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1223 {
1224   return (int8x8_t)__builtin_neon_vmlsv8qi (__a, __b, __c, 1);
1225 }
1226
1227 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1228 vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1229 {
1230   return (int16x4_t)__builtin_neon_vmlsv4hi (__a, __b, __c, 1);
1231 }
1232
1233 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1234 vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1235 {
1236   return (int32x2_t)__builtin_neon_vmlsv2si (__a, __b, __c, 1);
1237 }
1238
1239 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1240 vmls_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1241 {
1242   return (float32x2_t)__builtin_neon_vmlsv2sf (__a, __b, __c, 3);
1243 }
1244
1245 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1246 vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1247 {
1248   return (uint8x8_t)__builtin_neon_vmlsv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1249 }
1250
1251 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1252 vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1253 {
1254   return (uint16x4_t)__builtin_neon_vmlsv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1255 }
1256
1257 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1258 vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1259 {
1260   return (uint32x2_t)__builtin_neon_vmlsv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1261 }
1262
1263 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1264 vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1265 {
1266   return (int8x16_t)__builtin_neon_vmlsv16qi (__a, __b, __c, 1);
1267 }
1268
1269 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1270 vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1271 {
1272   return (int16x8_t)__builtin_neon_vmlsv8hi (__a, __b, __c, 1);
1273 }
1274
1275 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1276 vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1277 {
1278   return (int32x4_t)__builtin_neon_vmlsv4si (__a, __b, __c, 1);
1279 }
1280
1281 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1282 vmlsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1283 {
1284   return (float32x4_t)__builtin_neon_vmlsv4sf (__a, __b, __c, 3);
1285 }
1286
1287 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1288 vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1289 {
1290   return (uint8x16_t)__builtin_neon_vmlsv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
1291 }
1292
1293 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1294 vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1295 {
1296   return (uint16x8_t)__builtin_neon_vmlsv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
1297 }
1298
1299 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1300 vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1301 {
1302   return (uint32x4_t)__builtin_neon_vmlsv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
1303 }
1304
1305 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1306 vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1307 {
1308   return (int16x8_t)__builtin_neon_vmlslv8qi (__a, __b, __c, 1);
1309 }
1310
1311 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1312 vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1313 {
1314   return (int32x4_t)__builtin_neon_vmlslv4hi (__a, __b, __c, 1);
1315 }
1316
1317 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1318 vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1319 {
1320   return (int64x2_t)__builtin_neon_vmlslv2si (__a, __b, __c, 1);
1321 }
1322
1323 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1324 vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1325 {
1326   return (uint16x8_t)__builtin_neon_vmlslv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1327 }
1328
1329 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1330 vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1331 {
1332   return (uint32x4_t)__builtin_neon_vmlslv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1333 }
1334
1335 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1336 vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1337 {
1338   return (uint64x2_t)__builtin_neon_vmlslv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1339 }
1340
1341 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1342 vqdmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1343 {
1344   return (int32x4_t)__builtin_neon_vqdmlslv4hi (__a, __b, __c, 1);
1345 }
1346
1347 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1348 vqdmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1349 {
1350   return (int64x2_t)__builtin_neon_vqdmlslv2si (__a, __b, __c, 1);
1351 }
1352
1353 #ifdef __ARM_FEATURE_FMA
1354 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1355 vfma_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1356 {
1357   return (float32x2_t)__builtin_neon_vfmav2sf (__a, __b, __c, 3);
1358 }
1359
1360 #endif
1361 #ifdef __ARM_FEATURE_FMA
1362 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1363 vfmaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1364 {
1365   return (float32x4_t)__builtin_neon_vfmav4sf (__a, __b, __c, 3);
1366 }
1367
1368 #endif
1369 #ifdef __ARM_FEATURE_FMA
1370 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1371 vfms_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1372 {
1373   return (float32x2_t)__builtin_neon_vfmsv2sf (__a, __b, __c, 3);
1374 }
1375
1376 #endif
1377 #ifdef __ARM_FEATURE_FMA
1378 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1379 vfmsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1380 {
1381   return (float32x4_t)__builtin_neon_vfmsv4sf (__a, __b, __c, 3);
1382 }
1383
1384 #endif
1385 #if __ARM_ARCH >= 8
1386 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1387 vrndn_f32 (float32x2_t __a)
1388 {
1389   return (float32x2_t)__builtin_neon_vrintnv2sf (__a);
1390 }
1391
1392 #endif
1393 #if __ARM_ARCH >= 8
1394 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1395 vrndqn_f32 (float32x4_t __a)
1396 {
1397   return (float32x4_t)__builtin_neon_vrintnv4sf (__a);
1398 }
1399
1400 #endif
1401 #if __ARM_ARCH >= 8
1402 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1403 vrnda_f32 (float32x2_t __a)
1404 {
1405   return (float32x2_t)__builtin_neon_vrintav2sf (__a);
1406 }
1407
1408 #endif
1409 #if __ARM_ARCH >= 8
1410 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1411 vrndqa_f32 (float32x4_t __a)
1412 {
1413   return (float32x4_t)__builtin_neon_vrintav4sf (__a);
1414 }
1415
1416 #endif
1417 #if __ARM_ARCH >= 8
1418 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1419 vrndp_f32 (float32x2_t __a)
1420 {
1421   return (float32x2_t)__builtin_neon_vrintpv2sf (__a);
1422 }
1423
1424 #endif
1425 #if __ARM_ARCH >= 8
1426 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1427 vrndqp_f32 (float32x4_t __a)
1428 {
1429   return (float32x4_t)__builtin_neon_vrintpv4sf (__a);
1430 }
1431
1432 #endif
1433 #if __ARM_ARCH >= 8
1434 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1435 vrndm_f32 (float32x2_t __a)
1436 {
1437   return (float32x2_t)__builtin_neon_vrintmv2sf (__a);
1438 }
1439
1440 #endif
1441 #if __ARM_ARCH >= 8
1442 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1443 vrndqm_f32 (float32x4_t __a)
1444 {
1445   return (float32x4_t)__builtin_neon_vrintmv4sf (__a);
1446 }
1447
1448 #endif
1449 #if __ARM_ARCH >= 8
1450 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1451 vrnd_f32 (float32x2_t __a)
1452 {
1453   return (float32x2_t)__builtin_neon_vrintzv2sf (__a);
1454 }
1455
1456 #endif
1457 #if __ARM_ARCH >= 8
1458 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1459 vrndq_f32 (float32x4_t __a)
1460 {
1461   return (float32x4_t)__builtin_neon_vrintzv4sf (__a);
1462 }
1463
1464 #endif
1465 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1466 vsub_s8 (int8x8_t __a, int8x8_t __b)
1467 {
1468   return (int8x8_t)__builtin_neon_vsubv8qi (__a, __b, 1);
1469 }
1470
1471 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1472 vsub_s16 (int16x4_t __a, int16x4_t __b)
1473 {
1474   return (int16x4_t)__builtin_neon_vsubv4hi (__a, __b, 1);
1475 }
1476
1477 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1478 vsub_s32 (int32x2_t __a, int32x2_t __b)
1479 {
1480   return (int32x2_t)__builtin_neon_vsubv2si (__a, __b, 1);
1481 }
1482
1483 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1484 vsub_f32 (float32x2_t __a, float32x2_t __b)
1485 {
1486   return (float32x2_t)__builtin_neon_vsubv2sf (__a, __b, 3);
1487 }
1488
1489 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1490 vsub_u8 (uint8x8_t __a, uint8x8_t __b)
1491 {
1492   return (uint8x8_t)__builtin_neon_vsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1493 }
1494
1495 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1496 vsub_u16 (uint16x4_t __a, uint16x4_t __b)
1497 {
1498   return (uint16x4_t)__builtin_neon_vsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1499 }
1500
1501 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1502 vsub_u32 (uint32x2_t __a, uint32x2_t __b)
1503 {
1504   return (uint32x2_t)__builtin_neon_vsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1505 }
1506
1507 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
1508 vsub_s64 (int64x1_t __a, int64x1_t __b)
1509 {
1510   return (int64x1_t)__builtin_neon_vsubdi (__a, __b, 1);
1511 }
1512
1513 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
1514 vsub_u64 (uint64x1_t __a, uint64x1_t __b)
1515 {
1516   return (uint64x1_t)__builtin_neon_vsubdi ((int64x1_t) __a, (int64x1_t) __b, 0);
1517 }
1518
1519 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1520 vsubq_s8 (int8x16_t __a, int8x16_t __b)
1521 {
1522   return (int8x16_t)__builtin_neon_vsubv16qi (__a, __b, 1);
1523 }
1524
1525 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1526 vsubq_s16 (int16x8_t __a, int16x8_t __b)
1527 {
1528   return (int16x8_t)__builtin_neon_vsubv8hi (__a, __b, 1);
1529 }
1530
1531 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1532 vsubq_s32 (int32x4_t __a, int32x4_t __b)
1533 {
1534   return (int32x4_t)__builtin_neon_vsubv4si (__a, __b, 1);
1535 }
1536
1537 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1538 vsubq_s64 (int64x2_t __a, int64x2_t __b)
1539 {
1540   return (int64x2_t)__builtin_neon_vsubv2di (__a, __b, 1);
1541 }
1542
1543 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1544 vsubq_f32 (float32x4_t __a, float32x4_t __b)
1545 {
1546   return (float32x4_t)__builtin_neon_vsubv4sf (__a, __b, 3);
1547 }
1548
1549 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1550 vsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1551 {
1552   return (uint8x16_t)__builtin_neon_vsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1553 }
1554
1555 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1556 vsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1557 {
1558   return (uint16x8_t)__builtin_neon_vsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1559 }
1560
1561 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1562 vsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1563 {
1564   return (uint32x4_t)__builtin_neon_vsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1565 }
1566
1567 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1568 vsubq_u64 (uint64x2_t __a, uint64x2_t __b)
1569 {
1570   return (uint64x2_t)__builtin_neon_vsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1571 }
1572
1573 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1574 vsubl_s8 (int8x8_t __a, int8x8_t __b)
1575 {
1576   return (int16x8_t)__builtin_neon_vsublv8qi (__a, __b, 1);
1577 }
1578
1579 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1580 vsubl_s16 (int16x4_t __a, int16x4_t __b)
1581 {
1582   return (int32x4_t)__builtin_neon_vsublv4hi (__a, __b, 1);
1583 }
1584
1585 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1586 vsubl_s32 (int32x2_t __a, int32x2_t __b)
1587 {
1588   return (int64x2_t)__builtin_neon_vsublv2si (__a, __b, 1);
1589 }
1590
1591 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1592 vsubl_u8 (uint8x8_t __a, uint8x8_t __b)
1593 {
1594   return (uint16x8_t)__builtin_neon_vsublv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1595 }
1596
1597 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1598 vsubl_u16 (uint16x4_t __a, uint16x4_t __b)
1599 {
1600   return (uint32x4_t)__builtin_neon_vsublv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1601 }
1602
1603 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1604 vsubl_u32 (uint32x2_t __a, uint32x2_t __b)
1605 {
1606   return (uint64x2_t)__builtin_neon_vsublv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1607 }
1608
1609 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1610 vsubw_s8 (int16x8_t __a, int8x8_t __b)
1611 {
1612   return (int16x8_t)__builtin_neon_vsubwv8qi (__a, __b, 1);
1613 }
1614
1615 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1616 vsubw_s16 (int32x4_t __a, int16x4_t __b)
1617 {
1618   return (int32x4_t)__builtin_neon_vsubwv4hi (__a, __b, 1);
1619 }
1620
1621 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1622 vsubw_s32 (int64x2_t __a, int32x2_t __b)
1623 {
1624   return (int64x2_t)__builtin_neon_vsubwv2si (__a, __b, 1);
1625 }
1626
1627 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1628 vsubw_u8 (uint16x8_t __a, uint8x8_t __b)
1629 {
1630   return (uint16x8_t)__builtin_neon_vsubwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0);
1631 }
1632
1633 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1634 vsubw_u16 (uint32x4_t __a, uint16x4_t __b)
1635 {
1636   return (uint32x4_t)__builtin_neon_vsubwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0);
1637 }
1638
1639 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1640 vsubw_u32 (uint64x2_t __a, uint32x2_t __b)
1641 {
1642   return (uint64x2_t)__builtin_neon_vsubwv2si ((int64x2_t) __a, (int32x2_t) __b, 0);
1643 }
1644
1645 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1646 vhsub_s8 (int8x8_t __a, int8x8_t __b)
1647 {
1648   return (int8x8_t)__builtin_neon_vhsubv8qi (__a, __b, 1);
1649 }
1650
1651 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1652 vhsub_s16 (int16x4_t __a, int16x4_t __b)
1653 {
1654   return (int16x4_t)__builtin_neon_vhsubv4hi (__a, __b, 1);
1655 }
1656
1657 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1658 vhsub_s32 (int32x2_t __a, int32x2_t __b)
1659 {
1660   return (int32x2_t)__builtin_neon_vhsubv2si (__a, __b, 1);
1661 }
1662
1663 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1664 vhsub_u8 (uint8x8_t __a, uint8x8_t __b)
1665 {
1666   return (uint8x8_t)__builtin_neon_vhsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1667 }
1668
1669 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1670 vhsub_u16 (uint16x4_t __a, uint16x4_t __b)
1671 {
1672   return (uint16x4_t)__builtin_neon_vhsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1673 }
1674
1675 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1676 vhsub_u32 (uint32x2_t __a, uint32x2_t __b)
1677 {
1678   return (uint32x2_t)__builtin_neon_vhsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1679 }
1680
1681 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1682 vhsubq_s8 (int8x16_t __a, int8x16_t __b)
1683 {
1684   return (int8x16_t)__builtin_neon_vhsubv16qi (__a, __b, 1);
1685 }
1686
1687 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1688 vhsubq_s16 (int16x8_t __a, int16x8_t __b)
1689 {
1690   return (int16x8_t)__builtin_neon_vhsubv8hi (__a, __b, 1);
1691 }
1692
1693 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1694 vhsubq_s32 (int32x4_t __a, int32x4_t __b)
1695 {
1696   return (int32x4_t)__builtin_neon_vhsubv4si (__a, __b, 1);
1697 }
1698
1699 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1700 vhsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1701 {
1702   return (uint8x16_t)__builtin_neon_vhsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1703 }
1704
1705 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1706 vhsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1707 {
1708   return (uint16x8_t)__builtin_neon_vhsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1709 }
1710
1711 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1712 vhsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1713 {
1714   return (uint32x4_t)__builtin_neon_vhsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1715 }
1716
1717 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1718 vqsub_s8 (int8x8_t __a, int8x8_t __b)
1719 {
1720   return (int8x8_t)__builtin_neon_vqsubv8qi (__a, __b, 1);
1721 }
1722
1723 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1724 vqsub_s16 (int16x4_t __a, int16x4_t __b)
1725 {
1726   return (int16x4_t)__builtin_neon_vqsubv4hi (__a, __b, 1);
1727 }
1728
1729 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1730 vqsub_s32 (int32x2_t __a, int32x2_t __b)
1731 {
1732   return (int32x2_t)__builtin_neon_vqsubv2si (__a, __b, 1);
1733 }
1734
1735 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
1736 vqsub_s64 (int64x1_t __a, int64x1_t __b)
1737 {
1738   return (int64x1_t)__builtin_neon_vqsubdi (__a, __b, 1);
1739 }
1740
1741 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1742 vqsub_u8 (uint8x8_t __a, uint8x8_t __b)
1743 {
1744   return (uint8x8_t)__builtin_neon_vqsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1745 }
1746
1747 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1748 vqsub_u16 (uint16x4_t __a, uint16x4_t __b)
1749 {
1750   return (uint16x4_t)__builtin_neon_vqsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1751 }
1752
1753 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1754 vqsub_u32 (uint32x2_t __a, uint32x2_t __b)
1755 {
1756   return (uint32x2_t)__builtin_neon_vqsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1757 }
1758
1759 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
1760 vqsub_u64 (uint64x1_t __a, uint64x1_t __b)
1761 {
1762   return (uint64x1_t)__builtin_neon_vqsubdi ((int64x1_t) __a, (int64x1_t) __b, 0);
1763 }
1764
1765 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1766 vqsubq_s8 (int8x16_t __a, int8x16_t __b)
1767 {
1768   return (int8x16_t)__builtin_neon_vqsubv16qi (__a, __b, 1);
1769 }
1770
1771 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1772 vqsubq_s16 (int16x8_t __a, int16x8_t __b)
1773 {
1774   return (int16x8_t)__builtin_neon_vqsubv8hi (__a, __b, 1);
1775 }
1776
1777 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1778 vqsubq_s32 (int32x4_t __a, int32x4_t __b)
1779 {
1780   return (int32x4_t)__builtin_neon_vqsubv4si (__a, __b, 1);
1781 }
1782
1783 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1784 vqsubq_s64 (int64x2_t __a, int64x2_t __b)
1785 {
1786   return (int64x2_t)__builtin_neon_vqsubv2di (__a, __b, 1);
1787 }
1788
1789 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1790 vqsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1791 {
1792   return (uint8x16_t)__builtin_neon_vqsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1793 }
1794
1795 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1796 vqsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1797 {
1798   return (uint16x8_t)__builtin_neon_vqsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1799 }
1800
1801 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1802 vqsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1803 {
1804   return (uint32x4_t)__builtin_neon_vqsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1805 }
1806
1807 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1808 vqsubq_u64 (uint64x2_t __a, uint64x2_t __b)
1809 {
1810   return (uint64x2_t)__builtin_neon_vqsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1811 }
1812
1813 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1814 vsubhn_s16 (int16x8_t __a, int16x8_t __b)
1815 {
1816   return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 1);
1817 }
1818
1819 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1820 vsubhn_s32 (int32x4_t __a, int32x4_t __b)
1821 {
1822   return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 1);
1823 }
1824
1825 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1826 vsubhn_s64 (int64x2_t __a, int64x2_t __b)
1827 {
1828   return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 1);
1829 }
1830
1831 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1832 vsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
1833 {
1834   return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1835 }
1836
1837 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1838 vsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
1839 {
1840   return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1841 }
1842
1843 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1844 vsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
1845 {
1846   return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1847 }
1848
1849 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1850 vrsubhn_s16 (int16x8_t __a, int16x8_t __b)
1851 {
1852   return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 5);
1853 }
1854
1855 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1856 vrsubhn_s32 (int32x4_t __a, int32x4_t __b)
1857 {
1858   return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 5);
1859 }
1860
1861 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1862 vrsubhn_s64 (int64x2_t __a, int64x2_t __b)
1863 {
1864   return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 5);
1865 }
1866
1867 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1868 vrsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
1869 {
1870   return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
1871 }
1872
1873 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1874 vrsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
1875 {
1876   return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
1877 }
1878
1879 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1880 vrsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
1881 {
1882   return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4);
1883 }
1884
1885 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1886 vceq_s8 (int8x8_t __a, int8x8_t __b)
1887 {
1888   return (uint8x8_t)__builtin_neon_vceqv8qi (__a, __b, 1);
1889 }
1890
1891 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1892 vceq_s16 (int16x4_t __a, int16x4_t __b)
1893 {
1894   return (uint16x4_t)__builtin_neon_vceqv4hi (__a, __b, 1);
1895 }
1896
1897 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1898 vceq_s32 (int32x2_t __a, int32x2_t __b)
1899 {
1900   return (uint32x2_t)__builtin_neon_vceqv2si (__a, __b, 1);
1901 }
1902
1903 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1904 vceq_f32 (float32x2_t __a, float32x2_t __b)
1905 {
1906   return (uint32x2_t)__builtin_neon_vceqv2sf (__a, __b, 3);
1907 }
1908
1909 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1910 vceq_u8 (uint8x8_t __a, uint8x8_t __b)
1911 {
1912   return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1913 }
1914
1915 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1916 vceq_u16 (uint16x4_t __a, uint16x4_t __b)
1917 {
1918   return (uint16x4_t)__builtin_neon_vceqv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1919 }
1920
1921 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1922 vceq_u32 (uint32x2_t __a, uint32x2_t __b)
1923 {
1924   return (uint32x2_t)__builtin_neon_vceqv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1925 }
1926
1927 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1928 vceq_p8 (poly8x8_t __a, poly8x8_t __b)
1929 {
1930   return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
1931 }
1932
1933 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1934 vceqq_s8 (int8x16_t __a, int8x16_t __b)
1935 {
1936   return (uint8x16_t)__builtin_neon_vceqv16qi (__a, __b, 1);
1937 }
1938
1939 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1940 vceqq_s16 (int16x8_t __a, int16x8_t __b)
1941 {
1942   return (uint16x8_t)__builtin_neon_vceqv8hi (__a, __b, 1);
1943 }
1944
1945 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1946 vceqq_s32 (int32x4_t __a, int32x4_t __b)
1947 {
1948   return (uint32x4_t)__builtin_neon_vceqv4si (__a, __b, 1);
1949 }
1950
1951 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1952 vceqq_f32 (float32x4_t __a, float32x4_t __b)
1953 {
1954   return (uint32x4_t)__builtin_neon_vceqv4sf (__a, __b, 3);
1955 }
1956
1957 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1958 vceqq_u8 (uint8x16_t __a, uint8x16_t __b)
1959 {
1960   return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1961 }
1962
1963 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1964 vceqq_u16 (uint16x8_t __a, uint16x8_t __b)
1965 {
1966   return (uint16x8_t)__builtin_neon_vceqv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1967 }
1968
1969 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1970 vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
1971 {
1972   return (uint32x4_t)__builtin_neon_vceqv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1973 }
1974
1975 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1976 vceqq_p8 (poly8x16_t __a, poly8x16_t __b)
1977 {
1978   return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
1979 }
1980
1981 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1982 vcge_s8 (int8x8_t __a, int8x8_t __b)
1983 {
1984   return (uint8x8_t)__builtin_neon_vcgev8qi (__a, __b, 1);
1985 }
1986
1987 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1988 vcge_s16 (int16x4_t __a, int16x4_t __b)
1989 {
1990   return (uint16x4_t)__builtin_neon_vcgev4hi (__a, __b, 1);
1991 }
1992
1993 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1994 vcge_s32 (int32x2_t __a, int32x2_t __b)
1995 {
1996   return (uint32x2_t)__builtin_neon_vcgev2si (__a, __b, 1);
1997 }
1998
1999 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2000 vcge_f32 (float32x2_t __a, float32x2_t __b)
2001 {
2002   return (uint32x2_t)__builtin_neon_vcgev2sf (__a, __b, 3);
2003 }
2004
2005 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2006 vcge_u8 (uint8x8_t __a, uint8x8_t __b)
2007 {
2008   return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2009 }
2010
2011 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2012 vcge_u16 (uint16x4_t __a, uint16x4_t __b)
2013 {
2014   return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2015 }
2016
2017 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2018 vcge_u32 (uint32x2_t __a, uint32x2_t __b)
2019 {
2020   return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2021 }
2022
2023 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2024 vcgeq_s8 (int8x16_t __a, int8x16_t __b)
2025 {
2026   return (uint8x16_t)__builtin_neon_vcgev16qi (__a, __b, 1);
2027 }
2028
2029 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2030 vcgeq_s16 (int16x8_t __a, int16x8_t __b)
2031 {
2032   return (uint16x8_t)__builtin_neon_vcgev8hi (__a, __b, 1);
2033 }
2034
2035 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2036 vcgeq_s32 (int32x4_t __a, int32x4_t __b)
2037 {
2038   return (uint32x4_t)__builtin_neon_vcgev4si (__a, __b, 1);
2039 }
2040
2041 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2042 vcgeq_f32 (float32x4_t __a, float32x4_t __b)
2043 {
2044   return (uint32x4_t)__builtin_neon_vcgev4sf (__a, __b, 3);
2045 }
2046
2047 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2048 vcgeq_u8 (uint8x16_t __a, uint8x16_t __b)
2049 {
2050   return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2051 }
2052
2053 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2054 vcgeq_u16 (uint16x8_t __a, uint16x8_t __b)
2055 {
2056   return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2057 }
2058
2059 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2060 vcgeq_u32 (uint32x4_t __a, uint32x4_t __b)
2061 {
2062   return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2063 }
2064
2065 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2066 vcle_s8 (int8x8_t __a, int8x8_t __b)
2067 {
2068   return (uint8x8_t)__builtin_neon_vcgev8qi (__b, __a, 1);
2069 }
2070
2071 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2072 vcle_s16 (int16x4_t __a, int16x4_t __b)
2073 {
2074   return (uint16x4_t)__builtin_neon_vcgev4hi (__b, __a, 1);
2075 }
2076
2077 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2078 vcle_s32 (int32x2_t __a, int32x2_t __b)
2079 {
2080   return (uint32x2_t)__builtin_neon_vcgev2si (__b, __a, 1);
2081 }
2082
2083 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2084 vcle_f32 (float32x2_t __a, float32x2_t __b)
2085 {
2086   return (uint32x2_t)__builtin_neon_vcgev2sf (__b, __a, 3);
2087 }
2088
2089 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2090 vcle_u8 (uint8x8_t __a, uint8x8_t __b)
2091 {
2092   return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __b, (int8x8_t) __a, 0);
2093 }
2094
2095 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2096 vcle_u16 (uint16x4_t __a, uint16x4_t __b)
2097 {
2098   return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __b, (int16x4_t) __a, 0);
2099 }
2100
2101 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2102 vcle_u32 (uint32x2_t __a, uint32x2_t __b)
2103 {
2104   return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __b, (int32x2_t) __a, 0);
2105 }
2106
2107 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2108 vcleq_s8 (int8x16_t __a, int8x16_t __b)
2109 {
2110   return (uint8x16_t)__builtin_neon_vcgev16qi (__b, __a, 1);
2111 }
2112
2113 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2114 vcleq_s16 (int16x8_t __a, int16x8_t __b)
2115 {
2116   return (uint16x8_t)__builtin_neon_vcgev8hi (__b, __a, 1);
2117 }
2118
2119 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2120 vcleq_s32 (int32x4_t __a, int32x4_t __b)
2121 {
2122   return (uint32x4_t)__builtin_neon_vcgev4si (__b, __a, 1);
2123 }
2124
2125 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2126 vcleq_f32 (float32x4_t __a, float32x4_t __b)
2127 {
2128   return (uint32x4_t)__builtin_neon_vcgev4sf (__b, __a, 3);
2129 }
2130
2131 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2132 vcleq_u8 (uint8x16_t __a, uint8x16_t __b)
2133 {
2134   return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __b, (int8x16_t) __a, 0);
2135 }
2136
2137 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2138 vcleq_u16 (uint16x8_t __a, uint16x8_t __b)
2139 {
2140   return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __b, (int16x8_t) __a, 0);
2141 }
2142
2143 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2144 vcleq_u32 (uint32x4_t __a, uint32x4_t __b)
2145 {
2146   return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __b, (int32x4_t) __a, 0);
2147 }
2148
2149 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2150 vcgt_s8 (int8x8_t __a, int8x8_t __b)
2151 {
2152   return (uint8x8_t)__builtin_neon_vcgtv8qi (__a, __b, 1);
2153 }
2154
2155 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2156 vcgt_s16 (int16x4_t __a, int16x4_t __b)
2157 {
2158   return (uint16x4_t)__builtin_neon_vcgtv4hi (__a, __b, 1);
2159 }
2160
2161 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2162 vcgt_s32 (int32x2_t __a, int32x2_t __b)
2163 {
2164   return (uint32x2_t)__builtin_neon_vcgtv2si (__a, __b, 1);
2165 }
2166
2167 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2168 vcgt_f32 (float32x2_t __a, float32x2_t __b)
2169 {
2170   return (uint32x2_t)__builtin_neon_vcgtv2sf (__a, __b, 3);
2171 }
2172
2173 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2174 vcgt_u8 (uint8x8_t __a, uint8x8_t __b)
2175 {
2176   return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2177 }
2178
2179 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2180 vcgt_u16 (uint16x4_t __a, uint16x4_t __b)
2181 {
2182   return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2183 }
2184
2185 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2186 vcgt_u32 (uint32x2_t __a, uint32x2_t __b)
2187 {
2188   return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2189 }
2190
2191 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2192 vcgtq_s8 (int8x16_t __a, int8x16_t __b)
2193 {
2194   return (uint8x16_t)__builtin_neon_vcgtv16qi (__a, __b, 1);
2195 }
2196
2197 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2198 vcgtq_s16 (int16x8_t __a, int16x8_t __b)
2199 {
2200   return (uint16x8_t)__builtin_neon_vcgtv8hi (__a, __b, 1);
2201 }
2202
2203 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2204 vcgtq_s32 (int32x4_t __a, int32x4_t __b)
2205 {
2206   return (uint32x4_t)__builtin_neon_vcgtv4si (__a, __b, 1);
2207 }
2208
2209 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2210 vcgtq_f32 (float32x4_t __a, float32x4_t __b)
2211 {
2212   return (uint32x4_t)__builtin_neon_vcgtv4sf (__a, __b, 3);
2213 }
2214
2215 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2216 vcgtq_u8 (uint8x16_t __a, uint8x16_t __b)
2217 {
2218   return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2219 }
2220
2221 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2222 vcgtq_u16 (uint16x8_t __a, uint16x8_t __b)
2223 {
2224   return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2225 }
2226
2227 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2228 vcgtq_u32 (uint32x4_t __a, uint32x4_t __b)
2229 {
2230   return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2231 }
2232
2233 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2234 vclt_s8 (int8x8_t __a, int8x8_t __b)
2235 {
2236   return (uint8x8_t)__builtin_neon_vcgtv8qi (__b, __a, 1);
2237 }
2238
2239 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2240 vclt_s16 (int16x4_t __a, int16x4_t __b)
2241 {
2242   return (uint16x4_t)__builtin_neon_vcgtv4hi (__b, __a, 1);
2243 }
2244
2245 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2246 vclt_s32 (int32x2_t __a, int32x2_t __b)
2247 {
2248   return (uint32x2_t)__builtin_neon_vcgtv2si (__b, __a, 1);
2249 }
2250
2251 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2252 vclt_f32 (float32x2_t __a, float32x2_t __b)
2253 {
2254   return (uint32x2_t)__builtin_neon_vcgtv2sf (__b, __a, 3);
2255 }
2256
2257 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2258 vclt_u8 (uint8x8_t __a, uint8x8_t __b)
2259 {
2260   return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __b, (int8x8_t) __a, 0);
2261 }
2262
2263 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2264 vclt_u16 (uint16x4_t __a, uint16x4_t __b)
2265 {
2266   return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __b, (int16x4_t) __a, 0);
2267 }
2268
2269 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2270 vclt_u32 (uint32x2_t __a, uint32x2_t __b)
2271 {
2272   return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __b, (int32x2_t) __a, 0);
2273 }
2274
2275 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2276 vcltq_s8 (int8x16_t __a, int8x16_t __b)
2277 {
2278   return (uint8x16_t)__builtin_neon_vcgtv16qi (__b, __a, 1);
2279 }
2280
2281 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2282 vcltq_s16 (int16x8_t __a, int16x8_t __b)
2283 {
2284   return (uint16x8_t)__builtin_neon_vcgtv8hi (__b, __a, 1);
2285 }
2286
2287 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2288 vcltq_s32 (int32x4_t __a, int32x4_t __b)
2289 {
2290   return (uint32x4_t)__builtin_neon_vcgtv4si (__b, __a, 1);
2291 }
2292
2293 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2294 vcltq_f32 (float32x4_t __a, float32x4_t __b)
2295 {
2296   return (uint32x4_t)__builtin_neon_vcgtv4sf (__b, __a, 3);
2297 }
2298
2299 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2300 vcltq_u8 (uint8x16_t __a, uint8x16_t __b)
2301 {
2302   return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __b, (int8x16_t) __a, 0);
2303 }
2304
2305 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2306 vcltq_u16 (uint16x8_t __a, uint16x8_t __b)
2307 {
2308   return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __b, (int16x8_t) __a, 0);
2309 }
2310
2311 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2312 vcltq_u32 (uint32x4_t __a, uint32x4_t __b)
2313 {
2314   return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __b, (int32x4_t) __a, 0);
2315 }
2316
2317 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2318 vcage_f32 (float32x2_t __a, float32x2_t __b)
2319 {
2320   return (uint32x2_t)__builtin_neon_vcagev2sf (__a, __b, 3);
2321 }
2322
2323 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2324 vcageq_f32 (float32x4_t __a, float32x4_t __b)
2325 {
2326   return (uint32x4_t)__builtin_neon_vcagev4sf (__a, __b, 3);
2327 }
2328
2329 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2330 vcale_f32 (float32x2_t __a, float32x2_t __b)
2331 {
2332   return (uint32x2_t)__builtin_neon_vcagev2sf (__b, __a, 3);
2333 }
2334
2335 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2336 vcaleq_f32 (float32x4_t __a, float32x4_t __b)
2337 {
2338   return (uint32x4_t)__builtin_neon_vcagev4sf (__b, __a, 3);
2339 }
2340
2341 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2342 vcagt_f32 (float32x2_t __a, float32x2_t __b)
2343 {
2344   return (uint32x2_t)__builtin_neon_vcagtv2sf (__a, __b, 3);
2345 }
2346
2347 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2348 vcagtq_f32 (float32x4_t __a, float32x4_t __b)
2349 {
2350   return (uint32x4_t)__builtin_neon_vcagtv4sf (__a, __b, 3);
2351 }
2352
2353 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2354 vcalt_f32 (float32x2_t __a, float32x2_t __b)
2355 {
2356   return (uint32x2_t)__builtin_neon_vcagtv2sf (__b, __a, 3);
2357 }
2358
2359 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2360 vcaltq_f32 (float32x4_t __a, float32x4_t __b)
2361 {
2362   return (uint32x4_t)__builtin_neon_vcagtv4sf (__b, __a, 3);
2363 }
2364
2365 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2366 vtst_s8 (int8x8_t __a, int8x8_t __b)
2367 {
2368   return (uint8x8_t)__builtin_neon_vtstv8qi (__a, __b, 1);
2369 }
2370
2371 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2372 vtst_s16 (int16x4_t __a, int16x4_t __b)
2373 {
2374   return (uint16x4_t)__builtin_neon_vtstv4hi (__a, __b, 1);
2375 }
2376
2377 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2378 vtst_s32 (int32x2_t __a, int32x2_t __b)
2379 {
2380   return (uint32x2_t)__builtin_neon_vtstv2si (__a, __b, 1);
2381 }
2382
2383 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2384 vtst_u8 (uint8x8_t __a, uint8x8_t __b)
2385 {
2386   return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2387 }
2388
2389 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2390 vtst_u16 (uint16x4_t __a, uint16x4_t __b)
2391 {
2392   return (uint16x4_t)__builtin_neon_vtstv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2393 }
2394
2395 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2396 vtst_u32 (uint32x2_t __a, uint32x2_t __b)
2397 {
2398   return (uint32x2_t)__builtin_neon_vtstv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2399 }
2400
2401 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2402 vtst_p8 (poly8x8_t __a, poly8x8_t __b)
2403 {
2404   return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
2405 }
2406
2407 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2408 vtstq_s8 (int8x16_t __a, int8x16_t __b)
2409 {
2410   return (uint8x16_t)__builtin_neon_vtstv16qi (__a, __b, 1);
2411 }
2412
2413 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2414 vtstq_s16 (int16x8_t __a, int16x8_t __b)
2415 {
2416   return (uint16x8_t)__builtin_neon_vtstv8hi (__a, __b, 1);
2417 }
2418
2419 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2420 vtstq_s32 (int32x4_t __a, int32x4_t __b)
2421 {
2422   return (uint32x4_t)__builtin_neon_vtstv4si (__a, __b, 1);
2423 }
2424
2425 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2426 vtstq_u8 (uint8x16_t __a, uint8x16_t __b)
2427 {
2428   return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2429 }
2430
2431 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2432 vtstq_u16 (uint16x8_t __a, uint16x8_t __b)
2433 {
2434   return (uint16x8_t)__builtin_neon_vtstv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2435 }
2436
2437 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2438 vtstq_u32 (uint32x4_t __a, uint32x4_t __b)
2439 {
2440   return (uint32x4_t)__builtin_neon_vtstv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2441 }
2442
2443 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2444 vtstq_p8 (poly8x16_t __a, poly8x16_t __b)
2445 {
2446   return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
2447 }
2448
2449 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2450 vabd_s8 (int8x8_t __a, int8x8_t __b)
2451 {
2452   return (int8x8_t)__builtin_neon_vabdv8qi (__a, __b, 1);
2453 }
2454
2455 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2456 vabd_s16 (int16x4_t __a, int16x4_t __b)
2457 {
2458   return (int16x4_t)__builtin_neon_vabdv4hi (__a, __b, 1);
2459 }
2460
2461 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2462 vabd_s32 (int32x2_t __a, int32x2_t __b)
2463 {
2464   return (int32x2_t)__builtin_neon_vabdv2si (__a, __b, 1);
2465 }
2466
2467 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2468 vabd_f32 (float32x2_t __a, float32x2_t __b)
2469 {
2470   return (float32x2_t)__builtin_neon_vabdv2sf (__a, __b, 3);
2471 }
2472
2473 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2474 vabd_u8 (uint8x8_t __a, uint8x8_t __b)
2475 {
2476   return (uint8x8_t)__builtin_neon_vabdv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2477 }
2478
2479 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2480 vabd_u16 (uint16x4_t __a, uint16x4_t __b)
2481 {
2482   return (uint16x4_t)__builtin_neon_vabdv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2483 }
2484
2485 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2486 vabd_u32 (uint32x2_t __a, uint32x2_t __b)
2487 {
2488   return (uint32x2_t)__builtin_neon_vabdv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2489 }
2490
2491 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
2492 vabdq_s8 (int8x16_t __a, int8x16_t __b)
2493 {
2494   return (int8x16_t)__builtin_neon_vabdv16qi (__a, __b, 1);
2495 }
2496
2497 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2498 vabdq_s16 (int16x8_t __a, int16x8_t __b)
2499 {
2500   return (int16x8_t)__builtin_neon_vabdv8hi (__a, __b, 1);
2501 }
2502
2503 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2504 vabdq_s32 (int32x4_t __a, int32x4_t __b)
2505 {
2506   return (int32x4_t)__builtin_neon_vabdv4si (__a, __b, 1);
2507 }
2508
2509 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
2510 vabdq_f32 (float32x4_t __a, float32x4_t __b)
2511 {
2512   return (float32x4_t)__builtin_neon_vabdv4sf (__a, __b, 3);
2513 }
2514
2515 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2516 vabdq_u8 (uint8x16_t __a, uint8x16_t __b)
2517 {
2518   return (uint8x16_t)__builtin_neon_vabdv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2519 }
2520
2521 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2522 vabdq_u16 (uint16x8_t __a, uint16x8_t __b)
2523 {
2524   return (uint16x8_t)__builtin_neon_vabdv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2525 }
2526
2527 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2528 vabdq_u32 (uint32x4_t __a, uint32x4_t __b)
2529 {
2530   return (uint32x4_t)__builtin_neon_vabdv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2531 }
2532
2533 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2534 vabdl_s8 (int8x8_t __a, int8x8_t __b)
2535 {
2536   return (int16x8_t)__builtin_neon_vabdlv8qi (__a, __b, 1);
2537 }
2538
2539 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2540 vabdl_s16 (int16x4_t __a, int16x4_t __b)
2541 {
2542   return (int32x4_t)__builtin_neon_vabdlv4hi (__a, __b, 1);
2543 }
2544
2545 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
2546 vabdl_s32 (int32x2_t __a, int32x2_t __b)
2547 {
2548   return (int64x2_t)__builtin_neon_vabdlv2si (__a, __b, 1);
2549 }
2550
2551 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2552 vabdl_u8 (uint8x8_t __a, uint8x8_t __b)
2553 {
2554   return (uint16x8_t)__builtin_neon_vabdlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2555 }
2556
2557 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2558 vabdl_u16 (uint16x4_t __a, uint16x4_t __b)
2559 {
2560   return (uint32x4_t)__builtin_neon_vabdlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2561 }
2562
2563 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
2564 vabdl_u32 (uint32x2_t __a, uint32x2_t __b)
2565 {
2566   return (uint64x2_t)__builtin_neon_vabdlv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2567 }
2568
2569 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2570 vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
2571 {
2572   return (int8x8_t)__builtin_neon_vabav8qi (__a, __b, __c, 1);
2573 }
2574
2575 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2576 vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
2577 {
2578   return (int16x4_t)__builtin_neon_vabav4hi (__a, __b, __c, 1);
2579 }
2580
2581 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2582 vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
2583 {
2584   return (int32x2_t)__builtin_neon_vabav2si (__a, __b, __c, 1);
2585 }
2586
2587 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2588 vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
2589 {
2590   return (uint8x8_t)__builtin_neon_vabav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
2591 }
2592
2593 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2594 vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
2595 {
2596   return (uint16x4_t)__builtin_neon_vabav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
2597 }
2598
2599 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2600 vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
2601 {
2602   return (uint32x2_t)__builtin_neon_vabav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
2603 }
2604
2605 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
2606 vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
2607 {
2608   return (int8x16_t)__builtin_neon_vabav16qi (__a, __b, __c, 1);
2609 }
2610
2611 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2612 vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
2613 {
2614   return (int16x8_t)__builtin_neon_vabav8hi (__a, __b, __c, 1);
2615 }
2616
2617 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2618 vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
2619 {
2620   return (int32x4_t)__builtin_neon_vabav4si (__a, __b, __c, 1);
2621 }
2622
2623 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2624 vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
2625 {
2626   return (uint8x16_t)__builtin_neon_vabav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
2627 }
2628
2629 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2630 vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
2631 {
2632   return (uint16x8_t)__builtin_neon_vabav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
2633 }
2634
2635 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2636 vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
2637 {
2638   return (uint32x4_t)__builtin_neon_vabav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
2639 }
2640
2641 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2642 vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
2643 {
2644   return (int16x8_t)__builtin_neon_vabalv8qi (__a, __b, __c, 1);
2645 }
2646
2647 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2648 vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
2649 {
2650   return (int32x4_t)__builtin_neon_vabalv4hi (__a, __b, __c, 1);
2651 }
2652
2653 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
2654 vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
2655 {
2656   return (int64x2_t)__builtin_neon_vabalv2si (__a, __b, __c, 1);
2657 }
2658
2659 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2660 vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
2661 {
2662   return (uint16x8_t)__builtin_neon_vabalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
2663 }
2664
2665 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2666 vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
2667 {
2668   return (uint32x4_t)__builtin_neon_vabalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
2669 }
2670
2671 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
2672 vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
2673 {
2674   return (uint64x2_t)__builtin_neon_vabalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
2675 }
2676
2677 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2678 vmax_s8 (int8x8_t __a, int8x8_t __b)
2679 {
2680   return (int8x8_t)__builtin_neon_vmaxv8qi (__a, __b, 1);
2681 }
2682
2683 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2684 vmax_s16 (int16x4_t __a, int16x4_t __b)
2685 {
2686   return (int16x4_t)__builtin_neon_vmaxv4hi (__a, __b, 1);
2687 }
2688
2689 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2690 vmax_s32 (int32x2_t __a, int32x2_t __b)
2691 {
2692   return (int32x2_t)__builtin_neon_vmaxv2si (__a, __b, 1);
2693 }
2694
2695 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2696 vmax_f32 (float32x2_t __a, float32x2_t __b)
2697 {
2698   return (float32x2_t)__builtin_neon_vmaxv2sf (__a, __b, 3);
2699 }
2700
2701 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2702 vmax_u8 (uint8x8_t __a, uint8x8_t __b)
2703 {
2704   return (uint8x8_t)__builtin_neon_vmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2705 }
2706
2707 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2708 vmax_u16 (uint16x4_t __a, uint16x4_t __b)
2709 {
2710   return (uint16x4_t)__builtin_neon_vmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2711 }
2712
2713 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2714 vmax_u32 (uint32x2_t __a, uint32x2_t __b)
2715 {
2716   return (uint32x2_t)__builtin_neon_vmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2717 }
2718
2719 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
2720 vmaxq_s8 (int8x16_t __a, int8x16_t __b)
2721 {
2722   return (int8x16_t)__builtin_neon_vmaxv16qi (__a, __b, 1);
2723 }
2724
2725 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2726 vmaxq_s16 (int16x8_t __a, int16x8_t __b)
2727 {
2728   return (int16x8_t)__builtin_neon_vmaxv8hi (__a, __b, 1);
2729 }
2730
2731 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2732 vmaxq_s32 (int32x4_t __a, int32x4_t __b)
2733 {
2734   return (int32x4_t)__builtin_neon_vmaxv4si (__a, __b, 1);
2735 }
2736
2737 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
2738 vmaxq_f32 (float32x4_t __a, float32x4_t __b)
2739 {
2740   return (float32x4_t)__builtin_neon_vmaxv4sf (__a, __b, 3);
2741 }
2742
2743 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2744 vmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
2745 {
2746   return (uint8x16_t)__builtin_neon_vmaxv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2747 }
2748
2749 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2750 vmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
2751 {
2752   return (uint16x8_t)__builtin_neon_vmaxv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2753 }
2754
2755 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2756 vmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
2757 {
2758   return (uint32x4_t)__builtin_neon_vmaxv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2759 }
2760
2761 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2762 vmin_s8 (int8x8_t __a, int8x8_t __b)
2763 {
2764   return (int8x8_t)__builtin_neon_vminv8qi (__a, __b, 1);
2765 }
2766
2767 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2768 vmin_s16 (int16x4_t __a, int16x4_t __b)
2769 {
2770   return (int16x4_t)__builtin_neon_vminv4hi (__a, __b, 1);
2771 }
2772
2773 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2774 vmin_s32 (int32x2_t __a, int32x2_t __b)
2775 {
2776   return (int32x2_t)__builtin_neon_vminv2si (__a, __b, 1);
2777 }
2778
2779 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2780 vmin_f32 (float32x2_t __a, float32x2_t __b)
2781 {
2782   return (float32x2_t)__builtin_neon_vminv2sf (__a, __b, 3);
2783 }
2784
2785 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2786 vmin_u8 (uint8x8_t __a, uint8x8_t __b)
2787 {
2788   return (uint8x8_t)__builtin_neon_vminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2789 }
2790
2791 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2792 vmin_u16 (uint16x4_t __a, uint16x4_t __b)
2793 {
2794   return (uint16x4_t)__builtin_neon_vminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2795 }
2796
2797 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2798 vmin_u32 (uint32x2_t __a, uint32x2_t __b)
2799 {
2800   return (uint32x2_t)__builtin_neon_vminv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2801 }
2802
2803 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
2804 vminq_s8 (int8x16_t __a, int8x16_t __b)
2805 {
2806   return (int8x16_t)__builtin_neon_vminv16qi (__a, __b, 1);
2807 }
2808
2809 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2810 vminq_s16 (int16x8_t __a, int16x8_t __b)
2811 {
2812   return (int16x8_t)__builtin_neon_vminv8hi (__a, __b, 1);
2813 }
2814
2815 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2816 vminq_s32 (int32x4_t __a, int32x4_t __b)
2817 {
2818   return (int32x4_t)__builtin_neon_vminv4si (__a, __b, 1);
2819 }
2820
2821 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
2822 vminq_f32 (float32x4_t __a, float32x4_t __b)
2823 {
2824   return (float32x4_t)__builtin_neon_vminv4sf (__a, __b, 3);
2825 }
2826
2827 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2828 vminq_u8 (uint8x16_t __a, uint8x16_t __b)
2829 {
2830   return (uint8x16_t)__builtin_neon_vminv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2831 }
2832
2833 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2834 vminq_u16 (uint16x8_t __a, uint16x8_t __b)
2835 {
2836   return (uint16x8_t)__builtin_neon_vminv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2837 }
2838
2839 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2840 vminq_u32 (uint32x4_t __a, uint32x4_t __b)
2841 {
2842   return (uint32x4_t)__builtin_neon_vminv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2843 }
2844
2845 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2846 vpadd_s8 (int8x8_t __a, int8x8_t __b)
2847 {
2848   return (int8x8_t)__builtin_neon_vpaddv8qi (__a, __b, 1);
2849 }
2850
2851 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2852 vpadd_s16 (int16x4_t __a, int16x4_t __b)
2853 {
2854   return (int16x4_t)__builtin_neon_vpaddv4hi (__a, __b, 1);
2855 }
2856
2857 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2858 vpadd_s32 (int32x2_t __a, int32x2_t __b)
2859 {
2860   return (int32x2_t)__builtin_neon_vpaddv2si (__a, __b, 1);
2861 }
2862
2863 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2864 vpadd_f32 (float32x2_t __a, float32x2_t __b)
2865 {
2866   return (float32x2_t)__builtin_neon_vpaddv2sf (__a, __b, 3);
2867 }
2868
2869 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2870 vpadd_u8 (uint8x8_t __a, uint8x8_t __b)
2871 {
2872   return (uint8x8_t)__builtin_neon_vpaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2873 }
2874
2875 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2876 vpadd_u16 (uint16x4_t __a, uint16x4_t __b)
2877 {
2878   return (uint16x4_t)__builtin_neon_vpaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2879 }
2880
2881 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2882 vpadd_u32 (uint32x2_t __a, uint32x2_t __b)
2883 {
2884   return (uint32x2_t)__builtin_neon_vpaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2885 }
2886
2887 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2888 vpaddl_s8 (int8x8_t __a)
2889 {
2890   return (int16x4_t)__builtin_neon_vpaddlv8qi (__a, 1);
2891 }
2892
2893 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2894 vpaddl_s16 (int16x4_t __a)
2895 {
2896   return (int32x2_t)__builtin_neon_vpaddlv4hi (__a, 1);
2897 }
2898
2899 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
2900 vpaddl_s32 (int32x2_t __a)
2901 {
2902   return (int64x1_t)__builtin_neon_vpaddlv2si (__a, 1);
2903 }
2904
2905 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2906 vpaddl_u8 (uint8x8_t __a)
2907 {
2908   return (uint16x4_t)__builtin_neon_vpaddlv8qi ((int8x8_t) __a, 0);
2909 }
2910
2911 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2912 vpaddl_u16 (uint16x4_t __a)
2913 {
2914   return (uint32x2_t)__builtin_neon_vpaddlv4hi ((int16x4_t) __a, 0);
2915 }
2916
2917 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
2918 vpaddl_u32 (uint32x2_t __a)
2919 {
2920   return (uint64x1_t)__builtin_neon_vpaddlv2si ((int32x2_t) __a, 0);
2921 }
2922
2923 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2924 vpaddlq_s8 (int8x16_t __a)
2925 {
2926   return (int16x8_t)__builtin_neon_vpaddlv16qi (__a, 1);
2927 }
2928
2929 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2930 vpaddlq_s16 (int16x8_t __a)
2931 {
2932   return (int32x4_t)__builtin_neon_vpaddlv8hi (__a, 1);
2933 }
2934
2935 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
2936 vpaddlq_s32 (int32x4_t __a)
2937 {
2938   return (int64x2_t)__builtin_neon_vpaddlv4si (__a, 1);
2939 }
2940
2941 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2942 vpaddlq_u8 (uint8x16_t __a)
2943 {
2944   return (uint16x8_t)__builtin_neon_vpaddlv16qi ((int8x16_t) __a, 0);
2945 }
2946
2947 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2948 vpaddlq_u16 (uint16x8_t __a)
2949 {
2950   return (uint32x4_t)__builtin_neon_vpaddlv8hi ((int16x8_t) __a, 0);
2951 }
2952
2953 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
2954 vpaddlq_u32 (uint32x4_t __a)
2955 {
2956   return (uint64x2_t)__builtin_neon_vpaddlv4si ((int32x4_t) __a, 0);
2957 }
2958
2959 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2960 vpadal_s8 (int16x4_t __a, int8x8_t __b)
2961 {
2962   return (int16x4_t)__builtin_neon_vpadalv8qi (__a, __b, 1);
2963 }
2964
2965 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2966 vpadal_s16 (int32x2_t __a, int16x4_t __b)
2967 {
2968   return (int32x2_t)__builtin_neon_vpadalv4hi (__a, __b, 1);
2969 }
2970
2971 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
2972 vpadal_s32 (int64x1_t __a, int32x2_t __b)
2973 {
2974   return (int64x1_t)__builtin_neon_vpadalv2si (__a, __b, 1);
2975 }
2976
2977 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2978 vpadal_u8 (uint16x4_t __a, uint8x8_t __b)
2979 {
2980   return (uint16x4_t)__builtin_neon_vpadalv8qi ((int16x4_t) __a, (int8x8_t) __b, 0);
2981 }
2982
2983 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2984 vpadal_u16 (uint32x2_t __a, uint16x4_t __b)
2985 {
2986   return (uint32x2_t)__builtin_neon_vpadalv4hi ((int32x2_t) __a, (int16x4_t) __b, 0);
2987 }
2988
2989 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
2990 vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
2991 {
2992   return (uint64x1_t)__builtin_neon_vpadalv2si ((int64x1_t) __a, (int32x2_t) __b, 0);
2993 }
2994
2995 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2996 vpadalq_s8 (int16x8_t __a, int8x16_t __b)
2997 {
2998   return (int16x8_t)__builtin_neon_vpadalv16qi (__a, __b, 1);
2999 }
3000
3001 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3002 vpadalq_s16 (int32x4_t __a, int16x8_t __b)
3003 {
3004   return (int32x4_t)__builtin_neon_vpadalv8hi (__a, __b, 1);
3005 }
3006
3007 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3008 vpadalq_s32 (int64x2_t __a, int32x4_t __b)
3009 {
3010   return (int64x2_t)__builtin_neon_vpadalv4si (__a, __b, 1);
3011 }
3012
3013 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3014 vpadalq_u8 (uint16x8_t __a, uint8x16_t __b)
3015 {
3016   return (uint16x8_t)__builtin_neon_vpadalv16qi ((int16x8_t) __a, (int8x16_t) __b, 0);
3017 }
3018
3019 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3020 vpadalq_u16 (uint32x4_t __a, uint16x8_t __b)
3021 {
3022   return (uint32x4_t)__builtin_neon_vpadalv8hi ((int32x4_t) __a, (int16x8_t) __b, 0);
3023 }
3024
3025 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3026 vpadalq_u32 (uint64x2_t __a, uint32x4_t __b)
3027 {
3028   return (uint64x2_t)__builtin_neon_vpadalv4si ((int64x2_t) __a, (int32x4_t) __b, 0);
3029 }
3030
3031 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3032 vpmax_s8 (int8x8_t __a, int8x8_t __b)
3033 {
3034   return (int8x8_t)__builtin_neon_vpmaxv8qi (__a, __b, 1);
3035 }
3036
3037 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3038 vpmax_s16 (int16x4_t __a, int16x4_t __b)
3039 {
3040   return (int16x4_t)__builtin_neon_vpmaxv4hi (__a, __b, 1);
3041 }
3042
3043 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3044 vpmax_s32 (int32x2_t __a, int32x2_t __b)
3045 {
3046   return (int32x2_t)__builtin_neon_vpmaxv2si (__a, __b, 1);
3047 }
3048
3049 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
3050 vpmax_f32 (float32x2_t __a, float32x2_t __b)
3051 {
3052   return (float32x2_t)__builtin_neon_vpmaxv2sf (__a, __b, 3);
3053 }
3054
3055 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3056 vpmax_u8 (uint8x8_t __a, uint8x8_t __b)
3057 {
3058   return (uint8x8_t)__builtin_neon_vpmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
3059 }
3060
3061 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3062 vpmax_u16 (uint16x4_t __a, uint16x4_t __b)
3063 {
3064   return (uint16x4_t)__builtin_neon_vpmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
3065 }
3066
3067 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3068 vpmax_u32 (uint32x2_t __a, uint32x2_t __b)
3069 {
3070   return (uint32x2_t)__builtin_neon_vpmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
3071 }
3072
3073 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3074 vpmin_s8 (int8x8_t __a, int8x8_t __b)
3075 {
3076   return (int8x8_t)__builtin_neon_vpminv8qi (__a, __b, 1);
3077 }
3078
3079 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3080 vpmin_s16 (int16x4_t __a, int16x4_t __b)
3081 {
3082   return (int16x4_t)__builtin_neon_vpminv4hi (__a, __b, 1);
3083 }
3084
3085 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3086 vpmin_s32 (int32x2_t __a, int32x2_t __b)
3087 {
3088   return (int32x2_t)__builtin_neon_vpminv2si (__a, __b, 1);
3089 }
3090
3091 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
3092 vpmin_f32 (float32x2_t __a, float32x2_t __b)
3093 {
3094   return (float32x2_t)__builtin_neon_vpminv2sf (__a, __b, 3);
3095 }
3096
3097 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3098 vpmin_u8 (uint8x8_t __a, uint8x8_t __b)
3099 {
3100   return (uint8x8_t)__builtin_neon_vpminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
3101 }
3102
3103 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3104 vpmin_u16 (uint16x4_t __a, uint16x4_t __b)
3105 {
3106   return (uint16x4_t)__builtin_neon_vpminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
3107 }
3108
3109 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3110 vpmin_u32 (uint32x2_t __a, uint32x2_t __b)
3111 {
3112   return (uint32x2_t)__builtin_neon_vpminv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
3113 }
3114
3115 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
3116 vrecps_f32 (float32x2_t __a, float32x2_t __b)
3117 {
3118   return (float32x2_t)__builtin_neon_vrecpsv2sf (__a, __b, 3);
3119 }
3120
3121 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
3122 vrecpsq_f32 (float32x4_t __a, float32x4_t __b)
3123 {
3124   return (float32x4_t)__builtin_neon_vrecpsv4sf (__a, __b, 3);
3125 }
3126
3127 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
3128 vrsqrts_f32 (float32x2_t __a, float32x2_t __b)
3129 {
3130   return (float32x2_t)__builtin_neon_vrsqrtsv2sf (__a, __b, 3);
3131 }
3132
3133 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
3134 vrsqrtsq_f32 (float32x4_t __a, float32x4_t __b)
3135 {
3136   return (float32x4_t)__builtin_neon_vrsqrtsv4sf (__a, __b, 3);
3137 }
3138
3139 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3140 vshl_s8 (int8x8_t __a, int8x8_t __b)
3141 {
3142   return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 1);
3143 }
3144
3145 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3146 vshl_s16 (int16x4_t __a, int16x4_t __b)
3147 {
3148   return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 1);
3149 }
3150
3151 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3152 vshl_s32 (int32x2_t __a, int32x2_t __b)
3153 {
3154   return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 1);
3155 }
3156
3157 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3158 vshl_s64 (int64x1_t __a, int64x1_t __b)
3159 {
3160   return (int64x1_t)__builtin_neon_vshldi (__a, __b, 1);
3161 }
3162
3163 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3164 vshl_u8 (uint8x8_t __a, int8x8_t __b)
3165 {
3166   return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 0);
3167 }
3168
3169 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3170 vshl_u16 (uint16x4_t __a, int16x4_t __b)
3171 {
3172   return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 0);
3173 }
3174
3175 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3176 vshl_u32 (uint32x2_t __a, int32x2_t __b)
3177 {
3178   return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 0);
3179 }
3180
3181 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3182 vshl_u64 (uint64x1_t __a, int64x1_t __b)
3183 {
3184   return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 0);
3185 }
3186
3187 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3188 vshlq_s8 (int8x16_t __a, int8x16_t __b)
3189 {
3190   return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 1);
3191 }
3192
3193 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3194 vshlq_s16 (int16x8_t __a, int16x8_t __b)
3195 {
3196   return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 1);
3197 }
3198
3199 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3200 vshlq_s32 (int32x4_t __a, int32x4_t __b)
3201 {
3202   return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 1);
3203 }
3204
3205 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3206 vshlq_s64 (int64x2_t __a, int64x2_t __b)
3207 {
3208   return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 1);
3209 }
3210
3211 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3212 vshlq_u8 (uint8x16_t __a, int8x16_t __b)
3213 {
3214   return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 0);
3215 }
3216
3217 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3218 vshlq_u16 (uint16x8_t __a, int16x8_t __b)
3219 {
3220   return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 0);
3221 }
3222
3223 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3224 vshlq_u32 (uint32x4_t __a, int32x4_t __b)
3225 {
3226   return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 0);
3227 }
3228
3229 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3230 vshlq_u64 (uint64x2_t __a, int64x2_t __b)
3231 {
3232   return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 0);
3233 }
3234
3235 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3236 vrshl_s8 (int8x8_t __a, int8x8_t __b)
3237 {
3238   return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 5);
3239 }
3240
3241 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3242 vrshl_s16 (int16x4_t __a, int16x4_t __b)
3243 {
3244   return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 5);
3245 }
3246
3247 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3248 vrshl_s32 (int32x2_t __a, int32x2_t __b)
3249 {
3250   return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 5);
3251 }
3252
3253 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3254 vrshl_s64 (int64x1_t __a, int64x1_t __b)
3255 {
3256   return (int64x1_t)__builtin_neon_vshldi (__a, __b, 5);
3257 }
3258
3259 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3260 vrshl_u8 (uint8x8_t __a, int8x8_t __b)
3261 {
3262   return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 4);
3263 }
3264
3265 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3266 vrshl_u16 (uint16x4_t __a, int16x4_t __b)
3267 {
3268   return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 4);
3269 }
3270
3271 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3272 vrshl_u32 (uint32x2_t __a, int32x2_t __b)
3273 {
3274   return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 4);
3275 }
3276
3277 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3278 vrshl_u64 (uint64x1_t __a, int64x1_t __b)
3279 {
3280   return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 4);
3281 }
3282
3283 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3284 vrshlq_s8 (int8x16_t __a, int8x16_t __b)
3285 {
3286   return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 5);
3287 }
3288
3289 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3290 vrshlq_s16 (int16x8_t __a, int16x8_t __b)
3291 {
3292   return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 5);
3293 }
3294
3295 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3296 vrshlq_s32 (int32x4_t __a, int32x4_t __b)
3297 {
3298   return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 5);
3299 }
3300
3301 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3302 vrshlq_s64 (int64x2_t __a, int64x2_t __b)
3303 {
3304   return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 5);
3305 }
3306
3307 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3308 vrshlq_u8 (uint8x16_t __a, int8x16_t __b)
3309 {
3310   return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 4);
3311 }
3312
3313 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3314 vrshlq_u16 (uint16x8_t __a, int16x8_t __b)
3315 {
3316   return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 4);
3317 }
3318
3319 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3320 vrshlq_u32 (uint32x4_t __a, int32x4_t __b)
3321 {
3322   return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 4);
3323 }
3324
3325 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3326 vrshlq_u64 (uint64x2_t __a, int64x2_t __b)
3327 {
3328   return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 4);
3329 }
3330
3331 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3332 vqshl_s8 (int8x8_t __a, int8x8_t __b)
3333 {
3334   return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 1);
3335 }
3336
3337 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3338 vqshl_s16 (int16x4_t __a, int16x4_t __b)
3339 {
3340   return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 1);
3341 }
3342
3343 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3344 vqshl_s32 (int32x2_t __a, int32x2_t __b)
3345 {
3346   return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 1);
3347 }
3348
3349 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3350 vqshl_s64 (int64x1_t __a, int64x1_t __b)
3351 {
3352   return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 1);
3353 }
3354
3355 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3356 vqshl_u8 (uint8x8_t __a, int8x8_t __b)
3357 {
3358   return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 0);
3359 }
3360
3361 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3362 vqshl_u16 (uint16x4_t __a, int16x4_t __b)
3363 {
3364   return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 0);
3365 }
3366
3367 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3368 vqshl_u32 (uint32x2_t __a, int32x2_t __b)
3369 {
3370   return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 0);
3371 }
3372
3373 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3374 vqshl_u64 (uint64x1_t __a, int64x1_t __b)
3375 {
3376   return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 0);
3377 }
3378
3379 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3380 vqshlq_s8 (int8x16_t __a, int8x16_t __b)
3381 {
3382   return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 1);
3383 }
3384
3385 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3386 vqshlq_s16 (int16x8_t __a, int16x8_t __b)
3387 {
3388   return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 1);
3389 }
3390
3391 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3392 vqshlq_s32 (int32x4_t __a, int32x4_t __b)
3393 {
3394   return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 1);
3395 }
3396
3397 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3398 vqshlq_s64 (int64x2_t __a, int64x2_t __b)
3399 {
3400   return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 1);
3401 }
3402
3403 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3404 vqshlq_u8 (uint8x16_t __a, int8x16_t __b)
3405 {
3406   return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 0);
3407 }
3408
3409 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3410 vqshlq_u16 (uint16x8_t __a, int16x8_t __b)
3411 {
3412   return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 0);
3413 }
3414
3415 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3416 vqshlq_u32 (uint32x4_t __a, int32x4_t __b)
3417 {
3418   return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 0);
3419 }
3420
3421 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3422 vqshlq_u64 (uint64x2_t __a, int64x2_t __b)
3423 {
3424   return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 0);
3425 }
3426
3427 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3428 vqrshl_s8 (int8x8_t __a, int8x8_t __b)
3429 {
3430   return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 5);
3431 }
3432
3433 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3434 vqrshl_s16 (int16x4_t __a, int16x4_t __b)
3435 {
3436   return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 5);
3437 }
3438
3439 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3440 vqrshl_s32 (int32x2_t __a, int32x2_t __b)
3441 {
3442   return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 5);
3443 }
3444
3445 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3446 vqrshl_s64 (int64x1_t __a, int64x1_t __b)
3447 {
3448   return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 5);
3449 }
3450
3451 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3452 vqrshl_u8 (uint8x8_t __a, int8x8_t __b)
3453 {
3454   return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 4);
3455 }
3456
3457 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3458 vqrshl_u16 (uint16x4_t __a, int16x4_t __b)
3459 {
3460   return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 4);
3461 }
3462
3463 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3464 vqrshl_u32 (uint32x2_t __a, int32x2_t __b)
3465 {
3466   return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 4);
3467 }
3468
3469 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3470 vqrshl_u64 (uint64x1_t __a, int64x1_t __b)
3471 {
3472   return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 4);
3473 }
3474
3475 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3476 vqrshlq_s8 (int8x16_t __a, int8x16_t __b)
3477 {
3478   return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 5);
3479 }
3480
3481 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3482 vqrshlq_s16 (int16x8_t __a, int16x8_t __b)
3483 {
3484   return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 5);
3485 }
3486
3487 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3488 vqrshlq_s32 (int32x4_t __a, int32x4_t __b)
3489 {
3490   return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 5);
3491 }
3492
3493 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3494 vqrshlq_s64 (int64x2_t __a, int64x2_t __b)
3495 {
3496   return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 5);
3497 }
3498
3499 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3500 vqrshlq_u8 (uint8x16_t __a, int8x16_t __b)
3501 {
3502   return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 4);
3503 }
3504
3505 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3506 vqrshlq_u16 (uint16x8_t __a, int16x8_t __b)
3507 {
3508   return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 4);
3509 }
3510
3511 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3512 vqrshlq_u32 (uint32x4_t __a, int32x4_t __b)
3513 {
3514   return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 4);
3515 }
3516
3517 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3518 vqrshlq_u64 (uint64x2_t __a, int64x2_t __b)
3519 {
3520   return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 4);
3521 }
3522
3523 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3524 vshr_n_s8 (int8x8_t __a, const int __b)
3525 {
3526   return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 1);
3527 }
3528
3529 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3530 vshr_n_s16 (int16x4_t __a, const int __b)
3531 {
3532   return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 1);
3533 }
3534
3535 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3536 vshr_n_s32 (int32x2_t __a, const int __b)
3537 {
3538   return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 1);
3539 }
3540
3541 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3542 vshr_n_s64 (int64x1_t __a, const int __b)
3543 {
3544   return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 1);
3545 }
3546
3547 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3548 vshr_n_u8 (uint8x8_t __a, const int __b)
3549 {
3550   return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 0);
3551 }
3552
3553 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3554 vshr_n_u16 (uint16x4_t __a, const int __b)
3555 {
3556   return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 0);
3557 }
3558
3559 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3560 vshr_n_u32 (uint32x2_t __a, const int __b)
3561 {
3562   return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 0);
3563 }
3564
3565 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3566 vshr_n_u64 (uint64x1_t __a, const int __b)
3567 {
3568   return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 0);
3569 }
3570
3571 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3572 vshrq_n_s8 (int8x16_t __a, const int __b)
3573 {
3574   return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 1);
3575 }
3576
3577 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3578 vshrq_n_s16 (int16x8_t __a, const int __b)
3579 {
3580   return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 1);
3581 }
3582
3583 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3584 vshrq_n_s32 (int32x4_t __a, const int __b)
3585 {
3586   return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 1);
3587 }
3588
3589 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3590 vshrq_n_s64 (int64x2_t __a, const int __b)
3591 {
3592   return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 1);
3593 }
3594
3595 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3596 vshrq_n_u8 (uint8x16_t __a, const int __b)
3597 {
3598   return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 0);
3599 }
3600
3601 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3602 vshrq_n_u16 (uint16x8_t __a, const int __b)
3603 {
3604   return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 0);
3605 }
3606
3607 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3608 vshrq_n_u32 (uint32x4_t __a, const int __b)
3609 {
3610   return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 0);
3611 }
3612
3613 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3614 vshrq_n_u64 (uint64x2_t __a, const int __b)
3615 {
3616   return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 0);
3617 }
3618
3619 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3620 vrshr_n_s8 (int8x8_t __a, const int __b)
3621 {
3622   return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 5);
3623 }
3624
3625 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3626 vrshr_n_s16 (int16x4_t __a, const int __b)
3627 {
3628   return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 5);
3629 }
3630
3631 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3632 vrshr_n_s32 (int32x2_t __a, const int __b)
3633 {
3634   return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 5);
3635 }
3636
3637 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3638 vrshr_n_s64 (int64x1_t __a, const int __b)
3639 {
3640   return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 5);
3641 }
3642
3643 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3644 vrshr_n_u8 (uint8x8_t __a, const int __b)
3645 {
3646   return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 4);
3647 }
3648
3649 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3650 vrshr_n_u16 (uint16x4_t __a, const int __b)
3651 {
3652   return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 4);
3653 }
3654
3655 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3656 vrshr_n_u32 (uint32x2_t __a, const int __b)
3657 {
3658   return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 4);
3659 }
3660
3661 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3662 vrshr_n_u64 (uint64x1_t __a, const int __b)
3663 {
3664   return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 4);
3665 }
3666
3667 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3668 vrshrq_n_s8 (int8x16_t __a, const int __b)
3669 {
3670   return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 5);
3671 }
3672
3673 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3674 vrshrq_n_s16 (int16x8_t __a, const int __b)
3675 {
3676   return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 5);
3677 }
3678
3679 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3680 vrshrq_n_s32 (int32x4_t __a, const int __b)
3681 {
3682   return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 5);
3683 }
3684
3685 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3686 vrshrq_n_s64 (int64x2_t __a, const int __b)
3687 {
3688   return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 5);
3689 }
3690
3691 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3692 vrshrq_n_u8 (uint8x16_t __a, const int __b)
3693 {
3694   return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 4);
3695 }
3696
3697 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3698 vrshrq_n_u16 (uint16x8_t __a, const int __b)
3699 {
3700   return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 4);
3701 }
3702
3703 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3704 vrshrq_n_u32 (uint32x4_t __a, const int __b)
3705 {
3706   return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 4);
3707 }
3708
3709 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3710 vrshrq_n_u64 (uint64x2_t __a, const int __b)
3711 {
3712   return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 4);
3713 }
3714
3715 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3716 vshrn_n_s16 (int16x8_t __a, const int __b)
3717 {
3718   return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 1);
3719 }
3720
3721 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3722 vshrn_n_s32 (int32x4_t __a, const int __b)
3723 {
3724   return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 1);
3725 }
3726
3727 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3728 vshrn_n_s64 (int64x2_t __a, const int __b)
3729 {
3730   return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 1);
3731 }
3732
3733 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3734 vshrn_n_u16 (uint16x8_t __a, const int __b)
3735 {
3736   return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 0);
3737 }
3738
3739 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3740 vshrn_n_u32 (uint32x4_t __a, const int __b)
3741 {
3742   return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 0);
3743 }
3744
3745 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3746 vshrn_n_u64 (uint64x2_t __a, const int __b)
3747 {
3748   return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 0);
3749 }
3750
3751 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3752 vrshrn_n_s16 (int16x8_t __a, const int __b)
3753 {
3754   return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 5);
3755 }
3756
3757 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3758 vrshrn_n_s32 (int32x4_t __a, const int __b)
3759 {
3760   return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 5);
3761 }
3762
3763 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3764 vrshrn_n_s64 (int64x2_t __a, const int __b)
3765 {
3766   return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 5);
3767 }
3768
3769 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3770 vrshrn_n_u16 (uint16x8_t __a, const int __b)
3771 {
3772   return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 4);
3773 }
3774
3775 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3776 vrshrn_n_u32 (uint32x4_t __a, const int __b)
3777 {
3778   return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 4);
3779 }
3780
3781 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3782 vrshrn_n_u64 (uint64x2_t __a, const int __b)
3783 {
3784   return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 4);
3785 }
3786
3787 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3788 vqshrn_n_s16 (int16x8_t __a, const int __b)
3789 {
3790   return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 1);
3791 }
3792
3793 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3794 vqshrn_n_s32 (int32x4_t __a, const int __b)
3795 {
3796   return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 1);
3797 }
3798
3799 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3800 vqshrn_n_s64 (int64x2_t __a, const int __b)
3801 {
3802   return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 1);
3803 }
3804
3805 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3806 vqshrn_n_u16 (uint16x8_t __a, const int __b)
3807 {
3808   return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 0);
3809 }
3810
3811 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3812 vqshrn_n_u32 (uint32x4_t __a, const int __b)
3813 {
3814   return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 0);
3815 }
3816
3817 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3818 vqshrn_n_u64 (uint64x2_t __a, const int __b)
3819 {
3820   return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 0);
3821 }
3822
3823 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3824 vqrshrn_n_s16 (int16x8_t __a, const int __b)
3825 {
3826   return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 5);
3827 }
3828
3829 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3830 vqrshrn_n_s32 (int32x4_t __a, const int __b)
3831 {
3832   return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 5);
3833 }
3834
3835 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3836 vqrshrn_n_s64 (int64x2_t __a, const int __b)
3837 {
3838   return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 5);
3839 }
3840
3841 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3842 vqrshrn_n_u16 (uint16x8_t __a, const int __b)
3843 {
3844   return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 4);
3845 }
3846
3847 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3848 vqrshrn_n_u32 (uint32x4_t __a, const int __b)
3849 {
3850   return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 4);
3851 }
3852
3853 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3854 vqrshrn_n_u64 (uint64x2_t __a, const int __b)
3855 {
3856   return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 4);
3857 }
3858
3859 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3860 vqshrun_n_s16 (int16x8_t __a, const int __b)
3861 {
3862   return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 1);
3863 }
3864
3865 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3866 vqshrun_n_s32 (int32x4_t __a, const int __b)
3867 {
3868   return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 1);
3869 }
3870
3871 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3872 vqshrun_n_s64 (int64x2_t __a, const int __b)
3873 {
3874   return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 1);
3875 }
3876
3877 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3878 vqrshrun_n_s16 (int16x8_t __a, const int __b)
3879 {
3880   return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 5);
3881 }
3882
3883 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3884 vqrshrun_n_s32 (int32x4_t __a, const int __b)
3885 {
3886   return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 5);
3887 }
3888
3889 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3890 vqrshrun_n_s64 (int64x2_t __a, const int __b)
3891 {
3892   return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 5);
3893 }
3894
3895 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3896 vshl_n_s8 (int8x8_t __a, const int __b)
3897 {
3898   return (int8x8_t)__builtin_neon_vshl_nv8qi (__a, __b, 1);
3899 }
3900
3901 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3902 vshl_n_s16 (int16x4_t __a, const int __b)
3903 {
3904   return (int16x4_t)__builtin_neon_vshl_nv4hi (__a, __b, 1);
3905 }
3906
3907 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3908 vshl_n_s32 (int32x2_t __a, const int __b)
3909 {
3910   return (int32x2_t)__builtin_neon_vshl_nv2si (__a, __b, 1);
3911 }
3912
3913 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3914 vshl_n_s64 (int64x1_t __a, const int __b)
3915 {
3916   return (int64x1_t)__builtin_neon_vshl_ndi (__a, __b, 1);
3917 }
3918
3919 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3920 vshl_n_u8 (uint8x8_t __a, const int __b)
3921 {
3922   return (uint8x8_t)__builtin_neon_vshl_nv8qi ((int8x8_t) __a, __b, 0);
3923 }
3924
3925 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3926 vshl_n_u16 (uint16x4_t __a, const int __b)
3927 {
3928   return (uint16x4_t)__builtin_neon_vshl_nv4hi ((int16x4_t) __a, __b, 0);
3929 }
3930
3931 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3932 vshl_n_u32 (uint32x2_t __a, const int __b)
3933 {
3934   return (uint32x2_t)__builtin_neon_vshl_nv2si ((int32x2_t) __a, __b, 0);
3935 }
3936
3937 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3938 vshl_n_u64 (uint64x1_t __a, const int __b)
3939 {
3940   return (uint64x1_t)__builtin_neon_vshl_ndi ((int64x1_t) __a, __b, 0);
3941 }
3942
3943 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3944 vshlq_n_s8 (int8x16_t __a, const int __b)
3945 {
3946   return (int8x16_t)__builtin_neon_vshl_nv16qi (__a, __b, 1);
3947 }
3948
3949 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3950 vshlq_n_s16 (int16x8_t __a, const int __b)
3951 {
3952   return (int16x8_t)__builtin_neon_vshl_nv8hi (__a, __b, 1);
3953 }
3954
3955 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3956 vshlq_n_s32 (int32x4_t __a, const int __b)
3957 {
3958   return (int32x4_t)__builtin_neon_vshl_nv4si (__a, __b, 1);
3959 }
3960
3961 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3962 vshlq_n_s64 (int64x2_t __a, const int __b)
3963 {
3964   return (int64x2_t)__builtin_neon_vshl_nv2di (__a, __b, 1);
3965 }
3966
3967 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3968 vshlq_n_u8 (uint8x16_t __a, const int __b)
3969 {
3970   return (uint8x16_t)__builtin_neon_vshl_nv16qi ((int8x16_t) __a, __b, 0);
3971 }
3972
3973 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3974 vshlq_n_u16 (uint16x8_t __a, const int __b)
3975 {
3976   return (uint16x8_t)__builtin_neon_vshl_nv8hi ((int16x8_t) __a, __b, 0);
3977 }
3978
3979 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3980 vshlq_n_u32 (uint32x4_t __a, const int __b)
3981 {
3982   return (uint32x4_t)__builtin_neon_vshl_nv4si ((int32x4_t) __a, __b, 0);
3983 }
3984
3985 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3986 vshlq_n_u64 (uint64x2_t __a, const int __b)
3987 {
3988   return (uint64x2_t)__builtin_neon_vshl_nv2di ((int64x2_t) __a, __b, 0);
3989 }
3990
3991 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3992 vqshl_n_s8 (int8x8_t __a, const int __b)
3993 {
3994   return (int8x8_t)__builtin_neon_vqshl_nv8qi (__a, __b, 1);
3995 }
3996
3997 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3998 vqshl_n_s16 (int16x4_t __a, const int __b)
3999 {
4000   return (int16x4_t)__builtin_neon_vqshl_nv4hi (__a, __b, 1);
4001 }
4002
4003 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4004 vqshl_n_s32 (int32x2_t __a, const int __b)
4005 {
4006   return (int32x2_t)__builtin_neon_vqshl_nv2si (__a, __b, 1);
4007 }
4008
4009 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4010 vqshl_n_s64 (int64x1_t __a, const int __b)
4011 {
4012   return (int64x1_t)__builtin_neon_vqshl_ndi (__a, __b, 1);
4013 }
4014
4015 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4016 vqshl_n_u8 (uint8x8_t __a, const int __b)
4017 {
4018   return (uint8x8_t)__builtin_neon_vqshl_nv8qi ((int8x8_t) __a, __b, 0);
4019 }
4020
4021 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4022 vqshl_n_u16 (uint16x4_t __a, const int __b)
4023 {
4024   return (uint16x4_t)__builtin_neon_vqshl_nv4hi ((int16x4_t) __a, __b, 0);
4025 }
4026
4027 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4028 vqshl_n_u32 (uint32x2_t __a, const int __b)
4029 {
4030   return (uint32x2_t)__builtin_neon_vqshl_nv2si ((int32x2_t) __a, __b, 0);
4031 }
4032
4033 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4034 vqshl_n_u64 (uint64x1_t __a, const int __b)
4035 {
4036   return (uint64x1_t)__builtin_neon_vqshl_ndi ((int64x1_t) __a, __b, 0);
4037 }
4038
4039 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4040 vqshlq_n_s8 (int8x16_t __a, const int __b)
4041 {
4042   return (int8x16_t)__builtin_neon_vqshl_nv16qi (__a, __b, 1);
4043 }
4044
4045 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4046 vqshlq_n_s16 (int16x8_t __a, const int __b)
4047 {
4048   return (int16x8_t)__builtin_neon_vqshl_nv8hi (__a, __b, 1);
4049 }
4050
4051 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4052 vqshlq_n_s32 (int32x4_t __a, const int __b)
4053 {
4054   return (int32x4_t)__builtin_neon_vqshl_nv4si (__a, __b, 1);
4055 }
4056
4057 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4058 vqshlq_n_s64 (int64x2_t __a, const int __b)
4059 {
4060   return (int64x2_t)__builtin_neon_vqshl_nv2di (__a, __b, 1);
4061 }
4062
4063 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4064 vqshlq_n_u8 (uint8x16_t __a, const int __b)
4065 {
4066   return (uint8x16_t)__builtin_neon_vqshl_nv16qi ((int8x16_t) __a, __b, 0);
4067 }
4068
4069 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4070 vqshlq_n_u16 (uint16x8_t __a, const int __b)
4071 {
4072   return (uint16x8_t)__builtin_neon_vqshl_nv8hi ((int16x8_t) __a, __b, 0);
4073 }
4074
4075 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4076 vqshlq_n_u32 (uint32x4_t __a, const int __b)
4077 {
4078   return (uint32x4_t)__builtin_neon_vqshl_nv4si ((int32x4_t) __a, __b, 0);
4079 }
4080
4081 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4082 vqshlq_n_u64 (uint64x2_t __a, const int __b)
4083 {
4084   return (uint64x2_t)__builtin_neon_vqshl_nv2di ((int64x2_t) __a, __b, 0);
4085 }
4086
4087 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4088 vqshlu_n_s8 (int8x8_t __a, const int __b)
4089 {
4090   return (uint8x8_t)__builtin_neon_vqshlu_nv8qi (__a, __b, 1);
4091 }
4092
4093 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4094 vqshlu_n_s16 (int16x4_t __a, const int __b)
4095 {
4096   return (uint16x4_t)__builtin_neon_vqshlu_nv4hi (__a, __b, 1);
4097 }
4098
4099 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4100 vqshlu_n_s32 (int32x2_t __a, const int __b)
4101 {
4102   return (uint32x2_t)__builtin_neon_vqshlu_nv2si (__a, __b, 1);
4103 }
4104
4105 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4106 vqshlu_n_s64 (int64x1_t __a, const int __b)
4107 {
4108   return (uint64x1_t)__builtin_neon_vqshlu_ndi (__a, __b, 1);
4109 }
4110
4111 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4112 vqshluq_n_s8 (int8x16_t __a, const int __b)
4113 {
4114   return (uint8x16_t)__builtin_neon_vqshlu_nv16qi (__a, __b, 1);
4115 }
4116
4117 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4118 vqshluq_n_s16 (int16x8_t __a, const int __b)
4119 {
4120   return (uint16x8_t)__builtin_neon_vqshlu_nv8hi (__a, __b, 1);
4121 }
4122
4123 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4124 vqshluq_n_s32 (int32x4_t __a, const int __b)
4125 {
4126   return (uint32x4_t)__builtin_neon_vqshlu_nv4si (__a, __b, 1);
4127 }
4128
4129 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4130 vqshluq_n_s64 (int64x2_t __a, const int __b)
4131 {
4132   return (uint64x2_t)__builtin_neon_vqshlu_nv2di (__a, __b, 1);
4133 }
4134
4135 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4136 vshll_n_s8 (int8x8_t __a, const int __b)
4137 {
4138   return (int16x8_t)__builtin_neon_vshll_nv8qi (__a, __b, 1);
4139 }
4140
4141 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4142 vshll_n_s16 (int16x4_t __a, const int __b)
4143 {
4144   return (int32x4_t)__builtin_neon_vshll_nv4hi (__a, __b, 1);
4145 }
4146
4147 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4148 vshll_n_s32 (int32x2_t __a, const int __b)
4149 {
4150   return (int64x2_t)__builtin_neon_vshll_nv2si (__a, __b, 1);
4151 }
4152
4153 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4154 vshll_n_u8 (uint8x8_t __a, const int __b)
4155 {
4156   return (uint16x8_t)__builtin_neon_vshll_nv8qi ((int8x8_t) __a, __b, 0);
4157 }
4158
4159 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4160 vshll_n_u16 (uint16x4_t __a, const int __b)
4161 {
4162   return (uint32x4_t)__builtin_neon_vshll_nv4hi ((int16x4_t) __a, __b, 0);
4163 }
4164
4165 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4166 vshll_n_u32 (uint32x2_t __a, const int __b)
4167 {
4168   return (uint64x2_t)__builtin_neon_vshll_nv2si ((int32x2_t) __a, __b, 0);
4169 }
4170
4171 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4172 vsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4173 {
4174   return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 1);
4175 }
4176
4177 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4178 vsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4179 {
4180   return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 1);
4181 }
4182
4183 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4184 vsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4185 {
4186   return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 1);
4187 }
4188
4189 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4190 vsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4191 {
4192   return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 1);
4193 }
4194
4195 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4196 vsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4197 {
4198   return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 0);
4199 }
4200
4201 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4202 vsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4203 {
4204   return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
4205 }
4206
4207 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4208 vsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4209 {
4210   return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
4211 }
4212
4213 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4214 vsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4215 {
4216   return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 0);
4217 }
4218
4219 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4220 vsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4221 {
4222   return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 1);
4223 }
4224
4225 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4226 vsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4227 {
4228   return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 1);
4229 }
4230
4231 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4232 vsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4233 {
4234   return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 1);
4235 }
4236
4237 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4238 vsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4239 {
4240   return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 1);
4241 }
4242
4243 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4244 vsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4245 {
4246   return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 0);
4247 }
4248
4249 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4250 vsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4251 {
4252   return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 0);
4253 }
4254
4255 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4256 vsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4257 {
4258   return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 0);
4259 }
4260
4261 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4262 vsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4263 {
4264   return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 0);
4265 }
4266
4267 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4268 vrsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4269 {
4270   return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 5);
4271 }
4272
4273 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4274 vrsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4275 {
4276   return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 5);
4277 }
4278
4279 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4280 vrsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4281 {
4282   return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 5);
4283 }
4284
4285 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4286 vrsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4287 {
4288   return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 5);
4289 }
4290
4291 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4292 vrsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4293 {
4294   return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 4);
4295 }
4296
4297 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4298 vrsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4299 {
4300   return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 4);
4301 }
4302
4303 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4304 vrsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4305 {
4306   return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 4);
4307 }
4308
4309 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4310 vrsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4311 {
4312   return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 4);
4313 }
4314
4315 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4316 vrsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4317 {
4318   return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 5);
4319 }
4320
4321 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4322 vrsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4323 {
4324   return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 5);
4325 }
4326
4327 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4328 vrsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4329 {
4330   return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 5);
4331 }
4332
4333 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4334 vrsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4335 {
4336   return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 5);
4337 }
4338
4339 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4340 vrsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4341 {
4342   return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 4);
4343 }
4344
4345 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4346 vrsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4347 {
4348   return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 4);
4349 }
4350
4351 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4352 vrsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4353 {
4354   return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 4);
4355 }
4356
4357 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4358 vrsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4359 {
4360   return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 4);
4361 }
4362
4363 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4364 vsri_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4365 {
4366   return (int8x8_t)__builtin_neon_vsri_nv8qi (__a, __b, __c);
4367 }
4368
4369 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4370 vsri_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4371 {
4372   return (int16x4_t)__builtin_neon_vsri_nv4hi (__a, __b, __c);
4373 }
4374
4375 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4376 vsri_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4377 {
4378   return (int32x2_t)__builtin_neon_vsri_nv2si (__a, __b, __c);
4379 }
4380
4381 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4382 vsri_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4383 {
4384   return (int64x1_t)__builtin_neon_vsri_ndi (__a, __b, __c);
4385 }
4386
4387 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4388 vsri_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4389 {
4390   return (uint8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4391 }
4392
4393 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4394 vsri_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4395 {
4396   return (uint16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4397 }
4398
4399 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4400 vsri_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4401 {
4402   return (uint32x2_t)__builtin_neon_vsri_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
4403 }
4404
4405 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4406 vsri_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4407 {
4408   return (uint64x1_t)__builtin_neon_vsri_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
4409 }
4410
4411 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
4412 vsri_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
4413 {
4414   return (poly8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4415 }
4416
4417 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
4418 vsri_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
4419 {
4420   return (poly16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4421 }
4422
4423 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4424 vsriq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4425 {
4426   return (int8x16_t)__builtin_neon_vsri_nv16qi (__a, __b, __c);
4427 }
4428
4429 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4430 vsriq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4431 {
4432   return (int16x8_t)__builtin_neon_vsri_nv8hi (__a, __b, __c);
4433 }
4434
4435 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4436 vsriq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4437 {
4438   return (int32x4_t)__builtin_neon_vsri_nv4si (__a, __b, __c);
4439 }
4440
4441 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4442 vsriq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4443 {
4444   return (int64x2_t)__builtin_neon_vsri_nv2di (__a, __b, __c);
4445 }
4446
4447 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4448 vsriq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4449 {
4450   return (uint8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4451 }
4452
4453 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4454 vsriq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4455 {
4456   return (uint16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4457 }
4458
4459 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4460 vsriq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4461 {
4462   return (uint32x4_t)__builtin_neon_vsri_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
4463 }
4464
4465 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4466 vsriq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4467 {
4468   return (uint64x2_t)__builtin_neon_vsri_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4469 }
4470
4471 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
4472 vsriq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
4473 {
4474   return (poly8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4475 }
4476
4477 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
4478 vsriq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
4479 {
4480   return (poly16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4481 }
4482
4483 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4484 vsli_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4485 {
4486   return (int8x8_t)__builtin_neon_vsli_nv8qi (__a, __b, __c);
4487 }
4488
4489 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4490 vsli_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4491 {
4492   return (int16x4_t)__builtin_neon_vsli_nv4hi (__a, __b, __c);
4493 }
4494
4495 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4496 vsli_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4497 {
4498   return (int32x2_t)__builtin_neon_vsli_nv2si (__a, __b, __c);
4499 }
4500
4501 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4502 vsli_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4503 {
4504   return (int64x1_t)__builtin_neon_vsli_ndi (__a, __b, __c);
4505 }
4506
4507 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4508 vsli_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4509 {
4510   return (uint8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4511 }
4512
4513 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4514 vsli_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4515 {
4516   return (uint16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4517 }
4518
4519 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4520 vsli_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4521 {
4522   return (uint32x2_t)__builtin_neon_vsli_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
4523 }
4524
4525 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4526 vsli_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4527 {
4528   return (uint64x1_t)__builtin_neon_vsli_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
4529 }
4530
4531 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
4532 vsli_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
4533 {
4534   return (poly8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4535 }
4536
4537 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
4538 vsli_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
4539 {
4540   return (poly16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4541 }
4542
4543 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4544 vsliq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4545 {
4546   return (int8x16_t)__builtin_neon_vsli_nv16qi (__a, __b, __c);
4547 }
4548
4549 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4550 vsliq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4551 {
4552   return (int16x8_t)__builtin_neon_vsli_nv8hi (__a, __b, __c);
4553 }
4554
4555 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4556 vsliq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4557 {
4558   return (int32x4_t)__builtin_neon_vsli_nv4si (__a, __b, __c);
4559 }
4560
4561 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4562 vsliq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4563 {
4564   return (int64x2_t)__builtin_neon_vsli_nv2di (__a, __b, __c);
4565 }
4566
4567 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4568 vsliq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4569 {
4570   return (uint8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4571 }
4572
4573 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4574 vsliq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4575 {
4576   return (uint16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4577 }
4578
4579 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4580 vsliq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4581 {
4582   return (uint32x4_t)__builtin_neon_vsli_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
4583 }
4584
4585 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4586 vsliq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4587 {
4588   return (uint64x2_t)__builtin_neon_vsli_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4589 }
4590
4591 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
4592 vsliq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
4593 {
4594   return (poly8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4595 }
4596
4597 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
4598 vsliq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
4599 {
4600   return (poly16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4601 }
4602
4603 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4604 vabs_s8 (int8x8_t __a)
4605 {
4606   return (int8x8_t)__builtin_neon_vabsv8qi (__a, 1);
4607 }
4608
4609 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4610 vabs_s16 (int16x4_t __a)
4611 {
4612   return (int16x4_t)__builtin_neon_vabsv4hi (__a, 1);
4613 }
4614
4615 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4616 vabs_s32 (int32x2_t __a)
4617 {
4618   return (int32x2_t)__builtin_neon_vabsv2si (__a, 1);
4619 }
4620
4621 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
4622 vabs_f32 (float32x2_t __a)
4623 {
4624   return (float32x2_t)__builtin_neon_vabsv2sf (__a, 3);
4625 }
4626
4627 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4628 vabsq_s8 (int8x16_t __a)
4629 {
4630   return (int8x16_t)__builtin_neon_vabsv16qi (__a, 1);
4631 }
4632
4633 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4634 vabsq_s16 (int16x8_t __a)
4635 {
4636   return (int16x8_t)__builtin_neon_vabsv8hi (__a, 1);
4637 }
4638
4639 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4640 vabsq_s32 (int32x4_t __a)
4641 {
4642   return (int32x4_t)__builtin_neon_vabsv4si (__a, 1);
4643 }
4644
4645 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
4646 vabsq_f32 (float32x4_t __a)
4647 {
4648   return (float32x4_t)__builtin_neon_vabsv4sf (__a, 3);
4649 }
4650
4651 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4652 vqabs_s8 (int8x8_t __a)
4653 {
4654   return (int8x8_t)__builtin_neon_vqabsv8qi (__a, 1);
4655 }
4656
4657 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4658 vqabs_s16 (int16x4_t __a)
4659 {
4660   return (int16x4_t)__builtin_neon_vqabsv4hi (__a, 1);
4661 }
4662
4663 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4664 vqabs_s32 (int32x2_t __a)
4665 {
4666   return (int32x2_t)__builtin_neon_vqabsv2si (__a, 1);
4667 }
4668
4669 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4670 vqabsq_s8 (int8x16_t __a)
4671 {
4672   return (int8x16_t)__builtin_neon_vqabsv16qi (__a, 1);
4673 }
4674
4675 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4676 vqabsq_s16 (int16x8_t __a)
4677 {
4678   return (int16x8_t)__builtin_neon_vqabsv8hi (__a, 1);
4679 }
4680
4681 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4682 vqabsq_s32 (int32x4_t __a)
4683 {
4684   return (int32x4_t)__builtin_neon_vqabsv4si (__a, 1);
4685 }
4686
4687 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4688 vneg_s8 (int8x8_t __a)
4689 {
4690   return (int8x8_t)__builtin_neon_vnegv8qi (__a, 1);
4691 }
4692
4693 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4694 vneg_s16 (int16x4_t __a)
4695 {
4696   return (int16x4_t)__builtin_neon_vnegv4hi (__a, 1);
4697 }
4698
4699 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4700 vneg_s32 (int32x2_t __a)
4701 {
4702   return (int32x2_t)__builtin_neon_vnegv2si (__a, 1);
4703 }
4704
4705 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
4706 vneg_f32 (float32x2_t __a)
4707 {
4708   return (float32x2_t)__builtin_neon_vnegv2sf (__a, 3);
4709 }
4710
4711 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4712 vnegq_s8 (int8x16_t __a)
4713 {
4714   return (int8x16_t)__builtin_neon_vnegv16qi (__a, 1);
4715 }
4716
4717 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4718 vnegq_s16 (int16x8_t __a)
4719 {
4720   return (int16x8_t)__builtin_neon_vnegv8hi (__a, 1);
4721 }
4722
4723 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4724 vnegq_s32 (int32x4_t __a)
4725 {
4726   return (int32x4_t)__builtin_neon_vnegv4si (__a, 1);
4727 }
4728
4729 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
4730 vnegq_f32 (float32x4_t __a)
4731 {
4732   return (float32x4_t)__builtin_neon_vnegv4sf (__a, 3);
4733 }
4734
4735 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4736 vqneg_s8 (int8x8_t __a)
4737 {
4738   return (int8x8_t)__builtin_neon_vqnegv8qi (__a, 1);
4739 }
4740
4741 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4742 vqneg_s16 (int16x4_t __a)
4743 {
4744   return (int16x4_t)__builtin_neon_vqnegv4hi (__a, 1);
4745 }
4746
4747 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4748 vqneg_s32 (int32x2_t __a)
4749 {
4750   return (int32x2_t)__builtin_neon_vqnegv2si (__a, 1);
4751 }
4752
4753 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4754 vqnegq_s8 (int8x16_t __a)
4755 {
4756   return (int8x16_t)__builtin_neon_vqnegv16qi (__a, 1);
4757 }
4758
4759 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4760 vqnegq_s16 (int16x8_t __a)
4761 {
4762   return (int16x8_t)__builtin_neon_vqnegv8hi (__a, 1);
4763 }
4764
4765 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4766 vqnegq_s32 (int32x4_t __a)
4767 {
4768   return (int32x4_t)__builtin_neon_vqnegv4si (__a, 1);
4769 }
4770
4771 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4772 vmvn_s8 (int8x8_t __a)
4773 {
4774   return (int8x8_t)__builtin_neon_vmvnv8qi (__a, 1);
4775 }
4776
4777 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4778 vmvn_s16 (int16x4_t __a)
4779 {
4780   return (int16x4_t)__builtin_neon_vmvnv4hi (__a, 1);
4781 }
4782
4783 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4784 vmvn_s32 (int32x2_t __a)
4785 {
4786   return (int32x2_t)__builtin_neon_vmvnv2si (__a, 1);
4787 }
4788
4789 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4790 vmvn_u8 (uint8x8_t __a)
4791 {
4792   return (uint8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 0);
4793 }
4794
4795 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4796 vmvn_u16 (uint16x4_t __a)
4797 {
4798   return (uint16x4_t)__builtin_neon_vmvnv4hi ((int16x4_t) __a, 0);
4799 }
4800
4801 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4802 vmvn_u32 (uint32x2_t __a)
4803 {
4804   return (uint32x2_t)__builtin_neon_vmvnv2si ((int32x2_t) __a, 0);
4805 }
4806
4807 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
4808 vmvn_p8 (poly8x8_t __a)
4809 {
4810   return (poly8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 2);
4811 }
4812
4813 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4814 vmvnq_s8 (int8x16_t __a)
4815 {
4816   return (int8x16_t)__builtin_neon_vmvnv16qi (__a, 1);
4817 }
4818
4819 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4820 vmvnq_s16 (int16x8_t __a)
4821 {
4822   return (int16x8_t)__builtin_neon_vmvnv8hi (__a, 1);
4823 }
4824
4825 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4826 vmvnq_s32 (int32x4_t __a)
4827 {
4828   return (int32x4_t)__builtin_neon_vmvnv4si (__a, 1);
4829 }
4830
4831 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4832 vmvnq_u8 (uint8x16_t __a)
4833 {
4834   return (uint8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 0);
4835 }
4836
4837 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4838 vmvnq_u16 (uint16x8_t __a)
4839 {
4840   return (uint16x8_t)__builtin_neon_vmvnv8hi ((int16x8_t) __a, 0);
4841 }
4842
4843 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4844 vmvnq_u32 (uint32x4_t __a)
4845 {
4846   return (uint32x4_t)__builtin_neon_vmvnv4si ((int32x4_t) __a, 0);
4847 }
4848
4849 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
4850 vmvnq_p8 (poly8x16_t __a)
4851 {
4852   return (poly8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 2);
4853 }
4854
4855 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4856 vcls_s8 (int8x8_t __a)
4857 {
4858   return (int8x8_t)__builtin_neon_vclsv8qi (__a, 1);
4859 }
4860
4861 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4862 vcls_s16 (int16x4_t __a)
4863 {
4864   return (int16x4_t)__builtin_neon_vclsv4hi (__a, 1);
4865 }
4866
4867 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4868 vcls_s32 (int32x2_t __a)
4869 {
4870   return (int32x2_t)__builtin_neon_vclsv2si (__a, 1);
4871 }
4872
4873 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4874 vclsq_s8 (int8x16_t __a)
4875 {
4876   return (int8x16_t)__builtin_neon_vclsv16qi (__a, 1);
4877 }
4878
4879 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4880 vclsq_s16 (int16x8_t __a)
4881 {
4882   return (int16x8_t)__builtin_neon_vclsv8hi (__a, 1);
4883 }
4884
4885 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4886 vclsq_s32 (int32x4_t __a)
4887 {
4888   return (int32x4_t)__builtin_neon_vclsv4si (__a, 1);
4889 }
4890
4891 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4892 vclz_s8 (int8x8_t __a)
4893 {
4894   return (int8x8_t)__builtin_neon_vclzv8qi (__a, 1);
4895 }
4896
4897 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4898 vclz_s16 (int16x4_t __a)
4899 {
4900   return (int16x4_t)__builtin_neon_vclzv4hi (__a, 1);
4901 }
4902
4903 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4904 vclz_s32 (int32x2_t __a)
4905 {
4906   return (int32x2_t)__builtin_neon_vclzv2si (__a, 1);
4907 }
4908
4909 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4910 vclz_u8 (uint8x8_t __a)
4911 {
4912   return (uint8x8_t)__builtin_neon_vclzv8qi ((int8x8_t) __a, 0);
4913 }
4914
4915 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4916 vclz_u16 (uint16x4_t __a)
4917 {
4918   return (uint16x4_t)__builtin_neon_vclzv4hi ((int16x4_t) __a, 0);
4919 }
4920
4921 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4922 vclz_u32 (uint32x2_t __a)
4923 {
4924   return (uint32x2_t)__builtin_neon_vclzv2si ((int32x2_t) __a, 0);
4925 }
4926
4927 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4928 vclzq_s8 (int8x16_t __a)
4929 {
4930   return (int8x16_t)__builtin_neon_vclzv16qi (__a, 1);
4931 }
4932
4933 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4934 vclzq_s16 (int16x8_t __a)
4935 {
4936   return (int16x8_t)__builtin_neon_vclzv8hi (__a, 1);
4937 }
4938
4939 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4940 vclzq_s32 (int32x4_t __a)
4941 {
4942   return (int32x4_t)__builtin_neon_vclzv4si (__a, 1);
4943 }
4944
4945 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4946 vclzq_u8 (uint8x16_t __a)
4947 {
4948   return (uint8x16_t)__builtin_neon_vclzv16qi ((int8x16_t) __a, 0);
4949 }
4950
4951 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4952 vclzq_u16 (uint16x8_t __a)
4953 {
4954   return (uint16x8_t)__builtin_neon_vclzv8hi ((int16x8_t) __a, 0);
4955 }
4956
4957 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4958 vclzq_u32 (uint32x4_t __a)
4959 {
4960   return (uint32x4_t)__builtin_neon_vclzv4si ((int32x4_t) __a, 0);
4961 }
4962
4963 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4964 vcnt_s8 (int8x8_t __a)
4965 {
4966   return (int8x8_t)__builtin_neon_vcntv8qi (__a, 1);
4967 }
4968
4969 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4970 vcnt_u8 (uint8x8_t __a)
4971 {
4972   return (uint8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 0);
4973 }
4974
4975 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
4976 vcnt_p8 (poly8x8_t __a)
4977 {
4978   return (poly8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 2);
4979 }
4980
4981 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4982 vcntq_s8 (int8x16_t __a)
4983 {
4984   return (int8x16_t)__builtin_neon_vcntv16qi (__a, 1);
4985 }
4986
4987 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4988 vcntq_u8 (uint8x16_t __a)
4989 {
4990   return (uint8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 0);
4991 }
4992
4993 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
4994 vcntq_p8 (poly8x16_t __a)
4995 {
4996   return (poly8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 2);
4997 }
4998
4999 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5000 vrecpe_f32 (float32x2_t __a)
5001 {
5002   return (float32x2_t)__builtin_neon_vrecpev2sf (__a, 3);
5003 }
5004
5005 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5006 vrecpe_u32 (uint32x2_t __a)
5007 {
5008   return (uint32x2_t)__builtin_neon_vrecpev2si ((int32x2_t) __a, 0);
5009 }
5010
5011 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5012 vrecpeq_f32 (float32x4_t __a)
5013 {
5014   return (float32x4_t)__builtin_neon_vrecpev4sf (__a, 3);
5015 }
5016
5017 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5018 vrecpeq_u32 (uint32x4_t __a)
5019 {
5020   return (uint32x4_t)__builtin_neon_vrecpev4si ((int32x4_t) __a, 0);
5021 }
5022
5023 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5024 vrsqrte_f32 (float32x2_t __a)
5025 {
5026   return (float32x2_t)__builtin_neon_vrsqrtev2sf (__a, 3);
5027 }
5028
5029 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5030 vrsqrte_u32 (uint32x2_t __a)
5031 {
5032   return (uint32x2_t)__builtin_neon_vrsqrtev2si ((int32x2_t) __a, 0);
5033 }
5034
5035 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5036 vrsqrteq_f32 (float32x4_t __a)
5037 {
5038   return (float32x4_t)__builtin_neon_vrsqrtev4sf (__a, 3);
5039 }
5040
5041 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5042 vrsqrteq_u32 (uint32x4_t __a)
5043 {
5044   return (uint32x4_t)__builtin_neon_vrsqrtev4si ((int32x4_t) __a, 0);
5045 }
5046
5047 __extension__ static __inline int8_t __attribute__ ((__always_inline__))
5048 vget_lane_s8 (int8x8_t __a, const int __b)
5049 {
5050   return (int8_t)__builtin_neon_vget_lanev8qi (__a, __b, 1);
5051 }
5052
5053 __extension__ static __inline int16_t __attribute__ ((__always_inline__))
5054 vget_lane_s16 (int16x4_t __a, const int __b)
5055 {
5056   return (int16_t)__builtin_neon_vget_lanev4hi (__a, __b, 1);
5057 }
5058
5059 __extension__ static __inline int32_t __attribute__ ((__always_inline__))
5060 vget_lane_s32 (int32x2_t __a, const int __b)
5061 {
5062   return (int32_t)__builtin_neon_vget_lanev2si (__a, __b, 1);
5063 }
5064
5065 __extension__ static __inline float32_t __attribute__ ((__always_inline__))
5066 vget_lane_f32 (float32x2_t __a, const int __b)
5067 {
5068   return (float32_t)__builtin_neon_vget_lanev2sf (__a, __b, 3);
5069 }
5070
5071 __extension__ static __inline uint8_t __attribute__ ((__always_inline__))
5072 vget_lane_u8 (uint8x8_t __a, const int __b)
5073 {
5074   return (uint8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 0);
5075 }
5076
5077 __extension__ static __inline uint16_t __attribute__ ((__always_inline__))
5078 vget_lane_u16 (uint16x4_t __a, const int __b)
5079 {
5080   return (uint16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 0);
5081 }
5082
5083 __extension__ static __inline uint32_t __attribute__ ((__always_inline__))
5084 vget_lane_u32 (uint32x2_t __a, const int __b)
5085 {
5086   return (uint32_t)__builtin_neon_vget_lanev2si ((int32x2_t) __a, __b, 0);
5087 }
5088
5089 __extension__ static __inline poly8_t __attribute__ ((__always_inline__))
5090 vget_lane_p8 (poly8x8_t __a, const int __b)
5091 {
5092   return (poly8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 2);
5093 }
5094
5095 __extension__ static __inline poly16_t __attribute__ ((__always_inline__))
5096 vget_lane_p16 (poly16x4_t __a, const int __b)
5097 {
5098   return (poly16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 2);
5099 }
5100
5101 __extension__ static __inline int64_t __attribute__ ((__always_inline__))
5102 vget_lane_s64 (int64x1_t __a, const int __b)
5103 {
5104   return (int64_t)__builtin_neon_vget_lanedi (__a, __b, 1);
5105 }
5106
5107 __extension__ static __inline uint64_t __attribute__ ((__always_inline__))
5108 vget_lane_u64 (uint64x1_t __a, const int __b)
5109 {
5110   return (uint64_t)__builtin_neon_vget_lanedi ((int64x1_t) __a, __b, 0);
5111 }
5112
5113 __extension__ static __inline int8_t __attribute__ ((__always_inline__))
5114 vgetq_lane_s8 (int8x16_t __a, const int __b)
5115 {
5116   return (int8_t)__builtin_neon_vget_lanev16qi (__a, __b, 1);
5117 }
5118
5119 __extension__ static __inline int16_t __attribute__ ((__always_inline__))
5120 vgetq_lane_s16 (int16x8_t __a, const int __b)
5121 {
5122   return (int16_t)__builtin_neon_vget_lanev8hi (__a, __b, 1);
5123 }
5124
5125 __extension__ static __inline int32_t __attribute__ ((__always_inline__))
5126 vgetq_lane_s32 (int32x4_t __a, const int __b)
5127 {
5128   return (int32_t)__builtin_neon_vget_lanev4si (__a, __b, 1);
5129 }
5130
5131 __extension__ static __inline float32_t __attribute__ ((__always_inline__))
5132 vgetq_lane_f32 (float32x4_t __a, const int __b)
5133 {
5134   return (float32_t)__builtin_neon_vget_lanev4sf (__a, __b, 3);
5135 }
5136
5137 __extension__ static __inline uint8_t __attribute__ ((__always_inline__))
5138 vgetq_lane_u8 (uint8x16_t __a, const int __b)
5139 {
5140   return (uint8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 0);
5141 }
5142
5143 __extension__ static __inline uint16_t __attribute__ ((__always_inline__))
5144 vgetq_lane_u16 (uint16x8_t __a, const int __b)
5145 {
5146   return (uint16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 0);
5147 }
5148
5149 __extension__ static __inline uint32_t __attribute__ ((__always_inline__))
5150 vgetq_lane_u32 (uint32x4_t __a, const int __b)
5151 {
5152   return (uint32_t)__builtin_neon_vget_lanev4si ((int32x4_t) __a, __b, 0);
5153 }
5154
5155 __extension__ static __inline poly8_t __attribute__ ((__always_inline__))
5156 vgetq_lane_p8 (poly8x16_t __a, const int __b)
5157 {
5158   return (poly8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 2);
5159 }
5160
5161 __extension__ static __inline poly16_t __attribute__ ((__always_inline__))
5162 vgetq_lane_p16 (poly16x8_t __a, const int __b)
5163 {
5164   return (poly16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 2);
5165 }
5166
5167 __extension__ static __inline int64_t __attribute__ ((__always_inline__))
5168 vgetq_lane_s64 (int64x2_t __a, const int __b)
5169 {
5170   return (int64_t)__builtin_neon_vget_lanev2di (__a, __b, 1);
5171 }
5172
5173 __extension__ static __inline uint64_t __attribute__ ((__always_inline__))
5174 vgetq_lane_u64 (uint64x2_t __a, const int __b)
5175 {
5176   return (uint64_t)__builtin_neon_vget_lanev2di ((int64x2_t) __a, __b, 0);
5177 }
5178
5179 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5180 vset_lane_s8 (int8_t __a, int8x8_t __b, const int __c)
5181 {
5182   return (int8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, __b, __c);
5183 }
5184
5185 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5186 vset_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
5187 {
5188   return (int16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, __b, __c);
5189 }
5190
5191 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5192 vset_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
5193 {
5194   return (int32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, __b, __c);
5195 }
5196
5197 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5198 vset_lane_f32 (float32_t __a, float32x2_t __b, const int __c)
5199 {
5200   return (float32x2_t)__builtin_neon_vset_lanev2sf ((__builtin_neon_sf) __a, __b, __c);
5201 }
5202
5203 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5204 vset_lane_u8 (uint8_t __a, uint8x8_t __b, const int __c)
5205 {
5206   return (uint8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
5207 }
5208
5209 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5210 vset_lane_u16 (uint16_t __a, uint16x4_t __b, const int __c)
5211 {
5212   return (uint16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
5213 }
5214
5215 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5216 vset_lane_u32 (uint32_t __a, uint32x2_t __b, const int __c)
5217 {
5218   return (uint32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, (int32x2_t) __b, __c);
5219 }
5220
5221 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5222 vset_lane_p8 (poly8_t __a, poly8x8_t __b, const int __c)
5223 {
5224   return (poly8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
5225 }
5226
5227 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5228 vset_lane_p16 (poly16_t __a, poly16x4_t __b, const int __c)
5229 {
5230   return (poly16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
5231 }
5232
5233 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5234 vset_lane_s64 (int64_t __a, int64x1_t __b, const int __c)
5235 {
5236   return (int64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, __b, __c);
5237 }
5238
5239 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5240 vset_lane_u64 (uint64_t __a, uint64x1_t __b, const int __c)
5241 {
5242   return (uint64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, (int64x1_t) __b, __c);
5243 }
5244
5245 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5246 vsetq_lane_s8 (int8_t __a, int8x16_t __b, const int __c)
5247 {
5248   return (int8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, __b, __c);
5249 }
5250
5251 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5252 vsetq_lane_s16 (int16_t __a, int16x8_t __b, const int __c)
5253 {
5254   return (int16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, __b, __c);
5255 }
5256
5257 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5258 vsetq_lane_s32 (int32_t __a, int32x4_t __b, const int __c)
5259 {
5260   return (int32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, __b, __c);
5261 }
5262
5263 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5264 vsetq_lane_f32 (float32_t __a, float32x4_t __b, const int __c)
5265 {
5266   return (float32x4_t)__builtin_neon_vset_lanev4sf ((__builtin_neon_sf) __a, __b, __c);
5267 }
5268
5269 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5270 vsetq_lane_u8 (uint8_t __a, uint8x16_t __b, const int __c)
5271 {
5272   return (uint8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
5273 }
5274
5275 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5276 vsetq_lane_u16 (uint16_t __a, uint16x8_t __b, const int __c)
5277 {
5278   return (uint16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
5279 }
5280
5281 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5282 vsetq_lane_u32 (uint32_t __a, uint32x4_t __b, const int __c)
5283 {
5284   return (uint32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, (int32x4_t) __b, __c);
5285 }
5286
5287 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5288 vsetq_lane_p8 (poly8_t __a, poly8x16_t __b, const int __c)
5289 {
5290   return (poly8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
5291 }
5292
5293 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5294 vsetq_lane_p16 (poly16_t __a, poly16x8_t __b, const int __c)
5295 {
5296   return (poly16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
5297 }
5298
5299 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5300 vsetq_lane_s64 (int64_t __a, int64x2_t __b, const int __c)
5301 {
5302   return (int64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, __b, __c);
5303 }
5304
5305 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5306 vsetq_lane_u64 (uint64_t __a, uint64x2_t __b, const int __c)
5307 {
5308   return (uint64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, (int64x2_t) __b, __c);
5309 }
5310
5311 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5312 vcreate_s8 (uint64_t __a)
5313 {
5314   return (int8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5315 }
5316
5317 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5318 vcreate_s16 (uint64_t __a)
5319 {
5320   return (int16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5321 }
5322
5323 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5324 vcreate_s32 (uint64_t __a)
5325 {
5326   return (int32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
5327 }
5328
5329 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5330 vcreate_s64 (uint64_t __a)
5331 {
5332   return (int64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
5333 }
5334
5335 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5336 vcreate_f32 (uint64_t __a)
5337 {
5338   return (float32x2_t)__builtin_neon_vcreatev2sf ((__builtin_neon_di) __a);
5339 }
5340
5341 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5342 vcreate_u8 (uint64_t __a)
5343 {
5344   return (uint8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5345 }
5346
5347 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5348 vcreate_u16 (uint64_t __a)
5349 {
5350   return (uint16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5351 }
5352
5353 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5354 vcreate_u32 (uint64_t __a)
5355 {
5356   return (uint32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
5357 }
5358
5359 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5360 vcreate_u64 (uint64_t __a)
5361 {
5362   return (uint64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
5363 }
5364
5365 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5366 vcreate_p8 (uint64_t __a)
5367 {
5368   return (poly8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5369 }
5370
5371 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5372 vcreate_p16 (uint64_t __a)
5373 {
5374   return (poly16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5375 }
5376
5377 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5378 vdup_n_s8 (int8_t __a)
5379 {
5380   return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5381 }
5382
5383 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5384 vdup_n_s16 (int16_t __a)
5385 {
5386   return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5387 }
5388
5389 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5390 vdup_n_s32 (int32_t __a)
5391 {
5392   return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5393 }
5394
5395 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5396 vdup_n_f32 (float32_t __a)
5397 {
5398   return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
5399 }
5400
5401 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5402 vdup_n_u8 (uint8_t __a)
5403 {
5404   return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5405 }
5406
5407 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5408 vdup_n_u16 (uint16_t __a)
5409 {
5410   return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5411 }
5412
5413 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5414 vdup_n_u32 (uint32_t __a)
5415 {
5416   return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5417 }
5418
5419 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5420 vdup_n_p8 (poly8_t __a)
5421 {
5422   return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5423 }
5424
5425 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5426 vdup_n_p16 (poly16_t __a)
5427 {
5428   return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5429 }
5430
5431 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5432 vdup_n_s64 (int64_t __a)
5433 {
5434   return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5435 }
5436
5437 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5438 vdup_n_u64 (uint64_t __a)
5439 {
5440   return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5441 }
5442
5443 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5444 vdupq_n_s8 (int8_t __a)
5445 {
5446   return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5447 }
5448
5449 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5450 vdupq_n_s16 (int16_t __a)
5451 {
5452   return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5453 }
5454
5455 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5456 vdupq_n_s32 (int32_t __a)
5457 {
5458   return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5459 }
5460
5461 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5462 vdupq_n_f32 (float32_t __a)
5463 {
5464   return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
5465 }
5466
5467 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5468 vdupq_n_u8 (uint8_t __a)
5469 {
5470   return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5471 }
5472
5473 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5474 vdupq_n_u16 (uint16_t __a)
5475 {
5476   return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5477 }
5478
5479 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5480 vdupq_n_u32 (uint32_t __a)
5481 {
5482   return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5483 }
5484
5485 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5486 vdupq_n_p8 (poly8_t __a)
5487 {
5488   return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5489 }
5490
5491 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5492 vdupq_n_p16 (poly16_t __a)
5493 {
5494   return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5495 }
5496
5497 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5498 vdupq_n_s64 (int64_t __a)
5499 {
5500   return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5501 }
5502
5503 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5504 vdupq_n_u64 (uint64_t __a)
5505 {
5506   return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5507 }
5508
5509 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5510 vmov_n_s8 (int8_t __a)
5511 {
5512   return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5513 }
5514
5515 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5516 vmov_n_s16 (int16_t __a)
5517 {
5518   return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5519 }
5520
5521 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5522 vmov_n_s32 (int32_t __a)
5523 {
5524   return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5525 }
5526
5527 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5528 vmov_n_f32 (float32_t __a)
5529 {
5530   return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
5531 }
5532
5533 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5534 vmov_n_u8 (uint8_t __a)
5535 {
5536   return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5537 }
5538
5539 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5540 vmov_n_u16 (uint16_t __a)
5541 {
5542   return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5543 }
5544
5545 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5546 vmov_n_u32 (uint32_t __a)
5547 {
5548   return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5549 }
5550
5551 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5552 vmov_n_p8 (poly8_t __a)
5553 {
5554   return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5555 }
5556
5557 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5558 vmov_n_p16 (poly16_t __a)
5559 {
5560   return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5561 }
5562
5563 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5564 vmov_n_s64 (int64_t __a)
5565 {
5566   return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5567 }
5568
5569 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5570 vmov_n_u64 (uint64_t __a)
5571 {
5572   return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5573 }
5574
5575 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5576 vmovq_n_s8 (int8_t __a)
5577 {
5578   return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5579 }
5580
5581 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5582 vmovq_n_s16 (int16_t __a)
5583 {
5584   return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5585 }
5586
5587 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5588 vmovq_n_s32 (int32_t __a)
5589 {
5590   return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5591 }
5592
5593 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5594 vmovq_n_f32 (float32_t __a)
5595 {
5596   return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
5597 }
5598
5599 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5600 vmovq_n_u8 (uint8_t __a)
5601 {
5602   return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5603 }
5604
5605 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5606 vmovq_n_u16 (uint16_t __a)
5607 {
5608   return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5609 }
5610
5611 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5612 vmovq_n_u32 (uint32_t __a)
5613 {
5614   return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5615 }
5616
5617 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5618 vmovq_n_p8 (poly8_t __a)
5619 {
5620   return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5621 }
5622
5623 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5624 vmovq_n_p16 (poly16_t __a)
5625 {
5626   return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5627 }
5628
5629 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5630 vmovq_n_s64 (int64_t __a)
5631 {
5632   return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5633 }
5634
5635 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5636 vmovq_n_u64 (uint64_t __a)
5637 {
5638   return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5639 }
5640
5641 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5642 vdup_lane_s8 (int8x8_t __a, const int __b)
5643 {
5644   return (int8x8_t)__builtin_neon_vdup_lanev8qi (__a, __b);
5645 }
5646
5647 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5648 vdup_lane_s16 (int16x4_t __a, const int __b)
5649 {
5650   return (int16x4_t)__builtin_neon_vdup_lanev4hi (__a, __b);
5651 }
5652
5653 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5654 vdup_lane_s32 (int32x2_t __a, const int __b)
5655 {
5656   return (int32x2_t)__builtin_neon_vdup_lanev2si (__a, __b);
5657 }
5658
5659 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5660 vdup_lane_f32 (float32x2_t __a, const int __b)
5661 {
5662   return (float32x2_t)__builtin_neon_vdup_lanev2sf (__a, __b);
5663 }
5664
5665 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5666 vdup_lane_u8 (uint8x8_t __a, const int __b)
5667 {
5668   return (uint8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
5669 }
5670
5671 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5672 vdup_lane_u16 (uint16x4_t __a, const int __b)
5673 {
5674   return (uint16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
5675 }
5676
5677 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5678 vdup_lane_u32 (uint32x2_t __a, const int __b)
5679 {
5680   return (uint32x2_t)__builtin_neon_vdup_lanev2si ((int32x2_t) __a, __b);
5681 }
5682
5683 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5684 vdup_lane_p8 (poly8x8_t __a, const int __b)
5685 {
5686   return (poly8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
5687 }
5688
5689 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5690 vdup_lane_p16 (poly16x4_t __a, const int __b)
5691 {
5692   return (poly16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
5693 }
5694
5695 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5696 vdup_lane_s64 (int64x1_t __a, const int __b)
5697 {
5698   return (int64x1_t)__builtin_neon_vdup_lanedi (__a, __b);
5699 }
5700
5701 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5702 vdup_lane_u64 (uint64x1_t __a, const int __b)
5703 {
5704   return (uint64x1_t)__builtin_neon_vdup_lanedi ((int64x1_t) __a, __b);
5705 }
5706
5707 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5708 vdupq_lane_s8 (int8x8_t __a, const int __b)
5709 {
5710   return (int8x16_t)__builtin_neon_vdup_lanev16qi (__a, __b);
5711 }
5712
5713 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5714 vdupq_lane_s16 (int16x4_t __a, const int __b)
5715 {
5716   return (int16x8_t)__builtin_neon_vdup_lanev8hi (__a, __b);
5717 }
5718
5719 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5720 vdupq_lane_s32 (int32x2_t __a, const int __b)
5721 {
5722   return (int32x4_t)__builtin_neon_vdup_lanev4si (__a, __b);
5723 }
5724
5725 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5726 vdupq_lane_f32 (float32x2_t __a, const int __b)
5727 {
5728   return (float32x4_t)__builtin_neon_vdup_lanev4sf (__a, __b);
5729 }
5730
5731 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5732 vdupq_lane_u8 (uint8x8_t __a, const int __b)
5733 {
5734   return (uint8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
5735 }
5736
5737 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5738 vdupq_lane_u16 (uint16x4_t __a, const int __b)
5739 {
5740   return (uint16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
5741 }
5742
5743 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5744 vdupq_lane_u32 (uint32x2_t __a, const int __b)
5745 {
5746   return (uint32x4_t)__builtin_neon_vdup_lanev4si ((int32x2_t) __a, __b);
5747 }
5748
5749 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5750 vdupq_lane_p8 (poly8x8_t __a, const int __b)
5751 {
5752   return (poly8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
5753 }
5754
5755 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5756 vdupq_lane_p16 (poly16x4_t __a, const int __b)
5757 {
5758   return (poly16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
5759 }
5760
5761 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5762 vdupq_lane_s64 (int64x1_t __a, const int __b)
5763 {
5764   return (int64x2_t)__builtin_neon_vdup_lanev2di (__a, __b);
5765 }
5766
5767 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5768 vdupq_lane_u64 (uint64x1_t __a, const int __b)
5769 {
5770   return (uint64x2_t)__builtin_neon_vdup_lanev2di ((int64x1_t) __a, __b);
5771 }
5772
5773 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5774 vcombine_s8 (int8x8_t __a, int8x8_t __b)
5775 {
5776   return (int8x16_t)__builtin_neon_vcombinev8qi (__a, __b);
5777 }
5778
5779 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5780 vcombine_s16 (int16x4_t __a, int16x4_t __b)
5781 {
5782   return (int16x8_t)__builtin_neon_vcombinev4hi (__a, __b);
5783 }
5784
5785 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5786 vcombine_s32 (int32x2_t __a, int32x2_t __b)
5787 {
5788   return (int32x4_t)__builtin_neon_vcombinev2si (__a, __b);
5789 }
5790
5791 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5792 vcombine_s64 (int64x1_t __a, int64x1_t __b)
5793 {
5794   return (int64x2_t)__builtin_neon_vcombinedi (__a, __b);
5795 }
5796
5797 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5798 vcombine_f32 (float32x2_t __a, float32x2_t __b)
5799 {
5800   return (float32x4_t)__builtin_neon_vcombinev2sf (__a, __b);
5801 }
5802
5803 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5804 vcombine_u8 (uint8x8_t __a, uint8x8_t __b)
5805 {
5806   return (uint8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
5807 }
5808
5809 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5810 vcombine_u16 (uint16x4_t __a, uint16x4_t __b)
5811 {
5812   return (uint16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
5813 }
5814
5815 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5816 vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
5817 {
5818   return (uint32x4_t)__builtin_neon_vcombinev2si ((int32x2_t) __a, (int32x2_t) __b);
5819 }
5820
5821 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5822 vcombine_u64 (uint64x1_t __a, uint64x1_t __b)
5823 {
5824   return (uint64x2_t)__builtin_neon_vcombinedi ((int64x1_t) __a, (int64x1_t) __b);
5825 }
5826
5827 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5828 vcombine_p8 (poly8x8_t __a, poly8x8_t __b)
5829 {
5830   return (poly8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
5831 }
5832
5833 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5834 vcombine_p16 (poly16x4_t __a, poly16x4_t __b)
5835 {
5836   return (poly16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
5837 }
5838
5839 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5840 vget_high_s8 (int8x16_t __a)
5841 {
5842   return (int8x8_t)__builtin_neon_vget_highv16qi (__a);
5843 }
5844
5845 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5846 vget_high_s16 (int16x8_t __a)
5847 {
5848   return (int16x4_t)__builtin_neon_vget_highv8hi (__a);
5849 }
5850
5851 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5852 vget_high_s32 (int32x4_t __a)
5853 {
5854   return (int32x2_t)__builtin_neon_vget_highv4si (__a);
5855 }
5856
5857 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5858 vget_high_s64 (int64x2_t __a)
5859 {
5860   return (int64x1_t)__builtin_neon_vget_highv2di (__a);
5861 }
5862
5863 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5864 vget_high_f32 (float32x4_t __a)
5865 {
5866   return (float32x2_t)__builtin_neon_vget_highv4sf (__a);
5867 }
5868
5869 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5870 vget_high_u8 (uint8x16_t __a)
5871 {
5872   return (uint8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
5873 }
5874
5875 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5876 vget_high_u16 (uint16x8_t __a)
5877 {
5878   return (uint16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
5879 }
5880
5881 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5882 vget_high_u32 (uint32x4_t __a)
5883 {
5884   return (uint32x2_t)__builtin_neon_vget_highv4si ((int32x4_t) __a);
5885 }
5886
5887 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5888 vget_high_u64 (uint64x2_t __a)
5889 {
5890   return (uint64x1_t)__builtin_neon_vget_highv2di ((int64x2_t) __a);
5891 }
5892
5893 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5894 vget_high_p8 (poly8x16_t __a)
5895 {
5896   return (poly8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
5897 }
5898
5899 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5900 vget_high_p16 (poly16x8_t __a)
5901 {
5902   return (poly16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
5903 }
5904
5905 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5906 vget_low_s8 (int8x16_t __a)
5907 {
5908   return (int8x8_t)__builtin_neon_vget_lowv16qi (__a);
5909 }
5910
5911 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5912 vget_low_s16 (int16x8_t __a)
5913 {
5914   return (int16x4_t)__builtin_neon_vget_lowv8hi (__a);
5915 }
5916
5917 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5918 vget_low_s32 (int32x4_t __a)
5919 {
5920   return (int32x2_t)__builtin_neon_vget_lowv4si (__a);
5921 }
5922
5923 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5924 vget_low_f32 (float32x4_t __a)
5925 {
5926   return (float32x2_t)__builtin_neon_vget_lowv4sf (__a);
5927 }
5928
5929 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5930 vget_low_u8 (uint8x16_t __a)
5931 {
5932   return (uint8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
5933 }
5934
5935 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5936 vget_low_u16 (uint16x8_t __a)
5937 {
5938   return (uint16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
5939 }
5940
5941 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5942 vget_low_u32 (uint32x4_t __a)
5943 {
5944   return (uint32x2_t)__builtin_neon_vget_lowv4si ((int32x4_t) __a);
5945 }
5946
5947 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5948 vget_low_p8 (poly8x16_t __a)
5949 {
5950   return (poly8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
5951 }
5952
5953 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5954 vget_low_p16 (poly16x8_t __a)
5955 {
5956   return (poly16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
5957 }
5958
5959 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5960 vget_low_s64 (int64x2_t __a)
5961 {
5962   return (int64x1_t)__builtin_neon_vget_lowv2di (__a);
5963 }
5964
5965 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5966 vget_low_u64 (uint64x2_t __a)
5967 {
5968   return (uint64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a);
5969 }
5970
5971 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5972 vcvt_s32_f32 (float32x2_t __a)
5973 {
5974   return (int32x2_t)__builtin_neon_vcvtv2sf (__a, 1);
5975 }
5976
5977 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5978 vcvt_f32_s32 (int32x2_t __a)
5979 {
5980   return (float32x2_t)__builtin_neon_vcvtv2si (__a, 1);
5981 }
5982
5983 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5984 vcvt_f32_u32 (uint32x2_t __a)
5985 {
5986   return (float32x2_t)__builtin_neon_vcvtv2si ((int32x2_t) __a, 0);
5987 }
5988
5989 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5990 vcvt_u32_f32 (float32x2_t __a)
5991 {
5992   return (uint32x2_t)__builtin_neon_vcvtv2sf (__a, 0);
5993 }
5994
5995 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5996 vcvtq_s32_f32 (float32x4_t __a)
5997 {
5998   return (int32x4_t)__builtin_neon_vcvtv4sf (__a, 1);
5999 }
6000
6001 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6002 vcvtq_f32_s32 (int32x4_t __a)
6003 {
6004   return (float32x4_t)__builtin_neon_vcvtv4si (__a, 1);
6005 }
6006
6007 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6008 vcvtq_f32_u32 (uint32x4_t __a)
6009 {
6010   return (float32x4_t)__builtin_neon_vcvtv4si ((int32x4_t) __a, 0);
6011 }
6012
6013 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6014 vcvtq_u32_f32 (float32x4_t __a)
6015 {
6016   return (uint32x4_t)__builtin_neon_vcvtv4sf (__a, 0);
6017 }
6018
6019 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6020 vcvt_n_s32_f32 (float32x2_t __a, const int __b)
6021 {
6022   return (int32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 1);
6023 }
6024
6025 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6026 vcvt_n_f32_s32 (int32x2_t __a, const int __b)
6027 {
6028   return (float32x2_t)__builtin_neon_vcvt_nv2si (__a, __b, 1);
6029 }
6030
6031 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6032 vcvt_n_f32_u32 (uint32x2_t __a, const int __b)
6033 {
6034   return (float32x2_t)__builtin_neon_vcvt_nv2si ((int32x2_t) __a, __b, 0);
6035 }
6036
6037 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6038 vcvt_n_u32_f32 (float32x2_t __a, const int __b)
6039 {
6040   return (uint32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 0);
6041 }
6042
6043 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6044 vcvtq_n_s32_f32 (float32x4_t __a, const int __b)
6045 {
6046   return (int32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 1);
6047 }
6048
6049 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6050 vcvtq_n_f32_s32 (int32x4_t __a, const int __b)
6051 {
6052   return (float32x4_t)__builtin_neon_vcvt_nv4si (__a, __b, 1);
6053 }
6054
6055 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6056 vcvtq_n_f32_u32 (uint32x4_t __a, const int __b)
6057 {
6058   return (float32x4_t)__builtin_neon_vcvt_nv4si ((int32x4_t) __a, __b, 0);
6059 }
6060
6061 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6062 vcvtq_n_u32_f32 (float32x4_t __a, const int __b)
6063 {
6064   return (uint32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 0);
6065 }
6066
6067 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6068 vmovn_s16 (int16x8_t __a)
6069 {
6070   return (int8x8_t)__builtin_neon_vmovnv8hi (__a, 1);
6071 }
6072
6073 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6074 vmovn_s32 (int32x4_t __a)
6075 {
6076   return (int16x4_t)__builtin_neon_vmovnv4si (__a, 1);
6077 }
6078
6079 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6080 vmovn_s64 (int64x2_t __a)
6081 {
6082   return (int32x2_t)__builtin_neon_vmovnv2di (__a, 1);
6083 }
6084
6085 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6086 vmovn_u16 (uint16x8_t __a)
6087 {
6088   return (uint8x8_t)__builtin_neon_vmovnv8hi ((int16x8_t) __a, 0);
6089 }
6090
6091 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6092 vmovn_u32 (uint32x4_t __a)
6093 {
6094   return (uint16x4_t)__builtin_neon_vmovnv4si ((int32x4_t) __a, 0);
6095 }
6096
6097 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6098 vmovn_u64 (uint64x2_t __a)
6099 {
6100   return (uint32x2_t)__builtin_neon_vmovnv2di ((int64x2_t) __a, 0);
6101 }
6102
6103 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6104 vqmovn_s16 (int16x8_t __a)
6105 {
6106   return (int8x8_t)__builtin_neon_vqmovnv8hi (__a, 1);
6107 }
6108
6109 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6110 vqmovn_s32 (int32x4_t __a)
6111 {
6112   return (int16x4_t)__builtin_neon_vqmovnv4si (__a, 1);
6113 }
6114
6115 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6116 vqmovn_s64 (int64x2_t __a)
6117 {
6118   return (int32x2_t)__builtin_neon_vqmovnv2di (__a, 1);
6119 }
6120
6121 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6122 vqmovn_u16 (uint16x8_t __a)
6123 {
6124   return (uint8x8_t)__builtin_neon_vqmovnv8hi ((int16x8_t) __a, 0);
6125 }
6126
6127 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6128 vqmovn_u32 (uint32x4_t __a)
6129 {
6130   return (uint16x4_t)__builtin_neon_vqmovnv4si ((int32x4_t) __a, 0);
6131 }
6132
6133 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6134 vqmovn_u64 (uint64x2_t __a)
6135 {
6136   return (uint32x2_t)__builtin_neon_vqmovnv2di ((int64x2_t) __a, 0);
6137 }
6138
6139 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6140 vqmovun_s16 (int16x8_t __a)
6141 {
6142   return (uint8x8_t)__builtin_neon_vqmovunv8hi (__a, 1);
6143 }
6144
6145 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6146 vqmovun_s32 (int32x4_t __a)
6147 {
6148   return (uint16x4_t)__builtin_neon_vqmovunv4si (__a, 1);
6149 }
6150
6151 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6152 vqmovun_s64 (int64x2_t __a)
6153 {
6154   return (uint32x2_t)__builtin_neon_vqmovunv2di (__a, 1);
6155 }
6156
6157 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6158 vmovl_s8 (int8x8_t __a)
6159 {
6160   return (int16x8_t)__builtin_neon_vmovlv8qi (__a, 1);
6161 }
6162
6163 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6164 vmovl_s16 (int16x4_t __a)
6165 {
6166   return (int32x4_t)__builtin_neon_vmovlv4hi (__a, 1);
6167 }
6168
6169 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6170 vmovl_s32 (int32x2_t __a)
6171 {
6172   return (int64x2_t)__builtin_neon_vmovlv2si (__a, 1);
6173 }
6174
6175 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6176 vmovl_u8 (uint8x8_t __a)
6177 {
6178   return (uint16x8_t)__builtin_neon_vmovlv8qi ((int8x8_t) __a, 0);
6179 }
6180
6181 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6182 vmovl_u16 (uint16x4_t __a)
6183 {
6184   return (uint32x4_t)__builtin_neon_vmovlv4hi ((int16x4_t) __a, 0);
6185 }
6186
6187 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6188 vmovl_u32 (uint32x2_t __a)
6189 {
6190   return (uint64x2_t)__builtin_neon_vmovlv2si ((int32x2_t) __a, 0);
6191 }
6192
6193 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6194 vtbl1_s8 (int8x8_t __a, int8x8_t __b)
6195 {
6196   return (int8x8_t)__builtin_neon_vtbl1v8qi (__a, __b);
6197 }
6198
6199 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6200 vtbl1_u8 (uint8x8_t __a, uint8x8_t __b)
6201 {
6202   return (uint8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
6203 }
6204
6205 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6206 vtbl1_p8 (poly8x8_t __a, uint8x8_t __b)
6207 {
6208   return (poly8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
6209 }
6210
6211 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6212 vtbl2_s8 (int8x8x2_t __a, int8x8_t __b)
6213 {
6214   union { int8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6215   return (int8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, __b);
6216 }
6217
6218 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6219 vtbl2_u8 (uint8x8x2_t __a, uint8x8_t __b)
6220 {
6221   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6222   return (uint8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
6223 }
6224
6225 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6226 vtbl2_p8 (poly8x8x2_t __a, uint8x8_t __b)
6227 {
6228   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6229   return (poly8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
6230 }
6231
6232 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6233 vtbl3_s8 (int8x8x3_t __a, int8x8_t __b)
6234 {
6235   union { int8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6236   return (int8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, __b);
6237 }
6238
6239 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6240 vtbl3_u8 (uint8x8x3_t __a, uint8x8_t __b)
6241 {
6242   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6243   return (uint8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
6244 }
6245
6246 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6247 vtbl3_p8 (poly8x8x3_t __a, uint8x8_t __b)
6248 {
6249   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6250   return (poly8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
6251 }
6252
6253 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6254 vtbl4_s8 (int8x8x4_t __a, int8x8_t __b)
6255 {
6256   union { int8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6257   return (int8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, __b);
6258 }
6259
6260 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6261 vtbl4_u8 (uint8x8x4_t __a, uint8x8_t __b)
6262 {
6263   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6264   return (uint8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
6265 }
6266
6267 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6268 vtbl4_p8 (poly8x8x4_t __a, uint8x8_t __b)
6269 {
6270   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6271   return (poly8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
6272 }
6273
6274 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6275 vtbx1_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
6276 {
6277   return (int8x8_t)__builtin_neon_vtbx1v8qi (__a, __b, __c);
6278 }
6279
6280 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6281 vtbx1_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
6282 {
6283   return (uint8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
6284 }
6285
6286 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6287 vtbx1_p8 (poly8x8_t __a, poly8x8_t __b, uint8x8_t __c)
6288 {
6289   return (poly8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
6290 }
6291
6292 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6293 vtbx2_s8 (int8x8_t __a, int8x8x2_t __b, int8x8_t __c)
6294 {
6295   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6296   return (int8x8_t)__builtin_neon_vtbx2v8qi (__a, __bu.__o, __c);
6297 }
6298
6299 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6300 vtbx2_u8 (uint8x8_t __a, uint8x8x2_t __b, uint8x8_t __c)
6301 {
6302   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6303   return (uint8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6304 }
6305
6306 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6307 vtbx2_p8 (poly8x8_t __a, poly8x8x2_t __b, uint8x8_t __c)
6308 {
6309   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6310   return (poly8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6311 }
6312
6313 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6314 vtbx3_s8 (int8x8_t __a, int8x8x3_t __b, int8x8_t __c)
6315 {
6316   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6317   return (int8x8_t)__builtin_neon_vtbx3v8qi (__a, __bu.__o, __c);
6318 }
6319
6320 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6321 vtbx3_u8 (uint8x8_t __a, uint8x8x3_t __b, uint8x8_t __c)
6322 {
6323   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6324   return (uint8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6325 }
6326
6327 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6328 vtbx3_p8 (poly8x8_t __a, poly8x8x3_t __b, uint8x8_t __c)
6329 {
6330   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6331   return (poly8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6332 }
6333
6334 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6335 vtbx4_s8 (int8x8_t __a, int8x8x4_t __b, int8x8_t __c)
6336 {
6337   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6338   return (int8x8_t)__builtin_neon_vtbx4v8qi (__a, __bu.__o, __c);
6339 }
6340
6341 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6342 vtbx4_u8 (uint8x8_t __a, uint8x8x4_t __b, uint8x8_t __c)
6343 {
6344   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6345   return (uint8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6346 }
6347
6348 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6349 vtbx4_p8 (poly8x8_t __a, poly8x8x4_t __b, uint8x8_t __c)
6350 {
6351   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6352   return (poly8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6353 }
6354
6355 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6356 vmul_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6357 {
6358   return (int16x4_t)__builtin_neon_vmul_lanev4hi (__a, __b, __c, 1);
6359 }
6360
6361 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6362 vmul_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6363 {
6364   return (int32x2_t)__builtin_neon_vmul_lanev2si (__a, __b, __c, 1);
6365 }
6366
6367 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6368 vmul_lane_f32 (float32x2_t __a, float32x2_t __b, const int __c)
6369 {
6370   return (float32x2_t)__builtin_neon_vmul_lanev2sf (__a, __b, __c, 3);
6371 }
6372
6373 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6374 vmul_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
6375 {
6376   return (uint16x4_t)__builtin_neon_vmul_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
6377 }
6378
6379 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6380 vmul_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
6381 {
6382   return (uint32x2_t)__builtin_neon_vmul_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
6383 }
6384
6385 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6386 vmulq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6387 {
6388   return (int16x8_t)__builtin_neon_vmul_lanev8hi (__a, __b, __c, 1);
6389 }
6390
6391 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6392 vmulq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6393 {
6394   return (int32x4_t)__builtin_neon_vmul_lanev4si (__a, __b, __c, 1);
6395 }
6396
6397 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6398 vmulq_lane_f32 (float32x4_t __a, float32x2_t __b, const int __c)
6399 {
6400   return (float32x4_t)__builtin_neon_vmul_lanev4sf (__a, __b, __c, 3);
6401 }
6402
6403 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6404 vmulq_lane_u16 (uint16x8_t __a, uint16x4_t __b, const int __c)
6405 {
6406   return (uint16x8_t)__builtin_neon_vmul_lanev8hi ((int16x8_t) __a, (int16x4_t) __b, __c, 0);
6407 }
6408
6409 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6410 vmulq_lane_u32 (uint32x4_t __a, uint32x2_t __b, const int __c)
6411 {
6412   return (uint32x4_t)__builtin_neon_vmul_lanev4si ((int32x4_t) __a, (int32x2_t) __b, __c, 0);
6413 }
6414
6415 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6416 vmla_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6417 {
6418   return (int16x4_t)__builtin_neon_vmla_lanev4hi (__a, __b, __c, __d, 1);
6419 }
6420
6421 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6422 vmla_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6423 {
6424   return (int32x2_t)__builtin_neon_vmla_lanev2si (__a, __b, __c, __d, 1);
6425 }
6426
6427 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6428 vmla_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
6429 {
6430   return (float32x2_t)__builtin_neon_vmla_lanev2sf (__a, __b, __c, __d, 3);
6431 }
6432
6433 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6434 vmla_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6435 {
6436   return (uint16x4_t)__builtin_neon_vmla_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6437 }
6438
6439 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6440 vmla_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6441 {
6442   return (uint32x2_t)__builtin_neon_vmla_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6443 }
6444
6445 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6446 vmlaq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
6447 {
6448   return (int16x8_t)__builtin_neon_vmla_lanev8hi (__a, __b, __c, __d, 1);
6449 }
6450
6451 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6452 vmlaq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
6453 {
6454   return (int32x4_t)__builtin_neon_vmla_lanev4si (__a, __b, __c, __d, 1);
6455 }
6456
6457 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6458 vmlaq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
6459 {
6460   return (float32x4_t)__builtin_neon_vmla_lanev4sf (__a, __b, __c, __d, 3);
6461 }
6462
6463 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6464 vmlaq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
6465 {
6466   return (uint16x8_t)__builtin_neon_vmla_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0);
6467 }
6468
6469 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6470 vmlaq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
6471 {
6472   return (uint32x4_t)__builtin_neon_vmla_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0);
6473 }
6474
6475 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6476 vmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6477 {
6478   return (int32x4_t)__builtin_neon_vmlal_lanev4hi (__a, __b, __c, __d, 1);
6479 }
6480
6481 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6482 vmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6483 {
6484   return (int64x2_t)__builtin_neon_vmlal_lanev2si (__a, __b, __c, __d, 1);
6485 }
6486
6487 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6488 vmlal_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6489 {
6490   return (uint32x4_t)__builtin_neon_vmlal_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6491 }
6492
6493 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6494 vmlal_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6495 {
6496   return (uint64x2_t)__builtin_neon_vmlal_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6497 }
6498
6499 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6500 vqdmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6501 {
6502   return (int32x4_t)__builtin_neon_vqdmlal_lanev4hi (__a, __b, __c, __d, 1);
6503 }
6504
6505 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6506 vqdmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6507 {
6508   return (int64x2_t)__builtin_neon_vqdmlal_lanev2si (__a, __b, __c, __d, 1);
6509 }
6510
6511 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6512 vmls_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6513 {
6514   return (int16x4_t)__builtin_neon_vmls_lanev4hi (__a, __b, __c, __d, 1);
6515 }
6516
6517 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6518 vmls_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6519 {
6520   return (int32x2_t)__builtin_neon_vmls_lanev2si (__a, __b, __c, __d, 1);
6521 }
6522
6523 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6524 vmls_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
6525 {
6526   return (float32x2_t)__builtin_neon_vmls_lanev2sf (__a, __b, __c, __d, 3);
6527 }
6528
6529 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6530 vmls_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6531 {
6532   return (uint16x4_t)__builtin_neon_vmls_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6533 }
6534
6535 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6536 vmls_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6537 {
6538   return (uint32x2_t)__builtin_neon_vmls_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6539 }
6540
6541 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6542 vmlsq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
6543 {
6544   return (int16x8_t)__builtin_neon_vmls_lanev8hi (__a, __b, __c, __d, 1);
6545 }
6546
6547 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6548 vmlsq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
6549 {
6550   return (int32x4_t)__builtin_neon_vmls_lanev4si (__a, __b, __c, __d, 1);
6551 }
6552
6553 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6554 vmlsq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
6555 {
6556   return (float32x4_t)__builtin_neon_vmls_lanev4sf (__a, __b, __c, __d, 3);
6557 }
6558
6559 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6560 vmlsq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
6561 {
6562   return (uint16x8_t)__builtin_neon_vmls_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0);
6563 }
6564
6565 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6566 vmlsq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
6567 {
6568   return (uint32x4_t)__builtin_neon_vmls_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0);
6569 }
6570
6571 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6572 vmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6573 {
6574   return (int32x4_t)__builtin_neon_vmlsl_lanev4hi (__a, __b, __c, __d, 1);
6575 }
6576
6577 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6578 vmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6579 {
6580   return (int64x2_t)__builtin_neon_vmlsl_lanev2si (__a, __b, __c, __d, 1);
6581 }
6582
6583 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6584 vmlsl_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6585 {
6586   return (uint32x4_t)__builtin_neon_vmlsl_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6587 }
6588
6589 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6590 vmlsl_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6591 {
6592   return (uint64x2_t)__builtin_neon_vmlsl_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6593 }
6594
6595 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6596 vqdmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6597 {
6598   return (int32x4_t)__builtin_neon_vqdmlsl_lanev4hi (__a, __b, __c, __d, 1);
6599 }
6600
6601 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6602 vqdmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6603 {
6604   return (int64x2_t)__builtin_neon_vqdmlsl_lanev2si (__a, __b, __c, __d, 1);
6605 }
6606
6607 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6608 vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6609 {
6610   return (int32x4_t)__builtin_neon_vmull_lanev4hi (__a, __b, __c, 1);
6611 }
6612
6613 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6614 vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6615 {
6616   return (int64x2_t)__builtin_neon_vmull_lanev2si (__a, __b, __c, 1);
6617 }
6618
6619 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6620 vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
6621 {
6622   return (uint32x4_t)__builtin_neon_vmull_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
6623 }
6624
6625 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6626 vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
6627 {
6628   return (uint64x2_t)__builtin_neon_vmull_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
6629 }
6630
6631 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6632 vqdmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6633 {
6634   return (int32x4_t)__builtin_neon_vqdmull_lanev4hi (__a, __b, __c, 1);
6635 }
6636
6637 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6638 vqdmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6639 {
6640   return (int64x2_t)__builtin_neon_vqdmull_lanev2si (__a, __b, __c, 1);
6641 }
6642
6643 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6644 vqdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6645 {
6646   return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 1);
6647 }
6648
6649 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6650 vqdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6651 {
6652   return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 1);
6653 }
6654
6655 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6656 vqdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6657 {
6658   return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 1);
6659 }
6660
6661 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6662 vqdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6663 {
6664   return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 1);
6665 }
6666
6667 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6668 vqrdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6669 {
6670   return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 5);
6671 }
6672
6673 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6674 vqrdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6675 {
6676   return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 5);
6677 }
6678
6679 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6680 vqrdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6681 {
6682   return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 5);
6683 }
6684
6685 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6686 vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6687 {
6688   return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 5);
6689 }
6690
6691 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6692 vmul_n_s16 (int16x4_t __a, int16_t __b)
6693 {
6694   return (int16x4_t)__builtin_neon_vmul_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6695 }
6696
6697 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6698 vmul_n_s32 (int32x2_t __a, int32_t __b)
6699 {
6700   return (int32x2_t)__builtin_neon_vmul_nv2si (__a, (__builtin_neon_si) __b, 1);
6701 }
6702
6703 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6704 vmul_n_f32 (float32x2_t __a, float32_t __b)
6705 {
6706   return (float32x2_t)__builtin_neon_vmul_nv2sf (__a, (__builtin_neon_sf) __b, 3);
6707 }
6708
6709 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6710 vmul_n_u16 (uint16x4_t __a, uint16_t __b)
6711 {
6712   return (uint16x4_t)__builtin_neon_vmul_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0);
6713 }
6714
6715 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6716 vmul_n_u32 (uint32x2_t __a, uint32_t __b)
6717 {
6718   return (uint32x2_t)__builtin_neon_vmul_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0);
6719 }
6720
6721 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6722 vmulq_n_s16 (int16x8_t __a, int16_t __b)
6723 {
6724   return (int16x8_t)__builtin_neon_vmul_nv8hi (__a, (__builtin_neon_hi) __b, 1);
6725 }
6726
6727 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6728 vmulq_n_s32 (int32x4_t __a, int32_t __b)
6729 {
6730   return (int32x4_t)__builtin_neon_vmul_nv4si (__a, (__builtin_neon_si) __b, 1);
6731 }
6732
6733 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6734 vmulq_n_f32 (float32x4_t __a, float32_t __b)
6735 {
6736   return (float32x4_t)__builtin_neon_vmul_nv4sf (__a, (__builtin_neon_sf) __b, 3);
6737 }
6738
6739 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6740 vmulq_n_u16 (uint16x8_t __a, uint16_t __b)
6741 {
6742   return (uint16x8_t)__builtin_neon_vmul_nv8hi ((int16x8_t) __a, (__builtin_neon_hi) __b, 0);
6743 }
6744
6745 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6746 vmulq_n_u32 (uint32x4_t __a, uint32_t __b)
6747 {
6748   return (uint32x4_t)__builtin_neon_vmul_nv4si ((int32x4_t) __a, (__builtin_neon_si) __b, 0);
6749 }
6750
6751 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6752 vmull_n_s16 (int16x4_t __a, int16_t __b)
6753 {
6754   return (int32x4_t)__builtin_neon_vmull_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6755 }
6756
6757 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6758 vmull_n_s32 (int32x2_t __a, int32_t __b)
6759 {
6760   return (int64x2_t)__builtin_neon_vmull_nv2si (__a, (__builtin_neon_si) __b, 1);
6761 }
6762
6763 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6764 vmull_n_u16 (uint16x4_t __a, uint16_t __b)
6765 {
6766   return (uint32x4_t)__builtin_neon_vmull_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0);
6767 }
6768
6769 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6770 vmull_n_u32 (uint32x2_t __a, uint32_t __b)
6771 {
6772   return (uint64x2_t)__builtin_neon_vmull_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0);
6773 }
6774
6775 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6776 vqdmull_n_s16 (int16x4_t __a, int16_t __b)
6777 {
6778   return (int32x4_t)__builtin_neon_vqdmull_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6779 }
6780
6781 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6782 vqdmull_n_s32 (int32x2_t __a, int32_t __b)
6783 {
6784   return (int64x2_t)__builtin_neon_vqdmull_nv2si (__a, (__builtin_neon_si) __b, 1);
6785 }
6786
6787 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6788 vqdmulhq_n_s16 (int16x8_t __a, int16_t __b)
6789 {
6790   return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 1);
6791 }
6792
6793 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6794 vqdmulhq_n_s32 (int32x4_t __a, int32_t __b)
6795 {
6796   return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 1);
6797 }
6798
6799 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6800 vqdmulh_n_s16 (int16x4_t __a, int16_t __b)
6801 {
6802   return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6803 }
6804
6805 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6806 vqdmulh_n_s32 (int32x2_t __a, int32_t __b)
6807 {
6808   return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 1);
6809 }
6810
6811 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6812 vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b)
6813 {
6814   return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 5);
6815 }
6816
6817 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6818 vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b)
6819 {
6820   return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 5);
6821 }
6822
6823 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6824 vqrdmulh_n_s16 (int16x4_t __a, int16_t __b)
6825 {
6826   return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 5);
6827 }
6828
6829 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6830 vqrdmulh_n_s32 (int32x2_t __a, int32_t __b)
6831 {
6832   return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 5);
6833 }
6834
6835 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6836 vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
6837 {
6838   return (int16x4_t)__builtin_neon_vmla_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6839 }
6840
6841 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6842 vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
6843 {
6844   return (int32x2_t)__builtin_neon_vmla_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6845 }
6846
6847 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6848 vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
6849 {
6850   return (float32x2_t)__builtin_neon_vmla_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3);
6851 }
6852
6853 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6854 vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
6855 {
6856   return (uint16x4_t)__builtin_neon_vmla_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
6857 }
6858
6859 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6860 vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
6861 {
6862   return (uint32x2_t)__builtin_neon_vmla_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
6863 }
6864
6865 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6866 vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
6867 {
6868   return (int16x8_t)__builtin_neon_vmla_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1);
6869 }
6870
6871 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6872 vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
6873 {
6874   return (int32x4_t)__builtin_neon_vmla_nv4si (__a, __b, (__builtin_neon_si) __c, 1);
6875 }
6876
6877 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6878 vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
6879 {
6880   return (float32x4_t)__builtin_neon_vmla_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3);
6881 }
6882
6883 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6884 vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
6885 {
6886   return (uint16x8_t)__builtin_neon_vmla_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0);
6887 }
6888
6889 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6890 vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
6891 {
6892   return (uint32x4_t)__builtin_neon_vmla_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0);
6893 }
6894
6895 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6896 vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
6897 {
6898   return (int32x4_t)__builtin_neon_vmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6899 }
6900
6901 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6902 vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
6903 {
6904   return (int64x2_t)__builtin_neon_vmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6905 }
6906
6907 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6908 vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
6909 {
6910   return (uint32x4_t)__builtin_neon_vmlal_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
6911 }
6912
6913 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6914 vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
6915 {
6916   return (uint64x2_t)__builtin_neon_vmlal_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
6917 }
6918
6919 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6920 vqdmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
6921 {
6922   return (int32x4_t)__builtin_neon_vqdmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6923 }
6924
6925 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6926 vqdmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
6927 {
6928   return (int64x2_t)__builtin_neon_vqdmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6929 }
6930
6931 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6932 vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
6933 {
6934   return (int16x4_t)__builtin_neon_vmls_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6935 }
6936
6937 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6938 vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
6939 {
6940   return (int32x2_t)__builtin_neon_vmls_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6941 }
6942
6943 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6944 vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
6945 {
6946   return (float32x2_t)__builtin_neon_vmls_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3);
6947 }
6948
6949 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6950 vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
6951 {
6952   return (uint16x4_t)__builtin_neon_vmls_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
6953 }
6954
6955 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6956 vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
6957 {
6958   return (uint32x2_t)__builtin_neon_vmls_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
6959 }
6960
6961 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6962 vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
6963 {
6964   return (int16x8_t)__builtin_neon_vmls_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1);
6965 }
6966
6967 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6968 vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
6969 {
6970   return (int32x4_t)__builtin_neon_vmls_nv4si (__a, __b, (__builtin_neon_si) __c, 1);
6971 }
6972
6973 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6974 vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
6975 {
6976   return (float32x4_t)__builtin_neon_vmls_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3);
6977 }
6978
6979 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6980 vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
6981 {
6982   return (uint16x8_t)__builtin_neon_vmls_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0);
6983 }
6984
6985 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6986 vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
6987 {
6988   return (uint32x4_t)__builtin_neon_vmls_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0);
6989 }
6990
6991 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6992 vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
6993 {
6994   return (int32x4_t)__builtin_neon_vmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6995 }
6996
6997 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6998 vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
6999 {
7000   return (int64x2_t)__builtin_neon_vmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7001 }
7002
7003 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7004 vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
7005 {
7006   return (uint32x4_t)__builtin_neon_vmlsl_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
7007 }
7008
7009 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
7010 vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
7011 {
7012   return (uint64x2_t)__builtin_neon_vmlsl_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
7013 }
7014
7015 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7016 vqdmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7017 {
7018   return (int32x4_t)__builtin_neon_vqdmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7019 }
7020
7021 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
7022 vqdmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7023 {
7024   return (int64x2_t)__builtin_neon_vqdmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7025 }
7026
7027 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7028 vext_s8 (int8x8_t __a, int8x8_t __b, const int __c)
7029 {
7030   return (int8x8_t)__builtin_neon_vextv8qi (__a, __b, __c);
7031 }
7032
7033 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7034 vext_s16 (int16x4_t __a, int16x4_t __b, const int __c)
7035 {
7036   return (int16x4_t)__builtin_neon_vextv4hi (__a, __b, __c);
7037 }
7038
7039 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
7040 vext_s32 (int32x2_t __a, int32x2_t __b, const int __c)
7041 {
7042   return (int32x2_t)__builtin_neon_vextv2si (__a, __b, __c);
7043 }
7044
7045 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
7046 vext_s64 (int64x1_t __a, int64x1_t __b, const int __c)
7047 {
7048   return (int64x1_t)__builtin_neon_vextdi (__a, __b, __c);
7049 }
7050
7051 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
7052 vext_f32 (float32x2_t __a, float32x2_t __b, const int __c)
7053 {
7054   return (float32x2_t)__builtin_neon_vextv2sf (__a, __b, __c);
7055 }
7056
7057 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7058 vext_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
7059 {
7060   return (uint8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
7061 }
7062
7063 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7064 vext_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
7065 {
7066   return (uint16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
7067 }
7068
7069 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
7070 vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
7071 {
7072   return (uint32x2_t)__builtin_neon_vextv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
7073 }
7074
7075 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
7076 vext_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
7077 {
7078   return (uint64x1_t)__builtin_neon_vextdi ((int64x1_t) __a, (int64x1_t) __b, __c);
7079 }
7080
7081 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7082 vext_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
7083 {
7084   return (poly8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
7085 }
7086
7087 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
7088 vext_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
7089 {
7090   return (poly16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
7091 }
7092
7093 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7094 vextq_s8 (int8x16_t __a, int8x16_t __b, const int __c)
7095 {
7096   return (int8x16_t)__builtin_neon_vextv16qi (__a, __b, __c);
7097 }
7098
7099 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7100 vextq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
7101 {
7102   return (int16x8_t)__builtin_neon_vextv8hi (__a, __b, __c);
7103 }
7104
7105 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7106 vextq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
7107 {
7108   return (int32x4_t)__builtin_neon_vextv4si (__a, __b, __c);
7109 }
7110
7111 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
7112 vextq_s64 (int64x2_t __a, int64x2_t __b, const int __c)
7113 {
7114   return (int64x2_t)__builtin_neon_vextv2di (__a, __b, __c);
7115 }
7116
7117 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
7118 vextq_f32 (float32x4_t __a, float32x4_t __b, const int __c)
7119 {
7120   return (float32x4_t)__builtin_neon_vextv4sf (__a, __b, __c);
7121 }
7122
7123 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7124 vextq_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
7125 {
7126   return (uint8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
7127 }
7128
7129 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7130 vextq_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
7131 {
7132   return (uint16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
7133 }
7134
7135 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7136 vextq_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
7137 {
7138   return (uint32x4_t)__builtin_neon_vextv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
7139 }
7140
7141 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
7142 vextq_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
7143 {
7144   return (uint64x2_t)__builtin_neon_vextv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
7145 }
7146
7147 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7148 vextq_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
7149 {
7150   return (poly8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
7151 }
7152
7153 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
7154 vextq_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
7155 {
7156   return (poly16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
7157 }
7158
7159 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7160 vrev64_s8 (int8x8_t __a)
7161 {
7162   return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
7163 }
7164
7165 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7166 vrev64_s16 (int16x4_t __a)
7167 {
7168   return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
7169 }
7170
7171 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
7172 vrev64_s32 (int32x2_t __a)
7173 {
7174   return (int32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
7175 }
7176
7177 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
7178 vrev64_f32 (float32x2_t __a)
7179 {
7180   return (float32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
7181 }
7182
7183 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7184 vrev64_u8 (uint8x8_t __a)
7185 {
7186   return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
7187 }
7188
7189 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7190 vrev64_u16 (uint16x4_t __a)
7191 {
7192   return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
7193 }
7194
7195 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
7196 vrev64_u32 (uint32x2_t __a)
7197 {
7198   return (uint32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
7199 }
7200
7201 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7202 vrev64_p8 (poly8x8_t __a)
7203 {
7204   return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
7205 }
7206
7207 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
7208 vrev64_p16 (poly16x4_t __a)
7209 {
7210   return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
7211 }
7212
7213 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7214 vrev64q_s8 (int8x16_t __a)
7215 {
7216   return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
7217 }
7218
7219 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7220 vrev64q_s16 (int16x8_t __a)
7221 {
7222   return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7223 }
7224
7225 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7226 vrev64q_s32 (int32x4_t __a)
7227 {
7228   return (int32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
7229 }
7230
7231 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
7232 vrev64q_f32 (float32x4_t __a)
7233 {
7234   return (float32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
7235 }
7236
7237 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7238 vrev64q_u8 (uint8x16_t __a)
7239 {
7240   return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
7241 }
7242
7243 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7244 vrev64q_u16 (uint16x8_t __a)
7245 {
7246   return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7247 }
7248
7249 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7250 vrev64q_u32 (uint32x4_t __a)
7251 {
7252   return (uint32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
7253 }
7254
7255 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7256 vrev64q_p8 (poly8x16_t __a)
7257 {
7258   return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
7259 }
7260
7261 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
7262 vrev64q_p16 (poly16x8_t __a)
7263 {
7264   return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7265 }
7266
7267 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7268 vrev32_s8 (int8x8_t __a)
7269 {
7270   return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7271 }
7272
7273 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7274 vrev32_s16 (int16x4_t __a)
7275 {
7276   return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
7277 }
7278
7279 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7280 vrev32_u8 (uint8x8_t __a)
7281 {
7282   return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7283 }
7284
7285 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7286 vrev32_u16 (uint16x4_t __a)
7287 {
7288   return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
7289 }
7290
7291 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7292 vrev32_p8 (poly8x8_t __a)
7293 {
7294   return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7295 }
7296
7297 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
7298 vrev32_p16 (poly16x4_t __a)
7299 {
7300   return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
7301 }
7302
7303 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7304 vrev32q_s8 (int8x16_t __a)
7305 {
7306   return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
7307 }
7308
7309 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7310 vrev32q_s16 (int16x8_t __a)
7311 {
7312   return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7313 }
7314
7315 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7316 vrev32q_u8 (uint8x16_t __a)
7317 {
7318   return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
7319 }
7320
7321 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7322 vrev32q_u16 (uint16x8_t __a)
7323 {
7324   return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7325 }
7326
7327 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7328 vrev32q_p8 (poly8x16_t __a)
7329 {
7330   return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
7331 }
7332
7333 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
7334 vrev32q_p16 (poly16x8_t __a)
7335 {
7336   return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7337 }
7338
7339 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7340 vrev16_s8 (int8x8_t __a)
7341 {
7342   return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7343 }
7344
7345 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7346 vrev16_u8 (uint8x8_t __a)
7347 {
7348   return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7349 }
7350
7351 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7352 vrev16_p8 (poly8x8_t __a)
7353 {
7354   return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7355 }
7356
7357 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7358 vrev16q_s8 (int8x16_t __a)
7359 {
7360   return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
7361 }
7362
7363 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7364 vrev16q_u8 (uint8x16_t __a)
7365 {
7366   return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
7367 }
7368
7369 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7370 vrev16q_p8 (poly8x16_t __a)
7371 {
7372   return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
7373 }
7374
7375 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7376 vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c)
7377 {
7378   return (int8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, __b, __c);
7379 }
7380
7381 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7382 vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c)
7383 {
7384   return (int16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, __b, __c);
7385 }
7386
7387 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
7388 vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c)
7389 {
7390   return (int32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, __b, __c);
7391 }
7392
7393 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
7394 vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c)
7395 {
7396   return (int64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, __b, __c);
7397 }
7398
7399 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
7400 vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c)
7401 {
7402   return (float32x2_t)__builtin_neon_vbslv2sf ((int32x2_t) __a, __b, __c);
7403 }
7404
7405 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7406 vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
7407 {
7408   return (uint8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7409 }
7410
7411 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7412 vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
7413 {
7414   return (uint16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
7415 }
7416
7417 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
7418 vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
7419 {
7420   return (uint32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
7421 }
7422
7423 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
7424 vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c)
7425 {
7426   return (uint64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, (int64x1_t) __b, (int64x1_t) __c);
7427 }
7428
7429 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7430 vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c)
7431 {
7432   return (poly8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7433 }
7434
7435 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
7436 vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c)
7437 {
7438   return (poly16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
7439 }
7440
7441 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7442 vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c)
7443 {
7444   return (int8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, __b, __c);
7445 }
7446
7447 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7448 vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c)
7449 {
7450   return (int16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, __b, __c);
7451 }
7452
7453 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7454 vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c)
7455 {
7456   return (int32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, __b, __c);
7457 }
7458
7459 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
7460 vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c)
7461 {
7462   return (int64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, __b, __c);
7463 }
7464
7465 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
7466 vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c)
7467 {
7468   return (float32x4_t)__builtin_neon_vbslv4sf ((int32x4_t) __a, __b, __c);
7469 }
7470
7471 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7472 vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
7473 {
7474   return (uint8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
7475 }
7476
7477 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7478 vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
7479 {
7480   return (uint16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
7481 }
7482
7483 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7484 vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
7485 {
7486   return (uint32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c);
7487 }
7488
7489 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
7490 vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
7491 {
7492   return (uint64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, (int64x2_t) __b, (int64x2_t) __c);
7493 }
7494
7495 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7496 vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c)
7497 {
7498   return (poly8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
7499 }
7500
7501 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
7502 vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c)
7503 {
7504   return (poly16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
7505 }
7506
7507 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
7508 vtrn_s8 (int8x8_t __a, int8x8_t __b)
7509 {
7510   int8x8x2_t __rv;
7511   __rv.val[0] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7512   __rv.val[1] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7513   return __rv;
7514 }
7515
7516 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
7517 vtrn_s16 (int16x4_t __a, int16x4_t __b)
7518 {
7519   int16x4x2_t __rv;
7520   __rv.val[0] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
7521   __rv.val[1] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
7522   return __rv;
7523 }
7524
7525 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
7526 vtrn_u8 (uint8x8_t __a, uint8x8_t __b)
7527 {
7528   uint8x8x2_t __rv;
7529   __rv.val[0] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7530   __rv.val[1] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7531   return __rv;
7532 }
7533
7534 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
7535 vtrn_u16 (uint16x4_t __a, uint16x4_t __b)
7536 {
7537   uint16x4x2_t __rv;
7538   __rv.val[0] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
7539   __rv.val[1] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
7540   return __rv;
7541 }
7542
7543 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
7544 vtrn_p8 (poly8x8_t __a, poly8x8_t __b)
7545 {
7546   poly8x8x2_t __rv;
7547   __rv.val[0] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7548   __rv.val[1] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7549   return __rv;
7550 }
7551
7552 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
7553 vtrn_p16 (poly16x4_t __a, poly16x4_t __b)
7554 {
7555   poly16x4x2_t __rv;
7556   __rv.val[0] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
7557   __rv.val[1] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
7558   return __rv;
7559 }
7560
7561 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
7562 vtrn_s32 (int32x2_t __a, int32x2_t __b)
7563 {
7564   int32x2x2_t __rv;
7565   __rv.val[0] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7566   __rv.val[1] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7567   return __rv;
7568 }
7569
7570 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
7571 vtrn_f32 (float32x2_t __a, float32x2_t __b)
7572 {
7573   float32x2x2_t __rv;
7574   __rv.val[0] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7575   __rv.val[1] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7576   return __rv;
7577 }
7578
7579 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
7580 vtrn_u32 (uint32x2_t __a, uint32x2_t __b)
7581 {
7582   uint32x2x2_t __rv;
7583   __rv.val[0] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7584   __rv.val[1] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7585   return __rv;
7586 }
7587
7588 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
7589 vtrnq_s8 (int8x16_t __a, int8x16_t __b)
7590 {
7591   int8x16x2_t __rv;
7592   __rv.val[0] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
7593   __rv.val[1] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
7594   return __rv;
7595 }
7596
7597 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
7598 vtrnq_s16 (int16x8_t __a, int16x8_t __b)
7599 {
7600   int16x8x2_t __rv;
7601   __rv.val[0] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7602   __rv.val[1] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7603   return __rv;
7604 }
7605
7606 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
7607 vtrnq_s32 (int32x4_t __a, int32x4_t __b)
7608 {
7609   int32x4x2_t __rv;
7610   __rv.val[0] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
7611   __rv.val[1] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
7612   return __rv;
7613 }
7614
7615 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
7616 vtrnq_f32 (float32x4_t __a, float32x4_t __b)
7617 {
7618   float32x4x2_t __rv;
7619   __rv.val[0] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
7620   __rv.val[1] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
7621   return __rv;
7622 }
7623
7624 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
7625 vtrnq_u8 (uint8x16_t __a, uint8x16_t __b)
7626 {
7627   uint8x16x2_t __rv;
7628   __rv.val[0] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
7629   __rv.val[1] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
7630   return __rv;
7631 }
7632
7633 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
7634 vtrnq_u16 (uint16x8_t __a, uint16x8_t __b)
7635 {
7636   uint16x8x2_t __rv;
7637   __rv.val[0] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7638   __rv.val[1] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7639   return __rv;
7640 }
7641
7642 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
7643 vtrnq_u32 (uint32x4_t __a, uint32x4_t __b)
7644 {
7645   uint32x4x2_t __rv;
7646   __rv.val[0] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
7647   __rv.val[1] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
7648   return __rv;
7649 }
7650
7651 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
7652 vtrnq_p8 (poly8x16_t __a, poly8x16_t __b)
7653 {
7654   poly8x16x2_t __rv;
7655   __rv.val[0] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
7656   __rv.val[1] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
7657   return __rv;
7658 }
7659
7660 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
7661 vtrnq_p16 (poly16x8_t __a, poly16x8_t __b)
7662 {
7663   poly16x8x2_t __rv;
7664   __rv.val[0] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7665   __rv.val[1] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7666   return __rv;
7667 }
7668
7669 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
7670 vzip_s8 (int8x8_t __a, int8x8_t __b)
7671 {
7672   int8x8x2_t __rv;
7673   __rv.val[0] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7674   __rv.val[1] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7675   return __rv;
7676 }
7677
7678 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
7679 vzip_s16 (int16x4_t __a, int16x4_t __b)
7680 {
7681   int16x4x2_t __rv;
7682   __rv.val[0] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
7683   __rv.val[1] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
7684   return __rv;
7685 }
7686
7687 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
7688 vzip_u8 (uint8x8_t __a, uint8x8_t __b)
7689 {
7690   uint8x8x2_t __rv;
7691   __rv.val[0] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7692   __rv.val[1] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7693   return __rv;
7694 }
7695
7696 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
7697 vzip_u16 (uint16x4_t __a, uint16x4_t __b)
7698 {
7699   uint16x4x2_t __rv;
7700   __rv.val[0] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
7701   __rv.val[1] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
7702   return __rv;
7703 }
7704
7705 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
7706 vzip_p8 (poly8x8_t __a, poly8x8_t __b)
7707 {
7708   poly8x8x2_t __rv;
7709   __rv.val[0] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7710   __rv.val[1] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7711   return __rv;
7712 }
7713
7714 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
7715 vzip_p16 (poly16x4_t __a, poly16x4_t __b)
7716 {
7717   poly16x4x2_t __rv;
7718   __rv.val[0] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
7719   __rv.val[1] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
7720   return __rv;
7721 }
7722
7723 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
7724 vzip_s32 (int32x2_t __a, int32x2_t __b)
7725 {
7726   int32x2x2_t __rv;
7727   __rv.val[0] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7728   __rv.val[1] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7729   return __rv;
7730 }
7731
7732 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
7733 vzip_f32 (float32x2_t __a, float32x2_t __b)
7734 {
7735   float32x2x2_t __rv;
7736   __rv.val[0] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7737   __rv.val[1] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7738   return __rv;
7739 }
7740
7741 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
7742 vzip_u32 (uint32x2_t __a, uint32x2_t __b)
7743 {
7744   uint32x2x2_t __rv;
7745   __rv.val[0] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7746   __rv.val[1] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7747   return __rv;
7748 }
7749
7750 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
7751 vzipq_s8 (int8x16_t __a, int8x16_t __b)
7752 {
7753   int8x16x2_t __rv;
7754   __rv.val[0] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
7755   __rv.val[1] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
7756   return __rv;
7757 }
7758
7759 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
7760 vzipq_s16 (int16x8_t __a, int16x8_t __b)
7761 {
7762   int16x8x2_t __rv;
7763   __rv.val[0] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7764   __rv.val[1] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7765   return __rv;
7766 }
7767
7768 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
7769 vzipq_s32 (int32x4_t __a, int32x4_t __b)
7770 {
7771   int32x4x2_t __rv;
7772   __rv.val[0] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
7773   __rv.val[1] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
7774   return __rv;
7775 }
7776
7777 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
7778 vzipq_f32 (float32x4_t __a, float32x4_t __b)
7779 {
7780   float32x4x2_t __rv;
7781   __rv.val[0] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
7782   __rv.val[1] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
7783   return __rv;
7784 }
7785
7786 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
7787 vzipq_u8 (uint8x16_t __a, uint8x16_t __b)
7788 {
7789   uint8x16x2_t __rv;
7790   __rv.val[0] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
7791   __rv.val[1] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
7792   return __rv;
7793 }
7794
7795 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
7796 vzipq_u16 (uint16x8_t __a, uint16x8_t __b)
7797 {
7798   uint16x8x2_t __rv;
7799   __rv.val[0] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7800   __rv.val[1] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7801   return __rv;
7802 }
7803
7804 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
7805 vzipq_u32 (uint32x4_t __a, uint32x4_t __b)
7806 {
7807   uint32x4x2_t __rv;
7808   __rv.val[0] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
7809   __rv.val[1] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
7810   return __rv;
7811 }
7812
7813 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
7814 vzipq_p8 (poly8x16_t __a, poly8x16_t __b)
7815 {
7816   poly8x16x2_t __rv;
7817   __rv.val[0] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
7818   __rv.val[1] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
7819   return __rv;
7820 }
7821
7822 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
7823 vzipq_p16 (poly16x8_t __a, poly16x8_t __b)
7824 {
7825   poly16x8x2_t __rv;
7826   __rv.val[0] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7827   __rv.val[1] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7828   return __rv;
7829 }
7830
7831 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
7832 vuzp_s8 (int8x8_t __a, int8x8_t __b)
7833 {
7834   int8x8x2_t __rv;
7835   __rv.val[0] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
7836   __rv.val[1] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
7837   return __rv;
7838 }
7839
7840 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
7841 vuzp_s16 (int16x4_t __a, int16x4_t __b)
7842 {
7843   int16x4x2_t __rv;
7844   __rv.val[0] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
7845   __rv.val[1] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
7846   return __rv;
7847 }
7848
7849 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
7850 vuzp_s32 (int32x2_t __a, int32x2_t __b)
7851 {
7852   int32x2x2_t __rv;
7853   __rv.val[0] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7854   __rv.val[1] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7855   return __rv;
7856 }
7857
7858 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
7859 vuzp_f32 (float32x2_t __a, float32x2_t __b)
7860 {
7861   float32x2x2_t __rv;
7862   __rv.val[0] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7863   __rv.val[1] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7864   return __rv;
7865 }
7866
7867 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
7868 vuzp_u8 (uint8x8_t __a, uint8x8_t __b)
7869 {
7870   uint8x8x2_t __rv;
7871   __rv.val[0] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
7872   __rv.val[1] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
7873   return __rv;
7874 }
7875
7876 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
7877 vuzp_u16 (uint16x4_t __a, uint16x4_t __b)
7878 {
7879   uint16x4x2_t __rv;
7880   __rv.val[0] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
7881   __rv.val[1] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
7882   return __rv;
7883 }
7884
7885 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
7886 vuzp_u32 (uint32x2_t __a, uint32x2_t __b)
7887 {
7888   uint32x2x2_t __rv;
7889   __rv.val[0] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7890   __rv.val[1] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7891   return __rv;
7892 }
7893
7894 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
7895 vuzp_p8 (poly8x8_t __a, poly8x8_t __b)
7896 {
7897   poly8x8x2_t __rv;
7898   __rv.val[0] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
7899   __rv.val[1] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
7900   return __rv;
7901 }
7902
7903 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
7904 vuzp_p16 (poly16x4_t __a, poly16x4_t __b)
7905 {
7906   poly16x4x2_t __rv;
7907   __rv.val[0] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
7908   __rv.val[1] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
7909   return __rv;
7910 }
7911
7912 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
7913 vuzpq_s8 (int8x16_t __a, int8x16_t __b)
7914 {
7915   int8x16x2_t __rv;
7916   __rv.val[0] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
7917   __rv.val[1] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
7918   return __rv;
7919 }
7920
7921 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
7922 vuzpq_s16 (int16x8_t __a, int16x8_t __b)
7923 {
7924   int16x8x2_t __rv;
7925   __rv.val[0] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
7926   __rv.val[1] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
7927   return __rv;
7928 }
7929
7930 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
7931 vuzpq_s32 (int32x4_t __a, int32x4_t __b)
7932 {
7933   int32x4x2_t __rv;
7934   __rv.val[0] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
7935   __rv.val[1] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
7936   return __rv;
7937 }
7938
7939 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
7940 vuzpq_f32 (float32x4_t __a, float32x4_t __b)
7941 {
7942   float32x4x2_t __rv;
7943   __rv.val[0] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
7944   __rv.val[1] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
7945   return __rv;
7946 }
7947
7948 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
7949 vuzpq_u8 (uint8x16_t __a, uint8x16_t __b)
7950 {
7951   uint8x16x2_t __rv;
7952   __rv.val[0] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
7953   __rv.val[1] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
7954   return __rv;
7955 }
7956
7957 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
7958 vuzpq_u16 (uint16x8_t __a, uint16x8_t __b)
7959 {
7960   uint16x8x2_t __rv;
7961   __rv.val[0] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
7962   __rv.val[1] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
7963   return __rv;
7964 }
7965
7966 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
7967 vuzpq_u32 (uint32x4_t __a, uint32x4_t __b)
7968 {
7969   uint32x4x2_t __rv;
7970   __rv.val[0] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
7971   __rv.val[1] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
7972   return __rv;
7973 }
7974
7975 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
7976 vuzpq_p8 (poly8x16_t __a, poly8x16_t __b)
7977 {
7978   poly8x16x2_t __rv;
7979   __rv.val[0] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
7980   __rv.val[1] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
7981   return __rv;
7982 }
7983
7984 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
7985 vuzpq_p16 (poly16x8_t __a, poly16x8_t __b)
7986 {
7987   poly16x8x2_t __rv;
7988   __rv.val[0] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
7989   __rv.val[1] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
7990   return __rv;
7991 }
7992
7993 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7994 vld1_s8 (const int8_t * __a)
7995 {
7996   return (int8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
7997 }
7998
7999 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
8000 vld1_s16 (const int16_t * __a)
8001 {
8002   return (int16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
8003 }
8004
8005 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
8006 vld1_s32 (const int32_t * __a)
8007 {
8008   return (int32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
8009 }
8010
8011 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
8012 vld1_s64 (const int64_t * __a)
8013 {
8014   return (int64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
8015 }
8016
8017 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
8018 vld1_f32 (const float32_t * __a)
8019 {
8020   return (float32x2_t)__builtin_neon_vld1v2sf ((const __builtin_neon_sf *) __a);
8021 }
8022
8023 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
8024 vld1_u8 (const uint8_t * __a)
8025 {
8026   return (uint8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
8027 }
8028
8029 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
8030 vld1_u16 (const uint16_t * __a)
8031 {
8032   return (uint16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
8033 }
8034
8035 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
8036 vld1_u32 (const uint32_t * __a)
8037 {
8038   return (uint32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
8039 }
8040
8041 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
8042 vld1_u64 (const uint64_t * __a)
8043 {
8044   return (uint64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
8045 }
8046
8047 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
8048 vld1_p8 (const poly8_t * __a)
8049 {
8050   return (poly8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
8051 }
8052
8053 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
8054 vld1_p16 (const poly16_t * __a)
8055 {
8056   return (poly16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
8057 }
8058
8059 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
8060 vld1q_s8 (const int8_t * __a)
8061 {
8062   return (int8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
8063 }
8064
8065 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
8066 vld1q_s16 (const int16_t * __a)
8067 {
8068   return (int16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
8069 }
8070
8071 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
8072 vld1q_s32 (const int32_t * __a)
8073 {
8074   return (int32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
8075 }
8076
8077 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
8078 vld1q_s64 (const int64_t * __a)
8079 {
8080   return (int64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
8081 }
8082
8083 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
8084 vld1q_f32 (const float32_t * __a)
8085 {
8086   return (float32x4_t)__builtin_neon_vld1v4sf ((const __builtin_neon_sf *) __a);
8087 }
8088
8089 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
8090 vld1q_u8 (const uint8_t * __a)
8091 {
8092   return (uint8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
8093 }
8094
8095 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
8096 vld1q_u16 (const uint16_t * __a)
8097 {
8098   return (uint16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
8099 }
8100
8101 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
8102 vld1q_u32 (const uint32_t * __a)
8103 {
8104   return (uint32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
8105 }
8106
8107 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
8108 vld1q_u64 (const uint64_t * __a)
8109 {
8110   return (uint64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
8111 }
8112
8113 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
8114 vld1q_p8 (const poly8_t * __a)
8115 {
8116   return (poly8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
8117 }
8118
8119 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
8120 vld1q_p16 (const poly16_t * __a)
8121 {
8122   return (poly16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
8123 }
8124
8125 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
8126 vld1_lane_s8 (const int8_t * __a, int8x8_t __b, const int __c)
8127 {
8128   return (int8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, __b, __c);
8129 }
8130
8131 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
8132 vld1_lane_s16 (const int16_t * __a, int16x4_t __b, const int __c)
8133 {
8134   return (int16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, __b, __c);
8135 }
8136
8137 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
8138 vld1_lane_s32 (const int32_t * __a, int32x2_t __b, const int __c)
8139 {
8140   return (int32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, __b, __c);
8141 }
8142
8143 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
8144 vld1_lane_f32 (const float32_t * __a, float32x2_t __b, const int __c)
8145 {
8146   return (float32x2_t)__builtin_neon_vld1_lanev2sf ((const __builtin_neon_sf *) __a, __b, __c);
8147 }
8148
8149 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
8150 vld1_lane_u8 (const uint8_t * __a, uint8x8_t __b, const int __c)
8151 {
8152   return (uint8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8153 }
8154
8155 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
8156 vld1_lane_u16 (const uint16_t * __a, uint16x4_t __b, const int __c)
8157 {
8158   return (uint16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8159 }
8160
8161 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
8162 vld1_lane_u32 (const uint32_t * __a, uint32x2_t __b, const int __c)
8163 {
8164   return (uint32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, (int32x2_t) __b, __c);
8165 }
8166
8167 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
8168 vld1_lane_p8 (const poly8_t * __a, poly8x8_t __b, const int __c)
8169 {
8170   return (poly8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8171 }
8172
8173 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
8174 vld1_lane_p16 (const poly16_t * __a, poly16x4_t __b, const int __c)
8175 {
8176   return (poly16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8177 }
8178
8179 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
8180 vld1_lane_s64 (const int64_t * __a, int64x1_t __b, const int __c)
8181 {
8182   return (int64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, __b, __c);
8183 }
8184
8185 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
8186 vld1_lane_u64 (const uint64_t * __a, uint64x1_t __b, const int __c)
8187 {
8188   return (uint64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, (int64x1_t) __b, __c);
8189 }
8190
8191 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
8192 vld1q_lane_s8 (const int8_t * __a, int8x16_t __b, const int __c)
8193 {
8194   return (int8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, __b, __c);
8195 }
8196
8197 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
8198 vld1q_lane_s16 (const int16_t * __a, int16x8_t __b, const int __c)
8199 {
8200   return (int16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, __b, __c);
8201 }
8202
8203 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
8204 vld1q_lane_s32 (const int32_t * __a, int32x4_t __b, const int __c)
8205 {
8206   return (int32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, __b, __c);
8207 }
8208
8209 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
8210 vld1q_lane_f32 (const float32_t * __a, float32x4_t __b, const int __c)
8211 {
8212   return (float32x4_t)__builtin_neon_vld1_lanev4sf ((const __builtin_neon_sf *) __a, __b, __c);
8213 }
8214
8215 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
8216 vld1q_lane_u8 (const uint8_t * __a, uint8x16_t __b, const int __c)
8217 {
8218   return (uint8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8219 }
8220
8221 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
8222 vld1q_lane_u16 (const uint16_t * __a, uint16x8_t __b, const int __c)
8223 {
8224   return (uint16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8225 }
8226
8227 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
8228 vld1q_lane_u32 (const uint32_t * __a, uint32x4_t __b, const int __c)
8229 {
8230   return (uint32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, (int32x4_t) __b, __c);
8231 }
8232
8233 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
8234 vld1q_lane_p8 (const poly8_t * __a, poly8x16_t __b, const int __c)
8235 {
8236   return (poly8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8237 }
8238
8239 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
8240 vld1q_lane_p16 (const poly16_t * __a, poly16x8_t __b, const int __c)
8241 {
8242   return (poly16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8243 }
8244
8245 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
8246 vld1q_lane_s64 (const int64_t * __a, int64x2_t __b, const int __c)
8247 {
8248   return (int64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, __b, __c);
8249 }
8250
8251 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
8252 vld1q_lane_u64 (const uint64_t * __a, uint64x2_t __b, const int __c)
8253 {
8254   return (uint64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, (int64x2_t) __b, __c);
8255 }
8256
8257 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
8258 vld1_dup_s8 (const int8_t * __a)
8259 {
8260   return (int8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8261 }
8262
8263 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
8264 vld1_dup_s16 (const int16_t * __a)
8265 {
8266   return (int16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8267 }
8268
8269 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
8270 vld1_dup_s32 (const int32_t * __a)
8271 {
8272   return (int32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
8273 }
8274
8275 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
8276 vld1_dup_f32 (const float32_t * __a)
8277 {
8278   return (float32x2_t)__builtin_neon_vld1_dupv2sf ((const __builtin_neon_sf *) __a);
8279 }
8280
8281 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
8282 vld1_dup_u8 (const uint8_t * __a)
8283 {
8284   return (uint8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8285 }
8286
8287 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
8288 vld1_dup_u16 (const uint16_t * __a)
8289 {
8290   return (uint16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8291 }
8292
8293 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
8294 vld1_dup_u32 (const uint32_t * __a)
8295 {
8296   return (uint32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
8297 }
8298
8299 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
8300 vld1_dup_p8 (const poly8_t * __a)
8301 {
8302   return (poly8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8303 }
8304
8305 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
8306 vld1_dup_p16 (const poly16_t * __a)
8307 {
8308   return (poly16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8309 }
8310
8311 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
8312 vld1_dup_s64 (const int64_t * __a)
8313 {
8314   return (int64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
8315 }
8316
8317 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
8318 vld1_dup_u64 (const uint64_t * __a)
8319 {
8320   return (uint64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
8321 }
8322
8323 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
8324 vld1q_dup_s8 (const int8_t * __a)
8325 {
8326   return (int8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8327 }
8328
8329 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
8330 vld1q_dup_s16 (const int16_t * __a)
8331 {
8332   return (int16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8333 }
8334
8335 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
8336 vld1q_dup_s32 (const int32_t * __a)
8337 {
8338   return (int32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
8339 }
8340
8341 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
8342 vld1q_dup_f32 (const float32_t * __a)
8343 {
8344   return (float32x4_t)__builtin_neon_vld1_dupv4sf ((const __builtin_neon_sf *) __a);
8345 }
8346
8347 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
8348 vld1q_dup_u8 (const uint8_t * __a)
8349 {
8350   return (uint8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8351 }
8352
8353 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
8354 vld1q_dup_u16 (const uint16_t * __a)
8355 {
8356   return (uint16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8357 }
8358
8359 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
8360 vld1q_dup_u32 (const uint32_t * __a)
8361 {
8362   return (uint32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
8363 }
8364
8365 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
8366 vld1q_dup_p8 (const poly8_t * __a)
8367 {
8368   return (poly8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8369 }
8370
8371 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
8372 vld1q_dup_p16 (const poly16_t * __a)
8373 {
8374   return (poly16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8375 }
8376
8377 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
8378 vld1q_dup_s64 (const int64_t * __a)
8379 {
8380   return (int64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
8381 }
8382
8383 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
8384 vld1q_dup_u64 (const uint64_t * __a)
8385 {
8386   return (uint64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
8387 }
8388
8389 __extension__ static __inline void __attribute__ ((__always_inline__))
8390 vst1_s8 (int8_t * __a, int8x8_t __b)
8391 {
8392   __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, __b);
8393 }
8394
8395 __extension__ static __inline void __attribute__ ((__always_inline__))
8396 vst1_s16 (int16_t * __a, int16x4_t __b)
8397 {
8398   __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, __b);
8399 }
8400
8401 __extension__ static __inline void __attribute__ ((__always_inline__))
8402 vst1_s32 (int32_t * __a, int32x2_t __b)
8403 {
8404   __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, __b);
8405 }
8406
8407 __extension__ static __inline void __attribute__ ((__always_inline__))
8408 vst1_s64 (int64_t * __a, int64x1_t __b)
8409 {
8410   __builtin_neon_vst1di ((__builtin_neon_di *) __a, __b);
8411 }
8412
8413 __extension__ static __inline void __attribute__ ((__always_inline__))
8414 vst1_f32 (float32_t * __a, float32x2_t __b)
8415 {
8416   __builtin_neon_vst1v2sf ((__builtin_neon_sf *) __a, __b);
8417 }
8418
8419 __extension__ static __inline void __attribute__ ((__always_inline__))
8420 vst1_u8 (uint8_t * __a, uint8x8_t __b)
8421 {
8422   __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
8423 }
8424
8425 __extension__ static __inline void __attribute__ ((__always_inline__))
8426 vst1_u16 (uint16_t * __a, uint16x4_t __b)
8427 {
8428   __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
8429 }
8430
8431 __extension__ static __inline void __attribute__ ((__always_inline__))
8432 vst1_u32 (uint32_t * __a, uint32x2_t __b)
8433 {
8434   __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, (int32x2_t) __b);
8435 }
8436
8437 __extension__ static __inline void __attribute__ ((__always_inline__))
8438 vst1_u64 (uint64_t * __a, uint64x1_t __b)
8439 {
8440   __builtin_neon_vst1di ((__builtin_neon_di *) __a, (int64x1_t) __b);
8441 }
8442
8443 __extension__ static __inline void __attribute__ ((__always_inline__))
8444 vst1_p8 (poly8_t * __a, poly8x8_t __b)
8445 {
8446   __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
8447 }
8448
8449 __extension__ static __inline void __attribute__ ((__always_inline__))
8450 vst1_p16 (poly16_t * __a, poly16x4_t __b)
8451 {
8452   __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
8453 }
8454
8455 __extension__ static __inline void __attribute__ ((__always_inline__))
8456 vst1q_s8 (int8_t * __a, int8x16_t __b)
8457 {
8458   __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, __b);
8459 }
8460
8461 __extension__ static __inline void __attribute__ ((__always_inline__))
8462 vst1q_s16 (int16_t * __a, int16x8_t __b)
8463 {
8464   __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, __b);
8465 }
8466
8467 __extension__ static __inline void __attribute__ ((__always_inline__))
8468 vst1q_s32 (int32_t * __a, int32x4_t __b)
8469 {
8470   __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, __b);
8471 }
8472
8473 __extension__ static __inline void __attribute__ ((__always_inline__))
8474 vst1q_s64 (int64_t * __a, int64x2_t __b)
8475 {
8476   __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, __b);
8477 }
8478
8479 __extension__ static __inline void __attribute__ ((__always_inline__))
8480 vst1q_f32 (float32_t * __a, float32x4_t __b)
8481 {
8482   __builtin_neon_vst1v4sf ((__builtin_neon_sf *) __a, __b);
8483 }
8484
8485 __extension__ static __inline void __attribute__ ((__always_inline__))
8486 vst1q_u8 (uint8_t * __a, uint8x16_t __b)
8487 {
8488   __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
8489 }
8490
8491 __extension__ static __inline void __attribute__ ((__always_inline__))
8492 vst1q_u16 (uint16_t * __a, uint16x8_t __b)
8493 {
8494   __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
8495 }
8496
8497 __extension__ static __inline void __attribute__ ((__always_inline__))
8498 vst1q_u32 (uint32_t * __a, uint32x4_t __b)
8499 {
8500   __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, (int32x4_t) __b);
8501 }
8502
8503 __extension__ static __inline void __attribute__ ((__always_inline__))
8504 vst1q_u64 (uint64_t * __a, uint64x2_t __b)
8505 {
8506   __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, (int64x2_t) __b);
8507 }
8508
8509 __extension__ static __inline void __attribute__ ((__always_inline__))
8510 vst1q_p8 (poly8_t * __a, poly8x16_t __b)
8511 {
8512   __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
8513 }
8514
8515 __extension__ static __inline void __attribute__ ((__always_inline__))
8516 vst1q_p16 (poly16_t * __a, poly16x8_t __b)
8517 {
8518   __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
8519 }
8520
8521 __extension__ static __inline void __attribute__ ((__always_inline__))
8522 vst1_lane_s8 (int8_t * __a, int8x8_t __b, const int __c)
8523 {
8524   __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, __b, __c);
8525 }
8526
8527 __extension__ static __inline void __attribute__ ((__always_inline__))
8528 vst1_lane_s16 (int16_t * __a, int16x4_t __b, const int __c)
8529 {
8530   __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, __b, __c);
8531 }
8532
8533 __extension__ static __inline void __attribute__ ((__always_inline__))
8534 vst1_lane_s32 (int32_t * __a, int32x2_t __b, const int __c)
8535 {
8536   __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, __b, __c);
8537 }
8538
8539 __extension__ static __inline void __attribute__ ((__always_inline__))
8540 vst1_lane_f32 (float32_t * __a, float32x2_t __b, const int __c)
8541 {
8542   __builtin_neon_vst1_lanev2sf ((__builtin_neon_sf *) __a, __b, __c);
8543 }
8544
8545 __extension__ static __inline void __attribute__ ((__always_inline__))
8546 vst1_lane_u8 (uint8_t * __a, uint8x8_t __b, const int __c)
8547 {
8548   __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8549 }
8550
8551 __extension__ static __inline void __attribute__ ((__always_inline__))
8552 vst1_lane_u16 (uint16_t * __a, uint16x4_t __b, const int __c)
8553 {
8554   __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8555 }
8556
8557 __extension__ static __inline void __attribute__ ((__always_inline__))
8558 vst1_lane_u32 (uint32_t * __a, uint32x2_t __b, const int __c)
8559 {
8560   __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, (int32x2_t) __b, __c);
8561 }
8562
8563 __extension__ static __inline void __attribute__ ((__always_inline__))
8564 vst1_lane_p8 (poly8_t * __a, poly8x8_t __b, const int __c)
8565 {
8566   __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8567 }
8568
8569 __extension__ static __inline void __attribute__ ((__always_inline__))
8570 vst1_lane_p16 (poly16_t * __a, poly16x4_t __b, const int __c)
8571 {
8572   __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8573 }
8574
8575 __extension__ static __inline void __attribute__ ((__always_inline__))
8576 vst1_lane_s64 (int64_t * __a, int64x1_t __b, const int __c)
8577 {
8578   __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, __b, __c);
8579 }
8580
8581 __extension__ static __inline void __attribute__ ((__always_inline__))
8582 vst1_lane_u64 (uint64_t * __a, uint64x1_t __b, const int __c)
8583 {
8584   __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, (int64x1_t) __b, __c);
8585 }
8586
8587 __extension__ static __inline void __attribute__ ((__always_inline__))
8588 vst1q_lane_s8 (int8_t * __a, int8x16_t __b, const int __c)
8589 {
8590   __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, __b, __c);
8591 }
8592
8593 __extension__ static __inline void __attribute__ ((__always_inline__))
8594 vst1q_lane_s16 (int16_t * __a, int16x8_t __b, const int __c)
8595 {
8596   __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, __b, __c);
8597 }
8598
8599 __extension__ static __inline void __attribute__ ((__always_inline__))
8600 vst1q_lane_s32 (int32_t * __a, int32x4_t __b, const int __c)
8601 {
8602   __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, __b, __c);
8603 }
8604
8605 __extension__ static __inline void __attribute__ ((__always_inline__))
8606 vst1q_lane_f32 (float32_t * __a, float32x4_t __b, const int __c)
8607 {
8608   __builtin_neon_vst1_lanev4sf ((__builtin_neon_sf *) __a, __b, __c);
8609 }
8610
8611 __extension__ static __inline void __attribute__ ((__always_inline__))
8612 vst1q_lane_u8 (uint8_t * __a, uint8x16_t __b, const int __c)
8613 {
8614   __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8615 }
8616
8617 __extension__ static __inline void __attribute__ ((__always_inline__))
8618 vst1q_lane_u16 (uint16_t * __a, uint16x8_t __b, const int __c)
8619 {
8620   __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8621 }
8622
8623 __extension__ static __inline void __attribute__ ((__always_inline__))
8624 vst1q_lane_u32 (uint32_t * __a, uint32x4_t __b, const int __c)
8625 {
8626   __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, (int32x4_t) __b, __c);
8627 }
8628
8629 __extension__ static __inline void __attribute__ ((__always_inline__))
8630 vst1q_lane_p8 (poly8_t * __a, poly8x16_t __b, const int __c)
8631 {
8632   __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8633 }
8634
8635 __extension__ static __inline void __attribute__ ((__always_inline__))
8636 vst1q_lane_p16 (poly16_t * __a, poly16x8_t __b, const int __c)
8637 {
8638   __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8639 }
8640
8641 __extension__ static __inline void __attribute__ ((__always_inline__))
8642 vst1q_lane_s64 (int64_t * __a, int64x2_t __b, const int __c)
8643 {
8644   __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, __b, __c);
8645 }
8646
8647 __extension__ static __inline void __attribute__ ((__always_inline__))
8648 vst1q_lane_u64 (uint64_t * __a, uint64x2_t __b, const int __c)
8649 {
8650   __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, (int64x2_t) __b, __c);
8651 }
8652
8653 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
8654 vld2_s8 (const int8_t * __a)
8655 {
8656   union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8657   __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
8658   return __rv.__i;
8659 }
8660
8661 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
8662 vld2_s16 (const int16_t * __a)
8663 {
8664   union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8665   __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
8666   return __rv.__i;
8667 }
8668
8669 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
8670 vld2_s32 (const int32_t * __a)
8671 {
8672   union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8673   __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
8674   return __rv.__i;
8675 }
8676
8677 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
8678 vld2_f32 (const float32_t * __a)
8679 {
8680   union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8681   __rv.__o = __builtin_neon_vld2v2sf ((const __builtin_neon_sf *) __a);
8682   return __rv.__i;
8683 }
8684
8685 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
8686 vld2_u8 (const uint8_t * __a)
8687 {
8688   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8689   __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
8690   return __rv.__i;
8691 }
8692
8693 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
8694 vld2_u16 (const uint16_t * __a)
8695 {
8696   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8697   __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
8698   return __rv.__i;
8699 }
8700
8701 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
8702 vld2_u32 (const uint32_t * __a)
8703 {
8704   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8705   __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
8706   return __rv.__i;
8707 }
8708
8709 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
8710 vld2_p8 (const poly8_t * __a)
8711 {
8712   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8713   __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
8714   return __rv.__i;
8715 }
8716
8717 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
8718 vld2_p16 (const poly16_t * __a)
8719 {
8720   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8721   __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
8722   return __rv.__i;
8723 }
8724
8725 __extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__))
8726 vld2_s64 (const int64_t * __a)
8727 {
8728   union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
8729   __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
8730   return __rv.__i;
8731 }
8732
8733 __extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__))
8734 vld2_u64 (const uint64_t * __a)
8735 {
8736   union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
8737   __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
8738   return __rv.__i;
8739 }
8740
8741 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
8742 vld2q_s8 (const int8_t * __a)
8743 {
8744   union { int8x16x2_t __i; __builtin_neon_oi __o; } __rv;
8745   __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
8746   return __rv.__i;
8747 }
8748
8749 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
8750 vld2q_s16 (const int16_t * __a)
8751 {
8752   union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8753   __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
8754   return __rv.__i;
8755 }
8756
8757 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
8758 vld2q_s32 (const int32_t * __a)
8759 {
8760   union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8761   __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
8762   return __rv.__i;
8763 }
8764
8765 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
8766 vld2q_f32 (const float32_t * __a)
8767 {
8768   union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8769   __rv.__o = __builtin_neon_vld2v4sf ((const __builtin_neon_sf *) __a);
8770   return __rv.__i;
8771 }
8772
8773 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
8774 vld2q_u8 (const uint8_t * __a)
8775 {
8776   union { uint8x16x2_t __i; __builtin_neon_oi __o; } __rv;
8777   __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
8778   return __rv.__i;
8779 }
8780
8781 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
8782 vld2q_u16 (const uint16_t * __a)
8783 {
8784   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8785   __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
8786   return __rv.__i;
8787 }
8788
8789 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
8790 vld2q_u32 (const uint32_t * __a)
8791 {
8792   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8793   __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
8794   return __rv.__i;
8795 }
8796
8797 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
8798 vld2q_p8 (const poly8_t * __a)
8799 {
8800   union { poly8x16x2_t __i; __builtin_neon_oi __o; } __rv;
8801   __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
8802   return __rv.__i;
8803 }
8804
8805 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
8806 vld2q_p16 (const poly16_t * __a)
8807 {
8808   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8809   __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
8810   return __rv.__i;
8811 }
8812
8813 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
8814 vld2_lane_s8 (const int8_t * __a, int8x8x2_t __b, const int __c)
8815 {
8816   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8817   union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8818   __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
8819   return __rv.__i;
8820 }
8821
8822 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
8823 vld2_lane_s16 (const int16_t * __a, int16x4x2_t __b, const int __c)
8824 {
8825   union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8826   union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8827   __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8828   return __rv.__i;
8829 }
8830
8831 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
8832 vld2_lane_s32 (const int32_t * __a, int32x2x2_t __b, const int __c)
8833 {
8834   union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8835   union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8836   __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
8837   return __rv.__i;
8838 }
8839
8840 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
8841 vld2_lane_f32 (const float32_t * __a, float32x2x2_t __b, const int __c)
8842 {
8843   union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8844   union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8845   __rv.__o = __builtin_neon_vld2_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
8846   return __rv.__i;
8847 }
8848
8849 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
8850 vld2_lane_u8 (const uint8_t * __a, uint8x8x2_t __b, const int __c)
8851 {
8852   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8853   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8854   __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
8855   return __rv.__i;
8856 }
8857
8858 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
8859 vld2_lane_u16 (const uint16_t * __a, uint16x4x2_t __b, const int __c)
8860 {
8861   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8862   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8863   __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8864   return __rv.__i;
8865 }
8866
8867 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
8868 vld2_lane_u32 (const uint32_t * __a, uint32x2x2_t __b, const int __c)
8869 {
8870   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8871   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8872   __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
8873   return __rv.__i;
8874 }
8875
8876 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
8877 vld2_lane_p8 (const poly8_t * __a, poly8x8x2_t __b, const int __c)
8878 {
8879   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8880   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8881   __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
8882   return __rv.__i;
8883 }
8884
8885 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
8886 vld2_lane_p16 (const poly16_t * __a, poly16x4x2_t __b, const int __c)
8887 {
8888   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8889   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8890   __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8891   return __rv.__i;
8892 }
8893
8894 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
8895 vld2q_lane_s16 (const int16_t * __a, int16x8x2_t __b, const int __c)
8896 {
8897   union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8898   union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8899   __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8900   return __rv.__i;
8901 }
8902
8903 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
8904 vld2q_lane_s32 (const int32_t * __a, int32x4x2_t __b, const int __c)
8905 {
8906   union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8907   union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8908   __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
8909   return __rv.__i;
8910 }
8911
8912 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
8913 vld2q_lane_f32 (const float32_t * __a, float32x4x2_t __b, const int __c)
8914 {
8915   union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8916   union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8917   __rv.__o = __builtin_neon_vld2_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
8918   return __rv.__i;
8919 }
8920
8921 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
8922 vld2q_lane_u16 (const uint16_t * __a, uint16x8x2_t __b, const int __c)
8923 {
8924   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8925   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8926   __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8927   return __rv.__i;
8928 }
8929
8930 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
8931 vld2q_lane_u32 (const uint32_t * __a, uint32x4x2_t __b, const int __c)
8932 {
8933   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8934   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8935   __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
8936   return __rv.__i;
8937 }
8938
8939 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
8940 vld2q_lane_p16 (const poly16_t * __a, poly16x8x2_t __b, const int __c)
8941 {
8942   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8943   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8944   __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8945   return __rv.__i;
8946 }
8947
8948 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
8949 vld2_dup_s8 (const int8_t * __a)
8950 {
8951   union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8952   __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
8953   return __rv.__i;
8954 }
8955
8956 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
8957 vld2_dup_s16 (const int16_t * __a)
8958 {
8959   union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8960   __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
8961   return __rv.__i;
8962 }
8963
8964 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
8965 vld2_dup_s32 (const int32_t * __a)
8966 {
8967   union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8968   __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
8969   return __rv.__i;
8970 }
8971
8972 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
8973 vld2_dup_f32 (const float32_t * __a)
8974 {
8975   union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8976   __rv.__o = __builtin_neon_vld2_dupv2sf ((const __builtin_neon_sf *) __a);
8977   return __rv.__i;
8978 }
8979
8980 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
8981 vld2_dup_u8 (const uint8_t * __a)
8982 {
8983   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8984   __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
8985   return __rv.__i;
8986 }
8987
8988 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
8989 vld2_dup_u16 (const uint16_t * __a)
8990 {
8991   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8992   __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
8993   return __rv.__i;
8994 }
8995
8996 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
8997 vld2_dup_u32 (const uint32_t * __a)
8998 {
8999   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9000   __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
9001   return __rv.__i;
9002 }
9003
9004 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
9005 vld2_dup_p8 (const poly8_t * __a)
9006 {
9007   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9008   __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
9009   return __rv.__i;
9010 }
9011
9012 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
9013 vld2_dup_p16 (const poly16_t * __a)
9014 {
9015   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9016   __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
9017   return __rv.__i;
9018 }
9019
9020 __extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__))
9021 vld2_dup_s64 (const int64_t * __a)
9022 {
9023   union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9024   __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
9025   return __rv.__i;
9026 }
9027
9028 __extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__))
9029 vld2_dup_u64 (const uint64_t * __a)
9030 {
9031   union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9032   __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
9033   return __rv.__i;
9034 }
9035
9036 __extension__ static __inline void __attribute__ ((__always_inline__))
9037 vst2_s8 (int8_t * __a, int8x8x2_t __b)
9038 {
9039   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9040   __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9041 }
9042
9043 __extension__ static __inline void __attribute__ ((__always_inline__))
9044 vst2_s16 (int16_t * __a, int16x4x2_t __b)
9045 {
9046   union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9047   __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9048 }
9049
9050 __extension__ static __inline void __attribute__ ((__always_inline__))
9051 vst2_s32 (int32_t * __a, int32x2x2_t __b)
9052 {
9053   union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9054   __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
9055 }
9056
9057 __extension__ static __inline void __attribute__ ((__always_inline__))
9058 vst2_f32 (float32_t * __a, float32x2x2_t __b)
9059 {
9060   union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9061   __builtin_neon_vst2v2sf ((__builtin_neon_sf *) __a, __bu.__o);
9062 }
9063
9064 __extension__ static __inline void __attribute__ ((__always_inline__))
9065 vst2_u8 (uint8_t * __a, uint8x8x2_t __b)
9066 {
9067   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9068   __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9069 }
9070
9071 __extension__ static __inline void __attribute__ ((__always_inline__))
9072 vst2_u16 (uint16_t * __a, uint16x4x2_t __b)
9073 {
9074   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9075   __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9076 }
9077
9078 __extension__ static __inline void __attribute__ ((__always_inline__))
9079 vst2_u32 (uint32_t * __a, uint32x2x2_t __b)
9080 {
9081   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9082   __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
9083 }
9084
9085 __extension__ static __inline void __attribute__ ((__always_inline__))
9086 vst2_p8 (poly8_t * __a, poly8x8x2_t __b)
9087 {
9088   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9089   __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9090 }
9091
9092 __extension__ static __inline void __attribute__ ((__always_inline__))
9093 vst2_p16 (poly16_t * __a, poly16x4x2_t __b)
9094 {
9095   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9096   __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9097 }
9098
9099 __extension__ static __inline void __attribute__ ((__always_inline__))
9100 vst2_s64 (int64_t * __a, int64x1x2_t __b)
9101 {
9102   union { int64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9103   __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
9104 }
9105
9106 __extension__ static __inline void __attribute__ ((__always_inline__))
9107 vst2_u64 (uint64_t * __a, uint64x1x2_t __b)
9108 {
9109   union { uint64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9110   __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
9111 }
9112
9113 __extension__ static __inline void __attribute__ ((__always_inline__))
9114 vst2q_s8 (int8_t * __a, int8x16x2_t __b)
9115 {
9116   union { int8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9117   __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9118 }
9119
9120 __extension__ static __inline void __attribute__ ((__always_inline__))
9121 vst2q_s16 (int16_t * __a, int16x8x2_t __b)
9122 {
9123   union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9124   __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9125 }
9126
9127 __extension__ static __inline void __attribute__ ((__always_inline__))
9128 vst2q_s32 (int32_t * __a, int32x4x2_t __b)
9129 {
9130   union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9131   __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
9132 }
9133
9134 __extension__ static __inline void __attribute__ ((__always_inline__))
9135 vst2q_f32 (float32_t * __a, float32x4x2_t __b)
9136 {
9137   union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9138   __builtin_neon_vst2v4sf ((__builtin_neon_sf *) __a, __bu.__o);
9139 }
9140
9141 __extension__ static __inline void __attribute__ ((__always_inline__))
9142 vst2q_u8 (uint8_t * __a, uint8x16x2_t __b)
9143 {
9144   union { uint8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9145   __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9146 }
9147
9148 __extension__ static __inline void __attribute__ ((__always_inline__))
9149 vst2q_u16 (uint16_t * __a, uint16x8x2_t __b)
9150 {
9151   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9152   __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9153 }
9154
9155 __extension__ static __inline void __attribute__ ((__always_inline__))
9156 vst2q_u32 (uint32_t * __a, uint32x4x2_t __b)
9157 {
9158   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9159   __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
9160 }
9161
9162 __extension__ static __inline void __attribute__ ((__always_inline__))
9163 vst2q_p8 (poly8_t * __a, poly8x16x2_t __b)
9164 {
9165   union { poly8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9166   __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9167 }
9168
9169 __extension__ static __inline void __attribute__ ((__always_inline__))
9170 vst2q_p16 (poly16_t * __a, poly16x8x2_t __b)
9171 {
9172   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9173   __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9174 }
9175
9176 __extension__ static __inline void __attribute__ ((__always_inline__))
9177 vst2_lane_s8 (int8_t * __a, int8x8x2_t __b, const int __c)
9178 {
9179   union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9180   __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9181 }
9182
9183 __extension__ static __inline void __attribute__ ((__always_inline__))
9184 vst2_lane_s16 (int16_t * __a, int16x4x2_t __b, const int __c)
9185 {
9186   union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9187   __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9188 }
9189
9190 __extension__ static __inline void __attribute__ ((__always_inline__))
9191 vst2_lane_s32 (int32_t * __a, int32x2x2_t __b, const int __c)
9192 {
9193   union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9194   __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9195 }
9196
9197 __extension__ static __inline void __attribute__ ((__always_inline__))
9198 vst2_lane_f32 (float32_t * __a, float32x2x2_t __b, const int __c)
9199 {
9200   union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9201   __builtin_neon_vst2_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9202 }
9203
9204 __extension__ static __inline void __attribute__ ((__always_inline__))
9205 vst2_lane_u8 (uint8_t * __a, uint8x8x2_t __b, const int __c)
9206 {
9207   union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9208   __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9209 }
9210
9211 __extension__ static __inline void __attribute__ ((__always_inline__))
9212 vst2_lane_u16 (uint16_t * __a, uint16x4x2_t __b, const int __c)
9213 {
9214   union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9215   __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9216 }
9217
9218 __extension__ static __inline void __attribute__ ((__always_inline__))
9219 vst2_lane_u32 (uint32_t * __a, uint32x2x2_t __b, const int __c)
9220 {
9221   union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9222   __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9223 }
9224
9225 __extension__ static __inline void __attribute__ ((__always_inline__))
9226 vst2_lane_p8 (poly8_t * __a, poly8x8x2_t __b, const int __c)
9227 {
9228   union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9229   __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9230 }
9231
9232 __extension__ static __inline void __attribute__ ((__always_inline__))
9233 vst2_lane_p16 (poly16_t * __a, poly16x4x2_t __b, const int __c)
9234 {
9235   union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9236   __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9237 }
9238
9239 __extension__ static __inline void __attribute__ ((__always_inline__))
9240 vst2q_lane_s16 (int16_t * __a, int16x8x2_t __b, const int __c)
9241 {
9242   union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9243   __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9244 }
9245
9246 __extension__ static __inline void __attribute__ ((__always_inline__))
9247 vst2q_lane_s32 (int32_t * __a, int32x4x2_t __b, const int __c)
9248 {
9249   union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9250   __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9251 }
9252
9253 __extension__ static __inline void __attribute__ ((__always_inline__))
9254 vst2q_lane_f32 (float32_t * __a, float32x4x2_t __b, const int __c)
9255 {
9256   union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9257   __builtin_neon_vst2_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9258 }
9259
9260 __extension__ static __inline void __attribute__ ((__always_inline__))
9261 vst2q_lane_u16 (uint16_t * __a, uint16x8x2_t __b, const int __c)
9262 {
9263   union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9264   __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9265 }
9266
9267 __extension__ static __inline void __attribute__ ((__always_inline__))
9268 vst2q_lane_u32 (uint32_t * __a, uint32x4x2_t __b, const int __c)
9269 {
9270   union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9271   __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9272 }
9273
9274 __extension__ static __inline void __attribute__ ((__always_inline__))
9275 vst2q_lane_p16 (poly16_t * __a, poly16x8x2_t __b, const int __c)
9276 {
9277   union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9278   __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9279 }
9280
9281 __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
9282 vld3_s8 (const int8_t * __a)
9283 {
9284   union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9285   __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
9286   return __rv.__i;
9287 }
9288
9289 __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
9290 vld3_s16 (const int16_t * __a)
9291 {
9292   union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9293   __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
9294   return __rv.__i;
9295 }
9296
9297 __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
9298 vld3_s32 (const int32_t * __a)
9299 {
9300   union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9301   __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
9302   return __rv.__i;
9303 }
9304
9305 __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
9306 vld3_f32 (const float32_t * __a)
9307 {
9308   union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9309   __rv.__o = __builtin_neon_vld3v2sf ((const __builtin_neon_sf *) __a);
9310   return __rv.__i;
9311 }
9312
9313 __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
9314 vld3_u8 (const uint8_t * __a)
9315 {
9316   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9317   __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
9318   return __rv.__i;
9319 }
9320
9321 __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
9322 vld3_u16 (const uint16_t * __a)
9323 {
9324   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9325   __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
9326   return __rv.__i;
9327 }
9328
9329 __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
9330 vld3_u32 (const uint32_t * __a)
9331 {
9332   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9333   __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
9334   return __rv.__i;
9335 }
9336
9337 __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
9338 vld3_p8 (const poly8_t * __a)
9339 {
9340   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9341   __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
9342   return __rv.__i;
9343 }
9344
9345 __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
9346 vld3_p16 (const poly16_t * __a)
9347 {
9348   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9349   __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
9350   return __rv.__i;
9351 }
9352
9353 __extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__))
9354 vld3_s64 (const int64_t * __a)
9355 {
9356   union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9357   __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
9358   return __rv.__i;
9359 }
9360
9361 __extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__))
9362 vld3_u64 (const uint64_t * __a)
9363 {
9364   union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9365   __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
9366   return __rv.__i;
9367 }
9368
9369 __extension__ static __inline int8x16x3_t __attribute__ ((__always_inline__))
9370 vld3q_s8 (const int8_t * __a)
9371 {
9372   union { int8x16x3_t __i; __builtin_neon_ci __o; } __rv;
9373   __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
9374   return __rv.__i;
9375 }
9376
9377 __extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__))
9378 vld3q_s16 (const int16_t * __a)
9379 {
9380   union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9381   __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
9382   return __rv.__i;
9383 }
9384
9385 __extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__))
9386 vld3q_s32 (const int32_t * __a)
9387 {
9388   union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9389   __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
9390   return __rv.__i;
9391 }
9392
9393 __extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__))
9394 vld3q_f32 (const float32_t * __a)
9395 {
9396   union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9397   __rv.__o = __builtin_neon_vld3v4sf ((const __builtin_neon_sf *) __a);
9398   return __rv.__i;
9399 }
9400
9401 __extension__ static __inline uint8x16x3_t __attribute__ ((__always_inline__))
9402 vld3q_u8 (const uint8_t * __a)
9403 {
9404   union { uint8x16x3_t __i; __builtin_neon_ci __o; } __rv;
9405   __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
9406   return __rv.__i;
9407 }
9408
9409 __extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__))
9410 vld3q_u16 (const uint16_t * __a)
9411 {
9412   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9413   __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
9414   return __rv.__i;
9415 }
9416
9417 __extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__))
9418 vld3q_u32 (const uint32_t * __a)
9419 {
9420   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9421   __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
9422   return __rv.__i;
9423 }
9424
9425 __extension__ static __inline poly8x16x3_t __attribute__ ((__always_inline__))
9426 vld3q_p8 (const poly8_t * __a)
9427 {
9428   union { poly8x16x3_t __i; __builtin_neon_ci __o; } __rv;
9429   __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
9430   return __rv.__i;
9431 }
9432
9433 __extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__))
9434 vld3q_p16 (const poly16_t * __a)
9435 {
9436   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9437   __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
9438   return __rv.__i;
9439 }
9440
9441 __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
9442 vld3_lane_s8 (const int8_t * __a, int8x8x3_t __b, const int __c)
9443 {
9444   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9445   union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9446   __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9447   return __rv.__i;
9448 }
9449
9450 __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
9451 vld3_lane_s16 (const int16_t * __a, int16x4x3_t __b, const int __c)
9452 {
9453   union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9454   union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9455   __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9456   return __rv.__i;
9457 }
9458
9459 __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
9460 vld3_lane_s32 (const int32_t * __a, int32x2x3_t __b, const int __c)
9461 {
9462   union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9463   union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9464   __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9465   return __rv.__i;
9466 }
9467
9468 __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
9469 vld3_lane_f32 (const float32_t * __a, float32x2x3_t __b, const int __c)
9470 {
9471   union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9472   union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9473   __rv.__o = __builtin_neon_vld3_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
9474   return __rv.__i;
9475 }
9476
9477 __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
9478 vld3_lane_u8 (const uint8_t * __a, uint8x8x3_t __b, const int __c)
9479 {
9480   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9481   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9482   __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9483   return __rv.__i;
9484 }
9485
9486 __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
9487 vld3_lane_u16 (const uint16_t * __a, uint16x4x3_t __b, const int __c)
9488 {
9489   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9490   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9491   __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9492   return __rv.__i;
9493 }
9494
9495 __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
9496 vld3_lane_u32 (const uint32_t * __a, uint32x2x3_t __b, const int __c)
9497 {
9498   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9499   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9500   __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9501   return __rv.__i;
9502 }
9503
9504 __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
9505 vld3_lane_p8 (const poly8_t * __a, poly8x8x3_t __b, const int __c)
9506 {
9507   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9508   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9509   __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9510   return __rv.__i;
9511 }
9512
9513 __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
9514 vld3_lane_p16 (const poly16_t * __a, poly16x4x3_t __b, const int __c)
9515 {
9516   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9517   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9518   __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9519   return __rv.__i;
9520 }
9521
9522 __extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__))
9523 vld3q_lane_s16 (const int16_t * __a, int16x8x3_t __b, const int __c)
9524 {
9525   union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9526   union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9527   __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9528   return __rv.__i;
9529 }
9530
9531 __extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__))
9532 vld3q_lane_s32 (const int32_t * __a, int32x4x3_t __b, const int __c)
9533 {
9534   union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9535   union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9536   __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9537   return __rv.__i;
9538 }
9539
9540 __extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__))
9541 vld3q_lane_f32 (const float32_t * __a, float32x4x3_t __b, const int __c)
9542 {
9543   union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9544   union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9545   __rv.__o = __builtin_neon_vld3_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
9546   return __rv.__i;
9547 }
9548
9549 __extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__))
9550 vld3q_lane_u16 (const uint16_t * __a, uint16x8x3_t __b, const int __c)
9551 {
9552   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9553   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9554   __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9555   return __rv.__i;
9556 }
9557
9558 __extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__))
9559 vld3q_lane_u32 (const uint32_t * __a, uint32x4x3_t __b, const int __c)
9560 {
9561   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9562   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9563   __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9564   return __rv.__i;
9565 }
9566
9567 __extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__))
9568 vld3q_lane_p16 (const poly16_t * __a, poly16x8x3_t __b, const int __c)
9569 {
9570   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9571   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9572   __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9573   return __rv.__i;
9574 }
9575
9576 __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
9577 vld3_dup_s8 (const int8_t * __a)
9578 {
9579   union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9580   __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
9581   return __rv.__i;
9582 }
9583
9584 __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
9585 vld3_dup_s16 (const int16_t * __a)
9586 {
9587   union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9588   __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
9589   return __rv.__i;
9590 }
9591
9592 __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
9593 vld3_dup_s32 (const int32_t * __a)
9594 {
9595   union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9596   __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
9597   return __rv.__i;
9598 }
9599
9600 __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
9601 vld3_dup_f32 (const float32_t * __a)
9602 {
9603   union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9604   __rv.__o = __builtin_neon_vld3_dupv2sf ((const __builtin_neon_sf *) __a);
9605   return __rv.__i;
9606 }
9607
9608 __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
9609 vld3_dup_u8 (const uint8_t * __a)
9610 {
9611   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9612   __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
9613   return __rv.__i;
9614 }
9615
9616 __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
9617 vld3_dup_u16 (const uint16_t * __a)
9618 {
9619   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9620   __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
9621   return __rv.__i;
9622 }
9623
9624 __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
9625 vld3_dup_u32 (const uint32_t * __a)
9626 {
9627   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9628   __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
9629   return __rv.__i;
9630 }
9631
9632 __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
9633 vld3_dup_p8 (const poly8_t * __a)
9634 {
9635   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9636   __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
9637   return __rv.__i;
9638 }
9639
9640 __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
9641 vld3_dup_p16 (const poly16_t * __a)
9642 {
9643   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9644   __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
9645   return __rv.__i;
9646 }
9647
9648 __extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__))
9649 vld3_dup_s64 (const int64_t * __a)
9650 {
9651   union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9652   __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
9653   return __rv.__i;
9654 }
9655
9656 __extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__))
9657 vld3_dup_u64 (const uint64_t * __a)
9658 {
9659   union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9660   __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
9661   return __rv.__i;
9662 }
9663
9664 __extension__ static __inline void __attribute__ ((__always_inline__))
9665 vst3_s8 (int8_t * __a, int8x8x3_t __b)
9666 {
9667   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9668   __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9669 }
9670
9671 __extension__ static __inline void __attribute__ ((__always_inline__))
9672 vst3_s16 (int16_t * __a, int16x4x3_t __b)
9673 {
9674   union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9675   __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9676 }
9677
9678 __extension__ static __inline void __attribute__ ((__always_inline__))
9679 vst3_s32 (int32_t * __a, int32x2x3_t __b)
9680 {
9681   union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9682   __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
9683 }
9684
9685 __extension__ static __inline void __attribute__ ((__always_inline__))
9686 vst3_f32 (float32_t * __a, float32x2x3_t __b)
9687 {
9688   union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9689   __builtin_neon_vst3v2sf ((__builtin_neon_sf *) __a, __bu.__o);
9690 }
9691
9692 __extension__ static __inline void __attribute__ ((__always_inline__))
9693 vst3_u8 (uint8_t * __a, uint8x8x3_t __b)
9694 {
9695   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9696   __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9697 }
9698
9699 __extension__ static __inline void __attribute__ ((__always_inline__))
9700 vst3_u16 (uint16_t * __a, uint16x4x3_t __b)
9701 {
9702   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9703   __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9704 }
9705
9706 __extension__ static __inline void __attribute__ ((__always_inline__))
9707 vst3_u32 (uint32_t * __a, uint32x2x3_t __b)
9708 {
9709   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9710   __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
9711 }
9712
9713 __extension__ static __inline void __attribute__ ((__always_inline__))
9714 vst3_p8 (poly8_t * __a, poly8x8x3_t __b)
9715 {
9716   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9717   __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9718 }
9719
9720 __extension__ static __inline void __attribute__ ((__always_inline__))
9721 vst3_p16 (poly16_t * __a, poly16x4x3_t __b)
9722 {
9723   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9724   __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9725 }
9726
9727 __extension__ static __inline void __attribute__ ((__always_inline__))
9728 vst3_s64 (int64_t * __a, int64x1x3_t __b)
9729 {
9730   union { int64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9731   __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
9732 }
9733
9734 __extension__ static __inline void __attribute__ ((__always_inline__))
9735 vst3_u64 (uint64_t * __a, uint64x1x3_t __b)
9736 {
9737   union { uint64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9738   __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
9739 }
9740
9741 __extension__ static __inline void __attribute__ ((__always_inline__))
9742 vst3q_s8 (int8_t * __a, int8x16x3_t __b)
9743 {
9744   union { int8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9745   __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9746 }
9747
9748 __extension__ static __inline void __attribute__ ((__always_inline__))
9749 vst3q_s16 (int16_t * __a, int16x8x3_t __b)
9750 {
9751   union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9752   __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9753 }
9754
9755 __extension__ static __inline void __attribute__ ((__always_inline__))
9756 vst3q_s32 (int32_t * __a, int32x4x3_t __b)
9757 {
9758   union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9759   __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
9760 }
9761
9762 __extension__ static __inline void __attribute__ ((__always_inline__))
9763 vst3q_f32 (float32_t * __a, float32x4x3_t __b)
9764 {
9765   union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9766   __builtin_neon_vst3v4sf ((__builtin_neon_sf *) __a, __bu.__o);
9767 }
9768
9769 __extension__ static __inline void __attribute__ ((__always_inline__))
9770 vst3q_u8 (uint8_t * __a, uint8x16x3_t __b)
9771 {
9772   union { uint8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9773   __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9774 }
9775
9776 __extension__ static __inline void __attribute__ ((__always_inline__))
9777 vst3q_u16 (uint16_t * __a, uint16x8x3_t __b)
9778 {
9779   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9780   __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9781 }
9782
9783 __extension__ static __inline void __attribute__ ((__always_inline__))
9784 vst3q_u32 (uint32_t * __a, uint32x4x3_t __b)
9785 {
9786   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9787   __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
9788 }
9789
9790 __extension__ static __inline void __attribute__ ((__always_inline__))
9791 vst3q_p8 (poly8_t * __a, poly8x16x3_t __b)
9792 {
9793   union { poly8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9794   __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9795 }
9796
9797 __extension__ static __inline void __attribute__ ((__always_inline__))
9798 vst3q_p16 (poly16_t * __a, poly16x8x3_t __b)
9799 {
9800   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9801   __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9802 }
9803
9804 __extension__ static __inline void __attribute__ ((__always_inline__))
9805 vst3_lane_s8 (int8_t * __a, int8x8x3_t __b, const int __c)
9806 {
9807   union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9808   __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9809 }
9810
9811 __extension__ static __inline void __attribute__ ((__always_inline__))
9812 vst3_lane_s16 (int16_t * __a, int16x4x3_t __b, const int __c)
9813 {
9814   union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9815   __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9816 }
9817
9818 __extension__ static __inline void __attribute__ ((__always_inline__))
9819 vst3_lane_s32 (int32_t * __a, int32x2x3_t __b, const int __c)
9820 {
9821   union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9822   __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9823 }
9824
9825 __extension__ static __inline void __attribute__ ((__always_inline__))
9826 vst3_lane_f32 (float32_t * __a, float32x2x3_t __b, const int __c)
9827 {
9828   union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9829   __builtin_neon_vst3_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9830 }
9831
9832 __extension__ static __inline void __attribute__ ((__always_inline__))
9833 vst3_lane_u8 (uint8_t * __a, uint8x8x3_t __b, const int __c)
9834 {
9835   union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9836   __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9837 }
9838
9839 __extension__ static __inline void __attribute__ ((__always_inline__))
9840 vst3_lane_u16 (uint16_t * __a, uint16x4x3_t __b, const int __c)
9841 {
9842   union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9843   __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9844 }
9845
9846 __extension__ static __inline void __attribute__ ((__always_inline__))
9847 vst3_lane_u32 (uint32_t * __a, uint32x2x3_t __b, const int __c)
9848 {
9849   union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9850   __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9851 }
9852
9853 __extension__ static __inline void __attribute__ ((__always_inline__))
9854 vst3_lane_p8 (poly8_t * __a, poly8x8x3_t __b, const int __c)
9855 {
9856   union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9857   __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9858 }
9859
9860 __extension__ static __inline void __attribute__ ((__always_inline__))
9861 vst3_lane_p16 (poly16_t * __a, poly16x4x3_t __b, const int __c)
9862 {
9863   union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9864   __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9865 }
9866
9867 __extension__ static __inline void __attribute__ ((__always_inline__))
9868 vst3q_lane_s16 (int16_t * __a, int16x8x3_t __b, const int __c)
9869 {
9870   union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9871   __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9872 }
9873
9874 __extension__ static __inline void __attribute__ ((__always_inline__))
9875 vst3q_lane_s32 (int32_t * __a, int32x4x3_t __b, const int __c)
9876 {
9877   union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9878   __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9879 }
9880
9881 __extension__ static __inline void __attribute__ ((__always_inline__))
9882 vst3q_lane_f32 (float32_t * __a, float32x4x3_t __b, const int __c)
9883 {
9884   union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9885   __builtin_neon_vst3_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9886 }
9887
9888 __extension__ static __inline void __attribute__ ((__always_inline__))
9889 vst3q_lane_u16 (uint16_t * __a, uint16x8x3_t __b, const int __c)
9890 {
9891   union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9892   __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9893 }
9894
9895 __extension__ static __inline void __attribute__ ((__always_inline__))
9896 vst3q_lane_u32 (uint32_t * __a, uint32x4x3_t __b, const int __c)
9897 {
9898   union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9899   __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9900 }
9901
9902 __extension__ static __inline void __attribute__ ((__always_inline__))
9903 vst3q_lane_p16 (poly16_t * __a, poly16x8x3_t __b, const int __c)
9904 {
9905   union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9906   __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9907 }
9908
9909 __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
9910 vld4_s8 (const int8_t * __a)
9911 {
9912   union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
9913   __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
9914   return __rv.__i;
9915 }
9916
9917 __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
9918 vld4_s16 (const int16_t * __a)
9919 {
9920   union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
9921   __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
9922   return __rv.__i;
9923 }
9924
9925 __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
9926 vld4_s32 (const int32_t * __a)
9927 {
9928   union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
9929   __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
9930   return __rv.__i;
9931 }
9932
9933 __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
9934 vld4_f32 (const float32_t * __a)
9935 {
9936   union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
9937   __rv.__o = __builtin_neon_vld4v2sf ((const __builtin_neon_sf *) __a);
9938   return __rv.__i;
9939 }
9940
9941 __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
9942 vld4_u8 (const uint8_t * __a)
9943 {
9944   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
9945   __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
9946   return __rv.__i;
9947 }
9948
9949 __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
9950 vld4_u16 (const uint16_t * __a)
9951 {
9952   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
9953   __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
9954   return __rv.__i;
9955 }
9956
9957 __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
9958 vld4_u32 (const uint32_t * __a)
9959 {
9960   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
9961   __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
9962   return __rv.__i;
9963 }
9964
9965 __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
9966 vld4_p8 (const poly8_t * __a)
9967 {
9968   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
9969   __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
9970   return __rv.__i;
9971 }
9972
9973 __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
9974 vld4_p16 (const poly16_t * __a)
9975 {
9976   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
9977   __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
9978   return __rv.__i;
9979 }
9980
9981 __extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__))
9982 vld4_s64 (const int64_t * __a)
9983 {
9984   union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
9985   __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
9986   return __rv.__i;
9987 }
9988
9989 __extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__))
9990 vld4_u64 (const uint64_t * __a)
9991 {
9992   union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
9993   __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
9994   return __rv.__i;
9995 }
9996
9997 __extension__ static __inline int8x16x4_t __attribute__ ((__always_inline__))
9998 vld4q_s8 (const int8_t * __a)
9999 {
10000   union { int8x16x4_t __i; __builtin_neon_xi __o; } __rv;
10001   __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
10002   return __rv.__i;
10003 }
10004
10005 __extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__))
10006 vld4q_s16 (const int16_t * __a)
10007 {
10008   union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10009   __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
10010   return __rv.__i;
10011 }
10012
10013 __extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__))
10014 vld4q_s32 (const int32_t * __a)
10015 {
10016   union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10017   __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
10018   return __rv.__i;
10019 }
10020
10021 __extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__))
10022 vld4q_f32 (const float32_t * __a)
10023 {
10024   union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10025   __rv.__o = __builtin_neon_vld4v4sf ((const __builtin_neon_sf *) __a);
10026   return __rv.__i;
10027 }
10028
10029 __extension__ static __inline uint8x16x4_t __attribute__ ((__always_inline__))
10030 vld4q_u8 (const uint8_t * __a)
10031 {
10032   union { uint8x16x4_t __i; __builtin_neon_xi __o; } __rv;
10033   __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
10034   return __rv.__i;
10035 }
10036
10037 __extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__))
10038 vld4q_u16 (const uint16_t * __a)
10039 {
10040   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10041   __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
10042   return __rv.__i;
10043 }
10044
10045 __extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__))
10046 vld4q_u32 (const uint32_t * __a)
10047 {
10048   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10049   __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
10050   return __rv.__i;
10051 }
10052
10053 __extension__ static __inline poly8x16x4_t __attribute__ ((__always_inline__))
10054 vld4q_p8 (const poly8_t * __a)
10055 {
10056   union { poly8x16x4_t __i; __builtin_neon_xi __o; } __rv;
10057   __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
10058   return __rv.__i;
10059 }
10060
10061 __extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__))
10062 vld4q_p16 (const poly16_t * __a)
10063 {
10064   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10065   __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
10066   return __rv.__i;
10067 }
10068
10069 __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
10070 vld4_lane_s8 (const int8_t * __a, int8x8x4_t __b, const int __c)
10071 {
10072   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10073   union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10074   __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10075   return __rv.__i;
10076 }
10077
10078 __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
10079 vld4_lane_s16 (const int16_t * __a, int16x4x4_t __b, const int __c)
10080 {
10081   union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10082   union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10083   __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10084   return __rv.__i;
10085 }
10086
10087 __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
10088 vld4_lane_s32 (const int32_t * __a, int32x2x4_t __b, const int __c)
10089 {
10090   union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10091   union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10092   __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10093   return __rv.__i;
10094 }
10095
10096 __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
10097 vld4_lane_f32 (const float32_t * __a, float32x2x4_t __b, const int __c)
10098 {
10099   union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10100   union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10101   __rv.__o = __builtin_neon_vld4_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
10102   return __rv.__i;
10103 }
10104
10105 __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
10106 vld4_lane_u8 (const uint8_t * __a, uint8x8x4_t __b, const int __c)
10107 {
10108   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10109   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10110   __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10111   return __rv.__i;
10112 }
10113
10114 __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
10115 vld4_lane_u16 (const uint16_t * __a, uint16x4x4_t __b, const int __c)
10116 {
10117   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10118   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10119   __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10120   return __rv.__i;
10121 }
10122
10123 __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
10124 vld4_lane_u32 (const uint32_t * __a, uint32x2x4_t __b, const int __c)
10125 {
10126   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10127   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10128   __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10129   return __rv.__i;
10130 }
10131
10132 __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
10133 vld4_lane_p8 (const poly8_t * __a, poly8x8x4_t __b, const int __c)
10134 {
10135   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10136   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10137   __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10138   return __rv.__i;
10139 }
10140
10141 __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
10142 vld4_lane_p16 (const poly16_t * __a, poly16x4x4_t __b, const int __c)
10143 {
10144   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10145   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10146   __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10147   return __rv.__i;
10148 }
10149
10150 __extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__))
10151 vld4q_lane_s16 (const int16_t * __a, int16x8x4_t __b, const int __c)
10152 {
10153   union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10154   union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10155   __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10156   return __rv.__i;
10157 }
10158
10159 __extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__))
10160 vld4q_lane_s32 (const int32_t * __a, int32x4x4_t __b, const int __c)
10161 {
10162   union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10163   union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10164   __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10165   return __rv.__i;
10166 }
10167
10168 __extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__))
10169 vld4q_lane_f32 (const float32_t * __a, float32x4x4_t __b, const int __c)
10170 {
10171   union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10172   union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10173   __rv.__o = __builtin_neon_vld4_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
10174   return __rv.__i;
10175 }
10176
10177 __extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__))
10178 vld4q_lane_u16 (const uint16_t * __a, uint16x8x4_t __b, const int __c)
10179 {
10180   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10181   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10182   __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10183   return __rv.__i;
10184 }
10185
10186 __extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__))
10187 vld4q_lane_u32 (const uint32_t * __a, uint32x4x4_t __b, const int __c)
10188 {
10189   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10190   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10191   __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10192   return __rv.__i;
10193 }
10194
10195 __extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__))
10196 vld4q_lane_p16 (const poly16_t * __a, poly16x8x4_t __b, const int __c)
10197 {
10198   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10199   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10200   __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10201   return __rv.__i;
10202 }
10203
10204 __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
10205 vld4_dup_s8 (const int8_t * __a)
10206 {
10207   union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10208   __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10209   return __rv.__i;
10210 }
10211
10212 __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
10213 vld4_dup_s16 (const int16_t * __a)
10214 {
10215   union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10216   __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10217   return __rv.__i;
10218 }
10219
10220 __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
10221 vld4_dup_s32 (const int32_t * __a)
10222 {
10223   union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10224   __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
10225   return __rv.__i;
10226 }
10227
10228 __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
10229 vld4_dup_f32 (const float32_t * __a)
10230 {
10231   union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10232   __rv.__o = __builtin_neon_vld4_dupv2sf ((const __builtin_neon_sf *) __a);
10233   return __rv.__i;
10234 }
10235
10236 __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
10237 vld4_dup_u8 (const uint8_t * __a)
10238 {
10239   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10240   __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10241   return __rv.__i;
10242 }
10243
10244 __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
10245 vld4_dup_u16 (const uint16_t * __a)
10246 {
10247   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10248   __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10249   return __rv.__i;
10250 }
10251
10252 __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
10253 vld4_dup_u32 (const uint32_t * __a)
10254 {
10255   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10256   __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
10257   return __rv.__i;
10258 }
10259
10260 __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
10261 vld4_dup_p8 (const poly8_t * __a)
10262 {
10263   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10264   __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10265   return __rv.__i;
10266 }
10267
10268 __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
10269 vld4_dup_p16 (const poly16_t * __a)
10270 {
10271   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10272   __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10273   return __rv.__i;
10274 }
10275
10276 __extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__))
10277 vld4_dup_s64 (const int64_t * __a)
10278 {
10279   union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10280   __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
10281   return __rv.__i;
10282 }
10283
10284 __extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__))
10285 vld4_dup_u64 (const uint64_t * __a)
10286 {
10287   union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10288   __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
10289   return __rv.__i;
10290 }
10291
10292 __extension__ static __inline void __attribute__ ((__always_inline__))
10293 vst4_s8 (int8_t * __a, int8x8x4_t __b)
10294 {
10295   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10296   __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10297 }
10298
10299 __extension__ static __inline void __attribute__ ((__always_inline__))
10300 vst4_s16 (int16_t * __a, int16x4x4_t __b)
10301 {
10302   union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10303   __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10304 }
10305
10306 __extension__ static __inline void __attribute__ ((__always_inline__))
10307 vst4_s32 (int32_t * __a, int32x2x4_t __b)
10308 {
10309   union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10310   __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
10311 }
10312
10313 __extension__ static __inline void __attribute__ ((__always_inline__))
10314 vst4_f32 (float32_t * __a, float32x2x4_t __b)
10315 {
10316   union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10317   __builtin_neon_vst4v2sf ((__builtin_neon_sf *) __a, __bu.__o);
10318 }
10319
10320 __extension__ static __inline void __attribute__ ((__always_inline__))
10321 vst4_u8 (uint8_t * __a, uint8x8x4_t __b)
10322 {
10323   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10324   __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10325 }
10326
10327 __extension__ static __inline void __attribute__ ((__always_inline__))
10328 vst4_u16 (uint16_t * __a, uint16x4x4_t __b)
10329 {
10330   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10331   __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10332 }
10333
10334 __extension__ static __inline void __attribute__ ((__always_inline__))
10335 vst4_u32 (uint32_t * __a, uint32x2x4_t __b)
10336 {
10337   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10338   __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
10339 }
10340
10341 __extension__ static __inline void __attribute__ ((__always_inline__))
10342 vst4_p8 (poly8_t * __a, poly8x8x4_t __b)
10343 {
10344   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10345   __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10346 }
10347
10348 __extension__ static __inline void __attribute__ ((__always_inline__))
10349 vst4_p16 (poly16_t * __a, poly16x4x4_t __b)
10350 {
10351   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10352   __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10353 }
10354
10355 __extension__ static __inline void __attribute__ ((__always_inline__))
10356 vst4_s64 (int64_t * __a, int64x1x4_t __b)
10357 {
10358   union { int64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10359   __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
10360 }
10361
10362 __extension__ static __inline void __attribute__ ((__always_inline__))
10363 vst4_u64 (uint64_t * __a, uint64x1x4_t __b)
10364 {
10365   union { uint64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10366   __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
10367 }
10368
10369 __extension__ static __inline void __attribute__ ((__always_inline__))
10370 vst4q_s8 (int8_t * __a, int8x16x4_t __b)
10371 {
10372   union { int8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10373   __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10374 }
10375
10376 __extension__ static __inline void __attribute__ ((__always_inline__))
10377 vst4q_s16 (int16_t * __a, int16x8x4_t __b)
10378 {
10379   union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10380   __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10381 }
10382
10383 __extension__ static __inline void __attribute__ ((__always_inline__))
10384 vst4q_s32 (int32_t * __a, int32x4x4_t __b)
10385 {
10386   union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10387   __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
10388 }
10389
10390 __extension__ static __inline void __attribute__ ((__always_inline__))
10391 vst4q_f32 (float32_t * __a, float32x4x4_t __b)
10392 {
10393   union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10394   __builtin_neon_vst4v4sf ((__builtin_neon_sf *) __a, __bu.__o);
10395 }
10396
10397 __extension__ static __inline void __attribute__ ((__always_inline__))
10398 vst4q_u8 (uint8_t * __a, uint8x16x4_t __b)
10399 {
10400   union { uint8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10401   __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10402 }
10403
10404 __extension__ static __inline void __attribute__ ((__always_inline__))
10405 vst4q_u16 (uint16_t * __a, uint16x8x4_t __b)
10406 {
10407   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10408   __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10409 }
10410
10411 __extension__ static __inline void __attribute__ ((__always_inline__))
10412 vst4q_u32 (uint32_t * __a, uint32x4x4_t __b)
10413 {
10414   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10415   __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
10416 }
10417
10418 __extension__ static __inline void __attribute__ ((__always_inline__))
10419 vst4q_p8 (poly8_t * __a, poly8x16x4_t __b)
10420 {
10421   union { poly8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10422   __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10423 }
10424
10425 __extension__ static __inline void __attribute__ ((__always_inline__))
10426 vst4q_p16 (poly16_t * __a, poly16x8x4_t __b)
10427 {
10428   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10429   __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10430 }
10431
10432 __extension__ static __inline void __attribute__ ((__always_inline__))
10433 vst4_lane_s8 (int8_t * __a, int8x8x4_t __b, const int __c)
10434 {
10435   union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10436   __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10437 }
10438
10439 __extension__ static __inline void __attribute__ ((__always_inline__))
10440 vst4_lane_s16 (int16_t * __a, int16x4x4_t __b, const int __c)
10441 {
10442   union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10443   __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10444 }
10445
10446 __extension__ static __inline void __attribute__ ((__always_inline__))
10447 vst4_lane_s32 (int32_t * __a, int32x2x4_t __b, const int __c)
10448 {
10449   union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10450   __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
10451 }
10452
10453 __extension__ static __inline void __attribute__ ((__always_inline__))
10454 vst4_lane_f32 (float32_t * __a, float32x2x4_t __b, const int __c)
10455 {
10456   union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10457   __builtin_neon_vst4_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
10458 }
10459
10460 __extension__ static __inline void __attribute__ ((__always_inline__))
10461 vst4_lane_u8 (uint8_t * __a, uint8x8x4_t __b, const int __c)
10462 {
10463   union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10464   __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10465 }
10466
10467 __extension__ static __inline void __attribute__ ((__always_inline__))
10468 vst4_lane_u16 (uint16_t * __a, uint16x4x4_t __b, const int __c)
10469 {
10470   union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10471   __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10472 }
10473
10474 __extension__ static __inline void __attribute__ ((__always_inline__))
10475 vst4_lane_u32 (uint32_t * __a, uint32x2x4_t __b, const int __c)
10476 {
10477   union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10478   __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
10479 }
10480
10481 __extension__ static __inline void __attribute__ ((__always_inline__))
10482 vst4_lane_p8 (poly8_t * __a, poly8x8x4_t __b, const int __c)
10483 {
10484   union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10485   __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10486 }
10487
10488 __extension__ static __inline void __attribute__ ((__always_inline__))
10489 vst4_lane_p16 (poly16_t * __a, poly16x4x4_t __b, const int __c)
10490 {
10491   union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10492   __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10493 }
10494
10495 __extension__ static __inline void __attribute__ ((__always_inline__))
10496 vst4q_lane_s16 (int16_t * __a, int16x8x4_t __b, const int __c)
10497 {
10498   union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10499   __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10500 }
10501
10502 __extension__ static __inline void __attribute__ ((__always_inline__))
10503 vst4q_lane_s32 (int32_t * __a, int32x4x4_t __b, const int __c)
10504 {
10505   union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10506   __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
10507 }
10508
10509 __extension__ static __inline void __attribute__ ((__always_inline__))
10510 vst4q_lane_f32 (float32_t * __a, float32x4x4_t __b, const int __c)
10511 {
10512   union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10513   __builtin_neon_vst4_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
10514 }
10515
10516 __extension__ static __inline void __attribute__ ((__always_inline__))
10517 vst4q_lane_u16 (uint16_t * __a, uint16x8x4_t __b, const int __c)
10518 {
10519   union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10520   __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10521 }
10522
10523 __extension__ static __inline void __attribute__ ((__always_inline__))
10524 vst4q_lane_u32 (uint32_t * __a, uint32x4x4_t __b, const int __c)
10525 {
10526   union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10527   __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
10528 }
10529
10530 __extension__ static __inline void __attribute__ ((__always_inline__))
10531 vst4q_lane_p16 (poly16_t * __a, poly16x8x4_t __b, const int __c)
10532 {
10533   union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10534   __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10535 }
10536
10537 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
10538 vand_s8 (int8x8_t __a, int8x8_t __b)
10539 {
10540   return (int8x8_t)__builtin_neon_vandv8qi (__a, __b, 1);
10541 }
10542
10543 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
10544 vand_s16 (int16x4_t __a, int16x4_t __b)
10545 {
10546   return (int16x4_t)__builtin_neon_vandv4hi (__a, __b, 1);
10547 }
10548
10549 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
10550 vand_s32 (int32x2_t __a, int32x2_t __b)
10551 {
10552   return (int32x2_t)__builtin_neon_vandv2si (__a, __b, 1);
10553 }
10554
10555 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
10556 vand_u8 (uint8x8_t __a, uint8x8_t __b)
10557 {
10558   return (uint8x8_t)__builtin_neon_vandv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10559 }
10560
10561 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
10562 vand_u16 (uint16x4_t __a, uint16x4_t __b)
10563 {
10564   return (uint16x4_t)__builtin_neon_vandv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10565 }
10566
10567 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
10568 vand_u32 (uint32x2_t __a, uint32x2_t __b)
10569 {
10570   return (uint32x2_t)__builtin_neon_vandv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10571 }
10572
10573 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
10574 vand_s64 (int64x1_t __a, int64x1_t __b)
10575 {
10576   return (int64x1_t)__builtin_neon_vanddi (__a, __b, 1);
10577 }
10578
10579 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
10580 vand_u64 (uint64x1_t __a, uint64x1_t __b)
10581 {
10582   return (uint64x1_t)__builtin_neon_vanddi ((int64x1_t) __a, (int64x1_t) __b, 0);
10583 }
10584
10585 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
10586 vandq_s8 (int8x16_t __a, int8x16_t __b)
10587 {
10588   return (int8x16_t)__builtin_neon_vandv16qi (__a, __b, 1);
10589 }
10590
10591 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
10592 vandq_s16 (int16x8_t __a, int16x8_t __b)
10593 {
10594   return (int16x8_t)__builtin_neon_vandv8hi (__a, __b, 1);
10595 }
10596
10597 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
10598 vandq_s32 (int32x4_t __a, int32x4_t __b)
10599 {
10600   return (int32x4_t)__builtin_neon_vandv4si (__a, __b, 1);
10601 }
10602
10603 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
10604 vandq_s64 (int64x2_t __a, int64x2_t __b)
10605 {
10606   return (int64x2_t)__builtin_neon_vandv2di (__a, __b, 1);
10607 }
10608
10609 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
10610 vandq_u8 (uint8x16_t __a, uint8x16_t __b)
10611 {
10612   return (uint8x16_t)__builtin_neon_vandv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10613 }
10614
10615 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
10616 vandq_u16 (uint16x8_t __a, uint16x8_t __b)
10617 {
10618   return (uint16x8_t)__builtin_neon_vandv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10619 }
10620
10621 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
10622 vandq_u32 (uint32x4_t __a, uint32x4_t __b)
10623 {
10624   return (uint32x4_t)__builtin_neon_vandv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10625 }
10626
10627 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
10628 vandq_u64 (uint64x2_t __a, uint64x2_t __b)
10629 {
10630   return (uint64x2_t)__builtin_neon_vandv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
10631 }
10632
10633 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
10634 vorr_s8 (int8x8_t __a, int8x8_t __b)
10635 {
10636   return (int8x8_t)__builtin_neon_vorrv8qi (__a, __b, 1);
10637 }
10638
10639 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
10640 vorr_s16 (int16x4_t __a, int16x4_t __b)
10641 {
10642   return (int16x4_t)__builtin_neon_vorrv4hi (__a, __b, 1);
10643 }
10644
10645 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
10646 vorr_s32 (int32x2_t __a, int32x2_t __b)
10647 {
10648   return (int32x2_t)__builtin_neon_vorrv2si (__a, __b, 1);
10649 }
10650
10651 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
10652 vorr_u8 (uint8x8_t __a, uint8x8_t __b)
10653 {
10654   return (uint8x8_t)__builtin_neon_vorrv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10655 }
10656
10657 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
10658 vorr_u16 (uint16x4_t __a, uint16x4_t __b)
10659 {
10660   return (uint16x4_t)__builtin_neon_vorrv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10661 }
10662
10663 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
10664 vorr_u32 (uint32x2_t __a, uint32x2_t __b)
10665 {
10666   return (uint32x2_t)__builtin_neon_vorrv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10667 }
10668
10669 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
10670 vorr_s64 (int64x1_t __a, int64x1_t __b)
10671 {
10672   return (int64x1_t)__builtin_neon_vorrdi (__a, __b, 1);
10673 }
10674
10675 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
10676 vorr_u64 (uint64x1_t __a, uint64x1_t __b)
10677 {
10678   return (uint64x1_t)__builtin_neon_vorrdi ((int64x1_t) __a, (int64x1_t) __b, 0);
10679 }
10680
10681 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
10682 vorrq_s8 (int8x16_t __a, int8x16_t __b)
10683 {
10684   return (int8x16_t)__builtin_neon_vorrv16qi (__a, __b, 1);
10685 }
10686
10687 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
10688 vorrq_s16 (int16x8_t __a, int16x8_t __b)
10689 {
10690   return (int16x8_t)__builtin_neon_vorrv8hi (__a, __b, 1);
10691 }
10692
10693 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
10694 vorrq_s32 (int32x4_t __a, int32x4_t __b)
10695 {
10696   return (int32x4_t)__builtin_neon_vorrv4si (__a, __b, 1);
10697 }
10698
10699 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
10700 vorrq_s64 (int64x2_t __a, int64x2_t __b)
10701 {
10702   return (int64x2_t)__builtin_neon_vorrv2di (__a, __b, 1);
10703 }
10704
10705 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
10706 vorrq_u8 (uint8x16_t __a, uint8x16_t __b)
10707 {
10708   return (uint8x16_t)__builtin_neon_vorrv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10709 }
10710
10711 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
10712 vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
10713 {
10714   return (uint16x8_t)__builtin_neon_vorrv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10715 }
10716
10717 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
10718 vorrq_u32 (uint32x4_t __a, uint32x4_t __b)
10719 {
10720   return (uint32x4_t)__builtin_neon_vorrv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10721 }
10722
10723 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
10724 vorrq_u64 (uint64x2_t __a, uint64x2_t __b)
10725 {
10726   return (uint64x2_t)__builtin_neon_vorrv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
10727 }
10728
10729 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
10730 veor_s8 (int8x8_t __a, int8x8_t __b)
10731 {
10732   return (int8x8_t)__builtin_neon_veorv8qi (__a, __b, 1);
10733 }
10734
10735 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
10736 veor_s16 (int16x4_t __a, int16x4_t __b)
10737 {
10738   return (int16x4_t)__builtin_neon_veorv4hi (__a, __b, 1);
10739 }
10740
10741 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
10742 veor_s32 (int32x2_t __a, int32x2_t __b)
10743 {
10744   return (int32x2_t)__builtin_neon_veorv2si (__a, __b, 1);
10745 }
10746
10747 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
10748 veor_u8 (uint8x8_t __a, uint8x8_t __b)
10749 {
10750   return (uint8x8_t)__builtin_neon_veorv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10751 }
10752
10753 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
10754 veor_u16 (uint16x4_t __a, uint16x4_t __b)
10755 {
10756   return (uint16x4_t)__builtin_neon_veorv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10757 }
10758
10759 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
10760 veor_u32 (uint32x2_t __a, uint32x2_t __b)
10761 {
10762   return (uint32x2_t)__builtin_neon_veorv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10763 }
10764
10765 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
10766 veor_s64 (int64x1_t __a, int64x1_t __b)
10767 {
10768   return (int64x1_t)__builtin_neon_veordi (__a, __b, 1);
10769 }
10770
10771 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
10772 veor_u64 (uint64x1_t __a, uint64x1_t __b)
10773 {
10774   return (uint64x1_t)__builtin_neon_veordi ((int64x1_t) __a, (int64x1_t) __b, 0);
10775 }
10776
10777 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
10778 veorq_s8 (int8x16_t __a, int8x16_t __b)
10779 {
10780   return (int8x16_t)__builtin_neon_veorv16qi (__a, __b, 1);
10781 }
10782
10783 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
10784 veorq_s16 (int16x8_t __a, int16x8_t __b)
10785 {
10786   return (int16x8_t)__builtin_neon_veorv8hi (__a, __b, 1);
10787 }
10788
10789 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
10790 veorq_s32 (int32x4_t __a, int32x4_t __b)
10791 {
10792   return (int32x4_t)__builtin_neon_veorv4si (__a, __b, 1);
10793 }
10794
10795 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
10796 veorq_s64 (int64x2_t __a, int64x2_t __b)
10797 {
10798   return (int64x2_t)__builtin_neon_veorv2di (__a, __b, 1);
10799 }
10800
10801 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
10802 veorq_u8 (uint8x16_t __a, uint8x16_t __b)
10803 {
10804   return (uint8x16_t)__builtin_neon_veorv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10805 }
10806
10807 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
10808 veorq_u16 (uint16x8_t __a, uint16x8_t __b)
10809 {
10810   return (uint16x8_t)__builtin_neon_veorv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10811 }
10812
10813 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
10814 veorq_u32 (uint32x4_t __a, uint32x4_t __b)
10815 {
10816   return (uint32x4_t)__builtin_neon_veorv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10817 }
10818
10819 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
10820 veorq_u64 (uint64x2_t __a, uint64x2_t __b)
10821 {
10822   return (uint64x2_t)__builtin_neon_veorv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
10823 }
10824
10825 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
10826 vbic_s8 (int8x8_t __a, int8x8_t __b)
10827 {
10828   return (int8x8_t)__builtin_neon_vbicv8qi (__a, __b, 1);
10829 }
10830
10831 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
10832 vbic_s16 (int16x4_t __a, int16x4_t __b)
10833 {
10834   return (int16x4_t)__builtin_neon_vbicv4hi (__a, __b, 1);
10835 }
10836
10837 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
10838 vbic_s32 (int32x2_t __a, int32x2_t __b)
10839 {
10840   return (int32x2_t)__builtin_neon_vbicv2si (__a, __b, 1);
10841 }
10842
10843 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
10844 vbic_u8 (uint8x8_t __a, uint8x8_t __b)
10845 {
10846   return (uint8x8_t)__builtin_neon_vbicv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10847 }
10848
10849 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
10850 vbic_u16 (uint16x4_t __a, uint16x4_t __b)
10851 {
10852   return (uint16x4_t)__builtin_neon_vbicv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10853 }
10854
10855 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
10856 vbic_u32 (uint32x2_t __a, uint32x2_t __b)
10857 {
10858   return (uint32x2_t)__builtin_neon_vbicv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10859 }
10860
10861 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
10862 vbic_s64 (int64x1_t __a, int64x1_t __b)
10863 {
10864   return (int64x1_t)__builtin_neon_vbicdi (__a, __b, 1);
10865 }
10866
10867 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
10868 vbic_u64 (uint64x1_t __a, uint64x1_t __b)
10869 {
10870   return (uint64x1_t)__builtin_neon_vbicdi ((int64x1_t) __a, (int64x1_t) __b, 0);
10871 }
10872
10873 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
10874 vbicq_s8 (int8x16_t __a, int8x16_t __b)
10875 {
10876   return (int8x16_t)__builtin_neon_vbicv16qi (__a, __b, 1);
10877 }
10878
10879 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
10880 vbicq_s16 (int16x8_t __a, int16x8_t __b)
10881 {
10882   return (int16x8_t)__builtin_neon_vbicv8hi (__a, __b, 1);
10883 }
10884
10885 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
10886 vbicq_s32 (int32x4_t __a, int32x4_t __b)
10887 {
10888   return (int32x4_t)__builtin_neon_vbicv4si (__a, __b, 1);
10889 }
10890
10891 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
10892 vbicq_s64 (int64x2_t __a, int64x2_t __b)
10893 {
10894   return (int64x2_t)__builtin_neon_vbicv2di (__a, __b, 1);
10895 }
10896
10897 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
10898 vbicq_u8 (uint8x16_t __a, uint8x16_t __b)
10899 {
10900   return (uint8x16_t)__builtin_neon_vbicv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10901 }
10902
10903 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
10904 vbicq_u16 (uint16x8_t __a, uint16x8_t __b)
10905 {
10906   return (uint16x8_t)__builtin_neon_vbicv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10907 }
10908
10909 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
10910 vbicq_u32 (uint32x4_t __a, uint32x4_t __b)
10911 {
10912   return (uint32x4_t)__builtin_neon_vbicv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10913 }
10914
10915 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
10916 vbicq_u64 (uint64x2_t __a, uint64x2_t __b)
10917 {
10918   return (uint64x2_t)__builtin_neon_vbicv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
10919 }
10920
10921 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
10922 vorn_s8 (int8x8_t __a, int8x8_t __b)
10923 {
10924   return (int8x8_t)__builtin_neon_vornv8qi (__a, __b, 1);
10925 }
10926
10927 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
10928 vorn_s16 (int16x4_t __a, int16x4_t __b)
10929 {
10930   return (int16x4_t)__builtin_neon_vornv4hi (__a, __b, 1);
10931 }
10932
10933 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
10934 vorn_s32 (int32x2_t __a, int32x2_t __b)
10935 {
10936   return (int32x2_t)__builtin_neon_vornv2si (__a, __b, 1);
10937 }
10938
10939 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
10940 vorn_u8 (uint8x8_t __a, uint8x8_t __b)
10941 {
10942   return (uint8x8_t)__builtin_neon_vornv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10943 }
10944
10945 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
10946 vorn_u16 (uint16x4_t __a, uint16x4_t __b)
10947 {
10948   return (uint16x4_t)__builtin_neon_vornv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10949 }
10950
10951 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
10952 vorn_u32 (uint32x2_t __a, uint32x2_t __b)
10953 {
10954   return (uint32x2_t)__builtin_neon_vornv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10955 }
10956
10957 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
10958 vorn_s64 (int64x1_t __a, int64x1_t __b)
10959 {
10960   return (int64x1_t)__builtin_neon_vorndi (__a, __b, 1);
10961 }
10962
10963 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
10964 vorn_u64 (uint64x1_t __a, uint64x1_t __b)
10965 {
10966   return (uint64x1_t)__builtin_neon_vorndi ((int64x1_t) __a, (int64x1_t) __b, 0);
10967 }
10968
10969 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
10970 vornq_s8 (int8x16_t __a, int8x16_t __b)
10971 {
10972   return (int8x16_t)__builtin_neon_vornv16qi (__a, __b, 1);
10973 }
10974
10975 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
10976 vornq_s16 (int16x8_t __a, int16x8_t __b)
10977 {
10978   return (int16x8_t)__builtin_neon_vornv8hi (__a, __b, 1);
10979 }
10980
10981 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
10982 vornq_s32 (int32x4_t __a, int32x4_t __b)
10983 {
10984   return (int32x4_t)__builtin_neon_vornv4si (__a, __b, 1);
10985 }
10986
10987 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
10988 vornq_s64 (int64x2_t __a, int64x2_t __b)
10989 {
10990   return (int64x2_t)__builtin_neon_vornv2di (__a, __b, 1);
10991 }
10992
10993 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
10994 vornq_u8 (uint8x16_t __a, uint8x16_t __b)
10995 {
10996   return (uint8x16_t)__builtin_neon_vornv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10997 }
10998
10999 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
11000 vornq_u16 (uint16x8_t __a, uint16x8_t __b)
11001 {
11002   return (uint16x8_t)__builtin_neon_vornv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
11003 }
11004
11005 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
11006 vornq_u32 (uint32x4_t __a, uint32x4_t __b)
11007 {
11008   return (uint32x4_t)__builtin_neon_vornv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
11009 }
11010
11011 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11012 vornq_u64 (uint64x2_t __a, uint64x2_t __b)
11013 {
11014   return (uint64x2_t)__builtin_neon_vornv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
11015 }
11016
11017
11018 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11019 vreinterpret_p8_s8 (int8x8_t __a)
11020 {
11021   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a);
11022 }
11023
11024 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11025 vreinterpret_p8_s16 (int16x4_t __a)
11026 {
11027   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
11028 }
11029
11030 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11031 vreinterpret_p8_s32 (int32x2_t __a)
11032 {
11033   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
11034 }
11035
11036 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11037 vreinterpret_p8_s64 (int64x1_t __a)
11038 {
11039   return (poly8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
11040 }
11041
11042 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11043 vreinterpret_p8_f32 (float32x2_t __a)
11044 {
11045   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
11046 }
11047
11048 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11049 vreinterpret_p8_u8 (uint8x8_t __a)
11050 {
11051   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
11052 }
11053
11054 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11055 vreinterpret_p8_u16 (uint16x4_t __a)
11056 {
11057   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11058 }
11059
11060 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11061 vreinterpret_p8_u32 (uint32x2_t __a)
11062 {
11063   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
11064 }
11065
11066 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11067 vreinterpret_p8_u64 (uint64x1_t __a)
11068 {
11069   return (poly8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
11070 }
11071
11072 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
11073 vreinterpret_p8_p16 (poly16x4_t __a)
11074 {
11075   return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11076 }
11077
11078 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
11079 vreinterpretq_p8_s8 (int8x16_t __a)
11080 {
11081   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a);
11082 }
11083
11084 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
11085 vreinterpretq_p8_s16 (int16x8_t __a)
11086 {
11087   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
11088 }
11089
11090 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
11091 vreinterpretq_p8_s32 (int32x4_t __a)
11092 {
11093   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
11094 }
11095
11096 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
11097 vreinterpretq_p8_s64 (int64x2_t __a)
11098 {
11099   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
11100 }
11101
11102 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
11103 vreinterpretq_p8_f32 (float32x4_t __a)
11104 {
11105   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
11106 }
11107
11108 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
11109 vreinterpretq_p8_u8 (uint8x16_t __a)
11110 {
11111   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
11112 }
11113
11114 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
11115 vreinterpretq_p8_u16 (uint16x8_t __a)
11116 {
11117   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
11118 }
11119
11120 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
11121 vreinterpretq_p8_u32 (uint32x4_t __a)
11122 {
11123   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
11124 }
11125
11126 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
11127 vreinterpretq_p8_u64 (uint64x2_t __a)
11128 {
11129   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
11130 }
11131
11132 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
11133 vreinterpretq_p8_p16 (poly16x8_t __a)
11134 {
11135   return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
11136 }
11137
11138 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11139 vreinterpret_p16_s8 (int8x8_t __a)
11140 {
11141   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
11142 }
11143
11144 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11145 vreinterpret_p16_s16 (int16x4_t __a)
11146 {
11147   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a);
11148 }
11149
11150 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11151 vreinterpret_p16_s32 (int32x2_t __a)
11152 {
11153   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
11154 }
11155
11156 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11157 vreinterpret_p16_s64 (int64x1_t __a)
11158 {
11159   return (poly16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
11160 }
11161
11162 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11163 vreinterpret_p16_f32 (float32x2_t __a)
11164 {
11165   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
11166 }
11167
11168 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11169 vreinterpret_p16_u8 (uint8x8_t __a)
11170 {
11171   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11172 }
11173
11174 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11175 vreinterpret_p16_u16 (uint16x4_t __a)
11176 {
11177   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11178 }
11179
11180 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11181 vreinterpret_p16_u32 (uint32x2_t __a)
11182 {
11183   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
11184 }
11185
11186 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11187 vreinterpret_p16_u64 (uint64x1_t __a)
11188 {
11189   return (poly16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
11190 }
11191
11192 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11193 vreinterpret_p16_p8 (poly8x8_t __a)
11194 {
11195   return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11196 }
11197
11198 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11199 vreinterpretq_p16_s8 (int8x16_t __a)
11200 {
11201   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
11202 }
11203
11204 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11205 vreinterpretq_p16_s16 (int16x8_t __a)
11206 {
11207   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a);
11208 }
11209
11210 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11211 vreinterpretq_p16_s32 (int32x4_t __a)
11212 {
11213   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
11214 }
11215
11216 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11217 vreinterpretq_p16_s64 (int64x2_t __a)
11218 {
11219   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
11220 }
11221
11222 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11223 vreinterpretq_p16_f32 (float32x4_t __a)
11224 {
11225   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
11226 }
11227
11228 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11229 vreinterpretq_p16_u8 (uint8x16_t __a)
11230 {
11231   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
11232 }
11233
11234 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11235 vreinterpretq_p16_u16 (uint16x8_t __a)
11236 {
11237   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
11238 }
11239
11240 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11241 vreinterpretq_p16_u32 (uint32x4_t __a)
11242 {
11243   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
11244 }
11245
11246 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11247 vreinterpretq_p16_u64 (uint64x2_t __a)
11248 {
11249   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
11250 }
11251
11252 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11253 vreinterpretq_p16_p8 (poly8x16_t __a)
11254 {
11255   return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
11256 }
11257
11258 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11259 vreinterpret_f32_s8 (int8x8_t __a)
11260 {
11261   return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi (__a);
11262 }
11263
11264 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11265 vreinterpret_f32_s16 (int16x4_t __a)
11266 {
11267   return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi (__a);
11268 }
11269
11270 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11271 vreinterpret_f32_s32 (int32x2_t __a)
11272 {
11273   return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si (__a);
11274 }
11275
11276 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11277 vreinterpret_f32_s64 (int64x1_t __a)
11278 {
11279   return (float32x2_t)__builtin_neon_vreinterpretv2sfdi (__a);
11280 }
11281
11282 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11283 vreinterpret_f32_u8 (uint8x8_t __a)
11284 {
11285   return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a);
11286 }
11287
11288 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11289 vreinterpret_f32_u16 (uint16x4_t __a)
11290 {
11291   return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a);
11292 }
11293
11294 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11295 vreinterpret_f32_u32 (uint32x2_t __a)
11296 {
11297   return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si ((int32x2_t) __a);
11298 }
11299
11300 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11301 vreinterpret_f32_u64 (uint64x1_t __a)
11302 {
11303   return (float32x2_t)__builtin_neon_vreinterpretv2sfdi ((int64x1_t) __a);
11304 }
11305
11306 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11307 vreinterpret_f32_p8 (poly8x8_t __a)
11308 {
11309   return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a);
11310 }
11311
11312 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11313 vreinterpret_f32_p16 (poly16x4_t __a)
11314 {
11315   return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a);
11316 }
11317
11318 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11319 vreinterpretq_f32_s8 (int8x16_t __a)
11320 {
11321   return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi (__a);
11322 }
11323
11324 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11325 vreinterpretq_f32_s16 (int16x8_t __a)
11326 {
11327   return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi (__a);
11328 }
11329
11330 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11331 vreinterpretq_f32_s32 (int32x4_t __a)
11332 {
11333   return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si (__a);
11334 }
11335
11336 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11337 vreinterpretq_f32_s64 (int64x2_t __a)
11338 {
11339   return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di (__a);
11340 }
11341
11342 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11343 vreinterpretq_f32_u8 (uint8x16_t __a)
11344 {
11345   return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a);
11346 }
11347
11348 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11349 vreinterpretq_f32_u16 (uint16x8_t __a)
11350 {
11351   return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a);
11352 }
11353
11354 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11355 vreinterpretq_f32_u32 (uint32x4_t __a)
11356 {
11357   return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si ((int32x4_t) __a);
11358 }
11359
11360 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11361 vreinterpretq_f32_u64 (uint64x2_t __a)
11362 {
11363   return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di ((int64x2_t) __a);
11364 }
11365
11366 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11367 vreinterpretq_f32_p8 (poly8x16_t __a)
11368 {
11369   return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a);
11370 }
11371
11372 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11373 vreinterpretq_f32_p16 (poly16x8_t __a)
11374 {
11375   return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a);
11376 }
11377
11378 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11379 vreinterpret_s64_s8 (int8x8_t __a)
11380 {
11381   return (int64x1_t)__builtin_neon_vreinterpretdiv8qi (__a);
11382 }
11383
11384 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11385 vreinterpret_s64_s16 (int16x4_t __a)
11386 {
11387   return (int64x1_t)__builtin_neon_vreinterpretdiv4hi (__a);
11388 }
11389
11390 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11391 vreinterpret_s64_s32 (int32x2_t __a)
11392 {
11393   return (int64x1_t)__builtin_neon_vreinterpretdiv2si (__a);
11394 }
11395
11396 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11397 vreinterpret_s64_f32 (float32x2_t __a)
11398 {
11399   return (int64x1_t)__builtin_neon_vreinterpretdiv2sf (__a);
11400 }
11401
11402 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11403 vreinterpret_s64_u8 (uint8x8_t __a)
11404 {
11405   return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11406 }
11407
11408 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11409 vreinterpret_s64_u16 (uint16x4_t __a)
11410 {
11411   return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11412 }
11413
11414 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11415 vreinterpret_s64_u32 (uint32x2_t __a)
11416 {
11417   return (int64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a);
11418 }
11419
11420 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11421 vreinterpret_s64_u64 (uint64x1_t __a)
11422 {
11423   return (int64x1_t)__builtin_neon_vreinterpretdidi ((int64x1_t) __a);
11424 }
11425
11426 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11427 vreinterpret_s64_p8 (poly8x8_t __a)
11428 {
11429   return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11430 }
11431
11432 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11433 vreinterpret_s64_p16 (poly16x4_t __a)
11434 {
11435   return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11436 }
11437
11438 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11439 vreinterpretq_s64_s8 (int8x16_t __a)
11440 {
11441   return (int64x2_t)__builtin_neon_vreinterpretv2div16qi (__a);
11442 }
11443
11444 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11445 vreinterpretq_s64_s16 (int16x8_t __a)
11446 {
11447   return (int64x2_t)__builtin_neon_vreinterpretv2div8hi (__a);
11448 }
11449
11450 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11451 vreinterpretq_s64_s32 (int32x4_t __a)
11452 {
11453   return (int64x2_t)__builtin_neon_vreinterpretv2div4si (__a);
11454 }
11455
11456 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11457 vreinterpretq_s64_f32 (float32x4_t __a)
11458 {
11459   return (int64x2_t)__builtin_neon_vreinterpretv2div4sf (__a);
11460 }
11461
11462 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11463 vreinterpretq_s64_u8 (uint8x16_t __a)
11464 {
11465   return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
11466 }
11467
11468 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11469 vreinterpretq_s64_u16 (uint16x8_t __a)
11470 {
11471   return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
11472 }
11473
11474 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11475 vreinterpretq_s64_u32 (uint32x4_t __a)
11476 {
11477   return (int64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a);
11478 }
11479
11480 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11481 vreinterpretq_s64_u64 (uint64x2_t __a)
11482 {
11483   return (int64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a);
11484 }
11485
11486 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11487 vreinterpretq_s64_p8 (poly8x16_t __a)
11488 {
11489   return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
11490 }
11491
11492 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11493 vreinterpretq_s64_p16 (poly16x8_t __a)
11494 {
11495   return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
11496 }
11497
11498 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11499 vreinterpret_u64_s8 (int8x8_t __a)
11500 {
11501   return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi (__a);
11502 }
11503
11504 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11505 vreinterpret_u64_s16 (int16x4_t __a)
11506 {
11507   return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi (__a);
11508 }
11509
11510 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11511 vreinterpret_u64_s32 (int32x2_t __a)
11512 {
11513   return (uint64x1_t)__builtin_neon_vreinterpretdiv2si (__a);
11514 }
11515
11516 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11517 vreinterpret_u64_s64 (int64x1_t __a)
11518 {
11519   return (uint64x1_t)__builtin_neon_vreinterpretdidi (__a);
11520 }
11521
11522 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11523 vreinterpret_u64_f32 (float32x2_t __a)
11524 {
11525   return (uint64x1_t)__builtin_neon_vreinterpretdiv2sf (__a);
11526 }
11527
11528 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11529 vreinterpret_u64_u8 (uint8x8_t __a)
11530 {
11531   return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11532 }
11533
11534 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11535 vreinterpret_u64_u16 (uint16x4_t __a)
11536 {
11537   return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11538 }
11539
11540 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11541 vreinterpret_u64_u32 (uint32x2_t __a)
11542 {
11543   return (uint64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a);
11544 }
11545
11546 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11547 vreinterpret_u64_p8 (poly8x8_t __a)
11548 {
11549   return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11550 }
11551
11552 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11553 vreinterpret_u64_p16 (poly16x4_t __a)
11554 {
11555   return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11556 }
11557
11558 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11559 vreinterpretq_u64_s8 (int8x16_t __a)
11560 {
11561   return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi (__a);
11562 }
11563
11564 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11565 vreinterpretq_u64_s16 (int16x8_t __a)
11566 {
11567   return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi (__a);
11568 }
11569
11570 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11571 vreinterpretq_u64_s32 (int32x4_t __a)
11572 {
11573   return (uint64x2_t)__builtin_neon_vreinterpretv2div4si (__a);
11574 }
11575
11576 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11577 vreinterpretq_u64_s64 (int64x2_t __a)
11578 {
11579   return (uint64x2_t)__builtin_neon_vreinterpretv2div2di (__a);
11580 }
11581
11582 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11583 vreinterpretq_u64_f32 (float32x4_t __a)
11584 {
11585   return (uint64x2_t)__builtin_neon_vreinterpretv2div4sf (__a);
11586 }
11587
11588 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11589 vreinterpretq_u64_u8 (uint8x16_t __a)
11590 {
11591   return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
11592 }
11593
11594 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11595 vreinterpretq_u64_u16 (uint16x8_t __a)
11596 {
11597   return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
11598 }
11599
11600 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11601 vreinterpretq_u64_u32 (uint32x4_t __a)
11602 {
11603   return (uint64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a);
11604 }
11605
11606 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11607 vreinterpretq_u64_p8 (poly8x16_t __a)
11608 {
11609   return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
11610 }
11611
11612 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11613 vreinterpretq_u64_p16 (poly16x8_t __a)
11614 {
11615   return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
11616 }
11617
11618 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11619 vreinterpret_s8_s16 (int16x4_t __a)
11620 {
11621   return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
11622 }
11623
11624 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11625 vreinterpret_s8_s32 (int32x2_t __a)
11626 {
11627   return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
11628 }
11629
11630 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11631 vreinterpret_s8_s64 (int64x1_t __a)
11632 {
11633   return (int8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
11634 }
11635
11636 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11637 vreinterpret_s8_f32 (float32x2_t __a)
11638 {
11639   return (int8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
11640 }
11641
11642 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11643 vreinterpret_s8_u8 (uint8x8_t __a)
11644 {
11645   return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
11646 }
11647
11648 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11649 vreinterpret_s8_u16 (uint16x4_t __a)
11650 {
11651   return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11652 }
11653
11654 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11655 vreinterpret_s8_u32 (uint32x2_t __a)
11656 {
11657   return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
11658 }
11659
11660 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11661 vreinterpret_s8_u64 (uint64x1_t __a)
11662 {
11663   return (int8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
11664 }
11665
11666 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11667 vreinterpret_s8_p8 (poly8x8_t __a)
11668 {
11669   return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
11670 }
11671
11672 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11673 vreinterpret_s8_p16 (poly16x4_t __a)
11674 {
11675   return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11676 }
11677
11678 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11679 vreinterpretq_s8_s16 (int16x8_t __a)
11680 {
11681   return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
11682 }
11683
11684 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11685 vreinterpretq_s8_s32 (int32x4_t __a)
11686 {
11687   return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
11688 }
11689
11690 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11691 vreinterpretq_s8_s64 (int64x2_t __a)
11692 {
11693   return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
11694 }
11695
11696 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11697 vreinterpretq_s8_f32 (float32x4_t __a)
11698 {
11699   return (int8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
11700 }
11701
11702 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11703 vreinterpretq_s8_u8 (uint8x16_t __a)
11704 {
11705   return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
11706 }
11707
11708 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11709 vreinterpretq_s8_u16 (uint16x8_t __a)
11710 {
11711   return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
11712 }
11713
11714 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11715 vreinterpretq_s8_u32 (uint32x4_t __a)
11716 {
11717   return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
11718 }
11719
11720 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11721 vreinterpretq_s8_u64 (uint64x2_t __a)
11722 {
11723   return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
11724 }
11725
11726 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11727 vreinterpretq_s8_p8 (poly8x16_t __a)
11728 {
11729   return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
11730 }
11731
11732 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11733 vreinterpretq_s8_p16 (poly16x8_t __a)
11734 {
11735   return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
11736 }
11737
11738 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11739 vreinterpret_s16_s8 (int8x8_t __a)
11740 {
11741   return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
11742 }
11743
11744 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11745 vreinterpret_s16_s32 (int32x2_t __a)
11746 {
11747   return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
11748 }
11749
11750 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11751 vreinterpret_s16_s64 (int64x1_t __a)
11752 {
11753   return (int16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
11754 }
11755
11756 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11757 vreinterpret_s16_f32 (float32x2_t __a)
11758 {
11759   return (int16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
11760 }
11761
11762 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11763 vreinterpret_s16_u8 (uint8x8_t __a)
11764 {
11765   return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11766 }
11767
11768 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11769 vreinterpret_s16_u16 (uint16x4_t __a)
11770 {
11771   return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11772 }
11773
11774 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11775 vreinterpret_s16_u32 (uint32x2_t __a)
11776 {
11777   return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
11778 }
11779
11780 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11781 vreinterpret_s16_u64 (uint64x1_t __a)
11782 {
11783   return (int16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
11784 }
11785
11786 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11787 vreinterpret_s16_p8 (poly8x8_t __a)
11788 {
11789   return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11790 }
11791
11792 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11793 vreinterpret_s16_p16 (poly16x4_t __a)
11794 {
11795   return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11796 }
11797
11798 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11799 vreinterpretq_s16_s8 (int8x16_t __a)
11800 {
11801   return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
11802 }
11803
11804 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11805 vreinterpretq_s16_s32 (int32x4_t __a)
11806 {
11807   return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
11808 }
11809
11810 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11811 vreinterpretq_s16_s64 (int64x2_t __a)
11812 {
11813   return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
11814 }
11815
11816 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11817 vreinterpretq_s16_f32 (float32x4_t __a)
11818 {
11819   return (int16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
11820 }
11821
11822 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11823 vreinterpretq_s16_u8 (uint8x16_t __a)
11824 {
11825   return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
11826 }
11827
11828 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11829 vreinterpretq_s16_u16 (uint16x8_t __a)
11830 {
11831   return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
11832 }
11833
11834 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11835 vreinterpretq_s16_u32 (uint32x4_t __a)
11836 {
11837   return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
11838 }
11839
11840 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11841 vreinterpretq_s16_u64 (uint64x2_t __a)
11842 {
11843   return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
11844 }
11845
11846 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11847 vreinterpretq_s16_p8 (poly8x16_t __a)
11848 {
11849   return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
11850 }
11851
11852 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11853 vreinterpretq_s16_p16 (poly16x8_t __a)
11854 {
11855   return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
11856 }
11857
11858 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11859 vreinterpret_s32_s8 (int8x8_t __a)
11860 {
11861   return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a);
11862 }
11863
11864 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11865 vreinterpret_s32_s16 (int16x4_t __a)
11866 {
11867   return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a);
11868 }
11869
11870 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11871 vreinterpret_s32_s64 (int64x1_t __a)
11872 {
11873   return (int32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
11874 }
11875
11876 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11877 vreinterpret_s32_f32 (float32x2_t __a)
11878 {
11879   return (int32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a);
11880 }
11881
11882 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11883 vreinterpret_s32_u8 (uint8x8_t __a)
11884 {
11885   return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
11886 }
11887
11888 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11889 vreinterpret_s32_u16 (uint16x4_t __a)
11890 {
11891   return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
11892 }
11893
11894 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11895 vreinterpret_s32_u32 (uint32x2_t __a)
11896 {
11897   return (int32x2_t)__builtin_neon_vreinterpretv2siv2si ((int32x2_t) __a);
11898 }
11899
11900 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11901 vreinterpret_s32_u64 (uint64x1_t __a)
11902 {
11903   return (int32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a);
11904 }
11905
11906 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11907 vreinterpret_s32_p8 (poly8x8_t __a)
11908 {
11909   return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
11910 }
11911
11912 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11913 vreinterpret_s32_p16 (poly16x4_t __a)
11914 {
11915   return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
11916 }
11917
11918 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11919 vreinterpretq_s32_s8 (int8x16_t __a)
11920 {
11921   return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a);
11922 }
11923
11924 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11925 vreinterpretq_s32_s16 (int16x8_t __a)
11926 {
11927   return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a);
11928 }
11929
11930 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11931 vreinterpretq_s32_s64 (int64x2_t __a)
11932 {
11933   return (int32x4_t)__builtin_neon_vreinterpretv4siv2di (__a);
11934 }
11935
11936 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11937 vreinterpretq_s32_f32 (float32x4_t __a)
11938 {
11939   return (int32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a);
11940 }
11941
11942 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11943 vreinterpretq_s32_u8 (uint8x16_t __a)
11944 {
11945   return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
11946 }
11947
11948 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11949 vreinterpretq_s32_u16 (uint16x8_t __a)
11950 {
11951   return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
11952 }
11953
11954 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11955 vreinterpretq_s32_u32 (uint32x4_t __a)
11956 {
11957   return (int32x4_t)__builtin_neon_vreinterpretv4siv4si ((int32x4_t) __a);
11958 }
11959
11960 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11961 vreinterpretq_s32_u64 (uint64x2_t __a)
11962 {
11963   return (int32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
11964 }
11965
11966 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11967 vreinterpretq_s32_p8 (poly8x16_t __a)
11968 {
11969   return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
11970 }
11971
11972 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11973 vreinterpretq_s32_p16 (poly16x8_t __a)
11974 {
11975   return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
11976 }
11977
11978 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11979 vreinterpret_u8_s8 (int8x8_t __a)
11980 {
11981   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a);
11982 }
11983
11984 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11985 vreinterpret_u8_s16 (int16x4_t __a)
11986 {
11987   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
11988 }
11989
11990 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11991 vreinterpret_u8_s32 (int32x2_t __a)
11992 {
11993   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
11994 }
11995
11996 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11997 vreinterpret_u8_s64 (int64x1_t __a)
11998 {
11999   return (uint8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
12000 }
12001
12002 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12003 vreinterpret_u8_f32 (float32x2_t __a)
12004 {
12005   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
12006 }
12007
12008 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12009 vreinterpret_u8_u16 (uint16x4_t __a)
12010 {
12011   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
12012 }
12013
12014 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12015 vreinterpret_u8_u32 (uint32x2_t __a)
12016 {
12017   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
12018 }
12019
12020 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12021 vreinterpret_u8_u64 (uint64x1_t __a)
12022 {
12023   return (uint8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
12024 }
12025
12026 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12027 vreinterpret_u8_p8 (poly8x8_t __a)
12028 {
12029   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
12030 }
12031
12032 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
12033 vreinterpret_u8_p16 (poly16x4_t __a)
12034 {
12035   return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
12036 }
12037
12038 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
12039 vreinterpretq_u8_s8 (int8x16_t __a)
12040 {
12041   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a);
12042 }
12043
12044 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
12045 vreinterpretq_u8_s16 (int16x8_t __a)
12046 {
12047   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
12048 }
12049
12050 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
12051 vreinterpretq_u8_s32 (int32x4_t __a)
12052 {
12053   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
12054 }
12055
12056 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
12057 vreinterpretq_u8_s64 (int64x2_t __a)
12058 {
12059   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
12060 }
12061
12062 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
12063 vreinterpretq_u8_f32 (float32x4_t __a)
12064 {
12065   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
12066 }
12067
12068 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
12069 vreinterpretq_u8_u16 (uint16x8_t __a)
12070 {
12071   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
12072 }
12073
12074 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
12075 vreinterpretq_u8_u32 (uint32x4_t __a)
12076 {
12077   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
12078 }
12079
12080 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
12081 vreinterpretq_u8_u64 (uint64x2_t __a)
12082 {
12083   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
12084 }
12085
12086 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
12087 vreinterpretq_u8_p8 (poly8x16_t __a)
12088 {
12089   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
12090 }
12091
12092 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
12093 vreinterpretq_u8_p16 (poly16x8_t __a)
12094 {
12095   return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
12096 }
12097
12098 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12099 vreinterpret_u16_s8 (int8x8_t __a)
12100 {
12101   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
12102 }
12103
12104 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12105 vreinterpret_u16_s16 (int16x4_t __a)
12106 {
12107   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a);
12108 }
12109
12110 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12111 vreinterpret_u16_s32 (int32x2_t __a)
12112 {
12113   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
12114 }
12115
12116 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12117 vreinterpret_u16_s64 (int64x1_t __a)
12118 {
12119   return (uint16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
12120 }
12121
12122 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12123 vreinterpret_u16_f32 (float32x2_t __a)
12124 {
12125   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
12126 }
12127
12128 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12129 vreinterpret_u16_u8 (uint8x8_t __a)
12130 {
12131   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
12132 }
12133
12134 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12135 vreinterpret_u16_u32 (uint32x2_t __a)
12136 {
12137   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
12138 }
12139
12140 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12141 vreinterpret_u16_u64 (uint64x1_t __a)
12142 {
12143   return (uint16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
12144 }
12145
12146 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12147 vreinterpret_u16_p8 (poly8x8_t __a)
12148 {
12149   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
12150 }
12151
12152 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
12153 vreinterpret_u16_p16 (poly16x4_t __a)
12154 {
12155   return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
12156 }
12157
12158 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12159 vreinterpretq_u16_s8 (int8x16_t __a)
12160 {
12161   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
12162 }
12163
12164 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12165 vreinterpretq_u16_s16 (int16x8_t __a)
12166 {
12167   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a);
12168 }
12169
12170 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12171 vreinterpretq_u16_s32 (int32x4_t __a)
12172 {
12173   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
12174 }
12175
12176 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12177 vreinterpretq_u16_s64 (int64x2_t __a)
12178 {
12179   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
12180 }
12181
12182 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12183 vreinterpretq_u16_f32 (float32x4_t __a)
12184 {
12185   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
12186 }
12187
12188 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12189 vreinterpretq_u16_u8 (uint8x16_t __a)
12190 {
12191   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
12192 }
12193
12194 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12195 vreinterpretq_u16_u32 (uint32x4_t __a)
12196 {
12197   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
12198 }
12199
12200 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12201 vreinterpretq_u16_u64 (uint64x2_t __a)
12202 {
12203   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
12204 }
12205
12206 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12207 vreinterpretq_u16_p8 (poly8x16_t __a)
12208 {
12209   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
12210 }
12211
12212 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12213 vreinterpretq_u16_p16 (poly16x8_t __a)
12214 {
12215   return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
12216 }
12217
12218 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12219 vreinterpret_u32_s8 (int8x8_t __a)
12220 {
12221   return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a);
12222 }
12223
12224 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12225 vreinterpret_u32_s16 (int16x4_t __a)
12226 {
12227   return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a);
12228 }
12229
12230 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12231 vreinterpret_u32_s32 (int32x2_t __a)
12232 {
12233   return (uint32x2_t)__builtin_neon_vreinterpretv2siv2si (__a);
12234 }
12235
12236 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12237 vreinterpret_u32_s64 (int64x1_t __a)
12238 {
12239   return (uint32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
12240 }
12241
12242 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12243 vreinterpret_u32_f32 (float32x2_t __a)
12244 {
12245   return (uint32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a);
12246 }
12247
12248 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12249 vreinterpret_u32_u8 (uint8x8_t __a)
12250 {
12251   return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
12252 }
12253
12254 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12255 vreinterpret_u32_u16 (uint16x4_t __a)
12256 {
12257   return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
12258 }
12259
12260 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12261 vreinterpret_u32_u64 (uint64x1_t __a)
12262 {
12263   return (uint32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a);
12264 }
12265
12266 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12267 vreinterpret_u32_p8 (poly8x8_t __a)
12268 {
12269   return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
12270 }
12271
12272 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12273 vreinterpret_u32_p16 (poly16x4_t __a)
12274 {
12275   return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
12276 }
12277
12278 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12279 vreinterpretq_u32_s8 (int8x16_t __a)
12280 {
12281   return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a);
12282 }
12283
12284 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12285 vreinterpretq_u32_s16 (int16x8_t __a)
12286 {
12287   return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a);
12288 }
12289
12290 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12291 vreinterpretq_u32_s32 (int32x4_t __a)
12292 {
12293   return (uint32x4_t)__builtin_neon_vreinterpretv4siv4si (__a);
12294 }
12295
12296 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12297 vreinterpretq_u32_s64 (int64x2_t __a)
12298 {
12299   return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di (__a);
12300 }
12301
12302 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12303 vreinterpretq_u32_f32 (float32x4_t __a)
12304 {
12305   return (uint32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a);
12306 }
12307
12308 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12309 vreinterpretq_u32_u8 (uint8x16_t __a)
12310 {
12311   return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
12312 }
12313
12314 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12315 vreinterpretq_u32_u16 (uint16x8_t __a)
12316 {
12317   return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
12318 }
12319
12320 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12321 vreinterpretq_u32_u64 (uint64x2_t __a)
12322 {
12323   return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
12324 }
12325
12326 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12327 vreinterpretq_u32_p8 (poly8x16_t __a)
12328 {
12329   return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
12330 }
12331
12332 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12333 vreinterpretq_u32_p16 (poly16x8_t __a)
12334 {
12335   return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
12336 }
12337
12338 #ifdef __cplusplus
12339 }
12340 #endif
12341 #endif
12342 #endif