1 /* ARM NEON intrinsics include file. This file is generated automatically
2 using neon-gen.ml. Please do not edit manually.
3
4 Copyright (C) 2006-2013 Free Software Foundation, Inc.
5 Contributed by CodeSourcery.
6
7 This file is part of GCC.
8
9 GCC is free software; you can redistribute it and/or modify it
10 under the terms of the GNU General Public License as published
11 by the Free Software Foundation; either version 3, or (at your
12 option) any later version.
13
14 GCC is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
18
19 Under Section 7 of GPL version 3, you are granted additional
20 permissions described in the GCC Runtime Library Exception, version
21 3.1, as published by the Free Software Foundation.
22
23 You should have received a copy of the GNU General Public License and
24 a copy of the GCC Runtime Library Exception along with this program;
25 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
26 <http://www.gnu.org/licenses/>. */
27
28 #ifndef _GCC_ARM_NEON_H
29 #define _GCC_ARM_NEON_H 1
30
31 #ifndef __ARM_NEON__
32 #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
33 #else
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 #include <stdint.h>
40
41 typedef __builtin_neon_qi int8x8_t __attribute__ ((__vector_size__ (8)));
42 typedef __builtin_neon_hi int16x4_t __attribute__ ((__vector_size__ (8)));
43 typedef __builtin_neon_si int32x2_t __attribute__ ((__vector_size__ (8)));
44 typedef __builtin_neon_di int64x1_t;
45 typedef __builtin_neon_sf float32x2_t __attribute__ ((__vector_size__ (8)));
46 typedef __builtin_neon_poly8 poly8x8_t __attribute__ ((__vector_size__ (8)));
47 typedef __builtin_neon_poly16 poly16x4_t __attribute__ ((__vector_size__ (8)));
48 typedef __builtin_neon_uqi uint8x8_t __attribute__ ((__vector_size__ (8)));
49 typedef __builtin_neon_uhi uint16x4_t __attribute__ ((__vector_size__ (8)));
50 typedef __builtin_neon_usi uint32x2_t __attribute__ ((__vector_size__ (8)));
51 typedef __builtin_neon_udi uint64x1_t;
52 typedef __builtin_neon_qi int8x16_t __attribute__ ((__vector_size__ (16)));
53 typedef __builtin_neon_hi int16x8_t __attribute__ ((__vector_size__ (16)));
54 typedef __builtin_neon_si int32x4_t __attribute__ ((__vector_size__ (16)));
55 typedef __builtin_neon_di int64x2_t __attribute__ ((__vector_size__ (16)));
56 typedef __builtin_neon_sf float32x4_t __attribute__ ((__vector_size__ (16)));
57 typedef __builtin_neon_poly8 poly8x16_t __attribute__ ((__vector_size__ (16)));
58 typedef __builtin_neon_poly16 poly16x8_t __attribute__ ((__vector_size__ (16)));
59 typedef __builtin_neon_uqi uint8x16_t __attribute__ ((__vector_size__ (16)));
60 typedef __builtin_neon_uhi uint16x8_t __attribute__ ((__vector_size__ (16)));
61 typedef __builtin_neon_usi uint32x4_t __attribute__ ((__vector_size__ (16)));
62 typedef __builtin_neon_udi uint64x2_t __attribute__ ((__vector_size__ (16)));
63
64 typedef float float32_t;
65 typedef __builtin_neon_poly8 poly8_t;
66 typedef __builtin_neon_poly16 poly16_t;
67
68 typedef struct int8x8x2_t
69 {
70 int8x8_t val[2];
71 } int8x8x2_t;
72
73 typedef struct int8x16x2_t
74 {
75 int8x16_t val[2];
76 } int8x16x2_t;
77
78 typedef struct int16x4x2_t
79 {
80 int16x4_t val[2];
81 } int16x4x2_t;
82
83 typedef struct int16x8x2_t
84 {
85 int16x8_t val[2];
86 } int16x8x2_t;
87
88 typedef struct int32x2x2_t
89 {
90 int32x2_t val[2];
91 } int32x2x2_t;
92
93 typedef struct int32x4x2_t
94 {
95 int32x4_t val[2];
96 } int32x4x2_t;
97
98 typedef struct int64x1x2_t
99 {
100 int64x1_t val[2];
101 } int64x1x2_t;
102
103 typedef struct int64x2x2_t
104 {
105 int64x2_t val[2];
106 } int64x2x2_t;
107
108 typedef struct uint8x8x2_t
109 {
110 uint8x8_t val[2];
111 } uint8x8x2_t;
112
113 typedef struct uint8x16x2_t
114 {
115 uint8x16_t val[2];
116 } uint8x16x2_t;
117
118 typedef struct uint16x4x2_t
119 {
120 uint16x4_t val[2];
121 } uint16x4x2_t;
122
123 typedef struct uint16x8x2_t
124 {
125 uint16x8_t val[2];
126 } uint16x8x2_t;
127
128 typedef struct uint32x2x2_t
129 {
130 uint32x2_t val[2];
131 } uint32x2x2_t;
132
133 typedef struct uint32x4x2_t
134 {
135 uint32x4_t val[2];
136 } uint32x4x2_t;
137
138 typedef struct uint64x1x2_t
139 {
140 uint64x1_t val[2];
141 } uint64x1x2_t;
142
143 typedef struct uint64x2x2_t
144 {
145 uint64x2_t val[2];
146 } uint64x2x2_t;
147
148 typedef struct float32x2x2_t
149 {
150 float32x2_t val[2];
151 } float32x2x2_t;
152
153 typedef struct float32x4x2_t
154 {
155 float32x4_t val[2];
156 } float32x4x2_t;
157
158 typedef struct poly8x8x2_t
159 {
160 poly8x8_t val[2];
161 } poly8x8x2_t;
162
163 typedef struct poly8x16x2_t
164 {
165 poly8x16_t val[2];
166 } poly8x16x2_t;
167
168 typedef struct poly16x4x2_t
169 {
170 poly16x4_t val[2];
171 } poly16x4x2_t;
172
173 typedef struct poly16x8x2_t
174 {
175 poly16x8_t val[2];
176 } poly16x8x2_t;
177
178 typedef struct int8x8x3_t
179 {
180 int8x8_t val[3];
181 } int8x8x3_t;
182
183 typedef struct int8x16x3_t
184 {
185 int8x16_t val[3];
186 } int8x16x3_t;
187
188 typedef struct int16x4x3_t
189 {
190 int16x4_t val[3];
191 } int16x4x3_t;
192
193 typedef struct int16x8x3_t
194 {
195 int16x8_t val[3];
196 } int16x8x3_t;
197
198 typedef struct int32x2x3_t
199 {
200 int32x2_t val[3];
201 } int32x2x3_t;
202
203 typedef struct int32x4x3_t
204 {
205 int32x4_t val[3];
206 } int32x4x3_t;
207
208 typedef struct int64x1x3_t
209 {
210 int64x1_t val[3];
211 } int64x1x3_t;
212
213 typedef struct int64x2x3_t
214 {
215 int64x2_t val[3];
216 } int64x2x3_t;
217
218 typedef struct uint8x8x3_t
219 {
220 uint8x8_t val[3];
221 } uint8x8x3_t;
222
223 typedef struct uint8x16x3_t
224 {
225 uint8x16_t val[3];
226 } uint8x16x3_t;
227
228 typedef struct uint16x4x3_t
229 {
230 uint16x4_t val[3];
231 } uint16x4x3_t;
232
233 typedef struct uint16x8x3_t
234 {
235 uint16x8_t val[3];
236 } uint16x8x3_t;
237
238 typedef struct uint32x2x3_t
239 {
240 uint32x2_t val[3];
241 } uint32x2x3_t;
242
243 typedef struct uint32x4x3_t
244 {
245 uint32x4_t val[3];
246 } uint32x4x3_t;
247
248 typedef struct uint64x1x3_t
249 {
250 uint64x1_t val[3];
251 } uint64x1x3_t;
252
253 typedef struct uint64x2x3_t
254 {
255 uint64x2_t val[3];
256 } uint64x2x3_t;
257
258 typedef struct float32x2x3_t
259 {
260 float32x2_t val[3];
261 } float32x2x3_t;
262
263 typedef struct float32x4x3_t
264 {
265 float32x4_t val[3];
266 } float32x4x3_t;
267
268 typedef struct poly8x8x3_t
269 {
270 poly8x8_t val[3];
271 } poly8x8x3_t;
272
273 typedef struct poly8x16x3_t
274 {
275 poly8x16_t val[3];
276 } poly8x16x3_t;
277
278 typedef struct poly16x4x3_t
279 {
280 poly16x4_t val[3];
281 } poly16x4x3_t;
282
283 typedef struct poly16x8x3_t
284 {
285 poly16x8_t val[3];
286 } poly16x8x3_t;
287
288 typedef struct int8x8x4_t
289 {
290 int8x8_t val[4];
291 } int8x8x4_t;
292
293 typedef struct int8x16x4_t
294 {
295 int8x16_t val[4];
296 } int8x16x4_t;
297
298 typedef struct int16x4x4_t
299 {
300 int16x4_t val[4];
301 } int16x4x4_t;
302
303 typedef struct int16x8x4_t
304 {
305 int16x8_t val[4];
306 } int16x8x4_t;
307
308 typedef struct int32x2x4_t
309 {
310 int32x2_t val[4];
311 } int32x2x4_t;
312
313 typedef struct int32x4x4_t
314 {
315 int32x4_t val[4];
316 } int32x4x4_t;
317
318 typedef struct int64x1x4_t
319 {
320 int64x1_t val[4];
321 } int64x1x4_t;
322
323 typedef struct int64x2x4_t
324 {
325 int64x2_t val[4];
326 } int64x2x4_t;
327
328 typedef struct uint8x8x4_t
329 {
330 uint8x8_t val[4];
331 } uint8x8x4_t;
332
333 typedef struct uint8x16x4_t
334 {
335 uint8x16_t val[4];
336 } uint8x16x4_t;
337
338 typedef struct uint16x4x4_t
339 {
340 uint16x4_t val[4];
341 } uint16x4x4_t;
342
343 typedef struct uint16x8x4_t
344 {
345 uint16x8_t val[4];
346 } uint16x8x4_t;
347
348 typedef struct uint32x2x4_t
349 {
350 uint32x2_t val[4];
351 } uint32x2x4_t;
352
353 typedef struct uint32x4x4_t
354 {
355 uint32x4_t val[4];
356 } uint32x4x4_t;
357
358 typedef struct uint64x1x4_t
359 {
360 uint64x1_t val[4];
361 } uint64x1x4_t;
362
363 typedef struct uint64x2x4_t
364 {
365 uint64x2_t val[4];
366 } uint64x2x4_t;
367
368 typedef struct float32x2x4_t
369 {
370 float32x2_t val[4];
371 } float32x2x4_t;
372
373 typedef struct float32x4x4_t
374 {
375 float32x4_t val[4];
376 } float32x4x4_t;
377
378 typedef struct poly8x8x4_t
379 {
380 poly8x8_t val[4];
381 } poly8x8x4_t;
382
383 typedef struct poly8x16x4_t
384 {
385 poly8x16_t val[4];
386 } poly8x16x4_t;
387
388 typedef struct poly16x4x4_t
389 {
390 poly16x4_t val[4];
391 } poly16x4x4_t;
392
393 typedef struct poly16x8x4_t
394 {
395 poly16x8_t val[4];
396 } poly16x8x4_t;
397
398
399 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vadd_s8(int8x8_t __a,int8x8_t __b)400 vadd_s8 (int8x8_t __a, int8x8_t __b)
401 {
402 return (int8x8_t)__builtin_neon_vaddv8qi (__a, __b, 1);
403 }
404
405 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vadd_s16(int16x4_t __a,int16x4_t __b)406 vadd_s16 (int16x4_t __a, int16x4_t __b)
407 {
408 return (int16x4_t)__builtin_neon_vaddv4hi (__a, __b, 1);
409 }
410
411 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vadd_s32(int32x2_t __a,int32x2_t __b)412 vadd_s32 (int32x2_t __a, int32x2_t __b)
413 {
414 return (int32x2_t)__builtin_neon_vaddv2si (__a, __b, 1);
415 }
416
417 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vadd_f32(float32x2_t __a,float32x2_t __b)418 vadd_f32 (float32x2_t __a, float32x2_t __b)
419 {
420 return (float32x2_t)__builtin_neon_vaddv2sf (__a, __b, 3);
421 }
422
423 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vadd_u8(uint8x8_t __a,uint8x8_t __b)424 vadd_u8 (uint8x8_t __a, uint8x8_t __b)
425 {
426 return (uint8x8_t)__builtin_neon_vaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
427 }
428
429 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vadd_u16(uint16x4_t __a,uint16x4_t __b)430 vadd_u16 (uint16x4_t __a, uint16x4_t __b)
431 {
432 return (uint16x4_t)__builtin_neon_vaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
433 }
434
435 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vadd_u32(uint32x2_t __a,uint32x2_t __b)436 vadd_u32 (uint32x2_t __a, uint32x2_t __b)
437 {
438 return (uint32x2_t)__builtin_neon_vaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
439 }
440
441 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vadd_s64(int64x1_t __a,int64x1_t __b)442 vadd_s64 (int64x1_t __a, int64x1_t __b)
443 {
444 return (int64x1_t)__builtin_neon_vadddi (__a, __b, 1);
445 }
446
447 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vadd_u64(uint64x1_t __a,uint64x1_t __b)448 vadd_u64 (uint64x1_t __a, uint64x1_t __b)
449 {
450 return (uint64x1_t)__builtin_neon_vadddi ((int64x1_t) __a, (int64x1_t) __b, 0);
451 }
452
453 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vaddq_s8(int8x16_t __a,int8x16_t __b)454 vaddq_s8 (int8x16_t __a, int8x16_t __b)
455 {
456 return (int8x16_t)__builtin_neon_vaddv16qi (__a, __b, 1);
457 }
458
459 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vaddq_s16(int16x8_t __a,int16x8_t __b)460 vaddq_s16 (int16x8_t __a, int16x8_t __b)
461 {
462 return (int16x8_t)__builtin_neon_vaddv8hi (__a, __b, 1);
463 }
464
465 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vaddq_s32(int32x4_t __a,int32x4_t __b)466 vaddq_s32 (int32x4_t __a, int32x4_t __b)
467 {
468 return (int32x4_t)__builtin_neon_vaddv4si (__a, __b, 1);
469 }
470
471 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vaddq_s64(int64x2_t __a,int64x2_t __b)472 vaddq_s64 (int64x2_t __a, int64x2_t __b)
473 {
474 return (int64x2_t)__builtin_neon_vaddv2di (__a, __b, 1);
475 }
476
477 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vaddq_f32(float32x4_t __a,float32x4_t __b)478 vaddq_f32 (float32x4_t __a, float32x4_t __b)
479 {
480 return (float32x4_t)__builtin_neon_vaddv4sf (__a, __b, 3);
481 }
482
483 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vaddq_u8(uint8x16_t __a,uint8x16_t __b)484 vaddq_u8 (uint8x16_t __a, uint8x16_t __b)
485 {
486 return (uint8x16_t)__builtin_neon_vaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
487 }
488
489 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vaddq_u16(uint16x8_t __a,uint16x8_t __b)490 vaddq_u16 (uint16x8_t __a, uint16x8_t __b)
491 {
492 return (uint16x8_t)__builtin_neon_vaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
493 }
494
495 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vaddq_u32(uint32x4_t __a,uint32x4_t __b)496 vaddq_u32 (uint32x4_t __a, uint32x4_t __b)
497 {
498 return (uint32x4_t)__builtin_neon_vaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
499 }
500
501 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vaddq_u64(uint64x2_t __a,uint64x2_t __b)502 vaddq_u64 (uint64x2_t __a, uint64x2_t __b)
503 {
504 return (uint64x2_t)__builtin_neon_vaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
505 }
506
507 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vaddl_s8(int8x8_t __a,int8x8_t __b)508 vaddl_s8 (int8x8_t __a, int8x8_t __b)
509 {
510 return (int16x8_t)__builtin_neon_vaddlv8qi (__a, __b, 1);
511 }
512
513 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vaddl_s16(int16x4_t __a,int16x4_t __b)514 vaddl_s16 (int16x4_t __a, int16x4_t __b)
515 {
516 return (int32x4_t)__builtin_neon_vaddlv4hi (__a, __b, 1);
517 }
518
519 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vaddl_s32(int32x2_t __a,int32x2_t __b)520 vaddl_s32 (int32x2_t __a, int32x2_t __b)
521 {
522 return (int64x2_t)__builtin_neon_vaddlv2si (__a, __b, 1);
523 }
524
525 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vaddl_u8(uint8x8_t __a,uint8x8_t __b)526 vaddl_u8 (uint8x8_t __a, uint8x8_t __b)
527 {
528 return (uint16x8_t)__builtin_neon_vaddlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
529 }
530
531 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vaddl_u16(uint16x4_t __a,uint16x4_t __b)532 vaddl_u16 (uint16x4_t __a, uint16x4_t __b)
533 {
534 return (uint32x4_t)__builtin_neon_vaddlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
535 }
536
537 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vaddl_u32(uint32x2_t __a,uint32x2_t __b)538 vaddl_u32 (uint32x2_t __a, uint32x2_t __b)
539 {
540 return (uint64x2_t)__builtin_neon_vaddlv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
541 }
542
543 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vaddw_s8(int16x8_t __a,int8x8_t __b)544 vaddw_s8 (int16x8_t __a, int8x8_t __b)
545 {
546 return (int16x8_t)__builtin_neon_vaddwv8qi (__a, __b, 1);
547 }
548
549 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vaddw_s16(int32x4_t __a,int16x4_t __b)550 vaddw_s16 (int32x4_t __a, int16x4_t __b)
551 {
552 return (int32x4_t)__builtin_neon_vaddwv4hi (__a, __b, 1);
553 }
554
555 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vaddw_s32(int64x2_t __a,int32x2_t __b)556 vaddw_s32 (int64x2_t __a, int32x2_t __b)
557 {
558 return (int64x2_t)__builtin_neon_vaddwv2si (__a, __b, 1);
559 }
560
561 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vaddw_u8(uint16x8_t __a,uint8x8_t __b)562 vaddw_u8 (uint16x8_t __a, uint8x8_t __b)
563 {
564 return (uint16x8_t)__builtin_neon_vaddwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0);
565 }
566
567 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vaddw_u16(uint32x4_t __a,uint16x4_t __b)568 vaddw_u16 (uint32x4_t __a, uint16x4_t __b)
569 {
570 return (uint32x4_t)__builtin_neon_vaddwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0);
571 }
572
573 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vaddw_u32(uint64x2_t __a,uint32x2_t __b)574 vaddw_u32 (uint64x2_t __a, uint32x2_t __b)
575 {
576 return (uint64x2_t)__builtin_neon_vaddwv2si ((int64x2_t) __a, (int32x2_t) __b, 0);
577 }
578
579 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vhadd_s8(int8x8_t __a,int8x8_t __b)580 vhadd_s8 (int8x8_t __a, int8x8_t __b)
581 {
582 return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 1);
583 }
584
585 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vhadd_s16(int16x4_t __a,int16x4_t __b)586 vhadd_s16 (int16x4_t __a, int16x4_t __b)
587 {
588 return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 1);
589 }
590
591 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vhadd_s32(int32x2_t __a,int32x2_t __b)592 vhadd_s32 (int32x2_t __a, int32x2_t __b)
593 {
594 return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 1);
595 }
596
597 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vhadd_u8(uint8x8_t __a,uint8x8_t __b)598 vhadd_u8 (uint8x8_t __a, uint8x8_t __b)
599 {
600 return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
601 }
602
603 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vhadd_u16(uint16x4_t __a,uint16x4_t __b)604 vhadd_u16 (uint16x4_t __a, uint16x4_t __b)
605 {
606 return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
607 }
608
609 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vhadd_u32(uint32x2_t __a,uint32x2_t __b)610 vhadd_u32 (uint32x2_t __a, uint32x2_t __b)
611 {
612 return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
613 }
614
615 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vhaddq_s8(int8x16_t __a,int8x16_t __b)616 vhaddq_s8 (int8x16_t __a, int8x16_t __b)
617 {
618 return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 1);
619 }
620
621 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vhaddq_s16(int16x8_t __a,int16x8_t __b)622 vhaddq_s16 (int16x8_t __a, int16x8_t __b)
623 {
624 return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 1);
625 }
626
627 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vhaddq_s32(int32x4_t __a,int32x4_t __b)628 vhaddq_s32 (int32x4_t __a, int32x4_t __b)
629 {
630 return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 1);
631 }
632
633 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vhaddq_u8(uint8x16_t __a,uint8x16_t __b)634 vhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
635 {
636 return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
637 }
638
639 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vhaddq_u16(uint16x8_t __a,uint16x8_t __b)640 vhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
641 {
642 return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
643 }
644
645 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vhaddq_u32(uint32x4_t __a,uint32x4_t __b)646 vhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
647 {
648 return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
649 }
650
651 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrhadd_s8(int8x8_t __a,int8x8_t __b)652 vrhadd_s8 (int8x8_t __a, int8x8_t __b)
653 {
654 return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 5);
655 }
656
657 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrhadd_s16(int16x4_t __a,int16x4_t __b)658 vrhadd_s16 (int16x4_t __a, int16x4_t __b)
659 {
660 return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 5);
661 }
662
663 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrhadd_s32(int32x2_t __a,int32x2_t __b)664 vrhadd_s32 (int32x2_t __a, int32x2_t __b)
665 {
666 return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 5);
667 }
668
669 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrhadd_u8(uint8x8_t __a,uint8x8_t __b)670 vrhadd_u8 (uint8x8_t __a, uint8x8_t __b)
671 {
672 return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 4);
673 }
674
675 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrhadd_u16(uint16x4_t __a,uint16x4_t __b)676 vrhadd_u16 (uint16x4_t __a, uint16x4_t __b)
677 {
678 return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 4);
679 }
680
681 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrhadd_u32(uint32x2_t __a,uint32x2_t __b)682 vrhadd_u32 (uint32x2_t __a, uint32x2_t __b)
683 {
684 return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 4);
685 }
686
687 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrhaddq_s8(int8x16_t __a,int8x16_t __b)688 vrhaddq_s8 (int8x16_t __a, int8x16_t __b)
689 {
690 return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 5);
691 }
692
693 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vrhaddq_s16(int16x8_t __a,int16x8_t __b)694 vrhaddq_s16 (int16x8_t __a, int16x8_t __b)
695 {
696 return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 5);
697 }
698
699 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vrhaddq_s32(int32x4_t __a,int32x4_t __b)700 vrhaddq_s32 (int32x4_t __a, int32x4_t __b)
701 {
702 return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 5);
703 }
704
705 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrhaddq_u8(uint8x16_t __a,uint8x16_t __b)706 vrhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
707 {
708 return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 4);
709 }
710
711 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vrhaddq_u16(uint16x8_t __a,uint16x8_t __b)712 vrhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
713 {
714 return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
715 }
716
717 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrhaddq_u32(uint32x4_t __a,uint32x4_t __b)718 vrhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
719 {
720 return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
721 }
722
723 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqadd_s8(int8x8_t __a,int8x8_t __b)724 vqadd_s8 (int8x8_t __a, int8x8_t __b)
725 {
726 return (int8x8_t)__builtin_neon_vqaddv8qi (__a, __b, 1);
727 }
728
729 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqadd_s16(int16x4_t __a,int16x4_t __b)730 vqadd_s16 (int16x4_t __a, int16x4_t __b)
731 {
732 return (int16x4_t)__builtin_neon_vqaddv4hi (__a, __b, 1);
733 }
734
735 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqadd_s32(int32x2_t __a,int32x2_t __b)736 vqadd_s32 (int32x2_t __a, int32x2_t __b)
737 {
738 return (int32x2_t)__builtin_neon_vqaddv2si (__a, __b, 1);
739 }
740
741 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vqadd_s64(int64x1_t __a,int64x1_t __b)742 vqadd_s64 (int64x1_t __a, int64x1_t __b)
743 {
744 return (int64x1_t)__builtin_neon_vqadddi (__a, __b, 1);
745 }
746
747 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqadd_u8(uint8x8_t __a,uint8x8_t __b)748 vqadd_u8 (uint8x8_t __a, uint8x8_t __b)
749 {
750 return (uint8x8_t)__builtin_neon_vqaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
751 }
752
753 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqadd_u16(uint16x4_t __a,uint16x4_t __b)754 vqadd_u16 (uint16x4_t __a, uint16x4_t __b)
755 {
756 return (uint16x4_t)__builtin_neon_vqaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
757 }
758
759 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqadd_u32(uint32x2_t __a,uint32x2_t __b)760 vqadd_u32 (uint32x2_t __a, uint32x2_t __b)
761 {
762 return (uint32x2_t)__builtin_neon_vqaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
763 }
764
765 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vqadd_u64(uint64x1_t __a,uint64x1_t __b)766 vqadd_u64 (uint64x1_t __a, uint64x1_t __b)
767 {
768 return (uint64x1_t)__builtin_neon_vqadddi ((int64x1_t) __a, (int64x1_t) __b, 0);
769 }
770
771 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqaddq_s8(int8x16_t __a,int8x16_t __b)772 vqaddq_s8 (int8x16_t __a, int8x16_t __b)
773 {
774 return (int8x16_t)__builtin_neon_vqaddv16qi (__a, __b, 1);
775 }
776
777 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqaddq_s16(int16x8_t __a,int16x8_t __b)778 vqaddq_s16 (int16x8_t __a, int16x8_t __b)
779 {
780 return (int16x8_t)__builtin_neon_vqaddv8hi (__a, __b, 1);
781 }
782
783 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqaddq_s32(int32x4_t __a,int32x4_t __b)784 vqaddq_s32 (int32x4_t __a, int32x4_t __b)
785 {
786 return (int32x4_t)__builtin_neon_vqaddv4si (__a, __b, 1);
787 }
788
789 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqaddq_s64(int64x2_t __a,int64x2_t __b)790 vqaddq_s64 (int64x2_t __a, int64x2_t __b)
791 {
792 return (int64x2_t)__builtin_neon_vqaddv2di (__a, __b, 1);
793 }
794
795 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vqaddq_u8(uint8x16_t __a,uint8x16_t __b)796 vqaddq_u8 (uint8x16_t __a, uint8x16_t __b)
797 {
798 return (uint8x16_t)__builtin_neon_vqaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
799 }
800
801 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vqaddq_u16(uint16x8_t __a,uint16x8_t __b)802 vqaddq_u16 (uint16x8_t __a, uint16x8_t __b)
803 {
804 return (uint16x8_t)__builtin_neon_vqaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
805 }
806
807 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vqaddq_u32(uint32x4_t __a,uint32x4_t __b)808 vqaddq_u32 (uint32x4_t __a, uint32x4_t __b)
809 {
810 return (uint32x4_t)__builtin_neon_vqaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
811 }
812
813 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vqaddq_u64(uint64x2_t __a,uint64x2_t __b)814 vqaddq_u64 (uint64x2_t __a, uint64x2_t __b)
815 {
816 return (uint64x2_t)__builtin_neon_vqaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
817 }
818
819 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vaddhn_s16(int16x8_t __a,int16x8_t __b)820 vaddhn_s16 (int16x8_t __a, int16x8_t __b)
821 {
822 return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 1);
823 }
824
825 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vaddhn_s32(int32x4_t __a,int32x4_t __b)826 vaddhn_s32 (int32x4_t __a, int32x4_t __b)
827 {
828 return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 1);
829 }
830
831 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vaddhn_s64(int64x2_t __a,int64x2_t __b)832 vaddhn_s64 (int64x2_t __a, int64x2_t __b)
833 {
834 return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 1);
835 }
836
837 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vaddhn_u16(uint16x8_t __a,uint16x8_t __b)838 vaddhn_u16 (uint16x8_t __a, uint16x8_t __b)
839 {
840 return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
841 }
842
843 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vaddhn_u32(uint32x4_t __a,uint32x4_t __b)844 vaddhn_u32 (uint32x4_t __a, uint32x4_t __b)
845 {
846 return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
847 }
848
849 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vaddhn_u64(uint64x2_t __a,uint64x2_t __b)850 vaddhn_u64 (uint64x2_t __a, uint64x2_t __b)
851 {
852 return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
853 }
854
855 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vraddhn_s16(int16x8_t __a,int16x8_t __b)856 vraddhn_s16 (int16x8_t __a, int16x8_t __b)
857 {
858 return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 5);
859 }
860
861 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vraddhn_s32(int32x4_t __a,int32x4_t __b)862 vraddhn_s32 (int32x4_t __a, int32x4_t __b)
863 {
864 return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 5);
865 }
866
867 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vraddhn_s64(int64x2_t __a,int64x2_t __b)868 vraddhn_s64 (int64x2_t __a, int64x2_t __b)
869 {
870 return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 5);
871 }
872
873 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vraddhn_u16(uint16x8_t __a,uint16x8_t __b)874 vraddhn_u16 (uint16x8_t __a, uint16x8_t __b)
875 {
876 return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
877 }
878
879 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vraddhn_u32(uint32x4_t __a,uint32x4_t __b)880 vraddhn_u32 (uint32x4_t __a, uint32x4_t __b)
881 {
882 return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
883 }
884
885 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vraddhn_u64(uint64x2_t __a,uint64x2_t __b)886 vraddhn_u64 (uint64x2_t __a, uint64x2_t __b)
887 {
888 return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4);
889 }
890
891 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmul_s8(int8x8_t __a,int8x8_t __b)892 vmul_s8 (int8x8_t __a, int8x8_t __b)
893 {
894 return (int8x8_t)__builtin_neon_vmulv8qi (__a, __b, 1);
895 }
896
897 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmul_s16(int16x4_t __a,int16x4_t __b)898 vmul_s16 (int16x4_t __a, int16x4_t __b)
899 {
900 return (int16x4_t)__builtin_neon_vmulv4hi (__a, __b, 1);
901 }
902
903 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmul_s32(int32x2_t __a,int32x2_t __b)904 vmul_s32 (int32x2_t __a, int32x2_t __b)
905 {
906 return (int32x2_t)__builtin_neon_vmulv2si (__a, __b, 1);
907 }
908
909 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmul_f32(float32x2_t __a,float32x2_t __b)910 vmul_f32 (float32x2_t __a, float32x2_t __b)
911 {
912 return (float32x2_t)__builtin_neon_vmulv2sf (__a, __b, 3);
913 }
914
915 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmul_u8(uint8x8_t __a,uint8x8_t __b)916 vmul_u8 (uint8x8_t __a, uint8x8_t __b)
917 {
918 return (uint8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
919 }
920
921 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmul_u16(uint16x4_t __a,uint16x4_t __b)922 vmul_u16 (uint16x4_t __a, uint16x4_t __b)
923 {
924 return (uint16x4_t)__builtin_neon_vmulv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
925 }
926
927 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmul_u32(uint32x2_t __a,uint32x2_t __b)928 vmul_u32 (uint32x2_t __a, uint32x2_t __b)
929 {
930 return (uint32x2_t)__builtin_neon_vmulv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
931 }
932
933 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vmul_p8(poly8x8_t __a,poly8x8_t __b)934 vmul_p8 (poly8x8_t __a, poly8x8_t __b)
935 {
936 return (poly8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
937 }
938
939 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vmulq_s8(int8x16_t __a,int8x16_t __b)940 vmulq_s8 (int8x16_t __a, int8x16_t __b)
941 {
942 return (int8x16_t)__builtin_neon_vmulv16qi (__a, __b, 1);
943 }
944
945 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmulq_s16(int16x8_t __a,int16x8_t __b)946 vmulq_s16 (int16x8_t __a, int16x8_t __b)
947 {
948 return (int16x8_t)__builtin_neon_vmulv8hi (__a, __b, 1);
949 }
950
951 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmulq_s32(int32x4_t __a,int32x4_t __b)952 vmulq_s32 (int32x4_t __a, int32x4_t __b)
953 {
954 return (int32x4_t)__builtin_neon_vmulv4si (__a, __b, 1);
955 }
956
957 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmulq_f32(float32x4_t __a,float32x4_t __b)958 vmulq_f32 (float32x4_t __a, float32x4_t __b)
959 {
960 return (float32x4_t)__builtin_neon_vmulv4sf (__a, __b, 3);
961 }
962
963 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vmulq_u8(uint8x16_t __a,uint8x16_t __b)964 vmulq_u8 (uint8x16_t __a, uint8x16_t __b)
965 {
966 return (uint8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
967 }
968
969 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmulq_u16(uint16x8_t __a,uint16x8_t __b)970 vmulq_u16 (uint16x8_t __a, uint16x8_t __b)
971 {
972 return (uint16x8_t)__builtin_neon_vmulv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
973 }
974
975 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmulq_u32(uint32x4_t __a,uint32x4_t __b)976 vmulq_u32 (uint32x4_t __a, uint32x4_t __b)
977 {
978 return (uint32x4_t)__builtin_neon_vmulv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
979 }
980
981 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vmulq_p8(poly8x16_t __a,poly8x16_t __b)982 vmulq_p8 (poly8x16_t __a, poly8x16_t __b)
983 {
984 return (poly8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
985 }
986
987 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqdmulh_s16(int16x4_t __a,int16x4_t __b)988 vqdmulh_s16 (int16x4_t __a, int16x4_t __b)
989 {
990 return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 1);
991 }
992
993 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqdmulh_s32(int32x2_t __a,int32x2_t __b)994 vqdmulh_s32 (int32x2_t __a, int32x2_t __b)
995 {
996 return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 1);
997 }
998
999 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqdmulhq_s16(int16x8_t __a,int16x8_t __b)1000 vqdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1001 {
1002 return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 1);
1003 }
1004
1005 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmulhq_s32(int32x4_t __a,int32x4_t __b)1006 vqdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1007 {
1008 return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 1);
1009 }
1010
1011 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqrdmulh_s16(int16x4_t __a,int16x4_t __b)1012 vqrdmulh_s16 (int16x4_t __a, int16x4_t __b)
1013 {
1014 return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 5);
1015 }
1016
1017 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqrdmulh_s32(int32x2_t __a,int32x2_t __b)1018 vqrdmulh_s32 (int32x2_t __a, int32x2_t __b)
1019 {
1020 return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 5);
1021 }
1022
1023 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqrdmulhq_s16(int16x8_t __a,int16x8_t __b)1024 vqrdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1025 {
1026 return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 5);
1027 }
1028
1029 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqrdmulhq_s32(int32x4_t __a,int32x4_t __b)1030 vqrdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1031 {
1032 return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 5);
1033 }
1034
1035 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmull_s8(int8x8_t __a,int8x8_t __b)1036 vmull_s8 (int8x8_t __a, int8x8_t __b)
1037 {
1038 return (int16x8_t)__builtin_neon_vmullv8qi (__a, __b, 1);
1039 }
1040
1041 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmull_s16(int16x4_t __a,int16x4_t __b)1042 vmull_s16 (int16x4_t __a, int16x4_t __b)
1043 {
1044 return (int32x4_t)__builtin_neon_vmullv4hi (__a, __b, 1);
1045 }
1046
1047 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmull_s32(int32x2_t __a,int32x2_t __b)1048 vmull_s32 (int32x2_t __a, int32x2_t __b)
1049 {
1050 return (int64x2_t)__builtin_neon_vmullv2si (__a, __b, 1);
1051 }
1052
1053 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmull_u8(uint8x8_t __a,uint8x8_t __b)1054 vmull_u8 (uint8x8_t __a, uint8x8_t __b)
1055 {
1056 return (uint16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1057 }
1058
1059 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmull_u16(uint16x4_t __a,uint16x4_t __b)1060 vmull_u16 (uint16x4_t __a, uint16x4_t __b)
1061 {
1062 return (uint32x4_t)__builtin_neon_vmullv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1063 }
1064
1065 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmull_u32(uint32x2_t __a,uint32x2_t __b)1066 vmull_u32 (uint32x2_t __a, uint32x2_t __b)
1067 {
1068 return (uint64x2_t)__builtin_neon_vmullv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1069 }
1070
1071 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vmull_p8(poly8x8_t __a,poly8x8_t __b)1072 vmull_p8 (poly8x8_t __a, poly8x8_t __b)
1073 {
1074 return (poly16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
1075 }
1076
1077 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmull_s16(int16x4_t __a,int16x4_t __b)1078 vqdmull_s16 (int16x4_t __a, int16x4_t __b)
1079 {
1080 return (int32x4_t)__builtin_neon_vqdmullv4hi (__a, __b, 1);
1081 }
1082
1083 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmull_s32(int32x2_t __a,int32x2_t __b)1084 vqdmull_s32 (int32x2_t __a, int32x2_t __b)
1085 {
1086 return (int64x2_t)__builtin_neon_vqdmullv2si (__a, __b, 1);
1087 }
1088
1089 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmla_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)1090 vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1091 {
1092 return (int8x8_t)__builtin_neon_vmlav8qi (__a, __b, __c, 1);
1093 }
1094
1095 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmla_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)1096 vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1097 {
1098 return (int16x4_t)__builtin_neon_vmlav4hi (__a, __b, __c, 1);
1099 }
1100
1101 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmla_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)1102 vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1103 {
1104 return (int32x2_t)__builtin_neon_vmlav2si (__a, __b, __c, 1);
1105 }
1106
1107 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmla_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1108 vmla_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1109 {
1110 return (float32x2_t)__builtin_neon_vmlav2sf (__a, __b, __c, 3);
1111 }
1112
1113 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmla_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)1114 vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1115 {
1116 return (uint8x8_t)__builtin_neon_vmlav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1117 }
1118
1119 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmla_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)1120 vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1121 {
1122 return (uint16x4_t)__builtin_neon_vmlav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1123 }
1124
1125 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmla_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)1126 vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1127 {
1128 return (uint32x2_t)__builtin_neon_vmlav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1129 }
1130
1131 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vmlaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)1132 vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1133 {
1134 return (int8x16_t)__builtin_neon_vmlav16qi (__a, __b, __c, 1);
1135 }
1136
1137 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)1138 vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1139 {
1140 return (int16x8_t)__builtin_neon_vmlav8hi (__a, __b, __c, 1);
1141 }
1142
1143 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)1144 vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1145 {
1146 return (int32x4_t)__builtin_neon_vmlav4si (__a, __b, __c, 1);
1147 }
1148
1149 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmlaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1150 vmlaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1151 {
1152 return (float32x4_t)__builtin_neon_vmlav4sf (__a, __b, __c, 3);
1153 }
1154
1155 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vmlaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)1156 vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1157 {
1158 return (uint8x16_t)__builtin_neon_vmlav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
1159 }
1160
1161 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)1162 vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1163 {
1164 return (uint16x8_t)__builtin_neon_vmlav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
1165 }
1166
1167 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)1168 vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1169 {
1170 return (uint32x4_t)__builtin_neon_vmlav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
1171 }
1172
1173 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)1174 vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1175 {
1176 return (int16x8_t)__builtin_neon_vmlalv8qi (__a, __b, __c, 1);
1177 }
1178
1179 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1180 vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1181 {
1182 return (int32x4_t)__builtin_neon_vmlalv4hi (__a, __b, __c, 1);
1183 }
1184
1185 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1186 vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1187 {
1188 return (int64x2_t)__builtin_neon_vmlalv2si (__a, __b, __c, 1);
1189 }
1190
1191 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)1192 vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1193 {
1194 return (uint16x8_t)__builtin_neon_vmlalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1195 }
1196
1197 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)1198 vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1199 {
1200 return (uint32x4_t)__builtin_neon_vmlalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1201 }
1202
1203 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmlal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)1204 vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1205 {
1206 return (uint64x2_t)__builtin_neon_vmlalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1207 }
1208
1209 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1210 vqdmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1211 {
1212 return (int32x4_t)__builtin_neon_vqdmlalv4hi (__a, __b, __c, 1);
1213 }
1214
1215 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1216 vqdmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1217 {
1218 return (int64x2_t)__builtin_neon_vqdmlalv2si (__a, __b, __c, 1);
1219 }
1220
1221 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmls_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)1222 vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1223 {
1224 return (int8x8_t)__builtin_neon_vmlsv8qi (__a, __b, __c, 1);
1225 }
1226
1227 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmls_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)1228 vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1229 {
1230 return (int16x4_t)__builtin_neon_vmlsv4hi (__a, __b, __c, 1);
1231 }
1232
1233 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmls_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)1234 vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1235 {
1236 return (int32x2_t)__builtin_neon_vmlsv2si (__a, __b, __c, 1);
1237 }
1238
1239 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmls_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1240 vmls_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1241 {
1242 return (float32x2_t)__builtin_neon_vmlsv2sf (__a, __b, __c, 3);
1243 }
1244
1245 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmls_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)1246 vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1247 {
1248 return (uint8x8_t)__builtin_neon_vmlsv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1249 }
1250
1251 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmls_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)1252 vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1253 {
1254 return (uint16x4_t)__builtin_neon_vmlsv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1255 }
1256
1257 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmls_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)1258 vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1259 {
1260 return (uint32x2_t)__builtin_neon_vmlsv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1261 }
1262
1263 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vmlsq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)1264 vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1265 {
1266 return (int8x16_t)__builtin_neon_vmlsv16qi (__a, __b, __c, 1);
1267 }
1268
1269 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlsq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)1270 vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1271 {
1272 return (int16x8_t)__builtin_neon_vmlsv8hi (__a, __b, __c, 1);
1273 }
1274
1275 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlsq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)1276 vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1277 {
1278 return (int32x4_t)__builtin_neon_vmlsv4si (__a, __b, __c, 1);
1279 }
1280
1281 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmlsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1282 vmlsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1283 {
1284 return (float32x4_t)__builtin_neon_vmlsv4sf (__a, __b, __c, 3);
1285 }
1286
1287 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vmlsq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)1288 vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1289 {
1290 return (uint8x16_t)__builtin_neon_vmlsv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
1291 }
1292
1293 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlsq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)1294 vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1295 {
1296 return (uint16x8_t)__builtin_neon_vmlsv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
1297 }
1298
1299 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlsq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)1300 vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1301 {
1302 return (uint32x4_t)__builtin_neon_vmlsv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
1303 }
1304
1305 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlsl_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)1306 vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1307 {
1308 return (int16x8_t)__builtin_neon_vmlslv8qi (__a, __b, __c, 1);
1309 }
1310
1311 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1312 vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1313 {
1314 return (int32x4_t)__builtin_neon_vmlslv4hi (__a, __b, __c, 1);
1315 }
1316
1317 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1318 vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1319 {
1320 return (int64x2_t)__builtin_neon_vmlslv2si (__a, __b, __c, 1);
1321 }
1322
1323 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlsl_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)1324 vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1325 {
1326 return (uint16x8_t)__builtin_neon_vmlslv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1327 }
1328
1329 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlsl_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)1330 vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1331 {
1332 return (uint32x4_t)__builtin_neon_vmlslv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1333 }
1334
1335 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmlsl_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)1336 vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1337 {
1338 return (uint64x2_t)__builtin_neon_vmlslv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1339 }
1340
1341 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)1342 vqdmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1343 {
1344 return (int32x4_t)__builtin_neon_vqdmlslv4hi (__a, __b, __c, 1);
1345 }
1346
1347 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)1348 vqdmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1349 {
1350 return (int64x2_t)__builtin_neon_vqdmlslv2si (__a, __b, __c, 1);
1351 }
1352
1353 #ifdef __ARM_FEATURE_FMA
1354 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vfma_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1355 vfma_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1356 {
1357 return (float32x2_t)__builtin_neon_vfmav2sf (__a, __b, __c, 3);
1358 }
1359
1360 #endif
1361 #ifdef __ARM_FEATURE_FMA
1362 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vfmaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1363 vfmaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1364 {
1365 return (float32x4_t)__builtin_neon_vfmav4sf (__a, __b, __c, 3);
1366 }
1367
1368 #endif
1369 #ifdef __ARM_FEATURE_FMA
1370 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vfms_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)1371 vfms_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1372 {
1373 return (float32x2_t)__builtin_neon_vfmsv2sf (__a, __b, __c, 3);
1374 }
1375
1376 #endif
1377 #ifdef __ARM_FEATURE_FMA
1378 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vfmsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)1379 vfmsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1380 {
1381 return (float32x4_t)__builtin_neon_vfmsv4sf (__a, __b, __c, 3);
1382 }
1383
1384 #endif
1385 #if __ARM_ARCH >= 8
1386 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrndn_f32(float32x2_t __a)1387 vrndn_f32 (float32x2_t __a)
1388 {
1389 return (float32x2_t)__builtin_neon_vrintnv2sf (__a);
1390 }
1391
1392 #endif
1393 #if __ARM_ARCH >= 8
1394 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrndqn_f32(float32x4_t __a)1395 vrndqn_f32 (float32x4_t __a)
1396 {
1397 return (float32x4_t)__builtin_neon_vrintnv4sf (__a);
1398 }
1399
1400 #endif
1401 #if __ARM_ARCH >= 8
1402 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrnda_f32(float32x2_t __a)1403 vrnda_f32 (float32x2_t __a)
1404 {
1405 return (float32x2_t)__builtin_neon_vrintav2sf (__a);
1406 }
1407
1408 #endif
1409 #if __ARM_ARCH >= 8
1410 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrndqa_f32(float32x4_t __a)1411 vrndqa_f32 (float32x4_t __a)
1412 {
1413 return (float32x4_t)__builtin_neon_vrintav4sf (__a);
1414 }
1415
1416 #endif
1417 #if __ARM_ARCH >= 8
1418 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrndp_f32(float32x2_t __a)1419 vrndp_f32 (float32x2_t __a)
1420 {
1421 return (float32x2_t)__builtin_neon_vrintpv2sf (__a);
1422 }
1423
1424 #endif
1425 #if __ARM_ARCH >= 8
1426 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrndqp_f32(float32x4_t __a)1427 vrndqp_f32 (float32x4_t __a)
1428 {
1429 return (float32x4_t)__builtin_neon_vrintpv4sf (__a);
1430 }
1431
1432 #endif
1433 #if __ARM_ARCH >= 8
1434 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrndm_f32(float32x2_t __a)1435 vrndm_f32 (float32x2_t __a)
1436 {
1437 return (float32x2_t)__builtin_neon_vrintmv2sf (__a);
1438 }
1439
1440 #endif
1441 #if __ARM_ARCH >= 8
1442 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrndqm_f32(float32x4_t __a)1443 vrndqm_f32 (float32x4_t __a)
1444 {
1445 return (float32x4_t)__builtin_neon_vrintmv4sf (__a);
1446 }
1447
1448 #endif
1449 #if __ARM_ARCH >= 8
1450 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrnd_f32(float32x2_t __a)1451 vrnd_f32 (float32x2_t __a)
1452 {
1453 return (float32x2_t)__builtin_neon_vrintzv2sf (__a);
1454 }
1455
1456 #endif
1457 #if __ARM_ARCH >= 8
1458 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrndq_f32(float32x4_t __a)1459 vrndq_f32 (float32x4_t __a)
1460 {
1461 return (float32x4_t)__builtin_neon_vrintzv4sf (__a);
1462 }
1463
1464 #endif
1465 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vsub_s8(int8x8_t __a,int8x8_t __b)1466 vsub_s8 (int8x8_t __a, int8x8_t __b)
1467 {
1468 return (int8x8_t)__builtin_neon_vsubv8qi (__a, __b, 1);
1469 }
1470
1471 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vsub_s16(int16x4_t __a,int16x4_t __b)1472 vsub_s16 (int16x4_t __a, int16x4_t __b)
1473 {
1474 return (int16x4_t)__builtin_neon_vsubv4hi (__a, __b, 1);
1475 }
1476
1477 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vsub_s32(int32x2_t __a,int32x2_t __b)1478 vsub_s32 (int32x2_t __a, int32x2_t __b)
1479 {
1480 return (int32x2_t)__builtin_neon_vsubv2si (__a, __b, 1);
1481 }
1482
1483 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vsub_f32(float32x2_t __a,float32x2_t __b)1484 vsub_f32 (float32x2_t __a, float32x2_t __b)
1485 {
1486 return (float32x2_t)__builtin_neon_vsubv2sf (__a, __b, 3);
1487 }
1488
1489 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vsub_u8(uint8x8_t __a,uint8x8_t __b)1490 vsub_u8 (uint8x8_t __a, uint8x8_t __b)
1491 {
1492 return (uint8x8_t)__builtin_neon_vsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1493 }
1494
1495 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vsub_u16(uint16x4_t __a,uint16x4_t __b)1496 vsub_u16 (uint16x4_t __a, uint16x4_t __b)
1497 {
1498 return (uint16x4_t)__builtin_neon_vsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1499 }
1500
1501 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vsub_u32(uint32x2_t __a,uint32x2_t __b)1502 vsub_u32 (uint32x2_t __a, uint32x2_t __b)
1503 {
1504 return (uint32x2_t)__builtin_neon_vsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1505 }
1506
1507 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vsub_s64(int64x1_t __a,int64x1_t __b)1508 vsub_s64 (int64x1_t __a, int64x1_t __b)
1509 {
1510 return (int64x1_t)__builtin_neon_vsubdi (__a, __b, 1);
1511 }
1512
1513 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vsub_u64(uint64x1_t __a,uint64x1_t __b)1514 vsub_u64 (uint64x1_t __a, uint64x1_t __b)
1515 {
1516 return (uint64x1_t)__builtin_neon_vsubdi ((int64x1_t) __a, (int64x1_t) __b, 0);
1517 }
1518
1519 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vsubq_s8(int8x16_t __a,int8x16_t __b)1520 vsubq_s8 (int8x16_t __a, int8x16_t __b)
1521 {
1522 return (int8x16_t)__builtin_neon_vsubv16qi (__a, __b, 1);
1523 }
1524
1525 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsubq_s16(int16x8_t __a,int16x8_t __b)1526 vsubq_s16 (int16x8_t __a, int16x8_t __b)
1527 {
1528 return (int16x8_t)__builtin_neon_vsubv8hi (__a, __b, 1);
1529 }
1530
1531 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsubq_s32(int32x4_t __a,int32x4_t __b)1532 vsubq_s32 (int32x4_t __a, int32x4_t __b)
1533 {
1534 return (int32x4_t)__builtin_neon_vsubv4si (__a, __b, 1);
1535 }
1536
1537 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsubq_s64(int64x2_t __a,int64x2_t __b)1538 vsubq_s64 (int64x2_t __a, int64x2_t __b)
1539 {
1540 return (int64x2_t)__builtin_neon_vsubv2di (__a, __b, 1);
1541 }
1542
1543 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vsubq_f32(float32x4_t __a,float32x4_t __b)1544 vsubq_f32 (float32x4_t __a, float32x4_t __b)
1545 {
1546 return (float32x4_t)__builtin_neon_vsubv4sf (__a, __b, 3);
1547 }
1548
1549 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vsubq_u8(uint8x16_t __a,uint8x16_t __b)1550 vsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1551 {
1552 return (uint8x16_t)__builtin_neon_vsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1553 }
1554
1555 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsubq_u16(uint16x8_t __a,uint16x8_t __b)1556 vsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1557 {
1558 return (uint16x8_t)__builtin_neon_vsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1559 }
1560
1561 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsubq_u32(uint32x4_t __a,uint32x4_t __b)1562 vsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1563 {
1564 return (uint32x4_t)__builtin_neon_vsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1565 }
1566
1567 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsubq_u64(uint64x2_t __a,uint64x2_t __b)1568 vsubq_u64 (uint64x2_t __a, uint64x2_t __b)
1569 {
1570 return (uint64x2_t)__builtin_neon_vsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1571 }
1572
1573 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsubl_s8(int8x8_t __a,int8x8_t __b)1574 vsubl_s8 (int8x8_t __a, int8x8_t __b)
1575 {
1576 return (int16x8_t)__builtin_neon_vsublv8qi (__a, __b, 1);
1577 }
1578
1579 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsubl_s16(int16x4_t __a,int16x4_t __b)1580 vsubl_s16 (int16x4_t __a, int16x4_t __b)
1581 {
1582 return (int32x4_t)__builtin_neon_vsublv4hi (__a, __b, 1);
1583 }
1584
1585 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsubl_s32(int32x2_t __a,int32x2_t __b)1586 vsubl_s32 (int32x2_t __a, int32x2_t __b)
1587 {
1588 return (int64x2_t)__builtin_neon_vsublv2si (__a, __b, 1);
1589 }
1590
1591 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsubl_u8(uint8x8_t __a,uint8x8_t __b)1592 vsubl_u8 (uint8x8_t __a, uint8x8_t __b)
1593 {
1594 return (uint16x8_t)__builtin_neon_vsublv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1595 }
1596
1597 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsubl_u16(uint16x4_t __a,uint16x4_t __b)1598 vsubl_u16 (uint16x4_t __a, uint16x4_t __b)
1599 {
1600 return (uint32x4_t)__builtin_neon_vsublv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1601 }
1602
1603 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsubl_u32(uint32x2_t __a,uint32x2_t __b)1604 vsubl_u32 (uint32x2_t __a, uint32x2_t __b)
1605 {
1606 return (uint64x2_t)__builtin_neon_vsublv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1607 }
1608
1609 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsubw_s8(int16x8_t __a,int8x8_t __b)1610 vsubw_s8 (int16x8_t __a, int8x8_t __b)
1611 {
1612 return (int16x8_t)__builtin_neon_vsubwv8qi (__a, __b, 1);
1613 }
1614
1615 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsubw_s16(int32x4_t __a,int16x4_t __b)1616 vsubw_s16 (int32x4_t __a, int16x4_t __b)
1617 {
1618 return (int32x4_t)__builtin_neon_vsubwv4hi (__a, __b, 1);
1619 }
1620
1621 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsubw_s32(int64x2_t __a,int32x2_t __b)1622 vsubw_s32 (int64x2_t __a, int32x2_t __b)
1623 {
1624 return (int64x2_t)__builtin_neon_vsubwv2si (__a, __b, 1);
1625 }
1626
1627 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsubw_u8(uint16x8_t __a,uint8x8_t __b)1628 vsubw_u8 (uint16x8_t __a, uint8x8_t __b)
1629 {
1630 return (uint16x8_t)__builtin_neon_vsubwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0);
1631 }
1632
1633 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsubw_u16(uint32x4_t __a,uint16x4_t __b)1634 vsubw_u16 (uint32x4_t __a, uint16x4_t __b)
1635 {
1636 return (uint32x4_t)__builtin_neon_vsubwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0);
1637 }
1638
1639 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsubw_u32(uint64x2_t __a,uint32x2_t __b)1640 vsubw_u32 (uint64x2_t __a, uint32x2_t __b)
1641 {
1642 return (uint64x2_t)__builtin_neon_vsubwv2si ((int64x2_t) __a, (int32x2_t) __b, 0);
1643 }
1644
1645 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vhsub_s8(int8x8_t __a,int8x8_t __b)1646 vhsub_s8 (int8x8_t __a, int8x8_t __b)
1647 {
1648 return (int8x8_t)__builtin_neon_vhsubv8qi (__a, __b, 1);
1649 }
1650
1651 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vhsub_s16(int16x4_t __a,int16x4_t __b)1652 vhsub_s16 (int16x4_t __a, int16x4_t __b)
1653 {
1654 return (int16x4_t)__builtin_neon_vhsubv4hi (__a, __b, 1);
1655 }
1656
1657 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vhsub_s32(int32x2_t __a,int32x2_t __b)1658 vhsub_s32 (int32x2_t __a, int32x2_t __b)
1659 {
1660 return (int32x2_t)__builtin_neon_vhsubv2si (__a, __b, 1);
1661 }
1662
1663 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vhsub_u8(uint8x8_t __a,uint8x8_t __b)1664 vhsub_u8 (uint8x8_t __a, uint8x8_t __b)
1665 {
1666 return (uint8x8_t)__builtin_neon_vhsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1667 }
1668
1669 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vhsub_u16(uint16x4_t __a,uint16x4_t __b)1670 vhsub_u16 (uint16x4_t __a, uint16x4_t __b)
1671 {
1672 return (uint16x4_t)__builtin_neon_vhsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1673 }
1674
1675 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vhsub_u32(uint32x2_t __a,uint32x2_t __b)1676 vhsub_u32 (uint32x2_t __a, uint32x2_t __b)
1677 {
1678 return (uint32x2_t)__builtin_neon_vhsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1679 }
1680
1681 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vhsubq_s8(int8x16_t __a,int8x16_t __b)1682 vhsubq_s8 (int8x16_t __a, int8x16_t __b)
1683 {
1684 return (int8x16_t)__builtin_neon_vhsubv16qi (__a, __b, 1);
1685 }
1686
1687 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vhsubq_s16(int16x8_t __a,int16x8_t __b)1688 vhsubq_s16 (int16x8_t __a, int16x8_t __b)
1689 {
1690 return (int16x8_t)__builtin_neon_vhsubv8hi (__a, __b, 1);
1691 }
1692
1693 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vhsubq_s32(int32x4_t __a,int32x4_t __b)1694 vhsubq_s32 (int32x4_t __a, int32x4_t __b)
1695 {
1696 return (int32x4_t)__builtin_neon_vhsubv4si (__a, __b, 1);
1697 }
1698
1699 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vhsubq_u8(uint8x16_t __a,uint8x16_t __b)1700 vhsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1701 {
1702 return (uint8x16_t)__builtin_neon_vhsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1703 }
1704
1705 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vhsubq_u16(uint16x8_t __a,uint16x8_t __b)1706 vhsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1707 {
1708 return (uint16x8_t)__builtin_neon_vhsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1709 }
1710
1711 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vhsubq_u32(uint32x4_t __a,uint32x4_t __b)1712 vhsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1713 {
1714 return (uint32x4_t)__builtin_neon_vhsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1715 }
1716
1717 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqsub_s8(int8x8_t __a,int8x8_t __b)1718 vqsub_s8 (int8x8_t __a, int8x8_t __b)
1719 {
1720 return (int8x8_t)__builtin_neon_vqsubv8qi (__a, __b, 1);
1721 }
1722
1723 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqsub_s16(int16x4_t __a,int16x4_t __b)1724 vqsub_s16 (int16x4_t __a, int16x4_t __b)
1725 {
1726 return (int16x4_t)__builtin_neon_vqsubv4hi (__a, __b, 1);
1727 }
1728
1729 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqsub_s32(int32x2_t __a,int32x2_t __b)1730 vqsub_s32 (int32x2_t __a, int32x2_t __b)
1731 {
1732 return (int32x2_t)__builtin_neon_vqsubv2si (__a, __b, 1);
1733 }
1734
1735 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vqsub_s64(int64x1_t __a,int64x1_t __b)1736 vqsub_s64 (int64x1_t __a, int64x1_t __b)
1737 {
1738 return (int64x1_t)__builtin_neon_vqsubdi (__a, __b, 1);
1739 }
1740
1741 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqsub_u8(uint8x8_t __a,uint8x8_t __b)1742 vqsub_u8 (uint8x8_t __a, uint8x8_t __b)
1743 {
1744 return (uint8x8_t)__builtin_neon_vqsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1745 }
1746
1747 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqsub_u16(uint16x4_t __a,uint16x4_t __b)1748 vqsub_u16 (uint16x4_t __a, uint16x4_t __b)
1749 {
1750 return (uint16x4_t)__builtin_neon_vqsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1751 }
1752
1753 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqsub_u32(uint32x2_t __a,uint32x2_t __b)1754 vqsub_u32 (uint32x2_t __a, uint32x2_t __b)
1755 {
1756 return (uint32x2_t)__builtin_neon_vqsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1757 }
1758
1759 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vqsub_u64(uint64x1_t __a,uint64x1_t __b)1760 vqsub_u64 (uint64x1_t __a, uint64x1_t __b)
1761 {
1762 return (uint64x1_t)__builtin_neon_vqsubdi ((int64x1_t) __a, (int64x1_t) __b, 0);
1763 }
1764
1765 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqsubq_s8(int8x16_t __a,int8x16_t __b)1766 vqsubq_s8 (int8x16_t __a, int8x16_t __b)
1767 {
1768 return (int8x16_t)__builtin_neon_vqsubv16qi (__a, __b, 1);
1769 }
1770
1771 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqsubq_s16(int16x8_t __a,int16x8_t __b)1772 vqsubq_s16 (int16x8_t __a, int16x8_t __b)
1773 {
1774 return (int16x8_t)__builtin_neon_vqsubv8hi (__a, __b, 1);
1775 }
1776
1777 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqsubq_s32(int32x4_t __a,int32x4_t __b)1778 vqsubq_s32 (int32x4_t __a, int32x4_t __b)
1779 {
1780 return (int32x4_t)__builtin_neon_vqsubv4si (__a, __b, 1);
1781 }
1782
1783 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqsubq_s64(int64x2_t __a,int64x2_t __b)1784 vqsubq_s64 (int64x2_t __a, int64x2_t __b)
1785 {
1786 return (int64x2_t)__builtin_neon_vqsubv2di (__a, __b, 1);
1787 }
1788
1789 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vqsubq_u8(uint8x16_t __a,uint8x16_t __b)1790 vqsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1791 {
1792 return (uint8x16_t)__builtin_neon_vqsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1793 }
1794
1795 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vqsubq_u16(uint16x8_t __a,uint16x8_t __b)1796 vqsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1797 {
1798 return (uint16x8_t)__builtin_neon_vqsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1799 }
1800
1801 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vqsubq_u32(uint32x4_t __a,uint32x4_t __b)1802 vqsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1803 {
1804 return (uint32x4_t)__builtin_neon_vqsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1805 }
1806
1807 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vqsubq_u64(uint64x2_t __a,uint64x2_t __b)1808 vqsubq_u64 (uint64x2_t __a, uint64x2_t __b)
1809 {
1810 return (uint64x2_t)__builtin_neon_vqsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1811 }
1812
1813 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vsubhn_s16(int16x8_t __a,int16x8_t __b)1814 vsubhn_s16 (int16x8_t __a, int16x8_t __b)
1815 {
1816 return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 1);
1817 }
1818
1819 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vsubhn_s32(int32x4_t __a,int32x4_t __b)1820 vsubhn_s32 (int32x4_t __a, int32x4_t __b)
1821 {
1822 return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 1);
1823 }
1824
1825 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vsubhn_s64(int64x2_t __a,int64x2_t __b)1826 vsubhn_s64 (int64x2_t __a, int64x2_t __b)
1827 {
1828 return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 1);
1829 }
1830
1831 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vsubhn_u16(uint16x8_t __a,uint16x8_t __b)1832 vsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
1833 {
1834 return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1835 }
1836
1837 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vsubhn_u32(uint32x4_t __a,uint32x4_t __b)1838 vsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
1839 {
1840 return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1841 }
1842
1843 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vsubhn_u64(uint64x2_t __a,uint64x2_t __b)1844 vsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
1845 {
1846 return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1847 }
1848
1849 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrsubhn_s16(int16x8_t __a,int16x8_t __b)1850 vrsubhn_s16 (int16x8_t __a, int16x8_t __b)
1851 {
1852 return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 5);
1853 }
1854
1855 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrsubhn_s32(int32x4_t __a,int32x4_t __b)1856 vrsubhn_s32 (int32x4_t __a, int32x4_t __b)
1857 {
1858 return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 5);
1859 }
1860
1861 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrsubhn_s64(int64x2_t __a,int64x2_t __b)1862 vrsubhn_s64 (int64x2_t __a, int64x2_t __b)
1863 {
1864 return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 5);
1865 }
1866
1867 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrsubhn_u16(uint16x8_t __a,uint16x8_t __b)1868 vrsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
1869 {
1870 return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
1871 }
1872
1873 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrsubhn_u32(uint32x4_t __a,uint32x4_t __b)1874 vrsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
1875 {
1876 return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
1877 }
1878
1879 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrsubhn_u64(uint64x2_t __a,uint64x2_t __b)1880 vrsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
1881 {
1882 return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4);
1883 }
1884
1885 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vceq_s8(int8x8_t __a,int8x8_t __b)1886 vceq_s8 (int8x8_t __a, int8x8_t __b)
1887 {
1888 return (uint8x8_t)__builtin_neon_vceqv8qi (__a, __b, 1);
1889 }
1890
1891 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vceq_s16(int16x4_t __a,int16x4_t __b)1892 vceq_s16 (int16x4_t __a, int16x4_t __b)
1893 {
1894 return (uint16x4_t)__builtin_neon_vceqv4hi (__a, __b, 1);
1895 }
1896
1897 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vceq_s32(int32x2_t __a,int32x2_t __b)1898 vceq_s32 (int32x2_t __a, int32x2_t __b)
1899 {
1900 return (uint32x2_t)__builtin_neon_vceqv2si (__a, __b, 1);
1901 }
1902
1903 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vceq_f32(float32x2_t __a,float32x2_t __b)1904 vceq_f32 (float32x2_t __a, float32x2_t __b)
1905 {
1906 return (uint32x2_t)__builtin_neon_vceqv2sf (__a, __b, 3);
1907 }
1908
1909 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vceq_u8(uint8x8_t __a,uint8x8_t __b)1910 vceq_u8 (uint8x8_t __a, uint8x8_t __b)
1911 {
1912 return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1913 }
1914
1915 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vceq_u16(uint16x4_t __a,uint16x4_t __b)1916 vceq_u16 (uint16x4_t __a, uint16x4_t __b)
1917 {
1918 return (uint16x4_t)__builtin_neon_vceqv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1919 }
1920
1921 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vceq_u32(uint32x2_t __a,uint32x2_t __b)1922 vceq_u32 (uint32x2_t __a, uint32x2_t __b)
1923 {
1924 return (uint32x2_t)__builtin_neon_vceqv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1925 }
1926
1927 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vceq_p8(poly8x8_t __a,poly8x8_t __b)1928 vceq_p8 (poly8x8_t __a, poly8x8_t __b)
1929 {
1930 return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
1931 }
1932
1933 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vceqq_s8(int8x16_t __a,int8x16_t __b)1934 vceqq_s8 (int8x16_t __a, int8x16_t __b)
1935 {
1936 return (uint8x16_t)__builtin_neon_vceqv16qi (__a, __b, 1);
1937 }
1938
1939 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vceqq_s16(int16x8_t __a,int16x8_t __b)1940 vceqq_s16 (int16x8_t __a, int16x8_t __b)
1941 {
1942 return (uint16x8_t)__builtin_neon_vceqv8hi (__a, __b, 1);
1943 }
1944
1945 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vceqq_s32(int32x4_t __a,int32x4_t __b)1946 vceqq_s32 (int32x4_t __a, int32x4_t __b)
1947 {
1948 return (uint32x4_t)__builtin_neon_vceqv4si (__a, __b, 1);
1949 }
1950
1951 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vceqq_f32(float32x4_t __a,float32x4_t __b)1952 vceqq_f32 (float32x4_t __a, float32x4_t __b)
1953 {
1954 return (uint32x4_t)__builtin_neon_vceqv4sf (__a, __b, 3);
1955 }
1956
1957 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vceqq_u8(uint8x16_t __a,uint8x16_t __b)1958 vceqq_u8 (uint8x16_t __a, uint8x16_t __b)
1959 {
1960 return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1961 }
1962
1963 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vceqq_u16(uint16x8_t __a,uint16x8_t __b)1964 vceqq_u16 (uint16x8_t __a, uint16x8_t __b)
1965 {
1966 return (uint16x8_t)__builtin_neon_vceqv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1967 }
1968
1969 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vceqq_u32(uint32x4_t __a,uint32x4_t __b)1970 vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
1971 {
1972 return (uint32x4_t)__builtin_neon_vceqv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1973 }
1974
1975 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vceqq_p8(poly8x16_t __a,poly8x16_t __b)1976 vceqq_p8 (poly8x16_t __a, poly8x16_t __b)
1977 {
1978 return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
1979 }
1980
1981 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcge_s8(int8x8_t __a,int8x8_t __b)1982 vcge_s8 (int8x8_t __a, int8x8_t __b)
1983 {
1984 return (uint8x8_t)__builtin_neon_vcgev8qi (__a, __b, 1);
1985 }
1986
1987 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcge_s16(int16x4_t __a,int16x4_t __b)1988 vcge_s16 (int16x4_t __a, int16x4_t __b)
1989 {
1990 return (uint16x4_t)__builtin_neon_vcgev4hi (__a, __b, 1);
1991 }
1992
1993 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcge_s32(int32x2_t __a,int32x2_t __b)1994 vcge_s32 (int32x2_t __a, int32x2_t __b)
1995 {
1996 return (uint32x2_t)__builtin_neon_vcgev2si (__a, __b, 1);
1997 }
1998
1999 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcge_f32(float32x2_t __a,float32x2_t __b)2000 vcge_f32 (float32x2_t __a, float32x2_t __b)
2001 {
2002 return (uint32x2_t)__builtin_neon_vcgev2sf (__a, __b, 3);
2003 }
2004
2005 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcge_u8(uint8x8_t __a,uint8x8_t __b)2006 vcge_u8 (uint8x8_t __a, uint8x8_t __b)
2007 {
2008 return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2009 }
2010
2011 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcge_u16(uint16x4_t __a,uint16x4_t __b)2012 vcge_u16 (uint16x4_t __a, uint16x4_t __b)
2013 {
2014 return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2015 }
2016
2017 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcge_u32(uint32x2_t __a,uint32x2_t __b)2018 vcge_u32 (uint32x2_t __a, uint32x2_t __b)
2019 {
2020 return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2021 }
2022
2023 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcgeq_s8(int8x16_t __a,int8x16_t __b)2024 vcgeq_s8 (int8x16_t __a, int8x16_t __b)
2025 {
2026 return (uint8x16_t)__builtin_neon_vcgev16qi (__a, __b, 1);
2027 }
2028
2029 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcgeq_s16(int16x8_t __a,int16x8_t __b)2030 vcgeq_s16 (int16x8_t __a, int16x8_t __b)
2031 {
2032 return (uint16x8_t)__builtin_neon_vcgev8hi (__a, __b, 1);
2033 }
2034
2035 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcgeq_s32(int32x4_t __a,int32x4_t __b)2036 vcgeq_s32 (int32x4_t __a, int32x4_t __b)
2037 {
2038 return (uint32x4_t)__builtin_neon_vcgev4si (__a, __b, 1);
2039 }
2040
2041 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcgeq_f32(float32x4_t __a,float32x4_t __b)2042 vcgeq_f32 (float32x4_t __a, float32x4_t __b)
2043 {
2044 return (uint32x4_t)__builtin_neon_vcgev4sf (__a, __b, 3);
2045 }
2046
2047 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcgeq_u8(uint8x16_t __a,uint8x16_t __b)2048 vcgeq_u8 (uint8x16_t __a, uint8x16_t __b)
2049 {
2050 return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2051 }
2052
2053 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcgeq_u16(uint16x8_t __a,uint16x8_t __b)2054 vcgeq_u16 (uint16x8_t __a, uint16x8_t __b)
2055 {
2056 return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2057 }
2058
2059 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcgeq_u32(uint32x4_t __a,uint32x4_t __b)2060 vcgeq_u32 (uint32x4_t __a, uint32x4_t __b)
2061 {
2062 return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2063 }
2064
2065 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcle_s8(int8x8_t __a,int8x8_t __b)2066 vcle_s8 (int8x8_t __a, int8x8_t __b)
2067 {
2068 return (uint8x8_t)__builtin_neon_vcgev8qi (__b, __a, 1);
2069 }
2070
2071 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcle_s16(int16x4_t __a,int16x4_t __b)2072 vcle_s16 (int16x4_t __a, int16x4_t __b)
2073 {
2074 return (uint16x4_t)__builtin_neon_vcgev4hi (__b, __a, 1);
2075 }
2076
2077 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcle_s32(int32x2_t __a,int32x2_t __b)2078 vcle_s32 (int32x2_t __a, int32x2_t __b)
2079 {
2080 return (uint32x2_t)__builtin_neon_vcgev2si (__b, __a, 1);
2081 }
2082
2083 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcle_f32(float32x2_t __a,float32x2_t __b)2084 vcle_f32 (float32x2_t __a, float32x2_t __b)
2085 {
2086 return (uint32x2_t)__builtin_neon_vcgev2sf (__b, __a, 3);
2087 }
2088
2089 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcle_u8(uint8x8_t __a,uint8x8_t __b)2090 vcle_u8 (uint8x8_t __a, uint8x8_t __b)
2091 {
2092 return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __b, (int8x8_t) __a, 0);
2093 }
2094
2095 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcle_u16(uint16x4_t __a,uint16x4_t __b)2096 vcle_u16 (uint16x4_t __a, uint16x4_t __b)
2097 {
2098 return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __b, (int16x4_t) __a, 0);
2099 }
2100
2101 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcle_u32(uint32x2_t __a,uint32x2_t __b)2102 vcle_u32 (uint32x2_t __a, uint32x2_t __b)
2103 {
2104 return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __b, (int32x2_t) __a, 0);
2105 }
2106
2107 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcleq_s8(int8x16_t __a,int8x16_t __b)2108 vcleq_s8 (int8x16_t __a, int8x16_t __b)
2109 {
2110 return (uint8x16_t)__builtin_neon_vcgev16qi (__b, __a, 1);
2111 }
2112
2113 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcleq_s16(int16x8_t __a,int16x8_t __b)2114 vcleq_s16 (int16x8_t __a, int16x8_t __b)
2115 {
2116 return (uint16x8_t)__builtin_neon_vcgev8hi (__b, __a, 1);
2117 }
2118
2119 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcleq_s32(int32x4_t __a,int32x4_t __b)2120 vcleq_s32 (int32x4_t __a, int32x4_t __b)
2121 {
2122 return (uint32x4_t)__builtin_neon_vcgev4si (__b, __a, 1);
2123 }
2124
2125 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcleq_f32(float32x4_t __a,float32x4_t __b)2126 vcleq_f32 (float32x4_t __a, float32x4_t __b)
2127 {
2128 return (uint32x4_t)__builtin_neon_vcgev4sf (__b, __a, 3);
2129 }
2130
2131 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcleq_u8(uint8x16_t __a,uint8x16_t __b)2132 vcleq_u8 (uint8x16_t __a, uint8x16_t __b)
2133 {
2134 return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __b, (int8x16_t) __a, 0);
2135 }
2136
2137 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcleq_u16(uint16x8_t __a,uint16x8_t __b)2138 vcleq_u16 (uint16x8_t __a, uint16x8_t __b)
2139 {
2140 return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __b, (int16x8_t) __a, 0);
2141 }
2142
2143 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcleq_u32(uint32x4_t __a,uint32x4_t __b)2144 vcleq_u32 (uint32x4_t __a, uint32x4_t __b)
2145 {
2146 return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __b, (int32x4_t) __a, 0);
2147 }
2148
2149 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcgt_s8(int8x8_t __a,int8x8_t __b)2150 vcgt_s8 (int8x8_t __a, int8x8_t __b)
2151 {
2152 return (uint8x8_t)__builtin_neon_vcgtv8qi (__a, __b, 1);
2153 }
2154
2155 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcgt_s16(int16x4_t __a,int16x4_t __b)2156 vcgt_s16 (int16x4_t __a, int16x4_t __b)
2157 {
2158 return (uint16x4_t)__builtin_neon_vcgtv4hi (__a, __b, 1);
2159 }
2160
2161 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcgt_s32(int32x2_t __a,int32x2_t __b)2162 vcgt_s32 (int32x2_t __a, int32x2_t __b)
2163 {
2164 return (uint32x2_t)__builtin_neon_vcgtv2si (__a, __b, 1);
2165 }
2166
2167 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcgt_f32(float32x2_t __a,float32x2_t __b)2168 vcgt_f32 (float32x2_t __a, float32x2_t __b)
2169 {
2170 return (uint32x2_t)__builtin_neon_vcgtv2sf (__a, __b, 3);
2171 }
2172
2173 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcgt_u8(uint8x8_t __a,uint8x8_t __b)2174 vcgt_u8 (uint8x8_t __a, uint8x8_t __b)
2175 {
2176 return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2177 }
2178
2179 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcgt_u16(uint16x4_t __a,uint16x4_t __b)2180 vcgt_u16 (uint16x4_t __a, uint16x4_t __b)
2181 {
2182 return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2183 }
2184
2185 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcgt_u32(uint32x2_t __a,uint32x2_t __b)2186 vcgt_u32 (uint32x2_t __a, uint32x2_t __b)
2187 {
2188 return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2189 }
2190
2191 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcgtq_s8(int8x16_t __a,int8x16_t __b)2192 vcgtq_s8 (int8x16_t __a, int8x16_t __b)
2193 {
2194 return (uint8x16_t)__builtin_neon_vcgtv16qi (__a, __b, 1);
2195 }
2196
2197 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcgtq_s16(int16x8_t __a,int16x8_t __b)2198 vcgtq_s16 (int16x8_t __a, int16x8_t __b)
2199 {
2200 return (uint16x8_t)__builtin_neon_vcgtv8hi (__a, __b, 1);
2201 }
2202
2203 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcgtq_s32(int32x4_t __a,int32x4_t __b)2204 vcgtq_s32 (int32x4_t __a, int32x4_t __b)
2205 {
2206 return (uint32x4_t)__builtin_neon_vcgtv4si (__a, __b, 1);
2207 }
2208
2209 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcgtq_f32(float32x4_t __a,float32x4_t __b)2210 vcgtq_f32 (float32x4_t __a, float32x4_t __b)
2211 {
2212 return (uint32x4_t)__builtin_neon_vcgtv4sf (__a, __b, 3);
2213 }
2214
2215 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcgtq_u8(uint8x16_t __a,uint8x16_t __b)2216 vcgtq_u8 (uint8x16_t __a, uint8x16_t __b)
2217 {
2218 return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2219 }
2220
2221 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcgtq_u16(uint16x8_t __a,uint16x8_t __b)2222 vcgtq_u16 (uint16x8_t __a, uint16x8_t __b)
2223 {
2224 return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2225 }
2226
2227 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcgtq_u32(uint32x4_t __a,uint32x4_t __b)2228 vcgtq_u32 (uint32x4_t __a, uint32x4_t __b)
2229 {
2230 return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2231 }
2232
2233 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vclt_s8(int8x8_t __a,int8x8_t __b)2234 vclt_s8 (int8x8_t __a, int8x8_t __b)
2235 {
2236 return (uint8x8_t)__builtin_neon_vcgtv8qi (__b, __a, 1);
2237 }
2238
2239 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vclt_s16(int16x4_t __a,int16x4_t __b)2240 vclt_s16 (int16x4_t __a, int16x4_t __b)
2241 {
2242 return (uint16x4_t)__builtin_neon_vcgtv4hi (__b, __a, 1);
2243 }
2244
2245 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vclt_s32(int32x2_t __a,int32x2_t __b)2246 vclt_s32 (int32x2_t __a, int32x2_t __b)
2247 {
2248 return (uint32x2_t)__builtin_neon_vcgtv2si (__b, __a, 1);
2249 }
2250
2251 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vclt_f32(float32x2_t __a,float32x2_t __b)2252 vclt_f32 (float32x2_t __a, float32x2_t __b)
2253 {
2254 return (uint32x2_t)__builtin_neon_vcgtv2sf (__b, __a, 3);
2255 }
2256
2257 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vclt_u8(uint8x8_t __a,uint8x8_t __b)2258 vclt_u8 (uint8x8_t __a, uint8x8_t __b)
2259 {
2260 return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __b, (int8x8_t) __a, 0);
2261 }
2262
2263 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vclt_u16(uint16x4_t __a,uint16x4_t __b)2264 vclt_u16 (uint16x4_t __a, uint16x4_t __b)
2265 {
2266 return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __b, (int16x4_t) __a, 0);
2267 }
2268
2269 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vclt_u32(uint32x2_t __a,uint32x2_t __b)2270 vclt_u32 (uint32x2_t __a, uint32x2_t __b)
2271 {
2272 return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __b, (int32x2_t) __a, 0);
2273 }
2274
2275 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcltq_s8(int8x16_t __a,int8x16_t __b)2276 vcltq_s8 (int8x16_t __a, int8x16_t __b)
2277 {
2278 return (uint8x16_t)__builtin_neon_vcgtv16qi (__b, __a, 1);
2279 }
2280
2281 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcltq_s16(int16x8_t __a,int16x8_t __b)2282 vcltq_s16 (int16x8_t __a, int16x8_t __b)
2283 {
2284 return (uint16x8_t)__builtin_neon_vcgtv8hi (__b, __a, 1);
2285 }
2286
2287 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcltq_s32(int32x4_t __a,int32x4_t __b)2288 vcltq_s32 (int32x4_t __a, int32x4_t __b)
2289 {
2290 return (uint32x4_t)__builtin_neon_vcgtv4si (__b, __a, 1);
2291 }
2292
2293 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcltq_f32(float32x4_t __a,float32x4_t __b)2294 vcltq_f32 (float32x4_t __a, float32x4_t __b)
2295 {
2296 return (uint32x4_t)__builtin_neon_vcgtv4sf (__b, __a, 3);
2297 }
2298
2299 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcltq_u8(uint8x16_t __a,uint8x16_t __b)2300 vcltq_u8 (uint8x16_t __a, uint8x16_t __b)
2301 {
2302 return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __b, (int8x16_t) __a, 0);
2303 }
2304
2305 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcltq_u16(uint16x8_t __a,uint16x8_t __b)2306 vcltq_u16 (uint16x8_t __a, uint16x8_t __b)
2307 {
2308 return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __b, (int16x8_t) __a, 0);
2309 }
2310
2311 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcltq_u32(uint32x4_t __a,uint32x4_t __b)2312 vcltq_u32 (uint32x4_t __a, uint32x4_t __b)
2313 {
2314 return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __b, (int32x4_t) __a, 0);
2315 }
2316
2317 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcage_f32(float32x2_t __a,float32x2_t __b)2318 vcage_f32 (float32x2_t __a, float32x2_t __b)
2319 {
2320 return (uint32x2_t)__builtin_neon_vcagev2sf (__a, __b, 3);
2321 }
2322
2323 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcageq_f32(float32x4_t __a,float32x4_t __b)2324 vcageq_f32 (float32x4_t __a, float32x4_t __b)
2325 {
2326 return (uint32x4_t)__builtin_neon_vcagev4sf (__a, __b, 3);
2327 }
2328
2329 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcale_f32(float32x2_t __a,float32x2_t __b)2330 vcale_f32 (float32x2_t __a, float32x2_t __b)
2331 {
2332 return (uint32x2_t)__builtin_neon_vcagev2sf (__b, __a, 3);
2333 }
2334
2335 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcaleq_f32(float32x4_t __a,float32x4_t __b)2336 vcaleq_f32 (float32x4_t __a, float32x4_t __b)
2337 {
2338 return (uint32x4_t)__builtin_neon_vcagev4sf (__b, __a, 3);
2339 }
2340
2341 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcagt_f32(float32x2_t __a,float32x2_t __b)2342 vcagt_f32 (float32x2_t __a, float32x2_t __b)
2343 {
2344 return (uint32x2_t)__builtin_neon_vcagtv2sf (__a, __b, 3);
2345 }
2346
2347 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcagtq_f32(float32x4_t __a,float32x4_t __b)2348 vcagtq_f32 (float32x4_t __a, float32x4_t __b)
2349 {
2350 return (uint32x4_t)__builtin_neon_vcagtv4sf (__a, __b, 3);
2351 }
2352
2353 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcalt_f32(float32x2_t __a,float32x2_t __b)2354 vcalt_f32 (float32x2_t __a, float32x2_t __b)
2355 {
2356 return (uint32x2_t)__builtin_neon_vcagtv2sf (__b, __a, 3);
2357 }
2358
2359 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcaltq_f32(float32x4_t __a,float32x4_t __b)2360 vcaltq_f32 (float32x4_t __a, float32x4_t __b)
2361 {
2362 return (uint32x4_t)__builtin_neon_vcagtv4sf (__b, __a, 3);
2363 }
2364
2365 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtst_s8(int8x8_t __a,int8x8_t __b)2366 vtst_s8 (int8x8_t __a, int8x8_t __b)
2367 {
2368 return (uint8x8_t)__builtin_neon_vtstv8qi (__a, __b, 1);
2369 }
2370
2371 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vtst_s16(int16x4_t __a,int16x4_t __b)2372 vtst_s16 (int16x4_t __a, int16x4_t __b)
2373 {
2374 return (uint16x4_t)__builtin_neon_vtstv4hi (__a, __b, 1);
2375 }
2376
2377 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vtst_s32(int32x2_t __a,int32x2_t __b)2378 vtst_s32 (int32x2_t __a, int32x2_t __b)
2379 {
2380 return (uint32x2_t)__builtin_neon_vtstv2si (__a, __b, 1);
2381 }
2382
2383 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtst_u8(uint8x8_t __a,uint8x8_t __b)2384 vtst_u8 (uint8x8_t __a, uint8x8_t __b)
2385 {
2386 return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2387 }
2388
2389 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vtst_u16(uint16x4_t __a,uint16x4_t __b)2390 vtst_u16 (uint16x4_t __a, uint16x4_t __b)
2391 {
2392 return (uint16x4_t)__builtin_neon_vtstv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2393 }
2394
2395 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vtst_u32(uint32x2_t __a,uint32x2_t __b)2396 vtst_u32 (uint32x2_t __a, uint32x2_t __b)
2397 {
2398 return (uint32x2_t)__builtin_neon_vtstv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2399 }
2400
2401 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtst_p8(poly8x8_t __a,poly8x8_t __b)2402 vtst_p8 (poly8x8_t __a, poly8x8_t __b)
2403 {
2404 return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
2405 }
2406
2407 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vtstq_s8(int8x16_t __a,int8x16_t __b)2408 vtstq_s8 (int8x16_t __a, int8x16_t __b)
2409 {
2410 return (uint8x16_t)__builtin_neon_vtstv16qi (__a, __b, 1);
2411 }
2412
2413 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vtstq_s16(int16x8_t __a,int16x8_t __b)2414 vtstq_s16 (int16x8_t __a, int16x8_t __b)
2415 {
2416 return (uint16x8_t)__builtin_neon_vtstv8hi (__a, __b, 1);
2417 }
2418
2419 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vtstq_s32(int32x4_t __a,int32x4_t __b)2420 vtstq_s32 (int32x4_t __a, int32x4_t __b)
2421 {
2422 return (uint32x4_t)__builtin_neon_vtstv4si (__a, __b, 1);
2423 }
2424
2425 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vtstq_u8(uint8x16_t __a,uint8x16_t __b)2426 vtstq_u8 (uint8x16_t __a, uint8x16_t __b)
2427 {
2428 return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2429 }
2430
2431 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vtstq_u16(uint16x8_t __a,uint16x8_t __b)2432 vtstq_u16 (uint16x8_t __a, uint16x8_t __b)
2433 {
2434 return (uint16x8_t)__builtin_neon_vtstv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2435 }
2436
2437 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vtstq_u32(uint32x4_t __a,uint32x4_t __b)2438 vtstq_u32 (uint32x4_t __a, uint32x4_t __b)
2439 {
2440 return (uint32x4_t)__builtin_neon_vtstv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2441 }
2442
2443 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vtstq_p8(poly8x16_t __a,poly8x16_t __b)2444 vtstq_p8 (poly8x16_t __a, poly8x16_t __b)
2445 {
2446 return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
2447 }
2448
2449 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vabd_s8(int8x8_t __a,int8x8_t __b)2450 vabd_s8 (int8x8_t __a, int8x8_t __b)
2451 {
2452 return (int8x8_t)__builtin_neon_vabdv8qi (__a, __b, 1);
2453 }
2454
2455 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vabd_s16(int16x4_t __a,int16x4_t __b)2456 vabd_s16 (int16x4_t __a, int16x4_t __b)
2457 {
2458 return (int16x4_t)__builtin_neon_vabdv4hi (__a, __b, 1);
2459 }
2460
2461 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vabd_s32(int32x2_t __a,int32x2_t __b)2462 vabd_s32 (int32x2_t __a, int32x2_t __b)
2463 {
2464 return (int32x2_t)__builtin_neon_vabdv2si (__a, __b, 1);
2465 }
2466
2467 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vabd_f32(float32x2_t __a,float32x2_t __b)2468 vabd_f32 (float32x2_t __a, float32x2_t __b)
2469 {
2470 return (float32x2_t)__builtin_neon_vabdv2sf (__a, __b, 3);
2471 }
2472
2473 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vabd_u8(uint8x8_t __a,uint8x8_t __b)2474 vabd_u8 (uint8x8_t __a, uint8x8_t __b)
2475 {
2476 return (uint8x8_t)__builtin_neon_vabdv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2477 }
2478
2479 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vabd_u16(uint16x4_t __a,uint16x4_t __b)2480 vabd_u16 (uint16x4_t __a, uint16x4_t __b)
2481 {
2482 return (uint16x4_t)__builtin_neon_vabdv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2483 }
2484
2485 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vabd_u32(uint32x2_t __a,uint32x2_t __b)2486 vabd_u32 (uint32x2_t __a, uint32x2_t __b)
2487 {
2488 return (uint32x2_t)__builtin_neon_vabdv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2489 }
2490
2491 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vabdq_s8(int8x16_t __a,int8x16_t __b)2492 vabdq_s8 (int8x16_t __a, int8x16_t __b)
2493 {
2494 return (int8x16_t)__builtin_neon_vabdv16qi (__a, __b, 1);
2495 }
2496
2497 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vabdq_s16(int16x8_t __a,int16x8_t __b)2498 vabdq_s16 (int16x8_t __a, int16x8_t __b)
2499 {
2500 return (int16x8_t)__builtin_neon_vabdv8hi (__a, __b, 1);
2501 }
2502
2503 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vabdq_s32(int32x4_t __a,int32x4_t __b)2504 vabdq_s32 (int32x4_t __a, int32x4_t __b)
2505 {
2506 return (int32x4_t)__builtin_neon_vabdv4si (__a, __b, 1);
2507 }
2508
2509 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vabdq_f32(float32x4_t __a,float32x4_t __b)2510 vabdq_f32 (float32x4_t __a, float32x4_t __b)
2511 {
2512 return (float32x4_t)__builtin_neon_vabdv4sf (__a, __b, 3);
2513 }
2514
2515 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vabdq_u8(uint8x16_t __a,uint8x16_t __b)2516 vabdq_u8 (uint8x16_t __a, uint8x16_t __b)
2517 {
2518 return (uint8x16_t)__builtin_neon_vabdv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2519 }
2520
2521 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vabdq_u16(uint16x8_t __a,uint16x8_t __b)2522 vabdq_u16 (uint16x8_t __a, uint16x8_t __b)
2523 {
2524 return (uint16x8_t)__builtin_neon_vabdv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2525 }
2526
2527 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vabdq_u32(uint32x4_t __a,uint32x4_t __b)2528 vabdq_u32 (uint32x4_t __a, uint32x4_t __b)
2529 {
2530 return (uint32x4_t)__builtin_neon_vabdv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2531 }
2532
2533 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vabdl_s8(int8x8_t __a,int8x8_t __b)2534 vabdl_s8 (int8x8_t __a, int8x8_t __b)
2535 {
2536 return (int16x8_t)__builtin_neon_vabdlv8qi (__a, __b, 1);
2537 }
2538
2539 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vabdl_s16(int16x4_t __a,int16x4_t __b)2540 vabdl_s16 (int16x4_t __a, int16x4_t __b)
2541 {
2542 return (int32x4_t)__builtin_neon_vabdlv4hi (__a, __b, 1);
2543 }
2544
2545 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vabdl_s32(int32x2_t __a,int32x2_t __b)2546 vabdl_s32 (int32x2_t __a, int32x2_t __b)
2547 {
2548 return (int64x2_t)__builtin_neon_vabdlv2si (__a, __b, 1);
2549 }
2550
2551 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vabdl_u8(uint8x8_t __a,uint8x8_t __b)2552 vabdl_u8 (uint8x8_t __a, uint8x8_t __b)
2553 {
2554 return (uint16x8_t)__builtin_neon_vabdlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2555 }
2556
2557 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vabdl_u16(uint16x4_t __a,uint16x4_t __b)2558 vabdl_u16 (uint16x4_t __a, uint16x4_t __b)
2559 {
2560 return (uint32x4_t)__builtin_neon_vabdlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2561 }
2562
2563 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vabdl_u32(uint32x2_t __a,uint32x2_t __b)2564 vabdl_u32 (uint32x2_t __a, uint32x2_t __b)
2565 {
2566 return (uint64x2_t)__builtin_neon_vabdlv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2567 }
2568
2569 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vaba_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)2570 vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
2571 {
2572 return (int8x8_t)__builtin_neon_vabav8qi (__a, __b, __c, 1);
2573 }
2574
2575 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vaba_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)2576 vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
2577 {
2578 return (int16x4_t)__builtin_neon_vabav4hi (__a, __b, __c, 1);
2579 }
2580
2581 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vaba_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)2582 vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
2583 {
2584 return (int32x2_t)__builtin_neon_vabav2si (__a, __b, __c, 1);
2585 }
2586
2587 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vaba_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)2588 vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
2589 {
2590 return (uint8x8_t)__builtin_neon_vabav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
2591 }
2592
2593 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vaba_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)2594 vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
2595 {
2596 return (uint16x4_t)__builtin_neon_vabav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
2597 }
2598
2599 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vaba_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)2600 vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
2601 {
2602 return (uint32x2_t)__builtin_neon_vabav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
2603 }
2604
2605 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vabaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)2606 vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
2607 {
2608 return (int8x16_t)__builtin_neon_vabav16qi (__a, __b, __c, 1);
2609 }
2610
2611 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vabaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)2612 vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
2613 {
2614 return (int16x8_t)__builtin_neon_vabav8hi (__a, __b, __c, 1);
2615 }
2616
2617 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vabaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)2618 vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
2619 {
2620 return (int32x4_t)__builtin_neon_vabav4si (__a, __b, __c, 1);
2621 }
2622
2623 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vabaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)2624 vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
2625 {
2626 return (uint8x16_t)__builtin_neon_vabav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
2627 }
2628
2629 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vabaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)2630 vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
2631 {
2632 return (uint16x8_t)__builtin_neon_vabav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
2633 }
2634
2635 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vabaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)2636 vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
2637 {
2638 return (uint32x4_t)__builtin_neon_vabav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
2639 }
2640
2641 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vabal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)2642 vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
2643 {
2644 return (int16x8_t)__builtin_neon_vabalv8qi (__a, __b, __c, 1);
2645 }
2646
2647 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vabal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)2648 vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
2649 {
2650 return (int32x4_t)__builtin_neon_vabalv4hi (__a, __b, __c, 1);
2651 }
2652
2653 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vabal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)2654 vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
2655 {
2656 return (int64x2_t)__builtin_neon_vabalv2si (__a, __b, __c, 1);
2657 }
2658
2659 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vabal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)2660 vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
2661 {
2662 return (uint16x8_t)__builtin_neon_vabalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
2663 }
2664
2665 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vabal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)2666 vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
2667 {
2668 return (uint32x4_t)__builtin_neon_vabalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
2669 }
2670
2671 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vabal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)2672 vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
2673 {
2674 return (uint64x2_t)__builtin_neon_vabalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
2675 }
2676
2677 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmax_s8(int8x8_t __a,int8x8_t __b)2678 vmax_s8 (int8x8_t __a, int8x8_t __b)
2679 {
2680 return (int8x8_t)__builtin_neon_vmaxv8qi (__a, __b, 1);
2681 }
2682
2683 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmax_s16(int16x4_t __a,int16x4_t __b)2684 vmax_s16 (int16x4_t __a, int16x4_t __b)
2685 {
2686 return (int16x4_t)__builtin_neon_vmaxv4hi (__a, __b, 1);
2687 }
2688
2689 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmax_s32(int32x2_t __a,int32x2_t __b)2690 vmax_s32 (int32x2_t __a, int32x2_t __b)
2691 {
2692 return (int32x2_t)__builtin_neon_vmaxv2si (__a, __b, 1);
2693 }
2694
2695 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmax_f32(float32x2_t __a,float32x2_t __b)2696 vmax_f32 (float32x2_t __a, float32x2_t __b)
2697 {
2698 return (float32x2_t)__builtin_neon_vmaxv2sf (__a, __b, 3);
2699 }
2700
2701 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmax_u8(uint8x8_t __a,uint8x8_t __b)2702 vmax_u8 (uint8x8_t __a, uint8x8_t __b)
2703 {
2704 return (uint8x8_t)__builtin_neon_vmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2705 }
2706
2707 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmax_u16(uint16x4_t __a,uint16x4_t __b)2708 vmax_u16 (uint16x4_t __a, uint16x4_t __b)
2709 {
2710 return (uint16x4_t)__builtin_neon_vmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2711 }
2712
2713 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmax_u32(uint32x2_t __a,uint32x2_t __b)2714 vmax_u32 (uint32x2_t __a, uint32x2_t __b)
2715 {
2716 return (uint32x2_t)__builtin_neon_vmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2717 }
2718
2719 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vmaxq_s8(int8x16_t __a,int8x16_t __b)2720 vmaxq_s8 (int8x16_t __a, int8x16_t __b)
2721 {
2722 return (int8x16_t)__builtin_neon_vmaxv16qi (__a, __b, 1);
2723 }
2724
2725 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmaxq_s16(int16x8_t __a,int16x8_t __b)2726 vmaxq_s16 (int16x8_t __a, int16x8_t __b)
2727 {
2728 return (int16x8_t)__builtin_neon_vmaxv8hi (__a, __b, 1);
2729 }
2730
2731 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmaxq_s32(int32x4_t __a,int32x4_t __b)2732 vmaxq_s32 (int32x4_t __a, int32x4_t __b)
2733 {
2734 return (int32x4_t)__builtin_neon_vmaxv4si (__a, __b, 1);
2735 }
2736
2737 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmaxq_f32(float32x4_t __a,float32x4_t __b)2738 vmaxq_f32 (float32x4_t __a, float32x4_t __b)
2739 {
2740 return (float32x4_t)__builtin_neon_vmaxv4sf (__a, __b, 3);
2741 }
2742
2743 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vmaxq_u8(uint8x16_t __a,uint8x16_t __b)2744 vmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
2745 {
2746 return (uint8x16_t)__builtin_neon_vmaxv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2747 }
2748
2749 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmaxq_u16(uint16x8_t __a,uint16x8_t __b)2750 vmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
2751 {
2752 return (uint16x8_t)__builtin_neon_vmaxv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2753 }
2754
2755 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmaxq_u32(uint32x4_t __a,uint32x4_t __b)2756 vmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
2757 {
2758 return (uint32x4_t)__builtin_neon_vmaxv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2759 }
2760
2761 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmin_s8(int8x8_t __a,int8x8_t __b)2762 vmin_s8 (int8x8_t __a, int8x8_t __b)
2763 {
2764 return (int8x8_t)__builtin_neon_vminv8qi (__a, __b, 1);
2765 }
2766
2767 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmin_s16(int16x4_t __a,int16x4_t __b)2768 vmin_s16 (int16x4_t __a, int16x4_t __b)
2769 {
2770 return (int16x4_t)__builtin_neon_vminv4hi (__a, __b, 1);
2771 }
2772
2773 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmin_s32(int32x2_t __a,int32x2_t __b)2774 vmin_s32 (int32x2_t __a, int32x2_t __b)
2775 {
2776 return (int32x2_t)__builtin_neon_vminv2si (__a, __b, 1);
2777 }
2778
2779 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmin_f32(float32x2_t __a,float32x2_t __b)2780 vmin_f32 (float32x2_t __a, float32x2_t __b)
2781 {
2782 return (float32x2_t)__builtin_neon_vminv2sf (__a, __b, 3);
2783 }
2784
2785 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmin_u8(uint8x8_t __a,uint8x8_t __b)2786 vmin_u8 (uint8x8_t __a, uint8x8_t __b)
2787 {
2788 return (uint8x8_t)__builtin_neon_vminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2789 }
2790
2791 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmin_u16(uint16x4_t __a,uint16x4_t __b)2792 vmin_u16 (uint16x4_t __a, uint16x4_t __b)
2793 {
2794 return (uint16x4_t)__builtin_neon_vminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2795 }
2796
2797 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmin_u32(uint32x2_t __a,uint32x2_t __b)2798 vmin_u32 (uint32x2_t __a, uint32x2_t __b)
2799 {
2800 return (uint32x2_t)__builtin_neon_vminv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2801 }
2802
2803 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vminq_s8(int8x16_t __a,int8x16_t __b)2804 vminq_s8 (int8x16_t __a, int8x16_t __b)
2805 {
2806 return (int8x16_t)__builtin_neon_vminv16qi (__a, __b, 1);
2807 }
2808
2809 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vminq_s16(int16x8_t __a,int16x8_t __b)2810 vminq_s16 (int16x8_t __a, int16x8_t __b)
2811 {
2812 return (int16x8_t)__builtin_neon_vminv8hi (__a, __b, 1);
2813 }
2814
2815 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vminq_s32(int32x4_t __a,int32x4_t __b)2816 vminq_s32 (int32x4_t __a, int32x4_t __b)
2817 {
2818 return (int32x4_t)__builtin_neon_vminv4si (__a, __b, 1);
2819 }
2820
2821 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vminq_f32(float32x4_t __a,float32x4_t __b)2822 vminq_f32 (float32x4_t __a, float32x4_t __b)
2823 {
2824 return (float32x4_t)__builtin_neon_vminv4sf (__a, __b, 3);
2825 }
2826
2827 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vminq_u8(uint8x16_t __a,uint8x16_t __b)2828 vminq_u8 (uint8x16_t __a, uint8x16_t __b)
2829 {
2830 return (uint8x16_t)__builtin_neon_vminv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2831 }
2832
2833 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vminq_u16(uint16x8_t __a,uint16x8_t __b)2834 vminq_u16 (uint16x8_t __a, uint16x8_t __b)
2835 {
2836 return (uint16x8_t)__builtin_neon_vminv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2837 }
2838
2839 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vminq_u32(uint32x4_t __a,uint32x4_t __b)2840 vminq_u32 (uint32x4_t __a, uint32x4_t __b)
2841 {
2842 return (uint32x4_t)__builtin_neon_vminv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2843 }
2844
2845 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vpadd_s8(int8x8_t __a,int8x8_t __b)2846 vpadd_s8 (int8x8_t __a, int8x8_t __b)
2847 {
2848 return (int8x8_t)__builtin_neon_vpaddv8qi (__a, __b, 1);
2849 }
2850
2851 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vpadd_s16(int16x4_t __a,int16x4_t __b)2852 vpadd_s16 (int16x4_t __a, int16x4_t __b)
2853 {
2854 return (int16x4_t)__builtin_neon_vpaddv4hi (__a, __b, 1);
2855 }
2856
2857 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vpadd_s32(int32x2_t __a,int32x2_t __b)2858 vpadd_s32 (int32x2_t __a, int32x2_t __b)
2859 {
2860 return (int32x2_t)__builtin_neon_vpaddv2si (__a, __b, 1);
2861 }
2862
2863 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vpadd_f32(float32x2_t __a,float32x2_t __b)2864 vpadd_f32 (float32x2_t __a, float32x2_t __b)
2865 {
2866 return (float32x2_t)__builtin_neon_vpaddv2sf (__a, __b, 3);
2867 }
2868
2869 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vpadd_u8(uint8x8_t __a,uint8x8_t __b)2870 vpadd_u8 (uint8x8_t __a, uint8x8_t __b)
2871 {
2872 return (uint8x8_t)__builtin_neon_vpaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2873 }
2874
2875 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vpadd_u16(uint16x4_t __a,uint16x4_t __b)2876 vpadd_u16 (uint16x4_t __a, uint16x4_t __b)
2877 {
2878 return (uint16x4_t)__builtin_neon_vpaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2879 }
2880
2881 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vpadd_u32(uint32x2_t __a,uint32x2_t __b)2882 vpadd_u32 (uint32x2_t __a, uint32x2_t __b)
2883 {
2884 return (uint32x2_t)__builtin_neon_vpaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2885 }
2886
2887 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vpaddl_s8(int8x8_t __a)2888 vpaddl_s8 (int8x8_t __a)
2889 {
2890 return (int16x4_t)__builtin_neon_vpaddlv8qi (__a, 1);
2891 }
2892
2893 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vpaddl_s16(int16x4_t __a)2894 vpaddl_s16 (int16x4_t __a)
2895 {
2896 return (int32x2_t)__builtin_neon_vpaddlv4hi (__a, 1);
2897 }
2898
2899 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vpaddl_s32(int32x2_t __a)2900 vpaddl_s32 (int32x2_t __a)
2901 {
2902 return (int64x1_t)__builtin_neon_vpaddlv2si (__a, 1);
2903 }
2904
2905 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vpaddl_u8(uint8x8_t __a)2906 vpaddl_u8 (uint8x8_t __a)
2907 {
2908 return (uint16x4_t)__builtin_neon_vpaddlv8qi ((int8x8_t) __a, 0);
2909 }
2910
2911 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vpaddl_u16(uint16x4_t __a)2912 vpaddl_u16 (uint16x4_t __a)
2913 {
2914 return (uint32x2_t)__builtin_neon_vpaddlv4hi ((int16x4_t) __a, 0);
2915 }
2916
2917 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vpaddl_u32(uint32x2_t __a)2918 vpaddl_u32 (uint32x2_t __a)
2919 {
2920 return (uint64x1_t)__builtin_neon_vpaddlv2si ((int32x2_t) __a, 0);
2921 }
2922
2923 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vpaddlq_s8(int8x16_t __a)2924 vpaddlq_s8 (int8x16_t __a)
2925 {
2926 return (int16x8_t)__builtin_neon_vpaddlv16qi (__a, 1);
2927 }
2928
2929 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vpaddlq_s16(int16x8_t __a)2930 vpaddlq_s16 (int16x8_t __a)
2931 {
2932 return (int32x4_t)__builtin_neon_vpaddlv8hi (__a, 1);
2933 }
2934
2935 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vpaddlq_s32(int32x4_t __a)2936 vpaddlq_s32 (int32x4_t __a)
2937 {
2938 return (int64x2_t)__builtin_neon_vpaddlv4si (__a, 1);
2939 }
2940
2941 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vpaddlq_u8(uint8x16_t __a)2942 vpaddlq_u8 (uint8x16_t __a)
2943 {
2944 return (uint16x8_t)__builtin_neon_vpaddlv16qi ((int8x16_t) __a, 0);
2945 }
2946
2947 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vpaddlq_u16(uint16x8_t __a)2948 vpaddlq_u16 (uint16x8_t __a)
2949 {
2950 return (uint32x4_t)__builtin_neon_vpaddlv8hi ((int16x8_t) __a, 0);
2951 }
2952
2953 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vpaddlq_u32(uint32x4_t __a)2954 vpaddlq_u32 (uint32x4_t __a)
2955 {
2956 return (uint64x2_t)__builtin_neon_vpaddlv4si ((int32x4_t) __a, 0);
2957 }
2958
2959 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vpadal_s8(int16x4_t __a,int8x8_t __b)2960 vpadal_s8 (int16x4_t __a, int8x8_t __b)
2961 {
2962 return (int16x4_t)__builtin_neon_vpadalv8qi (__a, __b, 1);
2963 }
2964
2965 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vpadal_s16(int32x2_t __a,int16x4_t __b)2966 vpadal_s16 (int32x2_t __a, int16x4_t __b)
2967 {
2968 return (int32x2_t)__builtin_neon_vpadalv4hi (__a, __b, 1);
2969 }
2970
2971 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vpadal_s32(int64x1_t __a,int32x2_t __b)2972 vpadal_s32 (int64x1_t __a, int32x2_t __b)
2973 {
2974 return (int64x1_t)__builtin_neon_vpadalv2si (__a, __b, 1);
2975 }
2976
2977 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vpadal_u8(uint16x4_t __a,uint8x8_t __b)2978 vpadal_u8 (uint16x4_t __a, uint8x8_t __b)
2979 {
2980 return (uint16x4_t)__builtin_neon_vpadalv8qi ((int16x4_t) __a, (int8x8_t) __b, 0);
2981 }
2982
2983 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vpadal_u16(uint32x2_t __a,uint16x4_t __b)2984 vpadal_u16 (uint32x2_t __a, uint16x4_t __b)
2985 {
2986 return (uint32x2_t)__builtin_neon_vpadalv4hi ((int32x2_t) __a, (int16x4_t) __b, 0);
2987 }
2988
2989 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vpadal_u32(uint64x1_t __a,uint32x2_t __b)2990 vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
2991 {
2992 return (uint64x1_t)__builtin_neon_vpadalv2si ((int64x1_t) __a, (int32x2_t) __b, 0);
2993 }
2994
2995 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vpadalq_s8(int16x8_t __a,int8x16_t __b)2996 vpadalq_s8 (int16x8_t __a, int8x16_t __b)
2997 {
2998 return (int16x8_t)__builtin_neon_vpadalv16qi (__a, __b, 1);
2999 }
3000
3001 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vpadalq_s16(int32x4_t __a,int16x8_t __b)3002 vpadalq_s16 (int32x4_t __a, int16x8_t __b)
3003 {
3004 return (int32x4_t)__builtin_neon_vpadalv8hi (__a, __b, 1);
3005 }
3006
3007 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vpadalq_s32(int64x2_t __a,int32x4_t __b)3008 vpadalq_s32 (int64x2_t __a, int32x4_t __b)
3009 {
3010 return (int64x2_t)__builtin_neon_vpadalv4si (__a, __b, 1);
3011 }
3012
3013 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vpadalq_u8(uint16x8_t __a,uint8x16_t __b)3014 vpadalq_u8 (uint16x8_t __a, uint8x16_t __b)
3015 {
3016 return (uint16x8_t)__builtin_neon_vpadalv16qi ((int16x8_t) __a, (int8x16_t) __b, 0);
3017 }
3018
3019 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vpadalq_u16(uint32x4_t __a,uint16x8_t __b)3020 vpadalq_u16 (uint32x4_t __a, uint16x8_t __b)
3021 {
3022 return (uint32x4_t)__builtin_neon_vpadalv8hi ((int32x4_t) __a, (int16x8_t) __b, 0);
3023 }
3024
3025 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vpadalq_u32(uint64x2_t __a,uint32x4_t __b)3026 vpadalq_u32 (uint64x2_t __a, uint32x4_t __b)
3027 {
3028 return (uint64x2_t)__builtin_neon_vpadalv4si ((int64x2_t) __a, (int32x4_t) __b, 0);
3029 }
3030
3031 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vpmax_s8(int8x8_t __a,int8x8_t __b)3032 vpmax_s8 (int8x8_t __a, int8x8_t __b)
3033 {
3034 return (int8x8_t)__builtin_neon_vpmaxv8qi (__a, __b, 1);
3035 }
3036
3037 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vpmax_s16(int16x4_t __a,int16x4_t __b)3038 vpmax_s16 (int16x4_t __a, int16x4_t __b)
3039 {
3040 return (int16x4_t)__builtin_neon_vpmaxv4hi (__a, __b, 1);
3041 }
3042
3043 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vpmax_s32(int32x2_t __a,int32x2_t __b)3044 vpmax_s32 (int32x2_t __a, int32x2_t __b)
3045 {
3046 return (int32x2_t)__builtin_neon_vpmaxv2si (__a, __b, 1);
3047 }
3048
3049 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vpmax_f32(float32x2_t __a,float32x2_t __b)3050 vpmax_f32 (float32x2_t __a, float32x2_t __b)
3051 {
3052 return (float32x2_t)__builtin_neon_vpmaxv2sf (__a, __b, 3);
3053 }
3054
3055 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vpmax_u8(uint8x8_t __a,uint8x8_t __b)3056 vpmax_u8 (uint8x8_t __a, uint8x8_t __b)
3057 {
3058 return (uint8x8_t)__builtin_neon_vpmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
3059 }
3060
3061 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vpmax_u16(uint16x4_t __a,uint16x4_t __b)3062 vpmax_u16 (uint16x4_t __a, uint16x4_t __b)
3063 {
3064 return (uint16x4_t)__builtin_neon_vpmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
3065 }
3066
3067 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vpmax_u32(uint32x2_t __a,uint32x2_t __b)3068 vpmax_u32 (uint32x2_t __a, uint32x2_t __b)
3069 {
3070 return (uint32x2_t)__builtin_neon_vpmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
3071 }
3072
3073 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vpmin_s8(int8x8_t __a,int8x8_t __b)3074 vpmin_s8 (int8x8_t __a, int8x8_t __b)
3075 {
3076 return (int8x8_t)__builtin_neon_vpminv8qi (__a, __b, 1);
3077 }
3078
3079 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vpmin_s16(int16x4_t __a,int16x4_t __b)3080 vpmin_s16 (int16x4_t __a, int16x4_t __b)
3081 {
3082 return (int16x4_t)__builtin_neon_vpminv4hi (__a, __b, 1);
3083 }
3084
3085 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vpmin_s32(int32x2_t __a,int32x2_t __b)3086 vpmin_s32 (int32x2_t __a, int32x2_t __b)
3087 {
3088 return (int32x2_t)__builtin_neon_vpminv2si (__a, __b, 1);
3089 }
3090
3091 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vpmin_f32(float32x2_t __a,float32x2_t __b)3092 vpmin_f32 (float32x2_t __a, float32x2_t __b)
3093 {
3094 return (float32x2_t)__builtin_neon_vpminv2sf (__a, __b, 3);
3095 }
3096
3097 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vpmin_u8(uint8x8_t __a,uint8x8_t __b)3098 vpmin_u8 (uint8x8_t __a, uint8x8_t __b)
3099 {
3100 return (uint8x8_t)__builtin_neon_vpminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
3101 }
3102
3103 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vpmin_u16(uint16x4_t __a,uint16x4_t __b)3104 vpmin_u16 (uint16x4_t __a, uint16x4_t __b)
3105 {
3106 return (uint16x4_t)__builtin_neon_vpminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
3107 }
3108
3109 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vpmin_u32(uint32x2_t __a,uint32x2_t __b)3110 vpmin_u32 (uint32x2_t __a, uint32x2_t __b)
3111 {
3112 return (uint32x2_t)__builtin_neon_vpminv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
3113 }
3114
3115 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrecps_f32(float32x2_t __a,float32x2_t __b)3116 vrecps_f32 (float32x2_t __a, float32x2_t __b)
3117 {
3118 return (float32x2_t)__builtin_neon_vrecpsv2sf (__a, __b, 3);
3119 }
3120
3121 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrecpsq_f32(float32x4_t __a,float32x4_t __b)3122 vrecpsq_f32 (float32x4_t __a, float32x4_t __b)
3123 {
3124 return (float32x4_t)__builtin_neon_vrecpsv4sf (__a, __b, 3);
3125 }
3126
3127 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrsqrts_f32(float32x2_t __a,float32x2_t __b)3128 vrsqrts_f32 (float32x2_t __a, float32x2_t __b)
3129 {
3130 return (float32x2_t)__builtin_neon_vrsqrtsv2sf (__a, __b, 3);
3131 }
3132
3133 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrsqrtsq_f32(float32x4_t __a,float32x4_t __b)3134 vrsqrtsq_f32 (float32x4_t __a, float32x4_t __b)
3135 {
3136 return (float32x4_t)__builtin_neon_vrsqrtsv4sf (__a, __b, 3);
3137 }
3138
3139 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vshl_s8(int8x8_t __a,int8x8_t __b)3140 vshl_s8 (int8x8_t __a, int8x8_t __b)
3141 {
3142 return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 1);
3143 }
3144
3145 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vshl_s16(int16x4_t __a,int16x4_t __b)3146 vshl_s16 (int16x4_t __a, int16x4_t __b)
3147 {
3148 return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 1);
3149 }
3150
3151 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vshl_s32(int32x2_t __a,int32x2_t __b)3152 vshl_s32 (int32x2_t __a, int32x2_t __b)
3153 {
3154 return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 1);
3155 }
3156
3157 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vshl_s64(int64x1_t __a,int64x1_t __b)3158 vshl_s64 (int64x1_t __a, int64x1_t __b)
3159 {
3160 return (int64x1_t)__builtin_neon_vshldi (__a, __b, 1);
3161 }
3162
3163 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vshl_u8(uint8x8_t __a,int8x8_t __b)3164 vshl_u8 (uint8x8_t __a, int8x8_t __b)
3165 {
3166 return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 0);
3167 }
3168
3169 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vshl_u16(uint16x4_t __a,int16x4_t __b)3170 vshl_u16 (uint16x4_t __a, int16x4_t __b)
3171 {
3172 return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 0);
3173 }
3174
3175 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vshl_u32(uint32x2_t __a,int32x2_t __b)3176 vshl_u32 (uint32x2_t __a, int32x2_t __b)
3177 {
3178 return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 0);
3179 }
3180
3181 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vshl_u64(uint64x1_t __a,int64x1_t __b)3182 vshl_u64 (uint64x1_t __a, int64x1_t __b)
3183 {
3184 return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 0);
3185 }
3186
3187 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vshlq_s8(int8x16_t __a,int8x16_t __b)3188 vshlq_s8 (int8x16_t __a, int8x16_t __b)
3189 {
3190 return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 1);
3191 }
3192
3193 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vshlq_s16(int16x8_t __a,int16x8_t __b)3194 vshlq_s16 (int16x8_t __a, int16x8_t __b)
3195 {
3196 return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 1);
3197 }
3198
3199 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vshlq_s32(int32x4_t __a,int32x4_t __b)3200 vshlq_s32 (int32x4_t __a, int32x4_t __b)
3201 {
3202 return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 1);
3203 }
3204
3205 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vshlq_s64(int64x2_t __a,int64x2_t __b)3206 vshlq_s64 (int64x2_t __a, int64x2_t __b)
3207 {
3208 return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 1);
3209 }
3210
3211 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vshlq_u8(uint8x16_t __a,int8x16_t __b)3212 vshlq_u8 (uint8x16_t __a, int8x16_t __b)
3213 {
3214 return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 0);
3215 }
3216
3217 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vshlq_u16(uint16x8_t __a,int16x8_t __b)3218 vshlq_u16 (uint16x8_t __a, int16x8_t __b)
3219 {
3220 return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 0);
3221 }
3222
3223 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vshlq_u32(uint32x4_t __a,int32x4_t __b)3224 vshlq_u32 (uint32x4_t __a, int32x4_t __b)
3225 {
3226 return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 0);
3227 }
3228
3229 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vshlq_u64(uint64x2_t __a,int64x2_t __b)3230 vshlq_u64 (uint64x2_t __a, int64x2_t __b)
3231 {
3232 return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 0);
3233 }
3234
3235 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrshl_s8(int8x8_t __a,int8x8_t __b)3236 vrshl_s8 (int8x8_t __a, int8x8_t __b)
3237 {
3238 return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 5);
3239 }
3240
3241 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrshl_s16(int16x4_t __a,int16x4_t __b)3242 vrshl_s16 (int16x4_t __a, int16x4_t __b)
3243 {
3244 return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 5);
3245 }
3246
3247 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrshl_s32(int32x2_t __a,int32x2_t __b)3248 vrshl_s32 (int32x2_t __a, int32x2_t __b)
3249 {
3250 return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 5);
3251 }
3252
3253 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vrshl_s64(int64x1_t __a,int64x1_t __b)3254 vrshl_s64 (int64x1_t __a, int64x1_t __b)
3255 {
3256 return (int64x1_t)__builtin_neon_vshldi (__a, __b, 5);
3257 }
3258
3259 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrshl_u8(uint8x8_t __a,int8x8_t __b)3260 vrshl_u8 (uint8x8_t __a, int8x8_t __b)
3261 {
3262 return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 4);
3263 }
3264
3265 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrshl_u16(uint16x4_t __a,int16x4_t __b)3266 vrshl_u16 (uint16x4_t __a, int16x4_t __b)
3267 {
3268 return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 4);
3269 }
3270
3271 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrshl_u32(uint32x2_t __a,int32x2_t __b)3272 vrshl_u32 (uint32x2_t __a, int32x2_t __b)
3273 {
3274 return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 4);
3275 }
3276
3277 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vrshl_u64(uint64x1_t __a,int64x1_t __b)3278 vrshl_u64 (uint64x1_t __a, int64x1_t __b)
3279 {
3280 return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 4);
3281 }
3282
3283 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrshlq_s8(int8x16_t __a,int8x16_t __b)3284 vrshlq_s8 (int8x16_t __a, int8x16_t __b)
3285 {
3286 return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 5);
3287 }
3288
3289 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vrshlq_s16(int16x8_t __a,int16x8_t __b)3290 vrshlq_s16 (int16x8_t __a, int16x8_t __b)
3291 {
3292 return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 5);
3293 }
3294
3295 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vrshlq_s32(int32x4_t __a,int32x4_t __b)3296 vrshlq_s32 (int32x4_t __a, int32x4_t __b)
3297 {
3298 return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 5);
3299 }
3300
3301 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vrshlq_s64(int64x2_t __a,int64x2_t __b)3302 vrshlq_s64 (int64x2_t __a, int64x2_t __b)
3303 {
3304 return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 5);
3305 }
3306
3307 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrshlq_u8(uint8x16_t __a,int8x16_t __b)3308 vrshlq_u8 (uint8x16_t __a, int8x16_t __b)
3309 {
3310 return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 4);
3311 }
3312
3313 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vrshlq_u16(uint16x8_t __a,int16x8_t __b)3314 vrshlq_u16 (uint16x8_t __a, int16x8_t __b)
3315 {
3316 return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 4);
3317 }
3318
3319 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrshlq_u32(uint32x4_t __a,int32x4_t __b)3320 vrshlq_u32 (uint32x4_t __a, int32x4_t __b)
3321 {
3322 return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 4);
3323 }
3324
3325 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vrshlq_u64(uint64x2_t __a,int64x2_t __b)3326 vrshlq_u64 (uint64x2_t __a, int64x2_t __b)
3327 {
3328 return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 4);
3329 }
3330
3331 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqshl_s8(int8x8_t __a,int8x8_t __b)3332 vqshl_s8 (int8x8_t __a, int8x8_t __b)
3333 {
3334 return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 1);
3335 }
3336
3337 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqshl_s16(int16x4_t __a,int16x4_t __b)3338 vqshl_s16 (int16x4_t __a, int16x4_t __b)
3339 {
3340 return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 1);
3341 }
3342
3343 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqshl_s32(int32x2_t __a,int32x2_t __b)3344 vqshl_s32 (int32x2_t __a, int32x2_t __b)
3345 {
3346 return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 1);
3347 }
3348
3349 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vqshl_s64(int64x1_t __a,int64x1_t __b)3350 vqshl_s64 (int64x1_t __a, int64x1_t __b)
3351 {
3352 return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 1);
3353 }
3354
3355 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqshl_u8(uint8x8_t __a,int8x8_t __b)3356 vqshl_u8 (uint8x8_t __a, int8x8_t __b)
3357 {
3358 return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 0);
3359 }
3360
3361 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqshl_u16(uint16x4_t __a,int16x4_t __b)3362 vqshl_u16 (uint16x4_t __a, int16x4_t __b)
3363 {
3364 return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 0);
3365 }
3366
3367 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqshl_u32(uint32x2_t __a,int32x2_t __b)3368 vqshl_u32 (uint32x2_t __a, int32x2_t __b)
3369 {
3370 return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 0);
3371 }
3372
3373 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vqshl_u64(uint64x1_t __a,int64x1_t __b)3374 vqshl_u64 (uint64x1_t __a, int64x1_t __b)
3375 {
3376 return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 0);
3377 }
3378
3379 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqshlq_s8(int8x16_t __a,int8x16_t __b)3380 vqshlq_s8 (int8x16_t __a, int8x16_t __b)
3381 {
3382 return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 1);
3383 }
3384
3385 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqshlq_s16(int16x8_t __a,int16x8_t __b)3386 vqshlq_s16 (int16x8_t __a, int16x8_t __b)
3387 {
3388 return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 1);
3389 }
3390
3391 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqshlq_s32(int32x4_t __a,int32x4_t __b)3392 vqshlq_s32 (int32x4_t __a, int32x4_t __b)
3393 {
3394 return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 1);
3395 }
3396
3397 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqshlq_s64(int64x2_t __a,int64x2_t __b)3398 vqshlq_s64 (int64x2_t __a, int64x2_t __b)
3399 {
3400 return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 1);
3401 }
3402
3403 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vqshlq_u8(uint8x16_t __a,int8x16_t __b)3404 vqshlq_u8 (uint8x16_t __a, int8x16_t __b)
3405 {
3406 return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 0);
3407 }
3408
3409 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vqshlq_u16(uint16x8_t __a,int16x8_t __b)3410 vqshlq_u16 (uint16x8_t __a, int16x8_t __b)
3411 {
3412 return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 0);
3413 }
3414
3415 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vqshlq_u32(uint32x4_t __a,int32x4_t __b)3416 vqshlq_u32 (uint32x4_t __a, int32x4_t __b)
3417 {
3418 return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 0);
3419 }
3420
3421 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vqshlq_u64(uint64x2_t __a,int64x2_t __b)3422 vqshlq_u64 (uint64x2_t __a, int64x2_t __b)
3423 {
3424 return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 0);
3425 }
3426
3427 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqrshl_s8(int8x8_t __a,int8x8_t __b)3428 vqrshl_s8 (int8x8_t __a, int8x8_t __b)
3429 {
3430 return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 5);
3431 }
3432
3433 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqrshl_s16(int16x4_t __a,int16x4_t __b)3434 vqrshl_s16 (int16x4_t __a, int16x4_t __b)
3435 {
3436 return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 5);
3437 }
3438
3439 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqrshl_s32(int32x2_t __a,int32x2_t __b)3440 vqrshl_s32 (int32x2_t __a, int32x2_t __b)
3441 {
3442 return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 5);
3443 }
3444
3445 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vqrshl_s64(int64x1_t __a,int64x1_t __b)3446 vqrshl_s64 (int64x1_t __a, int64x1_t __b)
3447 {
3448 return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 5);
3449 }
3450
3451 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqrshl_u8(uint8x8_t __a,int8x8_t __b)3452 vqrshl_u8 (uint8x8_t __a, int8x8_t __b)
3453 {
3454 return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 4);
3455 }
3456
3457 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqrshl_u16(uint16x4_t __a,int16x4_t __b)3458 vqrshl_u16 (uint16x4_t __a, int16x4_t __b)
3459 {
3460 return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 4);
3461 }
3462
3463 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqrshl_u32(uint32x2_t __a,int32x2_t __b)3464 vqrshl_u32 (uint32x2_t __a, int32x2_t __b)
3465 {
3466 return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 4);
3467 }
3468
3469 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vqrshl_u64(uint64x1_t __a,int64x1_t __b)3470 vqrshl_u64 (uint64x1_t __a, int64x1_t __b)
3471 {
3472 return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 4);
3473 }
3474
3475 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqrshlq_s8(int8x16_t __a,int8x16_t __b)3476 vqrshlq_s8 (int8x16_t __a, int8x16_t __b)
3477 {
3478 return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 5);
3479 }
3480
3481 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqrshlq_s16(int16x8_t __a,int16x8_t __b)3482 vqrshlq_s16 (int16x8_t __a, int16x8_t __b)
3483 {
3484 return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 5);
3485 }
3486
3487 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqrshlq_s32(int32x4_t __a,int32x4_t __b)3488 vqrshlq_s32 (int32x4_t __a, int32x4_t __b)
3489 {
3490 return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 5);
3491 }
3492
3493 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqrshlq_s64(int64x2_t __a,int64x2_t __b)3494 vqrshlq_s64 (int64x2_t __a, int64x2_t __b)
3495 {
3496 return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 5);
3497 }
3498
3499 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vqrshlq_u8(uint8x16_t __a,int8x16_t __b)3500 vqrshlq_u8 (uint8x16_t __a, int8x16_t __b)
3501 {
3502 return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 4);
3503 }
3504
3505 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vqrshlq_u16(uint16x8_t __a,int16x8_t __b)3506 vqrshlq_u16 (uint16x8_t __a, int16x8_t __b)
3507 {
3508 return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 4);
3509 }
3510
3511 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vqrshlq_u32(uint32x4_t __a,int32x4_t __b)3512 vqrshlq_u32 (uint32x4_t __a, int32x4_t __b)
3513 {
3514 return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 4);
3515 }
3516
3517 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vqrshlq_u64(uint64x2_t __a,int64x2_t __b)3518 vqrshlq_u64 (uint64x2_t __a, int64x2_t __b)
3519 {
3520 return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 4);
3521 }
3522
3523 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vshr_n_s8(int8x8_t __a,const int __b)3524 vshr_n_s8 (int8x8_t __a, const int __b)
3525 {
3526 return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 1);
3527 }
3528
3529 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vshr_n_s16(int16x4_t __a,const int __b)3530 vshr_n_s16 (int16x4_t __a, const int __b)
3531 {
3532 return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 1);
3533 }
3534
3535 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vshr_n_s32(int32x2_t __a,const int __b)3536 vshr_n_s32 (int32x2_t __a, const int __b)
3537 {
3538 return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 1);
3539 }
3540
3541 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vshr_n_s64(int64x1_t __a,const int __b)3542 vshr_n_s64 (int64x1_t __a, const int __b)
3543 {
3544 return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 1);
3545 }
3546
3547 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vshr_n_u8(uint8x8_t __a,const int __b)3548 vshr_n_u8 (uint8x8_t __a, const int __b)
3549 {
3550 return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 0);
3551 }
3552
3553 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vshr_n_u16(uint16x4_t __a,const int __b)3554 vshr_n_u16 (uint16x4_t __a, const int __b)
3555 {
3556 return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 0);
3557 }
3558
3559 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vshr_n_u32(uint32x2_t __a,const int __b)3560 vshr_n_u32 (uint32x2_t __a, const int __b)
3561 {
3562 return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 0);
3563 }
3564
3565 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vshr_n_u64(uint64x1_t __a,const int __b)3566 vshr_n_u64 (uint64x1_t __a, const int __b)
3567 {
3568 return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 0);
3569 }
3570
3571 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vshrq_n_s8(int8x16_t __a,const int __b)3572 vshrq_n_s8 (int8x16_t __a, const int __b)
3573 {
3574 return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 1);
3575 }
3576
3577 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vshrq_n_s16(int16x8_t __a,const int __b)3578 vshrq_n_s16 (int16x8_t __a, const int __b)
3579 {
3580 return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 1);
3581 }
3582
3583 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vshrq_n_s32(int32x4_t __a,const int __b)3584 vshrq_n_s32 (int32x4_t __a, const int __b)
3585 {
3586 return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 1);
3587 }
3588
3589 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vshrq_n_s64(int64x2_t __a,const int __b)3590 vshrq_n_s64 (int64x2_t __a, const int __b)
3591 {
3592 return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 1);
3593 }
3594
3595 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vshrq_n_u8(uint8x16_t __a,const int __b)3596 vshrq_n_u8 (uint8x16_t __a, const int __b)
3597 {
3598 return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 0);
3599 }
3600
3601 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vshrq_n_u16(uint16x8_t __a,const int __b)3602 vshrq_n_u16 (uint16x8_t __a, const int __b)
3603 {
3604 return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 0);
3605 }
3606
3607 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vshrq_n_u32(uint32x4_t __a,const int __b)3608 vshrq_n_u32 (uint32x4_t __a, const int __b)
3609 {
3610 return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 0);
3611 }
3612
3613 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vshrq_n_u64(uint64x2_t __a,const int __b)3614 vshrq_n_u64 (uint64x2_t __a, const int __b)
3615 {
3616 return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 0);
3617 }
3618
3619 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrshr_n_s8(int8x8_t __a,const int __b)3620 vrshr_n_s8 (int8x8_t __a, const int __b)
3621 {
3622 return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 5);
3623 }
3624
3625 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrshr_n_s16(int16x4_t __a,const int __b)3626 vrshr_n_s16 (int16x4_t __a, const int __b)
3627 {
3628 return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 5);
3629 }
3630
3631 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrshr_n_s32(int32x2_t __a,const int __b)3632 vrshr_n_s32 (int32x2_t __a, const int __b)
3633 {
3634 return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 5);
3635 }
3636
3637 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vrshr_n_s64(int64x1_t __a,const int __b)3638 vrshr_n_s64 (int64x1_t __a, const int __b)
3639 {
3640 return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 5);
3641 }
3642
3643 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrshr_n_u8(uint8x8_t __a,const int __b)3644 vrshr_n_u8 (uint8x8_t __a, const int __b)
3645 {
3646 return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 4);
3647 }
3648
3649 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrshr_n_u16(uint16x4_t __a,const int __b)3650 vrshr_n_u16 (uint16x4_t __a, const int __b)
3651 {
3652 return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 4);
3653 }
3654
3655 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrshr_n_u32(uint32x2_t __a,const int __b)3656 vrshr_n_u32 (uint32x2_t __a, const int __b)
3657 {
3658 return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 4);
3659 }
3660
3661 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vrshr_n_u64(uint64x1_t __a,const int __b)3662 vrshr_n_u64 (uint64x1_t __a, const int __b)
3663 {
3664 return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 4);
3665 }
3666
3667 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrshrq_n_s8(int8x16_t __a,const int __b)3668 vrshrq_n_s8 (int8x16_t __a, const int __b)
3669 {
3670 return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 5);
3671 }
3672
3673 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vrshrq_n_s16(int16x8_t __a,const int __b)3674 vrshrq_n_s16 (int16x8_t __a, const int __b)
3675 {
3676 return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 5);
3677 }
3678
3679 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vrshrq_n_s32(int32x4_t __a,const int __b)3680 vrshrq_n_s32 (int32x4_t __a, const int __b)
3681 {
3682 return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 5);
3683 }
3684
3685 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vrshrq_n_s64(int64x2_t __a,const int __b)3686 vrshrq_n_s64 (int64x2_t __a, const int __b)
3687 {
3688 return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 5);
3689 }
3690
3691 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrshrq_n_u8(uint8x16_t __a,const int __b)3692 vrshrq_n_u8 (uint8x16_t __a, const int __b)
3693 {
3694 return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 4);
3695 }
3696
3697 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vrshrq_n_u16(uint16x8_t __a,const int __b)3698 vrshrq_n_u16 (uint16x8_t __a, const int __b)
3699 {
3700 return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 4);
3701 }
3702
3703 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrshrq_n_u32(uint32x4_t __a,const int __b)3704 vrshrq_n_u32 (uint32x4_t __a, const int __b)
3705 {
3706 return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 4);
3707 }
3708
3709 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vrshrq_n_u64(uint64x2_t __a,const int __b)3710 vrshrq_n_u64 (uint64x2_t __a, const int __b)
3711 {
3712 return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 4);
3713 }
3714
3715 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vshrn_n_s16(int16x8_t __a,const int __b)3716 vshrn_n_s16 (int16x8_t __a, const int __b)
3717 {
3718 return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 1);
3719 }
3720
3721 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vshrn_n_s32(int32x4_t __a,const int __b)3722 vshrn_n_s32 (int32x4_t __a, const int __b)
3723 {
3724 return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 1);
3725 }
3726
3727 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vshrn_n_s64(int64x2_t __a,const int __b)3728 vshrn_n_s64 (int64x2_t __a, const int __b)
3729 {
3730 return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 1);
3731 }
3732
3733 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vshrn_n_u16(uint16x8_t __a,const int __b)3734 vshrn_n_u16 (uint16x8_t __a, const int __b)
3735 {
3736 return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 0);
3737 }
3738
3739 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vshrn_n_u32(uint32x4_t __a,const int __b)3740 vshrn_n_u32 (uint32x4_t __a, const int __b)
3741 {
3742 return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 0);
3743 }
3744
3745 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vshrn_n_u64(uint64x2_t __a,const int __b)3746 vshrn_n_u64 (uint64x2_t __a, const int __b)
3747 {
3748 return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 0);
3749 }
3750
3751 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrshrn_n_s16(int16x8_t __a,const int __b)3752 vrshrn_n_s16 (int16x8_t __a, const int __b)
3753 {
3754 return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 5);
3755 }
3756
3757 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrshrn_n_s32(int32x4_t __a,const int __b)3758 vrshrn_n_s32 (int32x4_t __a, const int __b)
3759 {
3760 return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 5);
3761 }
3762
3763 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrshrn_n_s64(int64x2_t __a,const int __b)3764 vrshrn_n_s64 (int64x2_t __a, const int __b)
3765 {
3766 return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 5);
3767 }
3768
3769 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrshrn_n_u16(uint16x8_t __a,const int __b)3770 vrshrn_n_u16 (uint16x8_t __a, const int __b)
3771 {
3772 return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 4);
3773 }
3774
3775 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrshrn_n_u32(uint32x4_t __a,const int __b)3776 vrshrn_n_u32 (uint32x4_t __a, const int __b)
3777 {
3778 return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 4);
3779 }
3780
3781 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrshrn_n_u64(uint64x2_t __a,const int __b)3782 vrshrn_n_u64 (uint64x2_t __a, const int __b)
3783 {
3784 return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 4);
3785 }
3786
3787 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqshrn_n_s16(int16x8_t __a,const int __b)3788 vqshrn_n_s16 (int16x8_t __a, const int __b)
3789 {
3790 return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 1);
3791 }
3792
3793 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqshrn_n_s32(int32x4_t __a,const int __b)3794 vqshrn_n_s32 (int32x4_t __a, const int __b)
3795 {
3796 return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 1);
3797 }
3798
3799 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqshrn_n_s64(int64x2_t __a,const int __b)3800 vqshrn_n_s64 (int64x2_t __a, const int __b)
3801 {
3802 return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 1);
3803 }
3804
3805 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqshrn_n_u16(uint16x8_t __a,const int __b)3806 vqshrn_n_u16 (uint16x8_t __a, const int __b)
3807 {
3808 return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 0);
3809 }
3810
3811 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqshrn_n_u32(uint32x4_t __a,const int __b)3812 vqshrn_n_u32 (uint32x4_t __a, const int __b)
3813 {
3814 return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 0);
3815 }
3816
3817 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqshrn_n_u64(uint64x2_t __a,const int __b)3818 vqshrn_n_u64 (uint64x2_t __a, const int __b)
3819 {
3820 return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 0);
3821 }
3822
3823 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqrshrn_n_s16(int16x8_t __a,const int __b)3824 vqrshrn_n_s16 (int16x8_t __a, const int __b)
3825 {
3826 return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 5);
3827 }
3828
3829 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqrshrn_n_s32(int32x4_t __a,const int __b)3830 vqrshrn_n_s32 (int32x4_t __a, const int __b)
3831 {
3832 return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 5);
3833 }
3834
3835 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqrshrn_n_s64(int64x2_t __a,const int __b)3836 vqrshrn_n_s64 (int64x2_t __a, const int __b)
3837 {
3838 return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 5);
3839 }
3840
3841 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqrshrn_n_u16(uint16x8_t __a,const int __b)3842 vqrshrn_n_u16 (uint16x8_t __a, const int __b)
3843 {
3844 return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 4);
3845 }
3846
3847 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqrshrn_n_u32(uint32x4_t __a,const int __b)3848 vqrshrn_n_u32 (uint32x4_t __a, const int __b)
3849 {
3850 return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 4);
3851 }
3852
3853 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqrshrn_n_u64(uint64x2_t __a,const int __b)3854 vqrshrn_n_u64 (uint64x2_t __a, const int __b)
3855 {
3856 return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 4);
3857 }
3858
3859 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqshrun_n_s16(int16x8_t __a,const int __b)3860 vqshrun_n_s16 (int16x8_t __a, const int __b)
3861 {
3862 return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 1);
3863 }
3864
3865 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqshrun_n_s32(int32x4_t __a,const int __b)3866 vqshrun_n_s32 (int32x4_t __a, const int __b)
3867 {
3868 return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 1);
3869 }
3870
3871 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqshrun_n_s64(int64x2_t __a,const int __b)3872 vqshrun_n_s64 (int64x2_t __a, const int __b)
3873 {
3874 return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 1);
3875 }
3876
3877 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqrshrun_n_s16(int16x8_t __a,const int __b)3878 vqrshrun_n_s16 (int16x8_t __a, const int __b)
3879 {
3880 return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 5);
3881 }
3882
3883 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqrshrun_n_s32(int32x4_t __a,const int __b)3884 vqrshrun_n_s32 (int32x4_t __a, const int __b)
3885 {
3886 return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 5);
3887 }
3888
3889 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqrshrun_n_s64(int64x2_t __a,const int __b)3890 vqrshrun_n_s64 (int64x2_t __a, const int __b)
3891 {
3892 return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 5);
3893 }
3894
3895 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vshl_n_s8(int8x8_t __a,const int __b)3896 vshl_n_s8 (int8x8_t __a, const int __b)
3897 {
3898 return (int8x8_t)__builtin_neon_vshl_nv8qi (__a, __b, 1);
3899 }
3900
3901 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vshl_n_s16(int16x4_t __a,const int __b)3902 vshl_n_s16 (int16x4_t __a, const int __b)
3903 {
3904 return (int16x4_t)__builtin_neon_vshl_nv4hi (__a, __b, 1);
3905 }
3906
3907 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vshl_n_s32(int32x2_t __a,const int __b)3908 vshl_n_s32 (int32x2_t __a, const int __b)
3909 {
3910 return (int32x2_t)__builtin_neon_vshl_nv2si (__a, __b, 1);
3911 }
3912
3913 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vshl_n_s64(int64x1_t __a,const int __b)3914 vshl_n_s64 (int64x1_t __a, const int __b)
3915 {
3916 return (int64x1_t)__builtin_neon_vshl_ndi (__a, __b, 1);
3917 }
3918
3919 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vshl_n_u8(uint8x8_t __a,const int __b)3920 vshl_n_u8 (uint8x8_t __a, const int __b)
3921 {
3922 return (uint8x8_t)__builtin_neon_vshl_nv8qi ((int8x8_t) __a, __b, 0);
3923 }
3924
3925 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vshl_n_u16(uint16x4_t __a,const int __b)3926 vshl_n_u16 (uint16x4_t __a, const int __b)
3927 {
3928 return (uint16x4_t)__builtin_neon_vshl_nv4hi ((int16x4_t) __a, __b, 0);
3929 }
3930
3931 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vshl_n_u32(uint32x2_t __a,const int __b)3932 vshl_n_u32 (uint32x2_t __a, const int __b)
3933 {
3934 return (uint32x2_t)__builtin_neon_vshl_nv2si ((int32x2_t) __a, __b, 0);
3935 }
3936
3937 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vshl_n_u64(uint64x1_t __a,const int __b)3938 vshl_n_u64 (uint64x1_t __a, const int __b)
3939 {
3940 return (uint64x1_t)__builtin_neon_vshl_ndi ((int64x1_t) __a, __b, 0);
3941 }
3942
3943 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vshlq_n_s8(int8x16_t __a,const int __b)3944 vshlq_n_s8 (int8x16_t __a, const int __b)
3945 {
3946 return (int8x16_t)__builtin_neon_vshl_nv16qi (__a, __b, 1);
3947 }
3948
3949 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vshlq_n_s16(int16x8_t __a,const int __b)3950 vshlq_n_s16 (int16x8_t __a, const int __b)
3951 {
3952 return (int16x8_t)__builtin_neon_vshl_nv8hi (__a, __b, 1);
3953 }
3954
3955 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vshlq_n_s32(int32x4_t __a,const int __b)3956 vshlq_n_s32 (int32x4_t __a, const int __b)
3957 {
3958 return (int32x4_t)__builtin_neon_vshl_nv4si (__a, __b, 1);
3959 }
3960
3961 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vshlq_n_s64(int64x2_t __a,const int __b)3962 vshlq_n_s64 (int64x2_t __a, const int __b)
3963 {
3964 return (int64x2_t)__builtin_neon_vshl_nv2di (__a, __b, 1);
3965 }
3966
3967 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vshlq_n_u8(uint8x16_t __a,const int __b)3968 vshlq_n_u8 (uint8x16_t __a, const int __b)
3969 {
3970 return (uint8x16_t)__builtin_neon_vshl_nv16qi ((int8x16_t) __a, __b, 0);
3971 }
3972
3973 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vshlq_n_u16(uint16x8_t __a,const int __b)3974 vshlq_n_u16 (uint16x8_t __a, const int __b)
3975 {
3976 return (uint16x8_t)__builtin_neon_vshl_nv8hi ((int16x8_t) __a, __b, 0);
3977 }
3978
3979 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vshlq_n_u32(uint32x4_t __a,const int __b)3980 vshlq_n_u32 (uint32x4_t __a, const int __b)
3981 {
3982 return (uint32x4_t)__builtin_neon_vshl_nv4si ((int32x4_t) __a, __b, 0);
3983 }
3984
3985 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vshlq_n_u64(uint64x2_t __a,const int __b)3986 vshlq_n_u64 (uint64x2_t __a, const int __b)
3987 {
3988 return (uint64x2_t)__builtin_neon_vshl_nv2di ((int64x2_t) __a, __b, 0);
3989 }
3990
3991 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqshl_n_s8(int8x8_t __a,const int __b)3992 vqshl_n_s8 (int8x8_t __a, const int __b)
3993 {
3994 return (int8x8_t)__builtin_neon_vqshl_nv8qi (__a, __b, 1);
3995 }
3996
3997 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqshl_n_s16(int16x4_t __a,const int __b)3998 vqshl_n_s16 (int16x4_t __a, const int __b)
3999 {
4000 return (int16x4_t)__builtin_neon_vqshl_nv4hi (__a, __b, 1);
4001 }
4002
4003 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqshl_n_s32(int32x2_t __a,const int __b)4004 vqshl_n_s32 (int32x2_t __a, const int __b)
4005 {
4006 return (int32x2_t)__builtin_neon_vqshl_nv2si (__a, __b, 1);
4007 }
4008
4009 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vqshl_n_s64(int64x1_t __a,const int __b)4010 vqshl_n_s64 (int64x1_t __a, const int __b)
4011 {
4012 return (int64x1_t)__builtin_neon_vqshl_ndi (__a, __b, 1);
4013 }
4014
4015 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqshl_n_u8(uint8x8_t __a,const int __b)4016 vqshl_n_u8 (uint8x8_t __a, const int __b)
4017 {
4018 return (uint8x8_t)__builtin_neon_vqshl_nv8qi ((int8x8_t) __a, __b, 0);
4019 }
4020
4021 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqshl_n_u16(uint16x4_t __a,const int __b)4022 vqshl_n_u16 (uint16x4_t __a, const int __b)
4023 {
4024 return (uint16x4_t)__builtin_neon_vqshl_nv4hi ((int16x4_t) __a, __b, 0);
4025 }
4026
4027 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqshl_n_u32(uint32x2_t __a,const int __b)4028 vqshl_n_u32 (uint32x2_t __a, const int __b)
4029 {
4030 return (uint32x2_t)__builtin_neon_vqshl_nv2si ((int32x2_t) __a, __b, 0);
4031 }
4032
4033 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vqshl_n_u64(uint64x1_t __a,const int __b)4034 vqshl_n_u64 (uint64x1_t __a, const int __b)
4035 {
4036 return (uint64x1_t)__builtin_neon_vqshl_ndi ((int64x1_t) __a, __b, 0);
4037 }
4038
4039 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqshlq_n_s8(int8x16_t __a,const int __b)4040 vqshlq_n_s8 (int8x16_t __a, const int __b)
4041 {
4042 return (int8x16_t)__builtin_neon_vqshl_nv16qi (__a, __b, 1);
4043 }
4044
4045 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqshlq_n_s16(int16x8_t __a,const int __b)4046 vqshlq_n_s16 (int16x8_t __a, const int __b)
4047 {
4048 return (int16x8_t)__builtin_neon_vqshl_nv8hi (__a, __b, 1);
4049 }
4050
4051 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqshlq_n_s32(int32x4_t __a,const int __b)4052 vqshlq_n_s32 (int32x4_t __a, const int __b)
4053 {
4054 return (int32x4_t)__builtin_neon_vqshl_nv4si (__a, __b, 1);
4055 }
4056
4057 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqshlq_n_s64(int64x2_t __a,const int __b)4058 vqshlq_n_s64 (int64x2_t __a, const int __b)
4059 {
4060 return (int64x2_t)__builtin_neon_vqshl_nv2di (__a, __b, 1);
4061 }
4062
4063 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vqshlq_n_u8(uint8x16_t __a,const int __b)4064 vqshlq_n_u8 (uint8x16_t __a, const int __b)
4065 {
4066 return (uint8x16_t)__builtin_neon_vqshl_nv16qi ((int8x16_t) __a, __b, 0);
4067 }
4068
4069 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vqshlq_n_u16(uint16x8_t __a,const int __b)4070 vqshlq_n_u16 (uint16x8_t __a, const int __b)
4071 {
4072 return (uint16x8_t)__builtin_neon_vqshl_nv8hi ((int16x8_t) __a, __b, 0);
4073 }
4074
4075 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vqshlq_n_u32(uint32x4_t __a,const int __b)4076 vqshlq_n_u32 (uint32x4_t __a, const int __b)
4077 {
4078 return (uint32x4_t)__builtin_neon_vqshl_nv4si ((int32x4_t) __a, __b, 0);
4079 }
4080
4081 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vqshlq_n_u64(uint64x2_t __a,const int __b)4082 vqshlq_n_u64 (uint64x2_t __a, const int __b)
4083 {
4084 return (uint64x2_t)__builtin_neon_vqshl_nv2di ((int64x2_t) __a, __b, 0);
4085 }
4086
4087 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqshlu_n_s8(int8x8_t __a,const int __b)4088 vqshlu_n_s8 (int8x8_t __a, const int __b)
4089 {
4090 return (uint8x8_t)__builtin_neon_vqshlu_nv8qi (__a, __b, 1);
4091 }
4092
4093 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqshlu_n_s16(int16x4_t __a,const int __b)4094 vqshlu_n_s16 (int16x4_t __a, const int __b)
4095 {
4096 return (uint16x4_t)__builtin_neon_vqshlu_nv4hi (__a, __b, 1);
4097 }
4098
4099 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqshlu_n_s32(int32x2_t __a,const int __b)4100 vqshlu_n_s32 (int32x2_t __a, const int __b)
4101 {
4102 return (uint32x2_t)__builtin_neon_vqshlu_nv2si (__a, __b, 1);
4103 }
4104
4105 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vqshlu_n_s64(int64x1_t __a,const int __b)4106 vqshlu_n_s64 (int64x1_t __a, const int __b)
4107 {
4108 return (uint64x1_t)__builtin_neon_vqshlu_ndi (__a, __b, 1);
4109 }
4110
4111 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vqshluq_n_s8(int8x16_t __a,const int __b)4112 vqshluq_n_s8 (int8x16_t __a, const int __b)
4113 {
4114 return (uint8x16_t)__builtin_neon_vqshlu_nv16qi (__a, __b, 1);
4115 }
4116
4117 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vqshluq_n_s16(int16x8_t __a,const int __b)4118 vqshluq_n_s16 (int16x8_t __a, const int __b)
4119 {
4120 return (uint16x8_t)__builtin_neon_vqshlu_nv8hi (__a, __b, 1);
4121 }
4122
4123 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vqshluq_n_s32(int32x4_t __a,const int __b)4124 vqshluq_n_s32 (int32x4_t __a, const int __b)
4125 {
4126 return (uint32x4_t)__builtin_neon_vqshlu_nv4si (__a, __b, 1);
4127 }
4128
4129 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vqshluq_n_s64(int64x2_t __a,const int __b)4130 vqshluq_n_s64 (int64x2_t __a, const int __b)
4131 {
4132 return (uint64x2_t)__builtin_neon_vqshlu_nv2di (__a, __b, 1);
4133 }
4134
4135 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vshll_n_s8(int8x8_t __a,const int __b)4136 vshll_n_s8 (int8x8_t __a, const int __b)
4137 {
4138 return (int16x8_t)__builtin_neon_vshll_nv8qi (__a, __b, 1);
4139 }
4140
4141 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vshll_n_s16(int16x4_t __a,const int __b)4142 vshll_n_s16 (int16x4_t __a, const int __b)
4143 {
4144 return (int32x4_t)__builtin_neon_vshll_nv4hi (__a, __b, 1);
4145 }
4146
4147 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vshll_n_s32(int32x2_t __a,const int __b)4148 vshll_n_s32 (int32x2_t __a, const int __b)
4149 {
4150 return (int64x2_t)__builtin_neon_vshll_nv2si (__a, __b, 1);
4151 }
4152
4153 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vshll_n_u8(uint8x8_t __a,const int __b)4154 vshll_n_u8 (uint8x8_t __a, const int __b)
4155 {
4156 return (uint16x8_t)__builtin_neon_vshll_nv8qi ((int8x8_t) __a, __b, 0);
4157 }
4158
4159 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vshll_n_u16(uint16x4_t __a,const int __b)4160 vshll_n_u16 (uint16x4_t __a, const int __b)
4161 {
4162 return (uint32x4_t)__builtin_neon_vshll_nv4hi ((int16x4_t) __a, __b, 0);
4163 }
4164
4165 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vshll_n_u32(uint32x2_t __a,const int __b)4166 vshll_n_u32 (uint32x2_t __a, const int __b)
4167 {
4168 return (uint64x2_t)__builtin_neon_vshll_nv2si ((int32x2_t) __a, __b, 0);
4169 }
4170
4171 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)4172 vsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4173 {
4174 return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 1);
4175 }
4176
4177 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)4178 vsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4179 {
4180 return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 1);
4181 }
4182
4183 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)4184 vsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4185 {
4186 return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 1);
4187 }
4188
4189 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)4190 vsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4191 {
4192 return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 1);
4193 }
4194
4195 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)4196 vsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4197 {
4198 return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 0);
4199 }
4200
4201 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)4202 vsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4203 {
4204 return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
4205 }
4206
4207 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)4208 vsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4209 {
4210 return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
4211 }
4212
4213 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)4214 vsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4215 {
4216 return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 0);
4217 }
4218
4219 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)4220 vsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4221 {
4222 return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 1);
4223 }
4224
4225 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)4226 vsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4227 {
4228 return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 1);
4229 }
4230
4231 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)4232 vsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4233 {
4234 return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 1);
4235 }
4236
4237 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)4238 vsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4239 {
4240 return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 1);
4241 }
4242
4243 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)4244 vsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4245 {
4246 return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 0);
4247 }
4248
4249 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)4250 vsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4251 {
4252 return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 0);
4253 }
4254
4255 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)4256 vsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4257 {
4258 return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 0);
4259 }
4260
4261 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)4262 vsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4263 {
4264 return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 0);
4265 }
4266
4267 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)4268 vrsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4269 {
4270 return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 5);
4271 }
4272
4273 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)4274 vrsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4275 {
4276 return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 5);
4277 }
4278
4279 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)4280 vrsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4281 {
4282 return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 5);
4283 }
4284
4285 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vrsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)4286 vrsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4287 {
4288 return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 5);
4289 }
4290
4291 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)4292 vrsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4293 {
4294 return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 4);
4295 }
4296
4297 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)4298 vrsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4299 {
4300 return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 4);
4301 }
4302
4303 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)4304 vrsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4305 {
4306 return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 4);
4307 }
4308
4309 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vrsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)4310 vrsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4311 {
4312 return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 4);
4313 }
4314
4315 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)4316 vrsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4317 {
4318 return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 5);
4319 }
4320
4321 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vrsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)4322 vrsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4323 {
4324 return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 5);
4325 }
4326
4327 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vrsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)4328 vrsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4329 {
4330 return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 5);
4331 }
4332
4333 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vrsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)4334 vrsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4335 {
4336 return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 5);
4337 }
4338
4339 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)4340 vrsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4341 {
4342 return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 4);
4343 }
4344
4345 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vrsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)4346 vrsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4347 {
4348 return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 4);
4349 }
4350
4351 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)4352 vrsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4353 {
4354 return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 4);
4355 }
4356
4357 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vrsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)4358 vrsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4359 {
4360 return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 4);
4361 }
4362
4363 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vsri_n_s8(int8x8_t __a,int8x8_t __b,const int __c)4364 vsri_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4365 {
4366 return (int8x8_t)__builtin_neon_vsri_nv8qi (__a, __b, __c);
4367 }
4368
4369 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vsri_n_s16(int16x4_t __a,int16x4_t __b,const int __c)4370 vsri_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4371 {
4372 return (int16x4_t)__builtin_neon_vsri_nv4hi (__a, __b, __c);
4373 }
4374
4375 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vsri_n_s32(int32x2_t __a,int32x2_t __b,const int __c)4376 vsri_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4377 {
4378 return (int32x2_t)__builtin_neon_vsri_nv2si (__a, __b, __c);
4379 }
4380
4381 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vsri_n_s64(int64x1_t __a,int64x1_t __b,const int __c)4382 vsri_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4383 {
4384 return (int64x1_t)__builtin_neon_vsri_ndi (__a, __b, __c);
4385 }
4386
4387 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vsri_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)4388 vsri_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4389 {
4390 return (uint8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4391 }
4392
4393 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vsri_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)4394 vsri_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4395 {
4396 return (uint16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4397 }
4398
4399 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vsri_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)4400 vsri_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4401 {
4402 return (uint32x2_t)__builtin_neon_vsri_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
4403 }
4404
4405 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vsri_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)4406 vsri_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4407 {
4408 return (uint64x1_t)__builtin_neon_vsri_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
4409 }
4410
4411 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vsri_n_p8(poly8x8_t __a,poly8x8_t __b,const int __c)4412 vsri_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
4413 {
4414 return (poly8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4415 }
4416
4417 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vsri_n_p16(poly16x4_t __a,poly16x4_t __b,const int __c)4418 vsri_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
4419 {
4420 return (poly16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4421 }
4422
4423 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vsriq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)4424 vsriq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4425 {
4426 return (int8x16_t)__builtin_neon_vsri_nv16qi (__a, __b, __c);
4427 }
4428
4429 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsriq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)4430 vsriq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4431 {
4432 return (int16x8_t)__builtin_neon_vsri_nv8hi (__a, __b, __c);
4433 }
4434
4435 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsriq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)4436 vsriq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4437 {
4438 return (int32x4_t)__builtin_neon_vsri_nv4si (__a, __b, __c);
4439 }
4440
4441 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsriq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)4442 vsriq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4443 {
4444 return (int64x2_t)__builtin_neon_vsri_nv2di (__a, __b, __c);
4445 }
4446
4447 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vsriq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)4448 vsriq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4449 {
4450 return (uint8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4451 }
4452
4453 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsriq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)4454 vsriq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4455 {
4456 return (uint16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4457 }
4458
4459 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsriq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)4460 vsriq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4461 {
4462 return (uint32x4_t)__builtin_neon_vsri_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
4463 }
4464
4465 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsriq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)4466 vsriq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4467 {
4468 return (uint64x2_t)__builtin_neon_vsri_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4469 }
4470
4471 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vsriq_n_p8(poly8x16_t __a,poly8x16_t __b,const int __c)4472 vsriq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
4473 {
4474 return (poly8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4475 }
4476
4477 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vsriq_n_p16(poly16x8_t __a,poly16x8_t __b,const int __c)4478 vsriq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
4479 {
4480 return (poly16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4481 }
4482
4483 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vsli_n_s8(int8x8_t __a,int8x8_t __b,const int __c)4484 vsli_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4485 {
4486 return (int8x8_t)__builtin_neon_vsli_nv8qi (__a, __b, __c);
4487 }
4488
4489 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vsli_n_s16(int16x4_t __a,int16x4_t __b,const int __c)4490 vsli_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4491 {
4492 return (int16x4_t)__builtin_neon_vsli_nv4hi (__a, __b, __c);
4493 }
4494
4495 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vsli_n_s32(int32x2_t __a,int32x2_t __b,const int __c)4496 vsli_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4497 {
4498 return (int32x2_t)__builtin_neon_vsli_nv2si (__a, __b, __c);
4499 }
4500
4501 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vsli_n_s64(int64x1_t __a,int64x1_t __b,const int __c)4502 vsli_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4503 {
4504 return (int64x1_t)__builtin_neon_vsli_ndi (__a, __b, __c);
4505 }
4506
4507 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vsli_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)4508 vsli_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4509 {
4510 return (uint8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4511 }
4512
4513 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vsli_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)4514 vsli_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4515 {
4516 return (uint16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4517 }
4518
4519 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vsli_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)4520 vsli_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4521 {
4522 return (uint32x2_t)__builtin_neon_vsli_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
4523 }
4524
4525 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vsli_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)4526 vsli_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4527 {
4528 return (uint64x1_t)__builtin_neon_vsli_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
4529 }
4530
4531 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vsli_n_p8(poly8x8_t __a,poly8x8_t __b,const int __c)4532 vsli_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
4533 {
4534 return (poly8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4535 }
4536
4537 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vsli_n_p16(poly16x4_t __a,poly16x4_t __b,const int __c)4538 vsli_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
4539 {
4540 return (poly16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4541 }
4542
4543 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vsliq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)4544 vsliq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4545 {
4546 return (int8x16_t)__builtin_neon_vsli_nv16qi (__a, __b, __c);
4547 }
4548
4549 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsliq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)4550 vsliq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4551 {
4552 return (int16x8_t)__builtin_neon_vsli_nv8hi (__a, __b, __c);
4553 }
4554
4555 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsliq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)4556 vsliq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4557 {
4558 return (int32x4_t)__builtin_neon_vsli_nv4si (__a, __b, __c);
4559 }
4560
4561 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsliq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)4562 vsliq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4563 {
4564 return (int64x2_t)__builtin_neon_vsli_nv2di (__a, __b, __c);
4565 }
4566
4567 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vsliq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)4568 vsliq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4569 {
4570 return (uint8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4571 }
4572
4573 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsliq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)4574 vsliq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4575 {
4576 return (uint16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4577 }
4578
4579 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsliq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)4580 vsliq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4581 {
4582 return (uint32x4_t)__builtin_neon_vsli_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
4583 }
4584
4585 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsliq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)4586 vsliq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4587 {
4588 return (uint64x2_t)__builtin_neon_vsli_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4589 }
4590
4591 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vsliq_n_p8(poly8x16_t __a,poly8x16_t __b,const int __c)4592 vsliq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
4593 {
4594 return (poly8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4595 }
4596
4597 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vsliq_n_p16(poly16x8_t __a,poly16x8_t __b,const int __c)4598 vsliq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
4599 {
4600 return (poly16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4601 }
4602
4603 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vabs_s8(int8x8_t __a)4604 vabs_s8 (int8x8_t __a)
4605 {
4606 return (int8x8_t)__builtin_neon_vabsv8qi (__a, 1);
4607 }
4608
4609 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vabs_s16(int16x4_t __a)4610 vabs_s16 (int16x4_t __a)
4611 {
4612 return (int16x4_t)__builtin_neon_vabsv4hi (__a, 1);
4613 }
4614
4615 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vabs_s32(int32x2_t __a)4616 vabs_s32 (int32x2_t __a)
4617 {
4618 return (int32x2_t)__builtin_neon_vabsv2si (__a, 1);
4619 }
4620
4621 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vabs_f32(float32x2_t __a)4622 vabs_f32 (float32x2_t __a)
4623 {
4624 return (float32x2_t)__builtin_neon_vabsv2sf (__a, 3);
4625 }
4626
4627 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vabsq_s8(int8x16_t __a)4628 vabsq_s8 (int8x16_t __a)
4629 {
4630 return (int8x16_t)__builtin_neon_vabsv16qi (__a, 1);
4631 }
4632
4633 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vabsq_s16(int16x8_t __a)4634 vabsq_s16 (int16x8_t __a)
4635 {
4636 return (int16x8_t)__builtin_neon_vabsv8hi (__a, 1);
4637 }
4638
4639 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vabsq_s32(int32x4_t __a)4640 vabsq_s32 (int32x4_t __a)
4641 {
4642 return (int32x4_t)__builtin_neon_vabsv4si (__a, 1);
4643 }
4644
4645 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vabsq_f32(float32x4_t __a)4646 vabsq_f32 (float32x4_t __a)
4647 {
4648 return (float32x4_t)__builtin_neon_vabsv4sf (__a, 3);
4649 }
4650
4651 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqabs_s8(int8x8_t __a)4652 vqabs_s8 (int8x8_t __a)
4653 {
4654 return (int8x8_t)__builtin_neon_vqabsv8qi (__a, 1);
4655 }
4656
4657 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqabs_s16(int16x4_t __a)4658 vqabs_s16 (int16x4_t __a)
4659 {
4660 return (int16x4_t)__builtin_neon_vqabsv4hi (__a, 1);
4661 }
4662
4663 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqabs_s32(int32x2_t __a)4664 vqabs_s32 (int32x2_t __a)
4665 {
4666 return (int32x2_t)__builtin_neon_vqabsv2si (__a, 1);
4667 }
4668
4669 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqabsq_s8(int8x16_t __a)4670 vqabsq_s8 (int8x16_t __a)
4671 {
4672 return (int8x16_t)__builtin_neon_vqabsv16qi (__a, 1);
4673 }
4674
4675 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqabsq_s16(int16x8_t __a)4676 vqabsq_s16 (int16x8_t __a)
4677 {
4678 return (int16x8_t)__builtin_neon_vqabsv8hi (__a, 1);
4679 }
4680
4681 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqabsq_s32(int32x4_t __a)4682 vqabsq_s32 (int32x4_t __a)
4683 {
4684 return (int32x4_t)__builtin_neon_vqabsv4si (__a, 1);
4685 }
4686
4687 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vneg_s8(int8x8_t __a)4688 vneg_s8 (int8x8_t __a)
4689 {
4690 return (int8x8_t)__builtin_neon_vnegv8qi (__a, 1);
4691 }
4692
4693 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vneg_s16(int16x4_t __a)4694 vneg_s16 (int16x4_t __a)
4695 {
4696 return (int16x4_t)__builtin_neon_vnegv4hi (__a, 1);
4697 }
4698
4699 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vneg_s32(int32x2_t __a)4700 vneg_s32 (int32x2_t __a)
4701 {
4702 return (int32x2_t)__builtin_neon_vnegv2si (__a, 1);
4703 }
4704
4705 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vneg_f32(float32x2_t __a)4706 vneg_f32 (float32x2_t __a)
4707 {
4708 return (float32x2_t)__builtin_neon_vnegv2sf (__a, 3);
4709 }
4710
4711 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vnegq_s8(int8x16_t __a)4712 vnegq_s8 (int8x16_t __a)
4713 {
4714 return (int8x16_t)__builtin_neon_vnegv16qi (__a, 1);
4715 }
4716
4717 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vnegq_s16(int16x8_t __a)4718 vnegq_s16 (int16x8_t __a)
4719 {
4720 return (int16x8_t)__builtin_neon_vnegv8hi (__a, 1);
4721 }
4722
4723 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vnegq_s32(int32x4_t __a)4724 vnegq_s32 (int32x4_t __a)
4725 {
4726 return (int32x4_t)__builtin_neon_vnegv4si (__a, 1);
4727 }
4728
4729 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vnegq_f32(float32x4_t __a)4730 vnegq_f32 (float32x4_t __a)
4731 {
4732 return (float32x4_t)__builtin_neon_vnegv4sf (__a, 3);
4733 }
4734
4735 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqneg_s8(int8x8_t __a)4736 vqneg_s8 (int8x8_t __a)
4737 {
4738 return (int8x8_t)__builtin_neon_vqnegv8qi (__a, 1);
4739 }
4740
4741 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqneg_s16(int16x4_t __a)4742 vqneg_s16 (int16x4_t __a)
4743 {
4744 return (int16x4_t)__builtin_neon_vqnegv4hi (__a, 1);
4745 }
4746
4747 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqneg_s32(int32x2_t __a)4748 vqneg_s32 (int32x2_t __a)
4749 {
4750 return (int32x2_t)__builtin_neon_vqnegv2si (__a, 1);
4751 }
4752
4753 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vqnegq_s8(int8x16_t __a)4754 vqnegq_s8 (int8x16_t __a)
4755 {
4756 return (int8x16_t)__builtin_neon_vqnegv16qi (__a, 1);
4757 }
4758
4759 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqnegq_s16(int16x8_t __a)4760 vqnegq_s16 (int16x8_t __a)
4761 {
4762 return (int16x8_t)__builtin_neon_vqnegv8hi (__a, 1);
4763 }
4764
4765 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqnegq_s32(int32x4_t __a)4766 vqnegq_s32 (int32x4_t __a)
4767 {
4768 return (int32x4_t)__builtin_neon_vqnegv4si (__a, 1);
4769 }
4770
4771 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmvn_s8(int8x8_t __a)4772 vmvn_s8 (int8x8_t __a)
4773 {
4774 return (int8x8_t)__builtin_neon_vmvnv8qi (__a, 1);
4775 }
4776
4777 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmvn_s16(int16x4_t __a)4778 vmvn_s16 (int16x4_t __a)
4779 {
4780 return (int16x4_t)__builtin_neon_vmvnv4hi (__a, 1);
4781 }
4782
4783 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmvn_s32(int32x2_t __a)4784 vmvn_s32 (int32x2_t __a)
4785 {
4786 return (int32x2_t)__builtin_neon_vmvnv2si (__a, 1);
4787 }
4788
4789 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmvn_u8(uint8x8_t __a)4790 vmvn_u8 (uint8x8_t __a)
4791 {
4792 return (uint8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 0);
4793 }
4794
4795 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmvn_u16(uint16x4_t __a)4796 vmvn_u16 (uint16x4_t __a)
4797 {
4798 return (uint16x4_t)__builtin_neon_vmvnv4hi ((int16x4_t) __a, 0);
4799 }
4800
4801 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmvn_u32(uint32x2_t __a)4802 vmvn_u32 (uint32x2_t __a)
4803 {
4804 return (uint32x2_t)__builtin_neon_vmvnv2si ((int32x2_t) __a, 0);
4805 }
4806
4807 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vmvn_p8(poly8x8_t __a)4808 vmvn_p8 (poly8x8_t __a)
4809 {
4810 return (poly8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 2);
4811 }
4812
4813 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vmvnq_s8(int8x16_t __a)4814 vmvnq_s8 (int8x16_t __a)
4815 {
4816 return (int8x16_t)__builtin_neon_vmvnv16qi (__a, 1);
4817 }
4818
4819 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmvnq_s16(int16x8_t __a)4820 vmvnq_s16 (int16x8_t __a)
4821 {
4822 return (int16x8_t)__builtin_neon_vmvnv8hi (__a, 1);
4823 }
4824
4825 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmvnq_s32(int32x4_t __a)4826 vmvnq_s32 (int32x4_t __a)
4827 {
4828 return (int32x4_t)__builtin_neon_vmvnv4si (__a, 1);
4829 }
4830
4831 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vmvnq_u8(uint8x16_t __a)4832 vmvnq_u8 (uint8x16_t __a)
4833 {
4834 return (uint8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 0);
4835 }
4836
4837 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmvnq_u16(uint16x8_t __a)4838 vmvnq_u16 (uint16x8_t __a)
4839 {
4840 return (uint16x8_t)__builtin_neon_vmvnv8hi ((int16x8_t) __a, 0);
4841 }
4842
4843 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmvnq_u32(uint32x4_t __a)4844 vmvnq_u32 (uint32x4_t __a)
4845 {
4846 return (uint32x4_t)__builtin_neon_vmvnv4si ((int32x4_t) __a, 0);
4847 }
4848
4849 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vmvnq_p8(poly8x16_t __a)4850 vmvnq_p8 (poly8x16_t __a)
4851 {
4852 return (poly8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 2);
4853 }
4854
4855 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vcls_s8(int8x8_t __a)4856 vcls_s8 (int8x8_t __a)
4857 {
4858 return (int8x8_t)__builtin_neon_vclsv8qi (__a, 1);
4859 }
4860
4861 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vcls_s16(int16x4_t __a)4862 vcls_s16 (int16x4_t __a)
4863 {
4864 return (int16x4_t)__builtin_neon_vclsv4hi (__a, 1);
4865 }
4866
4867 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vcls_s32(int32x2_t __a)4868 vcls_s32 (int32x2_t __a)
4869 {
4870 return (int32x2_t)__builtin_neon_vclsv2si (__a, 1);
4871 }
4872
4873 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vclsq_s8(int8x16_t __a)4874 vclsq_s8 (int8x16_t __a)
4875 {
4876 return (int8x16_t)__builtin_neon_vclsv16qi (__a, 1);
4877 }
4878
4879 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vclsq_s16(int16x8_t __a)4880 vclsq_s16 (int16x8_t __a)
4881 {
4882 return (int16x8_t)__builtin_neon_vclsv8hi (__a, 1);
4883 }
4884
4885 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vclsq_s32(int32x4_t __a)4886 vclsq_s32 (int32x4_t __a)
4887 {
4888 return (int32x4_t)__builtin_neon_vclsv4si (__a, 1);
4889 }
4890
4891 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vclz_s8(int8x8_t __a)4892 vclz_s8 (int8x8_t __a)
4893 {
4894 return (int8x8_t)__builtin_neon_vclzv8qi (__a, 1);
4895 }
4896
4897 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vclz_s16(int16x4_t __a)4898 vclz_s16 (int16x4_t __a)
4899 {
4900 return (int16x4_t)__builtin_neon_vclzv4hi (__a, 1);
4901 }
4902
4903 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vclz_s32(int32x2_t __a)4904 vclz_s32 (int32x2_t __a)
4905 {
4906 return (int32x2_t)__builtin_neon_vclzv2si (__a, 1);
4907 }
4908
4909 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vclz_u8(uint8x8_t __a)4910 vclz_u8 (uint8x8_t __a)
4911 {
4912 return (uint8x8_t)__builtin_neon_vclzv8qi ((int8x8_t) __a, 0);
4913 }
4914
4915 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vclz_u16(uint16x4_t __a)4916 vclz_u16 (uint16x4_t __a)
4917 {
4918 return (uint16x4_t)__builtin_neon_vclzv4hi ((int16x4_t) __a, 0);
4919 }
4920
4921 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vclz_u32(uint32x2_t __a)4922 vclz_u32 (uint32x2_t __a)
4923 {
4924 return (uint32x2_t)__builtin_neon_vclzv2si ((int32x2_t) __a, 0);
4925 }
4926
4927 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vclzq_s8(int8x16_t __a)4928 vclzq_s8 (int8x16_t __a)
4929 {
4930 return (int8x16_t)__builtin_neon_vclzv16qi (__a, 1);
4931 }
4932
4933 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vclzq_s16(int16x8_t __a)4934 vclzq_s16 (int16x8_t __a)
4935 {
4936 return (int16x8_t)__builtin_neon_vclzv8hi (__a, 1);
4937 }
4938
4939 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vclzq_s32(int32x4_t __a)4940 vclzq_s32 (int32x4_t __a)
4941 {
4942 return (int32x4_t)__builtin_neon_vclzv4si (__a, 1);
4943 }
4944
4945 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vclzq_u8(uint8x16_t __a)4946 vclzq_u8 (uint8x16_t __a)
4947 {
4948 return (uint8x16_t)__builtin_neon_vclzv16qi ((int8x16_t) __a, 0);
4949 }
4950
4951 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vclzq_u16(uint16x8_t __a)4952 vclzq_u16 (uint16x8_t __a)
4953 {
4954 return (uint16x8_t)__builtin_neon_vclzv8hi ((int16x8_t) __a, 0);
4955 }
4956
4957 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vclzq_u32(uint32x4_t __a)4958 vclzq_u32 (uint32x4_t __a)
4959 {
4960 return (uint32x4_t)__builtin_neon_vclzv4si ((int32x4_t) __a, 0);
4961 }
4962
4963 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vcnt_s8(int8x8_t __a)4964 vcnt_s8 (int8x8_t __a)
4965 {
4966 return (int8x8_t)__builtin_neon_vcntv8qi (__a, 1);
4967 }
4968
4969 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcnt_u8(uint8x8_t __a)4970 vcnt_u8 (uint8x8_t __a)
4971 {
4972 return (uint8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 0);
4973 }
4974
4975 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vcnt_p8(poly8x8_t __a)4976 vcnt_p8 (poly8x8_t __a)
4977 {
4978 return (poly8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 2);
4979 }
4980
4981 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vcntq_s8(int8x16_t __a)4982 vcntq_s8 (int8x16_t __a)
4983 {
4984 return (int8x16_t)__builtin_neon_vcntv16qi (__a, 1);
4985 }
4986
4987 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcntq_u8(uint8x16_t __a)4988 vcntq_u8 (uint8x16_t __a)
4989 {
4990 return (uint8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 0);
4991 }
4992
4993 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vcntq_p8(poly8x16_t __a)4994 vcntq_p8 (poly8x16_t __a)
4995 {
4996 return (poly8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 2);
4997 }
4998
4999 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrecpe_f32(float32x2_t __a)5000 vrecpe_f32 (float32x2_t __a)
5001 {
5002 return (float32x2_t)__builtin_neon_vrecpev2sf (__a, 3);
5003 }
5004
5005 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrecpe_u32(uint32x2_t __a)5006 vrecpe_u32 (uint32x2_t __a)
5007 {
5008 return (uint32x2_t)__builtin_neon_vrecpev2si ((int32x2_t) __a, 0);
5009 }
5010
5011 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrecpeq_f32(float32x4_t __a)5012 vrecpeq_f32 (float32x4_t __a)
5013 {
5014 return (float32x4_t)__builtin_neon_vrecpev4sf (__a, 3);
5015 }
5016
5017 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrecpeq_u32(uint32x4_t __a)5018 vrecpeq_u32 (uint32x4_t __a)
5019 {
5020 return (uint32x4_t)__builtin_neon_vrecpev4si ((int32x4_t) __a, 0);
5021 }
5022
5023 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrsqrte_f32(float32x2_t __a)5024 vrsqrte_f32 (float32x2_t __a)
5025 {
5026 return (float32x2_t)__builtin_neon_vrsqrtev2sf (__a, 3);
5027 }
5028
5029 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrsqrte_u32(uint32x2_t __a)5030 vrsqrte_u32 (uint32x2_t __a)
5031 {
5032 return (uint32x2_t)__builtin_neon_vrsqrtev2si ((int32x2_t) __a, 0);
5033 }
5034
5035 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrsqrteq_f32(float32x4_t __a)5036 vrsqrteq_f32 (float32x4_t __a)
5037 {
5038 return (float32x4_t)__builtin_neon_vrsqrtev4sf (__a, 3);
5039 }
5040
5041 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrsqrteq_u32(uint32x4_t __a)5042 vrsqrteq_u32 (uint32x4_t __a)
5043 {
5044 return (uint32x4_t)__builtin_neon_vrsqrtev4si ((int32x4_t) __a, 0);
5045 }
5046
5047 __extension__ static __inline int8_t __attribute__ ((__always_inline__))
vget_lane_s8(int8x8_t __a,const int __b)5048 vget_lane_s8 (int8x8_t __a, const int __b)
5049 {
5050 return (int8_t)__builtin_neon_vget_lanev8qi (__a, __b, 1);
5051 }
5052
5053 __extension__ static __inline int16_t __attribute__ ((__always_inline__))
vget_lane_s16(int16x4_t __a,const int __b)5054 vget_lane_s16 (int16x4_t __a, const int __b)
5055 {
5056 return (int16_t)__builtin_neon_vget_lanev4hi (__a, __b, 1);
5057 }
5058
5059 __extension__ static __inline int32_t __attribute__ ((__always_inline__))
vget_lane_s32(int32x2_t __a,const int __b)5060 vget_lane_s32 (int32x2_t __a, const int __b)
5061 {
5062 return (int32_t)__builtin_neon_vget_lanev2si (__a, __b, 1);
5063 }
5064
5065 __extension__ static __inline float32_t __attribute__ ((__always_inline__))
vget_lane_f32(float32x2_t __a,const int __b)5066 vget_lane_f32 (float32x2_t __a, const int __b)
5067 {
5068 return (float32_t)__builtin_neon_vget_lanev2sf (__a, __b, 3);
5069 }
5070
5071 __extension__ static __inline uint8_t __attribute__ ((__always_inline__))
vget_lane_u8(uint8x8_t __a,const int __b)5072 vget_lane_u8 (uint8x8_t __a, const int __b)
5073 {
5074 return (uint8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 0);
5075 }
5076
5077 __extension__ static __inline uint16_t __attribute__ ((__always_inline__))
vget_lane_u16(uint16x4_t __a,const int __b)5078 vget_lane_u16 (uint16x4_t __a, const int __b)
5079 {
5080 return (uint16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 0);
5081 }
5082
5083 __extension__ static __inline uint32_t __attribute__ ((__always_inline__))
vget_lane_u32(uint32x2_t __a,const int __b)5084 vget_lane_u32 (uint32x2_t __a, const int __b)
5085 {
5086 return (uint32_t)__builtin_neon_vget_lanev2si ((int32x2_t) __a, __b, 0);
5087 }
5088
5089 __extension__ static __inline poly8_t __attribute__ ((__always_inline__))
vget_lane_p8(poly8x8_t __a,const int __b)5090 vget_lane_p8 (poly8x8_t __a, const int __b)
5091 {
5092 return (poly8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 2);
5093 }
5094
5095 __extension__ static __inline poly16_t __attribute__ ((__always_inline__))
vget_lane_p16(poly16x4_t __a,const int __b)5096 vget_lane_p16 (poly16x4_t __a, const int __b)
5097 {
5098 return (poly16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 2);
5099 }
5100
5101 __extension__ static __inline int64_t __attribute__ ((__always_inline__))
vget_lane_s64(int64x1_t __a,const int __b)5102 vget_lane_s64 (int64x1_t __a, const int __b)
5103 {
5104 return (int64_t)__builtin_neon_vget_lanedi (__a, __b, 1);
5105 }
5106
5107 __extension__ static __inline uint64_t __attribute__ ((__always_inline__))
vget_lane_u64(uint64x1_t __a,const int __b)5108 vget_lane_u64 (uint64x1_t __a, const int __b)
5109 {
5110 return (uint64_t)__builtin_neon_vget_lanedi ((int64x1_t) __a, __b, 0);
5111 }
5112
5113 __extension__ static __inline int8_t __attribute__ ((__always_inline__))
vgetq_lane_s8(int8x16_t __a,const int __b)5114 vgetq_lane_s8 (int8x16_t __a, const int __b)
5115 {
5116 return (int8_t)__builtin_neon_vget_lanev16qi (__a, __b, 1);
5117 }
5118
5119 __extension__ static __inline int16_t __attribute__ ((__always_inline__))
vgetq_lane_s16(int16x8_t __a,const int __b)5120 vgetq_lane_s16 (int16x8_t __a, const int __b)
5121 {
5122 return (int16_t)__builtin_neon_vget_lanev8hi (__a, __b, 1);
5123 }
5124
5125 __extension__ static __inline int32_t __attribute__ ((__always_inline__))
vgetq_lane_s32(int32x4_t __a,const int __b)5126 vgetq_lane_s32 (int32x4_t __a, const int __b)
5127 {
5128 return (int32_t)__builtin_neon_vget_lanev4si (__a, __b, 1);
5129 }
5130
5131 __extension__ static __inline float32_t __attribute__ ((__always_inline__))
vgetq_lane_f32(float32x4_t __a,const int __b)5132 vgetq_lane_f32 (float32x4_t __a, const int __b)
5133 {
5134 return (float32_t)__builtin_neon_vget_lanev4sf (__a, __b, 3);
5135 }
5136
5137 __extension__ static __inline uint8_t __attribute__ ((__always_inline__))
vgetq_lane_u8(uint8x16_t __a,const int __b)5138 vgetq_lane_u8 (uint8x16_t __a, const int __b)
5139 {
5140 return (uint8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 0);
5141 }
5142
5143 __extension__ static __inline uint16_t __attribute__ ((__always_inline__))
vgetq_lane_u16(uint16x8_t __a,const int __b)5144 vgetq_lane_u16 (uint16x8_t __a, const int __b)
5145 {
5146 return (uint16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 0);
5147 }
5148
5149 __extension__ static __inline uint32_t __attribute__ ((__always_inline__))
vgetq_lane_u32(uint32x4_t __a,const int __b)5150 vgetq_lane_u32 (uint32x4_t __a, const int __b)
5151 {
5152 return (uint32_t)__builtin_neon_vget_lanev4si ((int32x4_t) __a, __b, 0);
5153 }
5154
5155 __extension__ static __inline poly8_t __attribute__ ((__always_inline__))
vgetq_lane_p8(poly8x16_t __a,const int __b)5156 vgetq_lane_p8 (poly8x16_t __a, const int __b)
5157 {
5158 return (poly8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 2);
5159 }
5160
5161 __extension__ static __inline poly16_t __attribute__ ((__always_inline__))
vgetq_lane_p16(poly16x8_t __a,const int __b)5162 vgetq_lane_p16 (poly16x8_t __a, const int __b)
5163 {
5164 return (poly16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 2);
5165 }
5166
5167 __extension__ static __inline int64_t __attribute__ ((__always_inline__))
vgetq_lane_s64(int64x2_t __a,const int __b)5168 vgetq_lane_s64 (int64x2_t __a, const int __b)
5169 {
5170 return (int64_t)__builtin_neon_vget_lanev2di (__a, __b, 1);
5171 }
5172
5173 __extension__ static __inline uint64_t __attribute__ ((__always_inline__))
vgetq_lane_u64(uint64x2_t __a,const int __b)5174 vgetq_lane_u64 (uint64x2_t __a, const int __b)
5175 {
5176 return (uint64_t)__builtin_neon_vget_lanev2di ((int64x2_t) __a, __b, 0);
5177 }
5178
5179 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vset_lane_s8(int8_t __a,int8x8_t __b,const int __c)5180 vset_lane_s8 (int8_t __a, int8x8_t __b, const int __c)
5181 {
5182 return (int8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, __b, __c);
5183 }
5184
5185 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vset_lane_s16(int16_t __a,int16x4_t __b,const int __c)5186 vset_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
5187 {
5188 return (int16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, __b, __c);
5189 }
5190
5191 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vset_lane_s32(int32_t __a,int32x2_t __b,const int __c)5192 vset_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
5193 {
5194 return (int32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, __b, __c);
5195 }
5196
5197 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vset_lane_f32(float32_t __a,float32x2_t __b,const int __c)5198 vset_lane_f32 (float32_t __a, float32x2_t __b, const int __c)
5199 {
5200 return (float32x2_t)__builtin_neon_vset_lanev2sf ((__builtin_neon_sf) __a, __b, __c);
5201 }
5202
5203 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vset_lane_u8(uint8_t __a,uint8x8_t __b,const int __c)5204 vset_lane_u8 (uint8_t __a, uint8x8_t __b, const int __c)
5205 {
5206 return (uint8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
5207 }
5208
5209 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vset_lane_u16(uint16_t __a,uint16x4_t __b,const int __c)5210 vset_lane_u16 (uint16_t __a, uint16x4_t __b, const int __c)
5211 {
5212 return (uint16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
5213 }
5214
5215 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vset_lane_u32(uint32_t __a,uint32x2_t __b,const int __c)5216 vset_lane_u32 (uint32_t __a, uint32x2_t __b, const int __c)
5217 {
5218 return (uint32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, (int32x2_t) __b, __c);
5219 }
5220
5221 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vset_lane_p8(poly8_t __a,poly8x8_t __b,const int __c)5222 vset_lane_p8 (poly8_t __a, poly8x8_t __b, const int __c)
5223 {
5224 return (poly8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
5225 }
5226
5227 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vset_lane_p16(poly16_t __a,poly16x4_t __b,const int __c)5228 vset_lane_p16 (poly16_t __a, poly16x4_t __b, const int __c)
5229 {
5230 return (poly16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
5231 }
5232
5233 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vset_lane_s64(int64_t __a,int64x1_t __b,const int __c)5234 vset_lane_s64 (int64_t __a, int64x1_t __b, const int __c)
5235 {
5236 return (int64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, __b, __c);
5237 }
5238
5239 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vset_lane_u64(uint64_t __a,uint64x1_t __b,const int __c)5240 vset_lane_u64 (uint64_t __a, uint64x1_t __b, const int __c)
5241 {
5242 return (uint64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, (int64x1_t) __b, __c);
5243 }
5244
5245 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vsetq_lane_s8(int8_t __a,int8x16_t __b,const int __c)5246 vsetq_lane_s8 (int8_t __a, int8x16_t __b, const int __c)
5247 {
5248 return (int8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, __b, __c);
5249 }
5250
5251 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vsetq_lane_s16(int16_t __a,int16x8_t __b,const int __c)5252 vsetq_lane_s16 (int16_t __a, int16x8_t __b, const int __c)
5253 {
5254 return (int16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, __b, __c);
5255 }
5256
5257 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vsetq_lane_s32(int32_t __a,int32x4_t __b,const int __c)5258 vsetq_lane_s32 (int32_t __a, int32x4_t __b, const int __c)
5259 {
5260 return (int32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, __b, __c);
5261 }
5262
5263 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vsetq_lane_f32(float32_t __a,float32x4_t __b,const int __c)5264 vsetq_lane_f32 (float32_t __a, float32x4_t __b, const int __c)
5265 {
5266 return (float32x4_t)__builtin_neon_vset_lanev4sf ((__builtin_neon_sf) __a, __b, __c);
5267 }
5268
5269 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vsetq_lane_u8(uint8_t __a,uint8x16_t __b,const int __c)5270 vsetq_lane_u8 (uint8_t __a, uint8x16_t __b, const int __c)
5271 {
5272 return (uint8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
5273 }
5274
5275 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vsetq_lane_u16(uint16_t __a,uint16x8_t __b,const int __c)5276 vsetq_lane_u16 (uint16_t __a, uint16x8_t __b, const int __c)
5277 {
5278 return (uint16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
5279 }
5280
5281 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsetq_lane_u32(uint32_t __a,uint32x4_t __b,const int __c)5282 vsetq_lane_u32 (uint32_t __a, uint32x4_t __b, const int __c)
5283 {
5284 return (uint32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, (int32x4_t) __b, __c);
5285 }
5286
5287 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vsetq_lane_p8(poly8_t __a,poly8x16_t __b,const int __c)5288 vsetq_lane_p8 (poly8_t __a, poly8x16_t __b, const int __c)
5289 {
5290 return (poly8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
5291 }
5292
5293 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vsetq_lane_p16(poly16_t __a,poly16x8_t __b,const int __c)5294 vsetq_lane_p16 (poly16_t __a, poly16x8_t __b, const int __c)
5295 {
5296 return (poly16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
5297 }
5298
5299 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vsetq_lane_s64(int64_t __a,int64x2_t __b,const int __c)5300 vsetq_lane_s64 (int64_t __a, int64x2_t __b, const int __c)
5301 {
5302 return (int64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, __b, __c);
5303 }
5304
5305 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vsetq_lane_u64(uint64_t __a,uint64x2_t __b,const int __c)5306 vsetq_lane_u64 (uint64_t __a, uint64x2_t __b, const int __c)
5307 {
5308 return (uint64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, (int64x2_t) __b, __c);
5309 }
5310
5311 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vcreate_s8(uint64_t __a)5312 vcreate_s8 (uint64_t __a)
5313 {
5314 return (int8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5315 }
5316
5317 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vcreate_s16(uint64_t __a)5318 vcreate_s16 (uint64_t __a)
5319 {
5320 return (int16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5321 }
5322
5323 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vcreate_s32(uint64_t __a)5324 vcreate_s32 (uint64_t __a)
5325 {
5326 return (int32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
5327 }
5328
5329 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vcreate_s64(uint64_t __a)5330 vcreate_s64 (uint64_t __a)
5331 {
5332 return (int64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
5333 }
5334
5335 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vcreate_f32(uint64_t __a)5336 vcreate_f32 (uint64_t __a)
5337 {
5338 return (float32x2_t)__builtin_neon_vcreatev2sf ((__builtin_neon_di) __a);
5339 }
5340
5341 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vcreate_u8(uint64_t __a)5342 vcreate_u8 (uint64_t __a)
5343 {
5344 return (uint8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5345 }
5346
5347 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vcreate_u16(uint64_t __a)5348 vcreate_u16 (uint64_t __a)
5349 {
5350 return (uint16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5351 }
5352
5353 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcreate_u32(uint64_t __a)5354 vcreate_u32 (uint64_t __a)
5355 {
5356 return (uint32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
5357 }
5358
5359 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vcreate_u64(uint64_t __a)5360 vcreate_u64 (uint64_t __a)
5361 {
5362 return (uint64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
5363 }
5364
5365 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vcreate_p8(uint64_t __a)5366 vcreate_p8 (uint64_t __a)
5367 {
5368 return (poly8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5369 }
5370
5371 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vcreate_p16(uint64_t __a)5372 vcreate_p16 (uint64_t __a)
5373 {
5374 return (poly16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5375 }
5376
5377 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vdup_n_s8(int8_t __a)5378 vdup_n_s8 (int8_t __a)
5379 {
5380 return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5381 }
5382
5383 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vdup_n_s16(int16_t __a)5384 vdup_n_s16 (int16_t __a)
5385 {
5386 return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5387 }
5388
5389 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vdup_n_s32(int32_t __a)5390 vdup_n_s32 (int32_t __a)
5391 {
5392 return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5393 }
5394
5395 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vdup_n_f32(float32_t __a)5396 vdup_n_f32 (float32_t __a)
5397 {
5398 return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
5399 }
5400
5401 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vdup_n_u8(uint8_t __a)5402 vdup_n_u8 (uint8_t __a)
5403 {
5404 return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5405 }
5406
5407 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vdup_n_u16(uint16_t __a)5408 vdup_n_u16 (uint16_t __a)
5409 {
5410 return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5411 }
5412
5413 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vdup_n_u32(uint32_t __a)5414 vdup_n_u32 (uint32_t __a)
5415 {
5416 return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5417 }
5418
5419 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vdup_n_p8(poly8_t __a)5420 vdup_n_p8 (poly8_t __a)
5421 {
5422 return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5423 }
5424
5425 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vdup_n_p16(poly16_t __a)5426 vdup_n_p16 (poly16_t __a)
5427 {
5428 return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5429 }
5430
5431 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vdup_n_s64(int64_t __a)5432 vdup_n_s64 (int64_t __a)
5433 {
5434 return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5435 }
5436
5437 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vdup_n_u64(uint64_t __a)5438 vdup_n_u64 (uint64_t __a)
5439 {
5440 return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5441 }
5442
5443 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vdupq_n_s8(int8_t __a)5444 vdupq_n_s8 (int8_t __a)
5445 {
5446 return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5447 }
5448
5449 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vdupq_n_s16(int16_t __a)5450 vdupq_n_s16 (int16_t __a)
5451 {
5452 return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5453 }
5454
5455 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vdupq_n_s32(int32_t __a)5456 vdupq_n_s32 (int32_t __a)
5457 {
5458 return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5459 }
5460
5461 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vdupq_n_f32(float32_t __a)5462 vdupq_n_f32 (float32_t __a)
5463 {
5464 return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
5465 }
5466
5467 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vdupq_n_u8(uint8_t __a)5468 vdupq_n_u8 (uint8_t __a)
5469 {
5470 return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5471 }
5472
5473 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vdupq_n_u16(uint16_t __a)5474 vdupq_n_u16 (uint16_t __a)
5475 {
5476 return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5477 }
5478
5479 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vdupq_n_u32(uint32_t __a)5480 vdupq_n_u32 (uint32_t __a)
5481 {
5482 return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5483 }
5484
5485 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vdupq_n_p8(poly8_t __a)5486 vdupq_n_p8 (poly8_t __a)
5487 {
5488 return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5489 }
5490
5491 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vdupq_n_p16(poly16_t __a)5492 vdupq_n_p16 (poly16_t __a)
5493 {
5494 return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5495 }
5496
5497 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vdupq_n_s64(int64_t __a)5498 vdupq_n_s64 (int64_t __a)
5499 {
5500 return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5501 }
5502
5503 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vdupq_n_u64(uint64_t __a)5504 vdupq_n_u64 (uint64_t __a)
5505 {
5506 return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5507 }
5508
5509 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmov_n_s8(int8_t __a)5510 vmov_n_s8 (int8_t __a)
5511 {
5512 return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5513 }
5514
5515 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmov_n_s16(int16_t __a)5516 vmov_n_s16 (int16_t __a)
5517 {
5518 return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5519 }
5520
5521 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmov_n_s32(int32_t __a)5522 vmov_n_s32 (int32_t __a)
5523 {
5524 return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5525 }
5526
5527 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmov_n_f32(float32_t __a)5528 vmov_n_f32 (float32_t __a)
5529 {
5530 return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
5531 }
5532
5533 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmov_n_u8(uint8_t __a)5534 vmov_n_u8 (uint8_t __a)
5535 {
5536 return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5537 }
5538
5539 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmov_n_u16(uint16_t __a)5540 vmov_n_u16 (uint16_t __a)
5541 {
5542 return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5543 }
5544
5545 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmov_n_u32(uint32_t __a)5546 vmov_n_u32 (uint32_t __a)
5547 {
5548 return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5549 }
5550
5551 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vmov_n_p8(poly8_t __a)5552 vmov_n_p8 (poly8_t __a)
5553 {
5554 return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5555 }
5556
5557 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vmov_n_p16(poly16_t __a)5558 vmov_n_p16 (poly16_t __a)
5559 {
5560 return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5561 }
5562
5563 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vmov_n_s64(int64_t __a)5564 vmov_n_s64 (int64_t __a)
5565 {
5566 return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5567 }
5568
5569 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vmov_n_u64(uint64_t __a)5570 vmov_n_u64 (uint64_t __a)
5571 {
5572 return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5573 }
5574
5575 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vmovq_n_s8(int8_t __a)5576 vmovq_n_s8 (int8_t __a)
5577 {
5578 return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5579 }
5580
5581 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmovq_n_s16(int16_t __a)5582 vmovq_n_s16 (int16_t __a)
5583 {
5584 return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5585 }
5586
5587 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmovq_n_s32(int32_t __a)5588 vmovq_n_s32 (int32_t __a)
5589 {
5590 return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5591 }
5592
5593 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmovq_n_f32(float32_t __a)5594 vmovq_n_f32 (float32_t __a)
5595 {
5596 return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
5597 }
5598
5599 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vmovq_n_u8(uint8_t __a)5600 vmovq_n_u8 (uint8_t __a)
5601 {
5602 return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5603 }
5604
5605 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmovq_n_u16(uint16_t __a)5606 vmovq_n_u16 (uint16_t __a)
5607 {
5608 return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5609 }
5610
5611 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmovq_n_u32(uint32_t __a)5612 vmovq_n_u32 (uint32_t __a)
5613 {
5614 return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5615 }
5616
5617 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vmovq_n_p8(poly8_t __a)5618 vmovq_n_p8 (poly8_t __a)
5619 {
5620 return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5621 }
5622
5623 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vmovq_n_p16(poly16_t __a)5624 vmovq_n_p16 (poly16_t __a)
5625 {
5626 return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5627 }
5628
5629 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmovq_n_s64(int64_t __a)5630 vmovq_n_s64 (int64_t __a)
5631 {
5632 return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5633 }
5634
5635 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmovq_n_u64(uint64_t __a)5636 vmovq_n_u64 (uint64_t __a)
5637 {
5638 return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5639 }
5640
5641 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vdup_lane_s8(int8x8_t __a,const int __b)5642 vdup_lane_s8 (int8x8_t __a, const int __b)
5643 {
5644 return (int8x8_t)__builtin_neon_vdup_lanev8qi (__a, __b);
5645 }
5646
5647 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vdup_lane_s16(int16x4_t __a,const int __b)5648 vdup_lane_s16 (int16x4_t __a, const int __b)
5649 {
5650 return (int16x4_t)__builtin_neon_vdup_lanev4hi (__a, __b);
5651 }
5652
5653 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vdup_lane_s32(int32x2_t __a,const int __b)5654 vdup_lane_s32 (int32x2_t __a, const int __b)
5655 {
5656 return (int32x2_t)__builtin_neon_vdup_lanev2si (__a, __b);
5657 }
5658
5659 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vdup_lane_f32(float32x2_t __a,const int __b)5660 vdup_lane_f32 (float32x2_t __a, const int __b)
5661 {
5662 return (float32x2_t)__builtin_neon_vdup_lanev2sf (__a, __b);
5663 }
5664
5665 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vdup_lane_u8(uint8x8_t __a,const int __b)5666 vdup_lane_u8 (uint8x8_t __a, const int __b)
5667 {
5668 return (uint8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
5669 }
5670
5671 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vdup_lane_u16(uint16x4_t __a,const int __b)5672 vdup_lane_u16 (uint16x4_t __a, const int __b)
5673 {
5674 return (uint16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
5675 }
5676
5677 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vdup_lane_u32(uint32x2_t __a,const int __b)5678 vdup_lane_u32 (uint32x2_t __a, const int __b)
5679 {
5680 return (uint32x2_t)__builtin_neon_vdup_lanev2si ((int32x2_t) __a, __b);
5681 }
5682
5683 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vdup_lane_p8(poly8x8_t __a,const int __b)5684 vdup_lane_p8 (poly8x8_t __a, const int __b)
5685 {
5686 return (poly8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
5687 }
5688
5689 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vdup_lane_p16(poly16x4_t __a,const int __b)5690 vdup_lane_p16 (poly16x4_t __a, const int __b)
5691 {
5692 return (poly16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
5693 }
5694
5695 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vdup_lane_s64(int64x1_t __a,const int __b)5696 vdup_lane_s64 (int64x1_t __a, const int __b)
5697 {
5698 return (int64x1_t)__builtin_neon_vdup_lanedi (__a, __b);
5699 }
5700
5701 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vdup_lane_u64(uint64x1_t __a,const int __b)5702 vdup_lane_u64 (uint64x1_t __a, const int __b)
5703 {
5704 return (uint64x1_t)__builtin_neon_vdup_lanedi ((int64x1_t) __a, __b);
5705 }
5706
5707 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vdupq_lane_s8(int8x8_t __a,const int __b)5708 vdupq_lane_s8 (int8x8_t __a, const int __b)
5709 {
5710 return (int8x16_t)__builtin_neon_vdup_lanev16qi (__a, __b);
5711 }
5712
5713 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vdupq_lane_s16(int16x4_t __a,const int __b)5714 vdupq_lane_s16 (int16x4_t __a, const int __b)
5715 {
5716 return (int16x8_t)__builtin_neon_vdup_lanev8hi (__a, __b);
5717 }
5718
5719 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vdupq_lane_s32(int32x2_t __a,const int __b)5720 vdupq_lane_s32 (int32x2_t __a, const int __b)
5721 {
5722 return (int32x4_t)__builtin_neon_vdup_lanev4si (__a, __b);
5723 }
5724
5725 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vdupq_lane_f32(float32x2_t __a,const int __b)5726 vdupq_lane_f32 (float32x2_t __a, const int __b)
5727 {
5728 return (float32x4_t)__builtin_neon_vdup_lanev4sf (__a, __b);
5729 }
5730
5731 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vdupq_lane_u8(uint8x8_t __a,const int __b)5732 vdupq_lane_u8 (uint8x8_t __a, const int __b)
5733 {
5734 return (uint8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
5735 }
5736
5737 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vdupq_lane_u16(uint16x4_t __a,const int __b)5738 vdupq_lane_u16 (uint16x4_t __a, const int __b)
5739 {
5740 return (uint16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
5741 }
5742
5743 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vdupq_lane_u32(uint32x2_t __a,const int __b)5744 vdupq_lane_u32 (uint32x2_t __a, const int __b)
5745 {
5746 return (uint32x4_t)__builtin_neon_vdup_lanev4si ((int32x2_t) __a, __b);
5747 }
5748
5749 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vdupq_lane_p8(poly8x8_t __a,const int __b)5750 vdupq_lane_p8 (poly8x8_t __a, const int __b)
5751 {
5752 return (poly8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
5753 }
5754
5755 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vdupq_lane_p16(poly16x4_t __a,const int __b)5756 vdupq_lane_p16 (poly16x4_t __a, const int __b)
5757 {
5758 return (poly16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
5759 }
5760
5761 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vdupq_lane_s64(int64x1_t __a,const int __b)5762 vdupq_lane_s64 (int64x1_t __a, const int __b)
5763 {
5764 return (int64x2_t)__builtin_neon_vdup_lanev2di (__a, __b);
5765 }
5766
5767 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vdupq_lane_u64(uint64x1_t __a,const int __b)5768 vdupq_lane_u64 (uint64x1_t __a, const int __b)
5769 {
5770 return (uint64x2_t)__builtin_neon_vdup_lanev2di ((int64x1_t) __a, __b);
5771 }
5772
5773 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vcombine_s8(int8x8_t __a,int8x8_t __b)5774 vcombine_s8 (int8x8_t __a, int8x8_t __b)
5775 {
5776 return (int8x16_t)__builtin_neon_vcombinev8qi (__a, __b);
5777 }
5778
5779 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vcombine_s16(int16x4_t __a,int16x4_t __b)5780 vcombine_s16 (int16x4_t __a, int16x4_t __b)
5781 {
5782 return (int16x8_t)__builtin_neon_vcombinev4hi (__a, __b);
5783 }
5784
5785 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vcombine_s32(int32x2_t __a,int32x2_t __b)5786 vcombine_s32 (int32x2_t __a, int32x2_t __b)
5787 {
5788 return (int32x4_t)__builtin_neon_vcombinev2si (__a, __b);
5789 }
5790
5791 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vcombine_s64(int64x1_t __a,int64x1_t __b)5792 vcombine_s64 (int64x1_t __a, int64x1_t __b)
5793 {
5794 return (int64x2_t)__builtin_neon_vcombinedi (__a, __b);
5795 }
5796
5797 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vcombine_f32(float32x2_t __a,float32x2_t __b)5798 vcombine_f32 (float32x2_t __a, float32x2_t __b)
5799 {
5800 return (float32x4_t)__builtin_neon_vcombinev2sf (__a, __b);
5801 }
5802
5803 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vcombine_u8(uint8x8_t __a,uint8x8_t __b)5804 vcombine_u8 (uint8x8_t __a, uint8x8_t __b)
5805 {
5806 return (uint8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
5807 }
5808
5809 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vcombine_u16(uint16x4_t __a,uint16x4_t __b)5810 vcombine_u16 (uint16x4_t __a, uint16x4_t __b)
5811 {
5812 return (uint16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
5813 }
5814
5815 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcombine_u32(uint32x2_t __a,uint32x2_t __b)5816 vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
5817 {
5818 return (uint32x4_t)__builtin_neon_vcombinev2si ((int32x2_t) __a, (int32x2_t) __b);
5819 }
5820
5821 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vcombine_u64(uint64x1_t __a,uint64x1_t __b)5822 vcombine_u64 (uint64x1_t __a, uint64x1_t __b)
5823 {
5824 return (uint64x2_t)__builtin_neon_vcombinedi ((int64x1_t) __a, (int64x1_t) __b);
5825 }
5826
5827 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vcombine_p8(poly8x8_t __a,poly8x8_t __b)5828 vcombine_p8 (poly8x8_t __a, poly8x8_t __b)
5829 {
5830 return (poly8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
5831 }
5832
5833 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vcombine_p16(poly16x4_t __a,poly16x4_t __b)5834 vcombine_p16 (poly16x4_t __a, poly16x4_t __b)
5835 {
5836 return (poly16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
5837 }
5838
5839 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vget_high_s8(int8x16_t __a)5840 vget_high_s8 (int8x16_t __a)
5841 {
5842 return (int8x8_t)__builtin_neon_vget_highv16qi (__a);
5843 }
5844
5845 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vget_high_s16(int16x8_t __a)5846 vget_high_s16 (int16x8_t __a)
5847 {
5848 return (int16x4_t)__builtin_neon_vget_highv8hi (__a);
5849 }
5850
5851 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vget_high_s32(int32x4_t __a)5852 vget_high_s32 (int32x4_t __a)
5853 {
5854 return (int32x2_t)__builtin_neon_vget_highv4si (__a);
5855 }
5856
5857 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vget_high_s64(int64x2_t __a)5858 vget_high_s64 (int64x2_t __a)
5859 {
5860 return (int64x1_t)__builtin_neon_vget_highv2di (__a);
5861 }
5862
5863 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vget_high_f32(float32x4_t __a)5864 vget_high_f32 (float32x4_t __a)
5865 {
5866 return (float32x2_t)__builtin_neon_vget_highv4sf (__a);
5867 }
5868
5869 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vget_high_u8(uint8x16_t __a)5870 vget_high_u8 (uint8x16_t __a)
5871 {
5872 return (uint8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
5873 }
5874
5875 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vget_high_u16(uint16x8_t __a)5876 vget_high_u16 (uint16x8_t __a)
5877 {
5878 return (uint16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
5879 }
5880
5881 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vget_high_u32(uint32x4_t __a)5882 vget_high_u32 (uint32x4_t __a)
5883 {
5884 return (uint32x2_t)__builtin_neon_vget_highv4si ((int32x4_t) __a);
5885 }
5886
5887 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vget_high_u64(uint64x2_t __a)5888 vget_high_u64 (uint64x2_t __a)
5889 {
5890 return (uint64x1_t)__builtin_neon_vget_highv2di ((int64x2_t) __a);
5891 }
5892
5893 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vget_high_p8(poly8x16_t __a)5894 vget_high_p8 (poly8x16_t __a)
5895 {
5896 return (poly8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
5897 }
5898
5899 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vget_high_p16(poly16x8_t __a)5900 vget_high_p16 (poly16x8_t __a)
5901 {
5902 return (poly16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
5903 }
5904
5905 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vget_low_s8(int8x16_t __a)5906 vget_low_s8 (int8x16_t __a)
5907 {
5908 return (int8x8_t)__builtin_neon_vget_lowv16qi (__a);
5909 }
5910
5911 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vget_low_s16(int16x8_t __a)5912 vget_low_s16 (int16x8_t __a)
5913 {
5914 return (int16x4_t)__builtin_neon_vget_lowv8hi (__a);
5915 }
5916
5917 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vget_low_s32(int32x4_t __a)5918 vget_low_s32 (int32x4_t __a)
5919 {
5920 return (int32x2_t)__builtin_neon_vget_lowv4si (__a);
5921 }
5922
5923 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vget_low_f32(float32x4_t __a)5924 vget_low_f32 (float32x4_t __a)
5925 {
5926 return (float32x2_t)__builtin_neon_vget_lowv4sf (__a);
5927 }
5928
5929 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vget_low_u8(uint8x16_t __a)5930 vget_low_u8 (uint8x16_t __a)
5931 {
5932 return (uint8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
5933 }
5934
5935 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vget_low_u16(uint16x8_t __a)5936 vget_low_u16 (uint16x8_t __a)
5937 {
5938 return (uint16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
5939 }
5940
5941 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vget_low_u32(uint32x4_t __a)5942 vget_low_u32 (uint32x4_t __a)
5943 {
5944 return (uint32x2_t)__builtin_neon_vget_lowv4si ((int32x4_t) __a);
5945 }
5946
5947 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vget_low_p8(poly8x16_t __a)5948 vget_low_p8 (poly8x16_t __a)
5949 {
5950 return (poly8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
5951 }
5952
5953 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vget_low_p16(poly16x8_t __a)5954 vget_low_p16 (poly16x8_t __a)
5955 {
5956 return (poly16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
5957 }
5958
5959 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vget_low_s64(int64x2_t __a)5960 vget_low_s64 (int64x2_t __a)
5961 {
5962 return (int64x1_t)__builtin_neon_vget_lowv2di (__a);
5963 }
5964
5965 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vget_low_u64(uint64x2_t __a)5966 vget_low_u64 (uint64x2_t __a)
5967 {
5968 return (uint64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a);
5969 }
5970
5971 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vcvt_s32_f32(float32x2_t __a)5972 vcvt_s32_f32 (float32x2_t __a)
5973 {
5974 return (int32x2_t)__builtin_neon_vcvtv2sf (__a, 1);
5975 }
5976
5977 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vcvt_f32_s32(int32x2_t __a)5978 vcvt_f32_s32 (int32x2_t __a)
5979 {
5980 return (float32x2_t)__builtin_neon_vcvtv2si (__a, 1);
5981 }
5982
5983 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vcvt_f32_u32(uint32x2_t __a)5984 vcvt_f32_u32 (uint32x2_t __a)
5985 {
5986 return (float32x2_t)__builtin_neon_vcvtv2si ((int32x2_t) __a, 0);
5987 }
5988
5989 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcvt_u32_f32(float32x2_t __a)5990 vcvt_u32_f32 (float32x2_t __a)
5991 {
5992 return (uint32x2_t)__builtin_neon_vcvtv2sf (__a, 0);
5993 }
5994
5995 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vcvtq_s32_f32(float32x4_t __a)5996 vcvtq_s32_f32 (float32x4_t __a)
5997 {
5998 return (int32x4_t)__builtin_neon_vcvtv4sf (__a, 1);
5999 }
6000
6001 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vcvtq_f32_s32(int32x4_t __a)6002 vcvtq_f32_s32 (int32x4_t __a)
6003 {
6004 return (float32x4_t)__builtin_neon_vcvtv4si (__a, 1);
6005 }
6006
6007 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vcvtq_f32_u32(uint32x4_t __a)6008 vcvtq_f32_u32 (uint32x4_t __a)
6009 {
6010 return (float32x4_t)__builtin_neon_vcvtv4si ((int32x4_t) __a, 0);
6011 }
6012
6013 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcvtq_u32_f32(float32x4_t __a)6014 vcvtq_u32_f32 (float32x4_t __a)
6015 {
6016 return (uint32x4_t)__builtin_neon_vcvtv4sf (__a, 0);
6017 }
6018
6019 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vcvt_n_s32_f32(float32x2_t __a,const int __b)6020 vcvt_n_s32_f32 (float32x2_t __a, const int __b)
6021 {
6022 return (int32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 1);
6023 }
6024
6025 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vcvt_n_f32_s32(int32x2_t __a,const int __b)6026 vcvt_n_f32_s32 (int32x2_t __a, const int __b)
6027 {
6028 return (float32x2_t)__builtin_neon_vcvt_nv2si (__a, __b, 1);
6029 }
6030
6031 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vcvt_n_f32_u32(uint32x2_t __a,const int __b)6032 vcvt_n_f32_u32 (uint32x2_t __a, const int __b)
6033 {
6034 return (float32x2_t)__builtin_neon_vcvt_nv2si ((int32x2_t) __a, __b, 0);
6035 }
6036
6037 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vcvt_n_u32_f32(float32x2_t __a,const int __b)6038 vcvt_n_u32_f32 (float32x2_t __a, const int __b)
6039 {
6040 return (uint32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 0);
6041 }
6042
6043 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vcvtq_n_s32_f32(float32x4_t __a,const int __b)6044 vcvtq_n_s32_f32 (float32x4_t __a, const int __b)
6045 {
6046 return (int32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 1);
6047 }
6048
6049 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vcvtq_n_f32_s32(int32x4_t __a,const int __b)6050 vcvtq_n_f32_s32 (int32x4_t __a, const int __b)
6051 {
6052 return (float32x4_t)__builtin_neon_vcvt_nv4si (__a, __b, 1);
6053 }
6054
6055 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vcvtq_n_f32_u32(uint32x4_t __a,const int __b)6056 vcvtq_n_f32_u32 (uint32x4_t __a, const int __b)
6057 {
6058 return (float32x4_t)__builtin_neon_vcvt_nv4si ((int32x4_t) __a, __b, 0);
6059 }
6060
6061 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vcvtq_n_u32_f32(float32x4_t __a,const int __b)6062 vcvtq_n_u32_f32 (float32x4_t __a, const int __b)
6063 {
6064 return (uint32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 0);
6065 }
6066
6067 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vmovn_s16(int16x8_t __a)6068 vmovn_s16 (int16x8_t __a)
6069 {
6070 return (int8x8_t)__builtin_neon_vmovnv8hi (__a, 1);
6071 }
6072
6073 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmovn_s32(int32x4_t __a)6074 vmovn_s32 (int32x4_t __a)
6075 {
6076 return (int16x4_t)__builtin_neon_vmovnv4si (__a, 1);
6077 }
6078
6079 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmovn_s64(int64x2_t __a)6080 vmovn_s64 (int64x2_t __a)
6081 {
6082 return (int32x2_t)__builtin_neon_vmovnv2di (__a, 1);
6083 }
6084
6085 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vmovn_u16(uint16x8_t __a)6086 vmovn_u16 (uint16x8_t __a)
6087 {
6088 return (uint8x8_t)__builtin_neon_vmovnv8hi ((int16x8_t) __a, 0);
6089 }
6090
6091 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmovn_u32(uint32x4_t __a)6092 vmovn_u32 (uint32x4_t __a)
6093 {
6094 return (uint16x4_t)__builtin_neon_vmovnv4si ((int32x4_t) __a, 0);
6095 }
6096
6097 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmovn_u64(uint64x2_t __a)6098 vmovn_u64 (uint64x2_t __a)
6099 {
6100 return (uint32x2_t)__builtin_neon_vmovnv2di ((int64x2_t) __a, 0);
6101 }
6102
6103 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqmovn_s16(int16x8_t __a)6104 vqmovn_s16 (int16x8_t __a)
6105 {
6106 return (int8x8_t)__builtin_neon_vqmovnv8hi (__a, 1);
6107 }
6108
6109 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqmovn_s32(int32x4_t __a)6110 vqmovn_s32 (int32x4_t __a)
6111 {
6112 return (int16x4_t)__builtin_neon_vqmovnv4si (__a, 1);
6113 }
6114
6115 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqmovn_s64(int64x2_t __a)6116 vqmovn_s64 (int64x2_t __a)
6117 {
6118 return (int32x2_t)__builtin_neon_vqmovnv2di (__a, 1);
6119 }
6120
6121 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqmovn_u16(uint16x8_t __a)6122 vqmovn_u16 (uint16x8_t __a)
6123 {
6124 return (uint8x8_t)__builtin_neon_vqmovnv8hi ((int16x8_t) __a, 0);
6125 }
6126
6127 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqmovn_u32(uint32x4_t __a)6128 vqmovn_u32 (uint32x4_t __a)
6129 {
6130 return (uint16x4_t)__builtin_neon_vqmovnv4si ((int32x4_t) __a, 0);
6131 }
6132
6133 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqmovn_u64(uint64x2_t __a)6134 vqmovn_u64 (uint64x2_t __a)
6135 {
6136 return (uint32x2_t)__builtin_neon_vqmovnv2di ((int64x2_t) __a, 0);
6137 }
6138
6139 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vqmovun_s16(int16x8_t __a)6140 vqmovun_s16 (int16x8_t __a)
6141 {
6142 return (uint8x8_t)__builtin_neon_vqmovunv8hi (__a, 1);
6143 }
6144
6145 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vqmovun_s32(int32x4_t __a)6146 vqmovun_s32 (int32x4_t __a)
6147 {
6148 return (uint16x4_t)__builtin_neon_vqmovunv4si (__a, 1);
6149 }
6150
6151 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vqmovun_s64(int64x2_t __a)6152 vqmovun_s64 (int64x2_t __a)
6153 {
6154 return (uint32x2_t)__builtin_neon_vqmovunv2di (__a, 1);
6155 }
6156
6157 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmovl_s8(int8x8_t __a)6158 vmovl_s8 (int8x8_t __a)
6159 {
6160 return (int16x8_t)__builtin_neon_vmovlv8qi (__a, 1);
6161 }
6162
6163 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmovl_s16(int16x4_t __a)6164 vmovl_s16 (int16x4_t __a)
6165 {
6166 return (int32x4_t)__builtin_neon_vmovlv4hi (__a, 1);
6167 }
6168
6169 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmovl_s32(int32x2_t __a)6170 vmovl_s32 (int32x2_t __a)
6171 {
6172 return (int64x2_t)__builtin_neon_vmovlv2si (__a, 1);
6173 }
6174
6175 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmovl_u8(uint8x8_t __a)6176 vmovl_u8 (uint8x8_t __a)
6177 {
6178 return (uint16x8_t)__builtin_neon_vmovlv8qi ((int8x8_t) __a, 0);
6179 }
6180
6181 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmovl_u16(uint16x4_t __a)6182 vmovl_u16 (uint16x4_t __a)
6183 {
6184 return (uint32x4_t)__builtin_neon_vmovlv4hi ((int16x4_t) __a, 0);
6185 }
6186
6187 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmovl_u32(uint32x2_t __a)6188 vmovl_u32 (uint32x2_t __a)
6189 {
6190 return (uint64x2_t)__builtin_neon_vmovlv2si ((int32x2_t) __a, 0);
6191 }
6192
6193 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbl1_s8(int8x8_t __a,int8x8_t __b)6194 vtbl1_s8 (int8x8_t __a, int8x8_t __b)
6195 {
6196 return (int8x8_t)__builtin_neon_vtbl1v8qi (__a, __b);
6197 }
6198
6199 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbl1_u8(uint8x8_t __a,uint8x8_t __b)6200 vtbl1_u8 (uint8x8_t __a, uint8x8_t __b)
6201 {
6202 return (uint8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
6203 }
6204
6205 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbl1_p8(poly8x8_t __a,uint8x8_t __b)6206 vtbl1_p8 (poly8x8_t __a, uint8x8_t __b)
6207 {
6208 return (poly8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
6209 }
6210
6211 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbl2_s8(int8x8x2_t __a,int8x8_t __b)6212 vtbl2_s8 (int8x8x2_t __a, int8x8_t __b)
6213 {
6214 union { int8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6215 return (int8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, __b);
6216 }
6217
6218 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbl2_u8(uint8x8x2_t __a,uint8x8_t __b)6219 vtbl2_u8 (uint8x8x2_t __a, uint8x8_t __b)
6220 {
6221 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6222 return (uint8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
6223 }
6224
6225 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbl2_p8(poly8x8x2_t __a,uint8x8_t __b)6226 vtbl2_p8 (poly8x8x2_t __a, uint8x8_t __b)
6227 {
6228 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6229 return (poly8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
6230 }
6231
6232 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbl3_s8(int8x8x3_t __a,int8x8_t __b)6233 vtbl3_s8 (int8x8x3_t __a, int8x8_t __b)
6234 {
6235 union { int8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6236 return (int8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, __b);
6237 }
6238
6239 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbl3_u8(uint8x8x3_t __a,uint8x8_t __b)6240 vtbl3_u8 (uint8x8x3_t __a, uint8x8_t __b)
6241 {
6242 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6243 return (uint8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
6244 }
6245
6246 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbl3_p8(poly8x8x3_t __a,uint8x8_t __b)6247 vtbl3_p8 (poly8x8x3_t __a, uint8x8_t __b)
6248 {
6249 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6250 return (poly8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
6251 }
6252
6253 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbl4_s8(int8x8x4_t __a,int8x8_t __b)6254 vtbl4_s8 (int8x8x4_t __a, int8x8_t __b)
6255 {
6256 union { int8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6257 return (int8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, __b);
6258 }
6259
6260 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbl4_u8(uint8x8x4_t __a,uint8x8_t __b)6261 vtbl4_u8 (uint8x8x4_t __a, uint8x8_t __b)
6262 {
6263 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6264 return (uint8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
6265 }
6266
6267 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbl4_p8(poly8x8x4_t __a,uint8x8_t __b)6268 vtbl4_p8 (poly8x8x4_t __a, uint8x8_t __b)
6269 {
6270 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6271 return (poly8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
6272 }
6273
6274 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbx1_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)6275 vtbx1_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
6276 {
6277 return (int8x8_t)__builtin_neon_vtbx1v8qi (__a, __b, __c);
6278 }
6279
6280 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbx1_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)6281 vtbx1_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
6282 {
6283 return (uint8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
6284 }
6285
6286 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbx1_p8(poly8x8_t __a,poly8x8_t __b,uint8x8_t __c)6287 vtbx1_p8 (poly8x8_t __a, poly8x8_t __b, uint8x8_t __c)
6288 {
6289 return (poly8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
6290 }
6291
6292 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbx2_s8(int8x8_t __a,int8x8x2_t __b,int8x8_t __c)6293 vtbx2_s8 (int8x8_t __a, int8x8x2_t __b, int8x8_t __c)
6294 {
6295 union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6296 return (int8x8_t)__builtin_neon_vtbx2v8qi (__a, __bu.__o, __c);
6297 }
6298
6299 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbx2_u8(uint8x8_t __a,uint8x8x2_t __b,uint8x8_t __c)6300 vtbx2_u8 (uint8x8_t __a, uint8x8x2_t __b, uint8x8_t __c)
6301 {
6302 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6303 return (uint8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6304 }
6305
6306 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbx2_p8(poly8x8_t __a,poly8x8x2_t __b,uint8x8_t __c)6307 vtbx2_p8 (poly8x8_t __a, poly8x8x2_t __b, uint8x8_t __c)
6308 {
6309 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6310 return (poly8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6311 }
6312
6313 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbx3_s8(int8x8_t __a,int8x8x3_t __b,int8x8_t __c)6314 vtbx3_s8 (int8x8_t __a, int8x8x3_t __b, int8x8_t __c)
6315 {
6316 union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6317 return (int8x8_t)__builtin_neon_vtbx3v8qi (__a, __bu.__o, __c);
6318 }
6319
6320 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbx3_u8(uint8x8_t __a,uint8x8x3_t __b,uint8x8_t __c)6321 vtbx3_u8 (uint8x8_t __a, uint8x8x3_t __b, uint8x8_t __c)
6322 {
6323 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6324 return (uint8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6325 }
6326
6327 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbx3_p8(poly8x8_t __a,poly8x8x3_t __b,uint8x8_t __c)6328 vtbx3_p8 (poly8x8_t __a, poly8x8x3_t __b, uint8x8_t __c)
6329 {
6330 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6331 return (poly8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6332 }
6333
6334 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vtbx4_s8(int8x8_t __a,int8x8x4_t __b,int8x8_t __c)6335 vtbx4_s8 (int8x8_t __a, int8x8x4_t __b, int8x8_t __c)
6336 {
6337 union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6338 return (int8x8_t)__builtin_neon_vtbx4v8qi (__a, __bu.__o, __c);
6339 }
6340
6341 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vtbx4_u8(uint8x8_t __a,uint8x8x4_t __b,uint8x8_t __c)6342 vtbx4_u8 (uint8x8_t __a, uint8x8x4_t __b, uint8x8_t __c)
6343 {
6344 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6345 return (uint8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6346 }
6347
6348 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vtbx4_p8(poly8x8_t __a,poly8x8x4_t __b,uint8x8_t __c)6349 vtbx4_p8 (poly8x8_t __a, poly8x8x4_t __b, uint8x8_t __c)
6350 {
6351 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6352 return (poly8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6353 }
6354
6355 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmul_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)6356 vmul_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6357 {
6358 return (int16x4_t)__builtin_neon_vmul_lanev4hi (__a, __b, __c, 1);
6359 }
6360
6361 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmul_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)6362 vmul_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6363 {
6364 return (int32x2_t)__builtin_neon_vmul_lanev2si (__a, __b, __c, 1);
6365 }
6366
6367 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmul_lane_f32(float32x2_t __a,float32x2_t __b,const int __c)6368 vmul_lane_f32 (float32x2_t __a, float32x2_t __b, const int __c)
6369 {
6370 return (float32x2_t)__builtin_neon_vmul_lanev2sf (__a, __b, __c, 3);
6371 }
6372
6373 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmul_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __c)6374 vmul_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
6375 {
6376 return (uint16x4_t)__builtin_neon_vmul_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
6377 }
6378
6379 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmul_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __c)6380 vmul_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
6381 {
6382 return (uint32x2_t)__builtin_neon_vmul_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
6383 }
6384
6385 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmulq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)6386 vmulq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6387 {
6388 return (int16x8_t)__builtin_neon_vmul_lanev8hi (__a, __b, __c, 1);
6389 }
6390
6391 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmulq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)6392 vmulq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6393 {
6394 return (int32x4_t)__builtin_neon_vmul_lanev4si (__a, __b, __c, 1);
6395 }
6396
6397 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmulq_lane_f32(float32x4_t __a,float32x2_t __b,const int __c)6398 vmulq_lane_f32 (float32x4_t __a, float32x2_t __b, const int __c)
6399 {
6400 return (float32x4_t)__builtin_neon_vmul_lanev4sf (__a, __b, __c, 3);
6401 }
6402
6403 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmulq_lane_u16(uint16x8_t __a,uint16x4_t __b,const int __c)6404 vmulq_lane_u16 (uint16x8_t __a, uint16x4_t __b, const int __c)
6405 {
6406 return (uint16x8_t)__builtin_neon_vmul_lanev8hi ((int16x8_t) __a, (int16x4_t) __b, __c, 0);
6407 }
6408
6409 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmulq_lane_u32(uint32x4_t __a,uint32x2_t __b,const int __c)6410 vmulq_lane_u32 (uint32x4_t __a, uint32x2_t __b, const int __c)
6411 {
6412 return (uint32x4_t)__builtin_neon_vmul_lanev4si ((int32x4_t) __a, (int32x2_t) __b, __c, 0);
6413 }
6414
6415 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmla_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)6416 vmla_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6417 {
6418 return (int16x4_t)__builtin_neon_vmla_lanev4hi (__a, __b, __c, __d, 1);
6419 }
6420
6421 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmla_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)6422 vmla_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6423 {
6424 return (int32x2_t)__builtin_neon_vmla_lanev2si (__a, __b, __c, __d, 1);
6425 }
6426
6427 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmla_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __d)6428 vmla_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
6429 {
6430 return (float32x2_t)__builtin_neon_vmla_lanev2sf (__a, __b, __c, __d, 3);
6431 }
6432
6433 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmla_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)6434 vmla_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6435 {
6436 return (uint16x4_t)__builtin_neon_vmla_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6437 }
6438
6439 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmla_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)6440 vmla_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6441 {
6442 return (uint32x2_t)__builtin_neon_vmla_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6443 }
6444
6445 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlaq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)6446 vmlaq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
6447 {
6448 return (int16x8_t)__builtin_neon_vmla_lanev8hi (__a, __b, __c, __d, 1);
6449 }
6450
6451 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlaq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)6452 vmlaq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
6453 {
6454 return (int32x4_t)__builtin_neon_vmla_lanev4si (__a, __b, __c, __d, 1);
6455 }
6456
6457 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmlaq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __d)6458 vmlaq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
6459 {
6460 return (float32x4_t)__builtin_neon_vmla_lanev4sf (__a, __b, __c, __d, 3);
6461 }
6462
6463 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlaq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __d)6464 vmlaq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
6465 {
6466 return (uint16x8_t)__builtin_neon_vmla_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0);
6467 }
6468
6469 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlaq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __d)6470 vmlaq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
6471 {
6472 return (uint32x4_t)__builtin_neon_vmla_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0);
6473 }
6474
6475 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlal_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)6476 vmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6477 {
6478 return (int32x4_t)__builtin_neon_vmlal_lanev4hi (__a, __b, __c, __d, 1);
6479 }
6480
6481 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmlal_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)6482 vmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6483 {
6484 return (int64x2_t)__builtin_neon_vmlal_lanev2si (__a, __b, __c, __d, 1);
6485 }
6486
6487 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlal_lane_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)6488 vmlal_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6489 {
6490 return (uint32x4_t)__builtin_neon_vmlal_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6491 }
6492
6493 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmlal_lane_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)6494 vmlal_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6495 {
6496 return (uint64x2_t)__builtin_neon_vmlal_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6497 }
6498
6499 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmlal_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)6500 vqdmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6501 {
6502 return (int32x4_t)__builtin_neon_vqdmlal_lanev4hi (__a, __b, __c, __d, 1);
6503 }
6504
6505 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmlal_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)6506 vqdmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6507 {
6508 return (int64x2_t)__builtin_neon_vqdmlal_lanev2si (__a, __b, __c, __d, 1);
6509 }
6510
6511 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmls_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)6512 vmls_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6513 {
6514 return (int16x4_t)__builtin_neon_vmls_lanev4hi (__a, __b, __c, __d, 1);
6515 }
6516
6517 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmls_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)6518 vmls_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6519 {
6520 return (int32x2_t)__builtin_neon_vmls_lanev2si (__a, __b, __c, __d, 1);
6521 }
6522
6523 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmls_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __d)6524 vmls_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
6525 {
6526 return (float32x2_t)__builtin_neon_vmls_lanev2sf (__a, __b, __c, __d, 3);
6527 }
6528
6529 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmls_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)6530 vmls_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6531 {
6532 return (uint16x4_t)__builtin_neon_vmls_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6533 }
6534
6535 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmls_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)6536 vmls_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6537 {
6538 return (uint32x2_t)__builtin_neon_vmls_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6539 }
6540
6541 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlsq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)6542 vmlsq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
6543 {
6544 return (int16x8_t)__builtin_neon_vmls_lanev8hi (__a, __b, __c, __d, 1);
6545 }
6546
6547 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlsq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)6548 vmlsq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
6549 {
6550 return (int32x4_t)__builtin_neon_vmls_lanev4si (__a, __b, __c, __d, 1);
6551 }
6552
6553 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmlsq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __d)6554 vmlsq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
6555 {
6556 return (float32x4_t)__builtin_neon_vmls_lanev4sf (__a, __b, __c, __d, 3);
6557 }
6558
6559 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlsq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __d)6560 vmlsq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
6561 {
6562 return (uint16x8_t)__builtin_neon_vmls_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0);
6563 }
6564
6565 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlsq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __d)6566 vmlsq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
6567 {
6568 return (uint32x4_t)__builtin_neon_vmls_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0);
6569 }
6570
6571 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlsl_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)6572 vmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6573 {
6574 return (int32x4_t)__builtin_neon_vmlsl_lanev4hi (__a, __b, __c, __d, 1);
6575 }
6576
6577 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmlsl_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)6578 vmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6579 {
6580 return (int64x2_t)__builtin_neon_vmlsl_lanev2si (__a, __b, __c, __d, 1);
6581 }
6582
6583 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlsl_lane_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __d)6584 vmlsl_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6585 {
6586 return (uint32x4_t)__builtin_neon_vmlsl_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6587 }
6588
6589 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmlsl_lane_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __d)6590 vmlsl_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6591 {
6592 return (uint64x2_t)__builtin_neon_vmlsl_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6593 }
6594
6595 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmlsl_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)6596 vqdmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6597 {
6598 return (int32x4_t)__builtin_neon_vqdmlsl_lanev4hi (__a, __b, __c, __d, 1);
6599 }
6600
6601 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmlsl_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)6602 vqdmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6603 {
6604 return (int64x2_t)__builtin_neon_vqdmlsl_lanev2si (__a, __b, __c, __d, 1);
6605 }
6606
6607 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmull_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)6608 vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6609 {
6610 return (int32x4_t)__builtin_neon_vmull_lanev4hi (__a, __b, __c, 1);
6611 }
6612
6613 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmull_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)6614 vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6615 {
6616 return (int64x2_t)__builtin_neon_vmull_lanev2si (__a, __b, __c, 1);
6617 }
6618
6619 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmull_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __c)6620 vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
6621 {
6622 return (uint32x4_t)__builtin_neon_vmull_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
6623 }
6624
6625 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmull_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __c)6626 vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
6627 {
6628 return (uint64x2_t)__builtin_neon_vmull_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
6629 }
6630
6631 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmull_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)6632 vqdmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6633 {
6634 return (int32x4_t)__builtin_neon_vqdmull_lanev4hi (__a, __b, __c, 1);
6635 }
6636
6637 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmull_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)6638 vqdmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6639 {
6640 return (int64x2_t)__builtin_neon_vqdmull_lanev2si (__a, __b, __c, 1);
6641 }
6642
6643 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)6644 vqdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6645 {
6646 return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 1);
6647 }
6648
6649 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)6650 vqdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6651 {
6652 return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 1);
6653 }
6654
6655 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)6656 vqdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6657 {
6658 return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 1);
6659 }
6660
6661 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)6662 vqdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6663 {
6664 return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 1);
6665 }
6666
6667 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqrdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)6668 vqrdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6669 {
6670 return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 5);
6671 }
6672
6673 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqrdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)6674 vqrdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6675 {
6676 return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 5);
6677 }
6678
6679 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqrdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)6680 vqrdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6681 {
6682 return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 5);
6683 }
6684
6685 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqrdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)6686 vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6687 {
6688 return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 5);
6689 }
6690
6691 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmul_n_s16(int16x4_t __a,int16_t __b)6692 vmul_n_s16 (int16x4_t __a, int16_t __b)
6693 {
6694 return (int16x4_t)__builtin_neon_vmul_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6695 }
6696
6697 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmul_n_s32(int32x2_t __a,int32_t __b)6698 vmul_n_s32 (int32x2_t __a, int32_t __b)
6699 {
6700 return (int32x2_t)__builtin_neon_vmul_nv2si (__a, (__builtin_neon_si) __b, 1);
6701 }
6702
6703 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmul_n_f32(float32x2_t __a,float32_t __b)6704 vmul_n_f32 (float32x2_t __a, float32_t __b)
6705 {
6706 return (float32x2_t)__builtin_neon_vmul_nv2sf (__a, (__builtin_neon_sf) __b, 3);
6707 }
6708
6709 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmul_n_u16(uint16x4_t __a,uint16_t __b)6710 vmul_n_u16 (uint16x4_t __a, uint16_t __b)
6711 {
6712 return (uint16x4_t)__builtin_neon_vmul_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0);
6713 }
6714
6715 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmul_n_u32(uint32x2_t __a,uint32_t __b)6716 vmul_n_u32 (uint32x2_t __a, uint32_t __b)
6717 {
6718 return (uint32x2_t)__builtin_neon_vmul_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0);
6719 }
6720
6721 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmulq_n_s16(int16x8_t __a,int16_t __b)6722 vmulq_n_s16 (int16x8_t __a, int16_t __b)
6723 {
6724 return (int16x8_t)__builtin_neon_vmul_nv8hi (__a, (__builtin_neon_hi) __b, 1);
6725 }
6726
6727 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmulq_n_s32(int32x4_t __a,int32_t __b)6728 vmulq_n_s32 (int32x4_t __a, int32_t __b)
6729 {
6730 return (int32x4_t)__builtin_neon_vmul_nv4si (__a, (__builtin_neon_si) __b, 1);
6731 }
6732
6733 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmulq_n_f32(float32x4_t __a,float32_t __b)6734 vmulq_n_f32 (float32x4_t __a, float32_t __b)
6735 {
6736 return (float32x4_t)__builtin_neon_vmul_nv4sf (__a, (__builtin_neon_sf) __b, 3);
6737 }
6738
6739 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmulq_n_u16(uint16x8_t __a,uint16_t __b)6740 vmulq_n_u16 (uint16x8_t __a, uint16_t __b)
6741 {
6742 return (uint16x8_t)__builtin_neon_vmul_nv8hi ((int16x8_t) __a, (__builtin_neon_hi) __b, 0);
6743 }
6744
6745 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmulq_n_u32(uint32x4_t __a,uint32_t __b)6746 vmulq_n_u32 (uint32x4_t __a, uint32_t __b)
6747 {
6748 return (uint32x4_t)__builtin_neon_vmul_nv4si ((int32x4_t) __a, (__builtin_neon_si) __b, 0);
6749 }
6750
6751 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmull_n_s16(int16x4_t __a,int16_t __b)6752 vmull_n_s16 (int16x4_t __a, int16_t __b)
6753 {
6754 return (int32x4_t)__builtin_neon_vmull_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6755 }
6756
6757 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmull_n_s32(int32x2_t __a,int32_t __b)6758 vmull_n_s32 (int32x2_t __a, int32_t __b)
6759 {
6760 return (int64x2_t)__builtin_neon_vmull_nv2si (__a, (__builtin_neon_si) __b, 1);
6761 }
6762
6763 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmull_n_u16(uint16x4_t __a,uint16_t __b)6764 vmull_n_u16 (uint16x4_t __a, uint16_t __b)
6765 {
6766 return (uint32x4_t)__builtin_neon_vmull_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0);
6767 }
6768
6769 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmull_n_u32(uint32x2_t __a,uint32_t __b)6770 vmull_n_u32 (uint32x2_t __a, uint32_t __b)
6771 {
6772 return (uint64x2_t)__builtin_neon_vmull_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0);
6773 }
6774
6775 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmull_n_s16(int16x4_t __a,int16_t __b)6776 vqdmull_n_s16 (int16x4_t __a, int16_t __b)
6777 {
6778 return (int32x4_t)__builtin_neon_vqdmull_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6779 }
6780
6781 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmull_n_s32(int32x2_t __a,int32_t __b)6782 vqdmull_n_s32 (int32x2_t __a, int32_t __b)
6783 {
6784 return (int64x2_t)__builtin_neon_vqdmull_nv2si (__a, (__builtin_neon_si) __b, 1);
6785 }
6786
6787 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqdmulhq_n_s16(int16x8_t __a,int16_t __b)6788 vqdmulhq_n_s16 (int16x8_t __a, int16_t __b)
6789 {
6790 return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 1);
6791 }
6792
6793 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmulhq_n_s32(int32x4_t __a,int32_t __b)6794 vqdmulhq_n_s32 (int32x4_t __a, int32_t __b)
6795 {
6796 return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 1);
6797 }
6798
6799 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqdmulh_n_s16(int16x4_t __a,int16_t __b)6800 vqdmulh_n_s16 (int16x4_t __a, int16_t __b)
6801 {
6802 return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6803 }
6804
6805 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqdmulh_n_s32(int32x2_t __a,int32_t __b)6806 vqdmulh_n_s32 (int32x2_t __a, int32_t __b)
6807 {
6808 return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 1);
6809 }
6810
6811 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vqrdmulhq_n_s16(int16x8_t __a,int16_t __b)6812 vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b)
6813 {
6814 return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 5);
6815 }
6816
6817 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqrdmulhq_n_s32(int32x4_t __a,int32_t __b)6818 vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b)
6819 {
6820 return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 5);
6821 }
6822
6823 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vqrdmulh_n_s16(int16x4_t __a,int16_t __b)6824 vqrdmulh_n_s16 (int16x4_t __a, int16_t __b)
6825 {
6826 return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 5);
6827 }
6828
6829 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vqrdmulh_n_s32(int32x2_t __a,int32_t __b)6830 vqrdmulh_n_s32 (int32x2_t __a, int32_t __b)
6831 {
6832 return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 5);
6833 }
6834
6835 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmla_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)6836 vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
6837 {
6838 return (int16x4_t)__builtin_neon_vmla_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6839 }
6840
6841 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmla_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)6842 vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
6843 {
6844 return (int32x2_t)__builtin_neon_vmla_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6845 }
6846
6847 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmla_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)6848 vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
6849 {
6850 return (float32x2_t)__builtin_neon_vmla_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3);
6851 }
6852
6853 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmla_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)6854 vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
6855 {
6856 return (uint16x4_t)__builtin_neon_vmla_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
6857 }
6858
6859 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmla_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)6860 vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
6861 {
6862 return (uint32x2_t)__builtin_neon_vmla_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
6863 }
6864
6865 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlaq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)6866 vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
6867 {
6868 return (int16x8_t)__builtin_neon_vmla_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1);
6869 }
6870
6871 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlaq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)6872 vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
6873 {
6874 return (int32x4_t)__builtin_neon_vmla_nv4si (__a, __b, (__builtin_neon_si) __c, 1);
6875 }
6876
6877 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmlaq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)6878 vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
6879 {
6880 return (float32x4_t)__builtin_neon_vmla_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3);
6881 }
6882
6883 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlaq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)6884 vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
6885 {
6886 return (uint16x8_t)__builtin_neon_vmla_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0);
6887 }
6888
6889 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlaq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)6890 vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
6891 {
6892 return (uint32x4_t)__builtin_neon_vmla_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0);
6893 }
6894
6895 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)6896 vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
6897 {
6898 return (int32x4_t)__builtin_neon_vmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6899 }
6900
6901 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)6902 vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
6903 {
6904 return (int64x2_t)__builtin_neon_vmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6905 }
6906
6907 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlal_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)6908 vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
6909 {
6910 return (uint32x4_t)__builtin_neon_vmlal_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
6911 }
6912
6913 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmlal_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)6914 vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
6915 {
6916 return (uint64x2_t)__builtin_neon_vmlal_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
6917 }
6918
6919 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)6920 vqdmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
6921 {
6922 return (int32x4_t)__builtin_neon_vqdmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6923 }
6924
6925 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)6926 vqdmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
6927 {
6928 return (int64x2_t)__builtin_neon_vqdmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6929 }
6930
6931 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vmls_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)6932 vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
6933 {
6934 return (int16x4_t)__builtin_neon_vmls_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6935 }
6936
6937 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vmls_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)6938 vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
6939 {
6940 return (int32x2_t)__builtin_neon_vmls_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6941 }
6942
6943 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vmls_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)6944 vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
6945 {
6946 return (float32x2_t)__builtin_neon_vmls_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3);
6947 }
6948
6949 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vmls_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)6950 vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
6951 {
6952 return (uint16x4_t)__builtin_neon_vmls_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
6953 }
6954
6955 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vmls_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)6956 vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
6957 {
6958 return (uint32x2_t)__builtin_neon_vmls_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
6959 }
6960
6961 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vmlsq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)6962 vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
6963 {
6964 return (int16x8_t)__builtin_neon_vmls_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1);
6965 }
6966
6967 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlsq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)6968 vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
6969 {
6970 return (int32x4_t)__builtin_neon_vmls_nv4si (__a, __b, (__builtin_neon_si) __c, 1);
6971 }
6972
6973 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmlsq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)6974 vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
6975 {
6976 return (float32x4_t)__builtin_neon_vmls_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3);
6977 }
6978
6979 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vmlsq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)6980 vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
6981 {
6982 return (uint16x8_t)__builtin_neon_vmls_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0);
6983 }
6984
6985 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlsq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)6986 vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
6987 {
6988 return (uint32x4_t)__builtin_neon_vmls_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0);
6989 }
6990
6991 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)6992 vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
6993 {
6994 return (int32x4_t)__builtin_neon_vmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6995 }
6996
6997 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)6998 vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
6999 {
7000 return (int64x2_t)__builtin_neon_vmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7001 }
7002
7003 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vmlsl_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)7004 vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
7005 {
7006 return (uint32x4_t)__builtin_neon_vmlsl_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
7007 }
7008
7009 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vmlsl_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)7010 vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
7011 {
7012 return (uint64x2_t)__builtin_neon_vmlsl_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
7013 }
7014
7015 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vqdmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)7016 vqdmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7017 {
7018 return (int32x4_t)__builtin_neon_vqdmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
7019 }
7020
7021 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vqdmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)7022 vqdmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7023 {
7024 return (int64x2_t)__builtin_neon_vqdmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
7025 }
7026
7027 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vext_s8(int8x8_t __a,int8x8_t __b,const int __c)7028 vext_s8 (int8x8_t __a, int8x8_t __b, const int __c)
7029 {
7030 return (int8x8_t)__builtin_neon_vextv8qi (__a, __b, __c);
7031 }
7032
7033 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vext_s16(int16x4_t __a,int16x4_t __b,const int __c)7034 vext_s16 (int16x4_t __a, int16x4_t __b, const int __c)
7035 {
7036 return (int16x4_t)__builtin_neon_vextv4hi (__a, __b, __c);
7037 }
7038
7039 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vext_s32(int32x2_t __a,int32x2_t __b,const int __c)7040 vext_s32 (int32x2_t __a, int32x2_t __b, const int __c)
7041 {
7042 return (int32x2_t)__builtin_neon_vextv2si (__a, __b, __c);
7043 }
7044
7045 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vext_s64(int64x1_t __a,int64x1_t __b,const int __c)7046 vext_s64 (int64x1_t __a, int64x1_t __b, const int __c)
7047 {
7048 return (int64x1_t)__builtin_neon_vextdi (__a, __b, __c);
7049 }
7050
7051 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vext_f32(float32x2_t __a,float32x2_t __b,const int __c)7052 vext_f32 (float32x2_t __a, float32x2_t __b, const int __c)
7053 {
7054 return (float32x2_t)__builtin_neon_vextv2sf (__a, __b, __c);
7055 }
7056
7057 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vext_u8(uint8x8_t __a,uint8x8_t __b,const int __c)7058 vext_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
7059 {
7060 return (uint8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
7061 }
7062
7063 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vext_u16(uint16x4_t __a,uint16x4_t __b,const int __c)7064 vext_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
7065 {
7066 return (uint16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
7067 }
7068
7069 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vext_u32(uint32x2_t __a,uint32x2_t __b,const int __c)7070 vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
7071 {
7072 return (uint32x2_t)__builtin_neon_vextv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
7073 }
7074
7075 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vext_u64(uint64x1_t __a,uint64x1_t __b,const int __c)7076 vext_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
7077 {
7078 return (uint64x1_t)__builtin_neon_vextdi ((int64x1_t) __a, (int64x1_t) __b, __c);
7079 }
7080
7081 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vext_p8(poly8x8_t __a,poly8x8_t __b,const int __c)7082 vext_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
7083 {
7084 return (poly8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
7085 }
7086
7087 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vext_p16(poly16x4_t __a,poly16x4_t __b,const int __c)7088 vext_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
7089 {
7090 return (poly16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
7091 }
7092
7093 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vextq_s8(int8x16_t __a,int8x16_t __b,const int __c)7094 vextq_s8 (int8x16_t __a, int8x16_t __b, const int __c)
7095 {
7096 return (int8x16_t)__builtin_neon_vextv16qi (__a, __b, __c);
7097 }
7098
7099 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vextq_s16(int16x8_t __a,int16x8_t __b,const int __c)7100 vextq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
7101 {
7102 return (int16x8_t)__builtin_neon_vextv8hi (__a, __b, __c);
7103 }
7104
7105 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vextq_s32(int32x4_t __a,int32x4_t __b,const int __c)7106 vextq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
7107 {
7108 return (int32x4_t)__builtin_neon_vextv4si (__a, __b, __c);
7109 }
7110
7111 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vextq_s64(int64x2_t __a,int64x2_t __b,const int __c)7112 vextq_s64 (int64x2_t __a, int64x2_t __b, const int __c)
7113 {
7114 return (int64x2_t)__builtin_neon_vextv2di (__a, __b, __c);
7115 }
7116
7117 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vextq_f32(float32x4_t __a,float32x4_t __b,const int __c)7118 vextq_f32 (float32x4_t __a, float32x4_t __b, const int __c)
7119 {
7120 return (float32x4_t)__builtin_neon_vextv4sf (__a, __b, __c);
7121 }
7122
7123 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vextq_u8(uint8x16_t __a,uint8x16_t __b,const int __c)7124 vextq_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
7125 {
7126 return (uint8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
7127 }
7128
7129 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vextq_u16(uint16x8_t __a,uint16x8_t __b,const int __c)7130 vextq_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
7131 {
7132 return (uint16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
7133 }
7134
7135 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vextq_u32(uint32x4_t __a,uint32x4_t __b,const int __c)7136 vextq_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
7137 {
7138 return (uint32x4_t)__builtin_neon_vextv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
7139 }
7140
7141 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vextq_u64(uint64x2_t __a,uint64x2_t __b,const int __c)7142 vextq_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
7143 {
7144 return (uint64x2_t)__builtin_neon_vextv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
7145 }
7146
7147 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vextq_p8(poly8x16_t __a,poly8x16_t __b,const int __c)7148 vextq_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
7149 {
7150 return (poly8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
7151 }
7152
7153 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vextq_p16(poly16x8_t __a,poly16x8_t __b,const int __c)7154 vextq_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
7155 {
7156 return (poly16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
7157 }
7158
7159 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrev64_s8(int8x8_t __a)7160 vrev64_s8 (int8x8_t __a)
7161 {
7162 return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
7163 }
7164
7165 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrev64_s16(int16x4_t __a)7166 vrev64_s16 (int16x4_t __a)
7167 {
7168 return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
7169 }
7170
7171 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vrev64_s32(int32x2_t __a)7172 vrev64_s32 (int32x2_t __a)
7173 {
7174 return (int32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
7175 }
7176
7177 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vrev64_f32(float32x2_t __a)7178 vrev64_f32 (float32x2_t __a)
7179 {
7180 return (float32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
7181 }
7182
7183 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrev64_u8(uint8x8_t __a)7184 vrev64_u8 (uint8x8_t __a)
7185 {
7186 return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
7187 }
7188
7189 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrev64_u16(uint16x4_t __a)7190 vrev64_u16 (uint16x4_t __a)
7191 {
7192 return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
7193 }
7194
7195 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vrev64_u32(uint32x2_t __a)7196 vrev64_u32 (uint32x2_t __a)
7197 {
7198 return (uint32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
7199 }
7200
7201 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vrev64_p8(poly8x8_t __a)7202 vrev64_p8 (poly8x8_t __a)
7203 {
7204 return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
7205 }
7206
7207 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vrev64_p16(poly16x4_t __a)7208 vrev64_p16 (poly16x4_t __a)
7209 {
7210 return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
7211 }
7212
7213 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrev64q_s8(int8x16_t __a)7214 vrev64q_s8 (int8x16_t __a)
7215 {
7216 return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
7217 }
7218
7219 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vrev64q_s16(int16x8_t __a)7220 vrev64q_s16 (int16x8_t __a)
7221 {
7222 return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7223 }
7224
7225 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vrev64q_s32(int32x4_t __a)7226 vrev64q_s32 (int32x4_t __a)
7227 {
7228 return (int32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
7229 }
7230
7231 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vrev64q_f32(float32x4_t __a)7232 vrev64q_f32 (float32x4_t __a)
7233 {
7234 return (float32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
7235 }
7236
7237 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrev64q_u8(uint8x16_t __a)7238 vrev64q_u8 (uint8x16_t __a)
7239 {
7240 return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
7241 }
7242
7243 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vrev64q_u16(uint16x8_t __a)7244 vrev64q_u16 (uint16x8_t __a)
7245 {
7246 return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7247 }
7248
7249 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vrev64q_u32(uint32x4_t __a)7250 vrev64q_u32 (uint32x4_t __a)
7251 {
7252 return (uint32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
7253 }
7254
7255 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vrev64q_p8(poly8x16_t __a)7256 vrev64q_p8 (poly8x16_t __a)
7257 {
7258 return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
7259 }
7260
7261 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vrev64q_p16(poly16x8_t __a)7262 vrev64q_p16 (poly16x8_t __a)
7263 {
7264 return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7265 }
7266
7267 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrev32_s8(int8x8_t __a)7268 vrev32_s8 (int8x8_t __a)
7269 {
7270 return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7271 }
7272
7273 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vrev32_s16(int16x4_t __a)7274 vrev32_s16 (int16x4_t __a)
7275 {
7276 return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
7277 }
7278
7279 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrev32_u8(uint8x8_t __a)7280 vrev32_u8 (uint8x8_t __a)
7281 {
7282 return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7283 }
7284
7285 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vrev32_u16(uint16x4_t __a)7286 vrev32_u16 (uint16x4_t __a)
7287 {
7288 return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
7289 }
7290
7291 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vrev32_p8(poly8x8_t __a)7292 vrev32_p8 (poly8x8_t __a)
7293 {
7294 return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
7295 }
7296
7297 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vrev32_p16(poly16x4_t __a)7298 vrev32_p16 (poly16x4_t __a)
7299 {
7300 return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
7301 }
7302
7303 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrev32q_s8(int8x16_t __a)7304 vrev32q_s8 (int8x16_t __a)
7305 {
7306 return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
7307 }
7308
7309 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vrev32q_s16(int16x8_t __a)7310 vrev32q_s16 (int16x8_t __a)
7311 {
7312 return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7313 }
7314
7315 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrev32q_u8(uint8x16_t __a)7316 vrev32q_u8 (uint8x16_t __a)
7317 {
7318 return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
7319 }
7320
7321 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vrev32q_u16(uint16x8_t __a)7322 vrev32q_u16 (uint16x8_t __a)
7323 {
7324 return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7325 }
7326
7327 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vrev32q_p8(poly8x16_t __a)7328 vrev32q_p8 (poly8x16_t __a)
7329 {
7330 return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
7331 }
7332
7333 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vrev32q_p16(poly16x8_t __a)7334 vrev32q_p16 (poly16x8_t __a)
7335 {
7336 return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7337 }
7338
7339 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vrev16_s8(int8x8_t __a)7340 vrev16_s8 (int8x8_t __a)
7341 {
7342 return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7343 }
7344
7345 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vrev16_u8(uint8x8_t __a)7346 vrev16_u8 (uint8x8_t __a)
7347 {
7348 return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7349 }
7350
7351 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vrev16_p8(poly8x8_t __a)7352 vrev16_p8 (poly8x8_t __a)
7353 {
7354 return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
7355 }
7356
7357 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vrev16q_s8(int8x16_t __a)7358 vrev16q_s8 (int8x16_t __a)
7359 {
7360 return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
7361 }
7362
7363 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vrev16q_u8(uint8x16_t __a)7364 vrev16q_u8 (uint8x16_t __a)
7365 {
7366 return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
7367 }
7368
7369 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vrev16q_p8(poly8x16_t __a)7370 vrev16q_p8 (poly8x16_t __a)
7371 {
7372 return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
7373 }
7374
7375 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vbsl_s8(uint8x8_t __a,int8x8_t __b,int8x8_t __c)7376 vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c)
7377 {
7378 return (int8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, __b, __c);
7379 }
7380
7381 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vbsl_s16(uint16x4_t __a,int16x4_t __b,int16x4_t __c)7382 vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c)
7383 {
7384 return (int16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, __b, __c);
7385 }
7386
7387 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vbsl_s32(uint32x2_t __a,int32x2_t __b,int32x2_t __c)7388 vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c)
7389 {
7390 return (int32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, __b, __c);
7391 }
7392
7393 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vbsl_s64(uint64x1_t __a,int64x1_t __b,int64x1_t __c)7394 vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c)
7395 {
7396 return (int64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, __b, __c);
7397 }
7398
7399 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vbsl_f32(uint32x2_t __a,float32x2_t __b,float32x2_t __c)7400 vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c)
7401 {
7402 return (float32x2_t)__builtin_neon_vbslv2sf ((int32x2_t) __a, __b, __c);
7403 }
7404
7405 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vbsl_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)7406 vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
7407 {
7408 return (uint8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7409 }
7410
7411 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vbsl_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)7412 vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
7413 {
7414 return (uint16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
7415 }
7416
7417 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vbsl_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)7418 vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
7419 {
7420 return (uint32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
7421 }
7422
7423 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vbsl_u64(uint64x1_t __a,uint64x1_t __b,uint64x1_t __c)7424 vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c)
7425 {
7426 return (uint64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, (int64x1_t) __b, (int64x1_t) __c);
7427 }
7428
7429 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vbsl_p8(uint8x8_t __a,poly8x8_t __b,poly8x8_t __c)7430 vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c)
7431 {
7432 return (poly8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7433 }
7434
7435 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vbsl_p16(uint16x4_t __a,poly16x4_t __b,poly16x4_t __c)7436 vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c)
7437 {
7438 return (poly16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
7439 }
7440
7441 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vbslq_s8(uint8x16_t __a,int8x16_t __b,int8x16_t __c)7442 vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c)
7443 {
7444 return (int8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, __b, __c);
7445 }
7446
7447 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vbslq_s16(uint16x8_t __a,int16x8_t __b,int16x8_t __c)7448 vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c)
7449 {
7450 return (int16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, __b, __c);
7451 }
7452
7453 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vbslq_s32(uint32x4_t __a,int32x4_t __b,int32x4_t __c)7454 vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c)
7455 {
7456 return (int32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, __b, __c);
7457 }
7458
7459 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vbslq_s64(uint64x2_t __a,int64x2_t __b,int64x2_t __c)7460 vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c)
7461 {
7462 return (int64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, __b, __c);
7463 }
7464
7465 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vbslq_f32(uint32x4_t __a,float32x4_t __b,float32x4_t __c)7466 vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c)
7467 {
7468 return (float32x4_t)__builtin_neon_vbslv4sf ((int32x4_t) __a, __b, __c);
7469 }
7470
7471 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vbslq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)7472 vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
7473 {
7474 return (uint8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
7475 }
7476
7477 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vbslq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)7478 vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
7479 {
7480 return (uint16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
7481 }
7482
7483 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vbslq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)7484 vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
7485 {
7486 return (uint32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c);
7487 }
7488
7489 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vbslq_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)7490 vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
7491 {
7492 return (uint64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, (int64x2_t) __b, (int64x2_t) __c);
7493 }
7494
7495 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vbslq_p8(uint8x16_t __a,poly8x16_t __b,poly8x16_t __c)7496 vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c)
7497 {
7498 return (poly8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
7499 }
7500
7501 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vbslq_p16(uint16x8_t __a,poly16x8_t __b,poly16x8_t __c)7502 vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c)
7503 {
7504 return (poly16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
7505 }
7506
7507 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
vtrn_s8(int8x8_t __a,int8x8_t __b)7508 vtrn_s8 (int8x8_t __a, int8x8_t __b)
7509 {
7510 int8x8x2_t __rv;
7511 __rv.val[0] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7512 __rv.val[1] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7513 return __rv;
7514 }
7515
7516 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
vtrn_s16(int16x4_t __a,int16x4_t __b)7517 vtrn_s16 (int16x4_t __a, int16x4_t __b)
7518 {
7519 int16x4x2_t __rv;
7520 __rv.val[0] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
7521 __rv.val[1] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
7522 return __rv;
7523 }
7524
7525 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
vtrn_u8(uint8x8_t __a,uint8x8_t __b)7526 vtrn_u8 (uint8x8_t __a, uint8x8_t __b)
7527 {
7528 uint8x8x2_t __rv;
7529 __rv.val[0] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7530 __rv.val[1] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7531 return __rv;
7532 }
7533
7534 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
vtrn_u16(uint16x4_t __a,uint16x4_t __b)7535 vtrn_u16 (uint16x4_t __a, uint16x4_t __b)
7536 {
7537 uint16x4x2_t __rv;
7538 __rv.val[0] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
7539 __rv.val[1] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
7540 return __rv;
7541 }
7542
7543 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
vtrn_p8(poly8x8_t __a,poly8x8_t __b)7544 vtrn_p8 (poly8x8_t __a, poly8x8_t __b)
7545 {
7546 poly8x8x2_t __rv;
7547 __rv.val[0] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7548 __rv.val[1] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7549 return __rv;
7550 }
7551
7552 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
vtrn_p16(poly16x4_t __a,poly16x4_t __b)7553 vtrn_p16 (poly16x4_t __a, poly16x4_t __b)
7554 {
7555 poly16x4x2_t __rv;
7556 __rv.val[0] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 });
7557 __rv.val[1] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 });
7558 return __rv;
7559 }
7560
7561 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
vtrn_s32(int32x2_t __a,int32x2_t __b)7562 vtrn_s32 (int32x2_t __a, int32x2_t __b)
7563 {
7564 int32x2x2_t __rv;
7565 __rv.val[0] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7566 __rv.val[1] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7567 return __rv;
7568 }
7569
7570 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
vtrn_f32(float32x2_t __a,float32x2_t __b)7571 vtrn_f32 (float32x2_t __a, float32x2_t __b)
7572 {
7573 float32x2x2_t __rv;
7574 __rv.val[0] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7575 __rv.val[1] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7576 return __rv;
7577 }
7578
7579 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
vtrn_u32(uint32x2_t __a,uint32x2_t __b)7580 vtrn_u32 (uint32x2_t __a, uint32x2_t __b)
7581 {
7582 uint32x2x2_t __rv;
7583 __rv.val[0] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7584 __rv.val[1] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7585 return __rv;
7586 }
7587
7588 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
vtrnq_s8(int8x16_t __a,int8x16_t __b)7589 vtrnq_s8 (int8x16_t __a, int8x16_t __b)
7590 {
7591 int8x16x2_t __rv;
7592 __rv.val[0] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
7593 __rv.val[1] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
7594 return __rv;
7595 }
7596
7597 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
vtrnq_s16(int16x8_t __a,int16x8_t __b)7598 vtrnq_s16 (int16x8_t __a, int16x8_t __b)
7599 {
7600 int16x8x2_t __rv;
7601 __rv.val[0] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7602 __rv.val[1] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7603 return __rv;
7604 }
7605
7606 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
vtrnq_s32(int32x4_t __a,int32x4_t __b)7607 vtrnq_s32 (int32x4_t __a, int32x4_t __b)
7608 {
7609 int32x4x2_t __rv;
7610 __rv.val[0] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
7611 __rv.val[1] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
7612 return __rv;
7613 }
7614
7615 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
vtrnq_f32(float32x4_t __a,float32x4_t __b)7616 vtrnq_f32 (float32x4_t __a, float32x4_t __b)
7617 {
7618 float32x4x2_t __rv;
7619 __rv.val[0] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
7620 __rv.val[1] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
7621 return __rv;
7622 }
7623
7624 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
vtrnq_u8(uint8x16_t __a,uint8x16_t __b)7625 vtrnq_u8 (uint8x16_t __a, uint8x16_t __b)
7626 {
7627 uint8x16x2_t __rv;
7628 __rv.val[0] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
7629 __rv.val[1] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
7630 return __rv;
7631 }
7632
7633 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
vtrnq_u16(uint16x8_t __a,uint16x8_t __b)7634 vtrnq_u16 (uint16x8_t __a, uint16x8_t __b)
7635 {
7636 uint16x8x2_t __rv;
7637 __rv.val[0] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7638 __rv.val[1] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7639 return __rv;
7640 }
7641
7642 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
vtrnq_u32(uint32x4_t __a,uint32x4_t __b)7643 vtrnq_u32 (uint32x4_t __a, uint32x4_t __b)
7644 {
7645 uint32x4x2_t __rv;
7646 __rv.val[0] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 });
7647 __rv.val[1] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 });
7648 return __rv;
7649 }
7650
7651 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
vtrnq_p8(poly8x16_t __a,poly8x16_t __b)7652 vtrnq_p8 (poly8x16_t __a, poly8x16_t __b)
7653 {
7654 poly8x16x2_t __rv;
7655 __rv.val[0] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 });
7656 __rv.val[1] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 });
7657 return __rv;
7658 }
7659
7660 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
vtrnq_p16(poly16x8_t __a,poly16x8_t __b)7661 vtrnq_p16 (poly16x8_t __a, poly16x8_t __b)
7662 {
7663 poly16x8x2_t __rv;
7664 __rv.val[0] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 });
7665 __rv.val[1] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 });
7666 return __rv;
7667 }
7668
7669 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
vzip_s8(int8x8_t __a,int8x8_t __b)7670 vzip_s8 (int8x8_t __a, int8x8_t __b)
7671 {
7672 int8x8x2_t __rv;
7673 __rv.val[0] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7674 __rv.val[1] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7675 return __rv;
7676 }
7677
7678 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
vzip_s16(int16x4_t __a,int16x4_t __b)7679 vzip_s16 (int16x4_t __a, int16x4_t __b)
7680 {
7681 int16x4x2_t __rv;
7682 __rv.val[0] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
7683 __rv.val[1] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
7684 return __rv;
7685 }
7686
7687 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
vzip_u8(uint8x8_t __a,uint8x8_t __b)7688 vzip_u8 (uint8x8_t __a, uint8x8_t __b)
7689 {
7690 uint8x8x2_t __rv;
7691 __rv.val[0] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7692 __rv.val[1] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7693 return __rv;
7694 }
7695
7696 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
vzip_u16(uint16x4_t __a,uint16x4_t __b)7697 vzip_u16 (uint16x4_t __a, uint16x4_t __b)
7698 {
7699 uint16x4x2_t __rv;
7700 __rv.val[0] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
7701 __rv.val[1] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
7702 return __rv;
7703 }
7704
7705 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
vzip_p8(poly8x8_t __a,poly8x8_t __b)7706 vzip_p8 (poly8x8_t __a, poly8x8_t __b)
7707 {
7708 poly8x8x2_t __rv;
7709 __rv.val[0] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7710 __rv.val[1] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7711 return __rv;
7712 }
7713
7714 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
vzip_p16(poly16x4_t __a,poly16x4_t __b)7715 vzip_p16 (poly16x4_t __a, poly16x4_t __b)
7716 {
7717 poly16x4x2_t __rv;
7718 __rv.val[0] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 });
7719 __rv.val[1] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 });
7720 return __rv;
7721 }
7722
7723 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
vzip_s32(int32x2_t __a,int32x2_t __b)7724 vzip_s32 (int32x2_t __a, int32x2_t __b)
7725 {
7726 int32x2x2_t __rv;
7727 __rv.val[0] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7728 __rv.val[1] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7729 return __rv;
7730 }
7731
7732 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
vzip_f32(float32x2_t __a,float32x2_t __b)7733 vzip_f32 (float32x2_t __a, float32x2_t __b)
7734 {
7735 float32x2x2_t __rv;
7736 __rv.val[0] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7737 __rv.val[1] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7738 return __rv;
7739 }
7740
7741 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
vzip_u32(uint32x2_t __a,uint32x2_t __b)7742 vzip_u32 (uint32x2_t __a, uint32x2_t __b)
7743 {
7744 uint32x2x2_t __rv;
7745 __rv.val[0] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7746 __rv.val[1] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7747 return __rv;
7748 }
7749
7750 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
vzipq_s8(int8x16_t __a,int8x16_t __b)7751 vzipq_s8 (int8x16_t __a, int8x16_t __b)
7752 {
7753 int8x16x2_t __rv;
7754 __rv.val[0] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
7755 __rv.val[1] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
7756 return __rv;
7757 }
7758
7759 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
vzipq_s16(int16x8_t __a,int16x8_t __b)7760 vzipq_s16 (int16x8_t __a, int16x8_t __b)
7761 {
7762 int16x8x2_t __rv;
7763 __rv.val[0] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7764 __rv.val[1] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7765 return __rv;
7766 }
7767
7768 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
vzipq_s32(int32x4_t __a,int32x4_t __b)7769 vzipq_s32 (int32x4_t __a, int32x4_t __b)
7770 {
7771 int32x4x2_t __rv;
7772 __rv.val[0] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
7773 __rv.val[1] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
7774 return __rv;
7775 }
7776
7777 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
vzipq_f32(float32x4_t __a,float32x4_t __b)7778 vzipq_f32 (float32x4_t __a, float32x4_t __b)
7779 {
7780 float32x4x2_t __rv;
7781 __rv.val[0] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
7782 __rv.val[1] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
7783 return __rv;
7784 }
7785
7786 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
vzipq_u8(uint8x16_t __a,uint8x16_t __b)7787 vzipq_u8 (uint8x16_t __a, uint8x16_t __b)
7788 {
7789 uint8x16x2_t __rv;
7790 __rv.val[0] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
7791 __rv.val[1] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
7792 return __rv;
7793 }
7794
7795 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
vzipq_u16(uint16x8_t __a,uint16x8_t __b)7796 vzipq_u16 (uint16x8_t __a, uint16x8_t __b)
7797 {
7798 uint16x8x2_t __rv;
7799 __rv.val[0] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7800 __rv.val[1] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7801 return __rv;
7802 }
7803
7804 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
vzipq_u32(uint32x4_t __a,uint32x4_t __b)7805 vzipq_u32 (uint32x4_t __a, uint32x4_t __b)
7806 {
7807 uint32x4x2_t __rv;
7808 __rv.val[0] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 });
7809 __rv.val[1] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 });
7810 return __rv;
7811 }
7812
7813 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
vzipq_p8(poly8x16_t __a,poly8x16_t __b)7814 vzipq_p8 (poly8x16_t __a, poly8x16_t __b)
7815 {
7816 poly8x16x2_t __rv;
7817 __rv.val[0] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 });
7818 __rv.val[1] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 });
7819 return __rv;
7820 }
7821
7822 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
vzipq_p16(poly16x8_t __a,poly16x8_t __b)7823 vzipq_p16 (poly16x8_t __a, poly16x8_t __b)
7824 {
7825 poly16x8x2_t __rv;
7826 __rv.val[0] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 });
7827 __rv.val[1] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 });
7828 return __rv;
7829 }
7830
7831 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
vuzp_s8(int8x8_t __a,int8x8_t __b)7832 vuzp_s8 (int8x8_t __a, int8x8_t __b)
7833 {
7834 int8x8x2_t __rv;
7835 __rv.val[0] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
7836 __rv.val[1] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
7837 return __rv;
7838 }
7839
7840 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
vuzp_s16(int16x4_t __a,int16x4_t __b)7841 vuzp_s16 (int16x4_t __a, int16x4_t __b)
7842 {
7843 int16x4x2_t __rv;
7844 __rv.val[0] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
7845 __rv.val[1] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
7846 return __rv;
7847 }
7848
7849 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
vuzp_s32(int32x2_t __a,int32x2_t __b)7850 vuzp_s32 (int32x2_t __a, int32x2_t __b)
7851 {
7852 int32x2x2_t __rv;
7853 __rv.val[0] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7854 __rv.val[1] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7855 return __rv;
7856 }
7857
7858 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
vuzp_f32(float32x2_t __a,float32x2_t __b)7859 vuzp_f32 (float32x2_t __a, float32x2_t __b)
7860 {
7861 float32x2x2_t __rv;
7862 __rv.val[0] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7863 __rv.val[1] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7864 return __rv;
7865 }
7866
7867 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
vuzp_u8(uint8x8_t __a,uint8x8_t __b)7868 vuzp_u8 (uint8x8_t __a, uint8x8_t __b)
7869 {
7870 uint8x8x2_t __rv;
7871 __rv.val[0] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
7872 __rv.val[1] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
7873 return __rv;
7874 }
7875
7876 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
vuzp_u16(uint16x4_t __a,uint16x4_t __b)7877 vuzp_u16 (uint16x4_t __a, uint16x4_t __b)
7878 {
7879 uint16x4x2_t __rv;
7880 __rv.val[0] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
7881 __rv.val[1] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
7882 return __rv;
7883 }
7884
7885 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
vuzp_u32(uint32x2_t __a,uint32x2_t __b)7886 vuzp_u32 (uint32x2_t __a, uint32x2_t __b)
7887 {
7888 uint32x2x2_t __rv;
7889 __rv.val[0] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 });
7890 __rv.val[1] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 });
7891 return __rv;
7892 }
7893
7894 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
vuzp_p8(poly8x8_t __a,poly8x8_t __b)7895 vuzp_p8 (poly8x8_t __a, poly8x8_t __b)
7896 {
7897 poly8x8x2_t __rv;
7898 __rv.val[0] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
7899 __rv.val[1] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
7900 return __rv;
7901 }
7902
7903 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
vuzp_p16(poly16x4_t __a,poly16x4_t __b)7904 vuzp_p16 (poly16x4_t __a, poly16x4_t __b)
7905 {
7906 poly16x4x2_t __rv;
7907 __rv.val[0] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 });
7908 __rv.val[1] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 });
7909 return __rv;
7910 }
7911
7912 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
vuzpq_s8(int8x16_t __a,int8x16_t __b)7913 vuzpq_s8 (int8x16_t __a, int8x16_t __b)
7914 {
7915 int8x16x2_t __rv;
7916 __rv.val[0] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
7917 __rv.val[1] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
7918 return __rv;
7919 }
7920
7921 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
vuzpq_s16(int16x8_t __a,int16x8_t __b)7922 vuzpq_s16 (int16x8_t __a, int16x8_t __b)
7923 {
7924 int16x8x2_t __rv;
7925 __rv.val[0] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
7926 __rv.val[1] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
7927 return __rv;
7928 }
7929
7930 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
vuzpq_s32(int32x4_t __a,int32x4_t __b)7931 vuzpq_s32 (int32x4_t __a, int32x4_t __b)
7932 {
7933 int32x4x2_t __rv;
7934 __rv.val[0] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
7935 __rv.val[1] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
7936 return __rv;
7937 }
7938
7939 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
vuzpq_f32(float32x4_t __a,float32x4_t __b)7940 vuzpq_f32 (float32x4_t __a, float32x4_t __b)
7941 {
7942 float32x4x2_t __rv;
7943 __rv.val[0] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
7944 __rv.val[1] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
7945 return __rv;
7946 }
7947
7948 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
vuzpq_u8(uint8x16_t __a,uint8x16_t __b)7949 vuzpq_u8 (uint8x16_t __a, uint8x16_t __b)
7950 {
7951 uint8x16x2_t __rv;
7952 __rv.val[0] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
7953 __rv.val[1] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
7954 return __rv;
7955 }
7956
7957 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
vuzpq_u16(uint16x8_t __a,uint16x8_t __b)7958 vuzpq_u16 (uint16x8_t __a, uint16x8_t __b)
7959 {
7960 uint16x8x2_t __rv;
7961 __rv.val[0] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
7962 __rv.val[1] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
7963 return __rv;
7964 }
7965
7966 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
vuzpq_u32(uint32x4_t __a,uint32x4_t __b)7967 vuzpq_u32 (uint32x4_t __a, uint32x4_t __b)
7968 {
7969 uint32x4x2_t __rv;
7970 __rv.val[0] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 });
7971 __rv.val[1] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 });
7972 return __rv;
7973 }
7974
7975 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
vuzpq_p8(poly8x16_t __a,poly8x16_t __b)7976 vuzpq_p8 (poly8x16_t __a, poly8x16_t __b)
7977 {
7978 poly8x16x2_t __rv;
7979 __rv.val[0] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 });
7980 __rv.val[1] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 });
7981 return __rv;
7982 }
7983
7984 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
vuzpq_p16(poly16x8_t __a,poly16x8_t __b)7985 vuzpq_p16 (poly16x8_t __a, poly16x8_t __b)
7986 {
7987 poly16x8x2_t __rv;
7988 __rv.val[0] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 });
7989 __rv.val[1] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 });
7990 return __rv;
7991 }
7992
7993 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vld1_s8(const int8_t * __a)7994 vld1_s8 (const int8_t * __a)
7995 {
7996 return (int8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
7997 }
7998
7999 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vld1_s16(const int16_t * __a)8000 vld1_s16 (const int16_t * __a)
8001 {
8002 return (int16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
8003 }
8004
8005 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vld1_s32(const int32_t * __a)8006 vld1_s32 (const int32_t * __a)
8007 {
8008 return (int32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
8009 }
8010
8011 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vld1_s64(const int64_t * __a)8012 vld1_s64 (const int64_t * __a)
8013 {
8014 return (int64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
8015 }
8016
8017 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vld1_f32(const float32_t * __a)8018 vld1_f32 (const float32_t * __a)
8019 {
8020 return (float32x2_t)__builtin_neon_vld1v2sf ((const __builtin_neon_sf *) __a);
8021 }
8022
8023 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vld1_u8(const uint8_t * __a)8024 vld1_u8 (const uint8_t * __a)
8025 {
8026 return (uint8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
8027 }
8028
8029 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vld1_u16(const uint16_t * __a)8030 vld1_u16 (const uint16_t * __a)
8031 {
8032 return (uint16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
8033 }
8034
8035 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vld1_u32(const uint32_t * __a)8036 vld1_u32 (const uint32_t * __a)
8037 {
8038 return (uint32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
8039 }
8040
8041 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vld1_u64(const uint64_t * __a)8042 vld1_u64 (const uint64_t * __a)
8043 {
8044 return (uint64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
8045 }
8046
8047 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vld1_p8(const poly8_t * __a)8048 vld1_p8 (const poly8_t * __a)
8049 {
8050 return (poly8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
8051 }
8052
8053 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vld1_p16(const poly16_t * __a)8054 vld1_p16 (const poly16_t * __a)
8055 {
8056 return (poly16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
8057 }
8058
8059 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vld1q_s8(const int8_t * __a)8060 vld1q_s8 (const int8_t * __a)
8061 {
8062 return (int8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
8063 }
8064
8065 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vld1q_s16(const int16_t * __a)8066 vld1q_s16 (const int16_t * __a)
8067 {
8068 return (int16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
8069 }
8070
8071 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vld1q_s32(const int32_t * __a)8072 vld1q_s32 (const int32_t * __a)
8073 {
8074 return (int32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
8075 }
8076
8077 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vld1q_s64(const int64_t * __a)8078 vld1q_s64 (const int64_t * __a)
8079 {
8080 return (int64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
8081 }
8082
8083 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vld1q_f32(const float32_t * __a)8084 vld1q_f32 (const float32_t * __a)
8085 {
8086 return (float32x4_t)__builtin_neon_vld1v4sf ((const __builtin_neon_sf *) __a);
8087 }
8088
8089 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vld1q_u8(const uint8_t * __a)8090 vld1q_u8 (const uint8_t * __a)
8091 {
8092 return (uint8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
8093 }
8094
8095 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vld1q_u16(const uint16_t * __a)8096 vld1q_u16 (const uint16_t * __a)
8097 {
8098 return (uint16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
8099 }
8100
8101 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vld1q_u32(const uint32_t * __a)8102 vld1q_u32 (const uint32_t * __a)
8103 {
8104 return (uint32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
8105 }
8106
8107 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vld1q_u64(const uint64_t * __a)8108 vld1q_u64 (const uint64_t * __a)
8109 {
8110 return (uint64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
8111 }
8112
8113 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vld1q_p8(const poly8_t * __a)8114 vld1q_p8 (const poly8_t * __a)
8115 {
8116 return (poly8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
8117 }
8118
8119 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vld1q_p16(const poly16_t * __a)8120 vld1q_p16 (const poly16_t * __a)
8121 {
8122 return (poly16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
8123 }
8124
8125 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vld1_lane_s8(const int8_t * __a,int8x8_t __b,const int __c)8126 vld1_lane_s8 (const int8_t * __a, int8x8_t __b, const int __c)
8127 {
8128 return (int8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, __b, __c);
8129 }
8130
8131 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vld1_lane_s16(const int16_t * __a,int16x4_t __b,const int __c)8132 vld1_lane_s16 (const int16_t * __a, int16x4_t __b, const int __c)
8133 {
8134 return (int16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, __b, __c);
8135 }
8136
8137 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vld1_lane_s32(const int32_t * __a,int32x2_t __b,const int __c)8138 vld1_lane_s32 (const int32_t * __a, int32x2_t __b, const int __c)
8139 {
8140 return (int32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, __b, __c);
8141 }
8142
8143 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vld1_lane_f32(const float32_t * __a,float32x2_t __b,const int __c)8144 vld1_lane_f32 (const float32_t * __a, float32x2_t __b, const int __c)
8145 {
8146 return (float32x2_t)__builtin_neon_vld1_lanev2sf ((const __builtin_neon_sf *) __a, __b, __c);
8147 }
8148
8149 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vld1_lane_u8(const uint8_t * __a,uint8x8_t __b,const int __c)8150 vld1_lane_u8 (const uint8_t * __a, uint8x8_t __b, const int __c)
8151 {
8152 return (uint8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8153 }
8154
8155 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vld1_lane_u16(const uint16_t * __a,uint16x4_t __b,const int __c)8156 vld1_lane_u16 (const uint16_t * __a, uint16x4_t __b, const int __c)
8157 {
8158 return (uint16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8159 }
8160
8161 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vld1_lane_u32(const uint32_t * __a,uint32x2_t __b,const int __c)8162 vld1_lane_u32 (const uint32_t * __a, uint32x2_t __b, const int __c)
8163 {
8164 return (uint32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, (int32x2_t) __b, __c);
8165 }
8166
8167 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vld1_lane_p8(const poly8_t * __a,poly8x8_t __b,const int __c)8168 vld1_lane_p8 (const poly8_t * __a, poly8x8_t __b, const int __c)
8169 {
8170 return (poly8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8171 }
8172
8173 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vld1_lane_p16(const poly16_t * __a,poly16x4_t __b,const int __c)8174 vld1_lane_p16 (const poly16_t * __a, poly16x4_t __b, const int __c)
8175 {
8176 return (poly16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8177 }
8178
8179 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vld1_lane_s64(const int64_t * __a,int64x1_t __b,const int __c)8180 vld1_lane_s64 (const int64_t * __a, int64x1_t __b, const int __c)
8181 {
8182 return (int64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, __b, __c);
8183 }
8184
8185 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vld1_lane_u64(const uint64_t * __a,uint64x1_t __b,const int __c)8186 vld1_lane_u64 (const uint64_t * __a, uint64x1_t __b, const int __c)
8187 {
8188 return (uint64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, (int64x1_t) __b, __c);
8189 }
8190
8191 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vld1q_lane_s8(const int8_t * __a,int8x16_t __b,const int __c)8192 vld1q_lane_s8 (const int8_t * __a, int8x16_t __b, const int __c)
8193 {
8194 return (int8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, __b, __c);
8195 }
8196
8197 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vld1q_lane_s16(const int16_t * __a,int16x8_t __b,const int __c)8198 vld1q_lane_s16 (const int16_t * __a, int16x8_t __b, const int __c)
8199 {
8200 return (int16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, __b, __c);
8201 }
8202
8203 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vld1q_lane_s32(const int32_t * __a,int32x4_t __b,const int __c)8204 vld1q_lane_s32 (const int32_t * __a, int32x4_t __b, const int __c)
8205 {
8206 return (int32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, __b, __c);
8207 }
8208
8209 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vld1q_lane_f32(const float32_t * __a,float32x4_t __b,const int __c)8210 vld1q_lane_f32 (const float32_t * __a, float32x4_t __b, const int __c)
8211 {
8212 return (float32x4_t)__builtin_neon_vld1_lanev4sf ((const __builtin_neon_sf *) __a, __b, __c);
8213 }
8214
8215 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vld1q_lane_u8(const uint8_t * __a,uint8x16_t __b,const int __c)8216 vld1q_lane_u8 (const uint8_t * __a, uint8x16_t __b, const int __c)
8217 {
8218 return (uint8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8219 }
8220
8221 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vld1q_lane_u16(const uint16_t * __a,uint16x8_t __b,const int __c)8222 vld1q_lane_u16 (const uint16_t * __a, uint16x8_t __b, const int __c)
8223 {
8224 return (uint16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8225 }
8226
8227 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vld1q_lane_u32(const uint32_t * __a,uint32x4_t __b,const int __c)8228 vld1q_lane_u32 (const uint32_t * __a, uint32x4_t __b, const int __c)
8229 {
8230 return (uint32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, (int32x4_t) __b, __c);
8231 }
8232
8233 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vld1q_lane_p8(const poly8_t * __a,poly8x16_t __b,const int __c)8234 vld1q_lane_p8 (const poly8_t * __a, poly8x16_t __b, const int __c)
8235 {
8236 return (poly8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8237 }
8238
8239 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vld1q_lane_p16(const poly16_t * __a,poly16x8_t __b,const int __c)8240 vld1q_lane_p16 (const poly16_t * __a, poly16x8_t __b, const int __c)
8241 {
8242 return (poly16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8243 }
8244
8245 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vld1q_lane_s64(const int64_t * __a,int64x2_t __b,const int __c)8246 vld1q_lane_s64 (const int64_t * __a, int64x2_t __b, const int __c)
8247 {
8248 return (int64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, __b, __c);
8249 }
8250
8251 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vld1q_lane_u64(const uint64_t * __a,uint64x2_t __b,const int __c)8252 vld1q_lane_u64 (const uint64_t * __a, uint64x2_t __b, const int __c)
8253 {
8254 return (uint64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, (int64x2_t) __b, __c);
8255 }
8256
8257 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vld1_dup_s8(const int8_t * __a)8258 vld1_dup_s8 (const int8_t * __a)
8259 {
8260 return (int8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8261 }
8262
8263 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vld1_dup_s16(const int16_t * __a)8264 vld1_dup_s16 (const int16_t * __a)
8265 {
8266 return (int16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8267 }
8268
8269 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vld1_dup_s32(const int32_t * __a)8270 vld1_dup_s32 (const int32_t * __a)
8271 {
8272 return (int32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
8273 }
8274
8275 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vld1_dup_f32(const float32_t * __a)8276 vld1_dup_f32 (const float32_t * __a)
8277 {
8278 return (float32x2_t)__builtin_neon_vld1_dupv2sf ((const __builtin_neon_sf *) __a);
8279 }
8280
8281 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vld1_dup_u8(const uint8_t * __a)8282 vld1_dup_u8 (const uint8_t * __a)
8283 {
8284 return (uint8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8285 }
8286
8287 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vld1_dup_u16(const uint16_t * __a)8288 vld1_dup_u16 (const uint16_t * __a)
8289 {
8290 return (uint16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8291 }
8292
8293 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vld1_dup_u32(const uint32_t * __a)8294 vld1_dup_u32 (const uint32_t * __a)
8295 {
8296 return (uint32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
8297 }
8298
8299 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vld1_dup_p8(const poly8_t * __a)8300 vld1_dup_p8 (const poly8_t * __a)
8301 {
8302 return (poly8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8303 }
8304
8305 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vld1_dup_p16(const poly16_t * __a)8306 vld1_dup_p16 (const poly16_t * __a)
8307 {
8308 return (poly16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8309 }
8310
8311 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vld1_dup_s64(const int64_t * __a)8312 vld1_dup_s64 (const int64_t * __a)
8313 {
8314 return (int64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
8315 }
8316
8317 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vld1_dup_u64(const uint64_t * __a)8318 vld1_dup_u64 (const uint64_t * __a)
8319 {
8320 return (uint64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
8321 }
8322
8323 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vld1q_dup_s8(const int8_t * __a)8324 vld1q_dup_s8 (const int8_t * __a)
8325 {
8326 return (int8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8327 }
8328
8329 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vld1q_dup_s16(const int16_t * __a)8330 vld1q_dup_s16 (const int16_t * __a)
8331 {
8332 return (int16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8333 }
8334
8335 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vld1q_dup_s32(const int32_t * __a)8336 vld1q_dup_s32 (const int32_t * __a)
8337 {
8338 return (int32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
8339 }
8340
8341 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vld1q_dup_f32(const float32_t * __a)8342 vld1q_dup_f32 (const float32_t * __a)
8343 {
8344 return (float32x4_t)__builtin_neon_vld1_dupv4sf ((const __builtin_neon_sf *) __a);
8345 }
8346
8347 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vld1q_dup_u8(const uint8_t * __a)8348 vld1q_dup_u8 (const uint8_t * __a)
8349 {
8350 return (uint8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8351 }
8352
8353 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vld1q_dup_u16(const uint16_t * __a)8354 vld1q_dup_u16 (const uint16_t * __a)
8355 {
8356 return (uint16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8357 }
8358
8359 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vld1q_dup_u32(const uint32_t * __a)8360 vld1q_dup_u32 (const uint32_t * __a)
8361 {
8362 return (uint32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
8363 }
8364
8365 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vld1q_dup_p8(const poly8_t * __a)8366 vld1q_dup_p8 (const poly8_t * __a)
8367 {
8368 return (poly8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8369 }
8370
8371 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vld1q_dup_p16(const poly16_t * __a)8372 vld1q_dup_p16 (const poly16_t * __a)
8373 {
8374 return (poly16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8375 }
8376
8377 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vld1q_dup_s64(const int64_t * __a)8378 vld1q_dup_s64 (const int64_t * __a)
8379 {
8380 return (int64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
8381 }
8382
8383 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vld1q_dup_u64(const uint64_t * __a)8384 vld1q_dup_u64 (const uint64_t * __a)
8385 {
8386 return (uint64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
8387 }
8388
8389 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_s8(int8_t * __a,int8x8_t __b)8390 vst1_s8 (int8_t * __a, int8x8_t __b)
8391 {
8392 __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, __b);
8393 }
8394
8395 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_s16(int16_t * __a,int16x4_t __b)8396 vst1_s16 (int16_t * __a, int16x4_t __b)
8397 {
8398 __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, __b);
8399 }
8400
8401 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_s32(int32_t * __a,int32x2_t __b)8402 vst1_s32 (int32_t * __a, int32x2_t __b)
8403 {
8404 __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, __b);
8405 }
8406
8407 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_s64(int64_t * __a,int64x1_t __b)8408 vst1_s64 (int64_t * __a, int64x1_t __b)
8409 {
8410 __builtin_neon_vst1di ((__builtin_neon_di *) __a, __b);
8411 }
8412
8413 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_f32(float32_t * __a,float32x2_t __b)8414 vst1_f32 (float32_t * __a, float32x2_t __b)
8415 {
8416 __builtin_neon_vst1v2sf ((__builtin_neon_sf *) __a, __b);
8417 }
8418
8419 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_u8(uint8_t * __a,uint8x8_t __b)8420 vst1_u8 (uint8_t * __a, uint8x8_t __b)
8421 {
8422 __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
8423 }
8424
8425 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_u16(uint16_t * __a,uint16x4_t __b)8426 vst1_u16 (uint16_t * __a, uint16x4_t __b)
8427 {
8428 __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
8429 }
8430
8431 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_u32(uint32_t * __a,uint32x2_t __b)8432 vst1_u32 (uint32_t * __a, uint32x2_t __b)
8433 {
8434 __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, (int32x2_t) __b);
8435 }
8436
8437 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_u64(uint64_t * __a,uint64x1_t __b)8438 vst1_u64 (uint64_t * __a, uint64x1_t __b)
8439 {
8440 __builtin_neon_vst1di ((__builtin_neon_di *) __a, (int64x1_t) __b);
8441 }
8442
8443 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_p8(poly8_t * __a,poly8x8_t __b)8444 vst1_p8 (poly8_t * __a, poly8x8_t __b)
8445 {
8446 __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
8447 }
8448
8449 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_p16(poly16_t * __a,poly16x4_t __b)8450 vst1_p16 (poly16_t * __a, poly16x4_t __b)
8451 {
8452 __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
8453 }
8454
8455 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_s8(int8_t * __a,int8x16_t __b)8456 vst1q_s8 (int8_t * __a, int8x16_t __b)
8457 {
8458 __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, __b);
8459 }
8460
8461 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_s16(int16_t * __a,int16x8_t __b)8462 vst1q_s16 (int16_t * __a, int16x8_t __b)
8463 {
8464 __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, __b);
8465 }
8466
8467 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_s32(int32_t * __a,int32x4_t __b)8468 vst1q_s32 (int32_t * __a, int32x4_t __b)
8469 {
8470 __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, __b);
8471 }
8472
8473 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_s64(int64_t * __a,int64x2_t __b)8474 vst1q_s64 (int64_t * __a, int64x2_t __b)
8475 {
8476 __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, __b);
8477 }
8478
8479 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_f32(float32_t * __a,float32x4_t __b)8480 vst1q_f32 (float32_t * __a, float32x4_t __b)
8481 {
8482 __builtin_neon_vst1v4sf ((__builtin_neon_sf *) __a, __b);
8483 }
8484
8485 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_u8(uint8_t * __a,uint8x16_t __b)8486 vst1q_u8 (uint8_t * __a, uint8x16_t __b)
8487 {
8488 __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
8489 }
8490
8491 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_u16(uint16_t * __a,uint16x8_t __b)8492 vst1q_u16 (uint16_t * __a, uint16x8_t __b)
8493 {
8494 __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
8495 }
8496
8497 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_u32(uint32_t * __a,uint32x4_t __b)8498 vst1q_u32 (uint32_t * __a, uint32x4_t __b)
8499 {
8500 __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, (int32x4_t) __b);
8501 }
8502
8503 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_u64(uint64_t * __a,uint64x2_t __b)8504 vst1q_u64 (uint64_t * __a, uint64x2_t __b)
8505 {
8506 __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, (int64x2_t) __b);
8507 }
8508
8509 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_p8(poly8_t * __a,poly8x16_t __b)8510 vst1q_p8 (poly8_t * __a, poly8x16_t __b)
8511 {
8512 __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
8513 }
8514
8515 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_p16(poly16_t * __a,poly16x8_t __b)8516 vst1q_p16 (poly16_t * __a, poly16x8_t __b)
8517 {
8518 __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
8519 }
8520
8521 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_s8(int8_t * __a,int8x8_t __b,const int __c)8522 vst1_lane_s8 (int8_t * __a, int8x8_t __b, const int __c)
8523 {
8524 __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, __b, __c);
8525 }
8526
8527 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_s16(int16_t * __a,int16x4_t __b,const int __c)8528 vst1_lane_s16 (int16_t * __a, int16x4_t __b, const int __c)
8529 {
8530 __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, __b, __c);
8531 }
8532
8533 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_s32(int32_t * __a,int32x2_t __b,const int __c)8534 vst1_lane_s32 (int32_t * __a, int32x2_t __b, const int __c)
8535 {
8536 __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, __b, __c);
8537 }
8538
8539 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_f32(float32_t * __a,float32x2_t __b,const int __c)8540 vst1_lane_f32 (float32_t * __a, float32x2_t __b, const int __c)
8541 {
8542 __builtin_neon_vst1_lanev2sf ((__builtin_neon_sf *) __a, __b, __c);
8543 }
8544
8545 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_u8(uint8_t * __a,uint8x8_t __b,const int __c)8546 vst1_lane_u8 (uint8_t * __a, uint8x8_t __b, const int __c)
8547 {
8548 __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8549 }
8550
8551 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_u16(uint16_t * __a,uint16x4_t __b,const int __c)8552 vst1_lane_u16 (uint16_t * __a, uint16x4_t __b, const int __c)
8553 {
8554 __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8555 }
8556
8557 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_u32(uint32_t * __a,uint32x2_t __b,const int __c)8558 vst1_lane_u32 (uint32_t * __a, uint32x2_t __b, const int __c)
8559 {
8560 __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, (int32x2_t) __b, __c);
8561 }
8562
8563 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_p8(poly8_t * __a,poly8x8_t __b,const int __c)8564 vst1_lane_p8 (poly8_t * __a, poly8x8_t __b, const int __c)
8565 {
8566 __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8567 }
8568
8569 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_p16(poly16_t * __a,poly16x4_t __b,const int __c)8570 vst1_lane_p16 (poly16_t * __a, poly16x4_t __b, const int __c)
8571 {
8572 __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8573 }
8574
8575 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_s64(int64_t * __a,int64x1_t __b,const int __c)8576 vst1_lane_s64 (int64_t * __a, int64x1_t __b, const int __c)
8577 {
8578 __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, __b, __c);
8579 }
8580
8581 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1_lane_u64(uint64_t * __a,uint64x1_t __b,const int __c)8582 vst1_lane_u64 (uint64_t * __a, uint64x1_t __b, const int __c)
8583 {
8584 __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, (int64x1_t) __b, __c);
8585 }
8586
8587 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_s8(int8_t * __a,int8x16_t __b,const int __c)8588 vst1q_lane_s8 (int8_t * __a, int8x16_t __b, const int __c)
8589 {
8590 __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, __b, __c);
8591 }
8592
8593 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_s16(int16_t * __a,int16x8_t __b,const int __c)8594 vst1q_lane_s16 (int16_t * __a, int16x8_t __b, const int __c)
8595 {
8596 __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, __b, __c);
8597 }
8598
8599 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_s32(int32_t * __a,int32x4_t __b,const int __c)8600 vst1q_lane_s32 (int32_t * __a, int32x4_t __b, const int __c)
8601 {
8602 __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, __b, __c);
8603 }
8604
8605 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_f32(float32_t * __a,float32x4_t __b,const int __c)8606 vst1q_lane_f32 (float32_t * __a, float32x4_t __b, const int __c)
8607 {
8608 __builtin_neon_vst1_lanev4sf ((__builtin_neon_sf *) __a, __b, __c);
8609 }
8610
8611 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_u8(uint8_t * __a,uint8x16_t __b,const int __c)8612 vst1q_lane_u8 (uint8_t * __a, uint8x16_t __b, const int __c)
8613 {
8614 __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8615 }
8616
8617 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_u16(uint16_t * __a,uint16x8_t __b,const int __c)8618 vst1q_lane_u16 (uint16_t * __a, uint16x8_t __b, const int __c)
8619 {
8620 __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8621 }
8622
8623 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_u32(uint32_t * __a,uint32x4_t __b,const int __c)8624 vst1q_lane_u32 (uint32_t * __a, uint32x4_t __b, const int __c)
8625 {
8626 __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, (int32x4_t) __b, __c);
8627 }
8628
8629 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_p8(poly8_t * __a,poly8x16_t __b,const int __c)8630 vst1q_lane_p8 (poly8_t * __a, poly8x16_t __b, const int __c)
8631 {
8632 __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8633 }
8634
8635 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_p16(poly16_t * __a,poly16x8_t __b,const int __c)8636 vst1q_lane_p16 (poly16_t * __a, poly16x8_t __b, const int __c)
8637 {
8638 __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8639 }
8640
8641 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_s64(int64_t * __a,int64x2_t __b,const int __c)8642 vst1q_lane_s64 (int64_t * __a, int64x2_t __b, const int __c)
8643 {
8644 __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, __b, __c);
8645 }
8646
8647 __extension__ static __inline void __attribute__ ((__always_inline__))
vst1q_lane_u64(uint64_t * __a,uint64x2_t __b,const int __c)8648 vst1q_lane_u64 (uint64_t * __a, uint64x2_t __b, const int __c)
8649 {
8650 __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, (int64x2_t) __b, __c);
8651 }
8652
8653 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
vld2_s8(const int8_t * __a)8654 vld2_s8 (const int8_t * __a)
8655 {
8656 union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8657 __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
8658 return __rv.__i;
8659 }
8660
8661 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
vld2_s16(const int16_t * __a)8662 vld2_s16 (const int16_t * __a)
8663 {
8664 union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8665 __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
8666 return __rv.__i;
8667 }
8668
8669 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
vld2_s32(const int32_t * __a)8670 vld2_s32 (const int32_t * __a)
8671 {
8672 union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8673 __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
8674 return __rv.__i;
8675 }
8676
8677 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
vld2_f32(const float32_t * __a)8678 vld2_f32 (const float32_t * __a)
8679 {
8680 union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8681 __rv.__o = __builtin_neon_vld2v2sf ((const __builtin_neon_sf *) __a);
8682 return __rv.__i;
8683 }
8684
8685 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
vld2_u8(const uint8_t * __a)8686 vld2_u8 (const uint8_t * __a)
8687 {
8688 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8689 __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
8690 return __rv.__i;
8691 }
8692
8693 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
vld2_u16(const uint16_t * __a)8694 vld2_u16 (const uint16_t * __a)
8695 {
8696 union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8697 __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
8698 return __rv.__i;
8699 }
8700
8701 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
vld2_u32(const uint32_t * __a)8702 vld2_u32 (const uint32_t * __a)
8703 {
8704 union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8705 __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
8706 return __rv.__i;
8707 }
8708
8709 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
vld2_p8(const poly8_t * __a)8710 vld2_p8 (const poly8_t * __a)
8711 {
8712 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8713 __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
8714 return __rv.__i;
8715 }
8716
8717 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
vld2_p16(const poly16_t * __a)8718 vld2_p16 (const poly16_t * __a)
8719 {
8720 union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8721 __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
8722 return __rv.__i;
8723 }
8724
8725 __extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__))
vld2_s64(const int64_t * __a)8726 vld2_s64 (const int64_t * __a)
8727 {
8728 union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
8729 __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
8730 return __rv.__i;
8731 }
8732
8733 __extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__))
vld2_u64(const uint64_t * __a)8734 vld2_u64 (const uint64_t * __a)
8735 {
8736 union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
8737 __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
8738 return __rv.__i;
8739 }
8740
8741 __extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
vld2q_s8(const int8_t * __a)8742 vld2q_s8 (const int8_t * __a)
8743 {
8744 union { int8x16x2_t __i; __builtin_neon_oi __o; } __rv;
8745 __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
8746 return __rv.__i;
8747 }
8748
8749 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
vld2q_s16(const int16_t * __a)8750 vld2q_s16 (const int16_t * __a)
8751 {
8752 union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8753 __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
8754 return __rv.__i;
8755 }
8756
8757 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
vld2q_s32(const int32_t * __a)8758 vld2q_s32 (const int32_t * __a)
8759 {
8760 union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8761 __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
8762 return __rv.__i;
8763 }
8764
8765 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
vld2q_f32(const float32_t * __a)8766 vld2q_f32 (const float32_t * __a)
8767 {
8768 union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8769 __rv.__o = __builtin_neon_vld2v4sf ((const __builtin_neon_sf *) __a);
8770 return __rv.__i;
8771 }
8772
8773 __extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
vld2q_u8(const uint8_t * __a)8774 vld2q_u8 (const uint8_t * __a)
8775 {
8776 union { uint8x16x2_t __i; __builtin_neon_oi __o; } __rv;
8777 __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
8778 return __rv.__i;
8779 }
8780
8781 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
vld2q_u16(const uint16_t * __a)8782 vld2q_u16 (const uint16_t * __a)
8783 {
8784 union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8785 __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
8786 return __rv.__i;
8787 }
8788
8789 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
vld2q_u32(const uint32_t * __a)8790 vld2q_u32 (const uint32_t * __a)
8791 {
8792 union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8793 __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
8794 return __rv.__i;
8795 }
8796
8797 __extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
vld2q_p8(const poly8_t * __a)8798 vld2q_p8 (const poly8_t * __a)
8799 {
8800 union { poly8x16x2_t __i; __builtin_neon_oi __o; } __rv;
8801 __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
8802 return __rv.__i;
8803 }
8804
8805 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
vld2q_p16(const poly16_t * __a)8806 vld2q_p16 (const poly16_t * __a)
8807 {
8808 union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8809 __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
8810 return __rv.__i;
8811 }
8812
8813 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
vld2_lane_s8(const int8_t * __a,int8x8x2_t __b,const int __c)8814 vld2_lane_s8 (const int8_t * __a, int8x8x2_t __b, const int __c)
8815 {
8816 union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8817 union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8818 __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
8819 return __rv.__i;
8820 }
8821
8822 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
vld2_lane_s16(const int16_t * __a,int16x4x2_t __b,const int __c)8823 vld2_lane_s16 (const int16_t * __a, int16x4x2_t __b, const int __c)
8824 {
8825 union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8826 union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8827 __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8828 return __rv.__i;
8829 }
8830
8831 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
vld2_lane_s32(const int32_t * __a,int32x2x2_t __b,const int __c)8832 vld2_lane_s32 (const int32_t * __a, int32x2x2_t __b, const int __c)
8833 {
8834 union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8835 union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8836 __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
8837 return __rv.__i;
8838 }
8839
8840 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
vld2_lane_f32(const float32_t * __a,float32x2x2_t __b,const int __c)8841 vld2_lane_f32 (const float32_t * __a, float32x2x2_t __b, const int __c)
8842 {
8843 union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8844 union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8845 __rv.__o = __builtin_neon_vld2_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
8846 return __rv.__i;
8847 }
8848
8849 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
vld2_lane_u8(const uint8_t * __a,uint8x8x2_t __b,const int __c)8850 vld2_lane_u8 (const uint8_t * __a, uint8x8x2_t __b, const int __c)
8851 {
8852 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8853 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8854 __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
8855 return __rv.__i;
8856 }
8857
8858 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
vld2_lane_u16(const uint16_t * __a,uint16x4x2_t __b,const int __c)8859 vld2_lane_u16 (const uint16_t * __a, uint16x4x2_t __b, const int __c)
8860 {
8861 union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8862 union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8863 __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8864 return __rv.__i;
8865 }
8866
8867 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
vld2_lane_u32(const uint32_t * __a,uint32x2x2_t __b,const int __c)8868 vld2_lane_u32 (const uint32_t * __a, uint32x2x2_t __b, const int __c)
8869 {
8870 union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8871 union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8872 __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
8873 return __rv.__i;
8874 }
8875
8876 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
vld2_lane_p8(const poly8_t * __a,poly8x8x2_t __b,const int __c)8877 vld2_lane_p8 (const poly8_t * __a, poly8x8x2_t __b, const int __c)
8878 {
8879 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8880 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8881 __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
8882 return __rv.__i;
8883 }
8884
8885 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
vld2_lane_p16(const poly16_t * __a,poly16x4x2_t __b,const int __c)8886 vld2_lane_p16 (const poly16_t * __a, poly16x4x2_t __b, const int __c)
8887 {
8888 union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8889 union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8890 __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8891 return __rv.__i;
8892 }
8893
8894 __extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
vld2q_lane_s16(const int16_t * __a,int16x8x2_t __b,const int __c)8895 vld2q_lane_s16 (const int16_t * __a, int16x8x2_t __b, const int __c)
8896 {
8897 union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8898 union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8899 __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8900 return __rv.__i;
8901 }
8902
8903 __extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
vld2q_lane_s32(const int32_t * __a,int32x4x2_t __b,const int __c)8904 vld2q_lane_s32 (const int32_t * __a, int32x4x2_t __b, const int __c)
8905 {
8906 union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8907 union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8908 __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
8909 return __rv.__i;
8910 }
8911
8912 __extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
vld2q_lane_f32(const float32_t * __a,float32x4x2_t __b,const int __c)8913 vld2q_lane_f32 (const float32_t * __a, float32x4x2_t __b, const int __c)
8914 {
8915 union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8916 union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8917 __rv.__o = __builtin_neon_vld2_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
8918 return __rv.__i;
8919 }
8920
8921 __extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
vld2q_lane_u16(const uint16_t * __a,uint16x8x2_t __b,const int __c)8922 vld2q_lane_u16 (const uint16_t * __a, uint16x8x2_t __b, const int __c)
8923 {
8924 union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8925 union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8926 __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8927 return __rv.__i;
8928 }
8929
8930 __extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
vld2q_lane_u32(const uint32_t * __a,uint32x4x2_t __b,const int __c)8931 vld2q_lane_u32 (const uint32_t * __a, uint32x4x2_t __b, const int __c)
8932 {
8933 union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8934 union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8935 __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
8936 return __rv.__i;
8937 }
8938
8939 __extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
vld2q_lane_p16(const poly16_t * __a,poly16x8x2_t __b,const int __c)8940 vld2q_lane_p16 (const poly16_t * __a, poly16x8x2_t __b, const int __c)
8941 {
8942 union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8943 union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8944 __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8945 return __rv.__i;
8946 }
8947
8948 __extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
vld2_dup_s8(const int8_t * __a)8949 vld2_dup_s8 (const int8_t * __a)
8950 {
8951 union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8952 __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
8953 return __rv.__i;
8954 }
8955
8956 __extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
vld2_dup_s16(const int16_t * __a)8957 vld2_dup_s16 (const int16_t * __a)
8958 {
8959 union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8960 __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
8961 return __rv.__i;
8962 }
8963
8964 __extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
vld2_dup_s32(const int32_t * __a)8965 vld2_dup_s32 (const int32_t * __a)
8966 {
8967 union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8968 __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
8969 return __rv.__i;
8970 }
8971
8972 __extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
vld2_dup_f32(const float32_t * __a)8973 vld2_dup_f32 (const float32_t * __a)
8974 {
8975 union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8976 __rv.__o = __builtin_neon_vld2_dupv2sf ((const __builtin_neon_sf *) __a);
8977 return __rv.__i;
8978 }
8979
8980 __extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
vld2_dup_u8(const uint8_t * __a)8981 vld2_dup_u8 (const uint8_t * __a)
8982 {
8983 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8984 __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
8985 return __rv.__i;
8986 }
8987
8988 __extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
vld2_dup_u16(const uint16_t * __a)8989 vld2_dup_u16 (const uint16_t * __a)
8990 {
8991 union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8992 __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
8993 return __rv.__i;
8994 }
8995
8996 __extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
vld2_dup_u32(const uint32_t * __a)8997 vld2_dup_u32 (const uint32_t * __a)
8998 {
8999 union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
9000 __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
9001 return __rv.__i;
9002 }
9003
9004 __extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
vld2_dup_p8(const poly8_t * __a)9005 vld2_dup_p8 (const poly8_t * __a)
9006 {
9007 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
9008 __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
9009 return __rv.__i;
9010 }
9011
9012 __extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
vld2_dup_p16(const poly16_t * __a)9013 vld2_dup_p16 (const poly16_t * __a)
9014 {
9015 union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
9016 __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
9017 return __rv.__i;
9018 }
9019
9020 __extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__))
vld2_dup_s64(const int64_t * __a)9021 vld2_dup_s64 (const int64_t * __a)
9022 {
9023 union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9024 __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
9025 return __rv.__i;
9026 }
9027
9028 __extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__))
vld2_dup_u64(const uint64_t * __a)9029 vld2_dup_u64 (const uint64_t * __a)
9030 {
9031 union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
9032 __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
9033 return __rv.__i;
9034 }
9035
9036 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_s8(int8_t * __a,int8x8x2_t __b)9037 vst2_s8 (int8_t * __a, int8x8x2_t __b)
9038 {
9039 union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9040 __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9041 }
9042
9043 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_s16(int16_t * __a,int16x4x2_t __b)9044 vst2_s16 (int16_t * __a, int16x4x2_t __b)
9045 {
9046 union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9047 __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9048 }
9049
9050 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_s32(int32_t * __a,int32x2x2_t __b)9051 vst2_s32 (int32_t * __a, int32x2x2_t __b)
9052 {
9053 union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9054 __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
9055 }
9056
9057 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_f32(float32_t * __a,float32x2x2_t __b)9058 vst2_f32 (float32_t * __a, float32x2x2_t __b)
9059 {
9060 union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9061 __builtin_neon_vst2v2sf ((__builtin_neon_sf *) __a, __bu.__o);
9062 }
9063
9064 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_u8(uint8_t * __a,uint8x8x2_t __b)9065 vst2_u8 (uint8_t * __a, uint8x8x2_t __b)
9066 {
9067 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9068 __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9069 }
9070
9071 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_u16(uint16_t * __a,uint16x4x2_t __b)9072 vst2_u16 (uint16_t * __a, uint16x4x2_t __b)
9073 {
9074 union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9075 __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9076 }
9077
9078 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_u32(uint32_t * __a,uint32x2x2_t __b)9079 vst2_u32 (uint32_t * __a, uint32x2x2_t __b)
9080 {
9081 union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9082 __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
9083 }
9084
9085 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_p8(poly8_t * __a,poly8x8x2_t __b)9086 vst2_p8 (poly8_t * __a, poly8x8x2_t __b)
9087 {
9088 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9089 __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9090 }
9091
9092 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_p16(poly16_t * __a,poly16x4x2_t __b)9093 vst2_p16 (poly16_t * __a, poly16x4x2_t __b)
9094 {
9095 union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9096 __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9097 }
9098
9099 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_s64(int64_t * __a,int64x1x2_t __b)9100 vst2_s64 (int64_t * __a, int64x1x2_t __b)
9101 {
9102 union { int64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9103 __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
9104 }
9105
9106 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_u64(uint64_t * __a,uint64x1x2_t __b)9107 vst2_u64 (uint64_t * __a, uint64x1x2_t __b)
9108 {
9109 union { uint64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9110 __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
9111 }
9112
9113 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_s8(int8_t * __a,int8x16x2_t __b)9114 vst2q_s8 (int8_t * __a, int8x16x2_t __b)
9115 {
9116 union { int8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9117 __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9118 }
9119
9120 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_s16(int16_t * __a,int16x8x2_t __b)9121 vst2q_s16 (int16_t * __a, int16x8x2_t __b)
9122 {
9123 union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9124 __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9125 }
9126
9127 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_s32(int32_t * __a,int32x4x2_t __b)9128 vst2q_s32 (int32_t * __a, int32x4x2_t __b)
9129 {
9130 union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9131 __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
9132 }
9133
9134 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_f32(float32_t * __a,float32x4x2_t __b)9135 vst2q_f32 (float32_t * __a, float32x4x2_t __b)
9136 {
9137 union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9138 __builtin_neon_vst2v4sf ((__builtin_neon_sf *) __a, __bu.__o);
9139 }
9140
9141 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_u8(uint8_t * __a,uint8x16x2_t __b)9142 vst2q_u8 (uint8_t * __a, uint8x16x2_t __b)
9143 {
9144 union { uint8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9145 __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9146 }
9147
9148 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_u16(uint16_t * __a,uint16x8x2_t __b)9149 vst2q_u16 (uint16_t * __a, uint16x8x2_t __b)
9150 {
9151 union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9152 __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9153 }
9154
9155 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_u32(uint32_t * __a,uint32x4x2_t __b)9156 vst2q_u32 (uint32_t * __a, uint32x4x2_t __b)
9157 {
9158 union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9159 __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
9160 }
9161
9162 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_p8(poly8_t * __a,poly8x16x2_t __b)9163 vst2q_p8 (poly8_t * __a, poly8x16x2_t __b)
9164 {
9165 union { poly8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9166 __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9167 }
9168
9169 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_p16(poly16_t * __a,poly16x8x2_t __b)9170 vst2q_p16 (poly16_t * __a, poly16x8x2_t __b)
9171 {
9172 union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9173 __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9174 }
9175
9176 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_s8(int8_t * __a,int8x8x2_t __b,const int __c)9177 vst2_lane_s8 (int8_t * __a, int8x8x2_t __b, const int __c)
9178 {
9179 union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9180 __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9181 }
9182
9183 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_s16(int16_t * __a,int16x4x2_t __b,const int __c)9184 vst2_lane_s16 (int16_t * __a, int16x4x2_t __b, const int __c)
9185 {
9186 union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9187 __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9188 }
9189
9190 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_s32(int32_t * __a,int32x2x2_t __b,const int __c)9191 vst2_lane_s32 (int32_t * __a, int32x2x2_t __b, const int __c)
9192 {
9193 union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9194 __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9195 }
9196
9197 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_f32(float32_t * __a,float32x2x2_t __b,const int __c)9198 vst2_lane_f32 (float32_t * __a, float32x2x2_t __b, const int __c)
9199 {
9200 union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9201 __builtin_neon_vst2_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9202 }
9203
9204 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_u8(uint8_t * __a,uint8x8x2_t __b,const int __c)9205 vst2_lane_u8 (uint8_t * __a, uint8x8x2_t __b, const int __c)
9206 {
9207 union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9208 __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9209 }
9210
9211 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_u16(uint16_t * __a,uint16x4x2_t __b,const int __c)9212 vst2_lane_u16 (uint16_t * __a, uint16x4x2_t __b, const int __c)
9213 {
9214 union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9215 __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9216 }
9217
9218 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_u32(uint32_t * __a,uint32x2x2_t __b,const int __c)9219 vst2_lane_u32 (uint32_t * __a, uint32x2x2_t __b, const int __c)
9220 {
9221 union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9222 __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9223 }
9224
9225 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_p8(poly8_t * __a,poly8x8x2_t __b,const int __c)9226 vst2_lane_p8 (poly8_t * __a, poly8x8x2_t __b, const int __c)
9227 {
9228 union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9229 __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9230 }
9231
9232 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2_lane_p16(poly16_t * __a,poly16x4x2_t __b,const int __c)9233 vst2_lane_p16 (poly16_t * __a, poly16x4x2_t __b, const int __c)
9234 {
9235 union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9236 __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9237 }
9238
9239 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_lane_s16(int16_t * __a,int16x8x2_t __b,const int __c)9240 vst2q_lane_s16 (int16_t * __a, int16x8x2_t __b, const int __c)
9241 {
9242 union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9243 __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9244 }
9245
9246 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_lane_s32(int32_t * __a,int32x4x2_t __b,const int __c)9247 vst2q_lane_s32 (int32_t * __a, int32x4x2_t __b, const int __c)
9248 {
9249 union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9250 __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9251 }
9252
9253 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_lane_f32(float32_t * __a,float32x4x2_t __b,const int __c)9254 vst2q_lane_f32 (float32_t * __a, float32x4x2_t __b, const int __c)
9255 {
9256 union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9257 __builtin_neon_vst2_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9258 }
9259
9260 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_lane_u16(uint16_t * __a,uint16x8x2_t __b,const int __c)9261 vst2q_lane_u16 (uint16_t * __a, uint16x8x2_t __b, const int __c)
9262 {
9263 union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9264 __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9265 }
9266
9267 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_lane_u32(uint32_t * __a,uint32x4x2_t __b,const int __c)9268 vst2q_lane_u32 (uint32_t * __a, uint32x4x2_t __b, const int __c)
9269 {
9270 union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9271 __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9272 }
9273
9274 __extension__ static __inline void __attribute__ ((__always_inline__))
vst2q_lane_p16(poly16_t * __a,poly16x8x2_t __b,const int __c)9275 vst2q_lane_p16 (poly16_t * __a, poly16x8x2_t __b, const int __c)
9276 {
9277 union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9278 __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9279 }
9280
9281 __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
vld3_s8(const int8_t * __a)9282 vld3_s8 (const int8_t * __a)
9283 {
9284 union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9285 __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
9286 return __rv.__i;
9287 }
9288
9289 __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
vld3_s16(const int16_t * __a)9290 vld3_s16 (const int16_t * __a)
9291 {
9292 union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9293 __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
9294 return __rv.__i;
9295 }
9296
9297 __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
vld3_s32(const int32_t * __a)9298 vld3_s32 (const int32_t * __a)
9299 {
9300 union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9301 __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
9302 return __rv.__i;
9303 }
9304
9305 __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
vld3_f32(const float32_t * __a)9306 vld3_f32 (const float32_t * __a)
9307 {
9308 union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9309 __rv.__o = __builtin_neon_vld3v2sf ((const __builtin_neon_sf *) __a);
9310 return __rv.__i;
9311 }
9312
9313 __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
vld3_u8(const uint8_t * __a)9314 vld3_u8 (const uint8_t * __a)
9315 {
9316 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9317 __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
9318 return __rv.__i;
9319 }
9320
9321 __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
vld3_u16(const uint16_t * __a)9322 vld3_u16 (const uint16_t * __a)
9323 {
9324 union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9325 __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
9326 return __rv.__i;
9327 }
9328
9329 __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
vld3_u32(const uint32_t * __a)9330 vld3_u32 (const uint32_t * __a)
9331 {
9332 union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9333 __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
9334 return __rv.__i;
9335 }
9336
9337 __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
vld3_p8(const poly8_t * __a)9338 vld3_p8 (const poly8_t * __a)
9339 {
9340 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9341 __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
9342 return __rv.__i;
9343 }
9344
9345 __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
vld3_p16(const poly16_t * __a)9346 vld3_p16 (const poly16_t * __a)
9347 {
9348 union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9349 __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
9350 return __rv.__i;
9351 }
9352
9353 __extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__))
vld3_s64(const int64_t * __a)9354 vld3_s64 (const int64_t * __a)
9355 {
9356 union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9357 __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
9358 return __rv.__i;
9359 }
9360
9361 __extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__))
vld3_u64(const uint64_t * __a)9362 vld3_u64 (const uint64_t * __a)
9363 {
9364 union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9365 __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
9366 return __rv.__i;
9367 }
9368
9369 __extension__ static __inline int8x16x3_t __attribute__ ((__always_inline__))
vld3q_s8(const int8_t * __a)9370 vld3q_s8 (const int8_t * __a)
9371 {
9372 union { int8x16x3_t __i; __builtin_neon_ci __o; } __rv;
9373 __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
9374 return __rv.__i;
9375 }
9376
9377 __extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__))
vld3q_s16(const int16_t * __a)9378 vld3q_s16 (const int16_t * __a)
9379 {
9380 union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9381 __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
9382 return __rv.__i;
9383 }
9384
9385 __extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__))
vld3q_s32(const int32_t * __a)9386 vld3q_s32 (const int32_t * __a)
9387 {
9388 union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9389 __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
9390 return __rv.__i;
9391 }
9392
9393 __extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__))
vld3q_f32(const float32_t * __a)9394 vld3q_f32 (const float32_t * __a)
9395 {
9396 union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9397 __rv.__o = __builtin_neon_vld3v4sf ((const __builtin_neon_sf *) __a);
9398 return __rv.__i;
9399 }
9400
9401 __extension__ static __inline uint8x16x3_t __attribute__ ((__always_inline__))
vld3q_u8(const uint8_t * __a)9402 vld3q_u8 (const uint8_t * __a)
9403 {
9404 union { uint8x16x3_t __i; __builtin_neon_ci __o; } __rv;
9405 __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
9406 return __rv.__i;
9407 }
9408
9409 __extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__))
vld3q_u16(const uint16_t * __a)9410 vld3q_u16 (const uint16_t * __a)
9411 {
9412 union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9413 __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
9414 return __rv.__i;
9415 }
9416
9417 __extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__))
vld3q_u32(const uint32_t * __a)9418 vld3q_u32 (const uint32_t * __a)
9419 {
9420 union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9421 __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
9422 return __rv.__i;
9423 }
9424
9425 __extension__ static __inline poly8x16x3_t __attribute__ ((__always_inline__))
vld3q_p8(const poly8_t * __a)9426 vld3q_p8 (const poly8_t * __a)
9427 {
9428 union { poly8x16x3_t __i; __builtin_neon_ci __o; } __rv;
9429 __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
9430 return __rv.__i;
9431 }
9432
9433 __extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__))
vld3q_p16(const poly16_t * __a)9434 vld3q_p16 (const poly16_t * __a)
9435 {
9436 union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9437 __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
9438 return __rv.__i;
9439 }
9440
9441 __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
vld3_lane_s8(const int8_t * __a,int8x8x3_t __b,const int __c)9442 vld3_lane_s8 (const int8_t * __a, int8x8x3_t __b, const int __c)
9443 {
9444 union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9445 union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9446 __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9447 return __rv.__i;
9448 }
9449
9450 __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
vld3_lane_s16(const int16_t * __a,int16x4x3_t __b,const int __c)9451 vld3_lane_s16 (const int16_t * __a, int16x4x3_t __b, const int __c)
9452 {
9453 union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9454 union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9455 __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9456 return __rv.__i;
9457 }
9458
9459 __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
vld3_lane_s32(const int32_t * __a,int32x2x3_t __b,const int __c)9460 vld3_lane_s32 (const int32_t * __a, int32x2x3_t __b, const int __c)
9461 {
9462 union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9463 union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9464 __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9465 return __rv.__i;
9466 }
9467
9468 __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
vld3_lane_f32(const float32_t * __a,float32x2x3_t __b,const int __c)9469 vld3_lane_f32 (const float32_t * __a, float32x2x3_t __b, const int __c)
9470 {
9471 union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9472 union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9473 __rv.__o = __builtin_neon_vld3_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
9474 return __rv.__i;
9475 }
9476
9477 __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
vld3_lane_u8(const uint8_t * __a,uint8x8x3_t __b,const int __c)9478 vld3_lane_u8 (const uint8_t * __a, uint8x8x3_t __b, const int __c)
9479 {
9480 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9481 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9482 __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9483 return __rv.__i;
9484 }
9485
9486 __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
vld3_lane_u16(const uint16_t * __a,uint16x4x3_t __b,const int __c)9487 vld3_lane_u16 (const uint16_t * __a, uint16x4x3_t __b, const int __c)
9488 {
9489 union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9490 union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9491 __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9492 return __rv.__i;
9493 }
9494
9495 __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
vld3_lane_u32(const uint32_t * __a,uint32x2x3_t __b,const int __c)9496 vld3_lane_u32 (const uint32_t * __a, uint32x2x3_t __b, const int __c)
9497 {
9498 union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9499 union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9500 __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9501 return __rv.__i;
9502 }
9503
9504 __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
vld3_lane_p8(const poly8_t * __a,poly8x8x3_t __b,const int __c)9505 vld3_lane_p8 (const poly8_t * __a, poly8x8x3_t __b, const int __c)
9506 {
9507 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9508 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9509 __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9510 return __rv.__i;
9511 }
9512
9513 __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
vld3_lane_p16(const poly16_t * __a,poly16x4x3_t __b,const int __c)9514 vld3_lane_p16 (const poly16_t * __a, poly16x4x3_t __b, const int __c)
9515 {
9516 union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9517 union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9518 __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9519 return __rv.__i;
9520 }
9521
9522 __extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__))
vld3q_lane_s16(const int16_t * __a,int16x8x3_t __b,const int __c)9523 vld3q_lane_s16 (const int16_t * __a, int16x8x3_t __b, const int __c)
9524 {
9525 union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9526 union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9527 __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9528 return __rv.__i;
9529 }
9530
9531 __extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__))
vld3q_lane_s32(const int32_t * __a,int32x4x3_t __b,const int __c)9532 vld3q_lane_s32 (const int32_t * __a, int32x4x3_t __b, const int __c)
9533 {
9534 union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9535 union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9536 __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9537 return __rv.__i;
9538 }
9539
9540 __extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__))
vld3q_lane_f32(const float32_t * __a,float32x4x3_t __b,const int __c)9541 vld3q_lane_f32 (const float32_t * __a, float32x4x3_t __b, const int __c)
9542 {
9543 union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9544 union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9545 __rv.__o = __builtin_neon_vld3_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
9546 return __rv.__i;
9547 }
9548
9549 __extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__))
vld3q_lane_u16(const uint16_t * __a,uint16x8x3_t __b,const int __c)9550 vld3q_lane_u16 (const uint16_t * __a, uint16x8x3_t __b, const int __c)
9551 {
9552 union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9553 union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9554 __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9555 return __rv.__i;
9556 }
9557
9558 __extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__))
vld3q_lane_u32(const uint32_t * __a,uint32x4x3_t __b,const int __c)9559 vld3q_lane_u32 (const uint32_t * __a, uint32x4x3_t __b, const int __c)
9560 {
9561 union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9562 union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9563 __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9564 return __rv.__i;
9565 }
9566
9567 __extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__))
vld3q_lane_p16(const poly16_t * __a,poly16x8x3_t __b,const int __c)9568 vld3q_lane_p16 (const poly16_t * __a, poly16x8x3_t __b, const int __c)
9569 {
9570 union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9571 union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9572 __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9573 return __rv.__i;
9574 }
9575
9576 __extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
vld3_dup_s8(const int8_t * __a)9577 vld3_dup_s8 (const int8_t * __a)
9578 {
9579 union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9580 __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
9581 return __rv.__i;
9582 }
9583
9584 __extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
vld3_dup_s16(const int16_t * __a)9585 vld3_dup_s16 (const int16_t * __a)
9586 {
9587 union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9588 __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
9589 return __rv.__i;
9590 }
9591
9592 __extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
vld3_dup_s32(const int32_t * __a)9593 vld3_dup_s32 (const int32_t * __a)
9594 {
9595 union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9596 __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
9597 return __rv.__i;
9598 }
9599
9600 __extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
vld3_dup_f32(const float32_t * __a)9601 vld3_dup_f32 (const float32_t * __a)
9602 {
9603 union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9604 __rv.__o = __builtin_neon_vld3_dupv2sf ((const __builtin_neon_sf *) __a);
9605 return __rv.__i;
9606 }
9607
9608 __extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
vld3_dup_u8(const uint8_t * __a)9609 vld3_dup_u8 (const uint8_t * __a)
9610 {
9611 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9612 __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
9613 return __rv.__i;
9614 }
9615
9616 __extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
vld3_dup_u16(const uint16_t * __a)9617 vld3_dup_u16 (const uint16_t * __a)
9618 {
9619 union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9620 __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
9621 return __rv.__i;
9622 }
9623
9624 __extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
vld3_dup_u32(const uint32_t * __a)9625 vld3_dup_u32 (const uint32_t * __a)
9626 {
9627 union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9628 __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
9629 return __rv.__i;
9630 }
9631
9632 __extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
vld3_dup_p8(const poly8_t * __a)9633 vld3_dup_p8 (const poly8_t * __a)
9634 {
9635 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9636 __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
9637 return __rv.__i;
9638 }
9639
9640 __extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
vld3_dup_p16(const poly16_t * __a)9641 vld3_dup_p16 (const poly16_t * __a)
9642 {
9643 union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9644 __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
9645 return __rv.__i;
9646 }
9647
9648 __extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__))
vld3_dup_s64(const int64_t * __a)9649 vld3_dup_s64 (const int64_t * __a)
9650 {
9651 union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9652 __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
9653 return __rv.__i;
9654 }
9655
9656 __extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__))
vld3_dup_u64(const uint64_t * __a)9657 vld3_dup_u64 (const uint64_t * __a)
9658 {
9659 union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9660 __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
9661 return __rv.__i;
9662 }
9663
9664 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_s8(int8_t * __a,int8x8x3_t __b)9665 vst3_s8 (int8_t * __a, int8x8x3_t __b)
9666 {
9667 union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9668 __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9669 }
9670
9671 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_s16(int16_t * __a,int16x4x3_t __b)9672 vst3_s16 (int16_t * __a, int16x4x3_t __b)
9673 {
9674 union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9675 __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9676 }
9677
9678 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_s32(int32_t * __a,int32x2x3_t __b)9679 vst3_s32 (int32_t * __a, int32x2x3_t __b)
9680 {
9681 union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9682 __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
9683 }
9684
9685 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_f32(float32_t * __a,float32x2x3_t __b)9686 vst3_f32 (float32_t * __a, float32x2x3_t __b)
9687 {
9688 union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9689 __builtin_neon_vst3v2sf ((__builtin_neon_sf *) __a, __bu.__o);
9690 }
9691
9692 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_u8(uint8_t * __a,uint8x8x3_t __b)9693 vst3_u8 (uint8_t * __a, uint8x8x3_t __b)
9694 {
9695 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9696 __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9697 }
9698
9699 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_u16(uint16_t * __a,uint16x4x3_t __b)9700 vst3_u16 (uint16_t * __a, uint16x4x3_t __b)
9701 {
9702 union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9703 __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9704 }
9705
9706 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_u32(uint32_t * __a,uint32x2x3_t __b)9707 vst3_u32 (uint32_t * __a, uint32x2x3_t __b)
9708 {
9709 union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9710 __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
9711 }
9712
9713 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_p8(poly8_t * __a,poly8x8x3_t __b)9714 vst3_p8 (poly8_t * __a, poly8x8x3_t __b)
9715 {
9716 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9717 __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9718 }
9719
9720 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_p16(poly16_t * __a,poly16x4x3_t __b)9721 vst3_p16 (poly16_t * __a, poly16x4x3_t __b)
9722 {
9723 union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9724 __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9725 }
9726
9727 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_s64(int64_t * __a,int64x1x3_t __b)9728 vst3_s64 (int64_t * __a, int64x1x3_t __b)
9729 {
9730 union { int64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9731 __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
9732 }
9733
9734 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_u64(uint64_t * __a,uint64x1x3_t __b)9735 vst3_u64 (uint64_t * __a, uint64x1x3_t __b)
9736 {
9737 union { uint64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9738 __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
9739 }
9740
9741 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_s8(int8_t * __a,int8x16x3_t __b)9742 vst3q_s8 (int8_t * __a, int8x16x3_t __b)
9743 {
9744 union { int8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9745 __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9746 }
9747
9748 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_s16(int16_t * __a,int16x8x3_t __b)9749 vst3q_s16 (int16_t * __a, int16x8x3_t __b)
9750 {
9751 union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9752 __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9753 }
9754
9755 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_s32(int32_t * __a,int32x4x3_t __b)9756 vst3q_s32 (int32_t * __a, int32x4x3_t __b)
9757 {
9758 union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9759 __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
9760 }
9761
9762 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_f32(float32_t * __a,float32x4x3_t __b)9763 vst3q_f32 (float32_t * __a, float32x4x3_t __b)
9764 {
9765 union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9766 __builtin_neon_vst3v4sf ((__builtin_neon_sf *) __a, __bu.__o);
9767 }
9768
9769 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_u8(uint8_t * __a,uint8x16x3_t __b)9770 vst3q_u8 (uint8_t * __a, uint8x16x3_t __b)
9771 {
9772 union { uint8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9773 __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9774 }
9775
9776 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_u16(uint16_t * __a,uint16x8x3_t __b)9777 vst3q_u16 (uint16_t * __a, uint16x8x3_t __b)
9778 {
9779 union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9780 __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9781 }
9782
9783 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_u32(uint32_t * __a,uint32x4x3_t __b)9784 vst3q_u32 (uint32_t * __a, uint32x4x3_t __b)
9785 {
9786 union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9787 __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
9788 }
9789
9790 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_p8(poly8_t * __a,poly8x16x3_t __b)9791 vst3q_p8 (poly8_t * __a, poly8x16x3_t __b)
9792 {
9793 union { poly8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9794 __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9795 }
9796
9797 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_p16(poly16_t * __a,poly16x8x3_t __b)9798 vst3q_p16 (poly16_t * __a, poly16x8x3_t __b)
9799 {
9800 union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9801 __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9802 }
9803
9804 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_s8(int8_t * __a,int8x8x3_t __b,const int __c)9805 vst3_lane_s8 (int8_t * __a, int8x8x3_t __b, const int __c)
9806 {
9807 union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9808 __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9809 }
9810
9811 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_s16(int16_t * __a,int16x4x3_t __b,const int __c)9812 vst3_lane_s16 (int16_t * __a, int16x4x3_t __b, const int __c)
9813 {
9814 union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9815 __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9816 }
9817
9818 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_s32(int32_t * __a,int32x2x3_t __b,const int __c)9819 vst3_lane_s32 (int32_t * __a, int32x2x3_t __b, const int __c)
9820 {
9821 union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9822 __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9823 }
9824
9825 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_f32(float32_t * __a,float32x2x3_t __b,const int __c)9826 vst3_lane_f32 (float32_t * __a, float32x2x3_t __b, const int __c)
9827 {
9828 union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9829 __builtin_neon_vst3_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9830 }
9831
9832 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_u8(uint8_t * __a,uint8x8x3_t __b,const int __c)9833 vst3_lane_u8 (uint8_t * __a, uint8x8x3_t __b, const int __c)
9834 {
9835 union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9836 __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9837 }
9838
9839 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_u16(uint16_t * __a,uint16x4x3_t __b,const int __c)9840 vst3_lane_u16 (uint16_t * __a, uint16x4x3_t __b, const int __c)
9841 {
9842 union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9843 __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9844 }
9845
9846 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_u32(uint32_t * __a,uint32x2x3_t __b,const int __c)9847 vst3_lane_u32 (uint32_t * __a, uint32x2x3_t __b, const int __c)
9848 {
9849 union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9850 __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9851 }
9852
9853 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_p8(poly8_t * __a,poly8x8x3_t __b,const int __c)9854 vst3_lane_p8 (poly8_t * __a, poly8x8x3_t __b, const int __c)
9855 {
9856 union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9857 __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9858 }
9859
9860 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3_lane_p16(poly16_t * __a,poly16x4x3_t __b,const int __c)9861 vst3_lane_p16 (poly16_t * __a, poly16x4x3_t __b, const int __c)
9862 {
9863 union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9864 __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9865 }
9866
9867 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_lane_s16(int16_t * __a,int16x8x3_t __b,const int __c)9868 vst3q_lane_s16 (int16_t * __a, int16x8x3_t __b, const int __c)
9869 {
9870 union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9871 __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9872 }
9873
9874 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_lane_s32(int32_t * __a,int32x4x3_t __b,const int __c)9875 vst3q_lane_s32 (int32_t * __a, int32x4x3_t __b, const int __c)
9876 {
9877 union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9878 __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9879 }
9880
9881 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_lane_f32(float32_t * __a,float32x4x3_t __b,const int __c)9882 vst3q_lane_f32 (float32_t * __a, float32x4x3_t __b, const int __c)
9883 {
9884 union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9885 __builtin_neon_vst3_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9886 }
9887
9888 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_lane_u16(uint16_t * __a,uint16x8x3_t __b,const int __c)9889 vst3q_lane_u16 (uint16_t * __a, uint16x8x3_t __b, const int __c)
9890 {
9891 union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9892 __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9893 }
9894
9895 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_lane_u32(uint32_t * __a,uint32x4x3_t __b,const int __c)9896 vst3q_lane_u32 (uint32_t * __a, uint32x4x3_t __b, const int __c)
9897 {
9898 union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9899 __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9900 }
9901
9902 __extension__ static __inline void __attribute__ ((__always_inline__))
vst3q_lane_p16(poly16_t * __a,poly16x8x3_t __b,const int __c)9903 vst3q_lane_p16 (poly16_t * __a, poly16x8x3_t __b, const int __c)
9904 {
9905 union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9906 __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9907 }
9908
9909 __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
vld4_s8(const int8_t * __a)9910 vld4_s8 (const int8_t * __a)
9911 {
9912 union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
9913 __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
9914 return __rv.__i;
9915 }
9916
9917 __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
vld4_s16(const int16_t * __a)9918 vld4_s16 (const int16_t * __a)
9919 {
9920 union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
9921 __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
9922 return __rv.__i;
9923 }
9924
9925 __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
vld4_s32(const int32_t * __a)9926 vld4_s32 (const int32_t * __a)
9927 {
9928 union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
9929 __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
9930 return __rv.__i;
9931 }
9932
9933 __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
vld4_f32(const float32_t * __a)9934 vld4_f32 (const float32_t * __a)
9935 {
9936 union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
9937 __rv.__o = __builtin_neon_vld4v2sf ((const __builtin_neon_sf *) __a);
9938 return __rv.__i;
9939 }
9940
9941 __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
vld4_u8(const uint8_t * __a)9942 vld4_u8 (const uint8_t * __a)
9943 {
9944 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
9945 __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
9946 return __rv.__i;
9947 }
9948
9949 __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
vld4_u16(const uint16_t * __a)9950 vld4_u16 (const uint16_t * __a)
9951 {
9952 union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
9953 __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
9954 return __rv.__i;
9955 }
9956
9957 __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
vld4_u32(const uint32_t * __a)9958 vld4_u32 (const uint32_t * __a)
9959 {
9960 union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
9961 __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
9962 return __rv.__i;
9963 }
9964
9965 __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
vld4_p8(const poly8_t * __a)9966 vld4_p8 (const poly8_t * __a)
9967 {
9968 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
9969 __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
9970 return __rv.__i;
9971 }
9972
9973 __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
vld4_p16(const poly16_t * __a)9974 vld4_p16 (const poly16_t * __a)
9975 {
9976 union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
9977 __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
9978 return __rv.__i;
9979 }
9980
9981 __extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__))
vld4_s64(const int64_t * __a)9982 vld4_s64 (const int64_t * __a)
9983 {
9984 union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
9985 __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
9986 return __rv.__i;
9987 }
9988
9989 __extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__))
vld4_u64(const uint64_t * __a)9990 vld4_u64 (const uint64_t * __a)
9991 {
9992 union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
9993 __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
9994 return __rv.__i;
9995 }
9996
9997 __extension__ static __inline int8x16x4_t __attribute__ ((__always_inline__))
vld4q_s8(const int8_t * __a)9998 vld4q_s8 (const int8_t * __a)
9999 {
10000 union { int8x16x4_t __i; __builtin_neon_xi __o; } __rv;
10001 __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
10002 return __rv.__i;
10003 }
10004
10005 __extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__))
vld4q_s16(const int16_t * __a)10006 vld4q_s16 (const int16_t * __a)
10007 {
10008 union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10009 __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
10010 return __rv.__i;
10011 }
10012
10013 __extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__))
vld4q_s32(const int32_t * __a)10014 vld4q_s32 (const int32_t * __a)
10015 {
10016 union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10017 __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
10018 return __rv.__i;
10019 }
10020
10021 __extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__))
vld4q_f32(const float32_t * __a)10022 vld4q_f32 (const float32_t * __a)
10023 {
10024 union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10025 __rv.__o = __builtin_neon_vld4v4sf ((const __builtin_neon_sf *) __a);
10026 return __rv.__i;
10027 }
10028
10029 __extension__ static __inline uint8x16x4_t __attribute__ ((__always_inline__))
vld4q_u8(const uint8_t * __a)10030 vld4q_u8 (const uint8_t * __a)
10031 {
10032 union { uint8x16x4_t __i; __builtin_neon_xi __o; } __rv;
10033 __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
10034 return __rv.__i;
10035 }
10036
10037 __extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__))
vld4q_u16(const uint16_t * __a)10038 vld4q_u16 (const uint16_t * __a)
10039 {
10040 union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10041 __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
10042 return __rv.__i;
10043 }
10044
10045 __extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__))
vld4q_u32(const uint32_t * __a)10046 vld4q_u32 (const uint32_t * __a)
10047 {
10048 union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10049 __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
10050 return __rv.__i;
10051 }
10052
10053 __extension__ static __inline poly8x16x4_t __attribute__ ((__always_inline__))
vld4q_p8(const poly8_t * __a)10054 vld4q_p8 (const poly8_t * __a)
10055 {
10056 union { poly8x16x4_t __i; __builtin_neon_xi __o; } __rv;
10057 __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
10058 return __rv.__i;
10059 }
10060
10061 __extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__))
vld4q_p16(const poly16_t * __a)10062 vld4q_p16 (const poly16_t * __a)
10063 {
10064 union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10065 __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
10066 return __rv.__i;
10067 }
10068
10069 __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
vld4_lane_s8(const int8_t * __a,int8x8x4_t __b,const int __c)10070 vld4_lane_s8 (const int8_t * __a, int8x8x4_t __b, const int __c)
10071 {
10072 union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10073 union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10074 __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10075 return __rv.__i;
10076 }
10077
10078 __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
vld4_lane_s16(const int16_t * __a,int16x4x4_t __b,const int __c)10079 vld4_lane_s16 (const int16_t * __a, int16x4x4_t __b, const int __c)
10080 {
10081 union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10082 union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10083 __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10084 return __rv.__i;
10085 }
10086
10087 __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
vld4_lane_s32(const int32_t * __a,int32x2x4_t __b,const int __c)10088 vld4_lane_s32 (const int32_t * __a, int32x2x4_t __b, const int __c)
10089 {
10090 union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10091 union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10092 __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10093 return __rv.__i;
10094 }
10095
10096 __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
vld4_lane_f32(const float32_t * __a,float32x2x4_t __b,const int __c)10097 vld4_lane_f32 (const float32_t * __a, float32x2x4_t __b, const int __c)
10098 {
10099 union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10100 union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10101 __rv.__o = __builtin_neon_vld4_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
10102 return __rv.__i;
10103 }
10104
10105 __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
vld4_lane_u8(const uint8_t * __a,uint8x8x4_t __b,const int __c)10106 vld4_lane_u8 (const uint8_t * __a, uint8x8x4_t __b, const int __c)
10107 {
10108 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10109 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10110 __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10111 return __rv.__i;
10112 }
10113
10114 __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
vld4_lane_u16(const uint16_t * __a,uint16x4x4_t __b,const int __c)10115 vld4_lane_u16 (const uint16_t * __a, uint16x4x4_t __b, const int __c)
10116 {
10117 union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10118 union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10119 __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10120 return __rv.__i;
10121 }
10122
10123 __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
vld4_lane_u32(const uint32_t * __a,uint32x2x4_t __b,const int __c)10124 vld4_lane_u32 (const uint32_t * __a, uint32x2x4_t __b, const int __c)
10125 {
10126 union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10127 union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10128 __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10129 return __rv.__i;
10130 }
10131
10132 __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
vld4_lane_p8(const poly8_t * __a,poly8x8x4_t __b,const int __c)10133 vld4_lane_p8 (const poly8_t * __a, poly8x8x4_t __b, const int __c)
10134 {
10135 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10136 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10137 __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
10138 return __rv.__i;
10139 }
10140
10141 __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
vld4_lane_p16(const poly16_t * __a,poly16x4x4_t __b,const int __c)10142 vld4_lane_p16 (const poly16_t * __a, poly16x4x4_t __b, const int __c)
10143 {
10144 union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10145 union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10146 __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10147 return __rv.__i;
10148 }
10149
10150 __extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__))
vld4q_lane_s16(const int16_t * __a,int16x8x4_t __b,const int __c)10151 vld4q_lane_s16 (const int16_t * __a, int16x8x4_t __b, const int __c)
10152 {
10153 union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10154 union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10155 __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10156 return __rv.__i;
10157 }
10158
10159 __extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__))
vld4q_lane_s32(const int32_t * __a,int32x4x4_t __b,const int __c)10160 vld4q_lane_s32 (const int32_t * __a, int32x4x4_t __b, const int __c)
10161 {
10162 union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10163 union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10164 __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10165 return __rv.__i;
10166 }
10167
10168 __extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__))
vld4q_lane_f32(const float32_t * __a,float32x4x4_t __b,const int __c)10169 vld4q_lane_f32 (const float32_t * __a, float32x4x4_t __b, const int __c)
10170 {
10171 union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10172 union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10173 __rv.__o = __builtin_neon_vld4_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
10174 return __rv.__i;
10175 }
10176
10177 __extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__))
vld4q_lane_u16(const uint16_t * __a,uint16x8x4_t __b,const int __c)10178 vld4q_lane_u16 (const uint16_t * __a, uint16x8x4_t __b, const int __c)
10179 {
10180 union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10181 union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10182 __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10183 return __rv.__i;
10184 }
10185
10186 __extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__))
vld4q_lane_u32(const uint32_t * __a,uint32x4x4_t __b,const int __c)10187 vld4q_lane_u32 (const uint32_t * __a, uint32x4x4_t __b, const int __c)
10188 {
10189 union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10190 union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10191 __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10192 return __rv.__i;
10193 }
10194
10195 __extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__))
vld4q_lane_p16(const poly16_t * __a,poly16x8x4_t __b,const int __c)10196 vld4q_lane_p16 (const poly16_t * __a, poly16x8x4_t __b, const int __c)
10197 {
10198 union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10199 union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10200 __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10201 return __rv.__i;
10202 }
10203
10204 __extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
vld4_dup_s8(const int8_t * __a)10205 vld4_dup_s8 (const int8_t * __a)
10206 {
10207 union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10208 __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10209 return __rv.__i;
10210 }
10211
10212 __extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
vld4_dup_s16(const int16_t * __a)10213 vld4_dup_s16 (const int16_t * __a)
10214 {
10215 union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10216 __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10217 return __rv.__i;
10218 }
10219
10220 __extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
vld4_dup_s32(const int32_t * __a)10221 vld4_dup_s32 (const int32_t * __a)
10222 {
10223 union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10224 __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
10225 return __rv.__i;
10226 }
10227
10228 __extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
vld4_dup_f32(const float32_t * __a)10229 vld4_dup_f32 (const float32_t * __a)
10230 {
10231 union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10232 __rv.__o = __builtin_neon_vld4_dupv2sf ((const __builtin_neon_sf *) __a);
10233 return __rv.__i;
10234 }
10235
10236 __extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
vld4_dup_u8(const uint8_t * __a)10237 vld4_dup_u8 (const uint8_t * __a)
10238 {
10239 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10240 __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10241 return __rv.__i;
10242 }
10243
10244 __extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
vld4_dup_u16(const uint16_t * __a)10245 vld4_dup_u16 (const uint16_t * __a)
10246 {
10247 union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10248 __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10249 return __rv.__i;
10250 }
10251
10252 __extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
vld4_dup_u32(const uint32_t * __a)10253 vld4_dup_u32 (const uint32_t * __a)
10254 {
10255 union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10256 __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
10257 return __rv.__i;
10258 }
10259
10260 __extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
vld4_dup_p8(const poly8_t * __a)10261 vld4_dup_p8 (const poly8_t * __a)
10262 {
10263 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10264 __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10265 return __rv.__i;
10266 }
10267
10268 __extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
vld4_dup_p16(const poly16_t * __a)10269 vld4_dup_p16 (const poly16_t * __a)
10270 {
10271 union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10272 __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10273 return __rv.__i;
10274 }
10275
10276 __extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__))
vld4_dup_s64(const int64_t * __a)10277 vld4_dup_s64 (const int64_t * __a)
10278 {
10279 union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10280 __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
10281 return __rv.__i;
10282 }
10283
10284 __extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__))
vld4_dup_u64(const uint64_t * __a)10285 vld4_dup_u64 (const uint64_t * __a)
10286 {
10287 union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10288 __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
10289 return __rv.__i;
10290 }
10291
10292 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_s8(int8_t * __a,int8x8x4_t __b)10293 vst4_s8 (int8_t * __a, int8x8x4_t __b)
10294 {
10295 union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10296 __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10297 }
10298
10299 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_s16(int16_t * __a,int16x4x4_t __b)10300 vst4_s16 (int16_t * __a, int16x4x4_t __b)
10301 {
10302 union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10303 __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10304 }
10305
10306 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_s32(int32_t * __a,int32x2x4_t __b)10307 vst4_s32 (int32_t * __a, int32x2x4_t __b)
10308 {
10309 union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10310 __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
10311 }
10312
10313 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_f32(float32_t * __a,float32x2x4_t __b)10314 vst4_f32 (float32_t * __a, float32x2x4_t __b)
10315 {
10316 union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10317 __builtin_neon_vst4v2sf ((__builtin_neon_sf *) __a, __bu.__o);
10318 }
10319
10320 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_u8(uint8_t * __a,uint8x8x4_t __b)10321 vst4_u8 (uint8_t * __a, uint8x8x4_t __b)
10322 {
10323 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10324 __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10325 }
10326
10327 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_u16(uint16_t * __a,uint16x4x4_t __b)10328 vst4_u16 (uint16_t * __a, uint16x4x4_t __b)
10329 {
10330 union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10331 __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10332 }
10333
10334 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_u32(uint32_t * __a,uint32x2x4_t __b)10335 vst4_u32 (uint32_t * __a, uint32x2x4_t __b)
10336 {
10337 union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10338 __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
10339 }
10340
10341 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_p8(poly8_t * __a,poly8x8x4_t __b)10342 vst4_p8 (poly8_t * __a, poly8x8x4_t __b)
10343 {
10344 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10345 __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10346 }
10347
10348 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_p16(poly16_t * __a,poly16x4x4_t __b)10349 vst4_p16 (poly16_t * __a, poly16x4x4_t __b)
10350 {
10351 union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10352 __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10353 }
10354
10355 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_s64(int64_t * __a,int64x1x4_t __b)10356 vst4_s64 (int64_t * __a, int64x1x4_t __b)
10357 {
10358 union { int64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10359 __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
10360 }
10361
10362 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_u64(uint64_t * __a,uint64x1x4_t __b)10363 vst4_u64 (uint64_t * __a, uint64x1x4_t __b)
10364 {
10365 union { uint64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10366 __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
10367 }
10368
10369 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_s8(int8_t * __a,int8x16x4_t __b)10370 vst4q_s8 (int8_t * __a, int8x16x4_t __b)
10371 {
10372 union { int8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10373 __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10374 }
10375
10376 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_s16(int16_t * __a,int16x8x4_t __b)10377 vst4q_s16 (int16_t * __a, int16x8x4_t __b)
10378 {
10379 union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10380 __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10381 }
10382
10383 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_s32(int32_t * __a,int32x4x4_t __b)10384 vst4q_s32 (int32_t * __a, int32x4x4_t __b)
10385 {
10386 union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10387 __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
10388 }
10389
10390 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_f32(float32_t * __a,float32x4x4_t __b)10391 vst4q_f32 (float32_t * __a, float32x4x4_t __b)
10392 {
10393 union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10394 __builtin_neon_vst4v4sf ((__builtin_neon_sf *) __a, __bu.__o);
10395 }
10396
10397 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_u8(uint8_t * __a,uint8x16x4_t __b)10398 vst4q_u8 (uint8_t * __a, uint8x16x4_t __b)
10399 {
10400 union { uint8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10401 __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10402 }
10403
10404 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_u16(uint16_t * __a,uint16x8x4_t __b)10405 vst4q_u16 (uint16_t * __a, uint16x8x4_t __b)
10406 {
10407 union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10408 __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10409 }
10410
10411 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_u32(uint32_t * __a,uint32x4x4_t __b)10412 vst4q_u32 (uint32_t * __a, uint32x4x4_t __b)
10413 {
10414 union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10415 __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
10416 }
10417
10418 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_p8(poly8_t * __a,poly8x16x4_t __b)10419 vst4q_p8 (poly8_t * __a, poly8x16x4_t __b)
10420 {
10421 union { poly8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10422 __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10423 }
10424
10425 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_p16(poly16_t * __a,poly16x8x4_t __b)10426 vst4q_p16 (poly16_t * __a, poly16x8x4_t __b)
10427 {
10428 union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10429 __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10430 }
10431
10432 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_s8(int8_t * __a,int8x8x4_t __b,const int __c)10433 vst4_lane_s8 (int8_t * __a, int8x8x4_t __b, const int __c)
10434 {
10435 union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10436 __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10437 }
10438
10439 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_s16(int16_t * __a,int16x4x4_t __b,const int __c)10440 vst4_lane_s16 (int16_t * __a, int16x4x4_t __b, const int __c)
10441 {
10442 union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10443 __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10444 }
10445
10446 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_s32(int32_t * __a,int32x2x4_t __b,const int __c)10447 vst4_lane_s32 (int32_t * __a, int32x2x4_t __b, const int __c)
10448 {
10449 union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10450 __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
10451 }
10452
10453 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_f32(float32_t * __a,float32x2x4_t __b,const int __c)10454 vst4_lane_f32 (float32_t * __a, float32x2x4_t __b, const int __c)
10455 {
10456 union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10457 __builtin_neon_vst4_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
10458 }
10459
10460 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_u8(uint8_t * __a,uint8x8x4_t __b,const int __c)10461 vst4_lane_u8 (uint8_t * __a, uint8x8x4_t __b, const int __c)
10462 {
10463 union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10464 __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10465 }
10466
10467 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_u16(uint16_t * __a,uint16x4x4_t __b,const int __c)10468 vst4_lane_u16 (uint16_t * __a, uint16x4x4_t __b, const int __c)
10469 {
10470 union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10471 __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10472 }
10473
10474 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_u32(uint32_t * __a,uint32x2x4_t __b,const int __c)10475 vst4_lane_u32 (uint32_t * __a, uint32x2x4_t __b, const int __c)
10476 {
10477 union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10478 __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
10479 }
10480
10481 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_p8(poly8_t * __a,poly8x8x4_t __b,const int __c)10482 vst4_lane_p8 (poly8_t * __a, poly8x8x4_t __b, const int __c)
10483 {
10484 union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10485 __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10486 }
10487
10488 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4_lane_p16(poly16_t * __a,poly16x4x4_t __b,const int __c)10489 vst4_lane_p16 (poly16_t * __a, poly16x4x4_t __b, const int __c)
10490 {
10491 union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10492 __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10493 }
10494
10495 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_lane_s16(int16_t * __a,int16x8x4_t __b,const int __c)10496 vst4q_lane_s16 (int16_t * __a, int16x8x4_t __b, const int __c)
10497 {
10498 union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10499 __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10500 }
10501
10502 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_lane_s32(int32_t * __a,int32x4x4_t __b,const int __c)10503 vst4q_lane_s32 (int32_t * __a, int32x4x4_t __b, const int __c)
10504 {
10505 union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10506 __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
10507 }
10508
10509 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_lane_f32(float32_t * __a,float32x4x4_t __b,const int __c)10510 vst4q_lane_f32 (float32_t * __a, float32x4x4_t __b, const int __c)
10511 {
10512 union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10513 __builtin_neon_vst4_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
10514 }
10515
10516 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_lane_u16(uint16_t * __a,uint16x8x4_t __b,const int __c)10517 vst4q_lane_u16 (uint16_t * __a, uint16x8x4_t __b, const int __c)
10518 {
10519 union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10520 __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10521 }
10522
10523 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_lane_u32(uint32_t * __a,uint32x4x4_t __b,const int __c)10524 vst4q_lane_u32 (uint32_t * __a, uint32x4x4_t __b, const int __c)
10525 {
10526 union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10527 __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
10528 }
10529
10530 __extension__ static __inline void __attribute__ ((__always_inline__))
vst4q_lane_p16(poly16_t * __a,poly16x8x4_t __b,const int __c)10531 vst4q_lane_p16 (poly16_t * __a, poly16x8x4_t __b, const int __c)
10532 {
10533 union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10534 __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10535 }
10536
10537 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vand_s8(int8x8_t __a,int8x8_t __b)10538 vand_s8 (int8x8_t __a, int8x8_t __b)
10539 {
10540 return (int8x8_t)__builtin_neon_vandv8qi (__a, __b, 1);
10541 }
10542
10543 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vand_s16(int16x4_t __a,int16x4_t __b)10544 vand_s16 (int16x4_t __a, int16x4_t __b)
10545 {
10546 return (int16x4_t)__builtin_neon_vandv4hi (__a, __b, 1);
10547 }
10548
10549 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vand_s32(int32x2_t __a,int32x2_t __b)10550 vand_s32 (int32x2_t __a, int32x2_t __b)
10551 {
10552 return (int32x2_t)__builtin_neon_vandv2si (__a, __b, 1);
10553 }
10554
10555 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vand_u8(uint8x8_t __a,uint8x8_t __b)10556 vand_u8 (uint8x8_t __a, uint8x8_t __b)
10557 {
10558 return (uint8x8_t)__builtin_neon_vandv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10559 }
10560
10561 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vand_u16(uint16x4_t __a,uint16x4_t __b)10562 vand_u16 (uint16x4_t __a, uint16x4_t __b)
10563 {
10564 return (uint16x4_t)__builtin_neon_vandv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10565 }
10566
10567 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vand_u32(uint32x2_t __a,uint32x2_t __b)10568 vand_u32 (uint32x2_t __a, uint32x2_t __b)
10569 {
10570 return (uint32x2_t)__builtin_neon_vandv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10571 }
10572
10573 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vand_s64(int64x1_t __a,int64x1_t __b)10574 vand_s64 (int64x1_t __a, int64x1_t __b)
10575 {
10576 return (int64x1_t)__builtin_neon_vanddi (__a, __b, 1);
10577 }
10578
10579 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vand_u64(uint64x1_t __a,uint64x1_t __b)10580 vand_u64 (uint64x1_t __a, uint64x1_t __b)
10581 {
10582 return (uint64x1_t)__builtin_neon_vanddi ((int64x1_t) __a, (int64x1_t) __b, 0);
10583 }
10584
10585 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vandq_s8(int8x16_t __a,int8x16_t __b)10586 vandq_s8 (int8x16_t __a, int8x16_t __b)
10587 {
10588 return (int8x16_t)__builtin_neon_vandv16qi (__a, __b, 1);
10589 }
10590
10591 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vandq_s16(int16x8_t __a,int16x8_t __b)10592 vandq_s16 (int16x8_t __a, int16x8_t __b)
10593 {
10594 return (int16x8_t)__builtin_neon_vandv8hi (__a, __b, 1);
10595 }
10596
10597 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vandq_s32(int32x4_t __a,int32x4_t __b)10598 vandq_s32 (int32x4_t __a, int32x4_t __b)
10599 {
10600 return (int32x4_t)__builtin_neon_vandv4si (__a, __b, 1);
10601 }
10602
10603 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vandq_s64(int64x2_t __a,int64x2_t __b)10604 vandq_s64 (int64x2_t __a, int64x2_t __b)
10605 {
10606 return (int64x2_t)__builtin_neon_vandv2di (__a, __b, 1);
10607 }
10608
10609 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vandq_u8(uint8x16_t __a,uint8x16_t __b)10610 vandq_u8 (uint8x16_t __a, uint8x16_t __b)
10611 {
10612 return (uint8x16_t)__builtin_neon_vandv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10613 }
10614
10615 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vandq_u16(uint16x8_t __a,uint16x8_t __b)10616 vandq_u16 (uint16x8_t __a, uint16x8_t __b)
10617 {
10618 return (uint16x8_t)__builtin_neon_vandv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10619 }
10620
10621 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vandq_u32(uint32x4_t __a,uint32x4_t __b)10622 vandq_u32 (uint32x4_t __a, uint32x4_t __b)
10623 {
10624 return (uint32x4_t)__builtin_neon_vandv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10625 }
10626
10627 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vandq_u64(uint64x2_t __a,uint64x2_t __b)10628 vandq_u64 (uint64x2_t __a, uint64x2_t __b)
10629 {
10630 return (uint64x2_t)__builtin_neon_vandv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
10631 }
10632
10633 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vorr_s8(int8x8_t __a,int8x8_t __b)10634 vorr_s8 (int8x8_t __a, int8x8_t __b)
10635 {
10636 return (int8x8_t)__builtin_neon_vorrv8qi (__a, __b, 1);
10637 }
10638
10639 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vorr_s16(int16x4_t __a,int16x4_t __b)10640 vorr_s16 (int16x4_t __a, int16x4_t __b)
10641 {
10642 return (int16x4_t)__builtin_neon_vorrv4hi (__a, __b, 1);
10643 }
10644
10645 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vorr_s32(int32x2_t __a,int32x2_t __b)10646 vorr_s32 (int32x2_t __a, int32x2_t __b)
10647 {
10648 return (int32x2_t)__builtin_neon_vorrv2si (__a, __b, 1);
10649 }
10650
10651 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vorr_u8(uint8x8_t __a,uint8x8_t __b)10652 vorr_u8 (uint8x8_t __a, uint8x8_t __b)
10653 {
10654 return (uint8x8_t)__builtin_neon_vorrv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10655 }
10656
10657 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vorr_u16(uint16x4_t __a,uint16x4_t __b)10658 vorr_u16 (uint16x4_t __a, uint16x4_t __b)
10659 {
10660 return (uint16x4_t)__builtin_neon_vorrv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10661 }
10662
10663 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vorr_u32(uint32x2_t __a,uint32x2_t __b)10664 vorr_u32 (uint32x2_t __a, uint32x2_t __b)
10665 {
10666 return (uint32x2_t)__builtin_neon_vorrv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10667 }
10668
10669 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vorr_s64(int64x1_t __a,int64x1_t __b)10670 vorr_s64 (int64x1_t __a, int64x1_t __b)
10671 {
10672 return (int64x1_t)__builtin_neon_vorrdi (__a, __b, 1);
10673 }
10674
10675 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vorr_u64(uint64x1_t __a,uint64x1_t __b)10676 vorr_u64 (uint64x1_t __a, uint64x1_t __b)
10677 {
10678 return (uint64x1_t)__builtin_neon_vorrdi ((int64x1_t) __a, (int64x1_t) __b, 0);
10679 }
10680
10681 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vorrq_s8(int8x16_t __a,int8x16_t __b)10682 vorrq_s8 (int8x16_t __a, int8x16_t __b)
10683 {
10684 return (int8x16_t)__builtin_neon_vorrv16qi (__a, __b, 1);
10685 }
10686
10687 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vorrq_s16(int16x8_t __a,int16x8_t __b)10688 vorrq_s16 (int16x8_t __a, int16x8_t __b)
10689 {
10690 return (int16x8_t)__builtin_neon_vorrv8hi (__a, __b, 1);
10691 }
10692
10693 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vorrq_s32(int32x4_t __a,int32x4_t __b)10694 vorrq_s32 (int32x4_t __a, int32x4_t __b)
10695 {
10696 return (int32x4_t)__builtin_neon_vorrv4si (__a, __b, 1);
10697 }
10698
10699 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vorrq_s64(int64x2_t __a,int64x2_t __b)10700 vorrq_s64 (int64x2_t __a, int64x2_t __b)
10701 {
10702 return (int64x2_t)__builtin_neon_vorrv2di (__a, __b, 1);
10703 }
10704
10705 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vorrq_u8(uint8x16_t __a,uint8x16_t __b)10706 vorrq_u8 (uint8x16_t __a, uint8x16_t __b)
10707 {
10708 return (uint8x16_t)__builtin_neon_vorrv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10709 }
10710
10711 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vorrq_u16(uint16x8_t __a,uint16x8_t __b)10712 vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
10713 {
10714 return (uint16x8_t)__builtin_neon_vorrv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10715 }
10716
10717 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vorrq_u32(uint32x4_t __a,uint32x4_t __b)10718 vorrq_u32 (uint32x4_t __a, uint32x4_t __b)
10719 {
10720 return (uint32x4_t)__builtin_neon_vorrv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10721 }
10722
10723 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vorrq_u64(uint64x2_t __a,uint64x2_t __b)10724 vorrq_u64 (uint64x2_t __a, uint64x2_t __b)
10725 {
10726 return (uint64x2_t)__builtin_neon_vorrv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
10727 }
10728
10729 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
veor_s8(int8x8_t __a,int8x8_t __b)10730 veor_s8 (int8x8_t __a, int8x8_t __b)
10731 {
10732 return (int8x8_t)__builtin_neon_veorv8qi (__a, __b, 1);
10733 }
10734
10735 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
veor_s16(int16x4_t __a,int16x4_t __b)10736 veor_s16 (int16x4_t __a, int16x4_t __b)
10737 {
10738 return (int16x4_t)__builtin_neon_veorv4hi (__a, __b, 1);
10739 }
10740
10741 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
veor_s32(int32x2_t __a,int32x2_t __b)10742 veor_s32 (int32x2_t __a, int32x2_t __b)
10743 {
10744 return (int32x2_t)__builtin_neon_veorv2si (__a, __b, 1);
10745 }
10746
10747 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
veor_u8(uint8x8_t __a,uint8x8_t __b)10748 veor_u8 (uint8x8_t __a, uint8x8_t __b)
10749 {
10750 return (uint8x8_t)__builtin_neon_veorv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10751 }
10752
10753 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
veor_u16(uint16x4_t __a,uint16x4_t __b)10754 veor_u16 (uint16x4_t __a, uint16x4_t __b)
10755 {
10756 return (uint16x4_t)__builtin_neon_veorv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10757 }
10758
10759 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
veor_u32(uint32x2_t __a,uint32x2_t __b)10760 veor_u32 (uint32x2_t __a, uint32x2_t __b)
10761 {
10762 return (uint32x2_t)__builtin_neon_veorv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10763 }
10764
10765 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
veor_s64(int64x1_t __a,int64x1_t __b)10766 veor_s64 (int64x1_t __a, int64x1_t __b)
10767 {
10768 return (int64x1_t)__builtin_neon_veordi (__a, __b, 1);
10769 }
10770
10771 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
veor_u64(uint64x1_t __a,uint64x1_t __b)10772 veor_u64 (uint64x1_t __a, uint64x1_t __b)
10773 {
10774 return (uint64x1_t)__builtin_neon_veordi ((int64x1_t) __a, (int64x1_t) __b, 0);
10775 }
10776
10777 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
veorq_s8(int8x16_t __a,int8x16_t __b)10778 veorq_s8 (int8x16_t __a, int8x16_t __b)
10779 {
10780 return (int8x16_t)__builtin_neon_veorv16qi (__a, __b, 1);
10781 }
10782
10783 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
veorq_s16(int16x8_t __a,int16x8_t __b)10784 veorq_s16 (int16x8_t __a, int16x8_t __b)
10785 {
10786 return (int16x8_t)__builtin_neon_veorv8hi (__a, __b, 1);
10787 }
10788
10789 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
veorq_s32(int32x4_t __a,int32x4_t __b)10790 veorq_s32 (int32x4_t __a, int32x4_t __b)
10791 {
10792 return (int32x4_t)__builtin_neon_veorv4si (__a, __b, 1);
10793 }
10794
10795 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
veorq_s64(int64x2_t __a,int64x2_t __b)10796 veorq_s64 (int64x2_t __a, int64x2_t __b)
10797 {
10798 return (int64x2_t)__builtin_neon_veorv2di (__a, __b, 1);
10799 }
10800
10801 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
veorq_u8(uint8x16_t __a,uint8x16_t __b)10802 veorq_u8 (uint8x16_t __a, uint8x16_t __b)
10803 {
10804 return (uint8x16_t)__builtin_neon_veorv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10805 }
10806
10807 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
veorq_u16(uint16x8_t __a,uint16x8_t __b)10808 veorq_u16 (uint16x8_t __a, uint16x8_t __b)
10809 {
10810 return (uint16x8_t)__builtin_neon_veorv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10811 }
10812
10813 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
veorq_u32(uint32x4_t __a,uint32x4_t __b)10814 veorq_u32 (uint32x4_t __a, uint32x4_t __b)
10815 {
10816 return (uint32x4_t)__builtin_neon_veorv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10817 }
10818
10819 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
veorq_u64(uint64x2_t __a,uint64x2_t __b)10820 veorq_u64 (uint64x2_t __a, uint64x2_t __b)
10821 {
10822 return (uint64x2_t)__builtin_neon_veorv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
10823 }
10824
10825 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vbic_s8(int8x8_t __a,int8x8_t __b)10826 vbic_s8 (int8x8_t __a, int8x8_t __b)
10827 {
10828 return (int8x8_t)__builtin_neon_vbicv8qi (__a, __b, 1);
10829 }
10830
10831 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vbic_s16(int16x4_t __a,int16x4_t __b)10832 vbic_s16 (int16x4_t __a, int16x4_t __b)
10833 {
10834 return (int16x4_t)__builtin_neon_vbicv4hi (__a, __b, 1);
10835 }
10836
10837 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vbic_s32(int32x2_t __a,int32x2_t __b)10838 vbic_s32 (int32x2_t __a, int32x2_t __b)
10839 {
10840 return (int32x2_t)__builtin_neon_vbicv2si (__a, __b, 1);
10841 }
10842
10843 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vbic_u8(uint8x8_t __a,uint8x8_t __b)10844 vbic_u8 (uint8x8_t __a, uint8x8_t __b)
10845 {
10846 return (uint8x8_t)__builtin_neon_vbicv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10847 }
10848
10849 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vbic_u16(uint16x4_t __a,uint16x4_t __b)10850 vbic_u16 (uint16x4_t __a, uint16x4_t __b)
10851 {
10852 return (uint16x4_t)__builtin_neon_vbicv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10853 }
10854
10855 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vbic_u32(uint32x2_t __a,uint32x2_t __b)10856 vbic_u32 (uint32x2_t __a, uint32x2_t __b)
10857 {
10858 return (uint32x2_t)__builtin_neon_vbicv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10859 }
10860
10861 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vbic_s64(int64x1_t __a,int64x1_t __b)10862 vbic_s64 (int64x1_t __a, int64x1_t __b)
10863 {
10864 return (int64x1_t)__builtin_neon_vbicdi (__a, __b, 1);
10865 }
10866
10867 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vbic_u64(uint64x1_t __a,uint64x1_t __b)10868 vbic_u64 (uint64x1_t __a, uint64x1_t __b)
10869 {
10870 return (uint64x1_t)__builtin_neon_vbicdi ((int64x1_t) __a, (int64x1_t) __b, 0);
10871 }
10872
10873 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vbicq_s8(int8x16_t __a,int8x16_t __b)10874 vbicq_s8 (int8x16_t __a, int8x16_t __b)
10875 {
10876 return (int8x16_t)__builtin_neon_vbicv16qi (__a, __b, 1);
10877 }
10878
10879 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vbicq_s16(int16x8_t __a,int16x8_t __b)10880 vbicq_s16 (int16x8_t __a, int16x8_t __b)
10881 {
10882 return (int16x8_t)__builtin_neon_vbicv8hi (__a, __b, 1);
10883 }
10884
10885 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vbicq_s32(int32x4_t __a,int32x4_t __b)10886 vbicq_s32 (int32x4_t __a, int32x4_t __b)
10887 {
10888 return (int32x4_t)__builtin_neon_vbicv4si (__a, __b, 1);
10889 }
10890
10891 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vbicq_s64(int64x2_t __a,int64x2_t __b)10892 vbicq_s64 (int64x2_t __a, int64x2_t __b)
10893 {
10894 return (int64x2_t)__builtin_neon_vbicv2di (__a, __b, 1);
10895 }
10896
10897 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vbicq_u8(uint8x16_t __a,uint8x16_t __b)10898 vbicq_u8 (uint8x16_t __a, uint8x16_t __b)
10899 {
10900 return (uint8x16_t)__builtin_neon_vbicv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10901 }
10902
10903 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vbicq_u16(uint16x8_t __a,uint16x8_t __b)10904 vbicq_u16 (uint16x8_t __a, uint16x8_t __b)
10905 {
10906 return (uint16x8_t)__builtin_neon_vbicv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10907 }
10908
10909 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vbicq_u32(uint32x4_t __a,uint32x4_t __b)10910 vbicq_u32 (uint32x4_t __a, uint32x4_t __b)
10911 {
10912 return (uint32x4_t)__builtin_neon_vbicv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10913 }
10914
10915 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vbicq_u64(uint64x2_t __a,uint64x2_t __b)10916 vbicq_u64 (uint64x2_t __a, uint64x2_t __b)
10917 {
10918 return (uint64x2_t)__builtin_neon_vbicv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
10919 }
10920
10921 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vorn_s8(int8x8_t __a,int8x8_t __b)10922 vorn_s8 (int8x8_t __a, int8x8_t __b)
10923 {
10924 return (int8x8_t)__builtin_neon_vornv8qi (__a, __b, 1);
10925 }
10926
10927 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vorn_s16(int16x4_t __a,int16x4_t __b)10928 vorn_s16 (int16x4_t __a, int16x4_t __b)
10929 {
10930 return (int16x4_t)__builtin_neon_vornv4hi (__a, __b, 1);
10931 }
10932
10933 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vorn_s32(int32x2_t __a,int32x2_t __b)10934 vorn_s32 (int32x2_t __a, int32x2_t __b)
10935 {
10936 return (int32x2_t)__builtin_neon_vornv2si (__a, __b, 1);
10937 }
10938
10939 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vorn_u8(uint8x8_t __a,uint8x8_t __b)10940 vorn_u8 (uint8x8_t __a, uint8x8_t __b)
10941 {
10942 return (uint8x8_t)__builtin_neon_vornv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10943 }
10944
10945 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vorn_u16(uint16x4_t __a,uint16x4_t __b)10946 vorn_u16 (uint16x4_t __a, uint16x4_t __b)
10947 {
10948 return (uint16x4_t)__builtin_neon_vornv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10949 }
10950
10951 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vorn_u32(uint32x2_t __a,uint32x2_t __b)10952 vorn_u32 (uint32x2_t __a, uint32x2_t __b)
10953 {
10954 return (uint32x2_t)__builtin_neon_vornv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10955 }
10956
10957 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vorn_s64(int64x1_t __a,int64x1_t __b)10958 vorn_s64 (int64x1_t __a, int64x1_t __b)
10959 {
10960 return (int64x1_t)__builtin_neon_vorndi (__a, __b, 1);
10961 }
10962
10963 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vorn_u64(uint64x1_t __a,uint64x1_t __b)10964 vorn_u64 (uint64x1_t __a, uint64x1_t __b)
10965 {
10966 return (uint64x1_t)__builtin_neon_vorndi ((int64x1_t) __a, (int64x1_t) __b, 0);
10967 }
10968
10969 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vornq_s8(int8x16_t __a,int8x16_t __b)10970 vornq_s8 (int8x16_t __a, int8x16_t __b)
10971 {
10972 return (int8x16_t)__builtin_neon_vornv16qi (__a, __b, 1);
10973 }
10974
10975 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vornq_s16(int16x8_t __a,int16x8_t __b)10976 vornq_s16 (int16x8_t __a, int16x8_t __b)
10977 {
10978 return (int16x8_t)__builtin_neon_vornv8hi (__a, __b, 1);
10979 }
10980
10981 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vornq_s32(int32x4_t __a,int32x4_t __b)10982 vornq_s32 (int32x4_t __a, int32x4_t __b)
10983 {
10984 return (int32x4_t)__builtin_neon_vornv4si (__a, __b, 1);
10985 }
10986
10987 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vornq_s64(int64x2_t __a,int64x2_t __b)10988 vornq_s64 (int64x2_t __a, int64x2_t __b)
10989 {
10990 return (int64x2_t)__builtin_neon_vornv2di (__a, __b, 1);
10991 }
10992
10993 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vornq_u8(uint8x16_t __a,uint8x16_t __b)10994 vornq_u8 (uint8x16_t __a, uint8x16_t __b)
10995 {
10996 return (uint8x16_t)__builtin_neon_vornv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10997 }
10998
10999 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vornq_u16(uint16x8_t __a,uint16x8_t __b)11000 vornq_u16 (uint16x8_t __a, uint16x8_t __b)
11001 {
11002 return (uint16x8_t)__builtin_neon_vornv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
11003 }
11004
11005 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vornq_u32(uint32x4_t __a,uint32x4_t __b)11006 vornq_u32 (uint32x4_t __a, uint32x4_t __b)
11007 {
11008 return (uint32x4_t)__builtin_neon_vornv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
11009 }
11010
11011 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vornq_u64(uint64x2_t __a,uint64x2_t __b)11012 vornq_u64 (uint64x2_t __a, uint64x2_t __b)
11013 {
11014 return (uint64x2_t)__builtin_neon_vornv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
11015 }
11016
11017
11018 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_s8(int8x8_t __a)11019 vreinterpret_p8_s8 (int8x8_t __a)
11020 {
11021 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a);
11022 }
11023
11024 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_s16(int16x4_t __a)11025 vreinterpret_p8_s16 (int16x4_t __a)
11026 {
11027 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
11028 }
11029
11030 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_s32(int32x2_t __a)11031 vreinterpret_p8_s32 (int32x2_t __a)
11032 {
11033 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
11034 }
11035
11036 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_s64(int64x1_t __a)11037 vreinterpret_p8_s64 (int64x1_t __a)
11038 {
11039 return (poly8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
11040 }
11041
11042 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_f32(float32x2_t __a)11043 vreinterpret_p8_f32 (float32x2_t __a)
11044 {
11045 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
11046 }
11047
11048 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_u8(uint8x8_t __a)11049 vreinterpret_p8_u8 (uint8x8_t __a)
11050 {
11051 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
11052 }
11053
11054 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_u16(uint16x4_t __a)11055 vreinterpret_p8_u16 (uint16x4_t __a)
11056 {
11057 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11058 }
11059
11060 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_u32(uint32x2_t __a)11061 vreinterpret_p8_u32 (uint32x2_t __a)
11062 {
11063 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
11064 }
11065
11066 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_u64(uint64x1_t __a)11067 vreinterpret_p8_u64 (uint64x1_t __a)
11068 {
11069 return (poly8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
11070 }
11071
11072 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
vreinterpret_p8_p16(poly16x4_t __a)11073 vreinterpret_p8_p16 (poly16x4_t __a)
11074 {
11075 return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11076 }
11077
11078 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_s8(int8x16_t __a)11079 vreinterpretq_p8_s8 (int8x16_t __a)
11080 {
11081 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a);
11082 }
11083
11084 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_s16(int16x8_t __a)11085 vreinterpretq_p8_s16 (int16x8_t __a)
11086 {
11087 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
11088 }
11089
11090 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_s32(int32x4_t __a)11091 vreinterpretq_p8_s32 (int32x4_t __a)
11092 {
11093 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
11094 }
11095
11096 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_s64(int64x2_t __a)11097 vreinterpretq_p8_s64 (int64x2_t __a)
11098 {
11099 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
11100 }
11101
11102 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_f32(float32x4_t __a)11103 vreinterpretq_p8_f32 (float32x4_t __a)
11104 {
11105 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
11106 }
11107
11108 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_u8(uint8x16_t __a)11109 vreinterpretq_p8_u8 (uint8x16_t __a)
11110 {
11111 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
11112 }
11113
11114 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_u16(uint16x8_t __a)11115 vreinterpretq_p8_u16 (uint16x8_t __a)
11116 {
11117 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
11118 }
11119
11120 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_u32(uint32x4_t __a)11121 vreinterpretq_p8_u32 (uint32x4_t __a)
11122 {
11123 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
11124 }
11125
11126 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_u64(uint64x2_t __a)11127 vreinterpretq_p8_u64 (uint64x2_t __a)
11128 {
11129 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
11130 }
11131
11132 __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
vreinterpretq_p8_p16(poly16x8_t __a)11133 vreinterpretq_p8_p16 (poly16x8_t __a)
11134 {
11135 return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
11136 }
11137
11138 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_s8(int8x8_t __a)11139 vreinterpret_p16_s8 (int8x8_t __a)
11140 {
11141 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
11142 }
11143
11144 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_s16(int16x4_t __a)11145 vreinterpret_p16_s16 (int16x4_t __a)
11146 {
11147 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a);
11148 }
11149
11150 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_s32(int32x2_t __a)11151 vreinterpret_p16_s32 (int32x2_t __a)
11152 {
11153 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
11154 }
11155
11156 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_s64(int64x1_t __a)11157 vreinterpret_p16_s64 (int64x1_t __a)
11158 {
11159 return (poly16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
11160 }
11161
11162 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_f32(float32x2_t __a)11163 vreinterpret_p16_f32 (float32x2_t __a)
11164 {
11165 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
11166 }
11167
11168 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_u8(uint8x8_t __a)11169 vreinterpret_p16_u8 (uint8x8_t __a)
11170 {
11171 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11172 }
11173
11174 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_u16(uint16x4_t __a)11175 vreinterpret_p16_u16 (uint16x4_t __a)
11176 {
11177 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11178 }
11179
11180 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_u32(uint32x2_t __a)11181 vreinterpret_p16_u32 (uint32x2_t __a)
11182 {
11183 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
11184 }
11185
11186 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_u64(uint64x1_t __a)11187 vreinterpret_p16_u64 (uint64x1_t __a)
11188 {
11189 return (poly16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
11190 }
11191
11192 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
vreinterpret_p16_p8(poly8x8_t __a)11193 vreinterpret_p16_p8 (poly8x8_t __a)
11194 {
11195 return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11196 }
11197
11198 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_s8(int8x16_t __a)11199 vreinterpretq_p16_s8 (int8x16_t __a)
11200 {
11201 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
11202 }
11203
11204 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_s16(int16x8_t __a)11205 vreinterpretq_p16_s16 (int16x8_t __a)
11206 {
11207 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a);
11208 }
11209
11210 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_s32(int32x4_t __a)11211 vreinterpretq_p16_s32 (int32x4_t __a)
11212 {
11213 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
11214 }
11215
11216 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_s64(int64x2_t __a)11217 vreinterpretq_p16_s64 (int64x2_t __a)
11218 {
11219 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
11220 }
11221
11222 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_f32(float32x4_t __a)11223 vreinterpretq_p16_f32 (float32x4_t __a)
11224 {
11225 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
11226 }
11227
11228 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_u8(uint8x16_t __a)11229 vreinterpretq_p16_u8 (uint8x16_t __a)
11230 {
11231 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
11232 }
11233
11234 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_u16(uint16x8_t __a)11235 vreinterpretq_p16_u16 (uint16x8_t __a)
11236 {
11237 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
11238 }
11239
11240 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_u32(uint32x4_t __a)11241 vreinterpretq_p16_u32 (uint32x4_t __a)
11242 {
11243 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
11244 }
11245
11246 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_u64(uint64x2_t __a)11247 vreinterpretq_p16_u64 (uint64x2_t __a)
11248 {
11249 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
11250 }
11251
11252 __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
vreinterpretq_p16_p8(poly8x16_t __a)11253 vreinterpretq_p16_p8 (poly8x16_t __a)
11254 {
11255 return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
11256 }
11257
11258 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_s8(int8x8_t __a)11259 vreinterpret_f32_s8 (int8x8_t __a)
11260 {
11261 return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi (__a);
11262 }
11263
11264 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_s16(int16x4_t __a)11265 vreinterpret_f32_s16 (int16x4_t __a)
11266 {
11267 return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi (__a);
11268 }
11269
11270 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_s32(int32x2_t __a)11271 vreinterpret_f32_s32 (int32x2_t __a)
11272 {
11273 return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si (__a);
11274 }
11275
11276 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_s64(int64x1_t __a)11277 vreinterpret_f32_s64 (int64x1_t __a)
11278 {
11279 return (float32x2_t)__builtin_neon_vreinterpretv2sfdi (__a);
11280 }
11281
11282 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_u8(uint8x8_t __a)11283 vreinterpret_f32_u8 (uint8x8_t __a)
11284 {
11285 return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a);
11286 }
11287
11288 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_u16(uint16x4_t __a)11289 vreinterpret_f32_u16 (uint16x4_t __a)
11290 {
11291 return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a);
11292 }
11293
11294 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_u32(uint32x2_t __a)11295 vreinterpret_f32_u32 (uint32x2_t __a)
11296 {
11297 return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si ((int32x2_t) __a);
11298 }
11299
11300 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_u64(uint64x1_t __a)11301 vreinterpret_f32_u64 (uint64x1_t __a)
11302 {
11303 return (float32x2_t)__builtin_neon_vreinterpretv2sfdi ((int64x1_t) __a);
11304 }
11305
11306 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_p8(poly8x8_t __a)11307 vreinterpret_f32_p8 (poly8x8_t __a)
11308 {
11309 return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a);
11310 }
11311
11312 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
vreinterpret_f32_p16(poly16x4_t __a)11313 vreinterpret_f32_p16 (poly16x4_t __a)
11314 {
11315 return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a);
11316 }
11317
11318 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_s8(int8x16_t __a)11319 vreinterpretq_f32_s8 (int8x16_t __a)
11320 {
11321 return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi (__a);
11322 }
11323
11324 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_s16(int16x8_t __a)11325 vreinterpretq_f32_s16 (int16x8_t __a)
11326 {
11327 return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi (__a);
11328 }
11329
11330 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_s32(int32x4_t __a)11331 vreinterpretq_f32_s32 (int32x4_t __a)
11332 {
11333 return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si (__a);
11334 }
11335
11336 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_s64(int64x2_t __a)11337 vreinterpretq_f32_s64 (int64x2_t __a)
11338 {
11339 return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di (__a);
11340 }
11341
11342 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_u8(uint8x16_t __a)11343 vreinterpretq_f32_u8 (uint8x16_t __a)
11344 {
11345 return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a);
11346 }
11347
11348 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_u16(uint16x8_t __a)11349 vreinterpretq_f32_u16 (uint16x8_t __a)
11350 {
11351 return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a);
11352 }
11353
11354 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_u32(uint32x4_t __a)11355 vreinterpretq_f32_u32 (uint32x4_t __a)
11356 {
11357 return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si ((int32x4_t) __a);
11358 }
11359
11360 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_u64(uint64x2_t __a)11361 vreinterpretq_f32_u64 (uint64x2_t __a)
11362 {
11363 return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di ((int64x2_t) __a);
11364 }
11365
11366 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_p8(poly8x16_t __a)11367 vreinterpretq_f32_p8 (poly8x16_t __a)
11368 {
11369 return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a);
11370 }
11371
11372 __extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vreinterpretq_f32_p16(poly16x8_t __a)11373 vreinterpretq_f32_p16 (poly16x8_t __a)
11374 {
11375 return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a);
11376 }
11377
11378 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_s8(int8x8_t __a)11379 vreinterpret_s64_s8 (int8x8_t __a)
11380 {
11381 return (int64x1_t)__builtin_neon_vreinterpretdiv8qi (__a);
11382 }
11383
11384 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_s16(int16x4_t __a)11385 vreinterpret_s64_s16 (int16x4_t __a)
11386 {
11387 return (int64x1_t)__builtin_neon_vreinterpretdiv4hi (__a);
11388 }
11389
11390 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_s32(int32x2_t __a)11391 vreinterpret_s64_s32 (int32x2_t __a)
11392 {
11393 return (int64x1_t)__builtin_neon_vreinterpretdiv2si (__a);
11394 }
11395
11396 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_f32(float32x2_t __a)11397 vreinterpret_s64_f32 (float32x2_t __a)
11398 {
11399 return (int64x1_t)__builtin_neon_vreinterpretdiv2sf (__a);
11400 }
11401
11402 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_u8(uint8x8_t __a)11403 vreinterpret_s64_u8 (uint8x8_t __a)
11404 {
11405 return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11406 }
11407
11408 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_u16(uint16x4_t __a)11409 vreinterpret_s64_u16 (uint16x4_t __a)
11410 {
11411 return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11412 }
11413
11414 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_u32(uint32x2_t __a)11415 vreinterpret_s64_u32 (uint32x2_t __a)
11416 {
11417 return (int64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a);
11418 }
11419
11420 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_u64(uint64x1_t __a)11421 vreinterpret_s64_u64 (uint64x1_t __a)
11422 {
11423 return (int64x1_t)__builtin_neon_vreinterpretdidi ((int64x1_t) __a);
11424 }
11425
11426 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_p8(poly8x8_t __a)11427 vreinterpret_s64_p8 (poly8x8_t __a)
11428 {
11429 return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11430 }
11431
11432 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
vreinterpret_s64_p16(poly16x4_t __a)11433 vreinterpret_s64_p16 (poly16x4_t __a)
11434 {
11435 return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11436 }
11437
11438 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_s8(int8x16_t __a)11439 vreinterpretq_s64_s8 (int8x16_t __a)
11440 {
11441 return (int64x2_t)__builtin_neon_vreinterpretv2div16qi (__a);
11442 }
11443
11444 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_s16(int16x8_t __a)11445 vreinterpretq_s64_s16 (int16x8_t __a)
11446 {
11447 return (int64x2_t)__builtin_neon_vreinterpretv2div8hi (__a);
11448 }
11449
11450 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_s32(int32x4_t __a)11451 vreinterpretq_s64_s32 (int32x4_t __a)
11452 {
11453 return (int64x2_t)__builtin_neon_vreinterpretv2div4si (__a);
11454 }
11455
11456 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_f32(float32x4_t __a)11457 vreinterpretq_s64_f32 (float32x4_t __a)
11458 {
11459 return (int64x2_t)__builtin_neon_vreinterpretv2div4sf (__a);
11460 }
11461
11462 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_u8(uint8x16_t __a)11463 vreinterpretq_s64_u8 (uint8x16_t __a)
11464 {
11465 return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
11466 }
11467
11468 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_u16(uint16x8_t __a)11469 vreinterpretq_s64_u16 (uint16x8_t __a)
11470 {
11471 return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
11472 }
11473
11474 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_u32(uint32x4_t __a)11475 vreinterpretq_s64_u32 (uint32x4_t __a)
11476 {
11477 return (int64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a);
11478 }
11479
11480 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_u64(uint64x2_t __a)11481 vreinterpretq_s64_u64 (uint64x2_t __a)
11482 {
11483 return (int64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a);
11484 }
11485
11486 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_p8(poly8x16_t __a)11487 vreinterpretq_s64_p8 (poly8x16_t __a)
11488 {
11489 return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
11490 }
11491
11492 __extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
vreinterpretq_s64_p16(poly16x8_t __a)11493 vreinterpretq_s64_p16 (poly16x8_t __a)
11494 {
11495 return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
11496 }
11497
11498 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_s8(int8x8_t __a)11499 vreinterpret_u64_s8 (int8x8_t __a)
11500 {
11501 return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi (__a);
11502 }
11503
11504 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_s16(int16x4_t __a)11505 vreinterpret_u64_s16 (int16x4_t __a)
11506 {
11507 return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi (__a);
11508 }
11509
11510 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_s32(int32x2_t __a)11511 vreinterpret_u64_s32 (int32x2_t __a)
11512 {
11513 return (uint64x1_t)__builtin_neon_vreinterpretdiv2si (__a);
11514 }
11515
11516 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_s64(int64x1_t __a)11517 vreinterpret_u64_s64 (int64x1_t __a)
11518 {
11519 return (uint64x1_t)__builtin_neon_vreinterpretdidi (__a);
11520 }
11521
11522 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_f32(float32x2_t __a)11523 vreinterpret_u64_f32 (float32x2_t __a)
11524 {
11525 return (uint64x1_t)__builtin_neon_vreinterpretdiv2sf (__a);
11526 }
11527
11528 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_u8(uint8x8_t __a)11529 vreinterpret_u64_u8 (uint8x8_t __a)
11530 {
11531 return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11532 }
11533
11534 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_u16(uint16x4_t __a)11535 vreinterpret_u64_u16 (uint16x4_t __a)
11536 {
11537 return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11538 }
11539
11540 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_u32(uint32x2_t __a)11541 vreinterpret_u64_u32 (uint32x2_t __a)
11542 {
11543 return (uint64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a);
11544 }
11545
11546 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_p8(poly8x8_t __a)11547 vreinterpret_u64_p8 (poly8x8_t __a)
11548 {
11549 return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11550 }
11551
11552 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
vreinterpret_u64_p16(poly16x4_t __a)11553 vreinterpret_u64_p16 (poly16x4_t __a)
11554 {
11555 return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11556 }
11557
11558 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_s8(int8x16_t __a)11559 vreinterpretq_u64_s8 (int8x16_t __a)
11560 {
11561 return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi (__a);
11562 }
11563
11564 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_s16(int16x8_t __a)11565 vreinterpretq_u64_s16 (int16x8_t __a)
11566 {
11567 return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi (__a);
11568 }
11569
11570 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_s32(int32x4_t __a)11571 vreinterpretq_u64_s32 (int32x4_t __a)
11572 {
11573 return (uint64x2_t)__builtin_neon_vreinterpretv2div4si (__a);
11574 }
11575
11576 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_s64(int64x2_t __a)11577 vreinterpretq_u64_s64 (int64x2_t __a)
11578 {
11579 return (uint64x2_t)__builtin_neon_vreinterpretv2div2di (__a);
11580 }
11581
11582 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_f32(float32x4_t __a)11583 vreinterpretq_u64_f32 (float32x4_t __a)
11584 {
11585 return (uint64x2_t)__builtin_neon_vreinterpretv2div4sf (__a);
11586 }
11587
11588 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_u8(uint8x16_t __a)11589 vreinterpretq_u64_u8 (uint8x16_t __a)
11590 {
11591 return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
11592 }
11593
11594 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_u16(uint16x8_t __a)11595 vreinterpretq_u64_u16 (uint16x8_t __a)
11596 {
11597 return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
11598 }
11599
11600 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_u32(uint32x4_t __a)11601 vreinterpretq_u64_u32 (uint32x4_t __a)
11602 {
11603 return (uint64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a);
11604 }
11605
11606 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_p8(poly8x16_t __a)11607 vreinterpretq_u64_p8 (poly8x16_t __a)
11608 {
11609 return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
11610 }
11611
11612 __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
vreinterpretq_u64_p16(poly16x8_t __a)11613 vreinterpretq_u64_p16 (poly16x8_t __a)
11614 {
11615 return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
11616 }
11617
11618 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_s16(int16x4_t __a)11619 vreinterpret_s8_s16 (int16x4_t __a)
11620 {
11621 return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
11622 }
11623
11624 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_s32(int32x2_t __a)11625 vreinterpret_s8_s32 (int32x2_t __a)
11626 {
11627 return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
11628 }
11629
11630 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_s64(int64x1_t __a)11631 vreinterpret_s8_s64 (int64x1_t __a)
11632 {
11633 return (int8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
11634 }
11635
11636 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_f32(float32x2_t __a)11637 vreinterpret_s8_f32 (float32x2_t __a)
11638 {
11639 return (int8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
11640 }
11641
11642 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_u8(uint8x8_t __a)11643 vreinterpret_s8_u8 (uint8x8_t __a)
11644 {
11645 return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
11646 }
11647
11648 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_u16(uint16x4_t __a)11649 vreinterpret_s8_u16 (uint16x4_t __a)
11650 {
11651 return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11652 }
11653
11654 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_u32(uint32x2_t __a)11655 vreinterpret_s8_u32 (uint32x2_t __a)
11656 {
11657 return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
11658 }
11659
11660 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_u64(uint64x1_t __a)11661 vreinterpret_s8_u64 (uint64x1_t __a)
11662 {
11663 return (int8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
11664 }
11665
11666 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_p8(poly8x8_t __a)11667 vreinterpret_s8_p8 (poly8x8_t __a)
11668 {
11669 return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
11670 }
11671
11672 __extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vreinterpret_s8_p16(poly16x4_t __a)11673 vreinterpret_s8_p16 (poly16x4_t __a)
11674 {
11675 return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11676 }
11677
11678 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_s16(int16x8_t __a)11679 vreinterpretq_s8_s16 (int16x8_t __a)
11680 {
11681 return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
11682 }
11683
11684 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_s32(int32x4_t __a)11685 vreinterpretq_s8_s32 (int32x4_t __a)
11686 {
11687 return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
11688 }
11689
11690 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_s64(int64x2_t __a)11691 vreinterpretq_s8_s64 (int64x2_t __a)
11692 {
11693 return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
11694 }
11695
11696 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_f32(float32x4_t __a)11697 vreinterpretq_s8_f32 (float32x4_t __a)
11698 {
11699 return (int8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
11700 }
11701
11702 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_u8(uint8x16_t __a)11703 vreinterpretq_s8_u8 (uint8x16_t __a)
11704 {
11705 return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
11706 }
11707
11708 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_u16(uint16x8_t __a)11709 vreinterpretq_s8_u16 (uint16x8_t __a)
11710 {
11711 return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
11712 }
11713
11714 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_u32(uint32x4_t __a)11715 vreinterpretq_s8_u32 (uint32x4_t __a)
11716 {
11717 return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
11718 }
11719
11720 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_u64(uint64x2_t __a)11721 vreinterpretq_s8_u64 (uint64x2_t __a)
11722 {
11723 return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
11724 }
11725
11726 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_p8(poly8x16_t __a)11727 vreinterpretq_s8_p8 (poly8x16_t __a)
11728 {
11729 return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
11730 }
11731
11732 __extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
vreinterpretq_s8_p16(poly16x8_t __a)11733 vreinterpretq_s8_p16 (poly16x8_t __a)
11734 {
11735 return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
11736 }
11737
11738 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_s8(int8x8_t __a)11739 vreinterpret_s16_s8 (int8x8_t __a)
11740 {
11741 return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
11742 }
11743
11744 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_s32(int32x2_t __a)11745 vreinterpret_s16_s32 (int32x2_t __a)
11746 {
11747 return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
11748 }
11749
11750 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_s64(int64x1_t __a)11751 vreinterpret_s16_s64 (int64x1_t __a)
11752 {
11753 return (int16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
11754 }
11755
11756 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_f32(float32x2_t __a)11757 vreinterpret_s16_f32 (float32x2_t __a)
11758 {
11759 return (int16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
11760 }
11761
11762 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_u8(uint8x8_t __a)11763 vreinterpret_s16_u8 (uint8x8_t __a)
11764 {
11765 return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11766 }
11767
11768 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_u16(uint16x4_t __a)11769 vreinterpret_s16_u16 (uint16x4_t __a)
11770 {
11771 return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11772 }
11773
11774 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_u32(uint32x2_t __a)11775 vreinterpret_s16_u32 (uint32x2_t __a)
11776 {
11777 return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
11778 }
11779
11780 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_u64(uint64x1_t __a)11781 vreinterpret_s16_u64 (uint64x1_t __a)
11782 {
11783 return (int16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
11784 }
11785
11786 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_p8(poly8x8_t __a)11787 vreinterpret_s16_p8 (poly8x8_t __a)
11788 {
11789 return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11790 }
11791
11792 __extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
vreinterpret_s16_p16(poly16x4_t __a)11793 vreinterpret_s16_p16 (poly16x4_t __a)
11794 {
11795 return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11796 }
11797
11798 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_s8(int8x16_t __a)11799 vreinterpretq_s16_s8 (int8x16_t __a)
11800 {
11801 return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
11802 }
11803
11804 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_s32(int32x4_t __a)11805 vreinterpretq_s16_s32 (int32x4_t __a)
11806 {
11807 return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
11808 }
11809
11810 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_s64(int64x2_t __a)11811 vreinterpretq_s16_s64 (int64x2_t __a)
11812 {
11813 return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
11814 }
11815
11816 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_f32(float32x4_t __a)11817 vreinterpretq_s16_f32 (float32x4_t __a)
11818 {
11819 return (int16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
11820 }
11821
11822 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_u8(uint8x16_t __a)11823 vreinterpretq_s16_u8 (uint8x16_t __a)
11824 {
11825 return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
11826 }
11827
11828 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_u16(uint16x8_t __a)11829 vreinterpretq_s16_u16 (uint16x8_t __a)
11830 {
11831 return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
11832 }
11833
11834 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_u32(uint32x4_t __a)11835 vreinterpretq_s16_u32 (uint32x4_t __a)
11836 {
11837 return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
11838 }
11839
11840 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_u64(uint64x2_t __a)11841 vreinterpretq_s16_u64 (uint64x2_t __a)
11842 {
11843 return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
11844 }
11845
11846 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_p8(poly8x16_t __a)11847 vreinterpretq_s16_p8 (poly8x16_t __a)
11848 {
11849 return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
11850 }
11851
11852 __extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
vreinterpretq_s16_p16(poly16x8_t __a)11853 vreinterpretq_s16_p16 (poly16x8_t __a)
11854 {
11855 return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
11856 }
11857
11858 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_s8(int8x8_t __a)11859 vreinterpret_s32_s8 (int8x8_t __a)
11860 {
11861 return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a);
11862 }
11863
11864 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_s16(int16x4_t __a)11865 vreinterpret_s32_s16 (int16x4_t __a)
11866 {
11867 return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a);
11868 }
11869
11870 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_s64(int64x1_t __a)11871 vreinterpret_s32_s64 (int64x1_t __a)
11872 {
11873 return (int32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
11874 }
11875
11876 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_f32(float32x2_t __a)11877 vreinterpret_s32_f32 (float32x2_t __a)
11878 {
11879 return (int32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a);
11880 }
11881
11882 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_u8(uint8x8_t __a)11883 vreinterpret_s32_u8 (uint8x8_t __a)
11884 {
11885 return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
11886 }
11887
11888 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_u16(uint16x4_t __a)11889 vreinterpret_s32_u16 (uint16x4_t __a)
11890 {
11891 return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
11892 }
11893
11894 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_u32(uint32x2_t __a)11895 vreinterpret_s32_u32 (uint32x2_t __a)
11896 {
11897 return (int32x2_t)__builtin_neon_vreinterpretv2siv2si ((int32x2_t) __a);
11898 }
11899
11900 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_u64(uint64x1_t __a)11901 vreinterpret_s32_u64 (uint64x1_t __a)
11902 {
11903 return (int32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a);
11904 }
11905
11906 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_p8(poly8x8_t __a)11907 vreinterpret_s32_p8 (poly8x8_t __a)
11908 {
11909 return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
11910 }
11911
11912 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
vreinterpret_s32_p16(poly16x4_t __a)11913 vreinterpret_s32_p16 (poly16x4_t __a)
11914 {
11915 return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
11916 }
11917
11918 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_s8(int8x16_t __a)11919 vreinterpretq_s32_s8 (int8x16_t __a)
11920 {
11921 return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a);
11922 }
11923
11924 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_s16(int16x8_t __a)11925 vreinterpretq_s32_s16 (int16x8_t __a)
11926 {
11927 return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a);
11928 }
11929
11930 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_s64(int64x2_t __a)11931 vreinterpretq_s32_s64 (int64x2_t __a)
11932 {
11933 return (int32x4_t)__builtin_neon_vreinterpretv4siv2di (__a);
11934 }
11935
11936 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_f32(float32x4_t __a)11937 vreinterpretq_s32_f32 (float32x4_t __a)
11938 {
11939 return (int32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a);
11940 }
11941
11942 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_u8(uint8x16_t __a)11943 vreinterpretq_s32_u8 (uint8x16_t __a)
11944 {
11945 return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
11946 }
11947
11948 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_u16(uint16x8_t __a)11949 vreinterpretq_s32_u16 (uint16x8_t __a)
11950 {
11951 return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
11952 }
11953
11954 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_u32(uint32x4_t __a)11955 vreinterpretq_s32_u32 (uint32x4_t __a)
11956 {
11957 return (int32x4_t)__builtin_neon_vreinterpretv4siv4si ((int32x4_t) __a);
11958 }
11959
11960 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_u64(uint64x2_t __a)11961 vreinterpretq_s32_u64 (uint64x2_t __a)
11962 {
11963 return (int32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
11964 }
11965
11966 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_p8(poly8x16_t __a)11967 vreinterpretq_s32_p8 (poly8x16_t __a)
11968 {
11969 return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
11970 }
11971
11972 __extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
vreinterpretq_s32_p16(poly16x8_t __a)11973 vreinterpretq_s32_p16 (poly16x8_t __a)
11974 {
11975 return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
11976 }
11977
11978 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_s8(int8x8_t __a)11979 vreinterpret_u8_s8 (int8x8_t __a)
11980 {
11981 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a);
11982 }
11983
11984 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_s16(int16x4_t __a)11985 vreinterpret_u8_s16 (int16x4_t __a)
11986 {
11987 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
11988 }
11989
11990 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_s32(int32x2_t __a)11991 vreinterpret_u8_s32 (int32x2_t __a)
11992 {
11993 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
11994 }
11995
11996 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_s64(int64x1_t __a)11997 vreinterpret_u8_s64 (int64x1_t __a)
11998 {
11999 return (uint8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
12000 }
12001
12002 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_f32(float32x2_t __a)12003 vreinterpret_u8_f32 (float32x2_t __a)
12004 {
12005 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
12006 }
12007
12008 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_u16(uint16x4_t __a)12009 vreinterpret_u8_u16 (uint16x4_t __a)
12010 {
12011 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
12012 }
12013
12014 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_u32(uint32x2_t __a)12015 vreinterpret_u8_u32 (uint32x2_t __a)
12016 {
12017 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
12018 }
12019
12020 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_u64(uint64x1_t __a)12021 vreinterpret_u8_u64 (uint64x1_t __a)
12022 {
12023 return (uint8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
12024 }
12025
12026 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_p8(poly8x8_t __a)12027 vreinterpret_u8_p8 (poly8x8_t __a)
12028 {
12029 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
12030 }
12031
12032 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
vreinterpret_u8_p16(poly16x4_t __a)12033 vreinterpret_u8_p16 (poly16x4_t __a)
12034 {
12035 return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
12036 }
12037
12038 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_s8(int8x16_t __a)12039 vreinterpretq_u8_s8 (int8x16_t __a)
12040 {
12041 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a);
12042 }
12043
12044 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_s16(int16x8_t __a)12045 vreinterpretq_u8_s16 (int16x8_t __a)
12046 {
12047 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
12048 }
12049
12050 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_s32(int32x4_t __a)12051 vreinterpretq_u8_s32 (int32x4_t __a)
12052 {
12053 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
12054 }
12055
12056 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_s64(int64x2_t __a)12057 vreinterpretq_u8_s64 (int64x2_t __a)
12058 {
12059 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
12060 }
12061
12062 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_f32(float32x4_t __a)12063 vreinterpretq_u8_f32 (float32x4_t __a)
12064 {
12065 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
12066 }
12067
12068 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_u16(uint16x8_t __a)12069 vreinterpretq_u8_u16 (uint16x8_t __a)
12070 {
12071 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
12072 }
12073
12074 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_u32(uint32x4_t __a)12075 vreinterpretq_u8_u32 (uint32x4_t __a)
12076 {
12077 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
12078 }
12079
12080 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_u64(uint64x2_t __a)12081 vreinterpretq_u8_u64 (uint64x2_t __a)
12082 {
12083 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
12084 }
12085
12086 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_p8(poly8x16_t __a)12087 vreinterpretq_u8_p8 (poly8x16_t __a)
12088 {
12089 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
12090 }
12091
12092 __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
vreinterpretq_u8_p16(poly16x8_t __a)12093 vreinterpretq_u8_p16 (poly16x8_t __a)
12094 {
12095 return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
12096 }
12097
12098 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_s8(int8x8_t __a)12099 vreinterpret_u16_s8 (int8x8_t __a)
12100 {
12101 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
12102 }
12103
12104 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_s16(int16x4_t __a)12105 vreinterpret_u16_s16 (int16x4_t __a)
12106 {
12107 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a);
12108 }
12109
12110 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_s32(int32x2_t __a)12111 vreinterpret_u16_s32 (int32x2_t __a)
12112 {
12113 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
12114 }
12115
12116 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_s64(int64x1_t __a)12117 vreinterpret_u16_s64 (int64x1_t __a)
12118 {
12119 return (uint16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
12120 }
12121
12122 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_f32(float32x2_t __a)12123 vreinterpret_u16_f32 (float32x2_t __a)
12124 {
12125 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
12126 }
12127
12128 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_u8(uint8x8_t __a)12129 vreinterpret_u16_u8 (uint8x8_t __a)
12130 {
12131 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
12132 }
12133
12134 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_u32(uint32x2_t __a)12135 vreinterpret_u16_u32 (uint32x2_t __a)
12136 {
12137 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
12138 }
12139
12140 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_u64(uint64x1_t __a)12141 vreinterpret_u16_u64 (uint64x1_t __a)
12142 {
12143 return (uint16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
12144 }
12145
12146 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_p8(poly8x8_t __a)12147 vreinterpret_u16_p8 (poly8x8_t __a)
12148 {
12149 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
12150 }
12151
12152 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
vreinterpret_u16_p16(poly16x4_t __a)12153 vreinterpret_u16_p16 (poly16x4_t __a)
12154 {
12155 return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
12156 }
12157
12158 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_s8(int8x16_t __a)12159 vreinterpretq_u16_s8 (int8x16_t __a)
12160 {
12161 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
12162 }
12163
12164 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_s16(int16x8_t __a)12165 vreinterpretq_u16_s16 (int16x8_t __a)
12166 {
12167 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a);
12168 }
12169
12170 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_s32(int32x4_t __a)12171 vreinterpretq_u16_s32 (int32x4_t __a)
12172 {
12173 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
12174 }
12175
12176 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_s64(int64x2_t __a)12177 vreinterpretq_u16_s64 (int64x2_t __a)
12178 {
12179 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
12180 }
12181
12182 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_f32(float32x4_t __a)12183 vreinterpretq_u16_f32 (float32x4_t __a)
12184 {
12185 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
12186 }
12187
12188 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_u8(uint8x16_t __a)12189 vreinterpretq_u16_u8 (uint8x16_t __a)
12190 {
12191 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
12192 }
12193
12194 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_u32(uint32x4_t __a)12195 vreinterpretq_u16_u32 (uint32x4_t __a)
12196 {
12197 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
12198 }
12199
12200 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_u64(uint64x2_t __a)12201 vreinterpretq_u16_u64 (uint64x2_t __a)
12202 {
12203 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
12204 }
12205
12206 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_p8(poly8x16_t __a)12207 vreinterpretq_u16_p8 (poly8x16_t __a)
12208 {
12209 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
12210 }
12211
12212 __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
vreinterpretq_u16_p16(poly16x8_t __a)12213 vreinterpretq_u16_p16 (poly16x8_t __a)
12214 {
12215 return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
12216 }
12217
12218 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_s8(int8x8_t __a)12219 vreinterpret_u32_s8 (int8x8_t __a)
12220 {
12221 return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a);
12222 }
12223
12224 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_s16(int16x4_t __a)12225 vreinterpret_u32_s16 (int16x4_t __a)
12226 {
12227 return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a);
12228 }
12229
12230 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_s32(int32x2_t __a)12231 vreinterpret_u32_s32 (int32x2_t __a)
12232 {
12233 return (uint32x2_t)__builtin_neon_vreinterpretv2siv2si (__a);
12234 }
12235
12236 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_s64(int64x1_t __a)12237 vreinterpret_u32_s64 (int64x1_t __a)
12238 {
12239 return (uint32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
12240 }
12241
12242 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_f32(float32x2_t __a)12243 vreinterpret_u32_f32 (float32x2_t __a)
12244 {
12245 return (uint32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a);
12246 }
12247
12248 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_u8(uint8x8_t __a)12249 vreinterpret_u32_u8 (uint8x8_t __a)
12250 {
12251 return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
12252 }
12253
12254 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_u16(uint16x4_t __a)12255 vreinterpret_u32_u16 (uint16x4_t __a)
12256 {
12257 return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
12258 }
12259
12260 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_u64(uint64x1_t __a)12261 vreinterpret_u32_u64 (uint64x1_t __a)
12262 {
12263 return (uint32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a);
12264 }
12265
12266 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_p8(poly8x8_t __a)12267 vreinterpret_u32_p8 (poly8x8_t __a)
12268 {
12269 return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
12270 }
12271
12272 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
vreinterpret_u32_p16(poly16x4_t __a)12273 vreinterpret_u32_p16 (poly16x4_t __a)
12274 {
12275 return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
12276 }
12277
12278 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_s8(int8x16_t __a)12279 vreinterpretq_u32_s8 (int8x16_t __a)
12280 {
12281 return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a);
12282 }
12283
12284 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_s16(int16x8_t __a)12285 vreinterpretq_u32_s16 (int16x8_t __a)
12286 {
12287 return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a);
12288 }
12289
12290 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_s32(int32x4_t __a)12291 vreinterpretq_u32_s32 (int32x4_t __a)
12292 {
12293 return (uint32x4_t)__builtin_neon_vreinterpretv4siv4si (__a);
12294 }
12295
12296 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_s64(int64x2_t __a)12297 vreinterpretq_u32_s64 (int64x2_t __a)
12298 {
12299 return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di (__a);
12300 }
12301
12302 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_f32(float32x4_t __a)12303 vreinterpretq_u32_f32 (float32x4_t __a)
12304 {
12305 return (uint32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a);
12306 }
12307
12308 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_u8(uint8x16_t __a)12309 vreinterpretq_u32_u8 (uint8x16_t __a)
12310 {
12311 return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
12312 }
12313
12314 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_u16(uint16x8_t __a)12315 vreinterpretq_u32_u16 (uint16x8_t __a)
12316 {
12317 return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
12318 }
12319
12320 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_u64(uint64x2_t __a)12321 vreinterpretq_u32_u64 (uint64x2_t __a)
12322 {
12323 return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
12324 }
12325
12326 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_p8(poly8x16_t __a)12327 vreinterpretq_u32_p8 (poly8x16_t __a)
12328 {
12329 return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
12330 }
12331
12332 __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vreinterpretq_u32_p16(poly16x8_t __a)12333 vreinterpretq_u32_p16 (poly16x8_t __a)
12334 {
12335 return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
12336 }
12337
12338 #ifdef __cplusplus
12339 }
12340 #endif
12341 #endif
12342 #endif
12343