• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-armeabi-2013.11/lib/gcc/arm-none-eabi/4.8.1/include/
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
36extern "C" {
37#endif
38
39#include <stdint.h>
40
41typedef __builtin_neon_qi int8x8_t	__attribute__ ((__vector_size__ (8)));
42typedef __builtin_neon_hi int16x4_t	__attribute__ ((__vector_size__ (8)));
43typedef __builtin_neon_si int32x2_t	__attribute__ ((__vector_size__ (8)));
44typedef __builtin_neon_di int64x1_t;
45typedef __builtin_neon_sf float32x2_t	__attribute__ ((__vector_size__ (8)));
46typedef __builtin_neon_poly8 poly8x8_t	__attribute__ ((__vector_size__ (8)));
47typedef __builtin_neon_poly16 poly16x4_t	__attribute__ ((__vector_size__ (8)));
48typedef __builtin_neon_uqi uint8x8_t	__attribute__ ((__vector_size__ (8)));
49typedef __builtin_neon_uhi uint16x4_t	__attribute__ ((__vector_size__ (8)));
50typedef __builtin_neon_usi uint32x2_t	__attribute__ ((__vector_size__ (8)));
51typedef __builtin_neon_udi uint64x1_t;
52typedef __builtin_neon_qi int8x16_t	__attribute__ ((__vector_size__ (16)));
53typedef __builtin_neon_hi int16x8_t	__attribute__ ((__vector_size__ (16)));
54typedef __builtin_neon_si int32x4_t	__attribute__ ((__vector_size__ (16)));
55typedef __builtin_neon_di int64x2_t	__attribute__ ((__vector_size__ (16)));
56typedef __builtin_neon_sf float32x4_t	__attribute__ ((__vector_size__ (16)));
57typedef __builtin_neon_poly8 poly8x16_t	__attribute__ ((__vector_size__ (16)));
58typedef __builtin_neon_poly16 poly16x8_t	__attribute__ ((__vector_size__ (16)));
59typedef __builtin_neon_uqi uint8x16_t	__attribute__ ((__vector_size__ (16)));
60typedef __builtin_neon_uhi uint16x8_t	__attribute__ ((__vector_size__ (16)));
61typedef __builtin_neon_usi uint32x4_t	__attribute__ ((__vector_size__ (16)));
62typedef __builtin_neon_udi uint64x2_t	__attribute__ ((__vector_size__ (16)));
63
64typedef float float32_t;
65typedef __builtin_neon_poly8 poly8_t;
66typedef __builtin_neon_poly16 poly16_t;
67
68typedef struct int8x8x2_t
69{
70  int8x8_t val[2];
71} int8x8x2_t;
72
73typedef struct int8x16x2_t
74{
75  int8x16_t val[2];
76} int8x16x2_t;
77
78typedef struct int16x4x2_t
79{
80  int16x4_t val[2];
81} int16x4x2_t;
82
83typedef struct int16x8x2_t
84{
85  int16x8_t val[2];
86} int16x8x2_t;
87
88typedef struct int32x2x2_t
89{
90  int32x2_t val[2];
91} int32x2x2_t;
92
93typedef struct int32x4x2_t
94{
95  int32x4_t val[2];
96} int32x4x2_t;
97
98typedef struct int64x1x2_t
99{
100  int64x1_t val[2];
101} int64x1x2_t;
102
103typedef struct int64x2x2_t
104{
105  int64x2_t val[2];
106} int64x2x2_t;
107
108typedef struct uint8x8x2_t
109{
110  uint8x8_t val[2];
111} uint8x8x2_t;
112
113typedef struct uint8x16x2_t
114{
115  uint8x16_t val[2];
116} uint8x16x2_t;
117
118typedef struct uint16x4x2_t
119{
120  uint16x4_t val[2];
121} uint16x4x2_t;
122
123typedef struct uint16x8x2_t
124{
125  uint16x8_t val[2];
126} uint16x8x2_t;
127
128typedef struct uint32x2x2_t
129{
130  uint32x2_t val[2];
131} uint32x2x2_t;
132
133typedef struct uint32x4x2_t
134{
135  uint32x4_t val[2];
136} uint32x4x2_t;
137
138typedef struct uint64x1x2_t
139{
140  uint64x1_t val[2];
141} uint64x1x2_t;
142
143typedef struct uint64x2x2_t
144{
145  uint64x2_t val[2];
146} uint64x2x2_t;
147
148typedef struct float32x2x2_t
149{
150  float32x2_t val[2];
151} float32x2x2_t;
152
153typedef struct float32x4x2_t
154{
155  float32x4_t val[2];
156} float32x4x2_t;
157
158typedef struct poly8x8x2_t
159{
160  poly8x8_t val[2];
161} poly8x8x2_t;
162
163typedef struct poly8x16x2_t
164{
165  poly8x16_t val[2];
166} poly8x16x2_t;
167
168typedef struct poly16x4x2_t
169{
170  poly16x4_t val[2];
171} poly16x4x2_t;
172
173typedef struct poly16x8x2_t
174{
175  poly16x8_t val[2];
176} poly16x8x2_t;
177
178typedef struct int8x8x3_t
179{
180  int8x8_t val[3];
181} int8x8x3_t;
182
183typedef struct int8x16x3_t
184{
185  int8x16_t val[3];
186} int8x16x3_t;
187
188typedef struct int16x4x3_t
189{
190  int16x4_t val[3];
191} int16x4x3_t;
192
193typedef struct int16x8x3_t
194{
195  int16x8_t val[3];
196} int16x8x3_t;
197
198typedef struct int32x2x3_t
199{
200  int32x2_t val[3];
201} int32x2x3_t;
202
203typedef struct int32x4x3_t
204{
205  int32x4_t val[3];
206} int32x4x3_t;
207
208typedef struct int64x1x3_t
209{
210  int64x1_t val[3];
211} int64x1x3_t;
212
213typedef struct int64x2x3_t
214{
215  int64x2_t val[3];
216} int64x2x3_t;
217
218typedef struct uint8x8x3_t
219{
220  uint8x8_t val[3];
221} uint8x8x3_t;
222
223typedef struct uint8x16x3_t
224{
225  uint8x16_t val[3];
226} uint8x16x3_t;
227
228typedef struct uint16x4x3_t
229{
230  uint16x4_t val[3];
231} uint16x4x3_t;
232
233typedef struct uint16x8x3_t
234{
235  uint16x8_t val[3];
236} uint16x8x3_t;
237
238typedef struct uint32x2x3_t
239{
240  uint32x2_t val[3];
241} uint32x2x3_t;
242
243typedef struct uint32x4x3_t
244{
245  uint32x4_t val[3];
246} uint32x4x3_t;
247
248typedef struct uint64x1x3_t
249{
250  uint64x1_t val[3];
251} uint64x1x3_t;
252
253typedef struct uint64x2x3_t
254{
255  uint64x2_t val[3];
256} uint64x2x3_t;
257
258typedef struct float32x2x3_t
259{
260  float32x2_t val[3];
261} float32x2x3_t;
262
263typedef struct float32x4x3_t
264{
265  float32x4_t val[3];
266} float32x4x3_t;
267
268typedef struct poly8x8x3_t
269{
270  poly8x8_t val[3];
271} poly8x8x3_t;
272
273typedef struct poly8x16x3_t
274{
275  poly8x16_t val[3];
276} poly8x16x3_t;
277
278typedef struct poly16x4x3_t
279{
280  poly16x4_t val[3];
281} poly16x4x3_t;
282
283typedef struct poly16x8x3_t
284{
285  poly16x8_t val[3];
286} poly16x8x3_t;
287
288typedef struct int8x8x4_t
289{
290  int8x8_t val[4];
291} int8x8x4_t;
292
293typedef struct int8x16x4_t
294{
295  int8x16_t val[4];
296} int8x16x4_t;
297
298typedef struct int16x4x4_t
299{
300  int16x4_t val[4];
301} int16x4x4_t;
302
303typedef struct int16x8x4_t
304{
305  int16x8_t val[4];
306} int16x8x4_t;
307
308typedef struct int32x2x4_t
309{
310  int32x2_t val[4];
311} int32x2x4_t;
312
313typedef struct int32x4x4_t
314{
315  int32x4_t val[4];
316} int32x4x4_t;
317
318typedef struct int64x1x4_t
319{
320  int64x1_t val[4];
321} int64x1x4_t;
322
323typedef struct int64x2x4_t
324{
325  int64x2_t val[4];
326} int64x2x4_t;
327
328typedef struct uint8x8x4_t
329{
330  uint8x8_t val[4];
331} uint8x8x4_t;
332
333typedef struct uint8x16x4_t
334{
335  uint8x16_t val[4];
336} uint8x16x4_t;
337
338typedef struct uint16x4x4_t
339{
340  uint16x4_t val[4];
341} uint16x4x4_t;
342
343typedef struct uint16x8x4_t
344{
345  uint16x8_t val[4];
346} uint16x8x4_t;
347
348typedef struct uint32x2x4_t
349{
350  uint32x2_t val[4];
351} uint32x2x4_t;
352
353typedef struct uint32x4x4_t
354{
355  uint32x4_t val[4];
356} uint32x4x4_t;
357
358typedef struct uint64x1x4_t
359{
360  uint64x1_t val[4];
361} uint64x1x4_t;
362
363typedef struct uint64x2x4_t
364{
365  uint64x2_t val[4];
366} uint64x2x4_t;
367
368typedef struct float32x2x4_t
369{
370  float32x2_t val[4];
371} float32x2x4_t;
372
373typedef struct float32x4x4_t
374{
375  float32x4_t val[4];
376} float32x4x4_t;
377
378typedef struct poly8x8x4_t
379{
380  poly8x8_t val[4];
381} poly8x8x4_t;
382
383typedef struct poly8x16x4_t
384{
385  poly8x16_t val[4];
386} poly8x16x4_t;
387
388typedef struct poly16x4x4_t
389{
390  poly16x4_t val[4];
391} poly16x4x4_t;
392
393typedef struct poly16x8x4_t
394{
395  poly16x8_t val[4];
396} poly16x8x4_t;
397
398
399__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
400vadd_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__))
406vadd_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__))
412vadd_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__))
418vadd_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__))
424vadd_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__))
430vadd_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__))
436vadd_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__))
442vadd_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__))
448vadd_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__))
454vaddq_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__))
460vaddq_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__))
466vaddq_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__))
472vaddq_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__))
478vaddq_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__))
484vaddq_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__))
490vaddq_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__))
496vaddq_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__))
502vaddq_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__))
508vaddl_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__))
514vaddl_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__))
520vaddl_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__))
526vaddl_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__))
532vaddl_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__))
538vaddl_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__))
544vaddw_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__))
550vaddw_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__))
556vaddw_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__))
562vaddw_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__))
568vaddw_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__))
574vaddw_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__))
580vhadd_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__))
586vhadd_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__))
592vhadd_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__))
598vhadd_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__))
604vhadd_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__))
610vhadd_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__))
616vhaddq_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__))
622vhaddq_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__))
628vhaddq_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__))
634vhaddq_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__))
640vhaddq_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__))
646vhaddq_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__))
652vrhadd_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__))
658vrhadd_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__))
664vrhadd_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__))
670vrhadd_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__))
676vrhadd_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__))
682vrhadd_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__))
688vrhaddq_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__))
694vrhaddq_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__))
700vrhaddq_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__))
706vrhaddq_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__))
712vrhaddq_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__))
718vrhaddq_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__))
724vqadd_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__))
730vqadd_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__))
736vqadd_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__))
742vqadd_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__))
748vqadd_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__))
754vqadd_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__))
760vqadd_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__))
766vqadd_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__))
772vqaddq_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__))
778vqaddq_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__))
784vqaddq_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__))
790vqaddq_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__))
796vqaddq_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__))
802vqaddq_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__))
808vqaddq_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__))
814vqaddq_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__))
820vaddhn_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__))
826vaddhn_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__))
832vaddhn_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__))
838vaddhn_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__))
844vaddhn_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__))
850vaddhn_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__))
856vraddhn_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__))
862vraddhn_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__))
868vraddhn_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__))
874vraddhn_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__))
880vraddhn_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__))
886vraddhn_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__))
892vmul_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__))
898vmul_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__))
904vmul_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__))
910vmul_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__))
916vmul_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__))
922vmul_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__))
928vmul_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__))
934vmul_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__))
940vmulq_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__))
946vmulq_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__))
952vmulq_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__))
958vmulq_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__))
964vmulq_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__))
970vmulq_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__))
976vmulq_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__))
982vmulq_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__))
988vqdmulh_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__))
994vqdmulh_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__))
1000vqdmulhq_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__))
1006vqdmulhq_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__))
1012vqrdmulh_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__))
1018vqrdmulh_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__))
1024vqrdmulhq_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__))
1030vqrdmulhq_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__))
1036vmull_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__))
1042vmull_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__))
1048vmull_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__))
1054vmull_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__))
1060vmull_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__))
1066vmull_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__))
1072vmull_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__))
1078vqdmull_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__))
1084vqdmull_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__))
1090vmla_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__))
1096vmla_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__))
1102vmla_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__))
1108vmla_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__))
1114vmla_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__))
1120vmla_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__))
1126vmla_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__))
1132vmlaq_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__))
1138vmlaq_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__))
1144vmlaq_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__))
1150vmlaq_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__))
1156vmlaq_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__))
1162vmlaq_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__))
1168vmlaq_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__))
1174vmlal_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__))
1180vmlal_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__))
1186vmlal_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__))
1192vmlal_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__))
1198vmlal_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__))
1204vmlal_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__))
1210vqdmlal_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__))
1216vqdmlal_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__))
1222vmls_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__))
1228vmls_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__))
1234vmls_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__))
1240vmls_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__))
1246vmls_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__))
1252vmls_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__))
1258vmls_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__))
1264vmlsq_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__))
1270vmlsq_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__))
1276vmlsq_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__))
1282vmlsq_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__))
1288vmlsq_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__))
1294vmlsq_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__))
1300vmlsq_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__))
1306vmlsl_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__))
1312vmlsl_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__))
1318vmlsl_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__))
1324vmlsl_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__))
1330vmlsl_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__))
1336vmlsl_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__))
1342vqdmlsl_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__))
1348vqdmlsl_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__))
1355vfma_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__))
1363vfmaq_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__))
1371vfms_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__))
1379vfmsq_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__))
1387vrndn_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__))
1395vrndqn_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__))
1403vrnda_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__))
1411vrndqa_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__))
1419vrndp_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__))
1427vrndqp_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__))
1435vrndm_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__))
1443vrndqm_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__))
1451vrnd_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__))
1459vrndq_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__))
1466vsub_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__))
1472vsub_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__))
1478vsub_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__))
1484vsub_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__))
1490vsub_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__))
1496vsub_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__))
1502vsub_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__))
1508vsub_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__))
1514vsub_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__))
1520vsubq_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__))
1526vsubq_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__))
1532vsubq_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__))
1538vsubq_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__))
1544vsubq_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__))
1550vsubq_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__))
1556vsubq_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__))
1562vsubq_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__))
1568vsubq_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__))
1574vsubl_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__))
1580vsubl_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__))
1586vsubl_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__))
1592vsubl_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__))
1598vsubl_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__))
1604vsubl_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__))
1610vsubw_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__))
1616vsubw_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__))
1622vsubw_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__))
1628vsubw_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__))
1634vsubw_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__))
1640vsubw_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__))
1646vhsub_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__))
1652vhsub_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__))
1658vhsub_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__))
1664vhsub_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__))
1670vhsub_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__))
1676vhsub_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__))
1682vhsubq_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__))
1688vhsubq_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__))
1694vhsubq_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__))
1700vhsubq_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__))
1706vhsubq_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__))
1712vhsubq_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__))
1718vqsub_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__))
1724vqsub_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__))
1730vqsub_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__))
1736vqsub_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__))
1742vqsub_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__))
1748vqsub_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__))
1754vqsub_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__))
1760vqsub_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__))
1766vqsubq_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__))
1772vqsubq_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__))
1778vqsubq_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__))
1784vqsubq_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__))
1790vqsubq_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__))
1796vqsubq_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__))
1802vqsubq_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__))
1808vqsubq_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__))
1814vsubhn_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__))
1820vsubhn_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__))
1826vsubhn_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__))
1832vsubhn_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__))
1838vsubhn_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__))
1844vsubhn_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__))
1850vrsubhn_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__))
1856vrsubhn_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__))
1862vrsubhn_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__))
1868vrsubhn_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__))
1874vrsubhn_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__))
1880vrsubhn_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__))
1886vceq_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__))
1892vceq_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__))
1898vceq_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__))
1904vceq_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__))
1910vceq_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__))
1916vceq_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__))
1922vceq_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__))
1928vceq_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__))
1934vceqq_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__))
1940vceqq_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__))
1946vceqq_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__))
1952vceqq_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__))
1958vceqq_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__))
1964vceqq_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__))
1970vceqq_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__))
1976vceqq_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__))
1982vcge_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__))
1988vcge_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__))
1994vcge_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__))
2000vcge_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__))
2006vcge_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__))
2012vcge_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__))
2018vcge_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__))
2024vcgeq_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__))
2030vcgeq_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__))
2036vcgeq_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__))
2042vcgeq_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__))
2048vcgeq_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__))
2054vcgeq_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__))
2060vcgeq_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__))
2066vcle_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__))
2072vcle_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__))
2078vcle_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__))
2084vcle_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__))
2090vcle_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__))
2096vcle_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__))
2102vcle_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__))
2108vcleq_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__))
2114vcleq_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__))
2120vcleq_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__))
2126vcleq_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__))
2132vcleq_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__))
2138vcleq_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__))
2144vcleq_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__))
2150vcgt_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__))
2156vcgt_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__))
2162vcgt_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__))
2168vcgt_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__))
2174vcgt_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__))
2180vcgt_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__))
2186vcgt_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__))
2192vcgtq_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__))
2198vcgtq_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__))
2204vcgtq_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__))
2210vcgtq_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__))
2216vcgtq_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__))
2222vcgtq_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__))
2228vcgtq_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__))
2234vclt_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__))
2240vclt_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__))
2246vclt_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__))
2252vclt_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__))
2258vclt_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__))
2264vclt_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__))
2270vclt_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__))
2276vcltq_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__))
2282vcltq_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__))
2288vcltq_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__))
2294vcltq_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__))
2300vcltq_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__))
2306vcltq_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__))
2312vcltq_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__))
2318vcage_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__))
2324vcageq_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__))
2330vcale_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__))
2336vcaleq_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__))
2342vcagt_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__))
2348vcagtq_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__))
2354vcalt_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__))
2360vcaltq_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__))
2366vtst_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__))
2372vtst_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__))
2378vtst_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__))
2384vtst_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__))
2390vtst_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__))
2396vtst_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__))
2402vtst_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__))
2408vtstq_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__))
2414vtstq_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__))
2420vtstq_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__))
2426vtstq_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__))
2432vtstq_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__))
2438vtstq_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__))
2444vtstq_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__))
2450vabd_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__))
2456vabd_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__))
2462vabd_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__))
2468vabd_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__))
2474vabd_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__))
2480vabd_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__))
2486vabd_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__))
2492vabdq_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__))
2498vabdq_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__))
2504vabdq_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__))
2510vabdq_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__))
2516vabdq_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__))
2522vabdq_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__))
2528vabdq_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__))
2534vabdl_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__))
2540vabdl_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__))
2546vabdl_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__))
2552vabdl_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__))
2558vabdl_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__))
2564vabdl_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__))
2570vaba_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__))
2576vaba_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__))
2582vaba_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__))
2588vaba_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__))
2594vaba_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__))
2600vaba_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__))
2606vabaq_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__))
2612vabaq_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__))
2618vabaq_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__))
2624vabaq_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__))
2630vabaq_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__))
2636vabaq_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__))
2642vabal_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__))
2648vabal_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__))
2654vabal_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__))
2660vabal_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__))
2666vabal_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__))
2672vabal_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__))
2678vmax_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__))
2684vmax_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__))
2690vmax_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__))
2696vmax_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__))
2702vmax_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__))
2708vmax_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__))
2714vmax_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__))
2720vmaxq_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__))
2726vmaxq_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__))
2732vmaxq_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__))
2738vmaxq_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__))
2744vmaxq_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__))
2750vmaxq_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__))
2756vmaxq_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__))
2762vmin_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__))
2768vmin_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__))
2774vmin_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__))
2780vmin_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__))
2786vmin_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__))
2792vmin_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__))
2798vmin_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__))
2804vminq_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__))
2810vminq_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__))
2816vminq_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__))
2822vminq_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__))
2828vminq_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__))
2834vminq_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__))
2840vminq_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__))
2846vpadd_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__))
2852vpadd_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__))
2858vpadd_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__))
2864vpadd_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__))
2870vpadd_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__))
2876vpadd_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__))
2882vpadd_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__))
2888vpaddl_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__))
2894vpaddl_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__))
2900vpaddl_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__))
2906vpaddl_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__))
2912vpaddl_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__))
2918vpaddl_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__))
2924vpaddlq_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__))
2930vpaddlq_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__))
2936vpaddlq_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__))
2942vpaddlq_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__))
2948vpaddlq_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__))
2954vpaddlq_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__))
2960vpadal_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__))
2966vpadal_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__))
2972vpadal_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__))
2978vpadal_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__))
2984vpadal_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__))
2990vpadal_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__))
2996vpadalq_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__))
3002vpadalq_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__))
3008vpadalq_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__))
3014vpadalq_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__))
3020vpadalq_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__))
3026vpadalq_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__))
3032vpmax_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__))
3038vpmax_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__))
3044vpmax_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__))
3050vpmax_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__))
3056vpmax_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__))
3062vpmax_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__))
3068vpmax_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__))
3074vpmin_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__))
3080vpmin_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__))
3086vpmin_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__))
3092vpmin_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__))
3098vpmin_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__))
3104vpmin_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__))
3110vpmin_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__))
3116vrecps_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__))
3122vrecpsq_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__))
3128vrsqrts_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__))
3134vrsqrtsq_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__))
3140vshl_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__))
3146vshl_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__))
3152vshl_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__))
3158vshl_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__))
3164vshl_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__))
3170vshl_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__))
3176vshl_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__))
3182vshl_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__))
3188vshlq_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__))
3194vshlq_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__))
3200vshlq_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__))
3206vshlq_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__))
3212vshlq_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__))
3218vshlq_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__))
3224vshlq_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__))
3230vshlq_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__))
3236vrshl_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__))
3242vrshl_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__))
3248vrshl_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__))
3254vrshl_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__))
3260vrshl_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__))
3266vrshl_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__))
3272vrshl_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__))
3278vrshl_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__))
3284vrshlq_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__))
3290vrshlq_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__))
3296vrshlq_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__))
3302vrshlq_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__))
3308vrshlq_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__))
3314vrshlq_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__))
3320vrshlq_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__))
3326vrshlq_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__))
3332vqshl_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__))
3338vqshl_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__))
3344vqshl_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__))
3350vqshl_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__))
3356vqshl_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__))
3362vqshl_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__))
3368vqshl_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__))
3374vqshl_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__))
3380vqshlq_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__))
3386vqshlq_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__))
3392vqshlq_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__))
3398vqshlq_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__))
3404vqshlq_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__))
3410vqshlq_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__))
3416vqshlq_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__))
3422vqshlq_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__))
3428vqrshl_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__))
3434vqrshl_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__))
3440vqrshl_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__))
3446vqrshl_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__))
3452vqrshl_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__))
3458vqrshl_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__))
3464vqrshl_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__))
3470vqrshl_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__))
3476vqrshlq_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__))
3482vqrshlq_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__))
3488vqrshlq_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__))
3494vqrshlq_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__))
3500vqrshlq_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__))
3506vqrshlq_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__))
3512vqrshlq_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__))
3518vqrshlq_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__))
3524vshr_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__))
3530vshr_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__))
3536vshr_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__))
3542vshr_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__))
3548vshr_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__))
3554vshr_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__))
3560vshr_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__))
3566vshr_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__))
3572vshrq_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__))
3578vshrq_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__))
3584vshrq_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__))
3590vshrq_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__))
3596vshrq_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__))
3602vshrq_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__))
3608vshrq_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__))
3614vshrq_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__))
3620vrshr_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__))
3626vrshr_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__))
3632vrshr_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__))
3638vrshr_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__))
3644vrshr_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__))
3650vrshr_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__))
3656vrshr_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__))
3662vrshr_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__))
3668vrshrq_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__))
3674vrshrq_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__))
3680vrshrq_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__))
3686vrshrq_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__))
3692vrshrq_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__))
3698vrshrq_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__))
3704vrshrq_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__))
3710vrshrq_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__))
3716vshrn_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__))
3722vshrn_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__))
3728vshrn_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__))
3734vshrn_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__))
3740vshrn_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__))
3746vshrn_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__))
3752vrshrn_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__))
3758vrshrn_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__))
3764vrshrn_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__))
3770vrshrn_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__))
3776vrshrn_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__))
3782vrshrn_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__))
3788vqshrn_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__))
3794vqshrn_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__))
3800vqshrn_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__))
3806vqshrn_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__))
3812vqshrn_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__))
3818vqshrn_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__))
3824vqrshrn_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__))
3830vqrshrn_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__))
3836vqrshrn_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__))
3842vqrshrn_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__))
3848vqrshrn_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__))
3854vqrshrn_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__))
3860vqshrun_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__))
3866vqshrun_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__))
3872vqshrun_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__))
3878vqrshrun_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__))
3884vqrshrun_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__))
3890vqrshrun_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__))
3896vshl_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__))
3902vshl_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__))
3908vshl_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__))
3914vshl_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__))
3920vshl_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__))
3926vshl_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__))
3932vshl_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__))
3938vshl_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__))
3944vshlq_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__))
3950vshlq_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__))
3956vshlq_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__))
3962vshlq_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__))
3968vshlq_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__))
3974vshlq_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__))
3980vshlq_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__))
3986vshlq_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__))
3992vqshl_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__))
3998vqshl_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__))
4004vqshl_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__))
4010vqshl_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__))
4016vqshl_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__))
4022vqshl_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__))
4028vqshl_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__))
4034vqshl_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__))
4040vqshlq_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__))
4046vqshlq_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__))
4052vqshlq_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__))
4058vqshlq_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__))
4064vqshlq_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__))
4070vqshlq_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__))
4076vqshlq_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__))
4082vqshlq_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__))
4088vqshlu_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__))
4094vqshlu_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__))
4100vqshlu_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__))
4106vqshlu_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__))
4112vqshluq_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__))
4118vqshluq_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__))
4124vqshluq_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__))
4130vqshluq_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__))
4136vshll_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__))
4142vshll_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__))
4148vshll_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__))
4154vshll_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__))
4160vshll_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__))
4166vshll_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__))
4172vsra_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__))
4178vsra_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__))
4184vsra_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__))
4190vsra_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__))
4196vsra_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__))
4202vsra_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__))
4208vsra_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__))
4214vsra_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__))
4220vsraq_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__))
4226vsraq_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__))
4232vsraq_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__))
4238vsraq_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__))
4244vsraq_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__))
4250vsraq_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__))
4256vsraq_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__))
4262vsraq_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__))
4268vrsra_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__))
4274vrsra_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__))
4280vrsra_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__))
4286vrsra_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__))
4292vrsra_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__))
4298vrsra_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__))
4304vrsra_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__))
4310vrsra_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__))
4316vrsraq_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__))
4322vrsraq_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__))
4328vrsraq_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__))
4334vrsraq_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__))
4340vrsraq_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__))
4346vrsraq_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__))
4352vrsraq_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__))
4358vrsraq_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__))
4364vsri_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__))
4370vsri_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__))
4376vsri_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__))
4382vsri_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__))
4388vsri_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__))
4394vsri_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__))
4400vsri_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__))
4406vsri_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__))
4412vsri_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__))
4418vsri_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__))
4424vsriq_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__))
4430vsriq_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__))
4436vsriq_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__))
4442vsriq_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__))
4448vsriq_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__))
4454vsriq_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__))
4460vsriq_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__))
4466vsriq_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__))
4472vsriq_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__))
4478vsriq_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__))
4484vsli_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__))
4490vsli_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__))
4496vsli_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__))
4502vsli_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__))
4508vsli_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__))
4514vsli_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__))
4520vsli_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__))
4526vsli_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__))
4532vsli_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__))
4538vsli_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__))
4544vsliq_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__))
4550vsliq_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__))
4556vsliq_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__))
4562vsliq_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__))
4568vsliq_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__))
4574vsliq_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__))
4580vsliq_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__))
4586vsliq_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__))
4592vsliq_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__))
4598vsliq_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__))
4604vabs_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__))
4610vabs_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__))
4616vabs_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__))
4622vabs_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__))
4628vabsq_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__))
4634vabsq_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__))
4640vabsq_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__))
4646vabsq_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__))
4652vqabs_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__))
4658vqabs_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__))
4664vqabs_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__))
4670vqabsq_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__))
4676vqabsq_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__))
4682vqabsq_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__))
4688vneg_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__))
4694vneg_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__))
4700vneg_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__))
4706vneg_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__))
4712vnegq_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__))
4718vnegq_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__))
4724vnegq_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__))
4730vnegq_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__))
4736vqneg_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__))
4742vqneg_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__))
4748vqneg_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__))
4754vqnegq_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__))
4760vqnegq_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__))
4766vqnegq_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__))
4772vmvn_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__))
4778vmvn_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__))
4784vmvn_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__))
4790vmvn_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__))
4796vmvn_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__))
4802vmvn_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__))
4808vmvn_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__))
4814vmvnq_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__))
4820vmvnq_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__))
4826vmvnq_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__))
4832vmvnq_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__))
4838vmvnq_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__))
4844vmvnq_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__))
4850vmvnq_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__))
4856vcls_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__))
4862vcls_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__))
4868vcls_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__))
4874vclsq_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__))
4880vclsq_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__))
4886vclsq_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__))
4892vclz_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__))
4898vclz_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__))
4904vclz_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__))
4910vclz_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__))
4916vclz_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__))
4922vclz_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__))
4928vclzq_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__))
4934vclzq_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__))
4940vclzq_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__))
4946vclzq_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__))
4952vclzq_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__))
4958vclzq_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__))
4964vcnt_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__))
4970vcnt_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__))
4976vcnt_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__))
4982vcntq_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__))
4988vcntq_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__))
4994vcntq_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__))
5000vrecpe_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__))
5006vrecpe_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__))
5012vrecpeq_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__))
5018vrecpeq_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__))
5024vrsqrte_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__))
5030vrsqrte_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__))
5036vrsqrteq_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__))
5042vrsqrteq_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__))
5048vget_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__))
5054vget_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__))
5060vget_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__))
5066vget_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__))
5072vget_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__))
5078vget_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__))
5084vget_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__))
5090vget_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__))
5096vget_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__))
5102vget_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__))
5108vget_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__))
5114vgetq_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__))
5120vgetq_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__))
5126vgetq_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__))
5132vgetq_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__))
5138vgetq_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__))
5144vgetq_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__))
5150vgetq_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__))
5156vgetq_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__))
5162vgetq_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__))
5168vgetq_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__))
5174vgetq_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__))
5180vset_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__))
5186vset_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__))
5192vset_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__))
5198vset_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__))
5204vset_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__))
5210vset_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__))
5216vset_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__))
5222vset_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__))
5228vset_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__))
5234vset_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__))
5240vset_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__))
5246vsetq_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__))
5252vsetq_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__))
5258vsetq_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__))
5264vsetq_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__))
5270vsetq_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__))
5276vsetq_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__))
5282vsetq_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__))
5288vsetq_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__))
5294vsetq_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__))
5300vsetq_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__))
5306vsetq_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__))
5312vcreate_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__))
5318vcreate_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__))
5324vcreate_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__))
5330vcreate_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__))
5336vcreate_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__))
5342vcreate_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__))
5348vcreate_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__))
5354vcreate_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__))
5360vcreate_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__))
5366vcreate_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__))
5372vcreate_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__))
5378vdup_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__))
5384vdup_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__))
5390vdup_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__))
5396vdup_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__))
5402vdup_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__))
5408vdup_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__))
5414vdup_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__))
5420vdup_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__))
5426vdup_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__))
5432vdup_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__))
5438vdup_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__))
5444vdupq_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__))
5450vdupq_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__))
5456vdupq_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__))
5462vdupq_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__))
5468vdupq_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__))
5474vdupq_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__))
5480vdupq_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__))
5486vdupq_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__))
5492vdupq_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__))
5498vdupq_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__))
5504vdupq_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__))
5510vmov_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__))
5516vmov_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__))
5522vmov_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__))
5528vmov_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__))
5534vmov_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__))
5540vmov_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__))
5546vmov_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__))
5552vmov_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__))
5558vmov_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__))
5564vmov_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__))
5570vmov_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__))
5576vmovq_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__))
5582vmovq_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__))
5588vmovq_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__))
5594vmovq_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__))
5600vmovq_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__))
5606vmovq_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__))
5612vmovq_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__))
5618vmovq_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__))
5624vmovq_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__))
5630vmovq_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__))
5636vmovq_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__))
5642vdup_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__))
5648vdup_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__))
5654vdup_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__))
5660vdup_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__))
5666vdup_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__))
5672vdup_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__))
5678vdup_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__))
5684vdup_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__))
5690vdup_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__))
5696vdup_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__))
5702vdup_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__))
5708vdupq_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__))
5714vdupq_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__))
5720vdupq_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__))
5726vdupq_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__))
5732vdupq_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__))
5738vdupq_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__))
5744vdupq_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__))
5750vdupq_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__))
5756vdupq_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__))
5762vdupq_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__))
5768vdupq_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__))
5774vcombine_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__))
5780vcombine_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__))
5786vcombine_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__))
5792vcombine_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__))
5798vcombine_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__))
5804vcombine_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__))
5810vcombine_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__))
5816vcombine_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__))
5822vcombine_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__))
5828vcombine_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__))
5834vcombine_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__))
5840vget_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__))
5846vget_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__))
5852vget_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__))
5858vget_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__))
5864vget_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__))
5870vget_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__))
5876vget_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__))
5882vget_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__))
5888vget_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__))
5894vget_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__))
5900vget_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__))
5906vget_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__))
5912vget_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__))
5918vget_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__))
5924vget_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__))
5930vget_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__))
5936vget_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__))
5942vget_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__))
5948vget_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__))
5954vget_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__))
5960vget_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__))
5966vget_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__))
5972vcvt_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__))
5978vcvt_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__))
5984vcvt_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__))
5990vcvt_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__))
5996vcvtq_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__))
6002vcvtq_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__))
6008vcvtq_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__))
6014vcvtq_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__))
6020vcvt_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__))
6026vcvt_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__))
6032vcvt_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__))
6038vcvt_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__))
6044vcvtq_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__))
6050vcvtq_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__))
6056vcvtq_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__))
6062vcvtq_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__))
6068vmovn_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__))
6074vmovn_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__))
6080vmovn_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__))
6086vmovn_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__))
6092vmovn_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__))
6098vmovn_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__))
6104vqmovn_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__))
6110vqmovn_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__))
6116vqmovn_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__))
6122vqmovn_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__))
6128vqmovn_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__))
6134vqmovn_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__))
6140vqmovun_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__))
6146vqmovun_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__))
6152vqmovun_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__))
6158vmovl_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__))
6164vmovl_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__))
6170vmovl_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__))
6176vmovl_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__))
6182vmovl_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__))
6188vmovl_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__))
6194vtbl1_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__))
6200vtbl1_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__))
6206vtbl1_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__))
6212vtbl2_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__))
6219vtbl2_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__))
6226vtbl2_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__))
6233vtbl3_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__))
6240vtbl3_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__))
6247vtbl3_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__))
6254vtbl4_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__))
6261vtbl4_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__))
6268vtbl4_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__))
6275vtbx1_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__))
6281vtbx1_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__))
6287vtbx1_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__))
6293vtbx2_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__))
6300vtbx2_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__))
6307vtbx2_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__))
6314vtbx3_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__))
6321vtbx3_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__))
6328vtbx3_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__))
6335vtbx4_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__))
6342vtbx4_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__))
6349vtbx4_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__))
6356vmul_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__))
6362vmul_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__))
6368vmul_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__))
6374vmul_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__))
6380vmul_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__))
6386vmulq_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__))
6392vmulq_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__))
6398vmulq_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__))
6404vmulq_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__))
6410vmulq_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__))
6416vmla_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__))
6422vmla_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__))
6428vmla_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__))
6434vmla_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__))
6440vmla_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__))
6446vmlaq_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__))
6452vmlaq_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__))
6458vmlaq_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__))
6464vmlaq_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__))
6470vmlaq_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__))
6476vmlal_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__))
6482vmlal_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__))
6488vmlal_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__))
6494vmlal_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__))
6500vqdmlal_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__))
6506vqdmlal_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__))
6512vmls_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__))
6518vmls_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__))
6524vmls_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__))
6530vmls_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__))
6536vmls_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__))
6542vmlsq_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__))
6548vmlsq_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__))
6554vmlsq_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__))
6560vmlsq_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__))
6566vmlsq_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__))
6572vmlsl_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__))
6578vmlsl_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__))
6584vmlsl_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__))
6590vmlsl_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__))
6596vqdmlsl_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__))
6602vqdmlsl_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__))
6608vmull_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__))
6614vmull_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__))
6620vmull_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__))
6626vmull_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__))
6632vqdmull_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__))
6638vqdmull_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__))
6644vqdmulhq_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__))
6650vqdmulhq_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__))
6656vqdmulh_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__))
6662vqdmulh_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__))
6668vqrdmulhq_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__))
6674vqrdmulhq_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__))
6680vqrdmulh_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__))
6686vqrdmulh_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__))
6692vmul_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__))
6698vmul_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__))
6704vmul_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__))
6710vmul_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__))
6716vmul_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__))
6722vmulq_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__))
6728vmulq_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__))
6734vmulq_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__))
6740vmulq_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__))
6746vmulq_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__))
6752vmull_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__))
6758vmull_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__))
6764vmull_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__))
6770vmull_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__))
6776vqdmull_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__))
6782vqdmull_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__))
6788vqdmulhq_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__))
6794vqdmulhq_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__))
6800vqdmulh_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__))
6806vqdmulh_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__))
6812vqrdmulhq_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__))
6818vqrdmulhq_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__))
6824vqrdmulh_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__))
6830vqrdmulh_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__))
6836vmla_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__))
6842vmla_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__))
6848vmla_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__))
6854vmla_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__))
6860vmla_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__))
6866vmlaq_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__))
6872vmlaq_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__))
6878vmlaq_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__))
6884vmlaq_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__))
6890vmlaq_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__))
6896vmlal_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__))
6902vmlal_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__))
6908vmlal_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__))
6914vmlal_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__))
6920vqdmlal_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__))
6926vqdmlal_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__))
6932vmls_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__))
6938vmls_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__))
6944vmls_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__))
6950vmls_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__))
6956vmls_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__))
6962vmlsq_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__))
6968vmlsq_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__))
6974vmlsq_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__))
6980vmlsq_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__))
6986vmlsq_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__))
6992vmlsl_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__))
6998vmlsl_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__))
7004vmlsl_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__))
7010vmlsl_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__))
7016vqdmlsl_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__))
7022vqdmlsl_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__))
7028vext_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__))
7034vext_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__))
7040vext_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__))
7046vext_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__))
7052vext_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__))
7058vext_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__))
7064vext_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__))
7070vext_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__))
7076vext_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__))
7082vext_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__))
7088vext_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__))
7094vextq_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__))
7100vextq_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__))
7106vextq_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__))
7112vextq_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__))
7118vextq_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__))
7124vextq_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__))
7130vextq_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__))
7136vextq_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__))
7142vextq_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__))
7148vextq_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__))
7154vextq_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__))
7160vrev64_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__))
7166vrev64_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__))
7172vrev64_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__))
7178vrev64_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__))
7184vrev64_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__))
7190vrev64_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__))
7196vrev64_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__))
7202vrev64_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__))
7208vrev64_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__))
7214vrev64q_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__))
7220vrev64q_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__))
7226vrev64q_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__))
7232vrev64q_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__))
7238vrev64q_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__))
7244vrev64q_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__))
7250vrev64q_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__))
7256vrev64q_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__))
7262vrev64q_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__))
7268vrev32_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__))
7274vrev32_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__))
7280vrev32_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__))
7286vrev32_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__))
7292vrev32_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__))
7298vrev32_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__))
7304vrev32q_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__))
7310vrev32q_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__))
7316vrev32q_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__))
7322vrev32q_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__))
7328vrev32q_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__))
7334vrev32q_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__))
7340vrev16_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__))
7346vrev16_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__))
7352vrev16_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__))
7358vrev16q_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__))
7364vrev16q_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__))
7370vrev16q_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__))
7376vbsl_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__))
7382vbsl_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__))
7388vbsl_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__))
7394vbsl_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__))
7400vbsl_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__))
7406vbsl_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__))
7412vbsl_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__))
7418vbsl_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__))
7424vbsl_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__))
7430vbsl_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__))
7436vbsl_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__))
7442vbslq_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__))
7448vbslq_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__))
7454vbslq_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__))
7460vbslq_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__))
7466vbslq_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__))
7472vbslq_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__))
7478vbslq_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__))
7484vbslq_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__))
7490vbslq_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__))
7496vbslq_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__))
7502vbslq_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__))
7508vtrn_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__))
7517vtrn_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__))
7526vtrn_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__))
7535vtrn_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__))
7544vtrn_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__))
7553vtrn_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__))
7562vtrn_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__))
7571vtrn_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__))
7580vtrn_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__))
7589vtrnq_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__))
7598vtrnq_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__))
7607vtrnq_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__))
7616vtrnq_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__))
7625vtrnq_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__))
7634vtrnq_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__))
7643vtrnq_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__))
7652vtrnq_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__))
7661vtrnq_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__))
7670vzip_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__))
7679vzip_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__))
7688vzip_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__))
7697vzip_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__))
7706vzip_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__))
7715vzip_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__))
7724vzip_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__))
7733vzip_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__))
7742vzip_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__))
7751vzipq_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__))
7760vzipq_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__))
7769vzipq_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__))
7778vzipq_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__))
7787vzipq_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__))
7796vzipq_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__))
7805vzipq_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__))
7814vzipq_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__))
7823vzipq_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__))
7832vuzp_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__))
7841vuzp_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__))
7850vuzp_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__))
7859vuzp_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__))
7868vuzp_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__))
7877vuzp_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__))
7886vuzp_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__))
7895vuzp_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__))
7904vuzp_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__))
7913vuzpq_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__))
7922vuzpq_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__))
7931vuzpq_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__))
7940vuzpq_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__))
7949vuzpq_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__))
7958vuzpq_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__))
7967vuzpq_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__))
7976vuzpq_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__))
7985vuzpq_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__))
7994vld1_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__))
8000vld1_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__))
8006vld1_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__))
8012vld1_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__))
8018vld1_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__))
8024vld1_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__))
8030vld1_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__))
8036vld1_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__))
8042vld1_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__))
8048vld1_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__))
8054vld1_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__))
8060vld1q_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__))
8066vld1q_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__))
8072vld1q_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__))
8078vld1q_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__))
8084vld1q_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__))
8090vld1q_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__))
8096vld1q_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__))
8102vld1q_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__))
8108vld1q_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__))
8114vld1q_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__))
8120vld1q_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__))
8126vld1_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__))
8132vld1_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__))
8138vld1_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__))
8144vld1_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__))
8150vld1_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__))
8156vld1_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__))
8162vld1_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__))
8168vld1_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__))
8174vld1_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__))
8180vld1_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__))
8186vld1_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__))
8192vld1q_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__))
8198vld1q_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__))
8204vld1q_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__))
8210vld1q_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__))
8216vld1q_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__))
8222vld1q_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__))
8228vld1q_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__))
8234vld1q_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__))
8240vld1q_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__))
8246vld1q_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__))
8252vld1q_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__))
8258vld1_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__))
8264vld1_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__))
8270vld1_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__))
8276vld1_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__))
8282vld1_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__))
8288vld1_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__))
8294vld1_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__))
8300vld1_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__))
8306vld1_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__))
8312vld1_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__))
8318vld1_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__))
8324vld1q_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__))
8330vld1q_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__))
8336vld1q_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__))
8342vld1q_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__))
8348vld1q_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__))
8354vld1q_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__))
8360vld1q_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__))
8366vld1q_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__))
8372vld1q_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__))
8378vld1q_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__))
8384vld1q_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__))
8390vst1_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__))
8396vst1_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__))
8402vst1_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__))
8408vst1_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__))
8414vst1_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__))
8420vst1_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__))
8426vst1_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__))
8432vst1_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__))
8438vst1_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__))
8444vst1_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__))
8450vst1_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__))
8456vst1q_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__))
8462vst1q_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__))
8468vst1q_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__))
8474vst1q_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__))
8480vst1q_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__))
8486vst1q_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__))
8492vst1q_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__))
8498vst1q_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__))
8504vst1q_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__))
8510vst1q_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__))
8516vst1q_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__))
8522vst1_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__))
8528vst1_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__))
8534vst1_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__))
8540vst1_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__))
8546vst1_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__))
8552vst1_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__))
8558vst1_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__))
8564vst1_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__))
8570vst1_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__))
8576vst1_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__))
8582vst1_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__))
8588vst1q_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__))
8594vst1q_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__))
8600vst1q_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__))
8606vst1q_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__))
8612vst1q_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__))
8618vst1q_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__))
8624vst1q_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__))
8630vst1q_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__))
8636vst1q_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__))
8642vst1q_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__))
8648vst1q_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__))
8654vld2_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__))
8662vld2_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__))
8670vld2_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__))
8678vld2_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__))
8686vld2_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__))
8694vld2_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__))
8702vld2_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__))
8710vld2_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__))
8718vld2_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__))
8726vld2_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__))
8734vld2_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__))
8742vld2q_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__))
8750vld2q_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__))
8758vld2q_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__))
8766vld2q_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__))
8774vld2q_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__))
8782vld2q_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__))
8790vld2q_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__))
8798vld2q_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__))
8806vld2q_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__))
8814vld2_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__))
8823vld2_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__))
8832vld2_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__))
8841vld2_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__))
8850vld2_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__))
8859vld2_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__))
8868vld2_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__))
8877vld2_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__))
8886vld2_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__))
8895vld2q_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__))
8904vld2q_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__))
8913vld2q_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__))
8922vld2q_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__))
8931vld2q_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__))
8940vld2q_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__))
8949vld2_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__))
8957vld2_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__))
8965vld2_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__))
8973vld2_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__))
8981vld2_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__))
8989vld2_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__))
8997vld2_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__))
9005vld2_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__))
9013vld2_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__))
9021vld2_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__))
9029vld2_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__))
9037vst2_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__))
9044vst2_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__))
9051vst2_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__))
9058vst2_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__))
9065vst2_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__))
9072vst2_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__))
9079vst2_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__))
9086vst2_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__))
9093vst2_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__))
9100vst2_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__))
9107vst2_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__))
9114vst2q_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__))
9121vst2q_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__))
9128vst2q_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__))
9135vst2q_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__))
9142vst2q_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__))
9149vst2q_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__))
9156vst2q_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__))
9163vst2q_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__))
9170vst2q_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__))
9177vst2_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__))
9184vst2_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__))
9191vst2_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__))
9198vst2_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__))
9205vst2_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__))
9212vst2_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__))
9219vst2_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__))
9226vst2_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__))
9233vst2_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__))
9240vst2q_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__))
9247vst2q_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__))
9254vst2q_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__))
9261vst2q_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__))
9268vst2q_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__))
9275vst2q_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__))
9282vld3_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__))
9290vld3_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__))
9298vld3_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__))
9306vld3_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__))
9314vld3_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__))
9322vld3_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__))
9330vld3_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__))
9338vld3_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__))
9346vld3_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__))
9354vld3_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__))
9362vld3_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__))
9370vld3q_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__))
9378vld3q_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__))
9386vld3q_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__))
9394vld3q_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__))
9402vld3q_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__))
9410vld3q_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__))
9418vld3q_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__))
9426vld3q_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__))
9434vld3q_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__))
9442vld3_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__))
9451vld3_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__))
9460vld3_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__))
9469vld3_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__))
9478vld3_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__))
9487vld3_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__))
9496vld3_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__))
9505vld3_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__))
9514vld3_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__))
9523vld3q_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__))
9532vld3q_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__))
9541vld3q_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__))
9550vld3q_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__))
9559vld3q_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__))
9568vld3q_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__))
9577vld3_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__))
9585vld3_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__))
9593vld3_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__))
9601vld3_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__))
9609vld3_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__))
9617vld3_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__))
9625vld3_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__))
9633vld3_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__))
9641vld3_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__))
9649vld3_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__))
9657vld3_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__))
9665vst3_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__))
9672vst3_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__))
9679vst3_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__))
9686vst3_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__))
9693vst3_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__))
9700vst3_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__))
9707vst3_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__))
9714vst3_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__))
9721vst3_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__))
9728vst3_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__))
9735vst3_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__))
9742vst3q_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__))
9749vst3q_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__))
9756vst3q_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__))
9763vst3q_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__))
9770vst3q_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__))
9777vst3q_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__))
9784vst3q_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__))
9791vst3q_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__))
9798vst3q_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__))
9805vst3_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__))
9812vst3_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__))
9819vst3_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__))
9826vst3_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__))
9833vst3_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__))
9840vst3_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__))
9847vst3_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__))
9854vst3_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__))
9861vst3_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__))
9868vst3q_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__))
9875vst3q_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__))
9882vst3q_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__))
9889vst3q_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__))
9896vst3q_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__))
9903vst3q_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__))
9910vld4_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__))
9918vld4_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__))
9926vld4_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__))
9934vld4_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__))
9942vld4_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__))
9950vld4_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__))
9958vld4_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__))
9966vld4_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__))
9974vld4_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__))
9982vld4_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__))
9990vld4_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__))
9998vld4q_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__))
10006vld4q_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__))
10014vld4q_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__))
10022vld4q_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__))
10030vld4q_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__))
10038vld4q_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__))
10046vld4q_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__))
10054vld4q_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__))
10062vld4q_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__))
10070vld4_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__))
10079vld4_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__))
10088vld4_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__))
10097vld4_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__))
10106vld4_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__))
10115vld4_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__))
10124vld4_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__))
10133vld4_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__))
10142vld4_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__))
10151vld4q_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__))
10160vld4q_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__))
10169vld4q_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__))
10178vld4q_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__))
10187vld4q_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__))
10196vld4q_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__))
10205vld4_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__))
10213vld4_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__))
10221vld4_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__))
10229vld4_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__))
10237vld4_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__))
10245vld4_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__))
10253vld4_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__))
10261vld4_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__))
10269vld4_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__))
10277vld4_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__))
10285vld4_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__))
10293vst4_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__))
10300vst4_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__))
10307vst4_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__))
10314vst4_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__))
10321vst4_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__))
10328vst4_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__))
10335vst4_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__))
10342vst4_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__))
10349vst4_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__))
10356vst4_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__))
10363vst4_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__))
10370vst4q_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__))
10377vst4q_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__))
10384vst4q_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__))
10391vst4q_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__))
10398vst4q_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__))
10405vst4q_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__))
10412vst4q_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__))
10419vst4q_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__))
10426vst4q_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__))
10433vst4_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__))
10440vst4_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__))
10447vst4_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__))
10454vst4_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__))
10461vst4_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__))
10468vst4_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__))
10475vst4_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__))
10482vst4_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__))
10489vst4_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__))
10496vst4q_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__))
10503vst4q_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__))
10510vst4q_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__))
10517vst4q_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__))
10524vst4q_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__))
10531vst4q_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__))
10538vand_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__))
10544vand_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__))
10550vand_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__))
10556vand_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__))
10562vand_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__))
10568vand_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__))
10574vand_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__))
10580vand_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__))
10586vandq_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__))
10592vandq_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__))
10598vandq_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__))
10604vandq_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__))
10610vandq_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__))
10616vandq_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__))
10622vandq_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__))
10628vandq_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__))
10634vorr_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__))
10640vorr_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__))
10646vorr_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__))
10652vorr_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__))
10658vorr_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__))
10664vorr_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__))
10670vorr_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__))
10676vorr_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__))
10682vorrq_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__))
10688vorrq_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__))
10694vorrq_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__))
10700vorrq_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__))
10706vorrq_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__))
10712vorrq_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__))
10718vorrq_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__))
10724vorrq_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__))
10730veor_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__))
10736veor_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__))
10742veor_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__))
10748veor_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__))
10754veor_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__))
10760veor_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__))
10766veor_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__))
10772veor_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__))
10778veorq_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__))
10784veorq_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__))
10790veorq_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__))
10796veorq_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__))
10802veorq_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__))
10808veorq_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__))
10814veorq_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__))
10820veorq_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__))
10826vbic_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__))
10832vbic_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__))
10838vbic_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__))
10844vbic_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__))
10850vbic_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__))
10856vbic_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__))
10862vbic_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__))
10868vbic_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__))
10874vbicq_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__))
10880vbicq_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__))
10886vbicq_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__))
10892vbicq_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__))
10898vbicq_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__))
10904vbicq_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__))
10910vbicq_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__))
10916vbicq_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__))
10922vorn_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__))
10928vorn_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__))
10934vorn_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__))
10940vorn_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__))
10946vorn_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__))
10952vorn_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__))
10958vorn_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__))
10964vorn_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__))
10970vornq_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__))
10976vornq_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__))
10982vornq_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__))
10988vornq_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__))
10994vornq_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__))
11000vornq_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__))
11006vornq_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__))
11012vornq_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__))
11019vreinterpret_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__))
11025vreinterpret_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__))
11031vreinterpret_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__))
11037vreinterpret_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__))
11043vreinterpret_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__))
11049vreinterpret_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__))
11055vreinterpret_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__))
11061vreinterpret_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__))
11067vreinterpret_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__))
11073vreinterpret_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__))
11079vreinterpretq_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__))
11085vreinterpretq_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__))
11091vreinterpretq_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__))
11097vreinterpretq_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__))
11103vreinterpretq_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__))
11109vreinterpretq_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__))
11115vreinterpretq_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__))
11121vreinterpretq_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__))
11127vreinterpretq_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__))
11133vreinterpretq_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__))
11139vreinterpret_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__))
11145vreinterpret_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__))
11151vreinterpret_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__))
11157vreinterpret_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__))
11163vreinterpret_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__))
11169vreinterpret_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__))
11175vreinterpret_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__))
11181vreinterpret_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__))
11187vreinterpret_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__))
11193vreinterpret_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__))
11199vreinterpretq_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__))
11205vreinterpretq_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__))
11211vreinterpretq_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__))
11217vreinterpretq_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__))
11223vreinterpretq_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__))
11229vreinterpretq_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__))
11235vreinterpretq_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__))
11241vreinterpretq_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__))
11247vreinterpretq_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__))
11253vreinterpretq_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__))
11259vreinterpret_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__))
11265vreinterpret_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__))
11271vreinterpret_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__))
11277vreinterpret_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__))
11283vreinterpret_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__))
11289vreinterpret_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__))
11295vreinterpret_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__))
11301vreinterpret_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__))
11307vreinterpret_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__))
11313vreinterpret_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__))
11319vreinterpretq_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__))
11325vreinterpretq_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__))
11331vreinterpretq_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__))
11337vreinterpretq_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__))
11343vreinterpretq_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__))
11349vreinterpretq_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__))
11355vreinterpretq_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__))
11361vreinterpretq_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__))
11367vreinterpretq_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__))
11373vreinterpretq_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__))
11379vreinterpret_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__))
11385vreinterpret_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__))
11391vreinterpret_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__))
11397vreinterpret_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__))
11403vreinterpret_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__))
11409vreinterpret_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__))
11415vreinterpret_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__))
11421vreinterpret_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__))
11427vreinterpret_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__))
11433vreinterpret_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__))
11439vreinterpretq_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__))
11445vreinterpretq_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__))
11451vreinterpretq_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__))
11457vreinterpretq_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__))
11463vreinterpretq_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__))
11469vreinterpretq_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__))
11475vreinterpretq_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__))
11481vreinterpretq_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__))
11487vreinterpretq_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__))
11493vreinterpretq_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__))
11499vreinterpret_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__))
11505vreinterpret_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__))
11511vreinterpret_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__))
11517vreinterpret_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__))
11523vreinterpret_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__))
11529vreinterpret_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__))
11535vreinterpret_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__))
11541vreinterpret_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__))
11547vreinterpret_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__))
11553vreinterpret_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__))
11559vreinterpretq_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__))
11565vreinterpretq_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__))
11571vreinterpretq_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__))
11577vreinterpretq_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__))
11583vreinterpretq_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__))
11589vreinterpretq_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__))
11595vreinterpretq_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__))
11601vreinterpretq_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__))
11607vreinterpretq_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__))
11613vreinterpretq_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__))
11619vreinterpret_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__))
11625vreinterpret_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__))
11631vreinterpret_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__))
11637vreinterpret_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__))
11643vreinterpret_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__))
11649vreinterpret_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__))
11655vreinterpret_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__))
11661vreinterpret_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__))
11667vreinterpret_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__))
11673vreinterpret_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__))
11679vreinterpretq_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__))
11685vreinterpretq_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__))
11691vreinterpretq_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__))
11697vreinterpretq_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__))
11703vreinterpretq_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__))
11709vreinterpretq_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__))
11715vreinterpretq_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__))
11721vreinterpretq_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__))
11727vreinterpretq_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__))
11733vreinterpretq_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__))
11739vreinterpret_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__))
11745vreinterpret_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__))
11751vreinterpret_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__))
11757vreinterpret_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__))
11763vreinterpret_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__))
11769vreinterpret_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__))
11775vreinterpret_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__))
11781vreinterpret_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__))
11787vreinterpret_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__))
11793vreinterpret_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__))
11799vreinterpretq_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__))
11805vreinterpretq_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__))
11811vreinterpretq_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__))
11817vreinterpretq_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__))
11823vreinterpretq_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__))
11829vreinterpretq_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__))
11835vreinterpretq_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__))
11841vreinterpretq_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__))
11847vreinterpretq_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__))
11853vreinterpretq_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__))
11859vreinterpret_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__))
11865vreinterpret_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__))
11871vreinterpret_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__))
11877vreinterpret_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__))
11883vreinterpret_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__))
11889vreinterpret_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__))
11895vreinterpret_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__))
11901vreinterpret_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__))
11907vreinterpret_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__))
11913vreinterpret_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__))
11919vreinterpretq_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__))
11925vreinterpretq_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__))
11931vreinterpretq_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__))
11937vreinterpretq_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__))
11943vreinterpretq_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__))
11949vreinterpretq_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__))
11955vreinterpretq_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__))
11961vreinterpretq_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__))
11967vreinterpretq_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__))
11973vreinterpretq_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__))
11979vreinterpret_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__))
11985vreinterpret_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__))
11991vreinterpret_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__))
11997vreinterpret_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__))
12003vreinterpret_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__))
12009vreinterpret_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__))
12015vreinterpret_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__))
12021vreinterpret_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__))
12027vreinterpret_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__))
12033vreinterpret_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__))
12039vreinterpretq_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__))
12045vreinterpretq_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__))
12051vreinterpretq_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__))
12057vreinterpretq_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__))
12063vreinterpretq_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__))
12069vreinterpretq_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__))
12075vreinterpretq_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__))
12081vreinterpretq_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__))
12087vreinterpretq_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__))
12093vreinterpretq_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__))
12099vreinterpret_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__))
12105vreinterpret_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__))
12111vreinterpret_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__))
12117vreinterpret_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__))
12123vreinterpret_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__))
12129vreinterpret_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__))
12135vreinterpret_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__))
12141vreinterpret_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__))
12147vreinterpret_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__))
12153vreinterpret_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__))
12159vreinterpretq_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__))
12165vreinterpretq_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__))
12171vreinterpretq_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__))
12177vreinterpretq_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__))
12183vreinterpretq_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__))
12189vreinterpretq_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__))
12195vreinterpretq_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__))
12201vreinterpretq_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__))
12207vreinterpretq_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__))
12213vreinterpretq_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__))
12219vreinterpret_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__))
12225vreinterpret_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__))
12231vreinterpret_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__))
12237vreinterpret_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__))
12243vreinterpret_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__))
12249vreinterpret_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__))
12255vreinterpret_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__))
12261vreinterpret_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__))
12267vreinterpret_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__))
12273vreinterpret_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__))
12279vreinterpretq_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__))
12285vreinterpretq_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__))
12291vreinterpretq_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__))
12297vreinterpretq_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__))
12303vreinterpretq_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__))
12309vreinterpretq_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__))
12315vreinterpretq_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__))
12321vreinterpretq_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__))
12327vreinterpretq_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__))
12333vreinterpretq_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
12343