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