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