1 /* ARM NEON intrinsics include file.
2 
3    Copyright (C) 2011-2020 Free Software Foundation, Inc.
4    Contributed by ARM Ltd.
5 
6    This file is part of GCC.
7 
8    GCC is free software; you can redistribute it and/or modify it
9    under the terms of the GNU General Public License as published
10    by the Free Software Foundation; either version 3, or (at your
11    option) any later version.
12 
13    GCC is distributed in the hope that it will be useful, but WITHOUT
14    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
16    License for more details.
17 
18    Under Section 7 of GPL version 3, you are granted additional
19    permissions described in the GCC Runtime Library Exception, version
20    3.1, as published by the Free Software Foundation.
21 
22    You should have received a copy of the GNU General Public License and
23    a copy of the GCC Runtime Library Exception along with this program;
24    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
25    <http://www.gnu.org/licenses/>.  */
26 
27 #ifndef _AARCH64_NEON_H_
28 #define _AARCH64_NEON_H_
29 
30 #pragma GCC push_options
31 #pragma GCC target ("+nothing+simd")
32 
33 #include <stdint.h>
34 
35 #define __AARCH64_UINT64_C(__C) ((uint64_t) __C)
36 #define __AARCH64_INT64_C(__C) ((int64_t) __C)
37 
38 typedef __Int8x8_t int8x8_t;
39 typedef __Int16x4_t int16x4_t;
40 typedef __Int32x2_t int32x2_t;
41 typedef __Int64x1_t int64x1_t;
42 typedef __Float16x4_t float16x4_t;
43 typedef __Float32x2_t float32x2_t;
44 typedef __Poly8x8_t poly8x8_t;
45 typedef __Poly16x4_t poly16x4_t;
46 typedef __Uint8x8_t uint8x8_t;
47 typedef __Uint16x4_t uint16x4_t;
48 typedef __Uint32x2_t uint32x2_t;
49 typedef __Float64x1_t float64x1_t;
50 typedef __Uint64x1_t uint64x1_t;
51 typedef __Int8x16_t int8x16_t;
52 typedef __Int16x8_t int16x8_t;
53 typedef __Int32x4_t int32x4_t;
54 typedef __Int64x2_t int64x2_t;
55 typedef __Float16x8_t float16x8_t;
56 typedef __Float32x4_t float32x4_t;
57 typedef __Float64x2_t float64x2_t;
58 typedef __Poly8x16_t poly8x16_t;
59 typedef __Poly16x8_t poly16x8_t;
60 typedef __Poly64x2_t poly64x2_t;
61 typedef __Poly64x1_t poly64x1_t;
62 typedef __Uint8x16_t uint8x16_t;
63 typedef __Uint16x8_t uint16x8_t;
64 typedef __Uint32x4_t uint32x4_t;
65 typedef __Uint64x2_t uint64x2_t;
66 
67 typedef __Poly8_t poly8_t;
68 typedef __Poly16_t poly16_t;
69 typedef __Poly64_t poly64_t;
70 typedef __Poly128_t poly128_t;
71 
72 typedef __fp16 float16_t;
73 typedef float float32_t;
74 typedef double float64_t;
75 
76 typedef __Bfloat16x4_t bfloat16x4_t;
77 typedef __Bfloat16x8_t bfloat16x8_t;
78 
79 typedef struct bfloat16x4x2_t
80 {
81   bfloat16x4_t val[2];
82 } bfloat16x4x2_t;
83 
84 typedef struct bfloat16x8x2_t
85 {
86   bfloat16x8_t val[2];
87 } bfloat16x8x2_t;
88 
89 typedef struct bfloat16x4x3_t
90 {
91   bfloat16x4_t val[3];
92 } bfloat16x4x3_t;
93 
94 typedef struct bfloat16x8x3_t
95 {
96   bfloat16x8_t val[3];
97 } bfloat16x8x3_t;
98 
99 typedef struct bfloat16x4x4_t
100 {
101   bfloat16x4_t val[4];
102 } bfloat16x4x4_t;
103 
104 typedef struct bfloat16x8x4_t
105 {
106   bfloat16x8_t val[4];
107 } bfloat16x8x4_t;
108 
109 typedef struct int8x8x2_t
110 {
111   int8x8_t val[2];
112 } int8x8x2_t;
113 
114 typedef struct int8x16x2_t
115 {
116   int8x16_t val[2];
117 } int8x16x2_t;
118 
119 typedef struct int16x4x2_t
120 {
121   int16x4_t val[2];
122 } int16x4x2_t;
123 
124 typedef struct int16x8x2_t
125 {
126   int16x8_t val[2];
127 } int16x8x2_t;
128 
129 typedef struct int32x2x2_t
130 {
131   int32x2_t val[2];
132 } int32x2x2_t;
133 
134 typedef struct int32x4x2_t
135 {
136   int32x4_t val[2];
137 } int32x4x2_t;
138 
139 typedef struct int64x1x2_t
140 {
141   int64x1_t val[2];
142 } int64x1x2_t;
143 
144 typedef struct int64x2x2_t
145 {
146   int64x2_t val[2];
147 } int64x2x2_t;
148 
149 typedef struct uint8x8x2_t
150 {
151   uint8x8_t val[2];
152 } uint8x8x2_t;
153 
154 typedef struct uint8x16x2_t
155 {
156   uint8x16_t val[2];
157 } uint8x16x2_t;
158 
159 typedef struct uint16x4x2_t
160 {
161   uint16x4_t val[2];
162 } uint16x4x2_t;
163 
164 typedef struct uint16x8x2_t
165 {
166   uint16x8_t val[2];
167 } uint16x8x2_t;
168 
169 typedef struct uint32x2x2_t
170 {
171   uint32x2_t val[2];
172 } uint32x2x2_t;
173 
174 typedef struct uint32x4x2_t
175 {
176   uint32x4_t val[2];
177 } uint32x4x2_t;
178 
179 typedef struct uint64x1x2_t
180 {
181   uint64x1_t val[2];
182 } uint64x1x2_t;
183 
184 typedef struct uint64x2x2_t
185 {
186   uint64x2_t val[2];
187 } uint64x2x2_t;
188 
189 typedef struct float16x4x2_t
190 {
191   float16x4_t val[2];
192 } float16x4x2_t;
193 
194 typedef struct float16x8x2_t
195 {
196   float16x8_t val[2];
197 } float16x8x2_t;
198 
199 typedef struct float32x2x2_t
200 {
201   float32x2_t val[2];
202 } float32x2x2_t;
203 
204 typedef struct float32x4x2_t
205 {
206   float32x4_t val[2];
207 } float32x4x2_t;
208 
209 typedef struct float64x2x2_t
210 {
211   float64x2_t val[2];
212 } float64x2x2_t;
213 
214 typedef struct float64x1x2_t
215 {
216   float64x1_t val[2];
217 } float64x1x2_t;
218 
219 typedef struct poly8x8x2_t
220 {
221   poly8x8_t val[2];
222 } poly8x8x2_t;
223 
224 typedef struct poly8x16x2_t
225 {
226   poly8x16_t val[2];
227 } poly8x16x2_t;
228 
229 typedef struct poly16x4x2_t
230 {
231   poly16x4_t val[2];
232 } poly16x4x2_t;
233 
234 typedef struct poly16x8x2_t
235 {
236   poly16x8_t val[2];
237 } poly16x8x2_t;
238 
239 typedef struct poly64x1x2_t
240 {
241   poly64x1_t val[2];
242 } poly64x1x2_t;
243 
244 typedef struct poly64x1x3_t
245 {
246   poly64x1_t val[3];
247 } poly64x1x3_t;
248 
249 typedef struct poly64x1x4_t
250 {
251   poly64x1_t val[4];
252 } poly64x1x4_t;
253 
254 typedef struct poly64x2x2_t
255 {
256   poly64x2_t val[2];
257 } poly64x2x2_t;
258 
259 typedef struct poly64x2x3_t
260 {
261   poly64x2_t val[3];
262 } poly64x2x3_t;
263 
264 typedef struct poly64x2x4_t
265 {
266   poly64x2_t val[4];
267 } poly64x2x4_t;
268 
269 typedef struct int8x8x3_t
270 {
271   int8x8_t val[3];
272 } int8x8x3_t;
273 
274 typedef struct int8x16x3_t
275 {
276   int8x16_t val[3];
277 } int8x16x3_t;
278 
279 typedef struct int16x4x3_t
280 {
281   int16x4_t val[3];
282 } int16x4x3_t;
283 
284 typedef struct int16x8x3_t
285 {
286   int16x8_t val[3];
287 } int16x8x3_t;
288 
289 typedef struct int32x2x3_t
290 {
291   int32x2_t val[3];
292 } int32x2x3_t;
293 
294 typedef struct int32x4x3_t
295 {
296   int32x4_t val[3];
297 } int32x4x3_t;
298 
299 typedef struct int64x1x3_t
300 {
301   int64x1_t val[3];
302 } int64x1x3_t;
303 
304 typedef struct int64x2x3_t
305 {
306   int64x2_t val[3];
307 } int64x2x3_t;
308 
309 typedef struct uint8x8x3_t
310 {
311   uint8x8_t val[3];
312 } uint8x8x3_t;
313 
314 typedef struct uint8x16x3_t
315 {
316   uint8x16_t val[3];
317 } uint8x16x3_t;
318 
319 typedef struct uint16x4x3_t
320 {
321   uint16x4_t val[3];
322 } uint16x4x3_t;
323 
324 typedef struct uint16x8x3_t
325 {
326   uint16x8_t val[3];
327 } uint16x8x3_t;
328 
329 typedef struct uint32x2x3_t
330 {
331   uint32x2_t val[3];
332 } uint32x2x3_t;
333 
334 typedef struct uint32x4x3_t
335 {
336   uint32x4_t val[3];
337 } uint32x4x3_t;
338 
339 typedef struct uint64x1x3_t
340 {
341   uint64x1_t val[3];
342 } uint64x1x3_t;
343 
344 typedef struct uint64x2x3_t
345 {
346   uint64x2_t val[3];
347 } uint64x2x3_t;
348 
349 typedef struct float16x4x3_t
350 {
351   float16x4_t val[3];
352 } float16x4x3_t;
353 
354 typedef struct float16x8x3_t
355 {
356   float16x8_t val[3];
357 } float16x8x3_t;
358 
359 typedef struct float32x2x3_t
360 {
361   float32x2_t val[3];
362 } float32x2x3_t;
363 
364 typedef struct float32x4x3_t
365 {
366   float32x4_t val[3];
367 } float32x4x3_t;
368 
369 typedef struct float64x2x3_t
370 {
371   float64x2_t val[3];
372 } float64x2x3_t;
373 
374 typedef struct float64x1x3_t
375 {
376   float64x1_t val[3];
377 } float64x1x3_t;
378 
379 typedef struct poly8x8x3_t
380 {
381   poly8x8_t val[3];
382 } poly8x8x3_t;
383 
384 typedef struct poly8x16x3_t
385 {
386   poly8x16_t val[3];
387 } poly8x16x3_t;
388 
389 typedef struct poly16x4x3_t
390 {
391   poly16x4_t val[3];
392 } poly16x4x3_t;
393 
394 typedef struct poly16x8x3_t
395 {
396   poly16x8_t val[3];
397 } poly16x8x3_t;
398 
399 typedef struct int8x8x4_t
400 {
401   int8x8_t val[4];
402 } int8x8x4_t;
403 
404 typedef struct int8x16x4_t
405 {
406   int8x16_t val[4];
407 } int8x16x4_t;
408 
409 typedef struct int16x4x4_t
410 {
411   int16x4_t val[4];
412 } int16x4x4_t;
413 
414 typedef struct int16x8x4_t
415 {
416   int16x8_t val[4];
417 } int16x8x4_t;
418 
419 typedef struct int32x2x4_t
420 {
421   int32x2_t val[4];
422 } int32x2x4_t;
423 
424 typedef struct int32x4x4_t
425 {
426   int32x4_t val[4];
427 } int32x4x4_t;
428 
429 typedef struct int64x1x4_t
430 {
431   int64x1_t val[4];
432 } int64x1x4_t;
433 
434 typedef struct int64x2x4_t
435 {
436   int64x2_t val[4];
437 } int64x2x4_t;
438 
439 typedef struct uint8x8x4_t
440 {
441   uint8x8_t val[4];
442 } uint8x8x4_t;
443 
444 typedef struct uint8x16x4_t
445 {
446   uint8x16_t val[4];
447 } uint8x16x4_t;
448 
449 typedef struct uint16x4x4_t
450 {
451   uint16x4_t val[4];
452 } uint16x4x4_t;
453 
454 typedef struct uint16x8x4_t
455 {
456   uint16x8_t val[4];
457 } uint16x8x4_t;
458 
459 typedef struct uint32x2x4_t
460 {
461   uint32x2_t val[4];
462 } uint32x2x4_t;
463 
464 typedef struct uint32x4x4_t
465 {
466   uint32x4_t val[4];
467 } uint32x4x4_t;
468 
469 typedef struct uint64x1x4_t
470 {
471   uint64x1_t val[4];
472 } uint64x1x4_t;
473 
474 typedef struct uint64x2x4_t
475 {
476   uint64x2_t val[4];
477 } uint64x2x4_t;
478 
479 typedef struct float16x4x4_t
480 {
481   float16x4_t val[4];
482 } float16x4x4_t;
483 
484 typedef struct float16x8x4_t
485 {
486   float16x8_t val[4];
487 } float16x8x4_t;
488 
489 typedef struct float32x2x4_t
490 {
491   float32x2_t val[4];
492 } float32x2x4_t;
493 
494 typedef struct float32x4x4_t
495 {
496   float32x4_t val[4];
497 } float32x4x4_t;
498 
499 typedef struct float64x2x4_t
500 {
501   float64x2_t val[4];
502 } float64x2x4_t;
503 
504 typedef struct float64x1x4_t
505 {
506   float64x1_t val[4];
507 } float64x1x4_t;
508 
509 typedef struct poly8x8x4_t
510 {
511   poly8x8_t val[4];
512 } poly8x8x4_t;
513 
514 typedef struct poly8x16x4_t
515 {
516   poly8x16_t val[4];
517 } poly8x16x4_t;
518 
519 typedef struct poly16x4x4_t
520 {
521   poly16x4_t val[4];
522 } poly16x4x4_t;
523 
524 typedef struct poly16x8x4_t
525 {
526   poly16x8_t val[4];
527 } poly16x8x4_t;
528 
529 /* __aarch64_vdup_lane internal macros.  */
530 #define __aarch64_vdup_lane_any(__size, __q, __a, __b) \
531   vdup##__q##_n_##__size (__aarch64_vget_lane_any (__a, __b))
532 
533 #define __aarch64_vdup_lane_f16(__a, __b) \
534    __aarch64_vdup_lane_any (f16, , __a, __b)
535 #define __aarch64_vdup_lane_f32(__a, __b) \
536    __aarch64_vdup_lane_any (f32, , __a, __b)
537 #define __aarch64_vdup_lane_f64(__a, __b) \
538    __aarch64_vdup_lane_any (f64, , __a, __b)
539 #define __aarch64_vdup_lane_p8(__a, __b) \
540    __aarch64_vdup_lane_any (p8, , __a, __b)
541 #define __aarch64_vdup_lane_p16(__a, __b) \
542    __aarch64_vdup_lane_any (p16, , __a, __b)
543 #define __aarch64_vdup_lane_p64(__a, __b) \
544    __aarch64_vdup_lane_any (p64, , __a, __b)
545 #define __aarch64_vdup_lane_s8(__a, __b) \
546    __aarch64_vdup_lane_any (s8, , __a, __b)
547 #define __aarch64_vdup_lane_s16(__a, __b) \
548    __aarch64_vdup_lane_any (s16, , __a, __b)
549 #define __aarch64_vdup_lane_s32(__a, __b) \
550    __aarch64_vdup_lane_any (s32, , __a, __b)
551 #define __aarch64_vdup_lane_s64(__a, __b) \
552   __aarch64_vdup_lane_any (s64, , __a, __b)
553 #define __aarch64_vdup_lane_u8(__a, __b) \
554    __aarch64_vdup_lane_any (u8, , __a, __b)
555 #define __aarch64_vdup_lane_u16(__a, __b) \
556    __aarch64_vdup_lane_any (u16, , __a, __b)
557 #define __aarch64_vdup_lane_u32(__a, __b) \
558    __aarch64_vdup_lane_any (u32, , __a, __b)
559 #define __aarch64_vdup_lane_u64(__a, __b) \
560    __aarch64_vdup_lane_any (u64, , __a, __b)
561 
562 /* __aarch64_vdup_laneq internal macros.  */
563 #define __aarch64_vdup_laneq_f16(__a, __b) \
564    __aarch64_vdup_lane_any (f16, , __a, __b)
565 #define __aarch64_vdup_laneq_f32(__a, __b) \
566    __aarch64_vdup_lane_any (f32, , __a, __b)
567 #define __aarch64_vdup_laneq_f64(__a, __b) \
568    __aarch64_vdup_lane_any (f64, , __a, __b)
569 #define __aarch64_vdup_laneq_p8(__a, __b) \
570    __aarch64_vdup_lane_any (p8, , __a, __b)
571 #define __aarch64_vdup_laneq_p16(__a, __b) \
572    __aarch64_vdup_lane_any (p16, , __a, __b)
573 #define __aarch64_vdup_laneq_p64(__a, __b) \
574    __aarch64_vdup_lane_any (p64, , __a, __b)
575 #define __aarch64_vdup_laneq_s8(__a, __b) \
576    __aarch64_vdup_lane_any (s8, , __a, __b)
577 #define __aarch64_vdup_laneq_s16(__a, __b) \
578    __aarch64_vdup_lane_any (s16, , __a, __b)
579 #define __aarch64_vdup_laneq_s32(__a, __b) \
580    __aarch64_vdup_lane_any (s32, , __a, __b)
581 #define __aarch64_vdup_laneq_s64(__a, __b) \
582    __aarch64_vdup_lane_any (s64, , __a, __b)
583 #define __aarch64_vdup_laneq_u8(__a, __b) \
584    __aarch64_vdup_lane_any (u8, , __a, __b)
585 #define __aarch64_vdup_laneq_u16(__a, __b) \
586    __aarch64_vdup_lane_any (u16, , __a, __b)
587 #define __aarch64_vdup_laneq_u32(__a, __b) \
588    __aarch64_vdup_lane_any (u32, , __a, __b)
589 #define __aarch64_vdup_laneq_u64(__a, __b) \
590    __aarch64_vdup_lane_any (u64, , __a, __b)
591 
592 /* __aarch64_vdupq_lane internal macros.  */
593 #define __aarch64_vdupq_lane_f16(__a, __b) \
594    __aarch64_vdup_lane_any (f16, q, __a, __b)
595 #define __aarch64_vdupq_lane_f32(__a, __b) \
596    __aarch64_vdup_lane_any (f32, q, __a, __b)
597 #define __aarch64_vdupq_lane_f64(__a, __b) \
598    __aarch64_vdup_lane_any (f64, q, __a, __b)
599 #define __aarch64_vdupq_lane_p8(__a, __b) \
600    __aarch64_vdup_lane_any (p8, q, __a, __b)
601 #define __aarch64_vdupq_lane_p16(__a, __b) \
602    __aarch64_vdup_lane_any (p16, q, __a, __b)
603 #define __aarch64_vdupq_lane_p64(__a, __b) \
604    __aarch64_vdup_lane_any (p64, q, __a, __b)
605 #define __aarch64_vdupq_lane_s8(__a, __b) \
606    __aarch64_vdup_lane_any (s8, q, __a, __b)
607 #define __aarch64_vdupq_lane_s16(__a, __b) \
608    __aarch64_vdup_lane_any (s16, q, __a, __b)
609 #define __aarch64_vdupq_lane_s32(__a, __b) \
610    __aarch64_vdup_lane_any (s32, q, __a, __b)
611 #define __aarch64_vdupq_lane_s64(__a, __b) \
612    __aarch64_vdup_lane_any (s64, q, __a, __b)
613 #define __aarch64_vdupq_lane_u8(__a, __b) \
614    __aarch64_vdup_lane_any (u8, q, __a, __b)
615 #define __aarch64_vdupq_lane_u16(__a, __b) \
616    __aarch64_vdup_lane_any (u16, q, __a, __b)
617 #define __aarch64_vdupq_lane_u32(__a, __b) \
618    __aarch64_vdup_lane_any (u32, q, __a, __b)
619 #define __aarch64_vdupq_lane_u64(__a, __b) \
620    __aarch64_vdup_lane_any (u64, q, __a, __b)
621 
622 /* __aarch64_vdupq_laneq internal macros.  */
623 #define __aarch64_vdupq_laneq_f16(__a, __b) \
624    __aarch64_vdup_lane_any (f16, q, __a, __b)
625 #define __aarch64_vdupq_laneq_f32(__a, __b) \
626    __aarch64_vdup_lane_any (f32, q, __a, __b)
627 #define __aarch64_vdupq_laneq_f64(__a, __b) \
628    __aarch64_vdup_lane_any (f64, q, __a, __b)
629 #define __aarch64_vdupq_laneq_p8(__a, __b) \
630    __aarch64_vdup_lane_any (p8, q, __a, __b)
631 #define __aarch64_vdupq_laneq_p16(__a, __b) \
632    __aarch64_vdup_lane_any (p16, q, __a, __b)
633 #define __aarch64_vdupq_laneq_p64(__a, __b) \
634    __aarch64_vdup_lane_any (p64, q, __a, __b)
635 #define __aarch64_vdupq_laneq_s8(__a, __b) \
636    __aarch64_vdup_lane_any (s8, q, __a, __b)
637 #define __aarch64_vdupq_laneq_s16(__a, __b) \
638    __aarch64_vdup_lane_any (s16, q, __a, __b)
639 #define __aarch64_vdupq_laneq_s32(__a, __b) \
640    __aarch64_vdup_lane_any (s32, q, __a, __b)
641 #define __aarch64_vdupq_laneq_s64(__a, __b) \
642    __aarch64_vdup_lane_any (s64, q, __a, __b)
643 #define __aarch64_vdupq_laneq_u8(__a, __b) \
644    __aarch64_vdup_lane_any (u8, q, __a, __b)
645 #define __aarch64_vdupq_laneq_u16(__a, __b) \
646    __aarch64_vdup_lane_any (u16, q, __a, __b)
647 #define __aarch64_vdupq_laneq_u32(__a, __b) \
648    __aarch64_vdup_lane_any (u32, q, __a, __b)
649 #define __aarch64_vdupq_laneq_u64(__a, __b) \
650    __aarch64_vdup_lane_any (u64, q, __a, __b)
651 
652 /* Internal macro for lane indices.  */
653 
654 #define __AARCH64_NUM_LANES(__v) (sizeof (__v) / sizeof (__v[0]))
655 #define __AARCH64_LANE_CHECK(__vec, __idx)	\
656 	__builtin_aarch64_im_lane_boundsi (sizeof(__vec), sizeof(__vec[0]), __idx)
657 
658 /* For big-endian, GCC's vector indices are the opposite way around
659    to the architectural lane indices used by Neon intrinsics.  */
660 #ifdef __AARCH64EB__
661 #define __aarch64_lane(__vec, __idx) (__AARCH64_NUM_LANES (__vec) - 1 - __idx)
662 #else
663 #define __aarch64_lane(__vec, __idx) __idx
664 #endif
665 
666 /* vget_lane internal macro.  */
667 #define __aarch64_vget_lane_any(__vec, __index)				\
668   __extension__								\
669   ({									\
670     __AARCH64_LANE_CHECK (__vec, __index);				\
671     __vec[__aarch64_lane (__vec, __index)];				\
672   })
673 
674 /* vset_lane and vld1_lane internal macro.  */
675 #define __aarch64_vset_lane_any(__elem, __vec, __index)			\
676   __extension__								\
677   ({									\
678     __AARCH64_LANE_CHECK (__vec, __index);				\
679     __vec[__aarch64_lane (__vec, __index)] = __elem;			\
680     __vec;								\
681   })
682 
683 /* vadd  */
684 __extension__ extern __inline int8x8_t
685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s8(int8x8_t __a,int8x8_t __b)686 vadd_s8 (int8x8_t __a, int8x8_t __b)
687 {
688   return __a + __b;
689 }
690 
691 __extension__ extern __inline int16x4_t
692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s16(int16x4_t __a,int16x4_t __b)693 vadd_s16 (int16x4_t __a, int16x4_t __b)
694 {
695   return __a + __b;
696 }
697 
698 __extension__ extern __inline int32x2_t
699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s32(int32x2_t __a,int32x2_t __b)700 vadd_s32 (int32x2_t __a, int32x2_t __b)
701 {
702   return __a + __b;
703 }
704 
705 __extension__ extern __inline float32x2_t
706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_f32(float32x2_t __a,float32x2_t __b)707 vadd_f32 (float32x2_t __a, float32x2_t __b)
708 {
709   return __a + __b;
710 }
711 
712 __extension__ extern __inline float64x1_t
713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_f64(float64x1_t __a,float64x1_t __b)714 vadd_f64 (float64x1_t __a, float64x1_t __b)
715 {
716   return __a + __b;
717 }
718 
719 __extension__ extern __inline uint8x8_t
720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u8(uint8x8_t __a,uint8x8_t __b)721 vadd_u8 (uint8x8_t __a, uint8x8_t __b)
722 {
723   return __a + __b;
724 }
725 
726 __extension__ extern __inline uint16x4_t
727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u16(uint16x4_t __a,uint16x4_t __b)728 vadd_u16 (uint16x4_t __a, uint16x4_t __b)
729 {
730   return __a + __b;
731 }
732 
733 __extension__ extern __inline uint32x2_t
734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u32(uint32x2_t __a,uint32x2_t __b)735 vadd_u32 (uint32x2_t __a, uint32x2_t __b)
736 {
737   return __a + __b;
738 }
739 
740 __extension__ extern __inline int64x1_t
741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_s64(int64x1_t __a,int64x1_t __b)742 vadd_s64 (int64x1_t __a, int64x1_t __b)
743 {
744   return __a + __b;
745 }
746 
747 __extension__ extern __inline uint64x1_t
748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_u64(uint64x1_t __a,uint64x1_t __b)749 vadd_u64 (uint64x1_t __a, uint64x1_t __b)
750 {
751   return __a + __b;
752 }
753 
754 __extension__ extern __inline int8x16_t
755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s8(int8x16_t __a,int8x16_t __b)756 vaddq_s8 (int8x16_t __a, int8x16_t __b)
757 {
758   return __a + __b;
759 }
760 
761 __extension__ extern __inline int16x8_t
762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s16(int16x8_t __a,int16x8_t __b)763 vaddq_s16 (int16x8_t __a, int16x8_t __b)
764 {
765   return __a + __b;
766 }
767 
768 __extension__ extern __inline int32x4_t
769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s32(int32x4_t __a,int32x4_t __b)770 vaddq_s32 (int32x4_t __a, int32x4_t __b)
771 {
772   return __a + __b;
773 }
774 
775 __extension__ extern __inline int64x2_t
776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_s64(int64x2_t __a,int64x2_t __b)777 vaddq_s64 (int64x2_t __a, int64x2_t __b)
778 {
779   return __a + __b;
780 }
781 
782 __extension__ extern __inline float32x4_t
783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_f32(float32x4_t __a,float32x4_t __b)784 vaddq_f32 (float32x4_t __a, float32x4_t __b)
785 {
786   return __a + __b;
787 }
788 
789 __extension__ extern __inline float64x2_t
790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_f64(float64x2_t __a,float64x2_t __b)791 vaddq_f64 (float64x2_t __a, float64x2_t __b)
792 {
793   return __a + __b;
794 }
795 
796 __extension__ extern __inline uint8x16_t
797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u8(uint8x16_t __a,uint8x16_t __b)798 vaddq_u8 (uint8x16_t __a, uint8x16_t __b)
799 {
800   return __a + __b;
801 }
802 
803 __extension__ extern __inline uint16x8_t
804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u16(uint16x8_t __a,uint16x8_t __b)805 vaddq_u16 (uint16x8_t __a, uint16x8_t __b)
806 {
807   return __a + __b;
808 }
809 
810 __extension__ extern __inline uint32x4_t
811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u32(uint32x4_t __a,uint32x4_t __b)812 vaddq_u32 (uint32x4_t __a, uint32x4_t __b)
813 {
814   return __a + __b;
815 }
816 
817 __extension__ extern __inline uint64x2_t
818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_u64(uint64x2_t __a,uint64x2_t __b)819 vaddq_u64 (uint64x2_t __a, uint64x2_t __b)
820 {
821   return __a + __b;
822 }
823 
824 __extension__ extern __inline int16x8_t
825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_s8(int8x8_t __a,int8x8_t __b)826 vaddl_s8 (int8x8_t __a, int8x8_t __b)
827 {
828   return (int16x8_t) __builtin_aarch64_saddlv8qi (__a, __b);
829 }
830 
831 __extension__ extern __inline int32x4_t
832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_s16(int16x4_t __a,int16x4_t __b)833 vaddl_s16 (int16x4_t __a, int16x4_t __b)
834 {
835   return (int32x4_t) __builtin_aarch64_saddlv4hi (__a, __b);
836 }
837 
838 __extension__ extern __inline int64x2_t
839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_s32(int32x2_t __a,int32x2_t __b)840 vaddl_s32 (int32x2_t __a, int32x2_t __b)
841 {
842   return (int64x2_t) __builtin_aarch64_saddlv2si (__a, __b);
843 }
844 
845 __extension__ extern __inline uint16x8_t
846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_u8(uint8x8_t __a,uint8x8_t __b)847 vaddl_u8 (uint8x8_t __a, uint8x8_t __b)
848 {
849   return (uint16x8_t) __builtin_aarch64_uaddlv8qi ((int8x8_t) __a,
850 						   (int8x8_t) __b);
851 }
852 
853 __extension__ extern __inline uint32x4_t
854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_u16(uint16x4_t __a,uint16x4_t __b)855 vaddl_u16 (uint16x4_t __a, uint16x4_t __b)
856 {
857   return (uint32x4_t) __builtin_aarch64_uaddlv4hi ((int16x4_t) __a,
858 						   (int16x4_t) __b);
859 }
860 
861 __extension__ extern __inline uint64x2_t
862 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_u32(uint32x2_t __a,uint32x2_t __b)863 vaddl_u32 (uint32x2_t __a, uint32x2_t __b)
864 {
865   return (uint64x2_t) __builtin_aarch64_uaddlv2si ((int32x2_t) __a,
866 						   (int32x2_t) __b);
867 }
868 
869 __extension__ extern __inline int16x8_t
870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_high_s8(int8x16_t __a,int8x16_t __b)871 vaddl_high_s8 (int8x16_t __a, int8x16_t __b)
872 {
873   return (int16x8_t) __builtin_aarch64_saddl2v16qi (__a, __b);
874 }
875 
876 __extension__ extern __inline int32x4_t
877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_high_s16(int16x8_t __a,int16x8_t __b)878 vaddl_high_s16 (int16x8_t __a, int16x8_t __b)
879 {
880   return (int32x4_t) __builtin_aarch64_saddl2v8hi (__a, __b);
881 }
882 
883 __extension__ extern __inline int64x2_t
884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_high_s32(int32x4_t __a,int32x4_t __b)885 vaddl_high_s32 (int32x4_t __a, int32x4_t __b)
886 {
887   return (int64x2_t) __builtin_aarch64_saddl2v4si (__a, __b);
888 }
889 
890 __extension__ extern __inline uint16x8_t
891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_high_u8(uint8x16_t __a,uint8x16_t __b)892 vaddl_high_u8 (uint8x16_t __a, uint8x16_t __b)
893 {
894   return (uint16x8_t) __builtin_aarch64_uaddl2v16qi ((int8x16_t) __a,
895 						     (int8x16_t) __b);
896 }
897 
898 __extension__ extern __inline uint32x4_t
899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_high_u16(uint16x8_t __a,uint16x8_t __b)900 vaddl_high_u16 (uint16x8_t __a, uint16x8_t __b)
901 {
902   return (uint32x4_t) __builtin_aarch64_uaddl2v8hi ((int16x8_t) __a,
903 						    (int16x8_t) __b);
904 }
905 
906 __extension__ extern __inline uint64x2_t
907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddl_high_u32(uint32x4_t __a,uint32x4_t __b)908 vaddl_high_u32 (uint32x4_t __a, uint32x4_t __b)
909 {
910   return (uint64x2_t) __builtin_aarch64_uaddl2v4si ((int32x4_t) __a,
911 						    (int32x4_t) __b);
912 }
913 
914 __extension__ extern __inline int16x8_t
915 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_s8(int16x8_t __a,int8x8_t __b)916 vaddw_s8 (int16x8_t __a, int8x8_t __b)
917 {
918   return (int16x8_t) __builtin_aarch64_saddwv8qi (__a, __b);
919 }
920 
921 __extension__ extern __inline int32x4_t
922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_s16(int32x4_t __a,int16x4_t __b)923 vaddw_s16 (int32x4_t __a, int16x4_t __b)
924 {
925   return (int32x4_t) __builtin_aarch64_saddwv4hi (__a, __b);
926 }
927 
928 __extension__ extern __inline int64x2_t
929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_s32(int64x2_t __a,int32x2_t __b)930 vaddw_s32 (int64x2_t __a, int32x2_t __b)
931 {
932   return (int64x2_t) __builtin_aarch64_saddwv2si (__a, __b);
933 }
934 
935 __extension__ extern __inline uint16x8_t
936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_u8(uint16x8_t __a,uint8x8_t __b)937 vaddw_u8 (uint16x8_t __a, uint8x8_t __b)
938 {
939   return (uint16x8_t) __builtin_aarch64_uaddwv8qi ((int16x8_t) __a,
940 						   (int8x8_t) __b);
941 }
942 
943 __extension__ extern __inline uint32x4_t
944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_u16(uint32x4_t __a,uint16x4_t __b)945 vaddw_u16 (uint32x4_t __a, uint16x4_t __b)
946 {
947   return (uint32x4_t) __builtin_aarch64_uaddwv4hi ((int32x4_t) __a,
948 						   (int16x4_t) __b);
949 }
950 
951 __extension__ extern __inline uint64x2_t
952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_u32(uint64x2_t __a,uint32x2_t __b)953 vaddw_u32 (uint64x2_t __a, uint32x2_t __b)
954 {
955   return (uint64x2_t) __builtin_aarch64_uaddwv2si ((int64x2_t) __a,
956 						   (int32x2_t) __b);
957 }
958 
959 __extension__ extern __inline int16x8_t
960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_high_s8(int16x8_t __a,int8x16_t __b)961 vaddw_high_s8 (int16x8_t __a, int8x16_t __b)
962 {
963   return (int16x8_t) __builtin_aarch64_saddw2v16qi (__a, __b);
964 }
965 
966 __extension__ extern __inline int32x4_t
967 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_high_s16(int32x4_t __a,int16x8_t __b)968 vaddw_high_s16 (int32x4_t __a, int16x8_t __b)
969 {
970   return (int32x4_t) __builtin_aarch64_saddw2v8hi (__a, __b);
971 }
972 
973 __extension__ extern __inline int64x2_t
974 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_high_s32(int64x2_t __a,int32x4_t __b)975 vaddw_high_s32 (int64x2_t __a, int32x4_t __b)
976 {
977   return (int64x2_t) __builtin_aarch64_saddw2v4si (__a, __b);
978 }
979 
980 __extension__ extern __inline uint16x8_t
981 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_high_u8(uint16x8_t __a,uint8x16_t __b)982 vaddw_high_u8 (uint16x8_t __a, uint8x16_t __b)
983 {
984   return (uint16x8_t) __builtin_aarch64_uaddw2v16qi ((int16x8_t) __a,
985 						     (int8x16_t) __b);
986 }
987 
988 __extension__ extern __inline uint32x4_t
989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_high_u16(uint32x4_t __a,uint16x8_t __b)990 vaddw_high_u16 (uint32x4_t __a, uint16x8_t __b)
991 {
992   return (uint32x4_t) __builtin_aarch64_uaddw2v8hi ((int32x4_t) __a,
993 						    (int16x8_t) __b);
994 }
995 
996 __extension__ extern __inline uint64x2_t
997 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddw_high_u32(uint64x2_t __a,uint32x4_t __b)998 vaddw_high_u32 (uint64x2_t __a, uint32x4_t __b)
999 {
1000   return (uint64x2_t) __builtin_aarch64_uaddw2v4si ((int64x2_t) __a,
1001 						    (int32x4_t) __b);
1002 }
1003 
1004 __extension__ extern __inline int8x8_t
1005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_s8(int8x8_t __a,int8x8_t __b)1006 vhadd_s8 (int8x8_t __a, int8x8_t __b)
1007 {
1008   return (int8x8_t) __builtin_aarch64_shaddv8qi (__a, __b);
1009 }
1010 
1011 __extension__ extern __inline int16x4_t
1012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_s16(int16x4_t __a,int16x4_t __b)1013 vhadd_s16 (int16x4_t __a, int16x4_t __b)
1014 {
1015   return (int16x4_t) __builtin_aarch64_shaddv4hi (__a, __b);
1016 }
1017 
1018 __extension__ extern __inline int32x2_t
1019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_s32(int32x2_t __a,int32x2_t __b)1020 vhadd_s32 (int32x2_t __a, int32x2_t __b)
1021 {
1022   return (int32x2_t) __builtin_aarch64_shaddv2si (__a, __b);
1023 }
1024 
1025 __extension__ extern __inline uint8x8_t
1026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_u8(uint8x8_t __a,uint8x8_t __b)1027 vhadd_u8 (uint8x8_t __a, uint8x8_t __b)
1028 {
1029   return (uint8x8_t) __builtin_aarch64_uhaddv8qi ((int8x8_t) __a,
1030 						  (int8x8_t) __b);
1031 }
1032 
1033 __extension__ extern __inline uint16x4_t
1034 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_u16(uint16x4_t __a,uint16x4_t __b)1035 vhadd_u16 (uint16x4_t __a, uint16x4_t __b)
1036 {
1037   return (uint16x4_t) __builtin_aarch64_uhaddv4hi ((int16x4_t) __a,
1038 						   (int16x4_t) __b);
1039 }
1040 
1041 __extension__ extern __inline uint32x2_t
1042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhadd_u32(uint32x2_t __a,uint32x2_t __b)1043 vhadd_u32 (uint32x2_t __a, uint32x2_t __b)
1044 {
1045   return (uint32x2_t) __builtin_aarch64_uhaddv2si ((int32x2_t) __a,
1046 						   (int32x2_t) __b);
1047 }
1048 
1049 __extension__ extern __inline int8x16_t
1050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_s8(int8x16_t __a,int8x16_t __b)1051 vhaddq_s8 (int8x16_t __a, int8x16_t __b)
1052 {
1053   return (int8x16_t) __builtin_aarch64_shaddv16qi (__a, __b);
1054 }
1055 
1056 __extension__ extern __inline int16x8_t
1057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_s16(int16x8_t __a,int16x8_t __b)1058 vhaddq_s16 (int16x8_t __a, int16x8_t __b)
1059 {
1060   return (int16x8_t) __builtin_aarch64_shaddv8hi (__a, __b);
1061 }
1062 
1063 __extension__ extern __inline int32x4_t
1064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_s32(int32x4_t __a,int32x4_t __b)1065 vhaddq_s32 (int32x4_t __a, int32x4_t __b)
1066 {
1067   return (int32x4_t) __builtin_aarch64_shaddv4si (__a, __b);
1068 }
1069 
1070 __extension__ extern __inline uint8x16_t
1071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_u8(uint8x16_t __a,uint8x16_t __b)1072 vhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
1073 {
1074   return (uint8x16_t) __builtin_aarch64_uhaddv16qi ((int8x16_t) __a,
1075 						    (int8x16_t) __b);
1076 }
1077 
1078 __extension__ extern __inline uint16x8_t
1079 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_u16(uint16x8_t __a,uint16x8_t __b)1080 vhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
1081 {
1082   return (uint16x8_t) __builtin_aarch64_uhaddv8hi ((int16x8_t) __a,
1083 						   (int16x8_t) __b);
1084 }
1085 
1086 __extension__ extern __inline uint32x4_t
1087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhaddq_u32(uint32x4_t __a,uint32x4_t __b)1088 vhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
1089 {
1090   return (uint32x4_t) __builtin_aarch64_uhaddv4si ((int32x4_t) __a,
1091 						   (int32x4_t) __b);
1092 }
1093 
1094 __extension__ extern __inline int8x8_t
1095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_s8(int8x8_t __a,int8x8_t __b)1096 vrhadd_s8 (int8x8_t __a, int8x8_t __b)
1097 {
1098   return (int8x8_t) __builtin_aarch64_srhaddv8qi (__a, __b);
1099 }
1100 
1101 __extension__ extern __inline int16x4_t
1102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_s16(int16x4_t __a,int16x4_t __b)1103 vrhadd_s16 (int16x4_t __a, int16x4_t __b)
1104 {
1105   return (int16x4_t) __builtin_aarch64_srhaddv4hi (__a, __b);
1106 }
1107 
1108 __extension__ extern __inline int32x2_t
1109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_s32(int32x2_t __a,int32x2_t __b)1110 vrhadd_s32 (int32x2_t __a, int32x2_t __b)
1111 {
1112   return (int32x2_t) __builtin_aarch64_srhaddv2si (__a, __b);
1113 }
1114 
1115 __extension__ extern __inline uint8x8_t
1116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_u8(uint8x8_t __a,uint8x8_t __b)1117 vrhadd_u8 (uint8x8_t __a, uint8x8_t __b)
1118 {
1119   return (uint8x8_t) __builtin_aarch64_urhaddv8qi ((int8x8_t) __a,
1120 						   (int8x8_t) __b);
1121 }
1122 
1123 __extension__ extern __inline uint16x4_t
1124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_u16(uint16x4_t __a,uint16x4_t __b)1125 vrhadd_u16 (uint16x4_t __a, uint16x4_t __b)
1126 {
1127   return (uint16x4_t) __builtin_aarch64_urhaddv4hi ((int16x4_t) __a,
1128 						    (int16x4_t) __b);
1129 }
1130 
1131 __extension__ extern __inline uint32x2_t
1132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhadd_u32(uint32x2_t __a,uint32x2_t __b)1133 vrhadd_u32 (uint32x2_t __a, uint32x2_t __b)
1134 {
1135   return (uint32x2_t) __builtin_aarch64_urhaddv2si ((int32x2_t) __a,
1136 						    (int32x2_t) __b);
1137 }
1138 
1139 __extension__ extern __inline int8x16_t
1140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_s8(int8x16_t __a,int8x16_t __b)1141 vrhaddq_s8 (int8x16_t __a, int8x16_t __b)
1142 {
1143   return (int8x16_t) __builtin_aarch64_srhaddv16qi (__a, __b);
1144 }
1145 
1146 __extension__ extern __inline int16x8_t
1147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_s16(int16x8_t __a,int16x8_t __b)1148 vrhaddq_s16 (int16x8_t __a, int16x8_t __b)
1149 {
1150   return (int16x8_t) __builtin_aarch64_srhaddv8hi (__a, __b);
1151 }
1152 
1153 __extension__ extern __inline int32x4_t
1154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_s32(int32x4_t __a,int32x4_t __b)1155 vrhaddq_s32 (int32x4_t __a, int32x4_t __b)
1156 {
1157   return (int32x4_t) __builtin_aarch64_srhaddv4si (__a, __b);
1158 }
1159 
1160 __extension__ extern __inline uint8x16_t
1161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_u8(uint8x16_t __a,uint8x16_t __b)1162 vrhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
1163 {
1164   return (uint8x16_t) __builtin_aarch64_urhaddv16qi ((int8x16_t) __a,
1165 						     (int8x16_t) __b);
1166 }
1167 
1168 __extension__ extern __inline uint16x8_t
1169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_u16(uint16x8_t __a,uint16x8_t __b)1170 vrhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
1171 {
1172   return (uint16x8_t) __builtin_aarch64_urhaddv8hi ((int16x8_t) __a,
1173 						    (int16x8_t) __b);
1174 }
1175 
1176 __extension__ extern __inline uint32x4_t
1177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrhaddq_u32(uint32x4_t __a,uint32x4_t __b)1178 vrhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
1179 {
1180   return (uint32x4_t) __builtin_aarch64_urhaddv4si ((int32x4_t) __a,
1181 						    (int32x4_t) __b);
1182 }
1183 
1184 __extension__ extern __inline int8x8_t
1185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_s16(int16x8_t __a,int16x8_t __b)1186 vaddhn_s16 (int16x8_t __a, int16x8_t __b)
1187 {
1188   return (int8x8_t) __builtin_aarch64_addhnv8hi (__a, __b);
1189 }
1190 
1191 __extension__ extern __inline int16x4_t
1192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_s32(int32x4_t __a,int32x4_t __b)1193 vaddhn_s32 (int32x4_t __a, int32x4_t __b)
1194 {
1195   return (int16x4_t) __builtin_aarch64_addhnv4si (__a, __b);
1196 }
1197 
1198 __extension__ extern __inline int32x2_t
1199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_s64(int64x2_t __a,int64x2_t __b)1200 vaddhn_s64 (int64x2_t __a, int64x2_t __b)
1201 {
1202   return (int32x2_t) __builtin_aarch64_addhnv2di (__a, __b);
1203 }
1204 
1205 __extension__ extern __inline uint8x8_t
1206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_u16(uint16x8_t __a,uint16x8_t __b)1207 vaddhn_u16 (uint16x8_t __a, uint16x8_t __b)
1208 {
1209   return (uint8x8_t) __builtin_aarch64_addhnv8hi ((int16x8_t) __a,
1210 						  (int16x8_t) __b);
1211 }
1212 
1213 __extension__ extern __inline uint16x4_t
1214 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_u32(uint32x4_t __a,uint32x4_t __b)1215 vaddhn_u32 (uint32x4_t __a, uint32x4_t __b)
1216 {
1217   return (uint16x4_t) __builtin_aarch64_addhnv4si ((int32x4_t) __a,
1218 						   (int32x4_t) __b);
1219 }
1220 
1221 __extension__ extern __inline uint32x2_t
1222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_u64(uint64x2_t __a,uint64x2_t __b)1223 vaddhn_u64 (uint64x2_t __a, uint64x2_t __b)
1224 {
1225   return (uint32x2_t) __builtin_aarch64_addhnv2di ((int64x2_t) __a,
1226 						   (int64x2_t) __b);
1227 }
1228 
1229 __extension__ extern __inline int8x8_t
1230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_s16(int16x8_t __a,int16x8_t __b)1231 vraddhn_s16 (int16x8_t __a, int16x8_t __b)
1232 {
1233   return (int8x8_t) __builtin_aarch64_raddhnv8hi (__a, __b);
1234 }
1235 
1236 __extension__ extern __inline int16x4_t
1237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_s32(int32x4_t __a,int32x4_t __b)1238 vraddhn_s32 (int32x4_t __a, int32x4_t __b)
1239 {
1240   return (int16x4_t) __builtin_aarch64_raddhnv4si (__a, __b);
1241 }
1242 
1243 __extension__ extern __inline int32x2_t
1244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_s64(int64x2_t __a,int64x2_t __b)1245 vraddhn_s64 (int64x2_t __a, int64x2_t __b)
1246 {
1247   return (int32x2_t) __builtin_aarch64_raddhnv2di (__a, __b);
1248 }
1249 
1250 __extension__ extern __inline uint8x8_t
1251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_u16(uint16x8_t __a,uint16x8_t __b)1252 vraddhn_u16 (uint16x8_t __a, uint16x8_t __b)
1253 {
1254   return (uint8x8_t) __builtin_aarch64_raddhnv8hi ((int16x8_t) __a,
1255 						   (int16x8_t) __b);
1256 }
1257 
1258 __extension__ extern __inline uint16x4_t
1259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_u32(uint32x4_t __a,uint32x4_t __b)1260 vraddhn_u32 (uint32x4_t __a, uint32x4_t __b)
1261 {
1262   return (uint16x4_t) __builtin_aarch64_raddhnv4si ((int32x4_t) __a,
1263 						    (int32x4_t) __b);
1264 }
1265 
1266 __extension__ extern __inline uint32x2_t
1267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_u64(uint64x2_t __a,uint64x2_t __b)1268 vraddhn_u64 (uint64x2_t __a, uint64x2_t __b)
1269 {
1270   return (uint32x2_t) __builtin_aarch64_raddhnv2di ((int64x2_t) __a,
1271 						    (int64x2_t) __b);
1272 }
1273 
1274 __extension__ extern __inline int8x16_t
1275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_high_s16(int8x8_t __a,int16x8_t __b,int16x8_t __c)1276 vaddhn_high_s16 (int8x8_t __a, int16x8_t __b, int16x8_t __c)
1277 {
1278   return (int8x16_t) __builtin_aarch64_addhn2v8hi (__a, __b, __c);
1279 }
1280 
1281 __extension__ extern __inline int16x8_t
1282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_high_s32(int16x4_t __a,int32x4_t __b,int32x4_t __c)1283 vaddhn_high_s32 (int16x4_t __a, int32x4_t __b, int32x4_t __c)
1284 {
1285   return (int16x8_t) __builtin_aarch64_addhn2v4si (__a, __b, __c);
1286 }
1287 
1288 __extension__ extern __inline int32x4_t
1289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_high_s64(int32x2_t __a,int64x2_t __b,int64x2_t __c)1290 vaddhn_high_s64 (int32x2_t __a, int64x2_t __b, int64x2_t __c)
1291 {
1292   return (int32x4_t) __builtin_aarch64_addhn2v2di (__a, __b, __c);
1293 }
1294 
1295 __extension__ extern __inline uint8x16_t
1296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_high_u16(uint8x8_t __a,uint16x8_t __b,uint16x8_t __c)1297 vaddhn_high_u16 (uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
1298 {
1299   return (uint8x16_t) __builtin_aarch64_addhn2v8hi ((int8x8_t) __a,
1300 						    (int16x8_t) __b,
1301 						    (int16x8_t) __c);
1302 }
1303 
1304 __extension__ extern __inline uint16x8_t
1305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_high_u32(uint16x4_t __a,uint32x4_t __b,uint32x4_t __c)1306 vaddhn_high_u32 (uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
1307 {
1308   return (uint16x8_t) __builtin_aarch64_addhn2v4si ((int16x4_t) __a,
1309 						    (int32x4_t) __b,
1310 						    (int32x4_t) __c);
1311 }
1312 
1313 __extension__ extern __inline uint32x4_t
1314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddhn_high_u64(uint32x2_t __a,uint64x2_t __b,uint64x2_t __c)1315 vaddhn_high_u64 (uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
1316 {
1317   return (uint32x4_t) __builtin_aarch64_addhn2v2di ((int32x2_t) __a,
1318 						    (int64x2_t) __b,
1319 						    (int64x2_t) __c);
1320 }
1321 
1322 __extension__ extern __inline int8x16_t
1323 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_high_s16(int8x8_t __a,int16x8_t __b,int16x8_t __c)1324 vraddhn_high_s16 (int8x8_t __a, int16x8_t __b, int16x8_t __c)
1325 {
1326   return (int8x16_t) __builtin_aarch64_raddhn2v8hi (__a, __b, __c);
1327 }
1328 
1329 __extension__ extern __inline int16x8_t
1330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_high_s32(int16x4_t __a,int32x4_t __b,int32x4_t __c)1331 vraddhn_high_s32 (int16x4_t __a, int32x4_t __b, int32x4_t __c)
1332 {
1333   return (int16x8_t) __builtin_aarch64_raddhn2v4si (__a, __b, __c);
1334 }
1335 
1336 __extension__ extern __inline int32x4_t
1337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_high_s64(int32x2_t __a,int64x2_t __b,int64x2_t __c)1338 vraddhn_high_s64 (int32x2_t __a, int64x2_t __b, int64x2_t __c)
1339 {
1340   return (int32x4_t) __builtin_aarch64_raddhn2v2di (__a, __b, __c);
1341 }
1342 
1343 __extension__ extern __inline uint8x16_t
1344 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_high_u16(uint8x8_t __a,uint16x8_t __b,uint16x8_t __c)1345 vraddhn_high_u16 (uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
1346 {
1347   return (uint8x16_t) __builtin_aarch64_raddhn2v8hi ((int8x8_t) __a,
1348 						     (int16x8_t) __b,
1349 						     (int16x8_t) __c);
1350 }
1351 
1352 __extension__ extern __inline uint16x8_t
1353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_high_u32(uint16x4_t __a,uint32x4_t __b,uint32x4_t __c)1354 vraddhn_high_u32 (uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
1355 {
1356   return (uint16x8_t) __builtin_aarch64_raddhn2v4si ((int16x4_t) __a,
1357 						     (int32x4_t) __b,
1358 						     (int32x4_t) __c);
1359 }
1360 
1361 __extension__ extern __inline uint32x4_t
1362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vraddhn_high_u64(uint32x2_t __a,uint64x2_t __b,uint64x2_t __c)1363 vraddhn_high_u64 (uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
1364 {
1365   return (uint32x4_t) __builtin_aarch64_raddhn2v2di ((int32x2_t) __a,
1366 						     (int64x2_t) __b,
1367 						     (int64x2_t) __c);
1368 }
1369 
1370 __extension__ extern __inline float32x2_t
1371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdiv_f32(float32x2_t __a,float32x2_t __b)1372 vdiv_f32 (float32x2_t __a, float32x2_t __b)
1373 {
1374   return __a / __b;
1375 }
1376 
1377 __extension__ extern __inline float64x1_t
1378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdiv_f64(float64x1_t __a,float64x1_t __b)1379 vdiv_f64 (float64x1_t __a, float64x1_t __b)
1380 {
1381   return __a / __b;
1382 }
1383 
1384 __extension__ extern __inline float32x4_t
1385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdivq_f32(float32x4_t __a,float32x4_t __b)1386 vdivq_f32 (float32x4_t __a, float32x4_t __b)
1387 {
1388   return __a / __b;
1389 }
1390 
1391 __extension__ extern __inline float64x2_t
1392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdivq_f64(float64x2_t __a,float64x2_t __b)1393 vdivq_f64 (float64x2_t __a, float64x2_t __b)
1394 {
1395   return __a / __b;
1396 }
1397 
1398 __extension__ extern __inline int8x8_t
1399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_s8(int8x8_t __a,int8x8_t __b)1400 vmul_s8 (int8x8_t __a, int8x8_t __b)
1401 {
1402   return __a * __b;
1403 }
1404 
1405 __extension__ extern __inline int16x4_t
1406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_s16(int16x4_t __a,int16x4_t __b)1407 vmul_s16 (int16x4_t __a, int16x4_t __b)
1408 {
1409   return __a * __b;
1410 }
1411 
1412 __extension__ extern __inline int32x2_t
1413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_s32(int32x2_t __a,int32x2_t __b)1414 vmul_s32 (int32x2_t __a, int32x2_t __b)
1415 {
1416   return __a * __b;
1417 }
1418 
1419 __extension__ extern __inline float32x2_t
1420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_f32(float32x2_t __a,float32x2_t __b)1421 vmul_f32 (float32x2_t __a, float32x2_t __b)
1422 {
1423   return __a * __b;
1424 }
1425 
1426 __extension__ extern __inline float64x1_t
1427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_f64(float64x1_t __a,float64x1_t __b)1428 vmul_f64 (float64x1_t __a, float64x1_t __b)
1429 {
1430   return __a * __b;
1431 }
1432 
1433 __extension__ extern __inline uint8x8_t
1434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_u8(uint8x8_t __a,uint8x8_t __b)1435 vmul_u8 (uint8x8_t __a, uint8x8_t __b)
1436 {
1437   return __a * __b;
1438 }
1439 
1440 __extension__ extern __inline uint16x4_t
1441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_u16(uint16x4_t __a,uint16x4_t __b)1442 vmul_u16 (uint16x4_t __a, uint16x4_t __b)
1443 {
1444   return __a * __b;
1445 }
1446 
1447 __extension__ extern __inline uint32x2_t
1448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_u32(uint32x2_t __a,uint32x2_t __b)1449 vmul_u32 (uint32x2_t __a, uint32x2_t __b)
1450 {
1451   return __a * __b;
1452 }
1453 
1454 __extension__ extern __inline poly8x8_t
1455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_p8(poly8x8_t __a,poly8x8_t __b)1456 vmul_p8 (poly8x8_t __a, poly8x8_t __b)
1457 {
1458   return (poly8x8_t) __builtin_aarch64_pmulv8qi ((int8x8_t) __a,
1459 						 (int8x8_t) __b);
1460 }
1461 
1462 __extension__ extern __inline int8x16_t
1463 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_s8(int8x16_t __a,int8x16_t __b)1464 vmulq_s8 (int8x16_t __a, int8x16_t __b)
1465 {
1466   return __a * __b;
1467 }
1468 
1469 __extension__ extern __inline int16x8_t
1470 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_s16(int16x8_t __a,int16x8_t __b)1471 vmulq_s16 (int16x8_t __a, int16x8_t __b)
1472 {
1473   return __a * __b;
1474 }
1475 
1476 __extension__ extern __inline int32x4_t
1477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_s32(int32x4_t __a,int32x4_t __b)1478 vmulq_s32 (int32x4_t __a, int32x4_t __b)
1479 {
1480   return __a * __b;
1481 }
1482 
1483 __extension__ extern __inline float32x4_t
1484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_f32(float32x4_t __a,float32x4_t __b)1485 vmulq_f32 (float32x4_t __a, float32x4_t __b)
1486 {
1487   return __a * __b;
1488 }
1489 
1490 __extension__ extern __inline float64x2_t
1491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_f64(float64x2_t __a,float64x2_t __b)1492 vmulq_f64 (float64x2_t __a, float64x2_t __b)
1493 {
1494   return __a * __b;
1495 }
1496 
1497 __extension__ extern __inline uint8x16_t
1498 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_u8(uint8x16_t __a,uint8x16_t __b)1499 vmulq_u8 (uint8x16_t __a, uint8x16_t __b)
1500 {
1501   return __a * __b;
1502 }
1503 
1504 __extension__ extern __inline uint16x8_t
1505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_u16(uint16x8_t __a,uint16x8_t __b)1506 vmulq_u16 (uint16x8_t __a, uint16x8_t __b)
1507 {
1508   return __a * __b;
1509 }
1510 
1511 __extension__ extern __inline uint32x4_t
1512 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_u32(uint32x4_t __a,uint32x4_t __b)1513 vmulq_u32 (uint32x4_t __a, uint32x4_t __b)
1514 {
1515   return __a * __b;
1516 }
1517 
1518 __extension__ extern __inline poly8x16_t
1519 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_p8(poly8x16_t __a,poly8x16_t __b)1520 vmulq_p8 (poly8x16_t __a, poly8x16_t __b)
1521 {
1522   return (poly8x16_t) __builtin_aarch64_pmulv16qi ((int8x16_t) __a,
1523 						   (int8x16_t) __b);
1524 }
1525 
1526 __extension__ extern __inline int8x8_t
1527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_s8(int8x8_t __a,int8x8_t __b)1528 vand_s8 (int8x8_t __a, int8x8_t __b)
1529 {
1530   return __a & __b;
1531 }
1532 
1533 __extension__ extern __inline int16x4_t
1534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_s16(int16x4_t __a,int16x4_t __b)1535 vand_s16 (int16x4_t __a, int16x4_t __b)
1536 {
1537   return __a & __b;
1538 }
1539 
1540 __extension__ extern __inline int32x2_t
1541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_s32(int32x2_t __a,int32x2_t __b)1542 vand_s32 (int32x2_t __a, int32x2_t __b)
1543 {
1544   return __a & __b;
1545 }
1546 
1547 __extension__ extern __inline uint8x8_t
1548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_u8(uint8x8_t __a,uint8x8_t __b)1549 vand_u8 (uint8x8_t __a, uint8x8_t __b)
1550 {
1551   return __a & __b;
1552 }
1553 
1554 __extension__ extern __inline uint16x4_t
1555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_u16(uint16x4_t __a,uint16x4_t __b)1556 vand_u16 (uint16x4_t __a, uint16x4_t __b)
1557 {
1558   return __a & __b;
1559 }
1560 
1561 __extension__ extern __inline uint32x2_t
1562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_u32(uint32x2_t __a,uint32x2_t __b)1563 vand_u32 (uint32x2_t __a, uint32x2_t __b)
1564 {
1565   return __a & __b;
1566 }
1567 
1568 __extension__ extern __inline int64x1_t
1569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_s64(int64x1_t __a,int64x1_t __b)1570 vand_s64 (int64x1_t __a, int64x1_t __b)
1571 {
1572   return __a & __b;
1573 }
1574 
1575 __extension__ extern __inline uint64x1_t
1576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vand_u64(uint64x1_t __a,uint64x1_t __b)1577 vand_u64 (uint64x1_t __a, uint64x1_t __b)
1578 {
1579   return __a & __b;
1580 }
1581 
1582 __extension__ extern __inline int8x16_t
1583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s8(int8x16_t __a,int8x16_t __b)1584 vandq_s8 (int8x16_t __a, int8x16_t __b)
1585 {
1586   return __a & __b;
1587 }
1588 
1589 __extension__ extern __inline int16x8_t
1590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s16(int16x8_t __a,int16x8_t __b)1591 vandq_s16 (int16x8_t __a, int16x8_t __b)
1592 {
1593   return __a & __b;
1594 }
1595 
1596 __extension__ extern __inline int32x4_t
1597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s32(int32x4_t __a,int32x4_t __b)1598 vandq_s32 (int32x4_t __a, int32x4_t __b)
1599 {
1600   return __a & __b;
1601 }
1602 
1603 __extension__ extern __inline int64x2_t
1604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_s64(int64x2_t __a,int64x2_t __b)1605 vandq_s64 (int64x2_t __a, int64x2_t __b)
1606 {
1607   return __a & __b;
1608 }
1609 
1610 __extension__ extern __inline uint8x16_t
1611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u8(uint8x16_t __a,uint8x16_t __b)1612 vandq_u8 (uint8x16_t __a, uint8x16_t __b)
1613 {
1614   return __a & __b;
1615 }
1616 
1617 __extension__ extern __inline uint16x8_t
1618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u16(uint16x8_t __a,uint16x8_t __b)1619 vandq_u16 (uint16x8_t __a, uint16x8_t __b)
1620 {
1621   return __a & __b;
1622 }
1623 
1624 __extension__ extern __inline uint32x4_t
1625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u32(uint32x4_t __a,uint32x4_t __b)1626 vandq_u32 (uint32x4_t __a, uint32x4_t __b)
1627 {
1628   return __a & __b;
1629 }
1630 
1631 __extension__ extern __inline uint64x2_t
1632 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vandq_u64(uint64x2_t __a,uint64x2_t __b)1633 vandq_u64 (uint64x2_t __a, uint64x2_t __b)
1634 {
1635   return __a & __b;
1636 }
1637 
1638 __extension__ extern __inline int8x8_t
1639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s8(int8x8_t __a,int8x8_t __b)1640 vorr_s8 (int8x8_t __a, int8x8_t __b)
1641 {
1642   return __a | __b;
1643 }
1644 
1645 __extension__ extern __inline int16x4_t
1646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s16(int16x4_t __a,int16x4_t __b)1647 vorr_s16 (int16x4_t __a, int16x4_t __b)
1648 {
1649   return __a | __b;
1650 }
1651 
1652 __extension__ extern __inline int32x2_t
1653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s32(int32x2_t __a,int32x2_t __b)1654 vorr_s32 (int32x2_t __a, int32x2_t __b)
1655 {
1656   return __a | __b;
1657 }
1658 
1659 __extension__ extern __inline uint8x8_t
1660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u8(uint8x8_t __a,uint8x8_t __b)1661 vorr_u8 (uint8x8_t __a, uint8x8_t __b)
1662 {
1663   return __a | __b;
1664 }
1665 
1666 __extension__ extern __inline uint16x4_t
1667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u16(uint16x4_t __a,uint16x4_t __b)1668 vorr_u16 (uint16x4_t __a, uint16x4_t __b)
1669 {
1670   return __a | __b;
1671 }
1672 
1673 __extension__ extern __inline uint32x2_t
1674 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u32(uint32x2_t __a,uint32x2_t __b)1675 vorr_u32 (uint32x2_t __a, uint32x2_t __b)
1676 {
1677   return __a | __b;
1678 }
1679 
1680 __extension__ extern __inline int64x1_t
1681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_s64(int64x1_t __a,int64x1_t __b)1682 vorr_s64 (int64x1_t __a, int64x1_t __b)
1683 {
1684   return __a | __b;
1685 }
1686 
1687 __extension__ extern __inline uint64x1_t
1688 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorr_u64(uint64x1_t __a,uint64x1_t __b)1689 vorr_u64 (uint64x1_t __a, uint64x1_t __b)
1690 {
1691   return __a | __b;
1692 }
1693 
1694 __extension__ extern __inline int8x16_t
1695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s8(int8x16_t __a,int8x16_t __b)1696 vorrq_s8 (int8x16_t __a, int8x16_t __b)
1697 {
1698   return __a | __b;
1699 }
1700 
1701 __extension__ extern __inline int16x8_t
1702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s16(int16x8_t __a,int16x8_t __b)1703 vorrq_s16 (int16x8_t __a, int16x8_t __b)
1704 {
1705   return __a | __b;
1706 }
1707 
1708 __extension__ extern __inline int32x4_t
1709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s32(int32x4_t __a,int32x4_t __b)1710 vorrq_s32 (int32x4_t __a, int32x4_t __b)
1711 {
1712   return __a | __b;
1713 }
1714 
1715 __extension__ extern __inline int64x2_t
1716 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_s64(int64x2_t __a,int64x2_t __b)1717 vorrq_s64 (int64x2_t __a, int64x2_t __b)
1718 {
1719   return __a | __b;
1720 }
1721 
1722 __extension__ extern __inline uint8x16_t
1723 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u8(uint8x16_t __a,uint8x16_t __b)1724 vorrq_u8 (uint8x16_t __a, uint8x16_t __b)
1725 {
1726   return __a | __b;
1727 }
1728 
1729 __extension__ extern __inline uint16x8_t
1730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u16(uint16x8_t __a,uint16x8_t __b)1731 vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
1732 {
1733   return __a | __b;
1734 }
1735 
1736 __extension__ extern __inline uint32x4_t
1737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u32(uint32x4_t __a,uint32x4_t __b)1738 vorrq_u32 (uint32x4_t __a, uint32x4_t __b)
1739 {
1740   return __a | __b;
1741 }
1742 
1743 __extension__ extern __inline uint64x2_t
1744 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorrq_u64(uint64x2_t __a,uint64x2_t __b)1745 vorrq_u64 (uint64x2_t __a, uint64x2_t __b)
1746 {
1747   return __a | __b;
1748 }
1749 
1750 __extension__ extern __inline int8x8_t
1751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_s8(int8x8_t __a,int8x8_t __b)1752 veor_s8 (int8x8_t __a, int8x8_t __b)
1753 {
1754   return __a ^ __b;
1755 }
1756 
1757 __extension__ extern __inline int16x4_t
1758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_s16(int16x4_t __a,int16x4_t __b)1759 veor_s16 (int16x4_t __a, int16x4_t __b)
1760 {
1761   return __a ^ __b;
1762 }
1763 
1764 __extension__ extern __inline int32x2_t
1765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_s32(int32x2_t __a,int32x2_t __b)1766 veor_s32 (int32x2_t __a, int32x2_t __b)
1767 {
1768   return __a ^ __b;
1769 }
1770 
1771 __extension__ extern __inline uint8x8_t
1772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_u8(uint8x8_t __a,uint8x8_t __b)1773 veor_u8 (uint8x8_t __a, uint8x8_t __b)
1774 {
1775   return __a ^ __b;
1776 }
1777 
1778 __extension__ extern __inline uint16x4_t
1779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_u16(uint16x4_t __a,uint16x4_t __b)1780 veor_u16 (uint16x4_t __a, uint16x4_t __b)
1781 {
1782   return __a ^ __b;
1783 }
1784 
1785 __extension__ extern __inline uint32x2_t
1786 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_u32(uint32x2_t __a,uint32x2_t __b)1787 veor_u32 (uint32x2_t __a, uint32x2_t __b)
1788 {
1789   return __a ^ __b;
1790 }
1791 
1792 __extension__ extern __inline int64x1_t
1793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_s64(int64x1_t __a,int64x1_t __b)1794 veor_s64 (int64x1_t __a, int64x1_t __b)
1795 {
1796   return __a ^ __b;
1797 }
1798 
1799 __extension__ extern __inline uint64x1_t
1800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor_u64(uint64x1_t __a,uint64x1_t __b)1801 veor_u64 (uint64x1_t __a, uint64x1_t __b)
1802 {
1803   return __a ^ __b;
1804 }
1805 
1806 __extension__ extern __inline int8x16_t
1807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s8(int8x16_t __a,int8x16_t __b)1808 veorq_s8 (int8x16_t __a, int8x16_t __b)
1809 {
1810   return __a ^ __b;
1811 }
1812 
1813 __extension__ extern __inline int16x8_t
1814 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s16(int16x8_t __a,int16x8_t __b)1815 veorq_s16 (int16x8_t __a, int16x8_t __b)
1816 {
1817   return __a ^ __b;
1818 }
1819 
1820 __extension__ extern __inline int32x4_t
1821 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s32(int32x4_t __a,int32x4_t __b)1822 veorq_s32 (int32x4_t __a, int32x4_t __b)
1823 {
1824   return __a ^ __b;
1825 }
1826 
1827 __extension__ extern __inline int64x2_t
1828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_s64(int64x2_t __a,int64x2_t __b)1829 veorq_s64 (int64x2_t __a, int64x2_t __b)
1830 {
1831   return __a ^ __b;
1832 }
1833 
1834 __extension__ extern __inline uint8x16_t
1835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u8(uint8x16_t __a,uint8x16_t __b)1836 veorq_u8 (uint8x16_t __a, uint8x16_t __b)
1837 {
1838   return __a ^ __b;
1839 }
1840 
1841 __extension__ extern __inline uint16x8_t
1842 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u16(uint16x8_t __a,uint16x8_t __b)1843 veorq_u16 (uint16x8_t __a, uint16x8_t __b)
1844 {
1845   return __a ^ __b;
1846 }
1847 
1848 __extension__ extern __inline uint32x4_t
1849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u32(uint32x4_t __a,uint32x4_t __b)1850 veorq_u32 (uint32x4_t __a, uint32x4_t __b)
1851 {
1852   return __a ^ __b;
1853 }
1854 
1855 __extension__ extern __inline uint64x2_t
1856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veorq_u64(uint64x2_t __a,uint64x2_t __b)1857 veorq_u64 (uint64x2_t __a, uint64x2_t __b)
1858 {
1859   return __a ^ __b;
1860 }
1861 
1862 __extension__ extern __inline int8x8_t
1863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s8(int8x8_t __a,int8x8_t __b)1864 vbic_s8 (int8x8_t __a, int8x8_t __b)
1865 {
1866   return __a & ~__b;
1867 }
1868 
1869 __extension__ extern __inline int16x4_t
1870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s16(int16x4_t __a,int16x4_t __b)1871 vbic_s16 (int16x4_t __a, int16x4_t __b)
1872 {
1873   return __a & ~__b;
1874 }
1875 
1876 __extension__ extern __inline int32x2_t
1877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s32(int32x2_t __a,int32x2_t __b)1878 vbic_s32 (int32x2_t __a, int32x2_t __b)
1879 {
1880   return __a & ~__b;
1881 }
1882 
1883 __extension__ extern __inline uint8x8_t
1884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u8(uint8x8_t __a,uint8x8_t __b)1885 vbic_u8 (uint8x8_t __a, uint8x8_t __b)
1886 {
1887   return __a & ~__b;
1888 }
1889 
1890 __extension__ extern __inline uint16x4_t
1891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u16(uint16x4_t __a,uint16x4_t __b)1892 vbic_u16 (uint16x4_t __a, uint16x4_t __b)
1893 {
1894   return __a & ~__b;
1895 }
1896 
1897 __extension__ extern __inline uint32x2_t
1898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u32(uint32x2_t __a,uint32x2_t __b)1899 vbic_u32 (uint32x2_t __a, uint32x2_t __b)
1900 {
1901   return __a & ~__b;
1902 }
1903 
1904 __extension__ extern __inline int64x1_t
1905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_s64(int64x1_t __a,int64x1_t __b)1906 vbic_s64 (int64x1_t __a, int64x1_t __b)
1907 {
1908   return __a & ~__b;
1909 }
1910 
1911 __extension__ extern __inline uint64x1_t
1912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbic_u64(uint64x1_t __a,uint64x1_t __b)1913 vbic_u64 (uint64x1_t __a, uint64x1_t __b)
1914 {
1915   return __a & ~__b;
1916 }
1917 
1918 __extension__ extern __inline int8x16_t
1919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s8(int8x16_t __a,int8x16_t __b)1920 vbicq_s8 (int8x16_t __a, int8x16_t __b)
1921 {
1922   return __a & ~__b;
1923 }
1924 
1925 __extension__ extern __inline int16x8_t
1926 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s16(int16x8_t __a,int16x8_t __b)1927 vbicq_s16 (int16x8_t __a, int16x8_t __b)
1928 {
1929   return __a & ~__b;
1930 }
1931 
1932 __extension__ extern __inline int32x4_t
1933 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s32(int32x4_t __a,int32x4_t __b)1934 vbicq_s32 (int32x4_t __a, int32x4_t __b)
1935 {
1936   return __a & ~__b;
1937 }
1938 
1939 __extension__ extern __inline int64x2_t
1940 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_s64(int64x2_t __a,int64x2_t __b)1941 vbicq_s64 (int64x2_t __a, int64x2_t __b)
1942 {
1943   return __a & ~__b;
1944 }
1945 
1946 __extension__ extern __inline uint8x16_t
1947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u8(uint8x16_t __a,uint8x16_t __b)1948 vbicq_u8 (uint8x16_t __a, uint8x16_t __b)
1949 {
1950   return __a & ~__b;
1951 }
1952 
1953 __extension__ extern __inline uint16x8_t
1954 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u16(uint16x8_t __a,uint16x8_t __b)1955 vbicq_u16 (uint16x8_t __a, uint16x8_t __b)
1956 {
1957   return __a & ~__b;
1958 }
1959 
1960 __extension__ extern __inline uint32x4_t
1961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u32(uint32x4_t __a,uint32x4_t __b)1962 vbicq_u32 (uint32x4_t __a, uint32x4_t __b)
1963 {
1964   return __a & ~__b;
1965 }
1966 
1967 __extension__ extern __inline uint64x2_t
1968 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbicq_u64(uint64x2_t __a,uint64x2_t __b)1969 vbicq_u64 (uint64x2_t __a, uint64x2_t __b)
1970 {
1971   return __a & ~__b;
1972 }
1973 
1974 __extension__ extern __inline int8x8_t
1975 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s8(int8x8_t __a,int8x8_t __b)1976 vorn_s8 (int8x8_t __a, int8x8_t __b)
1977 {
1978   return __a | ~__b;
1979 }
1980 
1981 __extension__ extern __inline int16x4_t
1982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s16(int16x4_t __a,int16x4_t __b)1983 vorn_s16 (int16x4_t __a, int16x4_t __b)
1984 {
1985   return __a | ~__b;
1986 }
1987 
1988 __extension__ extern __inline int32x2_t
1989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s32(int32x2_t __a,int32x2_t __b)1990 vorn_s32 (int32x2_t __a, int32x2_t __b)
1991 {
1992   return __a | ~__b;
1993 }
1994 
1995 __extension__ extern __inline uint8x8_t
1996 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u8(uint8x8_t __a,uint8x8_t __b)1997 vorn_u8 (uint8x8_t __a, uint8x8_t __b)
1998 {
1999   return __a | ~__b;
2000 }
2001 
2002 __extension__ extern __inline uint16x4_t
2003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u16(uint16x4_t __a,uint16x4_t __b)2004 vorn_u16 (uint16x4_t __a, uint16x4_t __b)
2005 {
2006   return __a | ~__b;
2007 }
2008 
2009 __extension__ extern __inline uint32x2_t
2010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u32(uint32x2_t __a,uint32x2_t __b)2011 vorn_u32 (uint32x2_t __a, uint32x2_t __b)
2012 {
2013   return __a | ~__b;
2014 }
2015 
2016 __extension__ extern __inline int64x1_t
2017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_s64(int64x1_t __a,int64x1_t __b)2018 vorn_s64 (int64x1_t __a, int64x1_t __b)
2019 {
2020   return __a | ~__b;
2021 }
2022 
2023 __extension__ extern __inline uint64x1_t
2024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vorn_u64(uint64x1_t __a,uint64x1_t __b)2025 vorn_u64 (uint64x1_t __a, uint64x1_t __b)
2026 {
2027   return __a | ~__b;
2028 }
2029 
2030 __extension__ extern __inline int8x16_t
2031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s8(int8x16_t __a,int8x16_t __b)2032 vornq_s8 (int8x16_t __a, int8x16_t __b)
2033 {
2034   return __a | ~__b;
2035 }
2036 
2037 __extension__ extern __inline int16x8_t
2038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s16(int16x8_t __a,int16x8_t __b)2039 vornq_s16 (int16x8_t __a, int16x8_t __b)
2040 {
2041   return __a | ~__b;
2042 }
2043 
2044 __extension__ extern __inline int32x4_t
2045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s32(int32x4_t __a,int32x4_t __b)2046 vornq_s32 (int32x4_t __a, int32x4_t __b)
2047 {
2048   return __a | ~__b;
2049 }
2050 
2051 __extension__ extern __inline int64x2_t
2052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_s64(int64x2_t __a,int64x2_t __b)2053 vornq_s64 (int64x2_t __a, int64x2_t __b)
2054 {
2055   return __a | ~__b;
2056 }
2057 
2058 __extension__ extern __inline uint8x16_t
2059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u8(uint8x16_t __a,uint8x16_t __b)2060 vornq_u8 (uint8x16_t __a, uint8x16_t __b)
2061 {
2062   return __a | ~__b;
2063 }
2064 
2065 __extension__ extern __inline uint16x8_t
2066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u16(uint16x8_t __a,uint16x8_t __b)2067 vornq_u16 (uint16x8_t __a, uint16x8_t __b)
2068 {
2069   return __a | ~__b;
2070 }
2071 
2072 __extension__ extern __inline uint32x4_t
2073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u32(uint32x4_t __a,uint32x4_t __b)2074 vornq_u32 (uint32x4_t __a, uint32x4_t __b)
2075 {
2076   return __a | ~__b;
2077 }
2078 
2079 __extension__ extern __inline uint64x2_t
2080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vornq_u64(uint64x2_t __a,uint64x2_t __b)2081 vornq_u64 (uint64x2_t __a, uint64x2_t __b)
2082 {
2083   return __a | ~__b;
2084 }
2085 
2086 __extension__ extern __inline int8x8_t
2087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s8(int8x8_t __a,int8x8_t __b)2088 vsub_s8 (int8x8_t __a, int8x8_t __b)
2089 {
2090   return __a - __b;
2091 }
2092 
2093 __extension__ extern __inline int16x4_t
2094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s16(int16x4_t __a,int16x4_t __b)2095 vsub_s16 (int16x4_t __a, int16x4_t __b)
2096 {
2097   return __a - __b;
2098 }
2099 
2100 __extension__ extern __inline int32x2_t
2101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s32(int32x2_t __a,int32x2_t __b)2102 vsub_s32 (int32x2_t __a, int32x2_t __b)
2103 {
2104   return __a - __b;
2105 }
2106 
2107 __extension__ extern __inline float32x2_t
2108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_f32(float32x2_t __a,float32x2_t __b)2109 vsub_f32 (float32x2_t __a, float32x2_t __b)
2110 {
2111   return __a - __b;
2112 }
2113 
2114 __extension__ extern __inline float64x1_t
2115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_f64(float64x1_t __a,float64x1_t __b)2116 vsub_f64 (float64x1_t __a, float64x1_t __b)
2117 {
2118   return __a - __b;
2119 }
2120 
2121 __extension__ extern __inline uint8x8_t
2122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u8(uint8x8_t __a,uint8x8_t __b)2123 vsub_u8 (uint8x8_t __a, uint8x8_t __b)
2124 {
2125   return __a - __b;
2126 }
2127 
2128 __extension__ extern __inline uint16x4_t
2129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u16(uint16x4_t __a,uint16x4_t __b)2130 vsub_u16 (uint16x4_t __a, uint16x4_t __b)
2131 {
2132   return __a - __b;
2133 }
2134 
2135 __extension__ extern __inline uint32x2_t
2136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u32(uint32x2_t __a,uint32x2_t __b)2137 vsub_u32 (uint32x2_t __a, uint32x2_t __b)
2138 {
2139   return __a - __b;
2140 }
2141 
2142 __extension__ extern __inline int64x1_t
2143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_s64(int64x1_t __a,int64x1_t __b)2144 vsub_s64 (int64x1_t __a, int64x1_t __b)
2145 {
2146   return __a - __b;
2147 }
2148 
2149 __extension__ extern __inline uint64x1_t
2150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_u64(uint64x1_t __a,uint64x1_t __b)2151 vsub_u64 (uint64x1_t __a, uint64x1_t __b)
2152 {
2153   return __a - __b;
2154 }
2155 
2156 __extension__ extern __inline int8x16_t
2157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s8(int8x16_t __a,int8x16_t __b)2158 vsubq_s8 (int8x16_t __a, int8x16_t __b)
2159 {
2160   return __a - __b;
2161 }
2162 
2163 __extension__ extern __inline int16x8_t
2164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s16(int16x8_t __a,int16x8_t __b)2165 vsubq_s16 (int16x8_t __a, int16x8_t __b)
2166 {
2167   return __a - __b;
2168 }
2169 
2170 __extension__ extern __inline int32x4_t
2171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s32(int32x4_t __a,int32x4_t __b)2172 vsubq_s32 (int32x4_t __a, int32x4_t __b)
2173 {
2174   return __a - __b;
2175 }
2176 
2177 __extension__ extern __inline int64x2_t
2178 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_s64(int64x2_t __a,int64x2_t __b)2179 vsubq_s64 (int64x2_t __a, int64x2_t __b)
2180 {
2181   return __a - __b;
2182 }
2183 
2184 __extension__ extern __inline float32x4_t
2185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_f32(float32x4_t __a,float32x4_t __b)2186 vsubq_f32 (float32x4_t __a, float32x4_t __b)
2187 {
2188   return __a - __b;
2189 }
2190 
2191 __extension__ extern __inline float64x2_t
2192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_f64(float64x2_t __a,float64x2_t __b)2193 vsubq_f64 (float64x2_t __a, float64x2_t __b)
2194 {
2195   return __a - __b;
2196 }
2197 
2198 __extension__ extern __inline uint8x16_t
2199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u8(uint8x16_t __a,uint8x16_t __b)2200 vsubq_u8 (uint8x16_t __a, uint8x16_t __b)
2201 {
2202   return __a - __b;
2203 }
2204 
2205 __extension__ extern __inline uint16x8_t
2206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u16(uint16x8_t __a,uint16x8_t __b)2207 vsubq_u16 (uint16x8_t __a, uint16x8_t __b)
2208 {
2209   return __a - __b;
2210 }
2211 
2212 __extension__ extern __inline uint32x4_t
2213 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u32(uint32x4_t __a,uint32x4_t __b)2214 vsubq_u32 (uint32x4_t __a, uint32x4_t __b)
2215 {
2216   return __a - __b;
2217 }
2218 
2219 __extension__ extern __inline uint64x2_t
2220 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_u64(uint64x2_t __a,uint64x2_t __b)2221 vsubq_u64 (uint64x2_t __a, uint64x2_t __b)
2222 {
2223   return __a - __b;
2224 }
2225 
2226 __extension__ extern __inline int16x8_t
2227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_s8(int8x8_t __a,int8x8_t __b)2228 vsubl_s8 (int8x8_t __a, int8x8_t __b)
2229 {
2230   return (int16x8_t) __builtin_aarch64_ssublv8qi (__a, __b);
2231 }
2232 
2233 __extension__ extern __inline int32x4_t
2234 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_s16(int16x4_t __a,int16x4_t __b)2235 vsubl_s16 (int16x4_t __a, int16x4_t __b)
2236 {
2237   return (int32x4_t) __builtin_aarch64_ssublv4hi (__a, __b);
2238 }
2239 
2240 __extension__ extern __inline int64x2_t
2241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_s32(int32x2_t __a,int32x2_t __b)2242 vsubl_s32 (int32x2_t __a, int32x2_t __b)
2243 {
2244   return (int64x2_t) __builtin_aarch64_ssublv2si (__a, __b);
2245 }
2246 
2247 __extension__ extern __inline uint16x8_t
2248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_u8(uint8x8_t __a,uint8x8_t __b)2249 vsubl_u8 (uint8x8_t __a, uint8x8_t __b)
2250 {
2251   return (uint16x8_t) __builtin_aarch64_usublv8qi ((int8x8_t) __a,
2252 						   (int8x8_t) __b);
2253 }
2254 
2255 __extension__ extern __inline uint32x4_t
2256 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_u16(uint16x4_t __a,uint16x4_t __b)2257 vsubl_u16 (uint16x4_t __a, uint16x4_t __b)
2258 {
2259   return (uint32x4_t) __builtin_aarch64_usublv4hi ((int16x4_t) __a,
2260 						   (int16x4_t) __b);
2261 }
2262 
2263 __extension__ extern __inline uint64x2_t
2264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_u32(uint32x2_t __a,uint32x2_t __b)2265 vsubl_u32 (uint32x2_t __a, uint32x2_t __b)
2266 {
2267   return (uint64x2_t) __builtin_aarch64_usublv2si ((int32x2_t) __a,
2268 						   (int32x2_t) __b);
2269 }
2270 
2271 __extension__ extern __inline int16x8_t
2272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_high_s8(int8x16_t __a,int8x16_t __b)2273 vsubl_high_s8 (int8x16_t __a, int8x16_t __b)
2274 {
2275   return (int16x8_t) __builtin_aarch64_ssubl2v16qi (__a, __b);
2276 }
2277 
2278 __extension__ extern __inline int32x4_t
2279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_high_s16(int16x8_t __a,int16x8_t __b)2280 vsubl_high_s16 (int16x8_t __a, int16x8_t __b)
2281 {
2282   return (int32x4_t) __builtin_aarch64_ssubl2v8hi (__a, __b);
2283 }
2284 
2285 __extension__ extern __inline int64x2_t
2286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_high_s32(int32x4_t __a,int32x4_t __b)2287 vsubl_high_s32 (int32x4_t __a, int32x4_t __b)
2288 {
2289   return (int64x2_t) __builtin_aarch64_ssubl2v4si (__a, __b);
2290 }
2291 
2292 __extension__ extern __inline uint16x8_t
2293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_high_u8(uint8x16_t __a,uint8x16_t __b)2294 vsubl_high_u8 (uint8x16_t __a, uint8x16_t __b)
2295 {
2296   return (uint16x8_t) __builtin_aarch64_usubl2v16qi ((int8x16_t) __a,
2297 						     (int8x16_t) __b);
2298 }
2299 
2300 __extension__ extern __inline uint32x4_t
2301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_high_u16(uint16x8_t __a,uint16x8_t __b)2302 vsubl_high_u16 (uint16x8_t __a, uint16x8_t __b)
2303 {
2304   return (uint32x4_t) __builtin_aarch64_usubl2v8hi ((int16x8_t) __a,
2305 						    (int16x8_t) __b);
2306 }
2307 
2308 __extension__ extern __inline uint64x2_t
2309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubl_high_u32(uint32x4_t __a,uint32x4_t __b)2310 vsubl_high_u32 (uint32x4_t __a, uint32x4_t __b)
2311 {
2312   return (uint64x2_t) __builtin_aarch64_usubl2v4si ((int32x4_t) __a,
2313 						    (int32x4_t) __b);
2314 }
2315 
2316 __extension__ extern __inline int16x8_t
2317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_s8(int16x8_t __a,int8x8_t __b)2318 vsubw_s8 (int16x8_t __a, int8x8_t __b)
2319 {
2320   return (int16x8_t) __builtin_aarch64_ssubwv8qi (__a, __b);
2321 }
2322 
2323 __extension__ extern __inline int32x4_t
2324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_s16(int32x4_t __a,int16x4_t __b)2325 vsubw_s16 (int32x4_t __a, int16x4_t __b)
2326 {
2327   return (int32x4_t) __builtin_aarch64_ssubwv4hi (__a, __b);
2328 }
2329 
2330 __extension__ extern __inline int64x2_t
2331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_s32(int64x2_t __a,int32x2_t __b)2332 vsubw_s32 (int64x2_t __a, int32x2_t __b)
2333 {
2334   return (int64x2_t) __builtin_aarch64_ssubwv2si (__a, __b);
2335 }
2336 
2337 __extension__ extern __inline uint16x8_t
2338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_u8(uint16x8_t __a,uint8x8_t __b)2339 vsubw_u8 (uint16x8_t __a, uint8x8_t __b)
2340 {
2341   return (uint16x8_t) __builtin_aarch64_usubwv8qi ((int16x8_t) __a,
2342 						   (int8x8_t) __b);
2343 }
2344 
2345 __extension__ extern __inline uint32x4_t
2346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_u16(uint32x4_t __a,uint16x4_t __b)2347 vsubw_u16 (uint32x4_t __a, uint16x4_t __b)
2348 {
2349   return (uint32x4_t) __builtin_aarch64_usubwv4hi ((int32x4_t) __a,
2350 						   (int16x4_t) __b);
2351 }
2352 
2353 __extension__ extern __inline uint64x2_t
2354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_u32(uint64x2_t __a,uint32x2_t __b)2355 vsubw_u32 (uint64x2_t __a, uint32x2_t __b)
2356 {
2357   return (uint64x2_t) __builtin_aarch64_usubwv2si ((int64x2_t) __a,
2358 						   (int32x2_t) __b);
2359 }
2360 
2361 __extension__ extern __inline int16x8_t
2362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_high_s8(int16x8_t __a,int8x16_t __b)2363 vsubw_high_s8 (int16x8_t __a, int8x16_t __b)
2364 {
2365   return (int16x8_t) __builtin_aarch64_ssubw2v16qi (__a, __b);
2366 }
2367 
2368 __extension__ extern __inline int32x4_t
2369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_high_s16(int32x4_t __a,int16x8_t __b)2370 vsubw_high_s16 (int32x4_t __a, int16x8_t __b)
2371 {
2372   return (int32x4_t) __builtin_aarch64_ssubw2v8hi (__a, __b);
2373 }
2374 
2375 __extension__ extern __inline int64x2_t
2376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_high_s32(int64x2_t __a,int32x4_t __b)2377 vsubw_high_s32 (int64x2_t __a, int32x4_t __b)
2378 {
2379   return (int64x2_t) __builtin_aarch64_ssubw2v4si (__a, __b);
2380 }
2381 
2382 __extension__ extern __inline uint16x8_t
2383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_high_u8(uint16x8_t __a,uint8x16_t __b)2384 vsubw_high_u8 (uint16x8_t __a, uint8x16_t __b)
2385 {
2386   return (uint16x8_t) __builtin_aarch64_usubw2v16qi ((int16x8_t) __a,
2387 						     (int8x16_t) __b);
2388 }
2389 
2390 __extension__ extern __inline uint32x4_t
2391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_high_u16(uint32x4_t __a,uint16x8_t __b)2392 vsubw_high_u16 (uint32x4_t __a, uint16x8_t __b)
2393 {
2394   return (uint32x4_t) __builtin_aarch64_usubw2v8hi ((int32x4_t) __a,
2395 						    (int16x8_t) __b);
2396 }
2397 
2398 __extension__ extern __inline uint64x2_t
2399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubw_high_u32(uint64x2_t __a,uint32x4_t __b)2400 vsubw_high_u32 (uint64x2_t __a, uint32x4_t __b)
2401 {
2402   return (uint64x2_t) __builtin_aarch64_usubw2v4si ((int64x2_t) __a,
2403 						    (int32x4_t) __b);
2404 }
2405 
2406 __extension__ extern __inline int8x8_t
2407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s8(int8x8_t __a,int8x8_t __b)2408 vqadd_s8 (int8x8_t __a, int8x8_t __b)
2409 {
2410   return (int8x8_t) __builtin_aarch64_sqaddv8qi (__a, __b);
2411 }
2412 
2413 __extension__ extern __inline int16x4_t
2414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s16(int16x4_t __a,int16x4_t __b)2415 vqadd_s16 (int16x4_t __a, int16x4_t __b)
2416 {
2417   return (int16x4_t) __builtin_aarch64_sqaddv4hi (__a, __b);
2418 }
2419 
2420 __extension__ extern __inline int32x2_t
2421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s32(int32x2_t __a,int32x2_t __b)2422 vqadd_s32 (int32x2_t __a, int32x2_t __b)
2423 {
2424   return (int32x2_t) __builtin_aarch64_sqaddv2si (__a, __b);
2425 }
2426 
2427 __extension__ extern __inline int64x1_t
2428 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_s64(int64x1_t __a,int64x1_t __b)2429 vqadd_s64 (int64x1_t __a, int64x1_t __b)
2430 {
2431   return (int64x1_t) {__builtin_aarch64_sqadddi (__a[0], __b[0])};
2432 }
2433 
2434 __extension__ extern __inline uint8x8_t
2435 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u8(uint8x8_t __a,uint8x8_t __b)2436 vqadd_u8 (uint8x8_t __a, uint8x8_t __b)
2437 {
2438   return __builtin_aarch64_uqaddv8qi_uuu (__a, __b);
2439 }
2440 
2441 __extension__ extern __inline int8x8_t
2442 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_s8(int8x8_t __a,int8x8_t __b)2443 vhsub_s8 (int8x8_t __a, int8x8_t __b)
2444 {
2445   return (int8x8_t)__builtin_aarch64_shsubv8qi (__a, __b);
2446 }
2447 
2448 __extension__ extern __inline int16x4_t
2449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_s16(int16x4_t __a,int16x4_t __b)2450 vhsub_s16 (int16x4_t __a, int16x4_t __b)
2451 {
2452   return (int16x4_t) __builtin_aarch64_shsubv4hi (__a, __b);
2453 }
2454 
2455 __extension__ extern __inline int32x2_t
2456 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_s32(int32x2_t __a,int32x2_t __b)2457 vhsub_s32 (int32x2_t __a, int32x2_t __b)
2458 {
2459   return (int32x2_t) __builtin_aarch64_shsubv2si (__a, __b);
2460 }
2461 
2462 __extension__ extern __inline uint8x8_t
2463 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_u8(uint8x8_t __a,uint8x8_t __b)2464 vhsub_u8 (uint8x8_t __a, uint8x8_t __b)
2465 {
2466   return (uint8x8_t) __builtin_aarch64_uhsubv8qi ((int8x8_t) __a,
2467 						  (int8x8_t) __b);
2468 }
2469 
2470 __extension__ extern __inline uint16x4_t
2471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_u16(uint16x4_t __a,uint16x4_t __b)2472 vhsub_u16 (uint16x4_t __a, uint16x4_t __b)
2473 {
2474   return (uint16x4_t) __builtin_aarch64_uhsubv4hi ((int16x4_t) __a,
2475 						   (int16x4_t) __b);
2476 }
2477 
2478 __extension__ extern __inline uint32x2_t
2479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsub_u32(uint32x2_t __a,uint32x2_t __b)2480 vhsub_u32 (uint32x2_t __a, uint32x2_t __b)
2481 {
2482   return (uint32x2_t) __builtin_aarch64_uhsubv2si ((int32x2_t) __a,
2483 						   (int32x2_t) __b);
2484 }
2485 
2486 __extension__ extern __inline int8x16_t
2487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_s8(int8x16_t __a,int8x16_t __b)2488 vhsubq_s8 (int8x16_t __a, int8x16_t __b)
2489 {
2490   return (int8x16_t) __builtin_aarch64_shsubv16qi (__a, __b);
2491 }
2492 
2493 __extension__ extern __inline int16x8_t
2494 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_s16(int16x8_t __a,int16x8_t __b)2495 vhsubq_s16 (int16x8_t __a, int16x8_t __b)
2496 {
2497   return (int16x8_t) __builtin_aarch64_shsubv8hi (__a, __b);
2498 }
2499 
2500 __extension__ extern __inline int32x4_t
2501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_s32(int32x4_t __a,int32x4_t __b)2502 vhsubq_s32 (int32x4_t __a, int32x4_t __b)
2503 {
2504   return (int32x4_t) __builtin_aarch64_shsubv4si (__a, __b);
2505 }
2506 
2507 __extension__ extern __inline uint8x16_t
2508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_u8(uint8x16_t __a,uint8x16_t __b)2509 vhsubq_u8 (uint8x16_t __a, uint8x16_t __b)
2510 {
2511   return (uint8x16_t) __builtin_aarch64_uhsubv16qi ((int8x16_t) __a,
2512 						    (int8x16_t) __b);
2513 }
2514 
2515 __extension__ extern __inline uint16x8_t
2516 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_u16(uint16x8_t __a,uint16x8_t __b)2517 vhsubq_u16 (uint16x8_t __a, uint16x8_t __b)
2518 {
2519   return (uint16x8_t) __builtin_aarch64_uhsubv8hi ((int16x8_t) __a,
2520 						   (int16x8_t) __b);
2521 }
2522 
2523 __extension__ extern __inline uint32x4_t
2524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vhsubq_u32(uint32x4_t __a,uint32x4_t __b)2525 vhsubq_u32 (uint32x4_t __a, uint32x4_t __b)
2526 {
2527   return (uint32x4_t) __builtin_aarch64_uhsubv4si ((int32x4_t) __a,
2528 						   (int32x4_t) __b);
2529 }
2530 
2531 __extension__ extern __inline int8x8_t
2532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_s16(int16x8_t __a,int16x8_t __b)2533 vsubhn_s16 (int16x8_t __a, int16x8_t __b)
2534 {
2535   return (int8x8_t) __builtin_aarch64_subhnv8hi (__a, __b);
2536 }
2537 
2538 __extension__ extern __inline int16x4_t
2539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_s32(int32x4_t __a,int32x4_t __b)2540 vsubhn_s32 (int32x4_t __a, int32x4_t __b)
2541 {
2542   return (int16x4_t) __builtin_aarch64_subhnv4si (__a, __b);
2543 }
2544 
2545 __extension__ extern __inline int32x2_t
2546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_s64(int64x2_t __a,int64x2_t __b)2547 vsubhn_s64 (int64x2_t __a, int64x2_t __b)
2548 {
2549   return (int32x2_t) __builtin_aarch64_subhnv2di (__a, __b);
2550 }
2551 
2552 __extension__ extern __inline uint8x8_t
2553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_u16(uint16x8_t __a,uint16x8_t __b)2554 vsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
2555 {
2556   return (uint8x8_t) __builtin_aarch64_subhnv8hi ((int16x8_t) __a,
2557 						  (int16x8_t) __b);
2558 }
2559 
2560 __extension__ extern __inline uint16x4_t
2561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_u32(uint32x4_t __a,uint32x4_t __b)2562 vsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
2563 {
2564   return (uint16x4_t) __builtin_aarch64_subhnv4si ((int32x4_t) __a,
2565 						   (int32x4_t) __b);
2566 }
2567 
2568 __extension__ extern __inline uint32x2_t
2569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_u64(uint64x2_t __a,uint64x2_t __b)2570 vsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
2571 {
2572   return (uint32x2_t) __builtin_aarch64_subhnv2di ((int64x2_t) __a,
2573 						   (int64x2_t) __b);
2574 }
2575 
2576 __extension__ extern __inline int8x8_t
2577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_s16(int16x8_t __a,int16x8_t __b)2578 vrsubhn_s16 (int16x8_t __a, int16x8_t __b)
2579 {
2580   return (int8x8_t) __builtin_aarch64_rsubhnv8hi (__a, __b);
2581 }
2582 
2583 __extension__ extern __inline int16x4_t
2584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_s32(int32x4_t __a,int32x4_t __b)2585 vrsubhn_s32 (int32x4_t __a, int32x4_t __b)
2586 {
2587   return (int16x4_t) __builtin_aarch64_rsubhnv4si (__a, __b);
2588 }
2589 
2590 __extension__ extern __inline int32x2_t
2591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_s64(int64x2_t __a,int64x2_t __b)2592 vrsubhn_s64 (int64x2_t __a, int64x2_t __b)
2593 {
2594   return (int32x2_t) __builtin_aarch64_rsubhnv2di (__a, __b);
2595 }
2596 
2597 __extension__ extern __inline uint8x8_t
2598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_u16(uint16x8_t __a,uint16x8_t __b)2599 vrsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
2600 {
2601   return (uint8x8_t) __builtin_aarch64_rsubhnv8hi ((int16x8_t) __a,
2602 						   (int16x8_t) __b);
2603 }
2604 
2605 __extension__ extern __inline uint16x4_t
2606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_u32(uint32x4_t __a,uint32x4_t __b)2607 vrsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
2608 {
2609   return (uint16x4_t) __builtin_aarch64_rsubhnv4si ((int32x4_t) __a,
2610 						    (int32x4_t) __b);
2611 }
2612 
2613 __extension__ extern __inline uint32x2_t
2614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_u64(uint64x2_t __a,uint64x2_t __b)2615 vrsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
2616 {
2617   return (uint32x2_t) __builtin_aarch64_rsubhnv2di ((int64x2_t) __a,
2618 						    (int64x2_t) __b);
2619 }
2620 
2621 __extension__ extern __inline int8x16_t
2622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_high_s16(int8x8_t __a,int16x8_t __b,int16x8_t __c)2623 vrsubhn_high_s16 (int8x8_t __a, int16x8_t __b, int16x8_t __c)
2624 {
2625   return (int8x16_t) __builtin_aarch64_rsubhn2v8hi (__a, __b, __c);
2626 }
2627 
2628 __extension__ extern __inline int16x8_t
2629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_high_s32(int16x4_t __a,int32x4_t __b,int32x4_t __c)2630 vrsubhn_high_s32 (int16x4_t __a, int32x4_t __b, int32x4_t __c)
2631 {
2632   return (int16x8_t) __builtin_aarch64_rsubhn2v4si (__a, __b, __c);
2633 }
2634 
2635 __extension__ extern __inline int32x4_t
2636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_high_s64(int32x2_t __a,int64x2_t __b,int64x2_t __c)2637 vrsubhn_high_s64 (int32x2_t __a, int64x2_t __b, int64x2_t __c)
2638 {
2639   return (int32x4_t) __builtin_aarch64_rsubhn2v2di (__a, __b, __c);
2640 }
2641 
2642 __extension__ extern __inline uint8x16_t
2643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_high_u16(uint8x8_t __a,uint16x8_t __b,uint16x8_t __c)2644 vrsubhn_high_u16 (uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
2645 {
2646   return (uint8x16_t) __builtin_aarch64_rsubhn2v8hi ((int8x8_t) __a,
2647 						     (int16x8_t) __b,
2648 						     (int16x8_t) __c);
2649 }
2650 
2651 __extension__ extern __inline uint16x8_t
2652 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_high_u32(uint16x4_t __a,uint32x4_t __b,uint32x4_t __c)2653 vrsubhn_high_u32 (uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
2654 {
2655   return (uint16x8_t) __builtin_aarch64_rsubhn2v4si ((int16x4_t) __a,
2656 						     (int32x4_t) __b,
2657 						     (int32x4_t) __c);
2658 }
2659 
2660 __extension__ extern __inline uint32x4_t
2661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsubhn_high_u64(uint32x2_t __a,uint64x2_t __b,uint64x2_t __c)2662 vrsubhn_high_u64 (uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
2663 {
2664   return (uint32x4_t) __builtin_aarch64_rsubhn2v2di ((int32x2_t) __a,
2665 						     (int64x2_t) __b,
2666 						     (int64x2_t) __c);
2667 }
2668 
2669 __extension__ extern __inline int8x16_t
2670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_high_s16(int8x8_t __a,int16x8_t __b,int16x8_t __c)2671 vsubhn_high_s16 (int8x8_t __a, int16x8_t __b, int16x8_t __c)
2672 {
2673   return (int8x16_t) __builtin_aarch64_subhn2v8hi (__a, __b, __c);
2674 }
2675 
2676 __extension__ extern __inline int16x8_t
2677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_high_s32(int16x4_t __a,int32x4_t __b,int32x4_t __c)2678 vsubhn_high_s32 (int16x4_t __a, int32x4_t __b, int32x4_t __c)
2679 {
2680   return (int16x8_t) __builtin_aarch64_subhn2v4si (__a, __b, __c);;
2681 }
2682 
2683 __extension__ extern __inline int32x4_t
2684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_high_s64(int32x2_t __a,int64x2_t __b,int64x2_t __c)2685 vsubhn_high_s64 (int32x2_t __a, int64x2_t __b, int64x2_t __c)
2686 {
2687   return (int32x4_t) __builtin_aarch64_subhn2v2di (__a, __b, __c);
2688 }
2689 
2690 __extension__ extern __inline uint8x16_t
2691 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_high_u16(uint8x8_t __a,uint16x8_t __b,uint16x8_t __c)2692 vsubhn_high_u16 (uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
2693 {
2694   return (uint8x16_t) __builtin_aarch64_subhn2v8hi ((int8x8_t) __a,
2695 						    (int16x8_t) __b,
2696 						    (int16x8_t) __c);
2697 }
2698 
2699 __extension__ extern __inline uint16x8_t
2700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_high_u32(uint16x4_t __a,uint32x4_t __b,uint32x4_t __c)2701 vsubhn_high_u32 (uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
2702 {
2703   return (uint16x8_t) __builtin_aarch64_subhn2v4si ((int16x4_t) __a,
2704 						    (int32x4_t) __b,
2705 						    (int32x4_t) __c);
2706 }
2707 
2708 __extension__ extern __inline uint32x4_t
2709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubhn_high_u64(uint32x2_t __a,uint64x2_t __b,uint64x2_t __c)2710 vsubhn_high_u64 (uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
2711 {
2712   return (uint32x4_t) __builtin_aarch64_subhn2v2di ((int32x2_t) __a,
2713 						    (int64x2_t) __b,
2714 						    (int64x2_t) __c);
2715 }
2716 
2717 __extension__ extern __inline uint16x4_t
2718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u16(uint16x4_t __a,uint16x4_t __b)2719 vqadd_u16 (uint16x4_t __a, uint16x4_t __b)
2720 {
2721   return __builtin_aarch64_uqaddv4hi_uuu (__a, __b);
2722 }
2723 
2724 __extension__ extern __inline uint32x2_t
2725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u32(uint32x2_t __a,uint32x2_t __b)2726 vqadd_u32 (uint32x2_t __a, uint32x2_t __b)
2727 {
2728   return __builtin_aarch64_uqaddv2si_uuu (__a, __b);
2729 }
2730 
2731 __extension__ extern __inline uint64x1_t
2732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadd_u64(uint64x1_t __a,uint64x1_t __b)2733 vqadd_u64 (uint64x1_t __a, uint64x1_t __b)
2734 {
2735   return (uint64x1_t) {__builtin_aarch64_uqadddi_uuu (__a[0], __b[0])};
2736 }
2737 
2738 __extension__ extern __inline int8x16_t
2739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s8(int8x16_t __a,int8x16_t __b)2740 vqaddq_s8 (int8x16_t __a, int8x16_t __b)
2741 {
2742   return (int8x16_t) __builtin_aarch64_sqaddv16qi (__a, __b);
2743 }
2744 
2745 __extension__ extern __inline int16x8_t
2746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s16(int16x8_t __a,int16x8_t __b)2747 vqaddq_s16 (int16x8_t __a, int16x8_t __b)
2748 {
2749   return (int16x8_t) __builtin_aarch64_sqaddv8hi (__a, __b);
2750 }
2751 
2752 __extension__ extern __inline int32x4_t
2753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s32(int32x4_t __a,int32x4_t __b)2754 vqaddq_s32 (int32x4_t __a, int32x4_t __b)
2755 {
2756   return (int32x4_t) __builtin_aarch64_sqaddv4si (__a, __b);
2757 }
2758 
2759 __extension__ extern __inline int64x2_t
2760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_s64(int64x2_t __a,int64x2_t __b)2761 vqaddq_s64 (int64x2_t __a, int64x2_t __b)
2762 {
2763   return (int64x2_t) __builtin_aarch64_sqaddv2di (__a, __b);
2764 }
2765 
2766 __extension__ extern __inline uint8x16_t
2767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u8(uint8x16_t __a,uint8x16_t __b)2768 vqaddq_u8 (uint8x16_t __a, uint8x16_t __b)
2769 {
2770   return __builtin_aarch64_uqaddv16qi_uuu (__a, __b);
2771 }
2772 
2773 __extension__ extern __inline uint16x8_t
2774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u16(uint16x8_t __a,uint16x8_t __b)2775 vqaddq_u16 (uint16x8_t __a, uint16x8_t __b)
2776 {
2777   return __builtin_aarch64_uqaddv8hi_uuu (__a, __b);
2778 }
2779 
2780 __extension__ extern __inline uint32x4_t
2781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u32(uint32x4_t __a,uint32x4_t __b)2782 vqaddq_u32 (uint32x4_t __a, uint32x4_t __b)
2783 {
2784   return __builtin_aarch64_uqaddv4si_uuu (__a, __b);
2785 }
2786 
2787 __extension__ extern __inline uint64x2_t
2788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddq_u64(uint64x2_t __a,uint64x2_t __b)2789 vqaddq_u64 (uint64x2_t __a, uint64x2_t __b)
2790 {
2791   return __builtin_aarch64_uqaddv2di_uuu (__a, __b);
2792 }
2793 
2794 __extension__ extern __inline int8x8_t
2795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s8(int8x8_t __a,int8x8_t __b)2796 vqsub_s8 (int8x8_t __a, int8x8_t __b)
2797 {
2798   return (int8x8_t) __builtin_aarch64_sqsubv8qi (__a, __b);
2799 }
2800 
2801 __extension__ extern __inline int16x4_t
2802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s16(int16x4_t __a,int16x4_t __b)2803 vqsub_s16 (int16x4_t __a, int16x4_t __b)
2804 {
2805   return (int16x4_t) __builtin_aarch64_sqsubv4hi (__a, __b);
2806 }
2807 
2808 __extension__ extern __inline int32x2_t
2809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s32(int32x2_t __a,int32x2_t __b)2810 vqsub_s32 (int32x2_t __a, int32x2_t __b)
2811 {
2812   return (int32x2_t) __builtin_aarch64_sqsubv2si (__a, __b);
2813 }
2814 
2815 __extension__ extern __inline int64x1_t
2816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_s64(int64x1_t __a,int64x1_t __b)2817 vqsub_s64 (int64x1_t __a, int64x1_t __b)
2818 {
2819   return (int64x1_t) {__builtin_aarch64_sqsubdi (__a[0], __b[0])};
2820 }
2821 
2822 __extension__ extern __inline uint8x8_t
2823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u8(uint8x8_t __a,uint8x8_t __b)2824 vqsub_u8 (uint8x8_t __a, uint8x8_t __b)
2825 {
2826   return __builtin_aarch64_uqsubv8qi_uuu (__a, __b);
2827 }
2828 
2829 __extension__ extern __inline uint16x4_t
2830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u16(uint16x4_t __a,uint16x4_t __b)2831 vqsub_u16 (uint16x4_t __a, uint16x4_t __b)
2832 {
2833   return __builtin_aarch64_uqsubv4hi_uuu (__a, __b);
2834 }
2835 
2836 __extension__ extern __inline uint32x2_t
2837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u32(uint32x2_t __a,uint32x2_t __b)2838 vqsub_u32 (uint32x2_t __a, uint32x2_t __b)
2839 {
2840   return __builtin_aarch64_uqsubv2si_uuu (__a, __b);
2841 }
2842 
2843 __extension__ extern __inline uint64x1_t
2844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsub_u64(uint64x1_t __a,uint64x1_t __b)2845 vqsub_u64 (uint64x1_t __a, uint64x1_t __b)
2846 {
2847   return (uint64x1_t) {__builtin_aarch64_uqsubdi_uuu (__a[0], __b[0])};
2848 }
2849 
2850 __extension__ extern __inline int8x16_t
2851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s8(int8x16_t __a,int8x16_t __b)2852 vqsubq_s8 (int8x16_t __a, int8x16_t __b)
2853 {
2854   return (int8x16_t) __builtin_aarch64_sqsubv16qi (__a, __b);
2855 }
2856 
2857 __extension__ extern __inline int16x8_t
2858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s16(int16x8_t __a,int16x8_t __b)2859 vqsubq_s16 (int16x8_t __a, int16x8_t __b)
2860 {
2861   return (int16x8_t) __builtin_aarch64_sqsubv8hi (__a, __b);
2862 }
2863 
2864 __extension__ extern __inline int32x4_t
2865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s32(int32x4_t __a,int32x4_t __b)2866 vqsubq_s32 (int32x4_t __a, int32x4_t __b)
2867 {
2868   return (int32x4_t) __builtin_aarch64_sqsubv4si (__a, __b);
2869 }
2870 
2871 __extension__ extern __inline int64x2_t
2872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_s64(int64x2_t __a,int64x2_t __b)2873 vqsubq_s64 (int64x2_t __a, int64x2_t __b)
2874 {
2875   return (int64x2_t) __builtin_aarch64_sqsubv2di (__a, __b);
2876 }
2877 
2878 __extension__ extern __inline uint8x16_t
2879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u8(uint8x16_t __a,uint8x16_t __b)2880 vqsubq_u8 (uint8x16_t __a, uint8x16_t __b)
2881 {
2882   return __builtin_aarch64_uqsubv16qi_uuu (__a, __b);
2883 }
2884 
2885 __extension__ extern __inline uint16x8_t
2886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u16(uint16x8_t __a,uint16x8_t __b)2887 vqsubq_u16 (uint16x8_t __a, uint16x8_t __b)
2888 {
2889   return __builtin_aarch64_uqsubv8hi_uuu (__a, __b);
2890 }
2891 
2892 __extension__ extern __inline uint32x4_t
2893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u32(uint32x4_t __a,uint32x4_t __b)2894 vqsubq_u32 (uint32x4_t __a, uint32x4_t __b)
2895 {
2896   return __builtin_aarch64_uqsubv4si_uuu (__a, __b);
2897 }
2898 
2899 __extension__ extern __inline uint64x2_t
2900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubq_u64(uint64x2_t __a,uint64x2_t __b)2901 vqsubq_u64 (uint64x2_t __a, uint64x2_t __b)
2902 {
2903   return __builtin_aarch64_uqsubv2di_uuu (__a, __b);
2904 }
2905 
2906 __extension__ extern __inline int8x8_t
2907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s8(int8x8_t __a)2908 vqneg_s8 (int8x8_t __a)
2909 {
2910   return (int8x8_t) __builtin_aarch64_sqnegv8qi (__a);
2911 }
2912 
2913 __extension__ extern __inline int16x4_t
2914 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s16(int16x4_t __a)2915 vqneg_s16 (int16x4_t __a)
2916 {
2917   return (int16x4_t) __builtin_aarch64_sqnegv4hi (__a);
2918 }
2919 
2920 __extension__ extern __inline int32x2_t
2921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s32(int32x2_t __a)2922 vqneg_s32 (int32x2_t __a)
2923 {
2924   return (int32x2_t) __builtin_aarch64_sqnegv2si (__a);
2925 }
2926 
2927 __extension__ extern __inline int64x1_t
2928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqneg_s64(int64x1_t __a)2929 vqneg_s64 (int64x1_t __a)
2930 {
2931   return (int64x1_t) {__builtin_aarch64_sqnegdi (__a[0])};
2932 }
2933 
2934 __extension__ extern __inline int8x16_t
2935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s8(int8x16_t __a)2936 vqnegq_s8 (int8x16_t __a)
2937 {
2938   return (int8x16_t) __builtin_aarch64_sqnegv16qi (__a);
2939 }
2940 
2941 __extension__ extern __inline int16x8_t
2942 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s16(int16x8_t __a)2943 vqnegq_s16 (int16x8_t __a)
2944 {
2945   return (int16x8_t) __builtin_aarch64_sqnegv8hi (__a);
2946 }
2947 
2948 __extension__ extern __inline int32x4_t
2949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s32(int32x4_t __a)2950 vqnegq_s32 (int32x4_t __a)
2951 {
2952   return (int32x4_t) __builtin_aarch64_sqnegv4si (__a);
2953 }
2954 
2955 __extension__ extern __inline int8x8_t
2956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s8(int8x8_t __a)2957 vqabs_s8 (int8x8_t __a)
2958 {
2959   return (int8x8_t) __builtin_aarch64_sqabsv8qi (__a);
2960 }
2961 
2962 __extension__ extern __inline int16x4_t
2963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s16(int16x4_t __a)2964 vqabs_s16 (int16x4_t __a)
2965 {
2966   return (int16x4_t) __builtin_aarch64_sqabsv4hi (__a);
2967 }
2968 
2969 __extension__ extern __inline int32x2_t
2970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s32(int32x2_t __a)2971 vqabs_s32 (int32x2_t __a)
2972 {
2973   return (int32x2_t) __builtin_aarch64_sqabsv2si (__a);
2974 }
2975 
2976 __extension__ extern __inline int64x1_t
2977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabs_s64(int64x1_t __a)2978 vqabs_s64 (int64x1_t __a)
2979 {
2980   return (int64x1_t) {__builtin_aarch64_sqabsdi (__a[0])};
2981 }
2982 
2983 __extension__ extern __inline int8x16_t
2984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s8(int8x16_t __a)2985 vqabsq_s8 (int8x16_t __a)
2986 {
2987   return (int8x16_t) __builtin_aarch64_sqabsv16qi (__a);
2988 }
2989 
2990 __extension__ extern __inline int16x8_t
2991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s16(int16x8_t __a)2992 vqabsq_s16 (int16x8_t __a)
2993 {
2994   return (int16x8_t) __builtin_aarch64_sqabsv8hi (__a);
2995 }
2996 
2997 __extension__ extern __inline int32x4_t
2998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s32(int32x4_t __a)2999 vqabsq_s32 (int32x4_t __a)
3000 {
3001   return (int32x4_t) __builtin_aarch64_sqabsv4si (__a);
3002 }
3003 
3004 __extension__ extern __inline int16x4_t
3005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_s16(int16x4_t __a,int16x4_t __b)3006 vqdmulh_s16 (int16x4_t __a, int16x4_t __b)
3007 {
3008   return (int16x4_t) __builtin_aarch64_sqdmulhv4hi (__a, __b);
3009 }
3010 
3011 __extension__ extern __inline int32x2_t
3012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_s32(int32x2_t __a,int32x2_t __b)3013 vqdmulh_s32 (int32x2_t __a, int32x2_t __b)
3014 {
3015   return (int32x2_t) __builtin_aarch64_sqdmulhv2si (__a, __b);
3016 }
3017 
3018 __extension__ extern __inline int16x8_t
3019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_s16(int16x8_t __a,int16x8_t __b)3020 vqdmulhq_s16 (int16x8_t __a, int16x8_t __b)
3021 {
3022   return (int16x8_t) __builtin_aarch64_sqdmulhv8hi (__a, __b);
3023 }
3024 
3025 __extension__ extern __inline int32x4_t
3026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_s32(int32x4_t __a,int32x4_t __b)3027 vqdmulhq_s32 (int32x4_t __a, int32x4_t __b)
3028 {
3029   return (int32x4_t) __builtin_aarch64_sqdmulhv4si (__a, __b);
3030 }
3031 
3032 __extension__ extern __inline int16x4_t
3033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_s16(int16x4_t __a,int16x4_t __b)3034 vqrdmulh_s16 (int16x4_t __a, int16x4_t __b)
3035 {
3036   return (int16x4_t) __builtin_aarch64_sqrdmulhv4hi (__a, __b);
3037 }
3038 
3039 __extension__ extern __inline int32x2_t
3040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_s32(int32x2_t __a,int32x2_t __b)3041 vqrdmulh_s32 (int32x2_t __a, int32x2_t __b)
3042 {
3043   return (int32x2_t) __builtin_aarch64_sqrdmulhv2si (__a, __b);
3044 }
3045 
3046 __extension__ extern __inline int16x8_t
3047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_s16(int16x8_t __a,int16x8_t __b)3048 vqrdmulhq_s16 (int16x8_t __a, int16x8_t __b)
3049 {
3050   return (int16x8_t) __builtin_aarch64_sqrdmulhv8hi (__a, __b);
3051 }
3052 
3053 __extension__ extern __inline int32x4_t
3054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_s32(int32x4_t __a,int32x4_t __b)3055 vqrdmulhq_s32 (int32x4_t __a, int32x4_t __b)
3056 {
3057   return (int32x4_t) __builtin_aarch64_sqrdmulhv4si (__a, __b);
3058 }
3059 
3060 __extension__ extern __inline int8x8_t
3061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s8(uint64_t __a)3062 vcreate_s8 (uint64_t __a)
3063 {
3064   return (int8x8_t) __a;
3065 }
3066 
3067 __extension__ extern __inline int16x4_t
3068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s16(uint64_t __a)3069 vcreate_s16 (uint64_t __a)
3070 {
3071   return (int16x4_t) __a;
3072 }
3073 
3074 __extension__ extern __inline int32x2_t
3075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s32(uint64_t __a)3076 vcreate_s32 (uint64_t __a)
3077 {
3078   return (int32x2_t) __a;
3079 }
3080 
3081 __extension__ extern __inline int64x1_t
3082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_s64(uint64_t __a)3083 vcreate_s64 (uint64_t __a)
3084 {
3085   return (int64x1_t) {__a};
3086 }
3087 
3088 __extension__ extern __inline float16x4_t
3089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_f16(uint64_t __a)3090 vcreate_f16 (uint64_t __a)
3091 {
3092   return (float16x4_t) __a;
3093 }
3094 
3095 __extension__ extern __inline float32x2_t
3096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_f32(uint64_t __a)3097 vcreate_f32 (uint64_t __a)
3098 {
3099   return (float32x2_t) __a;
3100 }
3101 
3102 __extension__ extern __inline uint8x8_t
3103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u8(uint64_t __a)3104 vcreate_u8 (uint64_t __a)
3105 {
3106   return (uint8x8_t) __a;
3107 }
3108 
3109 __extension__ extern __inline uint16x4_t
3110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u16(uint64_t __a)3111 vcreate_u16 (uint64_t __a)
3112 {
3113   return (uint16x4_t) __a;
3114 }
3115 
3116 __extension__ extern __inline uint32x2_t
3117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u32(uint64_t __a)3118 vcreate_u32 (uint64_t __a)
3119 {
3120   return (uint32x2_t) __a;
3121 }
3122 
3123 __extension__ extern __inline uint64x1_t
3124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_u64(uint64_t __a)3125 vcreate_u64 (uint64_t __a)
3126 {
3127   return (uint64x1_t) {__a};
3128 }
3129 
3130 __extension__ extern __inline float64x1_t
3131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_f64(uint64_t __a)3132 vcreate_f64 (uint64_t __a)
3133 {
3134   return (float64x1_t) __a;
3135 }
3136 
3137 __extension__ extern __inline poly8x8_t
3138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_p8(uint64_t __a)3139 vcreate_p8 (uint64_t __a)
3140 {
3141   return (poly8x8_t) __a;
3142 }
3143 
3144 __extension__ extern __inline poly16x4_t
3145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_p16(uint64_t __a)3146 vcreate_p16 (uint64_t __a)
3147 {
3148   return (poly16x4_t) __a;
3149 }
3150 
3151 __extension__ extern __inline poly64x1_t
3152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_p64(uint64_t __a)3153 vcreate_p64 (uint64_t __a)
3154 {
3155   return (poly64x1_t) __a;
3156 }
3157 
3158 /* vget_lane  */
3159 
3160 __extension__ extern __inline float16_t
3161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_f16(float16x4_t __a,const int __b)3162 vget_lane_f16 (float16x4_t __a, const int __b)
3163 {
3164   return __aarch64_vget_lane_any (__a, __b);
3165 }
3166 
3167 __extension__ extern __inline float32_t
3168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_f32(float32x2_t __a,const int __b)3169 vget_lane_f32 (float32x2_t __a, const int __b)
3170 {
3171   return __aarch64_vget_lane_any (__a, __b);
3172 }
3173 
3174 __extension__ extern __inline float64_t
3175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_f64(float64x1_t __a,const int __b)3176 vget_lane_f64 (float64x1_t __a, const int __b)
3177 {
3178   return __aarch64_vget_lane_any (__a, __b);
3179 }
3180 
3181 __extension__ extern __inline poly8_t
3182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_p8(poly8x8_t __a,const int __b)3183 vget_lane_p8 (poly8x8_t __a, const int __b)
3184 {
3185   return __aarch64_vget_lane_any (__a, __b);
3186 }
3187 
3188 __extension__ extern __inline poly16_t
3189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_p16(poly16x4_t __a,const int __b)3190 vget_lane_p16 (poly16x4_t __a, const int __b)
3191 {
3192   return __aarch64_vget_lane_any (__a, __b);
3193 }
3194 
3195 __extension__ extern __inline poly64_t
3196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_p64(poly64x1_t __a,const int __b)3197 vget_lane_p64 (poly64x1_t __a, const int __b)
3198 {
3199   return __aarch64_vget_lane_any (__a, __b);
3200 }
3201 
3202 __extension__ extern __inline int8_t
3203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s8(int8x8_t __a,const int __b)3204 vget_lane_s8 (int8x8_t __a, const int __b)
3205 {
3206   return __aarch64_vget_lane_any (__a, __b);
3207 }
3208 
3209 __extension__ extern __inline int16_t
3210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s16(int16x4_t __a,const int __b)3211 vget_lane_s16 (int16x4_t __a, const int __b)
3212 {
3213   return __aarch64_vget_lane_any (__a, __b);
3214 }
3215 
3216 __extension__ extern __inline int32_t
3217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s32(int32x2_t __a,const int __b)3218 vget_lane_s32 (int32x2_t __a, const int __b)
3219 {
3220   return __aarch64_vget_lane_any (__a, __b);
3221 }
3222 
3223 __extension__ extern __inline int64_t
3224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_s64(int64x1_t __a,const int __b)3225 vget_lane_s64 (int64x1_t __a, const int __b)
3226 {
3227   return __aarch64_vget_lane_any (__a, __b);
3228 }
3229 
3230 __extension__ extern __inline uint8_t
3231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u8(uint8x8_t __a,const int __b)3232 vget_lane_u8 (uint8x8_t __a, const int __b)
3233 {
3234   return __aarch64_vget_lane_any (__a, __b);
3235 }
3236 
3237 __extension__ extern __inline uint16_t
3238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u16(uint16x4_t __a,const int __b)3239 vget_lane_u16 (uint16x4_t __a, const int __b)
3240 {
3241   return __aarch64_vget_lane_any (__a, __b);
3242 }
3243 
3244 __extension__ extern __inline uint32_t
3245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u32(uint32x2_t __a,const int __b)3246 vget_lane_u32 (uint32x2_t __a, const int __b)
3247 {
3248   return __aarch64_vget_lane_any (__a, __b);
3249 }
3250 
3251 __extension__ extern __inline uint64_t
3252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_u64(uint64x1_t __a,const int __b)3253 vget_lane_u64 (uint64x1_t __a, const int __b)
3254 {
3255   return __aarch64_vget_lane_any (__a, __b);
3256 }
3257 
3258 /* vgetq_lane  */
3259 
3260 __extension__ extern __inline float16_t
3261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_f16(float16x8_t __a,const int __b)3262 vgetq_lane_f16 (float16x8_t __a, const int __b)
3263 {
3264   return __aarch64_vget_lane_any (__a, __b);
3265 }
3266 
3267 __extension__ extern __inline float32_t
3268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_f32(float32x4_t __a,const int __b)3269 vgetq_lane_f32 (float32x4_t __a, const int __b)
3270 {
3271   return __aarch64_vget_lane_any (__a, __b);
3272 }
3273 
3274 __extension__ extern __inline float64_t
3275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_f64(float64x2_t __a,const int __b)3276 vgetq_lane_f64 (float64x2_t __a, const int __b)
3277 {
3278   return __aarch64_vget_lane_any (__a, __b);
3279 }
3280 
3281 __extension__ extern __inline poly8_t
3282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_p8(poly8x16_t __a,const int __b)3283 vgetq_lane_p8 (poly8x16_t __a, const int __b)
3284 {
3285   return __aarch64_vget_lane_any (__a, __b);
3286 }
3287 
3288 __extension__ extern __inline poly16_t
3289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_p16(poly16x8_t __a,const int __b)3290 vgetq_lane_p16 (poly16x8_t __a, const int __b)
3291 {
3292   return __aarch64_vget_lane_any (__a, __b);
3293 }
3294 
3295 __extension__ extern __inline poly64_t
3296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_p64(poly64x2_t __a,const int __b)3297 vgetq_lane_p64 (poly64x2_t __a, const int __b)
3298 {
3299   return __aarch64_vget_lane_any (__a, __b);
3300 }
3301 
3302 __extension__ extern __inline int8_t
3303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s8(int8x16_t __a,const int __b)3304 vgetq_lane_s8 (int8x16_t __a, const int __b)
3305 {
3306   return __aarch64_vget_lane_any (__a, __b);
3307 }
3308 
3309 __extension__ extern __inline int16_t
3310 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s16(int16x8_t __a,const int __b)3311 vgetq_lane_s16 (int16x8_t __a, const int __b)
3312 {
3313   return __aarch64_vget_lane_any (__a, __b);
3314 }
3315 
3316 __extension__ extern __inline int32_t
3317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s32(int32x4_t __a,const int __b)3318 vgetq_lane_s32 (int32x4_t __a, const int __b)
3319 {
3320   return __aarch64_vget_lane_any (__a, __b);
3321 }
3322 
3323 __extension__ extern __inline int64_t
3324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_s64(int64x2_t __a,const int __b)3325 vgetq_lane_s64 (int64x2_t __a, const int __b)
3326 {
3327   return __aarch64_vget_lane_any (__a, __b);
3328 }
3329 
3330 __extension__ extern __inline uint8_t
3331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u8(uint8x16_t __a,const int __b)3332 vgetq_lane_u8 (uint8x16_t __a, const int __b)
3333 {
3334   return __aarch64_vget_lane_any (__a, __b);
3335 }
3336 
3337 __extension__ extern __inline uint16_t
3338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u16(uint16x8_t __a,const int __b)3339 vgetq_lane_u16 (uint16x8_t __a, const int __b)
3340 {
3341   return __aarch64_vget_lane_any (__a, __b);
3342 }
3343 
3344 __extension__ extern __inline uint32_t
3345 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u32(uint32x4_t __a,const int __b)3346 vgetq_lane_u32 (uint32x4_t __a, const int __b)
3347 {
3348   return __aarch64_vget_lane_any (__a, __b);
3349 }
3350 
3351 __extension__ extern __inline uint64_t
3352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_u64(uint64x2_t __a,const int __b)3353 vgetq_lane_u64 (uint64x2_t __a, const int __b)
3354 {
3355   return __aarch64_vget_lane_any (__a, __b);
3356 }
3357 
3358 /* vreinterpret  */
3359 
3360 __extension__ extern __inline poly8x8_t
3361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_f16(float16x4_t __a)3362 vreinterpret_p8_f16 (float16x4_t __a)
3363 {
3364   return (poly8x8_t) __a;
3365 }
3366 
3367 __extension__ extern __inline poly8x8_t
3368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_f64(float64x1_t __a)3369 vreinterpret_p8_f64 (float64x1_t __a)
3370 {
3371   return (poly8x8_t) __a;
3372 }
3373 
3374 __extension__ extern __inline poly8x8_t
3375 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s8(int8x8_t __a)3376 vreinterpret_p8_s8 (int8x8_t __a)
3377 {
3378   return (poly8x8_t) __a;
3379 }
3380 
3381 __extension__ extern __inline poly8x8_t
3382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s16(int16x4_t __a)3383 vreinterpret_p8_s16 (int16x4_t __a)
3384 {
3385   return (poly8x8_t) __a;
3386 }
3387 
3388 __extension__ extern __inline poly8x8_t
3389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s32(int32x2_t __a)3390 vreinterpret_p8_s32 (int32x2_t __a)
3391 {
3392   return (poly8x8_t) __a;
3393 }
3394 
3395 __extension__ extern __inline poly8x8_t
3396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_s64(int64x1_t __a)3397 vreinterpret_p8_s64 (int64x1_t __a)
3398 {
3399   return (poly8x8_t) __a;
3400 }
3401 
3402 __extension__ extern __inline poly8x8_t
3403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_f32(float32x2_t __a)3404 vreinterpret_p8_f32 (float32x2_t __a)
3405 {
3406   return (poly8x8_t) __a;
3407 }
3408 
3409 __extension__ extern __inline poly8x8_t
3410 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u8(uint8x8_t __a)3411 vreinterpret_p8_u8 (uint8x8_t __a)
3412 {
3413   return (poly8x8_t) __a;
3414 }
3415 
3416 __extension__ extern __inline poly8x8_t
3417 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u16(uint16x4_t __a)3418 vreinterpret_p8_u16 (uint16x4_t __a)
3419 {
3420   return (poly8x8_t) __a;
3421 }
3422 
3423 __extension__ extern __inline poly8x8_t
3424 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u32(uint32x2_t __a)3425 vreinterpret_p8_u32 (uint32x2_t __a)
3426 {
3427   return (poly8x8_t) __a;
3428 }
3429 
3430 __extension__ extern __inline poly8x8_t
3431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_u64(uint64x1_t __a)3432 vreinterpret_p8_u64 (uint64x1_t __a)
3433 {
3434   return (poly8x8_t) __a;
3435 }
3436 
3437 __extension__ extern __inline poly8x8_t
3438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_p16(poly16x4_t __a)3439 vreinterpret_p8_p16 (poly16x4_t __a)
3440 {
3441   return (poly8x8_t) __a;
3442 }
3443 
3444 __extension__ extern __inline poly8x8_t
3445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_p64(poly64x1_t __a)3446 vreinterpret_p8_p64 (poly64x1_t __a)
3447 {
3448   return (poly8x8_t) __a;
3449 }
3450 
3451 __extension__ extern __inline poly8x16_t
3452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_f64(float64x2_t __a)3453 vreinterpretq_p8_f64 (float64x2_t __a)
3454 {
3455   return (poly8x16_t) __a;
3456 }
3457 
3458 __extension__ extern __inline poly8x16_t
3459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s8(int8x16_t __a)3460 vreinterpretq_p8_s8 (int8x16_t __a)
3461 {
3462   return (poly8x16_t) __a;
3463 }
3464 
3465 __extension__ extern __inline poly8x16_t
3466 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s16(int16x8_t __a)3467 vreinterpretq_p8_s16 (int16x8_t __a)
3468 {
3469   return (poly8x16_t) __a;
3470 }
3471 
3472 __extension__ extern __inline poly8x16_t
3473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s32(int32x4_t __a)3474 vreinterpretq_p8_s32 (int32x4_t __a)
3475 {
3476   return (poly8x16_t) __a;
3477 }
3478 
3479 __extension__ extern __inline poly8x16_t
3480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_s64(int64x2_t __a)3481 vreinterpretq_p8_s64 (int64x2_t __a)
3482 {
3483   return (poly8x16_t) __a;
3484 }
3485 
3486 __extension__ extern __inline poly8x16_t
3487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_f16(float16x8_t __a)3488 vreinterpretq_p8_f16 (float16x8_t __a)
3489 {
3490   return (poly8x16_t) __a;
3491 }
3492 
3493 __extension__ extern __inline poly8x16_t
3494 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_f32(float32x4_t __a)3495 vreinterpretq_p8_f32 (float32x4_t __a)
3496 {
3497   return (poly8x16_t) __a;
3498 }
3499 
3500 __extension__ extern __inline poly8x16_t
3501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u8(uint8x16_t __a)3502 vreinterpretq_p8_u8 (uint8x16_t __a)
3503 {
3504   return (poly8x16_t) __a;
3505 }
3506 
3507 __extension__ extern __inline poly8x16_t
3508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u16(uint16x8_t __a)3509 vreinterpretq_p8_u16 (uint16x8_t __a)
3510 {
3511   return (poly8x16_t) __a;
3512 }
3513 
3514 __extension__ extern __inline poly8x16_t
3515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u32(uint32x4_t __a)3516 vreinterpretq_p8_u32 (uint32x4_t __a)
3517 {
3518   return (poly8x16_t) __a;
3519 }
3520 
3521 __extension__ extern __inline poly8x16_t
3522 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_u64(uint64x2_t __a)3523 vreinterpretq_p8_u64 (uint64x2_t __a)
3524 {
3525   return (poly8x16_t) __a;
3526 }
3527 
3528 __extension__ extern __inline poly8x16_t
3529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_p16(poly16x8_t __a)3530 vreinterpretq_p8_p16 (poly16x8_t __a)
3531 {
3532   return (poly8x16_t) __a;
3533 }
3534 
3535 __extension__ extern __inline poly8x16_t
3536 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_p64(poly64x2_t __a)3537 vreinterpretq_p8_p64 (poly64x2_t __a)
3538 {
3539   return (poly8x16_t) __a;
3540 }
3541 
3542 __extension__ extern __inline poly8x16_t
3543 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_p128(poly128_t __a)3544 vreinterpretq_p8_p128 (poly128_t __a)
3545 {
3546   return (poly8x16_t)__a;
3547 }
3548 
3549 __extension__ extern __inline poly16x4_t
3550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_f16(float16x4_t __a)3551 vreinterpret_p16_f16 (float16x4_t __a)
3552 {
3553   return (poly16x4_t) __a;
3554 }
3555 
3556 __extension__ extern __inline poly16x4_t
3557 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_f64(float64x1_t __a)3558 vreinterpret_p16_f64 (float64x1_t __a)
3559 {
3560   return (poly16x4_t) __a;
3561 }
3562 
3563 __extension__ extern __inline poly16x4_t
3564 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s8(int8x8_t __a)3565 vreinterpret_p16_s8 (int8x8_t __a)
3566 {
3567   return (poly16x4_t) __a;
3568 }
3569 
3570 __extension__ extern __inline poly16x4_t
3571 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s16(int16x4_t __a)3572 vreinterpret_p16_s16 (int16x4_t __a)
3573 {
3574   return (poly16x4_t) __a;
3575 }
3576 
3577 __extension__ extern __inline poly16x4_t
3578 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s32(int32x2_t __a)3579 vreinterpret_p16_s32 (int32x2_t __a)
3580 {
3581   return (poly16x4_t) __a;
3582 }
3583 
3584 __extension__ extern __inline poly16x4_t
3585 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_s64(int64x1_t __a)3586 vreinterpret_p16_s64 (int64x1_t __a)
3587 {
3588   return (poly16x4_t) __a;
3589 }
3590 
3591 __extension__ extern __inline poly16x4_t
3592 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_f32(float32x2_t __a)3593 vreinterpret_p16_f32 (float32x2_t __a)
3594 {
3595   return (poly16x4_t) __a;
3596 }
3597 
3598 __extension__ extern __inline poly16x4_t
3599 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u8(uint8x8_t __a)3600 vreinterpret_p16_u8 (uint8x8_t __a)
3601 {
3602   return (poly16x4_t) __a;
3603 }
3604 
3605 __extension__ extern __inline poly16x4_t
3606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u16(uint16x4_t __a)3607 vreinterpret_p16_u16 (uint16x4_t __a)
3608 {
3609   return (poly16x4_t) __a;
3610 }
3611 
3612 __extension__ extern __inline poly16x4_t
3613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u32(uint32x2_t __a)3614 vreinterpret_p16_u32 (uint32x2_t __a)
3615 {
3616   return (poly16x4_t) __a;
3617 }
3618 
3619 __extension__ extern __inline poly16x4_t
3620 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_u64(uint64x1_t __a)3621 vreinterpret_p16_u64 (uint64x1_t __a)
3622 {
3623   return (poly16x4_t) __a;
3624 }
3625 
3626 __extension__ extern __inline poly16x4_t
3627 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_p8(poly8x8_t __a)3628 vreinterpret_p16_p8 (poly8x8_t __a)
3629 {
3630   return (poly16x4_t) __a;
3631 }
3632 
3633 __extension__ extern __inline poly16x4_t
3634 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_p64(poly64x1_t __a)3635 vreinterpret_p16_p64 (poly64x1_t __a)
3636 {
3637   return (poly16x4_t) __a;
3638 }
3639 
3640 __extension__ extern __inline poly16x8_t
3641 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_f64(float64x2_t __a)3642 vreinterpretq_p16_f64 (float64x2_t __a)
3643 {
3644   return (poly16x8_t) __a;
3645 }
3646 
3647 __extension__ extern __inline poly16x8_t
3648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s8(int8x16_t __a)3649 vreinterpretq_p16_s8 (int8x16_t __a)
3650 {
3651   return (poly16x8_t) __a;
3652 }
3653 
3654 __extension__ extern __inline poly16x8_t
3655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s16(int16x8_t __a)3656 vreinterpretq_p16_s16 (int16x8_t __a)
3657 {
3658   return (poly16x8_t) __a;
3659 }
3660 
3661 __extension__ extern __inline poly16x8_t
3662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s32(int32x4_t __a)3663 vreinterpretq_p16_s32 (int32x4_t __a)
3664 {
3665   return (poly16x8_t) __a;
3666 }
3667 
3668 __extension__ extern __inline poly16x8_t
3669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_s64(int64x2_t __a)3670 vreinterpretq_p16_s64 (int64x2_t __a)
3671 {
3672   return (poly16x8_t) __a;
3673 }
3674 
3675 __extension__ extern __inline poly16x8_t
3676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_f16(float16x8_t __a)3677 vreinterpretq_p16_f16 (float16x8_t __a)
3678 {
3679   return (poly16x8_t) __a;
3680 }
3681 
3682 __extension__ extern __inline poly16x8_t
3683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_f32(float32x4_t __a)3684 vreinterpretq_p16_f32 (float32x4_t __a)
3685 {
3686   return (poly16x8_t) __a;
3687 }
3688 
3689 __extension__ extern __inline poly16x8_t
3690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u8(uint8x16_t __a)3691 vreinterpretq_p16_u8 (uint8x16_t __a)
3692 {
3693   return (poly16x8_t) __a;
3694 }
3695 
3696 __extension__ extern __inline poly16x8_t
3697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u16(uint16x8_t __a)3698 vreinterpretq_p16_u16 (uint16x8_t __a)
3699 {
3700   return (poly16x8_t) __a;
3701 }
3702 
3703 __extension__ extern __inline poly16x8_t
3704 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u32(uint32x4_t __a)3705 vreinterpretq_p16_u32 (uint32x4_t __a)
3706 {
3707   return (poly16x8_t) __a;
3708 }
3709 
3710 __extension__ extern __inline poly16x8_t
3711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_u64(uint64x2_t __a)3712 vreinterpretq_p16_u64 (uint64x2_t __a)
3713 {
3714   return (poly16x8_t) __a;
3715 }
3716 
3717 __extension__ extern __inline poly16x8_t
3718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_p8(poly8x16_t __a)3719 vreinterpretq_p16_p8 (poly8x16_t __a)
3720 {
3721   return (poly16x8_t) __a;
3722 }
3723 
3724 __extension__ extern __inline poly16x8_t
3725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_p64(poly64x2_t __a)3726 vreinterpretq_p16_p64 (poly64x2_t __a)
3727 {
3728   return (poly16x8_t) __a;
3729 }
3730 
3731 __extension__ extern __inline poly16x8_t
3732 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_p128(poly128_t __a)3733 vreinterpretq_p16_p128 (poly128_t __a)
3734 {
3735   return (poly16x8_t)__a;
3736 }
3737 
3738 __extension__ extern __inline poly64x1_t
3739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_f16(float16x4_t __a)3740 vreinterpret_p64_f16 (float16x4_t __a)
3741 {
3742   return (poly64x1_t) __a;
3743 }
3744 
3745 __extension__ extern __inline poly64x1_t
3746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_f64(float64x1_t __a)3747 vreinterpret_p64_f64 (float64x1_t __a)
3748 {
3749   return (poly64x1_t) __a;
3750 }
3751 
3752 __extension__ extern __inline poly64x1_t
3753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s8(int8x8_t __a)3754 vreinterpret_p64_s8 (int8x8_t __a)
3755 {
3756   return (poly64x1_t) __a;
3757 }
3758 
3759 __extension__ extern __inline poly64x1_t
3760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s16(int16x4_t __a)3761 vreinterpret_p64_s16 (int16x4_t __a)
3762 {
3763   return (poly64x1_t) __a;
3764 }
3765 
3766 __extension__ extern __inline poly64x1_t
3767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s32(int32x2_t __a)3768 vreinterpret_p64_s32 (int32x2_t __a)
3769 {
3770   return (poly64x1_t) __a;
3771 }
3772 
3773 __extension__ extern __inline poly64x1_t
3774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_s64(int64x1_t __a)3775 vreinterpret_p64_s64 (int64x1_t __a)
3776 {
3777   return (poly64x1_t) __a;
3778 }
3779 
3780 __extension__ extern __inline poly64x1_t
3781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_f32(float32x2_t __a)3782 vreinterpret_p64_f32 (float32x2_t __a)
3783 {
3784   return (poly64x1_t) __a;
3785 }
3786 
3787 __extension__ extern __inline poly64x1_t
3788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u8(uint8x8_t __a)3789 vreinterpret_p64_u8 (uint8x8_t __a)
3790 {
3791   return (poly64x1_t) __a;
3792 }
3793 
3794 __extension__ extern __inline poly64x1_t
3795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u16(uint16x4_t __a)3796 vreinterpret_p64_u16 (uint16x4_t __a)
3797 {
3798   return (poly64x1_t) __a;
3799 }
3800 
3801 __extension__ extern __inline poly64x1_t
3802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u32(uint32x2_t __a)3803 vreinterpret_p64_u32 (uint32x2_t __a)
3804 {
3805   return (poly64x1_t) __a;
3806 }
3807 
3808 __extension__ extern __inline poly64x1_t
3809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_u64(uint64x1_t __a)3810 vreinterpret_p64_u64 (uint64x1_t __a)
3811 {
3812   return (poly64x1_t) __a;
3813 }
3814 
3815 __extension__ extern __inline poly64x1_t
3816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_p8(poly8x8_t __a)3817 vreinterpret_p64_p8 (poly8x8_t __a)
3818 {
3819   return (poly64x1_t) __a;
3820 }
3821 
3822 __extension__ extern __inline poly64x1_t
3823 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_p16(poly16x4_t __a)3824 vreinterpret_p64_p16 (poly16x4_t __a)
3825 {
3826   return (poly64x1_t)__a;
3827 }
3828 
3829 __extension__ extern __inline poly64x2_t
3830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_f64(float64x2_t __a)3831 vreinterpretq_p64_f64 (float64x2_t __a)
3832 {
3833   return (poly64x2_t) __a;
3834 }
3835 
3836 __extension__ extern __inline poly64x2_t
3837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s8(int8x16_t __a)3838 vreinterpretq_p64_s8 (int8x16_t __a)
3839 {
3840   return (poly64x2_t) __a;
3841 }
3842 
3843 __extension__ extern __inline poly64x2_t
3844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s16(int16x8_t __a)3845 vreinterpretq_p64_s16 (int16x8_t __a)
3846 {
3847   return (poly64x2_t) __a;
3848 }
3849 
3850 __extension__ extern __inline poly64x2_t
3851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s32(int32x4_t __a)3852 vreinterpretq_p64_s32 (int32x4_t __a)
3853 {
3854   return (poly64x2_t) __a;
3855 }
3856 
3857 __extension__ extern __inline poly64x2_t
3858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_s64(int64x2_t __a)3859 vreinterpretq_p64_s64 (int64x2_t __a)
3860 {
3861   return (poly64x2_t) __a;
3862 }
3863 
3864 __extension__ extern __inline poly64x2_t
3865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_f16(float16x8_t __a)3866 vreinterpretq_p64_f16 (float16x8_t __a)
3867 {
3868   return (poly64x2_t) __a;
3869 }
3870 
3871 __extension__ extern __inline poly64x2_t
3872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_f32(float32x4_t __a)3873 vreinterpretq_p64_f32 (float32x4_t __a)
3874 {
3875   return (poly64x2_t) __a;
3876 }
3877 
3878 __extension__ extern __inline poly64x2_t
3879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_p128(poly128_t __a)3880 vreinterpretq_p64_p128 (poly128_t __a)
3881 {
3882   return (poly64x2_t)__a;
3883 }
3884 
3885 __extension__ extern __inline poly64x2_t
3886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u8(uint8x16_t __a)3887 vreinterpretq_p64_u8 (uint8x16_t __a)
3888 {
3889   return (poly64x2_t) __a;
3890 }
3891 
3892 __extension__ extern __inline poly64x2_t
3893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u16(uint16x8_t __a)3894 vreinterpretq_p64_u16 (uint16x8_t __a)
3895 {
3896   return (poly64x2_t) __a;
3897 }
3898 
3899 __extension__ extern __inline poly64x2_t
3900 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_p16(poly16x8_t __a)3901 vreinterpretq_p64_p16 (poly16x8_t __a)
3902 {
3903   return (poly64x2_t)__a;
3904 }
3905 
3906 __extension__ extern __inline poly64x2_t
3907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u32(uint32x4_t __a)3908 vreinterpretq_p64_u32 (uint32x4_t __a)
3909 {
3910   return (poly64x2_t) __a;
3911 }
3912 
3913 __extension__ extern __inline poly64x2_t
3914 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_u64(uint64x2_t __a)3915 vreinterpretq_p64_u64 (uint64x2_t __a)
3916 {
3917   return (poly64x2_t) __a;
3918 }
3919 
3920 __extension__ extern __inline poly64x2_t
3921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_p8(poly8x16_t __a)3922 vreinterpretq_p64_p8 (poly8x16_t __a)
3923 {
3924   return (poly64x2_t) __a;
3925 }
3926 
3927 __extension__ extern __inline poly128_t
3928 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_p8(poly8x16_t __a)3929 vreinterpretq_p128_p8 (poly8x16_t __a)
3930 {
3931   return (poly128_t)__a;
3932 }
3933 
3934 __extension__ extern __inline poly128_t
3935 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_p16(poly16x8_t __a)3936 vreinterpretq_p128_p16 (poly16x8_t __a)
3937 {
3938   return (poly128_t)__a;
3939 }
3940 
3941 __extension__ extern __inline poly128_t
3942 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_f16(float16x8_t __a)3943 vreinterpretq_p128_f16 (float16x8_t __a)
3944 {
3945   return (poly128_t) __a;
3946 }
3947 
3948 __extension__ extern __inline poly128_t
3949 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_f32(float32x4_t __a)3950 vreinterpretq_p128_f32 (float32x4_t __a)
3951 {
3952   return (poly128_t)__a;
3953 }
3954 
3955 __extension__ extern __inline poly128_t
3956 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_p64(poly64x2_t __a)3957 vreinterpretq_p128_p64 (poly64x2_t __a)
3958 {
3959   return (poly128_t)__a;
3960 }
3961 
3962 __extension__ extern __inline poly128_t
3963 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s64(int64x2_t __a)3964 vreinterpretq_p128_s64 (int64x2_t __a)
3965 {
3966   return (poly128_t)__a;
3967 }
3968 
3969 __extension__ extern __inline poly128_t
3970 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u64(uint64x2_t __a)3971 vreinterpretq_p128_u64 (uint64x2_t __a)
3972 {
3973   return (poly128_t)__a;
3974 }
3975 
3976 __extension__ extern __inline poly128_t
3977 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s8(int8x16_t __a)3978 vreinterpretq_p128_s8 (int8x16_t __a)
3979 {
3980   return (poly128_t)__a;
3981 }
3982 
3983 __extension__ extern __inline poly128_t
3984 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s16(int16x8_t __a)3985 vreinterpretq_p128_s16 (int16x8_t __a)
3986 {
3987   return (poly128_t)__a;
3988 }
3989 
3990 __extension__ extern __inline poly128_t
3991 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_s32(int32x4_t __a)3992 vreinterpretq_p128_s32 (int32x4_t __a)
3993 {
3994   return (poly128_t)__a;
3995 }
3996 
3997 __extension__ extern __inline poly128_t
3998 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u8(uint8x16_t __a)3999 vreinterpretq_p128_u8 (uint8x16_t __a)
4000 {
4001   return (poly128_t)__a;
4002 }
4003 
4004 __extension__ extern __inline poly128_t
4005 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u16(uint16x8_t __a)4006 vreinterpretq_p128_u16 (uint16x8_t __a)
4007 {
4008   return (poly128_t)__a;
4009 }
4010 
4011 __extension__ extern __inline poly128_t
4012 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_u32(uint32x4_t __a)4013 vreinterpretq_p128_u32 (uint32x4_t __a)
4014 {
4015   return (poly128_t)__a;
4016 }
4017 
4018 __extension__ extern __inline float16x4_t
4019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_f64(float64x1_t __a)4020 vreinterpret_f16_f64 (float64x1_t __a)
4021 {
4022   return (float16x4_t) __a;
4023 }
4024 
4025 __extension__ extern __inline float16x4_t
4026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s8(int8x8_t __a)4027 vreinterpret_f16_s8 (int8x8_t __a)
4028 {
4029   return (float16x4_t) __a;
4030 }
4031 
4032 __extension__ extern __inline float16x4_t
4033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s16(int16x4_t __a)4034 vreinterpret_f16_s16 (int16x4_t __a)
4035 {
4036   return (float16x4_t) __a;
4037 }
4038 
4039 __extension__ extern __inline float16x4_t
4040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s32(int32x2_t __a)4041 vreinterpret_f16_s32 (int32x2_t __a)
4042 {
4043   return (float16x4_t) __a;
4044 }
4045 
4046 __extension__ extern __inline float16x4_t
4047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_s64(int64x1_t __a)4048 vreinterpret_f16_s64 (int64x1_t __a)
4049 {
4050   return (float16x4_t) __a;
4051 }
4052 
4053 __extension__ extern __inline float16x4_t
4054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_f32(float32x2_t __a)4055 vreinterpret_f16_f32 (float32x2_t __a)
4056 {
4057   return (float16x4_t) __a;
4058 }
4059 
4060 __extension__ extern __inline float16x4_t
4061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u8(uint8x8_t __a)4062 vreinterpret_f16_u8 (uint8x8_t __a)
4063 {
4064   return (float16x4_t) __a;
4065 }
4066 
4067 __extension__ extern __inline float16x4_t
4068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u16(uint16x4_t __a)4069 vreinterpret_f16_u16 (uint16x4_t __a)
4070 {
4071   return (float16x4_t) __a;
4072 }
4073 
4074 __extension__ extern __inline float16x4_t
4075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u32(uint32x2_t __a)4076 vreinterpret_f16_u32 (uint32x2_t __a)
4077 {
4078   return (float16x4_t) __a;
4079 }
4080 
4081 __extension__ extern __inline float16x4_t
4082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_u64(uint64x1_t __a)4083 vreinterpret_f16_u64 (uint64x1_t __a)
4084 {
4085   return (float16x4_t) __a;
4086 }
4087 
4088 __extension__ extern __inline float16x4_t
4089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_p8(poly8x8_t __a)4090 vreinterpret_f16_p8 (poly8x8_t __a)
4091 {
4092   return (float16x4_t) __a;
4093 }
4094 
4095 __extension__ extern __inline float16x4_t
4096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_p16(poly16x4_t __a)4097 vreinterpret_f16_p16 (poly16x4_t __a)
4098 {
4099   return (float16x4_t) __a;
4100 }
4101 
4102 __extension__ extern __inline float16x4_t
4103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_p64(poly64x1_t __a)4104 vreinterpret_f16_p64 (poly64x1_t __a)
4105 {
4106   return (float16x4_t) __a;
4107 }
4108 
4109 __extension__ extern __inline float16x8_t
4110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_f64(float64x2_t __a)4111 vreinterpretq_f16_f64 (float64x2_t __a)
4112 {
4113   return (float16x8_t) __a;
4114 }
4115 
4116 __extension__ extern __inline float16x8_t
4117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s8(int8x16_t __a)4118 vreinterpretq_f16_s8 (int8x16_t __a)
4119 {
4120   return (float16x8_t) __a;
4121 }
4122 
4123 __extension__ extern __inline float16x8_t
4124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s16(int16x8_t __a)4125 vreinterpretq_f16_s16 (int16x8_t __a)
4126 {
4127   return (float16x8_t) __a;
4128 }
4129 
4130 __extension__ extern __inline float16x8_t
4131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s32(int32x4_t __a)4132 vreinterpretq_f16_s32 (int32x4_t __a)
4133 {
4134   return (float16x8_t) __a;
4135 }
4136 
4137 __extension__ extern __inline float16x8_t
4138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_s64(int64x2_t __a)4139 vreinterpretq_f16_s64 (int64x2_t __a)
4140 {
4141   return (float16x8_t) __a;
4142 }
4143 
4144 __extension__ extern __inline float16x8_t
4145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_f32(float32x4_t __a)4146 vreinterpretq_f16_f32 (float32x4_t __a)
4147 {
4148   return (float16x8_t) __a;
4149 }
4150 
4151 __extension__ extern __inline float16x8_t
4152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u8(uint8x16_t __a)4153 vreinterpretq_f16_u8 (uint8x16_t __a)
4154 {
4155   return (float16x8_t) __a;
4156 }
4157 
4158 __extension__ extern __inline float16x8_t
4159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u16(uint16x8_t __a)4160 vreinterpretq_f16_u16 (uint16x8_t __a)
4161 {
4162   return (float16x8_t) __a;
4163 }
4164 
4165 __extension__ extern __inline float16x8_t
4166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u32(uint32x4_t __a)4167 vreinterpretq_f16_u32 (uint32x4_t __a)
4168 {
4169   return (float16x8_t) __a;
4170 }
4171 
4172 __extension__ extern __inline float16x8_t
4173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_u64(uint64x2_t __a)4174 vreinterpretq_f16_u64 (uint64x2_t __a)
4175 {
4176   return (float16x8_t) __a;
4177 }
4178 
4179 __extension__ extern __inline float16x8_t
4180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p8(poly8x16_t __a)4181 vreinterpretq_f16_p8 (poly8x16_t __a)
4182 {
4183   return (float16x8_t) __a;
4184 }
4185 
4186 __extension__ extern __inline float16x8_t
4187 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p128(poly128_t __a)4188 vreinterpretq_f16_p128 (poly128_t __a)
4189 {
4190   return (float16x8_t) __a;
4191 }
4192 
4193 __extension__ extern __inline float16x8_t
4194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p16(poly16x8_t __a)4195 vreinterpretq_f16_p16 (poly16x8_t __a)
4196 {
4197   return (float16x8_t) __a;
4198 }
4199 
4200 __extension__ extern __inline float16x8_t
4201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_p64(poly64x2_t __a)4202 vreinterpretq_f16_p64 (poly64x2_t __a)
4203 {
4204   return (float16x8_t) __a;
4205 }
4206 
4207 __extension__ extern __inline float32x2_t
4208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_f16(float16x4_t __a)4209 vreinterpret_f32_f16 (float16x4_t __a)
4210 {
4211   return (float32x2_t) __a;
4212 }
4213 
4214 __extension__ extern __inline float32x2_t
4215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_f64(float64x1_t __a)4216 vreinterpret_f32_f64 (float64x1_t __a)
4217 {
4218   return (float32x2_t) __a;
4219 }
4220 
4221 __extension__ extern __inline float32x2_t
4222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s8(int8x8_t __a)4223 vreinterpret_f32_s8 (int8x8_t __a)
4224 {
4225   return (float32x2_t) __a;
4226 }
4227 
4228 __extension__ extern __inline float32x2_t
4229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s16(int16x4_t __a)4230 vreinterpret_f32_s16 (int16x4_t __a)
4231 {
4232   return (float32x2_t) __a;
4233 }
4234 
4235 __extension__ extern __inline float32x2_t
4236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s32(int32x2_t __a)4237 vreinterpret_f32_s32 (int32x2_t __a)
4238 {
4239   return (float32x2_t) __a;
4240 }
4241 
4242 __extension__ extern __inline float32x2_t
4243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_s64(int64x1_t __a)4244 vreinterpret_f32_s64 (int64x1_t __a)
4245 {
4246   return (float32x2_t) __a;
4247 }
4248 
4249 __extension__ extern __inline float32x2_t
4250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u8(uint8x8_t __a)4251 vreinterpret_f32_u8 (uint8x8_t __a)
4252 {
4253   return (float32x2_t) __a;
4254 }
4255 
4256 __extension__ extern __inline float32x2_t
4257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u16(uint16x4_t __a)4258 vreinterpret_f32_u16 (uint16x4_t __a)
4259 {
4260   return (float32x2_t) __a;
4261 }
4262 
4263 __extension__ extern __inline float32x2_t
4264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u32(uint32x2_t __a)4265 vreinterpret_f32_u32 (uint32x2_t __a)
4266 {
4267   return (float32x2_t) __a;
4268 }
4269 
4270 __extension__ extern __inline float32x2_t
4271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_u64(uint64x1_t __a)4272 vreinterpret_f32_u64 (uint64x1_t __a)
4273 {
4274   return (float32x2_t) __a;
4275 }
4276 
4277 __extension__ extern __inline float32x2_t
4278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_p8(poly8x8_t __a)4279 vreinterpret_f32_p8 (poly8x8_t __a)
4280 {
4281   return (float32x2_t) __a;
4282 }
4283 
4284 __extension__ extern __inline float32x2_t
4285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_p16(poly16x4_t __a)4286 vreinterpret_f32_p16 (poly16x4_t __a)
4287 {
4288   return (float32x2_t) __a;
4289 }
4290 
4291 __extension__ extern __inline float32x2_t
4292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_p64(poly64x1_t __a)4293 vreinterpret_f32_p64 (poly64x1_t __a)
4294 {
4295   return (float32x2_t) __a;
4296 }
4297 
4298 __extension__ extern __inline float32x4_t
4299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_f16(float16x8_t __a)4300 vreinterpretq_f32_f16 (float16x8_t __a)
4301 {
4302   return (float32x4_t) __a;
4303 }
4304 
4305 __extension__ extern __inline float32x4_t
4306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_f64(float64x2_t __a)4307 vreinterpretq_f32_f64 (float64x2_t __a)
4308 {
4309   return (float32x4_t) __a;
4310 }
4311 
4312 __extension__ extern __inline float32x4_t
4313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s8(int8x16_t __a)4314 vreinterpretq_f32_s8 (int8x16_t __a)
4315 {
4316   return (float32x4_t) __a;
4317 }
4318 
4319 __extension__ extern __inline float32x4_t
4320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s16(int16x8_t __a)4321 vreinterpretq_f32_s16 (int16x8_t __a)
4322 {
4323   return (float32x4_t) __a;
4324 }
4325 
4326 __extension__ extern __inline float32x4_t
4327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s32(int32x4_t __a)4328 vreinterpretq_f32_s32 (int32x4_t __a)
4329 {
4330   return (float32x4_t) __a;
4331 }
4332 
4333 __extension__ extern __inline float32x4_t
4334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_s64(int64x2_t __a)4335 vreinterpretq_f32_s64 (int64x2_t __a)
4336 {
4337   return (float32x4_t) __a;
4338 }
4339 
4340 __extension__ extern __inline float32x4_t
4341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u8(uint8x16_t __a)4342 vreinterpretq_f32_u8 (uint8x16_t __a)
4343 {
4344   return (float32x4_t) __a;
4345 }
4346 
4347 __extension__ extern __inline float32x4_t
4348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u16(uint16x8_t __a)4349 vreinterpretq_f32_u16 (uint16x8_t __a)
4350 {
4351   return (float32x4_t) __a;
4352 }
4353 
4354 __extension__ extern __inline float32x4_t
4355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u32(uint32x4_t __a)4356 vreinterpretq_f32_u32 (uint32x4_t __a)
4357 {
4358   return (float32x4_t) __a;
4359 }
4360 
4361 __extension__ extern __inline float32x4_t
4362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_u64(uint64x2_t __a)4363 vreinterpretq_f32_u64 (uint64x2_t __a)
4364 {
4365   return (float32x4_t) __a;
4366 }
4367 
4368 __extension__ extern __inline float32x4_t
4369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p8(poly8x16_t __a)4370 vreinterpretq_f32_p8 (poly8x16_t __a)
4371 {
4372   return (float32x4_t) __a;
4373 }
4374 
4375 __extension__ extern __inline float32x4_t
4376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p16(poly16x8_t __a)4377 vreinterpretq_f32_p16 (poly16x8_t __a)
4378 {
4379   return (float32x4_t) __a;
4380 }
4381 
4382 __extension__ extern __inline float32x4_t
4383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p64(poly64x2_t __a)4384 vreinterpretq_f32_p64 (poly64x2_t __a)
4385 {
4386   return (float32x4_t) __a;
4387 }
4388 
4389 __extension__ extern __inline float32x4_t
4390 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_p128(poly128_t __a)4391 vreinterpretq_f32_p128 (poly128_t __a)
4392 {
4393   return (float32x4_t)__a;
4394 }
4395 
4396 
4397 __extension__ extern __inline float64x1_t
4398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_f16(float16x4_t __a)4399 vreinterpret_f64_f16 (float16x4_t __a)
4400 {
4401   return (float64x1_t) __a;
4402 }
4403 
4404 __extension__ extern __inline float64x1_t
4405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_f32(float32x2_t __a)4406 vreinterpret_f64_f32 (float32x2_t __a)
4407 {
4408   return (float64x1_t) __a;
4409 }
4410 
4411 __extension__ extern __inline float64x1_t
4412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_p8(poly8x8_t __a)4413 vreinterpret_f64_p8 (poly8x8_t __a)
4414 {
4415   return (float64x1_t) __a;
4416 }
4417 
4418 __extension__ extern __inline float64x1_t
4419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_p16(poly16x4_t __a)4420 vreinterpret_f64_p16 (poly16x4_t __a)
4421 {
4422   return (float64x1_t) __a;
4423 }
4424 
4425 __extension__ extern __inline float64x1_t
4426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_p64(poly64x1_t __a)4427 vreinterpret_f64_p64 (poly64x1_t __a)
4428 {
4429   return (float64x1_t) __a;
4430 }
4431 
4432 __extension__ extern __inline float64x1_t
4433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_s8(int8x8_t __a)4434 vreinterpret_f64_s8 (int8x8_t __a)
4435 {
4436   return (float64x1_t) __a;
4437 }
4438 
4439 __extension__ extern __inline float64x1_t
4440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_s16(int16x4_t __a)4441 vreinterpret_f64_s16 (int16x4_t __a)
4442 {
4443   return (float64x1_t) __a;
4444 }
4445 
4446 __extension__ extern __inline float64x1_t
4447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_s32(int32x2_t __a)4448 vreinterpret_f64_s32 (int32x2_t __a)
4449 {
4450   return (float64x1_t) __a;
4451 }
4452 
4453 __extension__ extern __inline float64x1_t
4454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_s64(int64x1_t __a)4455 vreinterpret_f64_s64 (int64x1_t __a)
4456 {
4457   return (float64x1_t) __a;
4458 }
4459 
4460 __extension__ extern __inline float64x1_t
4461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_u8(uint8x8_t __a)4462 vreinterpret_f64_u8 (uint8x8_t __a)
4463 {
4464   return (float64x1_t) __a;
4465 }
4466 
4467 __extension__ extern __inline float64x1_t
4468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_u16(uint16x4_t __a)4469 vreinterpret_f64_u16 (uint16x4_t __a)
4470 {
4471   return (float64x1_t) __a;
4472 }
4473 
4474 __extension__ extern __inline float64x1_t
4475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_u32(uint32x2_t __a)4476 vreinterpret_f64_u32 (uint32x2_t __a)
4477 {
4478   return (float64x1_t) __a;
4479 }
4480 
4481 __extension__ extern __inline float64x1_t
4482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_u64(uint64x1_t __a)4483 vreinterpret_f64_u64 (uint64x1_t __a)
4484 {
4485   return (float64x1_t) __a;
4486 }
4487 
4488 __extension__ extern __inline float64x2_t
4489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_f16(float16x8_t __a)4490 vreinterpretq_f64_f16 (float16x8_t __a)
4491 {
4492   return (float64x2_t) __a;
4493 }
4494 
4495 __extension__ extern __inline float64x2_t
4496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_f32(float32x4_t __a)4497 vreinterpretq_f64_f32 (float32x4_t __a)
4498 {
4499   return (float64x2_t) __a;
4500 }
4501 
4502 __extension__ extern __inline float64x2_t
4503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_p8(poly8x16_t __a)4504 vreinterpretq_f64_p8 (poly8x16_t __a)
4505 {
4506   return (float64x2_t) __a;
4507 }
4508 
4509 __extension__ extern __inline float64x2_t
4510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_p16(poly16x8_t __a)4511 vreinterpretq_f64_p16 (poly16x8_t __a)
4512 {
4513   return (float64x2_t) __a;
4514 }
4515 
4516 __extension__ extern __inline float64x2_t
4517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_p64(poly64x2_t __a)4518 vreinterpretq_f64_p64 (poly64x2_t __a)
4519 {
4520   return (float64x2_t) __a;
4521 }
4522 
4523 __extension__ extern __inline float64x2_t
4524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_s8(int8x16_t __a)4525 vreinterpretq_f64_s8 (int8x16_t __a)
4526 {
4527   return (float64x2_t) __a;
4528 }
4529 
4530 __extension__ extern __inline float64x2_t
4531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_s16(int16x8_t __a)4532 vreinterpretq_f64_s16 (int16x8_t __a)
4533 {
4534   return (float64x2_t) __a;
4535 }
4536 
4537 __extension__ extern __inline float64x2_t
4538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_s32(int32x4_t __a)4539 vreinterpretq_f64_s32 (int32x4_t __a)
4540 {
4541   return (float64x2_t) __a;
4542 }
4543 
4544 __extension__ extern __inline float64x2_t
4545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_s64(int64x2_t __a)4546 vreinterpretq_f64_s64 (int64x2_t __a)
4547 {
4548   return (float64x2_t) __a;
4549 }
4550 
4551 __extension__ extern __inline float64x2_t
4552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_u8(uint8x16_t __a)4553 vreinterpretq_f64_u8 (uint8x16_t __a)
4554 {
4555   return (float64x2_t) __a;
4556 }
4557 
4558 __extension__ extern __inline float64x2_t
4559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_u16(uint16x8_t __a)4560 vreinterpretq_f64_u16 (uint16x8_t __a)
4561 {
4562   return (float64x2_t) __a;
4563 }
4564 
4565 __extension__ extern __inline float64x2_t
4566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_u32(uint32x4_t __a)4567 vreinterpretq_f64_u32 (uint32x4_t __a)
4568 {
4569   return (float64x2_t) __a;
4570 }
4571 
4572 __extension__ extern __inline float64x2_t
4573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_u64(uint64x2_t __a)4574 vreinterpretq_f64_u64 (uint64x2_t __a)
4575 {
4576   return (float64x2_t) __a;
4577 }
4578 
4579 __extension__ extern __inline int64x1_t
4580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_f16(float16x4_t __a)4581 vreinterpret_s64_f16 (float16x4_t __a)
4582 {
4583   return (int64x1_t) __a;
4584 }
4585 
4586 __extension__ extern __inline int64x1_t
4587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_f64(float64x1_t __a)4588 vreinterpret_s64_f64 (float64x1_t __a)
4589 {
4590   return (int64x1_t) __a;
4591 }
4592 
4593 __extension__ extern __inline int64x1_t
4594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_s8(int8x8_t __a)4595 vreinterpret_s64_s8 (int8x8_t __a)
4596 {
4597   return (int64x1_t) __a;
4598 }
4599 
4600 __extension__ extern __inline int64x1_t
4601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_s16(int16x4_t __a)4602 vreinterpret_s64_s16 (int16x4_t __a)
4603 {
4604   return (int64x1_t) __a;
4605 }
4606 
4607 __extension__ extern __inline int64x1_t
4608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_s32(int32x2_t __a)4609 vreinterpret_s64_s32 (int32x2_t __a)
4610 {
4611   return (int64x1_t) __a;
4612 }
4613 
4614 __extension__ extern __inline int64x1_t
4615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_f32(float32x2_t __a)4616 vreinterpret_s64_f32 (float32x2_t __a)
4617 {
4618   return (int64x1_t) __a;
4619 }
4620 
4621 __extension__ extern __inline int64x1_t
4622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u8(uint8x8_t __a)4623 vreinterpret_s64_u8 (uint8x8_t __a)
4624 {
4625   return (int64x1_t) __a;
4626 }
4627 
4628 __extension__ extern __inline int64x1_t
4629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u16(uint16x4_t __a)4630 vreinterpret_s64_u16 (uint16x4_t __a)
4631 {
4632   return (int64x1_t) __a;
4633 }
4634 
4635 __extension__ extern __inline int64x1_t
4636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u32(uint32x2_t __a)4637 vreinterpret_s64_u32 (uint32x2_t __a)
4638 {
4639   return (int64x1_t) __a;
4640 }
4641 
4642 __extension__ extern __inline int64x1_t
4643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_u64(uint64x1_t __a)4644 vreinterpret_s64_u64 (uint64x1_t __a)
4645 {
4646   return (int64x1_t) __a;
4647 }
4648 
4649 __extension__ extern __inline int64x1_t
4650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_p8(poly8x8_t __a)4651 vreinterpret_s64_p8 (poly8x8_t __a)
4652 {
4653   return (int64x1_t) __a;
4654 }
4655 
4656 __extension__ extern __inline int64x1_t
4657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_p16(poly16x4_t __a)4658 vreinterpret_s64_p16 (poly16x4_t __a)
4659 {
4660   return (int64x1_t) __a;
4661 }
4662 
4663 __extension__ extern __inline int64x1_t
4664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_p64(poly64x1_t __a)4665 vreinterpret_s64_p64 (poly64x1_t __a)
4666 {
4667   return (int64x1_t) __a;
4668 }
4669 
4670 __extension__ extern __inline int64x2_t
4671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_f64(float64x2_t __a)4672 vreinterpretq_s64_f64 (float64x2_t __a)
4673 {
4674   return (int64x2_t) __a;
4675 }
4676 
4677 __extension__ extern __inline int64x2_t
4678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_s8(int8x16_t __a)4679 vreinterpretq_s64_s8 (int8x16_t __a)
4680 {
4681   return (int64x2_t) __a;
4682 }
4683 
4684 __extension__ extern __inline int64x2_t
4685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_s16(int16x8_t __a)4686 vreinterpretq_s64_s16 (int16x8_t __a)
4687 {
4688   return (int64x2_t) __a;
4689 }
4690 
4691 __extension__ extern __inline int64x2_t
4692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_s32(int32x4_t __a)4693 vreinterpretq_s64_s32 (int32x4_t __a)
4694 {
4695   return (int64x2_t) __a;
4696 }
4697 
4698 __extension__ extern __inline int64x2_t
4699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_f16(float16x8_t __a)4700 vreinterpretq_s64_f16 (float16x8_t __a)
4701 {
4702   return (int64x2_t) __a;
4703 }
4704 
4705 __extension__ extern __inline int64x2_t
4706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_f32(float32x4_t __a)4707 vreinterpretq_s64_f32 (float32x4_t __a)
4708 {
4709   return (int64x2_t) __a;
4710 }
4711 
4712 __extension__ extern __inline int64x2_t
4713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u8(uint8x16_t __a)4714 vreinterpretq_s64_u8 (uint8x16_t __a)
4715 {
4716   return (int64x2_t) __a;
4717 }
4718 
4719 __extension__ extern __inline int64x2_t
4720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u16(uint16x8_t __a)4721 vreinterpretq_s64_u16 (uint16x8_t __a)
4722 {
4723   return (int64x2_t) __a;
4724 }
4725 
4726 __extension__ extern __inline int64x2_t
4727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u32(uint32x4_t __a)4728 vreinterpretq_s64_u32 (uint32x4_t __a)
4729 {
4730   return (int64x2_t) __a;
4731 }
4732 
4733 __extension__ extern __inline int64x2_t
4734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_u64(uint64x2_t __a)4735 vreinterpretq_s64_u64 (uint64x2_t __a)
4736 {
4737   return (int64x2_t) __a;
4738 }
4739 
4740 __extension__ extern __inline int64x2_t
4741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p8(poly8x16_t __a)4742 vreinterpretq_s64_p8 (poly8x16_t __a)
4743 {
4744   return (int64x2_t) __a;
4745 }
4746 
4747 __extension__ extern __inline int64x2_t
4748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p16(poly16x8_t __a)4749 vreinterpretq_s64_p16 (poly16x8_t __a)
4750 {
4751   return (int64x2_t) __a;
4752 }
4753 
4754 __extension__ extern __inline int64x2_t
4755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p64(poly64x2_t __a)4756 vreinterpretq_s64_p64 (poly64x2_t __a)
4757 {
4758   return (int64x2_t) __a;
4759 }
4760 
4761 __extension__ extern __inline int64x2_t
4762 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_p128(poly128_t __a)4763 vreinterpretq_s64_p128 (poly128_t __a)
4764 {
4765   return (int64x2_t)__a;
4766 }
4767 
4768 __extension__ extern __inline uint64x1_t
4769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_f16(float16x4_t __a)4770 vreinterpret_u64_f16 (float16x4_t __a)
4771 {
4772   return (uint64x1_t) __a;
4773 }
4774 
4775 __extension__ extern __inline uint64x1_t
4776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_f64(float64x1_t __a)4777 vreinterpret_u64_f64 (float64x1_t __a)
4778 {
4779   return (uint64x1_t) __a;
4780 }
4781 
4782 __extension__ extern __inline uint64x1_t
4783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s8(int8x8_t __a)4784 vreinterpret_u64_s8 (int8x8_t __a)
4785 {
4786   return (uint64x1_t) __a;
4787 }
4788 
4789 __extension__ extern __inline uint64x1_t
4790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s16(int16x4_t __a)4791 vreinterpret_u64_s16 (int16x4_t __a)
4792 {
4793   return (uint64x1_t) __a;
4794 }
4795 
4796 __extension__ extern __inline uint64x1_t
4797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s32(int32x2_t __a)4798 vreinterpret_u64_s32 (int32x2_t __a)
4799 {
4800   return (uint64x1_t) __a;
4801 }
4802 
4803 __extension__ extern __inline uint64x1_t
4804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_s64(int64x1_t __a)4805 vreinterpret_u64_s64 (int64x1_t __a)
4806 {
4807   return (uint64x1_t) __a;
4808 }
4809 
4810 __extension__ extern __inline uint64x1_t
4811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_f32(float32x2_t __a)4812 vreinterpret_u64_f32 (float32x2_t __a)
4813 {
4814   return (uint64x1_t) __a;
4815 }
4816 
4817 __extension__ extern __inline uint64x1_t
4818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_u8(uint8x8_t __a)4819 vreinterpret_u64_u8 (uint8x8_t __a)
4820 {
4821   return (uint64x1_t) __a;
4822 }
4823 
4824 __extension__ extern __inline uint64x1_t
4825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_u16(uint16x4_t __a)4826 vreinterpret_u64_u16 (uint16x4_t __a)
4827 {
4828   return (uint64x1_t) __a;
4829 }
4830 
4831 __extension__ extern __inline uint64x1_t
4832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_u32(uint32x2_t __a)4833 vreinterpret_u64_u32 (uint32x2_t __a)
4834 {
4835   return (uint64x1_t) __a;
4836 }
4837 
4838 __extension__ extern __inline uint64x1_t
4839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_p8(poly8x8_t __a)4840 vreinterpret_u64_p8 (poly8x8_t __a)
4841 {
4842   return (uint64x1_t) __a;
4843 }
4844 
4845 __extension__ extern __inline uint64x1_t
4846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_p16(poly16x4_t __a)4847 vreinterpret_u64_p16 (poly16x4_t __a)
4848 {
4849   return (uint64x1_t) __a;
4850 }
4851 
4852 __extension__ extern __inline uint64x1_t
4853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_p64(poly64x1_t __a)4854 vreinterpret_u64_p64 (poly64x1_t __a)
4855 {
4856   return (uint64x1_t) __a;
4857 }
4858 
4859 __extension__ extern __inline uint64x2_t
4860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_f64(float64x2_t __a)4861 vreinterpretq_u64_f64 (float64x2_t __a)
4862 {
4863   return (uint64x2_t) __a;
4864 }
4865 
4866 __extension__ extern __inline uint64x2_t
4867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s8(int8x16_t __a)4868 vreinterpretq_u64_s8 (int8x16_t __a)
4869 {
4870   return (uint64x2_t) __a;
4871 }
4872 
4873 __extension__ extern __inline uint64x2_t
4874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s16(int16x8_t __a)4875 vreinterpretq_u64_s16 (int16x8_t __a)
4876 {
4877   return (uint64x2_t) __a;
4878 }
4879 
4880 __extension__ extern __inline uint64x2_t
4881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s32(int32x4_t __a)4882 vreinterpretq_u64_s32 (int32x4_t __a)
4883 {
4884   return (uint64x2_t) __a;
4885 }
4886 
4887 __extension__ extern __inline uint64x2_t
4888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_s64(int64x2_t __a)4889 vreinterpretq_u64_s64 (int64x2_t __a)
4890 {
4891   return (uint64x2_t) __a;
4892 }
4893 
4894 __extension__ extern __inline uint64x2_t
4895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_f16(float16x8_t __a)4896 vreinterpretq_u64_f16 (float16x8_t __a)
4897 {
4898   return (uint64x2_t) __a;
4899 }
4900 
4901 __extension__ extern __inline uint64x2_t
4902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_f32(float32x4_t __a)4903 vreinterpretq_u64_f32 (float32x4_t __a)
4904 {
4905   return (uint64x2_t) __a;
4906 }
4907 
4908 __extension__ extern __inline uint64x2_t
4909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_u8(uint8x16_t __a)4910 vreinterpretq_u64_u8 (uint8x16_t __a)
4911 {
4912   return (uint64x2_t) __a;
4913 }
4914 
4915 __extension__ extern __inline uint64x2_t
4916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_u16(uint16x8_t __a)4917 vreinterpretq_u64_u16 (uint16x8_t __a)
4918 {
4919   return (uint64x2_t) __a;
4920 }
4921 
4922 __extension__ extern __inline uint64x2_t
4923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_u32(uint32x4_t __a)4924 vreinterpretq_u64_u32 (uint32x4_t __a)
4925 {
4926   return (uint64x2_t) __a;
4927 }
4928 
4929 __extension__ extern __inline uint64x2_t
4930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p8(poly8x16_t __a)4931 vreinterpretq_u64_p8 (poly8x16_t __a)
4932 {
4933   return (uint64x2_t) __a;
4934 }
4935 
4936 __extension__ extern __inline uint64x2_t
4937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p16(poly16x8_t __a)4938 vreinterpretq_u64_p16 (poly16x8_t __a)
4939 {
4940   return (uint64x2_t) __a;
4941 }
4942 
4943 __extension__ extern __inline uint64x2_t
4944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p64(poly64x2_t __a)4945 vreinterpretq_u64_p64 (poly64x2_t __a)
4946 {
4947   return (uint64x2_t) __a;
4948 }
4949 
4950 __extension__ extern __inline uint64x2_t
4951 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_p128(poly128_t __a)4952 vreinterpretq_u64_p128 (poly128_t __a)
4953 {
4954   return (uint64x2_t)__a;
4955 }
4956 
4957 __extension__ extern __inline int8x8_t
4958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_f16(float16x4_t __a)4959 vreinterpret_s8_f16 (float16x4_t __a)
4960 {
4961   return (int8x8_t) __a;
4962 }
4963 
4964 __extension__ extern __inline int8x8_t
4965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_f64(float64x1_t __a)4966 vreinterpret_s8_f64 (float64x1_t __a)
4967 {
4968   return (int8x8_t) __a;
4969 }
4970 
4971 __extension__ extern __inline int8x8_t
4972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_s16(int16x4_t __a)4973 vreinterpret_s8_s16 (int16x4_t __a)
4974 {
4975   return (int8x8_t) __a;
4976 }
4977 
4978 __extension__ extern __inline int8x8_t
4979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_s32(int32x2_t __a)4980 vreinterpret_s8_s32 (int32x2_t __a)
4981 {
4982   return (int8x8_t) __a;
4983 }
4984 
4985 __extension__ extern __inline int8x8_t
4986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_s64(int64x1_t __a)4987 vreinterpret_s8_s64 (int64x1_t __a)
4988 {
4989   return (int8x8_t) __a;
4990 }
4991 
4992 __extension__ extern __inline int8x8_t
4993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_f32(float32x2_t __a)4994 vreinterpret_s8_f32 (float32x2_t __a)
4995 {
4996   return (int8x8_t) __a;
4997 }
4998 
4999 __extension__ extern __inline int8x8_t
5000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u8(uint8x8_t __a)5001 vreinterpret_s8_u8 (uint8x8_t __a)
5002 {
5003   return (int8x8_t) __a;
5004 }
5005 
5006 __extension__ extern __inline int8x8_t
5007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u16(uint16x4_t __a)5008 vreinterpret_s8_u16 (uint16x4_t __a)
5009 {
5010   return (int8x8_t) __a;
5011 }
5012 
5013 __extension__ extern __inline int8x8_t
5014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u32(uint32x2_t __a)5015 vreinterpret_s8_u32 (uint32x2_t __a)
5016 {
5017   return (int8x8_t) __a;
5018 }
5019 
5020 __extension__ extern __inline int8x8_t
5021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_u64(uint64x1_t __a)5022 vreinterpret_s8_u64 (uint64x1_t __a)
5023 {
5024   return (int8x8_t) __a;
5025 }
5026 
5027 __extension__ extern __inline int8x8_t
5028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_p8(poly8x8_t __a)5029 vreinterpret_s8_p8 (poly8x8_t __a)
5030 {
5031   return (int8x8_t) __a;
5032 }
5033 
5034 __extension__ extern __inline int8x8_t
5035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_p16(poly16x4_t __a)5036 vreinterpret_s8_p16 (poly16x4_t __a)
5037 {
5038   return (int8x8_t) __a;
5039 }
5040 
5041 __extension__ extern __inline int8x8_t
5042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_p64(poly64x1_t __a)5043 vreinterpret_s8_p64 (poly64x1_t __a)
5044 {
5045   return (int8x8_t) __a;
5046 }
5047 
5048 __extension__ extern __inline int8x16_t
5049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_f64(float64x2_t __a)5050 vreinterpretq_s8_f64 (float64x2_t __a)
5051 {
5052   return (int8x16_t) __a;
5053 }
5054 
5055 __extension__ extern __inline int8x16_t
5056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_s16(int16x8_t __a)5057 vreinterpretq_s8_s16 (int16x8_t __a)
5058 {
5059   return (int8x16_t) __a;
5060 }
5061 
5062 __extension__ extern __inline int8x16_t
5063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_s32(int32x4_t __a)5064 vreinterpretq_s8_s32 (int32x4_t __a)
5065 {
5066   return (int8x16_t) __a;
5067 }
5068 
5069 __extension__ extern __inline int8x16_t
5070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_s64(int64x2_t __a)5071 vreinterpretq_s8_s64 (int64x2_t __a)
5072 {
5073   return (int8x16_t) __a;
5074 }
5075 
5076 __extension__ extern __inline int8x16_t
5077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_f16(float16x8_t __a)5078 vreinterpretq_s8_f16 (float16x8_t __a)
5079 {
5080   return (int8x16_t) __a;
5081 }
5082 
5083 __extension__ extern __inline int8x16_t
5084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_f32(float32x4_t __a)5085 vreinterpretq_s8_f32 (float32x4_t __a)
5086 {
5087   return (int8x16_t) __a;
5088 }
5089 
5090 __extension__ extern __inline int8x16_t
5091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u8(uint8x16_t __a)5092 vreinterpretq_s8_u8 (uint8x16_t __a)
5093 {
5094   return (int8x16_t) __a;
5095 }
5096 
5097 __extension__ extern __inline int8x16_t
5098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u16(uint16x8_t __a)5099 vreinterpretq_s8_u16 (uint16x8_t __a)
5100 {
5101   return (int8x16_t) __a;
5102 }
5103 
5104 __extension__ extern __inline int8x16_t
5105 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u32(uint32x4_t __a)5106 vreinterpretq_s8_u32 (uint32x4_t __a)
5107 {
5108   return (int8x16_t) __a;
5109 }
5110 
5111 __extension__ extern __inline int8x16_t
5112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_u64(uint64x2_t __a)5113 vreinterpretq_s8_u64 (uint64x2_t __a)
5114 {
5115   return (int8x16_t) __a;
5116 }
5117 
5118 __extension__ extern __inline int8x16_t
5119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p8(poly8x16_t __a)5120 vreinterpretq_s8_p8 (poly8x16_t __a)
5121 {
5122   return (int8x16_t) __a;
5123 }
5124 
5125 __extension__ extern __inline int8x16_t
5126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p16(poly16x8_t __a)5127 vreinterpretq_s8_p16 (poly16x8_t __a)
5128 {
5129   return (int8x16_t) __a;
5130 }
5131 
5132 __extension__ extern __inline int8x16_t
5133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p64(poly64x2_t __a)5134 vreinterpretq_s8_p64 (poly64x2_t __a)
5135 {
5136   return (int8x16_t) __a;
5137 }
5138 
5139 __extension__ extern __inline int8x16_t
5140 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_p128(poly128_t __a)5141 vreinterpretq_s8_p128 (poly128_t __a)
5142 {
5143   return (int8x16_t)__a;
5144 }
5145 
5146 __extension__ extern __inline int16x4_t
5147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_f16(float16x4_t __a)5148 vreinterpret_s16_f16 (float16x4_t __a)
5149 {
5150   return (int16x4_t) __a;
5151 }
5152 
5153 __extension__ extern __inline int16x4_t
5154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_f64(float64x1_t __a)5155 vreinterpret_s16_f64 (float64x1_t __a)
5156 {
5157   return (int16x4_t) __a;
5158 }
5159 
5160 __extension__ extern __inline int16x4_t
5161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_s8(int8x8_t __a)5162 vreinterpret_s16_s8 (int8x8_t __a)
5163 {
5164   return (int16x4_t) __a;
5165 }
5166 
5167 __extension__ extern __inline int16x4_t
5168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_s32(int32x2_t __a)5169 vreinterpret_s16_s32 (int32x2_t __a)
5170 {
5171   return (int16x4_t) __a;
5172 }
5173 
5174 __extension__ extern __inline int16x4_t
5175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_s64(int64x1_t __a)5176 vreinterpret_s16_s64 (int64x1_t __a)
5177 {
5178   return (int16x4_t) __a;
5179 }
5180 
5181 __extension__ extern __inline int16x4_t
5182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_f32(float32x2_t __a)5183 vreinterpret_s16_f32 (float32x2_t __a)
5184 {
5185   return (int16x4_t) __a;
5186 }
5187 
5188 __extension__ extern __inline int16x4_t
5189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u8(uint8x8_t __a)5190 vreinterpret_s16_u8 (uint8x8_t __a)
5191 {
5192   return (int16x4_t) __a;
5193 }
5194 
5195 __extension__ extern __inline int16x4_t
5196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u16(uint16x4_t __a)5197 vreinterpret_s16_u16 (uint16x4_t __a)
5198 {
5199   return (int16x4_t) __a;
5200 }
5201 
5202 __extension__ extern __inline int16x4_t
5203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u32(uint32x2_t __a)5204 vreinterpret_s16_u32 (uint32x2_t __a)
5205 {
5206   return (int16x4_t) __a;
5207 }
5208 
5209 __extension__ extern __inline int16x4_t
5210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_u64(uint64x1_t __a)5211 vreinterpret_s16_u64 (uint64x1_t __a)
5212 {
5213   return (int16x4_t) __a;
5214 }
5215 
5216 __extension__ extern __inline int16x4_t
5217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_p8(poly8x8_t __a)5218 vreinterpret_s16_p8 (poly8x8_t __a)
5219 {
5220   return (int16x4_t) __a;
5221 }
5222 
5223 __extension__ extern __inline int16x4_t
5224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_p16(poly16x4_t __a)5225 vreinterpret_s16_p16 (poly16x4_t __a)
5226 {
5227   return (int16x4_t) __a;
5228 }
5229 
5230 __extension__ extern __inline int16x4_t
5231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_p64(poly64x1_t __a)5232 vreinterpret_s16_p64 (poly64x1_t __a)
5233 {
5234   return (int16x4_t) __a;
5235 }
5236 
5237 __extension__ extern __inline int16x8_t
5238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_f64(float64x2_t __a)5239 vreinterpretq_s16_f64 (float64x2_t __a)
5240 {
5241   return (int16x8_t) __a;
5242 }
5243 
5244 __extension__ extern __inline int16x8_t
5245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_s8(int8x16_t __a)5246 vreinterpretq_s16_s8 (int8x16_t __a)
5247 {
5248   return (int16x8_t) __a;
5249 }
5250 
5251 __extension__ extern __inline int16x8_t
5252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_s32(int32x4_t __a)5253 vreinterpretq_s16_s32 (int32x4_t __a)
5254 {
5255   return (int16x8_t) __a;
5256 }
5257 
5258 __extension__ extern __inline int16x8_t
5259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_s64(int64x2_t __a)5260 vreinterpretq_s16_s64 (int64x2_t __a)
5261 {
5262   return (int16x8_t) __a;
5263 }
5264 
5265 __extension__ extern __inline int16x8_t
5266 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_f16(float16x8_t __a)5267 vreinterpretq_s16_f16 (float16x8_t __a)
5268 {
5269   return (int16x8_t) __a;
5270 }
5271 
5272 __extension__ extern __inline int16x8_t
5273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_f32(float32x4_t __a)5274 vreinterpretq_s16_f32 (float32x4_t __a)
5275 {
5276   return (int16x8_t) __a;
5277 }
5278 
5279 __extension__ extern __inline int16x8_t
5280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u8(uint8x16_t __a)5281 vreinterpretq_s16_u8 (uint8x16_t __a)
5282 {
5283   return (int16x8_t) __a;
5284 }
5285 
5286 __extension__ extern __inline int16x8_t
5287 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u16(uint16x8_t __a)5288 vreinterpretq_s16_u16 (uint16x8_t __a)
5289 {
5290   return (int16x8_t) __a;
5291 }
5292 
5293 __extension__ extern __inline int16x8_t
5294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u32(uint32x4_t __a)5295 vreinterpretq_s16_u32 (uint32x4_t __a)
5296 {
5297   return (int16x8_t) __a;
5298 }
5299 
5300 __extension__ extern __inline int16x8_t
5301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_u64(uint64x2_t __a)5302 vreinterpretq_s16_u64 (uint64x2_t __a)
5303 {
5304   return (int16x8_t) __a;
5305 }
5306 
5307 __extension__ extern __inline int16x8_t
5308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p8(poly8x16_t __a)5309 vreinterpretq_s16_p8 (poly8x16_t __a)
5310 {
5311   return (int16x8_t) __a;
5312 }
5313 
5314 __extension__ extern __inline int16x8_t
5315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p16(poly16x8_t __a)5316 vreinterpretq_s16_p16 (poly16x8_t __a)
5317 {
5318   return (int16x8_t) __a;
5319 }
5320 
5321 __extension__ extern __inline int16x8_t
5322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p64(poly64x2_t __a)5323 vreinterpretq_s16_p64 (poly64x2_t __a)
5324 {
5325   return (int16x8_t) __a;
5326 }
5327 
5328 __extension__ extern __inline int16x8_t
5329 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_p128(poly128_t __a)5330 vreinterpretq_s16_p128 (poly128_t __a)
5331 {
5332   return (int16x8_t)__a;
5333 }
5334 
5335 __extension__ extern __inline int32x2_t
5336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_f16(float16x4_t __a)5337 vreinterpret_s32_f16 (float16x4_t __a)
5338 {
5339   return (int32x2_t) __a;
5340 }
5341 
5342 __extension__ extern __inline int32x2_t
5343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_f64(float64x1_t __a)5344 vreinterpret_s32_f64 (float64x1_t __a)
5345 {
5346   return (int32x2_t) __a;
5347 }
5348 
5349 __extension__ extern __inline int32x2_t
5350 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_s8(int8x8_t __a)5351 vreinterpret_s32_s8 (int8x8_t __a)
5352 {
5353   return (int32x2_t) __a;
5354 }
5355 
5356 __extension__ extern __inline int32x2_t
5357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_s16(int16x4_t __a)5358 vreinterpret_s32_s16 (int16x4_t __a)
5359 {
5360   return (int32x2_t) __a;
5361 }
5362 
5363 __extension__ extern __inline int32x2_t
5364 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_s64(int64x1_t __a)5365 vreinterpret_s32_s64 (int64x1_t __a)
5366 {
5367   return (int32x2_t) __a;
5368 }
5369 
5370 __extension__ extern __inline int32x2_t
5371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_f32(float32x2_t __a)5372 vreinterpret_s32_f32 (float32x2_t __a)
5373 {
5374   return (int32x2_t) __a;
5375 }
5376 
5377 __extension__ extern __inline int32x2_t
5378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u8(uint8x8_t __a)5379 vreinterpret_s32_u8 (uint8x8_t __a)
5380 {
5381   return (int32x2_t) __a;
5382 }
5383 
5384 __extension__ extern __inline int32x2_t
5385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u16(uint16x4_t __a)5386 vreinterpret_s32_u16 (uint16x4_t __a)
5387 {
5388   return (int32x2_t) __a;
5389 }
5390 
5391 __extension__ extern __inline int32x2_t
5392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u32(uint32x2_t __a)5393 vreinterpret_s32_u32 (uint32x2_t __a)
5394 {
5395   return (int32x2_t) __a;
5396 }
5397 
5398 __extension__ extern __inline int32x2_t
5399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_u64(uint64x1_t __a)5400 vreinterpret_s32_u64 (uint64x1_t __a)
5401 {
5402   return (int32x2_t) __a;
5403 }
5404 
5405 __extension__ extern __inline int32x2_t
5406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_p8(poly8x8_t __a)5407 vreinterpret_s32_p8 (poly8x8_t __a)
5408 {
5409   return (int32x2_t) __a;
5410 }
5411 
5412 __extension__ extern __inline int32x2_t
5413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_p16(poly16x4_t __a)5414 vreinterpret_s32_p16 (poly16x4_t __a)
5415 {
5416   return (int32x2_t) __a;
5417 }
5418 
5419 __extension__ extern __inline int32x2_t
5420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_p64(poly64x1_t __a)5421 vreinterpret_s32_p64 (poly64x1_t __a)
5422 {
5423   return (int32x2_t) __a;
5424 }
5425 
5426 __extension__ extern __inline int32x4_t
5427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_f64(float64x2_t __a)5428 vreinterpretq_s32_f64 (float64x2_t __a)
5429 {
5430   return (int32x4_t) __a;
5431 }
5432 
5433 __extension__ extern __inline int32x4_t
5434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_s8(int8x16_t __a)5435 vreinterpretq_s32_s8 (int8x16_t __a)
5436 {
5437   return (int32x4_t) __a;
5438 }
5439 
5440 __extension__ extern __inline int32x4_t
5441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_s16(int16x8_t __a)5442 vreinterpretq_s32_s16 (int16x8_t __a)
5443 {
5444   return (int32x4_t) __a;
5445 }
5446 
5447 __extension__ extern __inline int32x4_t
5448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_s64(int64x2_t __a)5449 vreinterpretq_s32_s64 (int64x2_t __a)
5450 {
5451   return (int32x4_t) __a;
5452 }
5453 
5454 __extension__ extern __inline int32x4_t
5455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_f16(float16x8_t __a)5456 vreinterpretq_s32_f16 (float16x8_t __a)
5457 {
5458   return (int32x4_t) __a;
5459 }
5460 
5461 __extension__ extern __inline int32x4_t
5462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_f32(float32x4_t __a)5463 vreinterpretq_s32_f32 (float32x4_t __a)
5464 {
5465   return (int32x4_t) __a;
5466 }
5467 
5468 __extension__ extern __inline int32x4_t
5469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u8(uint8x16_t __a)5470 vreinterpretq_s32_u8 (uint8x16_t __a)
5471 {
5472   return (int32x4_t) __a;
5473 }
5474 
5475 __extension__ extern __inline int32x4_t
5476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u16(uint16x8_t __a)5477 vreinterpretq_s32_u16 (uint16x8_t __a)
5478 {
5479   return (int32x4_t) __a;
5480 }
5481 
5482 __extension__ extern __inline int32x4_t
5483 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u32(uint32x4_t __a)5484 vreinterpretq_s32_u32 (uint32x4_t __a)
5485 {
5486   return (int32x4_t) __a;
5487 }
5488 
5489 __extension__ extern __inline int32x4_t
5490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_u64(uint64x2_t __a)5491 vreinterpretq_s32_u64 (uint64x2_t __a)
5492 {
5493   return (int32x4_t) __a;
5494 }
5495 
5496 __extension__ extern __inline int32x4_t
5497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p8(poly8x16_t __a)5498 vreinterpretq_s32_p8 (poly8x16_t __a)
5499 {
5500   return (int32x4_t) __a;
5501 }
5502 
5503 __extension__ extern __inline int32x4_t
5504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p16(poly16x8_t __a)5505 vreinterpretq_s32_p16 (poly16x8_t __a)
5506 {
5507   return (int32x4_t) __a;
5508 }
5509 
5510 __extension__ extern __inline int32x4_t
5511 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p64(poly64x2_t __a)5512 vreinterpretq_s32_p64 (poly64x2_t __a)
5513 {
5514   return (int32x4_t) __a;
5515 }
5516 
5517 __extension__ extern __inline int32x4_t
5518 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_p128(poly128_t __a)5519 vreinterpretq_s32_p128 (poly128_t __a)
5520 {
5521   return (int32x4_t)__a;
5522 }
5523 
5524 __extension__ extern __inline uint8x8_t
5525 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_f16(float16x4_t __a)5526 vreinterpret_u8_f16 (float16x4_t __a)
5527 {
5528   return (uint8x8_t) __a;
5529 }
5530 
5531 __extension__ extern __inline uint8x8_t
5532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_f64(float64x1_t __a)5533 vreinterpret_u8_f64 (float64x1_t __a)
5534 {
5535   return (uint8x8_t) __a;
5536 }
5537 
5538 __extension__ extern __inline uint8x8_t
5539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s8(int8x8_t __a)5540 vreinterpret_u8_s8 (int8x8_t __a)
5541 {
5542   return (uint8x8_t) __a;
5543 }
5544 
5545 __extension__ extern __inline uint8x8_t
5546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s16(int16x4_t __a)5547 vreinterpret_u8_s16 (int16x4_t __a)
5548 {
5549   return (uint8x8_t) __a;
5550 }
5551 
5552 __extension__ extern __inline uint8x8_t
5553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s32(int32x2_t __a)5554 vreinterpret_u8_s32 (int32x2_t __a)
5555 {
5556   return (uint8x8_t) __a;
5557 }
5558 
5559 __extension__ extern __inline uint8x8_t
5560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_s64(int64x1_t __a)5561 vreinterpret_u8_s64 (int64x1_t __a)
5562 {
5563   return (uint8x8_t) __a;
5564 }
5565 
5566 __extension__ extern __inline uint8x8_t
5567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_f32(float32x2_t __a)5568 vreinterpret_u8_f32 (float32x2_t __a)
5569 {
5570   return (uint8x8_t) __a;
5571 }
5572 
5573 __extension__ extern __inline uint8x8_t
5574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_u16(uint16x4_t __a)5575 vreinterpret_u8_u16 (uint16x4_t __a)
5576 {
5577   return (uint8x8_t) __a;
5578 }
5579 
5580 __extension__ extern __inline uint8x8_t
5581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_u32(uint32x2_t __a)5582 vreinterpret_u8_u32 (uint32x2_t __a)
5583 {
5584   return (uint8x8_t) __a;
5585 }
5586 
5587 __extension__ extern __inline uint8x8_t
5588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_u64(uint64x1_t __a)5589 vreinterpret_u8_u64 (uint64x1_t __a)
5590 {
5591   return (uint8x8_t) __a;
5592 }
5593 
5594 __extension__ extern __inline uint8x8_t
5595 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_p8(poly8x8_t __a)5596 vreinterpret_u8_p8 (poly8x8_t __a)
5597 {
5598   return (uint8x8_t) __a;
5599 }
5600 
5601 __extension__ extern __inline uint8x8_t
5602 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_p16(poly16x4_t __a)5603 vreinterpret_u8_p16 (poly16x4_t __a)
5604 {
5605   return (uint8x8_t) __a;
5606 }
5607 
5608 __extension__ extern __inline uint8x8_t
5609 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_p64(poly64x1_t __a)5610 vreinterpret_u8_p64 (poly64x1_t __a)
5611 {
5612   return (uint8x8_t) __a;
5613 }
5614 
5615 __extension__ extern __inline uint8x16_t
5616 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_f64(float64x2_t __a)5617 vreinterpretq_u8_f64 (float64x2_t __a)
5618 {
5619   return (uint8x16_t) __a;
5620 }
5621 
5622 __extension__ extern __inline uint8x16_t
5623 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s8(int8x16_t __a)5624 vreinterpretq_u8_s8 (int8x16_t __a)
5625 {
5626   return (uint8x16_t) __a;
5627 }
5628 
5629 __extension__ extern __inline uint8x16_t
5630 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s16(int16x8_t __a)5631 vreinterpretq_u8_s16 (int16x8_t __a)
5632 {
5633   return (uint8x16_t) __a;
5634 }
5635 
5636 __extension__ extern __inline uint8x16_t
5637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s32(int32x4_t __a)5638 vreinterpretq_u8_s32 (int32x4_t __a)
5639 {
5640   return (uint8x16_t) __a;
5641 }
5642 
5643 __extension__ extern __inline uint8x16_t
5644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_s64(int64x2_t __a)5645 vreinterpretq_u8_s64 (int64x2_t __a)
5646 {
5647   return (uint8x16_t) __a;
5648 }
5649 
5650 __extension__ extern __inline uint8x16_t
5651 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_f16(float16x8_t __a)5652 vreinterpretq_u8_f16 (float16x8_t __a)
5653 {
5654   return (uint8x16_t) __a;
5655 }
5656 
5657 __extension__ extern __inline uint8x16_t
5658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_f32(float32x4_t __a)5659 vreinterpretq_u8_f32 (float32x4_t __a)
5660 {
5661   return (uint8x16_t) __a;
5662 }
5663 
5664 __extension__ extern __inline uint8x16_t
5665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_u16(uint16x8_t __a)5666 vreinterpretq_u8_u16 (uint16x8_t __a)
5667 {
5668   return (uint8x16_t) __a;
5669 }
5670 
5671 __extension__ extern __inline uint8x16_t
5672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_u32(uint32x4_t __a)5673 vreinterpretq_u8_u32 (uint32x4_t __a)
5674 {
5675   return (uint8x16_t) __a;
5676 }
5677 
5678 __extension__ extern __inline uint8x16_t
5679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_u64(uint64x2_t __a)5680 vreinterpretq_u8_u64 (uint64x2_t __a)
5681 {
5682   return (uint8x16_t) __a;
5683 }
5684 
5685 __extension__ extern __inline uint8x16_t
5686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p8(poly8x16_t __a)5687 vreinterpretq_u8_p8 (poly8x16_t __a)
5688 {
5689   return (uint8x16_t) __a;
5690 }
5691 
5692 __extension__ extern __inline uint8x16_t
5693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p16(poly16x8_t __a)5694 vreinterpretq_u8_p16 (poly16x8_t __a)
5695 {
5696   return (uint8x16_t) __a;
5697 }
5698 
5699 __extension__ extern __inline uint8x16_t
5700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p64(poly64x2_t __a)5701 vreinterpretq_u8_p64 (poly64x2_t __a)
5702 {
5703   return (uint8x16_t) __a;
5704 }
5705 
5706 __extension__ extern __inline uint8x16_t
5707 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_p128(poly128_t __a)5708 vreinterpretq_u8_p128 (poly128_t __a)
5709 {
5710   return (uint8x16_t)__a;
5711 }
5712 
5713 __extension__ extern __inline uint16x4_t
5714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_f16(float16x4_t __a)5715 vreinterpret_u16_f16 (float16x4_t __a)
5716 {
5717   return (uint16x4_t) __a;
5718 }
5719 
5720 __extension__ extern __inline uint16x4_t
5721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_f64(float64x1_t __a)5722 vreinterpret_u16_f64 (float64x1_t __a)
5723 {
5724   return (uint16x4_t) __a;
5725 }
5726 
5727 __extension__ extern __inline uint16x4_t
5728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s8(int8x8_t __a)5729 vreinterpret_u16_s8 (int8x8_t __a)
5730 {
5731   return (uint16x4_t) __a;
5732 }
5733 
5734 __extension__ extern __inline uint16x4_t
5735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s16(int16x4_t __a)5736 vreinterpret_u16_s16 (int16x4_t __a)
5737 {
5738   return (uint16x4_t) __a;
5739 }
5740 
5741 __extension__ extern __inline uint16x4_t
5742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s32(int32x2_t __a)5743 vreinterpret_u16_s32 (int32x2_t __a)
5744 {
5745   return (uint16x4_t) __a;
5746 }
5747 
5748 __extension__ extern __inline uint16x4_t
5749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_s64(int64x1_t __a)5750 vreinterpret_u16_s64 (int64x1_t __a)
5751 {
5752   return (uint16x4_t) __a;
5753 }
5754 
5755 __extension__ extern __inline uint16x4_t
5756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_f32(float32x2_t __a)5757 vreinterpret_u16_f32 (float32x2_t __a)
5758 {
5759   return (uint16x4_t) __a;
5760 }
5761 
5762 __extension__ extern __inline uint16x4_t
5763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_u8(uint8x8_t __a)5764 vreinterpret_u16_u8 (uint8x8_t __a)
5765 {
5766   return (uint16x4_t) __a;
5767 }
5768 
5769 __extension__ extern __inline uint16x4_t
5770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_u32(uint32x2_t __a)5771 vreinterpret_u16_u32 (uint32x2_t __a)
5772 {
5773   return (uint16x4_t) __a;
5774 }
5775 
5776 __extension__ extern __inline uint16x4_t
5777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_u64(uint64x1_t __a)5778 vreinterpret_u16_u64 (uint64x1_t __a)
5779 {
5780   return (uint16x4_t) __a;
5781 }
5782 
5783 __extension__ extern __inline uint16x4_t
5784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_p8(poly8x8_t __a)5785 vreinterpret_u16_p8 (poly8x8_t __a)
5786 {
5787   return (uint16x4_t) __a;
5788 }
5789 
5790 __extension__ extern __inline uint16x4_t
5791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_p16(poly16x4_t __a)5792 vreinterpret_u16_p16 (poly16x4_t __a)
5793 {
5794   return (uint16x4_t) __a;
5795 }
5796 
5797 __extension__ extern __inline uint16x4_t
5798 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_p64(poly64x1_t __a)5799 vreinterpret_u16_p64 (poly64x1_t __a)
5800 {
5801   return (uint16x4_t) __a;
5802 }
5803 
5804 __extension__ extern __inline uint16x8_t
5805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_f64(float64x2_t __a)5806 vreinterpretq_u16_f64 (float64x2_t __a)
5807 {
5808   return (uint16x8_t) __a;
5809 }
5810 
5811 __extension__ extern __inline uint16x8_t
5812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s8(int8x16_t __a)5813 vreinterpretq_u16_s8 (int8x16_t __a)
5814 {
5815   return (uint16x8_t) __a;
5816 }
5817 
5818 __extension__ extern __inline uint16x8_t
5819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s16(int16x8_t __a)5820 vreinterpretq_u16_s16 (int16x8_t __a)
5821 {
5822   return (uint16x8_t) __a;
5823 }
5824 
5825 __extension__ extern __inline uint16x8_t
5826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s32(int32x4_t __a)5827 vreinterpretq_u16_s32 (int32x4_t __a)
5828 {
5829   return (uint16x8_t) __a;
5830 }
5831 
5832 __extension__ extern __inline uint16x8_t
5833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_s64(int64x2_t __a)5834 vreinterpretq_u16_s64 (int64x2_t __a)
5835 {
5836   return (uint16x8_t) __a;
5837 }
5838 
5839 __extension__ extern __inline uint16x8_t
5840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_f16(float16x8_t __a)5841 vreinterpretq_u16_f16 (float16x8_t __a)
5842 {
5843   return (uint16x8_t) __a;
5844 }
5845 
5846 __extension__ extern __inline uint16x8_t
5847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_f32(float32x4_t __a)5848 vreinterpretq_u16_f32 (float32x4_t __a)
5849 {
5850   return (uint16x8_t) __a;
5851 }
5852 
5853 __extension__ extern __inline uint16x8_t
5854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_u8(uint8x16_t __a)5855 vreinterpretq_u16_u8 (uint8x16_t __a)
5856 {
5857   return (uint16x8_t) __a;
5858 }
5859 
5860 __extension__ extern __inline uint16x8_t
5861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_u32(uint32x4_t __a)5862 vreinterpretq_u16_u32 (uint32x4_t __a)
5863 {
5864   return (uint16x8_t) __a;
5865 }
5866 
5867 __extension__ extern __inline uint16x8_t
5868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_u64(uint64x2_t __a)5869 vreinterpretq_u16_u64 (uint64x2_t __a)
5870 {
5871   return (uint16x8_t) __a;
5872 }
5873 
5874 __extension__ extern __inline uint16x8_t
5875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p8(poly8x16_t __a)5876 vreinterpretq_u16_p8 (poly8x16_t __a)
5877 {
5878   return (uint16x8_t) __a;
5879 }
5880 
5881 __extension__ extern __inline uint16x8_t
5882 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p16(poly16x8_t __a)5883 vreinterpretq_u16_p16 (poly16x8_t __a)
5884 {
5885   return (uint16x8_t) __a;
5886 }
5887 
5888 __extension__ extern __inline uint16x8_t
5889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p64(poly64x2_t __a)5890 vreinterpretq_u16_p64 (poly64x2_t __a)
5891 {
5892   return (uint16x8_t) __a;
5893 }
5894 
5895 __extension__ extern __inline uint16x8_t
5896 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_p128(poly128_t __a)5897 vreinterpretq_u16_p128 (poly128_t __a)
5898 {
5899   return (uint16x8_t)__a;
5900 }
5901 
5902 __extension__ extern __inline uint32x2_t
5903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_f16(float16x4_t __a)5904 vreinterpret_u32_f16 (float16x4_t __a)
5905 {
5906   return (uint32x2_t) __a;
5907 }
5908 
5909 __extension__ extern __inline uint32x2_t
5910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_f64(float64x1_t __a)5911 vreinterpret_u32_f64 (float64x1_t __a)
5912 {
5913   return (uint32x2_t) __a;
5914 }
5915 
5916 __extension__ extern __inline uint32x2_t
5917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s8(int8x8_t __a)5918 vreinterpret_u32_s8 (int8x8_t __a)
5919 {
5920   return (uint32x2_t) __a;
5921 }
5922 
5923 __extension__ extern __inline uint32x2_t
5924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s16(int16x4_t __a)5925 vreinterpret_u32_s16 (int16x4_t __a)
5926 {
5927   return (uint32x2_t) __a;
5928 }
5929 
5930 __extension__ extern __inline uint32x2_t
5931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s32(int32x2_t __a)5932 vreinterpret_u32_s32 (int32x2_t __a)
5933 {
5934   return (uint32x2_t) __a;
5935 }
5936 
5937 __extension__ extern __inline uint32x2_t
5938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_s64(int64x1_t __a)5939 vreinterpret_u32_s64 (int64x1_t __a)
5940 {
5941   return (uint32x2_t) __a;
5942 }
5943 
5944 __extension__ extern __inline uint32x2_t
5945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_f32(float32x2_t __a)5946 vreinterpret_u32_f32 (float32x2_t __a)
5947 {
5948   return (uint32x2_t) __a;
5949 }
5950 
5951 __extension__ extern __inline uint32x2_t
5952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_u8(uint8x8_t __a)5953 vreinterpret_u32_u8 (uint8x8_t __a)
5954 {
5955   return (uint32x2_t) __a;
5956 }
5957 
5958 __extension__ extern __inline uint32x2_t
5959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_u16(uint16x4_t __a)5960 vreinterpret_u32_u16 (uint16x4_t __a)
5961 {
5962   return (uint32x2_t) __a;
5963 }
5964 
5965 __extension__ extern __inline uint32x2_t
5966 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_u64(uint64x1_t __a)5967 vreinterpret_u32_u64 (uint64x1_t __a)
5968 {
5969   return (uint32x2_t) __a;
5970 }
5971 
5972 __extension__ extern __inline uint32x2_t
5973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_p8(poly8x8_t __a)5974 vreinterpret_u32_p8 (poly8x8_t __a)
5975 {
5976   return (uint32x2_t) __a;
5977 }
5978 
5979 __extension__ extern __inline uint32x2_t
5980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_p16(poly16x4_t __a)5981 vreinterpret_u32_p16 (poly16x4_t __a)
5982 {
5983   return (uint32x2_t) __a;
5984 }
5985 
5986 __extension__ extern __inline uint32x2_t
5987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_p64(poly64x1_t __a)5988 vreinterpret_u32_p64 (poly64x1_t __a)
5989 {
5990   return (uint32x2_t) __a;
5991 }
5992 
5993 __extension__ extern __inline uint32x4_t
5994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_f64(float64x2_t __a)5995 vreinterpretq_u32_f64 (float64x2_t __a)
5996 {
5997   return (uint32x4_t) __a;
5998 }
5999 
6000 __extension__ extern __inline uint32x4_t
6001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s8(int8x16_t __a)6002 vreinterpretq_u32_s8 (int8x16_t __a)
6003 {
6004   return (uint32x4_t) __a;
6005 }
6006 
6007 __extension__ extern __inline uint32x4_t
6008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s16(int16x8_t __a)6009 vreinterpretq_u32_s16 (int16x8_t __a)
6010 {
6011   return (uint32x4_t) __a;
6012 }
6013 
6014 __extension__ extern __inline uint32x4_t
6015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s32(int32x4_t __a)6016 vreinterpretq_u32_s32 (int32x4_t __a)
6017 {
6018   return (uint32x4_t) __a;
6019 }
6020 
6021 __extension__ extern __inline uint32x4_t
6022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_s64(int64x2_t __a)6023 vreinterpretq_u32_s64 (int64x2_t __a)
6024 {
6025   return (uint32x4_t) __a;
6026 }
6027 
6028 __extension__ extern __inline uint32x4_t
6029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_f16(float16x8_t __a)6030 vreinterpretq_u32_f16 (float16x8_t __a)
6031 {
6032   return (uint32x4_t) __a;
6033 }
6034 
6035 __extension__ extern __inline uint32x4_t
6036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_f32(float32x4_t __a)6037 vreinterpretq_u32_f32 (float32x4_t __a)
6038 {
6039   return (uint32x4_t) __a;
6040 }
6041 
6042 __extension__ extern __inline uint32x4_t
6043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_u8(uint8x16_t __a)6044 vreinterpretq_u32_u8 (uint8x16_t __a)
6045 {
6046   return (uint32x4_t) __a;
6047 }
6048 
6049 __extension__ extern __inline uint32x4_t
6050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_u16(uint16x8_t __a)6051 vreinterpretq_u32_u16 (uint16x8_t __a)
6052 {
6053   return (uint32x4_t) __a;
6054 }
6055 
6056 __extension__ extern __inline uint32x4_t
6057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_u64(uint64x2_t __a)6058 vreinterpretq_u32_u64 (uint64x2_t __a)
6059 {
6060   return (uint32x4_t) __a;
6061 }
6062 
6063 __extension__ extern __inline uint32x4_t
6064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p8(poly8x16_t __a)6065 vreinterpretq_u32_p8 (poly8x16_t __a)
6066 {
6067   return (uint32x4_t) __a;
6068 }
6069 
6070 __extension__ extern __inline uint32x4_t
6071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p16(poly16x8_t __a)6072 vreinterpretq_u32_p16 (poly16x8_t __a)
6073 {
6074   return (uint32x4_t) __a;
6075 }
6076 
6077 __extension__ extern __inline uint32x4_t
6078 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p64(poly64x2_t __a)6079 vreinterpretq_u32_p64 (poly64x2_t __a)
6080 {
6081   return (uint32x4_t) __a;
6082 }
6083 
6084 __extension__ extern __inline uint32x4_t
6085 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_p128(poly128_t __a)6086 vreinterpretq_u32_p128 (poly128_t __a)
6087 {
6088   return (uint32x4_t)__a;
6089 }
6090 
6091 /* vset_lane  */
6092 
6093 __extension__ extern __inline float16x4_t
6094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_f16(float16_t __elem,float16x4_t __vec,const int __index)6095 vset_lane_f16 (float16_t __elem, float16x4_t __vec, const int __index)
6096 {
6097   return __aarch64_vset_lane_any (__elem, __vec, __index);
6098 }
6099 
6100 __extension__ extern __inline float32x2_t
6101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_f32(float32_t __elem,float32x2_t __vec,const int __index)6102 vset_lane_f32 (float32_t __elem, float32x2_t __vec, const int __index)
6103 {
6104   return __aarch64_vset_lane_any (__elem, __vec, __index);
6105 }
6106 
6107 __extension__ extern __inline float64x1_t
6108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_f64(float64_t __elem,float64x1_t __vec,const int __index)6109 vset_lane_f64 (float64_t __elem, float64x1_t __vec, const int __index)
6110 {
6111   return __aarch64_vset_lane_any (__elem, __vec, __index);
6112 }
6113 
6114 __extension__ extern __inline poly8x8_t
6115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_p8(poly8_t __elem,poly8x8_t __vec,const int __index)6116 vset_lane_p8 (poly8_t __elem, poly8x8_t __vec, const int __index)
6117 {
6118   return __aarch64_vset_lane_any (__elem, __vec, __index);
6119 }
6120 
6121 __extension__ extern __inline poly16x4_t
6122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_p16(poly16_t __elem,poly16x4_t __vec,const int __index)6123 vset_lane_p16 (poly16_t __elem, poly16x4_t __vec, const int __index)
6124 {
6125   return __aarch64_vset_lane_any (__elem, __vec, __index);
6126 }
6127 
6128 __extension__ extern __inline poly64x1_t
6129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_p64(poly64_t __elem,poly64x1_t __vec,const int __index)6130 vset_lane_p64 (poly64_t __elem, poly64x1_t __vec, const int __index)
6131 {
6132   return __aarch64_vset_lane_any (__elem, __vec, __index);
6133 }
6134 
6135 __extension__ extern __inline int8x8_t
6136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s8(int8_t __elem,int8x8_t __vec,const int __index)6137 vset_lane_s8 (int8_t __elem, int8x8_t __vec, const int __index)
6138 {
6139   return __aarch64_vset_lane_any (__elem, __vec, __index);
6140 }
6141 
6142 __extension__ extern __inline int16x4_t
6143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s16(int16_t __elem,int16x4_t __vec,const int __index)6144 vset_lane_s16 (int16_t __elem, int16x4_t __vec, const int __index)
6145 {
6146   return __aarch64_vset_lane_any (__elem, __vec, __index);
6147 }
6148 
6149 __extension__ extern __inline int32x2_t
6150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s32(int32_t __elem,int32x2_t __vec,const int __index)6151 vset_lane_s32 (int32_t __elem, int32x2_t __vec, const int __index)
6152 {
6153   return __aarch64_vset_lane_any (__elem, __vec, __index);
6154 }
6155 
6156 __extension__ extern __inline int64x1_t
6157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s64(int64_t __elem,int64x1_t __vec,const int __index)6158 vset_lane_s64 (int64_t __elem, int64x1_t __vec, const int __index)
6159 {
6160   return __aarch64_vset_lane_any (__elem, __vec, __index);
6161 }
6162 
6163 __extension__ extern __inline uint8x8_t
6164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u8(uint8_t __elem,uint8x8_t __vec,const int __index)6165 vset_lane_u8 (uint8_t __elem, uint8x8_t __vec, const int __index)
6166 {
6167   return __aarch64_vset_lane_any (__elem, __vec, __index);
6168 }
6169 
6170 __extension__ extern __inline uint16x4_t
6171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u16(uint16_t __elem,uint16x4_t __vec,const int __index)6172 vset_lane_u16 (uint16_t __elem, uint16x4_t __vec, const int __index)
6173 {
6174   return __aarch64_vset_lane_any (__elem, __vec, __index);
6175 }
6176 
6177 __extension__ extern __inline uint32x2_t
6178 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u32(uint32_t __elem,uint32x2_t __vec,const int __index)6179 vset_lane_u32 (uint32_t __elem, uint32x2_t __vec, const int __index)
6180 {
6181   return __aarch64_vset_lane_any (__elem, __vec, __index);
6182 }
6183 
6184 __extension__ extern __inline uint64x1_t
6185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u64(uint64_t __elem,uint64x1_t __vec,const int __index)6186 vset_lane_u64 (uint64_t __elem, uint64x1_t __vec, const int __index)
6187 {
6188   return __aarch64_vset_lane_any (__elem, __vec, __index);
6189 }
6190 
6191 /* vsetq_lane  */
6192 
6193 __extension__ extern __inline float16x8_t
6194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_f16(float16_t __elem,float16x8_t __vec,const int __index)6195 vsetq_lane_f16 (float16_t __elem, float16x8_t __vec, const int __index)
6196 {
6197   return __aarch64_vset_lane_any (__elem, __vec, __index);
6198 }
6199 
6200 __extension__ extern __inline float32x4_t
6201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_f32(float32_t __elem,float32x4_t __vec,const int __index)6202 vsetq_lane_f32 (float32_t __elem, float32x4_t __vec, const int __index)
6203 {
6204   return __aarch64_vset_lane_any (__elem, __vec, __index);
6205 }
6206 
6207 __extension__ extern __inline float64x2_t
6208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_f64(float64_t __elem,float64x2_t __vec,const int __index)6209 vsetq_lane_f64 (float64_t __elem, float64x2_t __vec, const int __index)
6210 {
6211   return __aarch64_vset_lane_any (__elem, __vec, __index);
6212 }
6213 
6214 __extension__ extern __inline poly8x16_t
6215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_p8(poly8_t __elem,poly8x16_t __vec,const int __index)6216 vsetq_lane_p8 (poly8_t __elem, poly8x16_t __vec, const int __index)
6217 {
6218   return __aarch64_vset_lane_any (__elem, __vec, __index);
6219 }
6220 
6221 __extension__ extern __inline poly16x8_t
6222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_p16(poly16_t __elem,poly16x8_t __vec,const int __index)6223 vsetq_lane_p16 (poly16_t __elem, poly16x8_t __vec, const int __index)
6224 {
6225   return __aarch64_vset_lane_any (__elem, __vec, __index);
6226 }
6227 
6228 __extension__ extern __inline poly64x2_t
6229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_p64(poly64_t __elem,poly64x2_t __vec,const int __index)6230 vsetq_lane_p64 (poly64_t __elem, poly64x2_t __vec, const int __index)
6231 {
6232   return __aarch64_vset_lane_any (__elem, __vec, __index);
6233 }
6234 
6235 __extension__ extern __inline int8x16_t
6236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s8(int8_t __elem,int8x16_t __vec,const int __index)6237 vsetq_lane_s8 (int8_t __elem, int8x16_t __vec, const int __index)
6238 {
6239   return __aarch64_vset_lane_any (__elem, __vec, __index);
6240 }
6241 
6242 __extension__ extern __inline int16x8_t
6243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s16(int16_t __elem,int16x8_t __vec,const int __index)6244 vsetq_lane_s16 (int16_t __elem, int16x8_t __vec, const int __index)
6245 {
6246   return __aarch64_vset_lane_any (__elem, __vec, __index);
6247 }
6248 
6249 __extension__ extern __inline int32x4_t
6250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s32(int32_t __elem,int32x4_t __vec,const int __index)6251 vsetq_lane_s32 (int32_t __elem, int32x4_t __vec, const int __index)
6252 {
6253   return __aarch64_vset_lane_any (__elem, __vec, __index);
6254 }
6255 
6256 __extension__ extern __inline int64x2_t
6257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s64(int64_t __elem,int64x2_t __vec,const int __index)6258 vsetq_lane_s64 (int64_t __elem, int64x2_t __vec, const int __index)
6259 {
6260   return __aarch64_vset_lane_any (__elem, __vec, __index);
6261 }
6262 
6263 __extension__ extern __inline uint8x16_t
6264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u8(uint8_t __elem,uint8x16_t __vec,const int __index)6265 vsetq_lane_u8 (uint8_t __elem, uint8x16_t __vec, const int __index)
6266 {
6267   return __aarch64_vset_lane_any (__elem, __vec, __index);
6268 }
6269 
6270 __extension__ extern __inline uint16x8_t
6271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u16(uint16_t __elem,uint16x8_t __vec,const int __index)6272 vsetq_lane_u16 (uint16_t __elem, uint16x8_t __vec, const int __index)
6273 {
6274   return __aarch64_vset_lane_any (__elem, __vec, __index);
6275 }
6276 
6277 __extension__ extern __inline uint32x4_t
6278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u32(uint32_t __elem,uint32x4_t __vec,const int __index)6279 vsetq_lane_u32 (uint32_t __elem, uint32x4_t __vec, const int __index)
6280 {
6281   return __aarch64_vset_lane_any (__elem, __vec, __index);
6282 }
6283 
6284 __extension__ extern __inline uint64x2_t
6285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u64(uint64_t __elem,uint64x2_t __vec,const int __index)6286 vsetq_lane_u64 (uint64_t __elem, uint64x2_t __vec, const int __index)
6287 {
6288   return __aarch64_vset_lane_any (__elem, __vec, __index);
6289 }
6290 
6291 #define __GET_LOW(__TYPE) \
6292   uint64x2_t tmp = vreinterpretq_u64_##__TYPE (__a);  \
6293   uint64x1_t lo = vcreate_u64 (vgetq_lane_u64 (tmp, 0));  \
6294   return vreinterpret_##__TYPE##_u64 (lo);
6295 
6296 __extension__ extern __inline float16x4_t
6297 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_f16(float16x8_t __a)6298 vget_low_f16 (float16x8_t __a)
6299 {
6300   __GET_LOW (f16);
6301 }
6302 
6303 __extension__ extern __inline float32x2_t
6304 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_f32(float32x4_t __a)6305 vget_low_f32 (float32x4_t __a)
6306 {
6307   __GET_LOW (f32);
6308 }
6309 
6310 __extension__ extern __inline float64x1_t
6311 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_f64(float64x2_t __a)6312 vget_low_f64 (float64x2_t __a)
6313 {
6314   return (float64x1_t) {vgetq_lane_f64 (__a, 0)};
6315 }
6316 
6317 __extension__ extern __inline poly8x8_t
6318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p8(poly8x16_t __a)6319 vget_low_p8 (poly8x16_t __a)
6320 {
6321   __GET_LOW (p8);
6322 }
6323 
6324 __extension__ extern __inline poly16x4_t
6325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p16(poly16x8_t __a)6326 vget_low_p16 (poly16x8_t __a)
6327 {
6328   __GET_LOW (p16);
6329 }
6330 
6331 __extension__ extern __inline poly64x1_t
6332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p64(poly64x2_t __a)6333 vget_low_p64 (poly64x2_t __a)
6334 {
6335   __GET_LOW (p64);
6336 }
6337 
6338 __extension__ extern __inline int8x8_t
6339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s8(int8x16_t __a)6340 vget_low_s8 (int8x16_t __a)
6341 {
6342   __GET_LOW (s8);
6343 }
6344 
6345 __extension__ extern __inline int16x4_t
6346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s16(int16x8_t __a)6347 vget_low_s16 (int16x8_t __a)
6348 {
6349   __GET_LOW (s16);
6350 }
6351 
6352 __extension__ extern __inline int32x2_t
6353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s32(int32x4_t __a)6354 vget_low_s32 (int32x4_t __a)
6355 {
6356   __GET_LOW (s32);
6357 }
6358 
6359 __extension__ extern __inline int64x1_t
6360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s64(int64x2_t __a)6361 vget_low_s64 (int64x2_t __a)
6362 {
6363   __GET_LOW (s64);
6364 }
6365 
6366 __extension__ extern __inline uint8x8_t
6367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u8(uint8x16_t __a)6368 vget_low_u8 (uint8x16_t __a)
6369 {
6370   __GET_LOW (u8);
6371 }
6372 
6373 __extension__ extern __inline uint16x4_t
6374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u16(uint16x8_t __a)6375 vget_low_u16 (uint16x8_t __a)
6376 {
6377   __GET_LOW (u16);
6378 }
6379 
6380 __extension__ extern __inline uint32x2_t
6381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u32(uint32x4_t __a)6382 vget_low_u32 (uint32x4_t __a)
6383 {
6384   __GET_LOW (u32);
6385 }
6386 
6387 __extension__ extern __inline uint64x1_t
6388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u64(uint64x2_t __a)6389 vget_low_u64 (uint64x2_t __a)
6390 {
6391   return vcreate_u64 (vgetq_lane_u64 (__a, 0));
6392 }
6393 
6394 #undef __GET_LOW
6395 
6396 #define __GET_HIGH(__TYPE)					\
6397   uint64x2_t tmp = vreinterpretq_u64_##__TYPE (__a);		\
6398   uint64x1_t hi = vcreate_u64 (vgetq_lane_u64 (tmp, 1));	\
6399   return vreinterpret_##__TYPE##_u64 (hi);
6400 
6401 __extension__ extern __inline float16x4_t
6402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_f16(float16x8_t __a)6403 vget_high_f16 (float16x8_t __a)
6404 {
6405   __GET_HIGH (f16);
6406 }
6407 
6408 __extension__ extern __inline float32x2_t
6409 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_f32(float32x4_t __a)6410 vget_high_f32 (float32x4_t __a)
6411 {
6412   __GET_HIGH (f32);
6413 }
6414 
6415 __extension__ extern __inline float64x1_t
6416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_f64(float64x2_t __a)6417 vget_high_f64 (float64x2_t __a)
6418 {
6419   __GET_HIGH (f64);
6420 }
6421 
6422 __extension__ extern __inline poly8x8_t
6423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p8(poly8x16_t __a)6424 vget_high_p8 (poly8x16_t __a)
6425 {
6426   __GET_HIGH (p8);
6427 }
6428 
6429 __extension__ extern __inline poly16x4_t
6430 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p16(poly16x8_t __a)6431 vget_high_p16 (poly16x8_t __a)
6432 {
6433   __GET_HIGH (p16);
6434 }
6435 
6436 __extension__ extern __inline poly64x1_t
6437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p64(poly64x2_t __a)6438 vget_high_p64 (poly64x2_t __a)
6439 {
6440   __GET_HIGH (p64);
6441 }
6442 
6443 __extension__ extern __inline int8x8_t
6444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s8(int8x16_t __a)6445 vget_high_s8 (int8x16_t __a)
6446 {
6447   __GET_HIGH (s8);
6448 }
6449 
6450 __extension__ extern __inline int16x4_t
6451 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s16(int16x8_t __a)6452 vget_high_s16 (int16x8_t __a)
6453 {
6454   __GET_HIGH (s16);
6455 }
6456 
6457 __extension__ extern __inline int32x2_t
6458 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s32(int32x4_t __a)6459 vget_high_s32 (int32x4_t __a)
6460 {
6461   __GET_HIGH (s32);
6462 }
6463 
6464 __extension__ extern __inline int64x1_t
6465 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s64(int64x2_t __a)6466 vget_high_s64 (int64x2_t __a)
6467 {
6468   __GET_HIGH (s64);
6469 }
6470 
6471 __extension__ extern __inline uint8x8_t
6472 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u8(uint8x16_t __a)6473 vget_high_u8 (uint8x16_t __a)
6474 {
6475   __GET_HIGH (u8);
6476 }
6477 
6478 __extension__ extern __inline uint16x4_t
6479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u16(uint16x8_t __a)6480 vget_high_u16 (uint16x8_t __a)
6481 {
6482   __GET_HIGH (u16);
6483 }
6484 
6485 __extension__ extern __inline uint32x2_t
6486 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u32(uint32x4_t __a)6487 vget_high_u32 (uint32x4_t __a)
6488 {
6489   __GET_HIGH (u32);
6490 }
6491 
6492 #undef __GET_HIGH
6493 
6494 __extension__ extern __inline uint64x1_t
6495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u64(uint64x2_t __a)6496 vget_high_u64 (uint64x2_t __a)
6497 {
6498   return vcreate_u64 (vgetq_lane_u64 (__a, 1));
6499 }
6500 
6501 __extension__ extern __inline int8x16_t
6502 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s8(int8x8_t __a,int8x8_t __b)6503 vcombine_s8 (int8x8_t __a, int8x8_t __b)
6504 {
6505   return (int8x16_t) __builtin_aarch64_combinev8qi (__a, __b);
6506 }
6507 
6508 __extension__ extern __inline int16x8_t
6509 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s16(int16x4_t __a,int16x4_t __b)6510 vcombine_s16 (int16x4_t __a, int16x4_t __b)
6511 {
6512   return (int16x8_t) __builtin_aarch64_combinev4hi (__a, __b);
6513 }
6514 
6515 __extension__ extern __inline int32x4_t
6516 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s32(int32x2_t __a,int32x2_t __b)6517 vcombine_s32 (int32x2_t __a, int32x2_t __b)
6518 {
6519   return (int32x4_t) __builtin_aarch64_combinev2si (__a, __b);
6520 }
6521 
6522 __extension__ extern __inline int64x2_t
6523 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s64(int64x1_t __a,int64x1_t __b)6524 vcombine_s64 (int64x1_t __a, int64x1_t __b)
6525 {
6526   return __builtin_aarch64_combinedi (__a[0], __b[0]);
6527 }
6528 
6529 __extension__ extern __inline float16x8_t
6530 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_f16(float16x4_t __a,float16x4_t __b)6531 vcombine_f16 (float16x4_t __a, float16x4_t __b)
6532 {
6533   return __builtin_aarch64_combinev4hf (__a, __b);
6534 }
6535 
6536 __extension__ extern __inline float32x4_t
6537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_f32(float32x2_t __a,float32x2_t __b)6538 vcombine_f32 (float32x2_t __a, float32x2_t __b)
6539 {
6540   return (float32x4_t) __builtin_aarch64_combinev2sf (__a, __b);
6541 }
6542 
6543 __extension__ extern __inline uint8x16_t
6544 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u8(uint8x8_t __a,uint8x8_t __b)6545 vcombine_u8 (uint8x8_t __a, uint8x8_t __b)
6546 {
6547   return (uint8x16_t) __builtin_aarch64_combinev8qi ((int8x8_t) __a,
6548 						     (int8x8_t) __b);
6549 }
6550 
6551 __extension__ extern __inline uint16x8_t
6552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u16(uint16x4_t __a,uint16x4_t __b)6553 vcombine_u16 (uint16x4_t __a, uint16x4_t __b)
6554 {
6555   return (uint16x8_t) __builtin_aarch64_combinev4hi ((int16x4_t) __a,
6556 						     (int16x4_t) __b);
6557 }
6558 
6559 __extension__ extern __inline uint32x4_t
6560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u32(uint32x2_t __a,uint32x2_t __b)6561 vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
6562 {
6563   return (uint32x4_t) __builtin_aarch64_combinev2si ((int32x2_t) __a,
6564 						     (int32x2_t) __b);
6565 }
6566 
6567 __extension__ extern __inline uint64x2_t
6568 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u64(uint64x1_t __a,uint64x1_t __b)6569 vcombine_u64 (uint64x1_t __a, uint64x1_t __b)
6570 {
6571   return (uint64x2_t) __builtin_aarch64_combinedi (__a[0], __b[0]);
6572 }
6573 
6574 __extension__ extern __inline float64x2_t
6575 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_f64(float64x1_t __a,float64x1_t __b)6576 vcombine_f64 (float64x1_t __a, float64x1_t __b)
6577 {
6578   return __builtin_aarch64_combinedf (__a[0], __b[0]);
6579 }
6580 
6581 __extension__ extern __inline poly8x16_t
6582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p8(poly8x8_t __a,poly8x8_t __b)6583 vcombine_p8 (poly8x8_t __a, poly8x8_t __b)
6584 {
6585   return (poly8x16_t) __builtin_aarch64_combinev8qi ((int8x8_t) __a,
6586 						     (int8x8_t) __b);
6587 }
6588 
6589 __extension__ extern __inline poly16x8_t
6590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p16(poly16x4_t __a,poly16x4_t __b)6591 vcombine_p16 (poly16x4_t __a, poly16x4_t __b)
6592 {
6593   return (poly16x8_t) __builtin_aarch64_combinev4hi ((int16x4_t) __a,
6594 						     (int16x4_t) __b);
6595 }
6596 
6597 __extension__ extern __inline poly64x2_t
6598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p64(poly64x1_t __a,poly64x1_t __b)6599 vcombine_p64 (poly64x1_t __a, poly64x1_t __b)
6600 {
6601   return (poly64x2_t) __builtin_aarch64_combinedi_ppp (__a[0], __b[0]);
6602 }
6603 
6604 /* Start of temporary inline asm implementations.  */
6605 
6606 __extension__ extern __inline int8x8_t
6607 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)6608 vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
6609 {
6610   int8x8_t __result;
6611   __asm__ ("saba %0.8b,%2.8b,%3.8b"
6612            : "=w"(__result)
6613            : "0"(__a), "w"(__b), "w"(__c)
6614            : /* No clobbers */);
6615   return __result;
6616 }
6617 
6618 __extension__ extern __inline int16x4_t
6619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)6620 vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
6621 {
6622   int16x4_t __result;
6623   __asm__ ("saba %0.4h,%2.4h,%3.4h"
6624            : "=w"(__result)
6625            : "0"(__a), "w"(__b), "w"(__c)
6626            : /* No clobbers */);
6627   return __result;
6628 }
6629 
6630 __extension__ extern __inline int32x2_t
6631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)6632 vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
6633 {
6634   int32x2_t __result;
6635   __asm__ ("saba %0.2s,%2.2s,%3.2s"
6636            : "=w"(__result)
6637            : "0"(__a), "w"(__b), "w"(__c)
6638            : /* No clobbers */);
6639   return __result;
6640 }
6641 
6642 __extension__ extern __inline uint8x8_t
6643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)6644 vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
6645 {
6646   uint8x8_t __result;
6647   __asm__ ("uaba %0.8b,%2.8b,%3.8b"
6648            : "=w"(__result)
6649            : "0"(__a), "w"(__b), "w"(__c)
6650            : /* No clobbers */);
6651   return __result;
6652 }
6653 
6654 __extension__ extern __inline uint16x4_t
6655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)6656 vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
6657 {
6658   uint16x4_t __result;
6659   __asm__ ("uaba %0.4h,%2.4h,%3.4h"
6660            : "=w"(__result)
6661            : "0"(__a), "w"(__b), "w"(__c)
6662            : /* No clobbers */);
6663   return __result;
6664 }
6665 
6666 __extension__ extern __inline uint32x2_t
6667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)6668 vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
6669 {
6670   uint32x2_t __result;
6671   __asm__ ("uaba %0.2s,%2.2s,%3.2s"
6672            : "=w"(__result)
6673            : "0"(__a), "w"(__b), "w"(__c)
6674            : /* No clobbers */);
6675   return __result;
6676 }
6677 
6678 __extension__ extern __inline int16x8_t
6679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_s8(int16x8_t __a,int8x16_t __b,int8x16_t __c)6680 vabal_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
6681 {
6682   int16x8_t __result;
6683   __asm__ ("sabal2 %0.8h,%2.16b,%3.16b"
6684            : "=w"(__result)
6685            : "0"(__a), "w"(__b), "w"(__c)
6686            : /* No clobbers */);
6687   return __result;
6688 }
6689 
6690 __extension__ extern __inline int32x4_t
6691 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)6692 vabal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
6693 {
6694   int32x4_t __result;
6695   __asm__ ("sabal2 %0.4s,%2.8h,%3.8h"
6696            : "=w"(__result)
6697            : "0"(__a), "w"(__b), "w"(__c)
6698            : /* No clobbers */);
6699   return __result;
6700 }
6701 
6702 __extension__ extern __inline int64x2_t
6703 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)6704 vabal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
6705 {
6706   int64x2_t __result;
6707   __asm__ ("sabal2 %0.2d,%2.4s,%3.4s"
6708            : "=w"(__result)
6709            : "0"(__a), "w"(__b), "w"(__c)
6710            : /* No clobbers */);
6711   return __result;
6712 }
6713 
6714 __extension__ extern __inline uint16x8_t
6715 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_u8(uint16x8_t __a,uint8x16_t __b,uint8x16_t __c)6716 vabal_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
6717 {
6718   uint16x8_t __result;
6719   __asm__ ("uabal2 %0.8h,%2.16b,%3.16b"
6720            : "=w"(__result)
6721            : "0"(__a), "w"(__b), "w"(__c)
6722            : /* No clobbers */);
6723   return __result;
6724 }
6725 
6726 __extension__ extern __inline uint32x4_t
6727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_u16(uint32x4_t __a,uint16x8_t __b,uint16x8_t __c)6728 vabal_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
6729 {
6730   uint32x4_t __result;
6731   __asm__ ("uabal2 %0.4s,%2.8h,%3.8h"
6732            : "=w"(__result)
6733            : "0"(__a), "w"(__b), "w"(__c)
6734            : /* No clobbers */);
6735   return __result;
6736 }
6737 
6738 __extension__ extern __inline uint64x2_t
6739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_u32(uint64x2_t __a,uint32x4_t __b,uint32x4_t __c)6740 vabal_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
6741 {
6742   uint64x2_t __result;
6743   __asm__ ("uabal2 %0.2d,%2.4s,%3.4s"
6744            : "=w"(__result)
6745            : "0"(__a), "w"(__b), "w"(__c)
6746            : /* No clobbers */);
6747   return __result;
6748 }
6749 
6750 __extension__ extern __inline int16x8_t
6751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)6752 vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
6753 {
6754   int16x8_t __result;
6755   __asm__ ("sabal %0.8h,%2.8b,%3.8b"
6756            : "=w"(__result)
6757            : "0"(__a), "w"(__b), "w"(__c)
6758            : /* No clobbers */);
6759   return __result;
6760 }
6761 
6762 __extension__ extern __inline int32x4_t
6763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)6764 vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
6765 {
6766   int32x4_t __result;
6767   __asm__ ("sabal %0.4s,%2.4h,%3.4h"
6768            : "=w"(__result)
6769            : "0"(__a), "w"(__b), "w"(__c)
6770            : /* No clobbers */);
6771   return __result;
6772 }
6773 
6774 __extension__ extern __inline int64x2_t
6775 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)6776 vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
6777 {
6778   int64x2_t __result;
6779   __asm__ ("sabal %0.2d,%2.2s,%3.2s"
6780            : "=w"(__result)
6781            : "0"(__a), "w"(__b), "w"(__c)
6782            : /* No clobbers */);
6783   return __result;
6784 }
6785 
6786 __extension__ extern __inline uint16x8_t
6787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)6788 vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
6789 {
6790   uint16x8_t __result;
6791   __asm__ ("uabal %0.8h,%2.8b,%3.8b"
6792            : "=w"(__result)
6793            : "0"(__a), "w"(__b), "w"(__c)
6794            : /* No clobbers */);
6795   return __result;
6796 }
6797 
6798 __extension__ extern __inline uint32x4_t
6799 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)6800 vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
6801 {
6802   uint32x4_t __result;
6803   __asm__ ("uabal %0.4s,%2.4h,%3.4h"
6804            : "=w"(__result)
6805            : "0"(__a), "w"(__b), "w"(__c)
6806            : /* No clobbers */);
6807   return __result;
6808 }
6809 
6810 __extension__ extern __inline uint64x2_t
6811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)6812 vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
6813 {
6814   uint64x2_t __result;
6815   __asm__ ("uabal %0.2d,%2.2s,%3.2s"
6816            : "=w"(__result)
6817            : "0"(__a), "w"(__b), "w"(__c)
6818            : /* No clobbers */);
6819   return __result;
6820 }
6821 
6822 __extension__ extern __inline int8x16_t
6823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)6824 vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
6825 {
6826   int8x16_t __result;
6827   __asm__ ("saba %0.16b,%2.16b,%3.16b"
6828            : "=w"(__result)
6829            : "0"(__a), "w"(__b), "w"(__c)
6830            : /* No clobbers */);
6831   return __result;
6832 }
6833 
6834 __extension__ extern __inline int16x8_t
6835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)6836 vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
6837 {
6838   int16x8_t __result;
6839   __asm__ ("saba %0.8h,%2.8h,%3.8h"
6840            : "=w"(__result)
6841            : "0"(__a), "w"(__b), "w"(__c)
6842            : /* No clobbers */);
6843   return __result;
6844 }
6845 
6846 __extension__ extern __inline int32x4_t
6847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)6848 vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
6849 {
6850   int32x4_t __result;
6851   __asm__ ("saba %0.4s,%2.4s,%3.4s"
6852            : "=w"(__result)
6853            : "0"(__a), "w"(__b), "w"(__c)
6854            : /* No clobbers */);
6855   return __result;
6856 }
6857 
6858 __extension__ extern __inline uint8x16_t
6859 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)6860 vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
6861 {
6862   uint8x16_t __result;
6863   __asm__ ("uaba %0.16b,%2.16b,%3.16b"
6864            : "=w"(__result)
6865            : "0"(__a), "w"(__b), "w"(__c)
6866            : /* No clobbers */);
6867   return __result;
6868 }
6869 
6870 __extension__ extern __inline uint16x8_t
6871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)6872 vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
6873 {
6874   uint16x8_t __result;
6875   __asm__ ("uaba %0.8h,%2.8h,%3.8h"
6876            : "=w"(__result)
6877            : "0"(__a), "w"(__b), "w"(__c)
6878            : /* No clobbers */);
6879   return __result;
6880 }
6881 
6882 __extension__ extern __inline uint32x4_t
6883 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)6884 vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
6885 {
6886   uint32x4_t __result;
6887   __asm__ ("uaba %0.4s,%2.4s,%3.4s"
6888            : "=w"(__result)
6889            : "0"(__a), "w"(__b), "w"(__c)
6890            : /* No clobbers */);
6891   return __result;
6892 }
6893 
6894 __extension__ extern __inline int8x8_t
6895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s8(int8x8_t __a,int8x8_t __b)6896 vabd_s8 (int8x8_t __a, int8x8_t __b)
6897 {
6898   int8x8_t __result;
6899   __asm__ ("sabd %0.8b, %1.8b, %2.8b"
6900            : "=w"(__result)
6901            : "w"(__a), "w"(__b)
6902            : /* No clobbers */);
6903   return __result;
6904 }
6905 
6906 __extension__ extern __inline int16x4_t
6907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s16(int16x4_t __a,int16x4_t __b)6908 vabd_s16 (int16x4_t __a, int16x4_t __b)
6909 {
6910   int16x4_t __result;
6911   __asm__ ("sabd %0.4h, %1.4h, %2.4h"
6912            : "=w"(__result)
6913            : "w"(__a), "w"(__b)
6914            : /* No clobbers */);
6915   return __result;
6916 }
6917 
6918 __extension__ extern __inline int32x2_t
6919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s32(int32x2_t __a,int32x2_t __b)6920 vabd_s32 (int32x2_t __a, int32x2_t __b)
6921 {
6922   int32x2_t __result;
6923   __asm__ ("sabd %0.2s, %1.2s, %2.2s"
6924            : "=w"(__result)
6925            : "w"(__a), "w"(__b)
6926            : /* No clobbers */);
6927   return __result;
6928 }
6929 
6930 __extension__ extern __inline uint8x8_t
6931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u8(uint8x8_t __a,uint8x8_t __b)6932 vabd_u8 (uint8x8_t __a, uint8x8_t __b)
6933 {
6934   uint8x8_t __result;
6935   __asm__ ("uabd %0.8b, %1.8b, %2.8b"
6936            : "=w"(__result)
6937            : "w"(__a), "w"(__b)
6938            : /* No clobbers */);
6939   return __result;
6940 }
6941 
6942 __extension__ extern __inline uint16x4_t
6943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u16(uint16x4_t __a,uint16x4_t __b)6944 vabd_u16 (uint16x4_t __a, uint16x4_t __b)
6945 {
6946   uint16x4_t __result;
6947   __asm__ ("uabd %0.4h, %1.4h, %2.4h"
6948            : "=w"(__result)
6949            : "w"(__a), "w"(__b)
6950            : /* No clobbers */);
6951   return __result;
6952 }
6953 
6954 __extension__ extern __inline uint32x2_t
6955 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u32(uint32x2_t __a,uint32x2_t __b)6956 vabd_u32 (uint32x2_t __a, uint32x2_t __b)
6957 {
6958   uint32x2_t __result;
6959   __asm__ ("uabd %0.2s, %1.2s, %2.2s"
6960            : "=w"(__result)
6961            : "w"(__a), "w"(__b)
6962            : /* No clobbers */);
6963   return __result;
6964 }
6965 
6966 __extension__ extern __inline int16x8_t
6967 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_s8(int8x16_t __a,int8x16_t __b)6968 vabdl_high_s8 (int8x16_t __a, int8x16_t __b)
6969 {
6970   int16x8_t __result;
6971   __asm__ ("sabdl2 %0.8h,%1.16b,%2.16b"
6972            : "=w"(__result)
6973            : "w"(__a), "w"(__b)
6974            : /* No clobbers */);
6975   return __result;
6976 }
6977 
6978 __extension__ extern __inline int32x4_t
6979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_s16(int16x8_t __a,int16x8_t __b)6980 vabdl_high_s16 (int16x8_t __a, int16x8_t __b)
6981 {
6982   int32x4_t __result;
6983   __asm__ ("sabdl2 %0.4s,%1.8h,%2.8h"
6984            : "=w"(__result)
6985            : "w"(__a), "w"(__b)
6986            : /* No clobbers */);
6987   return __result;
6988 }
6989 
6990 __extension__ extern __inline int64x2_t
6991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_s32(int32x4_t __a,int32x4_t __b)6992 vabdl_high_s32 (int32x4_t __a, int32x4_t __b)
6993 {
6994   int64x2_t __result;
6995   __asm__ ("sabdl2 %0.2d,%1.4s,%2.4s"
6996            : "=w"(__result)
6997            : "w"(__a), "w"(__b)
6998            : /* No clobbers */);
6999   return __result;
7000 }
7001 
7002 __extension__ extern __inline uint16x8_t
7003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_u8(uint8x16_t __a,uint8x16_t __b)7004 vabdl_high_u8 (uint8x16_t __a, uint8x16_t __b)
7005 {
7006   uint16x8_t __result;
7007   __asm__ ("uabdl2 %0.8h,%1.16b,%2.16b"
7008            : "=w"(__result)
7009            : "w"(__a), "w"(__b)
7010            : /* No clobbers */);
7011   return __result;
7012 }
7013 
7014 __extension__ extern __inline uint32x4_t
7015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_u16(uint16x8_t __a,uint16x8_t __b)7016 vabdl_high_u16 (uint16x8_t __a, uint16x8_t __b)
7017 {
7018   uint32x4_t __result;
7019   __asm__ ("uabdl2 %0.4s,%1.8h,%2.8h"
7020            : "=w"(__result)
7021            : "w"(__a), "w"(__b)
7022            : /* No clobbers */);
7023   return __result;
7024 }
7025 
7026 __extension__ extern __inline uint64x2_t
7027 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_u32(uint32x4_t __a,uint32x4_t __b)7028 vabdl_high_u32 (uint32x4_t __a, uint32x4_t __b)
7029 {
7030   uint64x2_t __result;
7031   __asm__ ("uabdl2 %0.2d,%1.4s,%2.4s"
7032            : "=w"(__result)
7033            : "w"(__a), "w"(__b)
7034            : /* No clobbers */);
7035   return __result;
7036 }
7037 
7038 __extension__ extern __inline int16x8_t
7039 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s8(int8x8_t __a,int8x8_t __b)7040 vabdl_s8 (int8x8_t __a, int8x8_t __b)
7041 {
7042   int16x8_t __result;
7043   __asm__ ("sabdl %0.8h, %1.8b, %2.8b"
7044            : "=w"(__result)
7045            : "w"(__a), "w"(__b)
7046            : /* No clobbers */);
7047   return __result;
7048 }
7049 
7050 __extension__ extern __inline int32x4_t
7051 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s16(int16x4_t __a,int16x4_t __b)7052 vabdl_s16 (int16x4_t __a, int16x4_t __b)
7053 {
7054   int32x4_t __result;
7055   __asm__ ("sabdl %0.4s, %1.4h, %2.4h"
7056            : "=w"(__result)
7057            : "w"(__a), "w"(__b)
7058            : /* No clobbers */);
7059   return __result;
7060 }
7061 
7062 __extension__ extern __inline int64x2_t
7063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s32(int32x2_t __a,int32x2_t __b)7064 vabdl_s32 (int32x2_t __a, int32x2_t __b)
7065 {
7066   int64x2_t __result;
7067   __asm__ ("sabdl %0.2d, %1.2s, %2.2s"
7068            : "=w"(__result)
7069            : "w"(__a), "w"(__b)
7070            : /* No clobbers */);
7071   return __result;
7072 }
7073 
7074 __extension__ extern __inline uint16x8_t
7075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u8(uint8x8_t __a,uint8x8_t __b)7076 vabdl_u8 (uint8x8_t __a, uint8x8_t __b)
7077 {
7078   uint16x8_t __result;
7079   __asm__ ("uabdl %0.8h, %1.8b, %2.8b"
7080            : "=w"(__result)
7081            : "w"(__a), "w"(__b)
7082            : /* No clobbers */);
7083   return __result;
7084 }
7085 
7086 __extension__ extern __inline uint32x4_t
7087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u16(uint16x4_t __a,uint16x4_t __b)7088 vabdl_u16 (uint16x4_t __a, uint16x4_t __b)
7089 {
7090   uint32x4_t __result;
7091   __asm__ ("uabdl %0.4s, %1.4h, %2.4h"
7092            : "=w"(__result)
7093            : "w"(__a), "w"(__b)
7094            : /* No clobbers */);
7095   return __result;
7096 }
7097 
7098 __extension__ extern __inline uint64x2_t
7099 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u32(uint32x2_t __a,uint32x2_t __b)7100 vabdl_u32 (uint32x2_t __a, uint32x2_t __b)
7101 {
7102   uint64x2_t __result;
7103   __asm__ ("uabdl %0.2d, %1.2s, %2.2s"
7104            : "=w"(__result)
7105            : "w"(__a), "w"(__b)
7106            : /* No clobbers */);
7107   return __result;
7108 }
7109 
7110 __extension__ extern __inline int8x16_t
7111 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s8(int8x16_t __a,int8x16_t __b)7112 vabdq_s8 (int8x16_t __a, int8x16_t __b)
7113 {
7114   int8x16_t __result;
7115   __asm__ ("sabd %0.16b, %1.16b, %2.16b"
7116            : "=w"(__result)
7117            : "w"(__a), "w"(__b)
7118            : /* No clobbers */);
7119   return __result;
7120 }
7121 
7122 __extension__ extern __inline int16x8_t
7123 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s16(int16x8_t __a,int16x8_t __b)7124 vabdq_s16 (int16x8_t __a, int16x8_t __b)
7125 {
7126   int16x8_t __result;
7127   __asm__ ("sabd %0.8h, %1.8h, %2.8h"
7128            : "=w"(__result)
7129            : "w"(__a), "w"(__b)
7130            : /* No clobbers */);
7131   return __result;
7132 }
7133 
7134 __extension__ extern __inline int32x4_t
7135 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s32(int32x4_t __a,int32x4_t __b)7136 vabdq_s32 (int32x4_t __a, int32x4_t __b)
7137 {
7138   int32x4_t __result;
7139   __asm__ ("sabd %0.4s, %1.4s, %2.4s"
7140            : "=w"(__result)
7141            : "w"(__a), "w"(__b)
7142            : /* No clobbers */);
7143   return __result;
7144 }
7145 
7146 __extension__ extern __inline uint8x16_t
7147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u8(uint8x16_t __a,uint8x16_t __b)7148 vabdq_u8 (uint8x16_t __a, uint8x16_t __b)
7149 {
7150   uint8x16_t __result;
7151   __asm__ ("uabd %0.16b, %1.16b, %2.16b"
7152            : "=w"(__result)
7153            : "w"(__a), "w"(__b)
7154            : /* No clobbers */);
7155   return __result;
7156 }
7157 
7158 __extension__ extern __inline uint16x8_t
7159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u16(uint16x8_t __a,uint16x8_t __b)7160 vabdq_u16 (uint16x8_t __a, uint16x8_t __b)
7161 {
7162   uint16x8_t __result;
7163   __asm__ ("uabd %0.8h, %1.8h, %2.8h"
7164            : "=w"(__result)
7165            : "w"(__a), "w"(__b)
7166            : /* No clobbers */);
7167   return __result;
7168 }
7169 
7170 __extension__ extern __inline uint32x4_t
7171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u32(uint32x4_t __a,uint32x4_t __b)7172 vabdq_u32 (uint32x4_t __a, uint32x4_t __b)
7173 {
7174   uint32x4_t __result;
7175   __asm__ ("uabd %0.4s, %1.4s, %2.4s"
7176            : "=w"(__result)
7177            : "w"(__a), "w"(__b)
7178            : /* No clobbers */);
7179   return __result;
7180 }
7181 
7182 __extension__ extern __inline int16_t
7183 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_s8(int8x8_t __a)7184 vaddlv_s8 (int8x8_t __a)
7185 {
7186   int16_t __result;
7187   __asm__ ("saddlv %h0,%1.8b"
7188            : "=w"(__result)
7189            : "w"(__a)
7190            : /* No clobbers */);
7191   return __result;
7192 }
7193 
7194 __extension__ extern __inline int32_t
7195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_s16(int16x4_t __a)7196 vaddlv_s16 (int16x4_t __a)
7197 {
7198   int32_t __result;
7199   __asm__ ("saddlv %s0,%1.4h"
7200            : "=w"(__result)
7201            : "w"(__a)
7202            : /* No clobbers */);
7203   return __result;
7204 }
7205 
7206 __extension__ extern __inline uint16_t
7207 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_u8(uint8x8_t __a)7208 vaddlv_u8 (uint8x8_t __a)
7209 {
7210   uint16_t __result;
7211   __asm__ ("uaddlv %h0,%1.8b"
7212            : "=w"(__result)
7213            : "w"(__a)
7214            : /* No clobbers */);
7215   return __result;
7216 }
7217 
7218 __extension__ extern __inline uint32_t
7219 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_u16(uint16x4_t __a)7220 vaddlv_u16 (uint16x4_t __a)
7221 {
7222   uint32_t __result;
7223   __asm__ ("uaddlv %s0,%1.4h"
7224            : "=w"(__result)
7225            : "w"(__a)
7226            : /* No clobbers */);
7227   return __result;
7228 }
7229 
7230 __extension__ extern __inline int16_t
7231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_s8(int8x16_t __a)7232 vaddlvq_s8 (int8x16_t __a)
7233 {
7234   int16_t __result;
7235   __asm__ ("saddlv %h0,%1.16b"
7236            : "=w"(__result)
7237            : "w"(__a)
7238            : /* No clobbers */);
7239   return __result;
7240 }
7241 
7242 __extension__ extern __inline int32_t
7243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_s16(int16x8_t __a)7244 vaddlvq_s16 (int16x8_t __a)
7245 {
7246   int32_t __result;
7247   __asm__ ("saddlv %s0,%1.8h"
7248            : "=w"(__result)
7249            : "w"(__a)
7250            : /* No clobbers */);
7251   return __result;
7252 }
7253 
7254 __extension__ extern __inline int64_t
7255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_s32(int32x4_t __a)7256 vaddlvq_s32 (int32x4_t __a)
7257 {
7258   int64_t __result;
7259   __asm__ ("saddlv %d0,%1.4s"
7260            : "=w"(__result)
7261            : "w"(__a)
7262            : /* No clobbers */);
7263   return __result;
7264 }
7265 
7266 __extension__ extern __inline uint16_t
7267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_u8(uint8x16_t __a)7268 vaddlvq_u8 (uint8x16_t __a)
7269 {
7270   uint16_t __result;
7271   __asm__ ("uaddlv %h0,%1.16b"
7272            : "=w"(__result)
7273            : "w"(__a)
7274            : /* No clobbers */);
7275   return __result;
7276 }
7277 
7278 __extension__ extern __inline uint32_t
7279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_u16(uint16x8_t __a)7280 vaddlvq_u16 (uint16x8_t __a)
7281 {
7282   uint32_t __result;
7283   __asm__ ("uaddlv %s0,%1.8h"
7284            : "=w"(__result)
7285            : "w"(__a)
7286            : /* No clobbers */);
7287   return __result;
7288 }
7289 
7290 __extension__ extern __inline uint64_t
7291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_u32(uint32x4_t __a)7292 vaddlvq_u32 (uint32x4_t __a)
7293 {
7294   uint64_t __result;
7295   __asm__ ("uaddlv %d0,%1.4s"
7296            : "=w"(__result)
7297            : "w"(__a)
7298            : /* No clobbers */);
7299   return __result;
7300 }
7301 
7302 __extension__ extern __inline float32x2_t
7303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtx_f32_f64(float64x2_t __a)7304 vcvtx_f32_f64 (float64x2_t __a)
7305 {
7306   float32x2_t __result;
7307   __asm__ ("fcvtxn %0.2s,%1.2d"
7308            : "=w"(__result)
7309            : "w"(__a)
7310            : /* No clobbers */);
7311   return __result;
7312 }
7313 
7314 __extension__ extern __inline float32x4_t
7315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtx_high_f32_f64(float32x2_t __a,float64x2_t __b)7316 vcvtx_high_f32_f64 (float32x2_t __a, float64x2_t __b)
7317 {
7318   float32x4_t __result;
7319   __asm__ ("fcvtxn2 %0.4s,%1.2d"
7320            : "=w"(__result)
7321            : "w" (__b), "0"(__a)
7322            : /* No clobbers */);
7323   return __result;
7324 }
7325 
7326 __extension__ extern __inline float32_t
7327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtxd_f32_f64(float64_t __a)7328 vcvtxd_f32_f64 (float64_t __a)
7329 {
7330   float32_t __result;
7331   __asm__ ("fcvtxn %s0,%d1"
7332            : "=w"(__result)
7333            : "w"(__a)
7334            : /* No clobbers */);
7335   return __result;
7336 }
7337 
7338 __extension__ extern __inline float32x2_t
7339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)7340 vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
7341 {
7342   float32x2_t __result;
7343   float32x2_t __t1;
7344   __asm__ ("fmul %1.2s, %3.2s, %4.s[0]; fadd %0.2s, %0.2s, %1.2s"
7345            : "=w"(__result), "=w"(__t1)
7346            : "0"(__a), "w"(__b), "w"(__c)
7347            : /* No clobbers */);
7348   return __result;
7349 }
7350 
7351 __extension__ extern __inline int16x4_t
7352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)7353 vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
7354 {
7355   int16x4_t __result;
7356   __asm__ ("mla %0.4h,%2.4h,%3.h[0]"
7357            : "=w"(__result)
7358            : "0"(__a), "w"(__b), "x"(__c)
7359            : /* No clobbers */);
7360   return __result;
7361 }
7362 
7363 __extension__ extern __inline int32x2_t
7364 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)7365 vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
7366 {
7367   int32x2_t __result;
7368   __asm__ ("mla %0.2s,%2.2s,%3.s[0]"
7369            : "=w"(__result)
7370            : "0"(__a), "w"(__b), "w"(__c)
7371            : /* No clobbers */);
7372   return __result;
7373 }
7374 
7375 __extension__ extern __inline uint16x4_t
7376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)7377 vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
7378 {
7379   uint16x4_t __result;
7380   __asm__ ("mla %0.4h,%2.4h,%3.h[0]"
7381            : "=w"(__result)
7382            : "0"(__a), "w"(__b), "x"(__c)
7383            : /* No clobbers */);
7384   return __result;
7385 }
7386 
7387 __extension__ extern __inline uint32x2_t
7388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)7389 vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
7390 {
7391   uint32x2_t __result;
7392   __asm__ ("mla %0.2s,%2.2s,%3.s[0]"
7393            : "=w"(__result)
7394            : "0"(__a), "w"(__b), "w"(__c)
7395            : /* No clobbers */);
7396   return __result;
7397 }
7398 
7399 __extension__ extern __inline int8x8_t
7400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)7401 vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
7402 {
7403   int8x8_t __result;
7404   __asm__ ("mla %0.8b, %2.8b, %3.8b"
7405            : "=w"(__result)
7406            : "0"(__a), "w"(__b), "w"(__c)
7407            : /* No clobbers */);
7408   return __result;
7409 }
7410 
7411 __extension__ extern __inline int16x4_t
7412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)7413 vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
7414 {
7415   int16x4_t __result;
7416   __asm__ ("mla %0.4h, %2.4h, %3.4h"
7417            : "=w"(__result)
7418            : "0"(__a), "w"(__b), "w"(__c)
7419            : /* No clobbers */);
7420   return __result;
7421 }
7422 
7423 __extension__ extern __inline int32x2_t
7424 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)7425 vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
7426 {
7427   int32x2_t __result;
7428   __asm__ ("mla %0.2s, %2.2s, %3.2s"
7429            : "=w"(__result)
7430            : "0"(__a), "w"(__b), "w"(__c)
7431            : /* No clobbers */);
7432   return __result;
7433 }
7434 
7435 __extension__ extern __inline uint8x8_t
7436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)7437 vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
7438 {
7439   uint8x8_t __result;
7440   __asm__ ("mla %0.8b, %2.8b, %3.8b"
7441            : "=w"(__result)
7442            : "0"(__a), "w"(__b), "w"(__c)
7443            : /* No clobbers */);
7444   return __result;
7445 }
7446 
7447 __extension__ extern __inline uint16x4_t
7448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)7449 vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
7450 {
7451   uint16x4_t __result;
7452   __asm__ ("mla %0.4h, %2.4h, %3.4h"
7453            : "=w"(__result)
7454            : "0"(__a), "w"(__b), "w"(__c)
7455            : /* No clobbers */);
7456   return __result;
7457 }
7458 
7459 __extension__ extern __inline uint32x2_t
7460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)7461 vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
7462 {
7463   uint32x2_t __result;
7464   __asm__ ("mla %0.2s, %2.2s, %3.2s"
7465            : "=w"(__result)
7466            : "0"(__a), "w"(__b), "w"(__c)
7467            : /* No clobbers */);
7468   return __result;
7469 }
7470 
7471 #define vmlal_high_lane_s16(a, b, c, d)                                 \
7472   __extension__                                                         \
7473     ({                                                                  \
7474        int16x4_t c_ = (c);                                              \
7475        int16x8_t b_ = (b);                                              \
7476        int32x4_t a_ = (a);                                              \
7477        int32x4_t result;                                                \
7478        __asm__ ("smlal2 %0.4s, %2.8h, %3.h[%4]"                         \
7479                 : "=w"(result)                                          \
7480                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
7481                 : /* No clobbers */);                                   \
7482        result;                                                          \
7483      })
7484 
7485 #define vmlal_high_lane_s32(a, b, c, d)                                 \
7486   __extension__                                                         \
7487     ({                                                                  \
7488        int32x2_t c_ = (c);                                              \
7489        int32x4_t b_ = (b);                                              \
7490        int64x2_t a_ = (a);                                              \
7491        int64x2_t result;                                                \
7492        __asm__ ("smlal2 %0.2d, %2.4s, %3.s[%4]"                         \
7493                 : "=w"(result)                                          \
7494                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
7495                 : /* No clobbers */);                                   \
7496        result;                                                          \
7497      })
7498 
7499 #define vmlal_high_lane_u16(a, b, c, d)                                 \
7500   __extension__                                                         \
7501     ({                                                                  \
7502        uint16x4_t c_ = (c);                                             \
7503        uint16x8_t b_ = (b);                                             \
7504        uint32x4_t a_ = (a);                                             \
7505        uint32x4_t result;                                               \
7506        __asm__ ("umlal2 %0.4s, %2.8h, %3.h[%4]"                         \
7507                 : "=w"(result)                                          \
7508                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
7509                 : /* No clobbers */);                                   \
7510        result;                                                          \
7511      })
7512 
7513 #define vmlal_high_lane_u32(a, b, c, d)                                 \
7514   __extension__                                                         \
7515     ({                                                                  \
7516        uint32x2_t c_ = (c);                                             \
7517        uint32x4_t b_ = (b);                                             \
7518        uint64x2_t a_ = (a);                                             \
7519        uint64x2_t result;                                               \
7520        __asm__ ("umlal2 %0.2d, %2.4s, %3.s[%4]"                         \
7521                 : "=w"(result)                                          \
7522                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
7523                 : /* No clobbers */);                                   \
7524        result;                                                          \
7525      })
7526 
7527 #define vmlal_high_laneq_s16(a, b, c, d)                                \
7528   __extension__                                                         \
7529     ({                                                                  \
7530        int16x8_t c_ = (c);                                              \
7531        int16x8_t b_ = (b);                                              \
7532        int32x4_t a_ = (a);                                              \
7533        int32x4_t result;                                                \
7534        __asm__ ("smlal2 %0.4s, %2.8h, %3.h[%4]"                         \
7535                 : "=w"(result)                                          \
7536                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
7537                 : /* No clobbers */);                                   \
7538        result;                                                          \
7539      })
7540 
7541 #define vmlal_high_laneq_s32(a, b, c, d)                                \
7542   __extension__                                                         \
7543     ({                                                                  \
7544        int32x4_t c_ = (c);                                              \
7545        int32x4_t b_ = (b);                                              \
7546        int64x2_t a_ = (a);                                              \
7547        int64x2_t result;                                                \
7548        __asm__ ("smlal2 %0.2d, %2.4s, %3.s[%4]"                         \
7549                 : "=w"(result)                                          \
7550                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
7551                 : /* No clobbers */);                                   \
7552        result;                                                          \
7553      })
7554 
7555 #define vmlal_high_laneq_u16(a, b, c, d)                                \
7556   __extension__                                                         \
7557     ({                                                                  \
7558        uint16x8_t c_ = (c);                                             \
7559        uint16x8_t b_ = (b);                                             \
7560        uint32x4_t a_ = (a);                                             \
7561        uint32x4_t result;                                               \
7562        __asm__ ("umlal2 %0.4s, %2.8h, %3.h[%4]"                         \
7563                 : "=w"(result)                                          \
7564                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
7565                 : /* No clobbers */);                                   \
7566        result;                                                          \
7567      })
7568 
7569 #define vmlal_high_laneq_u32(a, b, c, d)                                \
7570   __extension__                                                         \
7571     ({                                                                  \
7572        uint32x4_t c_ = (c);                                             \
7573        uint32x4_t b_ = (b);                                             \
7574        uint64x2_t a_ = (a);                                             \
7575        uint64x2_t result;                                               \
7576        __asm__ ("umlal2 %0.2d, %2.4s, %3.s[%4]"                         \
7577                 : "=w"(result)                                          \
7578                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
7579                 : /* No clobbers */);                                   \
7580        result;                                                          \
7581      })
7582 
7583 __extension__ extern __inline int32x4_t
7584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_n_s16(int32x4_t __a,int16x8_t __b,int16_t __c)7585 vmlal_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
7586 {
7587   int32x4_t __result;
7588   __asm__ ("smlal2 %0.4s,%2.8h,%3.h[0]"
7589            : "=w"(__result)
7590            : "0"(__a), "w"(__b), "x"(__c)
7591            : /* No clobbers */);
7592   return __result;
7593 }
7594 
7595 __extension__ extern __inline int64x2_t
7596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_n_s32(int64x2_t __a,int32x4_t __b,int32_t __c)7597 vmlal_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
7598 {
7599   int64x2_t __result;
7600   __asm__ ("smlal2 %0.2d,%2.4s,%3.s[0]"
7601            : "=w"(__result)
7602            : "0"(__a), "w"(__b), "w"(__c)
7603            : /* No clobbers */);
7604   return __result;
7605 }
7606 
7607 __extension__ extern __inline uint32x4_t
7608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_n_u16(uint32x4_t __a,uint16x8_t __b,uint16_t __c)7609 vmlal_high_n_u16 (uint32x4_t __a, uint16x8_t __b, uint16_t __c)
7610 {
7611   uint32x4_t __result;
7612   __asm__ ("umlal2 %0.4s,%2.8h,%3.h[0]"
7613            : "=w"(__result)
7614            : "0"(__a), "w"(__b), "x"(__c)
7615            : /* No clobbers */);
7616   return __result;
7617 }
7618 
7619 __extension__ extern __inline uint64x2_t
7620 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_n_u32(uint64x2_t __a,uint32x4_t __b,uint32_t __c)7621 vmlal_high_n_u32 (uint64x2_t __a, uint32x4_t __b, uint32_t __c)
7622 {
7623   uint64x2_t __result;
7624   __asm__ ("umlal2 %0.2d,%2.4s,%3.s[0]"
7625            : "=w"(__result)
7626            : "0"(__a), "w"(__b), "w"(__c)
7627            : /* No clobbers */);
7628   return __result;
7629 }
7630 
7631 __extension__ extern __inline int16x8_t
7632 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_s8(int16x8_t __a,int8x16_t __b,int8x16_t __c)7633 vmlal_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
7634 {
7635   int16x8_t __result;
7636   __asm__ ("smlal2 %0.8h,%2.16b,%3.16b"
7637            : "=w"(__result)
7638            : "0"(__a), "w"(__b), "w"(__c)
7639            : /* No clobbers */);
7640   return __result;
7641 }
7642 
7643 __extension__ extern __inline int32x4_t
7644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)7645 vmlal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
7646 {
7647   int32x4_t __result;
7648   __asm__ ("smlal2 %0.4s,%2.8h,%3.8h"
7649            : "=w"(__result)
7650            : "0"(__a), "w"(__b), "w"(__c)
7651            : /* No clobbers */);
7652   return __result;
7653 }
7654 
7655 __extension__ extern __inline int64x2_t
7656 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)7657 vmlal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
7658 {
7659   int64x2_t __result;
7660   __asm__ ("smlal2 %0.2d,%2.4s,%3.4s"
7661            : "=w"(__result)
7662            : "0"(__a), "w"(__b), "w"(__c)
7663            : /* No clobbers */);
7664   return __result;
7665 }
7666 
7667 __extension__ extern __inline uint16x8_t
7668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_u8(uint16x8_t __a,uint8x16_t __b,uint8x16_t __c)7669 vmlal_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
7670 {
7671   uint16x8_t __result;
7672   __asm__ ("umlal2 %0.8h,%2.16b,%3.16b"
7673            : "=w"(__result)
7674            : "0"(__a), "w"(__b), "w"(__c)
7675            : /* No clobbers */);
7676   return __result;
7677 }
7678 
7679 __extension__ extern __inline uint32x4_t
7680 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_u16(uint32x4_t __a,uint16x8_t __b,uint16x8_t __c)7681 vmlal_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
7682 {
7683   uint32x4_t __result;
7684   __asm__ ("umlal2 %0.4s,%2.8h,%3.8h"
7685            : "=w"(__result)
7686            : "0"(__a), "w"(__b), "w"(__c)
7687            : /* No clobbers */);
7688   return __result;
7689 }
7690 
7691 __extension__ extern __inline uint64x2_t
7692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_u32(uint64x2_t __a,uint32x4_t __b,uint32x4_t __c)7693 vmlal_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
7694 {
7695   uint64x2_t __result;
7696   __asm__ ("umlal2 %0.2d,%2.4s,%3.4s"
7697            : "=w"(__result)
7698            : "0"(__a), "w"(__b), "w"(__c)
7699            : /* No clobbers */);
7700   return __result;
7701 }
7702 
7703 __extension__ extern __inline int32x4_t
7704 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_s16(int32x4_t __acc,int16x4_t __a,int16x4_t __b,const int __c)7705 vmlal_lane_s16 (int32x4_t __acc, int16x4_t __a, int16x4_t __b, const int __c)
7706 {
7707   return __builtin_aarch64_vec_smlal_lane_v4hi (__acc, __a, __b, __c);
7708 }
7709 
7710 __extension__ extern __inline int64x2_t
7711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_s32(int64x2_t __acc,int32x2_t __a,int32x2_t __b,const int __c)7712 vmlal_lane_s32 (int64x2_t __acc, int32x2_t __a, int32x2_t __b, const int __c)
7713 {
7714   return __builtin_aarch64_vec_smlal_lane_v2si (__acc, __a, __b, __c);
7715 }
7716 
7717 __extension__ extern __inline uint32x4_t
7718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_u16(uint32x4_t __acc,uint16x4_t __a,uint16x4_t __b,const int __c)7719 vmlal_lane_u16 (uint32x4_t __acc, uint16x4_t __a, uint16x4_t __b, const int __c)
7720 {
7721   return __builtin_aarch64_vec_umlal_lane_v4hi_uuuus (__acc, __a, __b, __c);
7722 }
7723 
7724 __extension__ extern __inline uint64x2_t
7725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_u32(uint64x2_t __acc,uint32x2_t __a,uint32x2_t __b,const int __c)7726 vmlal_lane_u32 (uint64x2_t __acc, uint32x2_t __a, uint32x2_t __b, const int __c)
7727 {
7728   return __builtin_aarch64_vec_umlal_lane_v2si_uuuus (__acc, __a, __b, __c);
7729 }
7730 
7731 __extension__ extern __inline int32x4_t
7732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_laneq_s16(int32x4_t __acc,int16x4_t __a,int16x8_t __b,const int __c)7733 vmlal_laneq_s16 (int32x4_t __acc, int16x4_t __a, int16x8_t __b, const int __c)
7734 {
7735   return __builtin_aarch64_vec_smlal_laneq_v4hi (__acc, __a, __b, __c);
7736 }
7737 
7738 __extension__ extern __inline int64x2_t
7739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_laneq_s32(int64x2_t __acc,int32x2_t __a,int32x4_t __b,const int __c)7740 vmlal_laneq_s32 (int64x2_t __acc, int32x2_t __a, int32x4_t __b, const int __c)
7741 {
7742   return __builtin_aarch64_vec_smlal_laneq_v2si (__acc, __a, __b, __c);
7743 }
7744 
7745 __extension__ extern __inline uint32x4_t
7746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_laneq_u16(uint32x4_t __acc,uint16x4_t __a,uint16x8_t __b,const int __c)7747 vmlal_laneq_u16 (uint32x4_t __acc, uint16x4_t __a, uint16x8_t __b, const int __c)
7748 {
7749   return __builtin_aarch64_vec_umlal_laneq_v4hi_uuuus (__acc, __a, __b, __c);
7750 }
7751 
7752 __extension__ extern __inline uint64x2_t
7753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_laneq_u32(uint64x2_t __acc,uint32x2_t __a,uint32x4_t __b,const int __c)7754 vmlal_laneq_u32 (uint64x2_t __acc, uint32x2_t __a, uint32x4_t __b, const int __c)
7755 {
7756   return __builtin_aarch64_vec_umlal_laneq_v2si_uuuus (__acc, __a, __b, __c);
7757 }
7758 
7759 __extension__ extern __inline int32x4_t
7760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)7761 vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7762 {
7763   int32x4_t __result;
7764   __asm__ ("smlal %0.4s,%2.4h,%3.h[0]"
7765            : "=w"(__result)
7766            : "0"(__a), "w"(__b), "x"(__c)
7767            : /* No clobbers */);
7768   return __result;
7769 }
7770 
7771 __extension__ extern __inline int64x2_t
7772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)7773 vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7774 {
7775   int64x2_t __result;
7776   __asm__ ("smlal %0.2d,%2.2s,%3.s[0]"
7777            : "=w"(__result)
7778            : "0"(__a), "w"(__b), "w"(__c)
7779            : /* No clobbers */);
7780   return __result;
7781 }
7782 
7783 __extension__ extern __inline uint32x4_t
7784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)7785 vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
7786 {
7787   uint32x4_t __result;
7788   __asm__ ("umlal %0.4s,%2.4h,%3.h[0]"
7789            : "=w"(__result)
7790            : "0"(__a), "w"(__b), "x"(__c)
7791            : /* No clobbers */);
7792   return __result;
7793 }
7794 
7795 __extension__ extern __inline uint64x2_t
7796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)7797 vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
7798 {
7799   uint64x2_t __result;
7800   __asm__ ("umlal %0.2d,%2.2s,%3.s[0]"
7801            : "=w"(__result)
7802            : "0"(__a), "w"(__b), "w"(__c)
7803            : /* No clobbers */);
7804   return __result;
7805 }
7806 
7807 __extension__ extern __inline int16x8_t
7808 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)7809 vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
7810 {
7811   int16x8_t __result;
7812   __asm__ ("smlal %0.8h,%2.8b,%3.8b"
7813            : "=w"(__result)
7814            : "0"(__a), "w"(__b), "w"(__c)
7815            : /* No clobbers */);
7816   return __result;
7817 }
7818 
7819 __extension__ extern __inline int32x4_t
7820 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)7821 vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
7822 {
7823   int32x4_t __result;
7824   __asm__ ("smlal %0.4s,%2.4h,%3.4h"
7825            : "=w"(__result)
7826            : "0"(__a), "w"(__b), "w"(__c)
7827            : /* No clobbers */);
7828   return __result;
7829 }
7830 
7831 __extension__ extern __inline int64x2_t
7832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)7833 vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
7834 {
7835   int64x2_t __result;
7836   __asm__ ("smlal %0.2d,%2.2s,%3.2s"
7837            : "=w"(__result)
7838            : "0"(__a), "w"(__b), "w"(__c)
7839            : /* No clobbers */);
7840   return __result;
7841 }
7842 
7843 __extension__ extern __inline uint16x8_t
7844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)7845 vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
7846 {
7847   uint16x8_t __result;
7848   __asm__ ("umlal %0.8h,%2.8b,%3.8b"
7849            : "=w"(__result)
7850            : "0"(__a), "w"(__b), "w"(__c)
7851            : /* No clobbers */);
7852   return __result;
7853 }
7854 
7855 __extension__ extern __inline uint32x4_t
7856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)7857 vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
7858 {
7859   uint32x4_t __result;
7860   __asm__ ("umlal %0.4s,%2.4h,%3.4h"
7861            : "=w"(__result)
7862            : "0"(__a), "w"(__b), "w"(__c)
7863            : /* No clobbers */);
7864   return __result;
7865 }
7866 
7867 __extension__ extern __inline uint64x2_t
7868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)7869 vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
7870 {
7871   uint64x2_t __result;
7872   __asm__ ("umlal %0.2d,%2.2s,%3.2s"
7873            : "=w"(__result)
7874            : "0"(__a), "w"(__b), "w"(__c)
7875            : /* No clobbers */);
7876   return __result;
7877 }
7878 
7879 __extension__ extern __inline float32x4_t
7880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)7881 vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
7882 {
7883   float32x4_t __result;
7884   float32x4_t __t1;
7885   __asm__ ("fmul %1.4s, %3.4s, %4.s[0]; fadd %0.4s, %0.4s, %1.4s"
7886            : "=w"(__result), "=w"(__t1)
7887            : "0"(__a), "w"(__b), "w"(__c)
7888            : /* No clobbers */);
7889   return __result;
7890 }
7891 
7892 __extension__ extern __inline int16x8_t
7893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)7894 vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
7895 {
7896   int16x8_t __result;
7897   __asm__ ("mla %0.8h,%2.8h,%3.h[0]"
7898            : "=w"(__result)
7899            : "0"(__a), "w"(__b), "x"(__c)
7900            : /* No clobbers */);
7901   return __result;
7902 }
7903 
7904 __extension__ extern __inline int32x4_t
7905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)7906 vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
7907 {
7908   int32x4_t __result;
7909   __asm__ ("mla %0.4s,%2.4s,%3.s[0]"
7910            : "=w"(__result)
7911            : "0"(__a), "w"(__b), "w"(__c)
7912            : /* No clobbers */);
7913   return __result;
7914 }
7915 
7916 __extension__ extern __inline uint16x8_t
7917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)7918 vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
7919 {
7920   uint16x8_t __result;
7921   __asm__ ("mla %0.8h,%2.8h,%3.h[0]"
7922            : "=w"(__result)
7923            : "0"(__a), "w"(__b), "x"(__c)
7924            : /* No clobbers */);
7925   return __result;
7926 }
7927 
7928 __extension__ extern __inline uint32x4_t
7929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)7930 vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
7931 {
7932   uint32x4_t __result;
7933   __asm__ ("mla %0.4s,%2.4s,%3.s[0]"
7934            : "=w"(__result)
7935            : "0"(__a), "w"(__b), "w"(__c)
7936            : /* No clobbers */);
7937   return __result;
7938 }
7939 
7940 __extension__ extern __inline int8x16_t
7941 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)7942 vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
7943 {
7944   int8x16_t __result;
7945   __asm__ ("mla %0.16b, %2.16b, %3.16b"
7946            : "=w"(__result)
7947            : "0"(__a), "w"(__b), "w"(__c)
7948            : /* No clobbers */);
7949   return __result;
7950 }
7951 
7952 __extension__ extern __inline int16x8_t
7953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)7954 vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
7955 {
7956   int16x8_t __result;
7957   __asm__ ("mla %0.8h, %2.8h, %3.8h"
7958            : "=w"(__result)
7959            : "0"(__a), "w"(__b), "w"(__c)
7960            : /* No clobbers */);
7961   return __result;
7962 }
7963 
7964 __extension__ extern __inline int32x4_t
7965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)7966 vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
7967 {
7968   int32x4_t __result;
7969   __asm__ ("mla %0.4s, %2.4s, %3.4s"
7970            : "=w"(__result)
7971            : "0"(__a), "w"(__b), "w"(__c)
7972            : /* No clobbers */);
7973   return __result;
7974 }
7975 
7976 __extension__ extern __inline uint8x16_t
7977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)7978 vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
7979 {
7980   uint8x16_t __result;
7981   __asm__ ("mla %0.16b, %2.16b, %3.16b"
7982            : "=w"(__result)
7983            : "0"(__a), "w"(__b), "w"(__c)
7984            : /* No clobbers */);
7985   return __result;
7986 }
7987 
7988 __extension__ extern __inline uint16x8_t
7989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)7990 vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
7991 {
7992   uint16x8_t __result;
7993   __asm__ ("mla %0.8h, %2.8h, %3.8h"
7994            : "=w"(__result)
7995            : "0"(__a), "w"(__b), "w"(__c)
7996            : /* No clobbers */);
7997   return __result;
7998 }
7999 
8000 __extension__ extern __inline uint32x4_t
8001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)8002 vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
8003 {
8004   uint32x4_t __result;
8005   __asm__ ("mla %0.4s, %2.4s, %3.4s"
8006            : "=w"(__result)
8007            : "0"(__a), "w"(__b), "w"(__c)
8008            : /* No clobbers */);
8009   return __result;
8010 }
8011 
8012 __extension__ extern __inline float32x2_t
8013 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)8014 vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
8015 {
8016   float32x2_t __result;
8017   float32x2_t __t1;
8018   __asm__ ("fmul %1.2s, %3.2s, %4.s[0]; fsub %0.2s, %0.2s, %1.2s"
8019            : "=w"(__result), "=w"(__t1)
8020            : "0"(__a), "w"(__b), "w"(__c)
8021            : /* No clobbers */);
8022   return __result;
8023 }
8024 
8025 __extension__ extern __inline int16x4_t
8026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)8027 vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
8028 {
8029   int16x4_t __result;
8030   __asm__ ("mls %0.4h, %2.4h, %3.h[0]"
8031            : "=w"(__result)
8032            : "0"(__a), "w"(__b), "x"(__c)
8033            : /* No clobbers */);
8034   return __result;
8035 }
8036 
8037 __extension__ extern __inline int32x2_t
8038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)8039 vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
8040 {
8041   int32x2_t __result;
8042   __asm__ ("mls %0.2s, %2.2s, %3.s[0]"
8043            : "=w"(__result)
8044            : "0"(__a), "w"(__b), "w"(__c)
8045            : /* No clobbers */);
8046   return __result;
8047 }
8048 
8049 __extension__ extern __inline uint16x4_t
8050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)8051 vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
8052 {
8053   uint16x4_t __result;
8054   __asm__ ("mls %0.4h, %2.4h, %3.h[0]"
8055            : "=w"(__result)
8056            : "0"(__a), "w"(__b), "x"(__c)
8057            : /* No clobbers */);
8058   return __result;
8059 }
8060 
8061 __extension__ extern __inline uint32x2_t
8062 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)8063 vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
8064 {
8065   uint32x2_t __result;
8066   __asm__ ("mls %0.2s, %2.2s, %3.s[0]"
8067            : "=w"(__result)
8068            : "0"(__a), "w"(__b), "w"(__c)
8069            : /* No clobbers */);
8070   return __result;
8071 }
8072 
8073 __extension__ extern __inline int8x8_t
8074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)8075 vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
8076 {
8077   int8x8_t __result;
8078   __asm__ ("mls %0.8b,%2.8b,%3.8b"
8079            : "=w"(__result)
8080            : "0"(__a), "w"(__b), "w"(__c)
8081            : /* No clobbers */);
8082   return __result;
8083 }
8084 
8085 __extension__ extern __inline int16x4_t
8086 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)8087 vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
8088 {
8089   int16x4_t __result;
8090   __asm__ ("mls %0.4h,%2.4h,%3.4h"
8091            : "=w"(__result)
8092            : "0"(__a), "w"(__b), "w"(__c)
8093            : /* No clobbers */);
8094   return __result;
8095 }
8096 
8097 __extension__ extern __inline int32x2_t
8098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)8099 vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
8100 {
8101   int32x2_t __result;
8102   __asm__ ("mls %0.2s,%2.2s,%3.2s"
8103            : "=w"(__result)
8104            : "0"(__a), "w"(__b), "w"(__c)
8105            : /* No clobbers */);
8106   return __result;
8107 }
8108 
8109 __extension__ extern __inline uint8x8_t
8110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)8111 vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
8112 {
8113   uint8x8_t __result;
8114   __asm__ ("mls %0.8b,%2.8b,%3.8b"
8115            : "=w"(__result)
8116            : "0"(__a), "w"(__b), "w"(__c)
8117            : /* No clobbers */);
8118   return __result;
8119 }
8120 
8121 __extension__ extern __inline uint16x4_t
8122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)8123 vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
8124 {
8125   uint16x4_t __result;
8126   __asm__ ("mls %0.4h,%2.4h,%3.4h"
8127            : "=w"(__result)
8128            : "0"(__a), "w"(__b), "w"(__c)
8129            : /* No clobbers */);
8130   return __result;
8131 }
8132 
8133 __extension__ extern __inline uint32x2_t
8134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)8135 vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
8136 {
8137   uint32x2_t __result;
8138   __asm__ ("mls %0.2s,%2.2s,%3.2s"
8139            : "=w"(__result)
8140            : "0"(__a), "w"(__b), "w"(__c)
8141            : /* No clobbers */);
8142   return __result;
8143 }
8144 
8145 #define vmlsl_high_lane_s16(a, b, c, d)                                 \
8146   __extension__                                                         \
8147     ({                                                                  \
8148        int16x4_t c_ = (c);                                              \
8149        int16x8_t b_ = (b);                                              \
8150        int32x4_t a_ = (a);                                              \
8151        int32x4_t result;                                                \
8152        __asm__ ("smlsl2 %0.4s, %2.8h, %3.h[%4]"                         \
8153                 : "=w"(result)                                          \
8154                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8155                 : /* No clobbers */);                                   \
8156        result;                                                          \
8157      })
8158 
8159 #define vmlsl_high_lane_s32(a, b, c, d)                                 \
8160   __extension__                                                         \
8161     ({                                                                  \
8162        int32x2_t c_ = (c);                                              \
8163        int32x4_t b_ = (b);                                              \
8164        int64x2_t a_ = (a);                                              \
8165        int64x2_t result;                                                \
8166        __asm__ ("smlsl2 %0.2d, %2.4s, %3.s[%4]"                         \
8167                 : "=w"(result)                                          \
8168                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8169                 : /* No clobbers */);                                   \
8170        result;                                                          \
8171      })
8172 
8173 #define vmlsl_high_lane_u16(a, b, c, d)                                 \
8174   __extension__                                                         \
8175     ({                                                                  \
8176        uint16x4_t c_ = (c);                                             \
8177        uint16x8_t b_ = (b);                                             \
8178        uint32x4_t a_ = (a);                                             \
8179        uint32x4_t result;                                               \
8180        __asm__ ("umlsl2 %0.4s, %2.8h, %3.h[%4]"                         \
8181                 : "=w"(result)                                          \
8182                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8183                 : /* No clobbers */);                                   \
8184        result;                                                          \
8185      })
8186 
8187 #define vmlsl_high_lane_u32(a, b, c, d)                                 \
8188   __extension__                                                         \
8189     ({                                                                  \
8190        uint32x2_t c_ = (c);                                             \
8191        uint32x4_t b_ = (b);                                             \
8192        uint64x2_t a_ = (a);                                             \
8193        uint64x2_t result;                                               \
8194        __asm__ ("umlsl2 %0.2d, %2.4s, %3.s[%4]"                         \
8195                 : "=w"(result)                                          \
8196                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8197                 : /* No clobbers */);                                   \
8198        result;                                                          \
8199      })
8200 
8201 #define vmlsl_high_laneq_s16(a, b, c, d)                                \
8202   __extension__                                                         \
8203     ({                                                                  \
8204        int16x8_t c_ = (c);                                              \
8205        int16x8_t b_ = (b);                                              \
8206        int32x4_t a_ = (a);                                              \
8207        int32x4_t result;                                                \
8208        __asm__ ("smlsl2 %0.4s, %2.8h, %3.h[%4]"                         \
8209                 : "=w"(result)                                          \
8210                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8211                 : /* No clobbers */);                                   \
8212        result;                                                          \
8213      })
8214 
8215 #define vmlsl_high_laneq_s32(a, b, c, d)                                \
8216   __extension__                                                         \
8217     ({                                                                  \
8218        int32x4_t c_ = (c);                                              \
8219        int32x4_t b_ = (b);                                              \
8220        int64x2_t a_ = (a);                                              \
8221        int64x2_t result;                                                \
8222        __asm__ ("smlsl2 %0.2d, %2.4s, %3.s[%4]"                         \
8223                 : "=w"(result)                                          \
8224                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8225                 : /* No clobbers */);                                   \
8226        result;                                                          \
8227      })
8228 
8229 #define vmlsl_high_laneq_u16(a, b, c, d)                                \
8230   __extension__                                                         \
8231     ({                                                                  \
8232        uint16x8_t c_ = (c);                                             \
8233        uint16x8_t b_ = (b);                                             \
8234        uint32x4_t a_ = (a);                                             \
8235        uint32x4_t result;                                               \
8236        __asm__ ("umlsl2 %0.4s, %2.8h, %3.h[%4]"                         \
8237                 : "=w"(result)                                          \
8238                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8239                 : /* No clobbers */);                                   \
8240        result;                                                          \
8241      })
8242 
8243 #define vmlsl_high_laneq_u32(a, b, c, d)                                \
8244   __extension__                                                         \
8245     ({                                                                  \
8246        uint32x4_t c_ = (c);                                             \
8247        uint32x4_t b_ = (b);                                             \
8248        uint64x2_t a_ = (a);                                             \
8249        uint64x2_t result;                                               \
8250        __asm__ ("umlsl2 %0.2d, %2.4s, %3.s[%4]"                         \
8251                 : "=w"(result)                                          \
8252                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8253                 : /* No clobbers */);                                   \
8254        result;                                                          \
8255      })
8256 
8257 __extension__ extern __inline int32x4_t
8258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_n_s16(int32x4_t __a,int16x8_t __b,int16_t __c)8259 vmlsl_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
8260 {
8261   int32x4_t __result;
8262   __asm__ ("smlsl2 %0.4s, %2.8h, %3.h[0]"
8263            : "=w"(__result)
8264            : "0"(__a), "w"(__b), "x"(__c)
8265            : /* No clobbers */);
8266   return __result;
8267 }
8268 
8269 __extension__ extern __inline int64x2_t
8270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_n_s32(int64x2_t __a,int32x4_t __b,int32_t __c)8271 vmlsl_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
8272 {
8273   int64x2_t __result;
8274   __asm__ ("smlsl2 %0.2d, %2.4s, %3.s[0]"
8275            : "=w"(__result)
8276            : "0"(__a), "w"(__b), "w"(__c)
8277            : /* No clobbers */);
8278   return __result;
8279 }
8280 
8281 __extension__ extern __inline uint32x4_t
8282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_n_u16(uint32x4_t __a,uint16x8_t __b,uint16_t __c)8283 vmlsl_high_n_u16 (uint32x4_t __a, uint16x8_t __b, uint16_t __c)
8284 {
8285   uint32x4_t __result;
8286   __asm__ ("umlsl2 %0.4s, %2.8h, %3.h[0]"
8287            : "=w"(__result)
8288            : "0"(__a), "w"(__b), "x"(__c)
8289            : /* No clobbers */);
8290   return __result;
8291 }
8292 
8293 __extension__ extern __inline uint64x2_t
8294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_n_u32(uint64x2_t __a,uint32x4_t __b,uint32_t __c)8295 vmlsl_high_n_u32 (uint64x2_t __a, uint32x4_t __b, uint32_t __c)
8296 {
8297   uint64x2_t __result;
8298   __asm__ ("umlsl2 %0.2d, %2.4s, %3.s[0]"
8299            : "=w"(__result)
8300            : "0"(__a), "w"(__b), "w"(__c)
8301            : /* No clobbers */);
8302   return __result;
8303 }
8304 
8305 __extension__ extern __inline int16x8_t
8306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_s8(int16x8_t __a,int8x16_t __b,int8x16_t __c)8307 vmlsl_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
8308 {
8309   int16x8_t __result;
8310   __asm__ ("smlsl2 %0.8h,%2.16b,%3.16b"
8311            : "=w"(__result)
8312            : "0"(__a), "w"(__b), "w"(__c)
8313            : /* No clobbers */);
8314   return __result;
8315 }
8316 
8317 __extension__ extern __inline int32x4_t
8318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)8319 vmlsl_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
8320 {
8321   int32x4_t __result;
8322   __asm__ ("smlsl2 %0.4s,%2.8h,%3.8h"
8323            : "=w"(__result)
8324            : "0"(__a), "w"(__b), "w"(__c)
8325            : /* No clobbers */);
8326   return __result;
8327 }
8328 
8329 __extension__ extern __inline int64x2_t
8330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)8331 vmlsl_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
8332 {
8333   int64x2_t __result;
8334   __asm__ ("smlsl2 %0.2d,%2.4s,%3.4s"
8335            : "=w"(__result)
8336            : "0"(__a), "w"(__b), "w"(__c)
8337            : /* No clobbers */);
8338   return __result;
8339 }
8340 
8341 __extension__ extern __inline uint16x8_t
8342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_u8(uint16x8_t __a,uint8x16_t __b,uint8x16_t __c)8343 vmlsl_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
8344 {
8345   uint16x8_t __result;
8346   __asm__ ("umlsl2 %0.8h,%2.16b,%3.16b"
8347            : "=w"(__result)
8348            : "0"(__a), "w"(__b), "w"(__c)
8349            : /* No clobbers */);
8350   return __result;
8351 }
8352 
8353 __extension__ extern __inline uint32x4_t
8354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_u16(uint32x4_t __a,uint16x8_t __b,uint16x8_t __c)8355 vmlsl_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
8356 {
8357   uint32x4_t __result;
8358   __asm__ ("umlsl2 %0.4s,%2.8h,%3.8h"
8359            : "=w"(__result)
8360            : "0"(__a), "w"(__b), "w"(__c)
8361            : /* No clobbers */);
8362   return __result;
8363 }
8364 
8365 __extension__ extern __inline uint64x2_t
8366 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_u32(uint64x2_t __a,uint32x4_t __b,uint32x4_t __c)8367 vmlsl_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
8368 {
8369   uint64x2_t __result;
8370   __asm__ ("umlsl2 %0.2d,%2.4s,%3.4s"
8371            : "=w"(__result)
8372            : "0"(__a), "w"(__b), "w"(__c)
8373            : /* No clobbers */);
8374   return __result;
8375 }
8376 
8377 #define vmlsl_lane_s16(a, b, c, d)                                      \
8378   __extension__                                                         \
8379     ({                                                                  \
8380        int16x4_t c_ = (c);                                              \
8381        int16x4_t b_ = (b);                                              \
8382        int32x4_t a_ = (a);                                              \
8383        int32x4_t result;                                                \
8384        __asm__ ("smlsl %0.4s, %2.4h, %3.h[%4]"                          \
8385                 : "=w"(result)                                          \
8386                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8387                 : /* No clobbers */);                                   \
8388        result;                                                          \
8389      })
8390 
8391 #define vmlsl_lane_s32(a, b, c, d)                                      \
8392   __extension__                                                         \
8393     ({                                                                  \
8394        int32x2_t c_ = (c);                                              \
8395        int32x2_t b_ = (b);                                              \
8396        int64x2_t a_ = (a);                                              \
8397        int64x2_t result;                                                \
8398        __asm__ ("smlsl %0.2d, %2.2s, %3.s[%4]"                          \
8399                 : "=w"(result)                                          \
8400                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8401                 : /* No clobbers */);                                   \
8402        result;                                                          \
8403      })
8404 
8405 #define vmlsl_lane_u16(a, b, c, d)                                      \
8406   __extension__                                                         \
8407     ({                                                                  \
8408        uint16x4_t c_ = (c);                                             \
8409        uint16x4_t b_ = (b);                                             \
8410        uint32x4_t a_ = (a);                                             \
8411        uint32x4_t result;                                               \
8412        __asm__ ("umlsl %0.4s, %2.4h, %3.h[%4]"                          \
8413                 : "=w"(result)                                          \
8414                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8415                 : /* No clobbers */);                                   \
8416        result;                                                          \
8417      })
8418 
8419 #define vmlsl_lane_u32(a, b, c, d)                                      \
8420   __extension__                                                         \
8421     ({                                                                  \
8422        uint32x2_t c_ = (c);                                             \
8423        uint32x2_t b_ = (b);                                             \
8424        uint64x2_t a_ = (a);                                             \
8425        uint64x2_t result;                                               \
8426        __asm__ ("umlsl %0.2d, %2.2s, %3.s[%4]"                          \
8427                 : "=w"(result)                                          \
8428                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8429                 : /* No clobbers */);                                   \
8430        result;                                                          \
8431      })
8432 
8433 #define vmlsl_laneq_s16(a, b, c, d)                                     \
8434   __extension__                                                         \
8435     ({                                                                  \
8436        int16x8_t c_ = (c);                                              \
8437        int16x4_t b_ = (b);                                              \
8438        int32x4_t a_ = (a);                                              \
8439        int32x4_t result;                                                \
8440        __asm__ ("smlsl %0.4s, %2.4h, %3.h[%4]"                          \
8441                 : "=w"(result)                                          \
8442                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8443                 : /* No clobbers */);                                   \
8444        result;                                                          \
8445      })
8446 
8447 #define vmlsl_laneq_s32(a, b, c, d)                                     \
8448   __extension__                                                         \
8449     ({                                                                  \
8450        int32x4_t c_ = (c);                                              \
8451        int32x2_t b_ = (b);                                              \
8452        int64x2_t a_ = (a);                                              \
8453        int64x2_t result;                                                \
8454        __asm__ ("smlsl %0.2d, %2.2s, %3.s[%4]"                          \
8455                 : "=w"(result)                                          \
8456                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8457                 : /* No clobbers */);                                   \
8458        result;                                                          \
8459      })
8460 
8461 #define vmlsl_laneq_u16(a, b, c, d)                                     \
8462   __extension__                                                         \
8463     ({                                                                  \
8464        uint16x8_t c_ = (c);                                             \
8465        uint16x4_t b_ = (b);                                             \
8466        uint32x4_t a_ = (a);                                             \
8467        uint32x4_t result;                                               \
8468        __asm__ ("umlsl %0.4s, %2.4h, %3.h[%4]"                          \
8469                 : "=w"(result)                                          \
8470                 : "0"(a_), "w"(b_), "x"(c_), "i"(d)                     \
8471                 : /* No clobbers */);                                   \
8472        result;                                                          \
8473      })
8474 
8475 #define vmlsl_laneq_u32(a, b, c, d)                                     \
8476   __extension__                                                         \
8477     ({                                                                  \
8478        uint32x4_t c_ = (c);                                             \
8479        uint32x2_t b_ = (b);                                             \
8480        uint64x2_t a_ = (a);                                             \
8481        uint64x2_t result;                                               \
8482        __asm__ ("umlsl %0.2d, %2.2s, %3.s[%4]"                          \
8483                 : "=w"(result)                                          \
8484                 : "0"(a_), "w"(b_), "w"(c_), "i"(d)                     \
8485                 : /* No clobbers */);                                   \
8486        result;                                                          \
8487      })
8488 
8489 __extension__ extern __inline int32x4_t
8490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)8491 vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
8492 {
8493   int32x4_t __result;
8494   __asm__ ("smlsl %0.4s, %2.4h, %3.h[0]"
8495            : "=w"(__result)
8496            : "0"(__a), "w"(__b), "x"(__c)
8497            : /* No clobbers */);
8498   return __result;
8499 }
8500 
8501 __extension__ extern __inline int64x2_t
8502 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)8503 vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
8504 {
8505   int64x2_t __result;
8506   __asm__ ("smlsl %0.2d, %2.2s, %3.s[0]"
8507            : "=w"(__result)
8508            : "0"(__a), "w"(__b), "w"(__c)
8509            : /* No clobbers */);
8510   return __result;
8511 }
8512 
8513 __extension__ extern __inline uint32x4_t
8514 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)8515 vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
8516 {
8517   uint32x4_t __result;
8518   __asm__ ("umlsl %0.4s, %2.4h, %3.h[0]"
8519            : "=w"(__result)
8520            : "0"(__a), "w"(__b), "x"(__c)
8521            : /* No clobbers */);
8522   return __result;
8523 }
8524 
8525 __extension__ extern __inline uint64x2_t
8526 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)8527 vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
8528 {
8529   uint64x2_t __result;
8530   __asm__ ("umlsl %0.2d, %2.2s, %3.s[0]"
8531            : "=w"(__result)
8532            : "0"(__a), "w"(__b), "w"(__c)
8533            : /* No clobbers */);
8534   return __result;
8535 }
8536 
8537 __extension__ extern __inline int16x8_t
8538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)8539 vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
8540 {
8541   int16x8_t __result;
8542   __asm__ ("smlsl %0.8h, %2.8b, %3.8b"
8543            : "=w"(__result)
8544            : "0"(__a), "w"(__b), "w"(__c)
8545            : /* No clobbers */);
8546   return __result;
8547 }
8548 
8549 __extension__ extern __inline int32x4_t
8550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)8551 vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
8552 {
8553   int32x4_t __result;
8554   __asm__ ("smlsl %0.4s, %2.4h, %3.4h"
8555            : "=w"(__result)
8556            : "0"(__a), "w"(__b), "w"(__c)
8557            : /* No clobbers */);
8558   return __result;
8559 }
8560 
8561 __extension__ extern __inline int64x2_t
8562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)8563 vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
8564 {
8565   int64x2_t __result;
8566   __asm__ ("smlsl %0.2d, %2.2s, %3.2s"
8567            : "=w"(__result)
8568            : "0"(__a), "w"(__b), "w"(__c)
8569            : /* No clobbers */);
8570   return __result;
8571 }
8572 
8573 __extension__ extern __inline uint16x8_t
8574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)8575 vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
8576 {
8577   uint16x8_t __result;
8578   __asm__ ("umlsl %0.8h, %2.8b, %3.8b"
8579            : "=w"(__result)
8580            : "0"(__a), "w"(__b), "w"(__c)
8581            : /* No clobbers */);
8582   return __result;
8583 }
8584 
8585 __extension__ extern __inline uint32x4_t
8586 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)8587 vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
8588 {
8589   uint32x4_t __result;
8590   __asm__ ("umlsl %0.4s, %2.4h, %3.4h"
8591            : "=w"(__result)
8592            : "0"(__a), "w"(__b), "w"(__c)
8593            : /* No clobbers */);
8594   return __result;
8595 }
8596 
8597 __extension__ extern __inline uint64x2_t
8598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)8599 vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
8600 {
8601   uint64x2_t __result;
8602   __asm__ ("umlsl %0.2d, %2.2s, %3.2s"
8603            : "=w"(__result)
8604            : "0"(__a), "w"(__b), "w"(__c)
8605            : /* No clobbers */);
8606   return __result;
8607 }
8608 
8609 __extension__ extern __inline float32x4_t
8610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)8611 vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
8612 {
8613   float32x4_t __result;
8614   float32x4_t __t1;
8615   __asm__ ("fmul %1.4s, %3.4s, %4.s[0]; fsub %0.4s, %0.4s, %1.4s"
8616            : "=w"(__result), "=w"(__t1)
8617            : "0"(__a), "w"(__b), "w"(__c)
8618            : /* No clobbers */);
8619   return __result;
8620 }
8621 
8622 __extension__ extern __inline int16x8_t
8623 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)8624 vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
8625 {
8626   int16x8_t __result;
8627   __asm__ ("mls %0.8h, %2.8h, %3.h[0]"
8628            : "=w"(__result)
8629            : "0"(__a), "w"(__b), "x"(__c)
8630            : /* No clobbers */);
8631   return __result;
8632 }
8633 
8634 __extension__ extern __inline int32x4_t
8635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)8636 vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
8637 {
8638   int32x4_t __result;
8639   __asm__ ("mls %0.4s, %2.4s, %3.s[0]"
8640            : "=w"(__result)
8641            : "0"(__a), "w"(__b), "w"(__c)
8642            : /* No clobbers */);
8643   return __result;
8644 }
8645 
8646 __extension__ extern __inline uint16x8_t
8647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)8648 vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
8649 {
8650   uint16x8_t __result;
8651   __asm__ ("mls %0.8h, %2.8h, %3.h[0]"
8652            : "=w"(__result)
8653            : "0"(__a), "w"(__b), "x"(__c)
8654            : /* No clobbers */);
8655   return __result;
8656 }
8657 
8658 __extension__ extern __inline uint32x4_t
8659 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)8660 vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
8661 {
8662   uint32x4_t __result;
8663   __asm__ ("mls %0.4s, %2.4s, %3.s[0]"
8664            : "=w"(__result)
8665            : "0"(__a), "w"(__b), "w"(__c)
8666            : /* No clobbers */);
8667   return __result;
8668 }
8669 
8670 __extension__ extern __inline int8x16_t
8671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)8672 vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
8673 {
8674   int8x16_t __result;
8675   __asm__ ("mls %0.16b,%2.16b,%3.16b"
8676            : "=w"(__result)
8677            : "0"(__a), "w"(__b), "w"(__c)
8678            : /* No clobbers */);
8679   return __result;
8680 }
8681 
8682 __extension__ extern __inline int16x8_t
8683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)8684 vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
8685 {
8686   int16x8_t __result;
8687   __asm__ ("mls %0.8h,%2.8h,%3.8h"
8688            : "=w"(__result)
8689            : "0"(__a), "w"(__b), "w"(__c)
8690            : /* No clobbers */);
8691   return __result;
8692 }
8693 
8694 __extension__ extern __inline int32x4_t
8695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)8696 vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
8697 {
8698   int32x4_t __result;
8699   __asm__ ("mls %0.4s,%2.4s,%3.4s"
8700            : "=w"(__result)
8701            : "0"(__a), "w"(__b), "w"(__c)
8702            : /* No clobbers */);
8703   return __result;
8704 }
8705 
8706 __extension__ extern __inline uint8x16_t
8707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)8708 vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
8709 {
8710   uint8x16_t __result;
8711   __asm__ ("mls %0.16b,%2.16b,%3.16b"
8712            : "=w"(__result)
8713            : "0"(__a), "w"(__b), "w"(__c)
8714            : /* No clobbers */);
8715   return __result;
8716 }
8717 
8718 __extension__ extern __inline uint16x8_t
8719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)8720 vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
8721 {
8722   uint16x8_t __result;
8723   __asm__ ("mls %0.8h,%2.8h,%3.8h"
8724            : "=w"(__result)
8725            : "0"(__a), "w"(__b), "w"(__c)
8726            : /* No clobbers */);
8727   return __result;
8728 }
8729 
8730 __extension__ extern __inline uint32x4_t
8731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)8732 vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
8733 {
8734   uint32x4_t __result;
8735   __asm__ ("mls %0.4s,%2.4s,%3.4s"
8736            : "=w"(__result)
8737            : "0"(__a), "w"(__b), "w"(__c)
8738            : /* No clobbers */);
8739   return __result;
8740 }
8741 
8742 __extension__ extern __inline int16x8_t
8743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_s8(int8x16_t __a)8744 vmovl_high_s8 (int8x16_t __a)
8745 {
8746   int16x8_t __result;
8747   __asm__ ("sshll2 %0.8h,%1.16b,#0"
8748            : "=w"(__result)
8749            : "w"(__a)
8750            : /* No clobbers */);
8751   return __result;
8752 }
8753 
8754 __extension__ extern __inline int32x4_t
8755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_s16(int16x8_t __a)8756 vmovl_high_s16 (int16x8_t __a)
8757 {
8758   int32x4_t __result;
8759   __asm__ ("sshll2 %0.4s,%1.8h,#0"
8760            : "=w"(__result)
8761            : "w"(__a)
8762            : /* No clobbers */);
8763   return __result;
8764 }
8765 
8766 __extension__ extern __inline int64x2_t
8767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_s32(int32x4_t __a)8768 vmovl_high_s32 (int32x4_t __a)
8769 {
8770   int64x2_t __result;
8771   __asm__ ("sshll2 %0.2d,%1.4s,#0"
8772            : "=w"(__result)
8773            : "w"(__a)
8774            : /* No clobbers */);
8775   return __result;
8776 }
8777 
8778 __extension__ extern __inline uint16x8_t
8779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_u8(uint8x16_t __a)8780 vmovl_high_u8 (uint8x16_t __a)
8781 {
8782   uint16x8_t __result;
8783   __asm__ ("ushll2 %0.8h,%1.16b,#0"
8784            : "=w"(__result)
8785            : "w"(__a)
8786            : /* No clobbers */);
8787   return __result;
8788 }
8789 
8790 __extension__ extern __inline uint32x4_t
8791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_u16(uint16x8_t __a)8792 vmovl_high_u16 (uint16x8_t __a)
8793 {
8794   uint32x4_t __result;
8795   __asm__ ("ushll2 %0.4s,%1.8h,#0"
8796            : "=w"(__result)
8797            : "w"(__a)
8798            : /* No clobbers */);
8799   return __result;
8800 }
8801 
8802 __extension__ extern __inline uint64x2_t
8803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_u32(uint32x4_t __a)8804 vmovl_high_u32 (uint32x4_t __a)
8805 {
8806   uint64x2_t __result;
8807   __asm__ ("ushll2 %0.2d,%1.4s,#0"
8808            : "=w"(__result)
8809            : "w"(__a)
8810            : /* No clobbers */);
8811   return __result;
8812 }
8813 
8814 __extension__ extern __inline int16x8_t
8815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s8(int8x8_t __a)8816 vmovl_s8 (int8x8_t __a)
8817 {
8818   int16x8_t __result;
8819   __asm__ ("sshll %0.8h,%1.8b,#0"
8820            : "=w"(__result)
8821            : "w"(__a)
8822            : /* No clobbers */);
8823   return __result;
8824 }
8825 
8826 __extension__ extern __inline int32x4_t
8827 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s16(int16x4_t __a)8828 vmovl_s16 (int16x4_t __a)
8829 {
8830   int32x4_t __result;
8831   __asm__ ("sshll %0.4s,%1.4h,#0"
8832            : "=w"(__result)
8833            : "w"(__a)
8834            : /* No clobbers */);
8835   return __result;
8836 }
8837 
8838 __extension__ extern __inline int64x2_t
8839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s32(int32x2_t __a)8840 vmovl_s32 (int32x2_t __a)
8841 {
8842   int64x2_t __result;
8843   __asm__ ("sshll %0.2d,%1.2s,#0"
8844            : "=w"(__result)
8845            : "w"(__a)
8846            : /* No clobbers */);
8847   return __result;
8848 }
8849 
8850 __extension__ extern __inline uint16x8_t
8851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u8(uint8x8_t __a)8852 vmovl_u8 (uint8x8_t __a)
8853 {
8854   uint16x8_t __result;
8855   __asm__ ("ushll %0.8h,%1.8b,#0"
8856            : "=w"(__result)
8857            : "w"(__a)
8858            : /* No clobbers */);
8859   return __result;
8860 }
8861 
8862 __extension__ extern __inline uint32x4_t
8863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u16(uint16x4_t __a)8864 vmovl_u16 (uint16x4_t __a)
8865 {
8866   uint32x4_t __result;
8867   __asm__ ("ushll %0.4s,%1.4h,#0"
8868            : "=w"(__result)
8869            : "w"(__a)
8870            : /* No clobbers */);
8871   return __result;
8872 }
8873 
8874 __extension__ extern __inline uint64x2_t
8875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u32(uint32x2_t __a)8876 vmovl_u32 (uint32x2_t __a)
8877 {
8878   uint64x2_t __result;
8879   __asm__ ("ushll %0.2d,%1.2s,#0"
8880            : "=w"(__result)
8881            : "w"(__a)
8882            : /* No clobbers */);
8883   return __result;
8884 }
8885 
8886 __extension__ extern __inline int8x16_t
8887 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_s16(int8x8_t __a,int16x8_t __b)8888 vmovn_high_s16 (int8x8_t __a, int16x8_t __b)
8889 {
8890   int8x16_t __result = vcombine_s8 (__a, vcreate_s8 (__AARCH64_UINT64_C (0x0)));
8891   __asm__ ("xtn2 %0.16b,%1.8h"
8892            : "+w"(__result)
8893            : "w"(__b)
8894            : /* No clobbers */);
8895   return __result;
8896 }
8897 
8898 __extension__ extern __inline int16x8_t
8899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_s32(int16x4_t __a,int32x4_t __b)8900 vmovn_high_s32 (int16x4_t __a, int32x4_t __b)
8901 {
8902   int16x8_t __result = vcombine_s16 (__a, vcreate_s16 (__AARCH64_UINT64_C (0x0)));
8903   __asm__ ("xtn2 %0.8h,%1.4s"
8904            : "+w"(__result)
8905            : "w"(__b)
8906            : /* No clobbers */);
8907   return __result;
8908 }
8909 
8910 __extension__ extern __inline int32x4_t
8911 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_s64(int32x2_t __a,int64x2_t __b)8912 vmovn_high_s64 (int32x2_t __a, int64x2_t __b)
8913 {
8914   int32x4_t __result = vcombine_s32 (__a, vcreate_s32 (__AARCH64_UINT64_C (0x0)));
8915   __asm__ ("xtn2 %0.4s,%1.2d"
8916            : "+w"(__result)
8917            : "w"(__b)
8918            : /* No clobbers */);
8919   return __result;
8920 }
8921 
8922 __extension__ extern __inline uint8x16_t
8923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_u16(uint8x8_t __a,uint16x8_t __b)8924 vmovn_high_u16 (uint8x8_t __a, uint16x8_t __b)
8925 {
8926   uint8x16_t __result = vcombine_u8 (__a, vcreate_u8 (__AARCH64_UINT64_C (0x0)));
8927   __asm__ ("xtn2 %0.16b,%1.8h"
8928            : "+w"(__result)
8929            : "w"(__b)
8930            : /* No clobbers */);
8931   return __result;
8932 }
8933 
8934 __extension__ extern __inline uint16x8_t
8935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_u32(uint16x4_t __a,uint32x4_t __b)8936 vmovn_high_u32 (uint16x4_t __a, uint32x4_t __b)
8937 {
8938   uint16x8_t __result = vcombine_u16 (__a, vcreate_u16 (__AARCH64_UINT64_C (0x0)));
8939   __asm__ ("xtn2 %0.8h,%1.4s"
8940            : "+w"(__result)
8941            : "w"(__b)
8942            : /* No clobbers */);
8943   return __result;
8944 }
8945 
8946 __extension__ extern __inline uint32x4_t
8947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_u64(uint32x2_t __a,uint64x2_t __b)8948 vmovn_high_u64 (uint32x2_t __a, uint64x2_t __b)
8949 {
8950   uint32x4_t __result = vcombine_u32 (__a, vcreate_u32 (__AARCH64_UINT64_C (0x0)));
8951   __asm__ ("xtn2 %0.4s,%1.2d"
8952            : "+w"(__result)
8953            : "w"(__b)
8954            : /* No clobbers */);
8955   return __result;
8956 }
8957 
8958 __extension__ extern __inline int8x8_t
8959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s16(int16x8_t __a)8960 vmovn_s16 (int16x8_t __a)
8961 {
8962   int8x8_t __result;
8963   __asm__ ("xtn %0.8b,%1.8h"
8964            : "=w"(__result)
8965            : "w"(__a)
8966            : /* No clobbers */);
8967   return __result;
8968 }
8969 
8970 __extension__ extern __inline int16x4_t
8971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s32(int32x4_t __a)8972 vmovn_s32 (int32x4_t __a)
8973 {
8974   int16x4_t __result;
8975   __asm__ ("xtn %0.4h,%1.4s"
8976            : "=w"(__result)
8977            : "w"(__a)
8978            : /* No clobbers */);
8979   return __result;
8980 }
8981 
8982 __extension__ extern __inline int32x2_t
8983 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s64(int64x2_t __a)8984 vmovn_s64 (int64x2_t __a)
8985 {
8986   int32x2_t __result;
8987   __asm__ ("xtn %0.2s,%1.2d"
8988            : "=w"(__result)
8989            : "w"(__a)
8990            : /* No clobbers */);
8991   return __result;
8992 }
8993 
8994 __extension__ extern __inline uint8x8_t
8995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u16(uint16x8_t __a)8996 vmovn_u16 (uint16x8_t __a)
8997 {
8998   uint8x8_t __result;
8999   __asm__ ("xtn %0.8b,%1.8h"
9000            : "=w"(__result)
9001            : "w"(__a)
9002            : /* No clobbers */);
9003   return __result;
9004 }
9005 
9006 __extension__ extern __inline uint16x4_t
9007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u32(uint32x4_t __a)9008 vmovn_u32 (uint32x4_t __a)
9009 {
9010   uint16x4_t __result;
9011   __asm__ ("xtn %0.4h,%1.4s"
9012            : "=w"(__result)
9013            : "w"(__a)
9014            : /* No clobbers */);
9015   return __result;
9016 }
9017 
9018 __extension__ extern __inline uint32x2_t
9019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u64(uint64x2_t __a)9020 vmovn_u64 (uint64x2_t __a)
9021 {
9022   uint32x2_t __result;
9023   __asm__ ("xtn %0.2s,%1.2d"
9024            : "=w"(__result)
9025            : "w"(__a)
9026            : /* No clobbers */);
9027   return __result;
9028 }
9029 
9030 #define vmull_high_lane_s16(a, b, c)                                    \
9031   __extension__                                                         \
9032     ({                                                                  \
9033        int16x4_t b_ = (b);                                              \
9034        int16x8_t a_ = (a);                                              \
9035        int32x4_t result;                                                \
9036        __asm__ ("smull2 %0.4s, %1.8h, %2.h[%3]"                         \
9037                 : "=w"(result)                                          \
9038                 : "w"(a_), "x"(b_), "i"(c)                              \
9039                 : /* No clobbers */);                                   \
9040        result;                                                          \
9041      })
9042 
9043 #define vmull_high_lane_s32(a, b, c)                                    \
9044   __extension__                                                         \
9045     ({                                                                  \
9046        int32x2_t b_ = (b);                                              \
9047        int32x4_t a_ = (a);                                              \
9048        int64x2_t result;                                                \
9049        __asm__ ("smull2 %0.2d, %1.4s, %2.s[%3]"                         \
9050                 : "=w"(result)                                          \
9051                 : "w"(a_), "w"(b_), "i"(c)                              \
9052                 : /* No clobbers */);                                   \
9053        result;                                                          \
9054      })
9055 
9056 #define vmull_high_lane_u16(a, b, c)                                    \
9057   __extension__                                                         \
9058     ({                                                                  \
9059        uint16x4_t b_ = (b);                                             \
9060        uint16x8_t a_ = (a);                                             \
9061        uint32x4_t result;                                               \
9062        __asm__ ("umull2 %0.4s, %1.8h, %2.h[%3]"                         \
9063                 : "=w"(result)                                          \
9064                 : "w"(a_), "x"(b_), "i"(c)                              \
9065                 : /* No clobbers */);                                   \
9066        result;                                                          \
9067      })
9068 
9069 #define vmull_high_lane_u32(a, b, c)                                    \
9070   __extension__                                                         \
9071     ({                                                                  \
9072        uint32x2_t b_ = (b);                                             \
9073        uint32x4_t a_ = (a);                                             \
9074        uint64x2_t result;                                               \
9075        __asm__ ("umull2 %0.2d, %1.4s, %2.s[%3]"                         \
9076                 : "=w"(result)                                          \
9077                 : "w"(a_), "w"(b_), "i"(c)                              \
9078                 : /* No clobbers */);                                   \
9079        result;                                                          \
9080      })
9081 
9082 #define vmull_high_laneq_s16(a, b, c)                                   \
9083   __extension__                                                         \
9084     ({                                                                  \
9085        int16x8_t b_ = (b);                                              \
9086        int16x8_t a_ = (a);                                              \
9087        int32x4_t result;                                                \
9088        __asm__ ("smull2 %0.4s, %1.8h, %2.h[%3]"                         \
9089                 : "=w"(result)                                          \
9090                 : "w"(a_), "x"(b_), "i"(c)                              \
9091                 : /* No clobbers */);                                   \
9092        result;                                                          \
9093      })
9094 
9095 #define vmull_high_laneq_s32(a, b, c)                                   \
9096   __extension__                                                         \
9097     ({                                                                  \
9098        int32x4_t b_ = (b);                                              \
9099        int32x4_t a_ = (a);                                              \
9100        int64x2_t result;                                                \
9101        __asm__ ("smull2 %0.2d, %1.4s, %2.s[%3]"                         \
9102                 : "=w"(result)                                          \
9103                 : "w"(a_), "w"(b_), "i"(c)                              \
9104                 : /* No clobbers */);                                   \
9105        result;                                                          \
9106      })
9107 
9108 #define vmull_high_laneq_u16(a, b, c)                                   \
9109   __extension__                                                         \
9110     ({                                                                  \
9111        uint16x8_t b_ = (b);                                             \
9112        uint16x8_t a_ = (a);                                             \
9113        uint32x4_t result;                                               \
9114        __asm__ ("umull2 %0.4s, %1.8h, %2.h[%3]"                         \
9115                 : "=w"(result)                                          \
9116                 : "w"(a_), "x"(b_), "i"(c)                              \
9117                 : /* No clobbers */);                                   \
9118        result;                                                          \
9119      })
9120 
9121 #define vmull_high_laneq_u32(a, b, c)                                   \
9122   __extension__                                                         \
9123     ({                                                                  \
9124        uint32x4_t b_ = (b);                                             \
9125        uint32x4_t a_ = (a);                                             \
9126        uint64x2_t result;                                               \
9127        __asm__ ("umull2 %0.2d, %1.4s, %2.s[%3]"                         \
9128                 : "=w"(result)                                          \
9129                 : "w"(a_), "w"(b_), "i"(c)                              \
9130                 : /* No clobbers */);                                   \
9131        result;                                                          \
9132      })
9133 
9134 __extension__ extern __inline int32x4_t
9135 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_n_s16(int16x8_t __a,int16_t __b)9136 vmull_high_n_s16 (int16x8_t __a, int16_t __b)
9137 {
9138   int32x4_t __result;
9139   __asm__ ("smull2 %0.4s,%1.8h,%2.h[0]"
9140            : "=w"(__result)
9141            : "w"(__a), "x"(__b)
9142            : /* No clobbers */);
9143   return __result;
9144 }
9145 
9146 __extension__ extern __inline int64x2_t
9147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_n_s32(int32x4_t __a,int32_t __b)9148 vmull_high_n_s32 (int32x4_t __a, int32_t __b)
9149 {
9150   int64x2_t __result;
9151   __asm__ ("smull2 %0.2d,%1.4s,%2.s[0]"
9152            : "=w"(__result)
9153            : "w"(__a), "w"(__b)
9154            : /* No clobbers */);
9155   return __result;
9156 }
9157 
9158 __extension__ extern __inline uint32x4_t
9159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_n_u16(uint16x8_t __a,uint16_t __b)9160 vmull_high_n_u16 (uint16x8_t __a, uint16_t __b)
9161 {
9162   uint32x4_t __result;
9163   __asm__ ("umull2 %0.4s,%1.8h,%2.h[0]"
9164            : "=w"(__result)
9165            : "w"(__a), "x"(__b)
9166            : /* No clobbers */);
9167   return __result;
9168 }
9169 
9170 __extension__ extern __inline uint64x2_t
9171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_n_u32(uint32x4_t __a,uint32_t __b)9172 vmull_high_n_u32 (uint32x4_t __a, uint32_t __b)
9173 {
9174   uint64x2_t __result;
9175   __asm__ ("umull2 %0.2d,%1.4s,%2.s[0]"
9176            : "=w"(__result)
9177            : "w"(__a), "w"(__b)
9178            : /* No clobbers */);
9179   return __result;
9180 }
9181 
9182 __extension__ extern __inline poly16x8_t
9183 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_p8(poly8x16_t __a,poly8x16_t __b)9184 vmull_high_p8 (poly8x16_t __a, poly8x16_t __b)
9185 {
9186   poly16x8_t __result;
9187   __asm__ ("pmull2 %0.8h,%1.16b,%2.16b"
9188            : "=w"(__result)
9189            : "w"(__a), "w"(__b)
9190            : /* No clobbers */);
9191   return __result;
9192 }
9193 
9194 __extension__ extern __inline int16x8_t
9195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_s8(int8x16_t __a,int8x16_t __b)9196 vmull_high_s8 (int8x16_t __a, int8x16_t __b)
9197 {
9198   return __builtin_aarch64_vec_widen_smult_hi_v16qi (__a, __b);
9199 }
9200 
9201 __extension__ extern __inline int32x4_t
9202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_s16(int16x8_t __a,int16x8_t __b)9203 vmull_high_s16 (int16x8_t __a, int16x8_t __b)
9204 {
9205   return __builtin_aarch64_vec_widen_smult_hi_v8hi (__a, __b);
9206 }
9207 
9208 __extension__ extern __inline int64x2_t
9209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_s32(int32x4_t __a,int32x4_t __b)9210 vmull_high_s32 (int32x4_t __a, int32x4_t __b)
9211 {
9212   return __builtin_aarch64_vec_widen_smult_hi_v4si (__a, __b);
9213 }
9214 
9215 __extension__ extern __inline uint16x8_t
9216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_u8(uint8x16_t __a,uint8x16_t __b)9217 vmull_high_u8 (uint8x16_t __a, uint8x16_t __b)
9218 {
9219   return __builtin_aarch64_vec_widen_umult_hi_v16qi_uuu (__a, __b);
9220 }
9221 
9222 __extension__ extern __inline uint32x4_t
9223 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_u16(uint16x8_t __a,uint16x8_t __b)9224 vmull_high_u16 (uint16x8_t __a, uint16x8_t __b)
9225 {
9226   return __builtin_aarch64_vec_widen_umult_hi_v8hi_uuu (__a, __b);
9227 }
9228 
9229 __extension__ extern __inline uint64x2_t
9230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_u32(uint32x4_t __a,uint32x4_t __b)9231 vmull_high_u32 (uint32x4_t __a, uint32x4_t __b)
9232 {
9233   return __builtin_aarch64_vec_widen_umult_hi_v4si_uuu (__a, __b);
9234 }
9235 
9236 __extension__ extern __inline int32x4_t
9237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)9238 vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
9239 {
9240   return __builtin_aarch64_vec_smult_lane_v4hi (__a, __b, __c);
9241 }
9242 
9243 __extension__ extern __inline int64x2_t
9244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)9245 vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
9246 {
9247   return __builtin_aarch64_vec_smult_lane_v2si (__a, __b, __c);
9248 }
9249 
9250 __extension__ extern __inline uint32x4_t
9251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __c)9252 vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
9253 {
9254   return __builtin_aarch64_vec_umult_lane_v4hi_uuus (__a, __b, __c);
9255 }
9256 
9257 __extension__ extern __inline uint64x2_t
9258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __c)9259 vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
9260 {
9261   return __builtin_aarch64_vec_umult_lane_v2si_uuus (__a, __b, __c);
9262 }
9263 
9264 __extension__ extern __inline int32x4_t
9265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_laneq_s16(int16x4_t __a,int16x8_t __b,const int __c)9266 vmull_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
9267 {
9268   return __builtin_aarch64_vec_smult_laneq_v4hi (__a, __b, __c);
9269 }
9270 
9271 __extension__ extern __inline int64x2_t
9272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_laneq_s32(int32x2_t __a,int32x4_t __b,const int __c)9273 vmull_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
9274 {
9275   return __builtin_aarch64_vec_smult_laneq_v2si (__a, __b, __c);
9276 }
9277 
9278 __extension__ extern __inline uint32x4_t
9279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_laneq_u16(uint16x4_t __a,uint16x8_t __b,const int __c)9280 vmull_laneq_u16 (uint16x4_t __a, uint16x8_t __b, const int __c)
9281 {
9282   return __builtin_aarch64_vec_umult_laneq_v4hi_uuus (__a, __b, __c);
9283 }
9284 
9285 __extension__ extern __inline uint64x2_t
9286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_laneq_u32(uint32x2_t __a,uint32x4_t __b,const int __c)9287 vmull_laneq_u32 (uint32x2_t __a, uint32x4_t __b, const int __c)
9288 {
9289   return __builtin_aarch64_vec_umult_laneq_v2si_uuus (__a, __b, __c);
9290 }
9291 
9292 __extension__ extern __inline int32x4_t
9293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_s16(int16x4_t __a,int16_t __b)9294 vmull_n_s16 (int16x4_t __a, int16_t __b)
9295 {
9296   int32x4_t __result;
9297   __asm__ ("smull %0.4s,%1.4h,%2.h[0]"
9298            : "=w"(__result)
9299            : "w"(__a), "x"(__b)
9300            : /* No clobbers */);
9301   return __result;
9302 }
9303 
9304 __extension__ extern __inline int64x2_t
9305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_s32(int32x2_t __a,int32_t __b)9306 vmull_n_s32 (int32x2_t __a, int32_t __b)
9307 {
9308   int64x2_t __result;
9309   __asm__ ("smull %0.2d,%1.2s,%2.s[0]"
9310            : "=w"(__result)
9311            : "w"(__a), "w"(__b)
9312            : /* No clobbers */);
9313   return __result;
9314 }
9315 
9316 __extension__ extern __inline uint32x4_t
9317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_u16(uint16x4_t __a,uint16_t __b)9318 vmull_n_u16 (uint16x4_t __a, uint16_t __b)
9319 {
9320   uint32x4_t __result;
9321   __asm__ ("umull %0.4s,%1.4h,%2.h[0]"
9322            : "=w"(__result)
9323            : "w"(__a), "x"(__b)
9324            : /* No clobbers */);
9325   return __result;
9326 }
9327 
9328 __extension__ extern __inline uint64x2_t
9329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_u32(uint32x2_t __a,uint32_t __b)9330 vmull_n_u32 (uint32x2_t __a, uint32_t __b)
9331 {
9332   uint64x2_t __result;
9333   __asm__ ("umull %0.2d,%1.2s,%2.s[0]"
9334            : "=w"(__result)
9335            : "w"(__a), "w"(__b)
9336            : /* No clobbers */);
9337   return __result;
9338 }
9339 
9340 __extension__ extern __inline poly16x8_t
9341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_p8(poly8x8_t __a,poly8x8_t __b)9342 vmull_p8 (poly8x8_t __a, poly8x8_t __b)
9343 {
9344   poly16x8_t __result;
9345   __asm__ ("pmull %0.8h, %1.8b, %2.8b"
9346            : "=w"(__result)
9347            : "w"(__a), "w"(__b)
9348            : /* No clobbers */);
9349   return __result;
9350 }
9351 
9352 __extension__ extern __inline int16x8_t
9353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s8(int8x8_t __a,int8x8_t __b)9354 vmull_s8 (int8x8_t __a, int8x8_t __b)
9355 {
9356   return __builtin_aarch64_intrinsic_vec_smult_lo_v8qi (__a, __b);
9357 }
9358 
9359 __extension__ extern __inline int32x4_t
9360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s16(int16x4_t __a,int16x4_t __b)9361 vmull_s16 (int16x4_t __a, int16x4_t __b)
9362 {
9363   return __builtin_aarch64_intrinsic_vec_smult_lo_v4hi (__a, __b);
9364 }
9365 
9366 __extension__ extern __inline int64x2_t
9367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s32(int32x2_t __a,int32x2_t __b)9368 vmull_s32 (int32x2_t __a, int32x2_t __b)
9369 {
9370   return __builtin_aarch64_intrinsic_vec_smult_lo_v2si (__a, __b);
9371 }
9372 
9373 __extension__ extern __inline uint16x8_t
9374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u8(uint8x8_t __a,uint8x8_t __b)9375 vmull_u8 (uint8x8_t __a, uint8x8_t __b)
9376 {
9377   return __builtin_aarch64_intrinsic_vec_umult_lo_v8qi_uuu (__a, __b);
9378 }
9379 
9380 __extension__ extern __inline uint32x4_t
9381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u16(uint16x4_t __a,uint16x4_t __b)9382 vmull_u16 (uint16x4_t __a, uint16x4_t __b)
9383 {
9384   return __builtin_aarch64_intrinsic_vec_umult_lo_v4hi_uuu (__a, __b);
9385 }
9386 
9387 __extension__ extern __inline uint64x2_t
9388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u32(uint32x2_t __a,uint32x2_t __b)9389 vmull_u32 (uint32x2_t __a, uint32x2_t __b)
9390 {
9391   return __builtin_aarch64_intrinsic_vec_umult_lo_v2si_uuu (__a, __b);
9392 }
9393 
9394 __extension__ extern __inline int16x4_t
9395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s8(int16x4_t __a,int8x8_t __b)9396 vpadal_s8 (int16x4_t __a, int8x8_t __b)
9397 {
9398   int16x4_t __result;
9399   __asm__ ("sadalp %0.4h,%2.8b"
9400            : "=w"(__result)
9401            : "0"(__a), "w"(__b)
9402            : /* No clobbers */);
9403   return __result;
9404 }
9405 
9406 __extension__ extern __inline int32x2_t
9407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s16(int32x2_t __a,int16x4_t __b)9408 vpadal_s16 (int32x2_t __a, int16x4_t __b)
9409 {
9410   int32x2_t __result;
9411   __asm__ ("sadalp %0.2s,%2.4h"
9412            : "=w"(__result)
9413            : "0"(__a), "w"(__b)
9414            : /* No clobbers */);
9415   return __result;
9416 }
9417 
9418 __extension__ extern __inline int64x1_t
9419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s32(int64x1_t __a,int32x2_t __b)9420 vpadal_s32 (int64x1_t __a, int32x2_t __b)
9421 {
9422   int64x1_t __result;
9423   __asm__ ("sadalp %0.1d,%2.2s"
9424            : "=w"(__result)
9425            : "0"(__a), "w"(__b)
9426            : /* No clobbers */);
9427   return __result;
9428 }
9429 
9430 __extension__ extern __inline uint16x4_t
9431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u8(uint16x4_t __a,uint8x8_t __b)9432 vpadal_u8 (uint16x4_t __a, uint8x8_t __b)
9433 {
9434   uint16x4_t __result;
9435   __asm__ ("uadalp %0.4h,%2.8b"
9436            : "=w"(__result)
9437            : "0"(__a), "w"(__b)
9438            : /* No clobbers */);
9439   return __result;
9440 }
9441 
9442 __extension__ extern __inline uint32x2_t
9443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u16(uint32x2_t __a,uint16x4_t __b)9444 vpadal_u16 (uint32x2_t __a, uint16x4_t __b)
9445 {
9446   uint32x2_t __result;
9447   __asm__ ("uadalp %0.2s,%2.4h"
9448            : "=w"(__result)
9449            : "0"(__a), "w"(__b)
9450            : /* No clobbers */);
9451   return __result;
9452 }
9453 
9454 __extension__ extern __inline uint64x1_t
9455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u32(uint64x1_t __a,uint32x2_t __b)9456 vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
9457 {
9458   uint64x1_t __result;
9459   __asm__ ("uadalp %0.1d,%2.2s"
9460            : "=w"(__result)
9461            : "0"(__a), "w"(__b)
9462            : /* No clobbers */);
9463   return __result;
9464 }
9465 
9466 __extension__ extern __inline int16x8_t
9467 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s8(int16x8_t __a,int8x16_t __b)9468 vpadalq_s8 (int16x8_t __a, int8x16_t __b)
9469 {
9470   int16x8_t __result;
9471   __asm__ ("sadalp %0.8h,%2.16b"
9472            : "=w"(__result)
9473            : "0"(__a), "w"(__b)
9474            : /* No clobbers */);
9475   return __result;
9476 }
9477 
9478 __extension__ extern __inline int32x4_t
9479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s16(int32x4_t __a,int16x8_t __b)9480 vpadalq_s16 (int32x4_t __a, int16x8_t __b)
9481 {
9482   int32x4_t __result;
9483   __asm__ ("sadalp %0.4s,%2.8h"
9484            : "=w"(__result)
9485            : "0"(__a), "w"(__b)
9486            : /* No clobbers */);
9487   return __result;
9488 }
9489 
9490 __extension__ extern __inline int64x2_t
9491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s32(int64x2_t __a,int32x4_t __b)9492 vpadalq_s32 (int64x2_t __a, int32x4_t __b)
9493 {
9494   int64x2_t __result;
9495   __asm__ ("sadalp %0.2d,%2.4s"
9496            : "=w"(__result)
9497            : "0"(__a), "w"(__b)
9498            : /* No clobbers */);
9499   return __result;
9500 }
9501 
9502 __extension__ extern __inline uint16x8_t
9503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u8(uint16x8_t __a,uint8x16_t __b)9504 vpadalq_u8 (uint16x8_t __a, uint8x16_t __b)
9505 {
9506   uint16x8_t __result;
9507   __asm__ ("uadalp %0.8h,%2.16b"
9508            : "=w"(__result)
9509            : "0"(__a), "w"(__b)
9510            : /* No clobbers */);
9511   return __result;
9512 }
9513 
9514 __extension__ extern __inline uint32x4_t
9515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u16(uint32x4_t __a,uint16x8_t __b)9516 vpadalq_u16 (uint32x4_t __a, uint16x8_t __b)
9517 {
9518   uint32x4_t __result;
9519   __asm__ ("uadalp %0.4s,%2.8h"
9520            : "=w"(__result)
9521            : "0"(__a), "w"(__b)
9522            : /* No clobbers */);
9523   return __result;
9524 }
9525 
9526 __extension__ extern __inline uint64x2_t
9527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u32(uint64x2_t __a,uint32x4_t __b)9528 vpadalq_u32 (uint64x2_t __a, uint32x4_t __b)
9529 {
9530   uint64x2_t __result;
9531   __asm__ ("uadalp %0.2d,%2.4s"
9532            : "=w"(__result)
9533            : "0"(__a), "w"(__b)
9534            : /* No clobbers */);
9535   return __result;
9536 }
9537 
9538 __extension__ extern __inline int16x4_t
9539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s8(int8x8_t __a)9540 vpaddl_s8 (int8x8_t __a)
9541 {
9542   int16x4_t __result;
9543   __asm__ ("saddlp %0.4h,%1.8b"
9544            : "=w"(__result)
9545            : "w"(__a)
9546            : /* No clobbers */);
9547   return __result;
9548 }
9549 
9550 __extension__ extern __inline int32x2_t
9551 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s16(int16x4_t __a)9552 vpaddl_s16 (int16x4_t __a)
9553 {
9554   int32x2_t __result;
9555   __asm__ ("saddlp %0.2s,%1.4h"
9556            : "=w"(__result)
9557            : "w"(__a)
9558            : /* No clobbers */);
9559   return __result;
9560 }
9561 
9562 __extension__ extern __inline int64x1_t
9563 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s32(int32x2_t __a)9564 vpaddl_s32 (int32x2_t __a)
9565 {
9566   int64x1_t __result;
9567   __asm__ ("saddlp %0.1d,%1.2s"
9568            : "=w"(__result)
9569            : "w"(__a)
9570            : /* No clobbers */);
9571   return __result;
9572 }
9573 
9574 __extension__ extern __inline uint16x4_t
9575 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u8(uint8x8_t __a)9576 vpaddl_u8 (uint8x8_t __a)
9577 {
9578   uint16x4_t __result;
9579   __asm__ ("uaddlp %0.4h,%1.8b"
9580            : "=w"(__result)
9581            : "w"(__a)
9582            : /* No clobbers */);
9583   return __result;
9584 }
9585 
9586 __extension__ extern __inline uint32x2_t
9587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u16(uint16x4_t __a)9588 vpaddl_u16 (uint16x4_t __a)
9589 {
9590   uint32x2_t __result;
9591   __asm__ ("uaddlp %0.2s,%1.4h"
9592            : "=w"(__result)
9593            : "w"(__a)
9594            : /* No clobbers */);
9595   return __result;
9596 }
9597 
9598 __extension__ extern __inline uint64x1_t
9599 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u32(uint32x2_t __a)9600 vpaddl_u32 (uint32x2_t __a)
9601 {
9602   uint64x1_t __result;
9603   __asm__ ("uaddlp %0.1d,%1.2s"
9604            : "=w"(__result)
9605            : "w"(__a)
9606            : /* No clobbers */);
9607   return __result;
9608 }
9609 
9610 __extension__ extern __inline int16x8_t
9611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s8(int8x16_t __a)9612 vpaddlq_s8 (int8x16_t __a)
9613 {
9614   int16x8_t __result;
9615   __asm__ ("saddlp %0.8h,%1.16b"
9616            : "=w"(__result)
9617            : "w"(__a)
9618            : /* No clobbers */);
9619   return __result;
9620 }
9621 
9622 __extension__ extern __inline int32x4_t
9623 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s16(int16x8_t __a)9624 vpaddlq_s16 (int16x8_t __a)
9625 {
9626   int32x4_t __result;
9627   __asm__ ("saddlp %0.4s,%1.8h"
9628            : "=w"(__result)
9629            : "w"(__a)
9630            : /* No clobbers */);
9631   return __result;
9632 }
9633 
9634 __extension__ extern __inline int64x2_t
9635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s32(int32x4_t __a)9636 vpaddlq_s32 (int32x4_t __a)
9637 {
9638   int64x2_t __result;
9639   __asm__ ("saddlp %0.2d,%1.4s"
9640            : "=w"(__result)
9641            : "w"(__a)
9642            : /* No clobbers */);
9643   return __result;
9644 }
9645 
9646 __extension__ extern __inline uint16x8_t
9647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u8(uint8x16_t __a)9648 vpaddlq_u8 (uint8x16_t __a)
9649 {
9650   uint16x8_t __result;
9651   __asm__ ("uaddlp %0.8h,%1.16b"
9652            : "=w"(__result)
9653            : "w"(__a)
9654            : /* No clobbers */);
9655   return __result;
9656 }
9657 
9658 __extension__ extern __inline uint32x4_t
9659 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u16(uint16x8_t __a)9660 vpaddlq_u16 (uint16x8_t __a)
9661 {
9662   uint32x4_t __result;
9663   __asm__ ("uaddlp %0.4s,%1.8h"
9664            : "=w"(__result)
9665            : "w"(__a)
9666            : /* No clobbers */);
9667   return __result;
9668 }
9669 
9670 __extension__ extern __inline uint64x2_t
9671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u32(uint32x4_t __a)9672 vpaddlq_u32 (uint32x4_t __a)
9673 {
9674   uint64x2_t __result;
9675   __asm__ ("uaddlp %0.2d,%1.4s"
9676            : "=w"(__result)
9677            : "w"(__a)
9678            : /* No clobbers */);
9679   return __result;
9680 }
9681 
9682 __extension__ extern __inline int8x16_t
9683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_s8(int8x16_t __a,int8x16_t __b)9684 vpaddq_s8 (int8x16_t __a, int8x16_t __b)
9685 {
9686   int8x16_t __result;
9687   __asm__ ("addp %0.16b,%1.16b,%2.16b"
9688            : "=w"(__result)
9689            : "w"(__a), "w"(__b)
9690            : /* No clobbers */);
9691   return __result;
9692 }
9693 
9694 __extension__ extern __inline int16x8_t
9695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_s16(int16x8_t __a,int16x8_t __b)9696 vpaddq_s16 (int16x8_t __a, int16x8_t __b)
9697 {
9698   int16x8_t __result;
9699   __asm__ ("addp %0.8h,%1.8h,%2.8h"
9700            : "=w"(__result)
9701            : "w"(__a), "w"(__b)
9702            : /* No clobbers */);
9703   return __result;
9704 }
9705 
9706 __extension__ extern __inline int32x4_t
9707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_s32(int32x4_t __a,int32x4_t __b)9708 vpaddq_s32 (int32x4_t __a, int32x4_t __b)
9709 {
9710   int32x4_t __result;
9711   __asm__ ("addp %0.4s,%1.4s,%2.4s"
9712            : "=w"(__result)
9713            : "w"(__a), "w"(__b)
9714            : /* No clobbers */);
9715   return __result;
9716 }
9717 
9718 __extension__ extern __inline int64x2_t
9719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_s64(int64x2_t __a,int64x2_t __b)9720 vpaddq_s64 (int64x2_t __a, int64x2_t __b)
9721 {
9722   int64x2_t __result;
9723   __asm__ ("addp %0.2d,%1.2d,%2.2d"
9724            : "=w"(__result)
9725            : "w"(__a), "w"(__b)
9726            : /* No clobbers */);
9727   return __result;
9728 }
9729 
9730 __extension__ extern __inline uint8x16_t
9731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_u8(uint8x16_t __a,uint8x16_t __b)9732 vpaddq_u8 (uint8x16_t __a, uint8x16_t __b)
9733 {
9734   uint8x16_t __result;
9735   __asm__ ("addp %0.16b,%1.16b,%2.16b"
9736            : "=w"(__result)
9737            : "w"(__a), "w"(__b)
9738            : /* No clobbers */);
9739   return __result;
9740 }
9741 
9742 __extension__ extern __inline uint16x8_t
9743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_u16(uint16x8_t __a,uint16x8_t __b)9744 vpaddq_u16 (uint16x8_t __a, uint16x8_t __b)
9745 {
9746   uint16x8_t __result;
9747   __asm__ ("addp %0.8h,%1.8h,%2.8h"
9748            : "=w"(__result)
9749            : "w"(__a), "w"(__b)
9750            : /* No clobbers */);
9751   return __result;
9752 }
9753 
9754 __extension__ extern __inline uint32x4_t
9755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_u32(uint32x4_t __a,uint32x4_t __b)9756 vpaddq_u32 (uint32x4_t __a, uint32x4_t __b)
9757 {
9758   uint32x4_t __result;
9759   __asm__ ("addp %0.4s,%1.4s,%2.4s"
9760            : "=w"(__result)
9761            : "w"(__a), "w"(__b)
9762            : /* No clobbers */);
9763   return __result;
9764 }
9765 
9766 __extension__ extern __inline uint64x2_t
9767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_u64(uint64x2_t __a,uint64x2_t __b)9768 vpaddq_u64 (uint64x2_t __a, uint64x2_t __b)
9769 {
9770   uint64x2_t __result;
9771   __asm__ ("addp %0.2d,%1.2d,%2.2d"
9772            : "=w"(__result)
9773            : "w"(__a), "w"(__b)
9774            : /* No clobbers */);
9775   return __result;
9776 }
9777 
9778 __extension__ extern __inline int16x4_t
9779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_n_s16(int16x4_t __a,int16_t __b)9780 vqdmulh_n_s16 (int16x4_t __a, int16_t __b)
9781 {
9782   int16x4_t __result;
9783   __asm__ ("sqdmulh %0.4h,%1.4h,%2.h[0]"
9784            : "=w"(__result)
9785            : "w"(__a), "x"(__b)
9786            : /* No clobbers */);
9787   return __result;
9788 }
9789 
9790 __extension__ extern __inline int32x2_t
9791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_n_s32(int32x2_t __a,int32_t __b)9792 vqdmulh_n_s32 (int32x2_t __a, int32_t __b)
9793 {
9794   int32x2_t __result;
9795   __asm__ ("sqdmulh %0.2s,%1.2s,%2.s[0]"
9796            : "=w"(__result)
9797            : "w"(__a), "w"(__b)
9798            : /* No clobbers */);
9799   return __result;
9800 }
9801 
9802 __extension__ extern __inline int16x8_t
9803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_n_s16(int16x8_t __a,int16_t __b)9804 vqdmulhq_n_s16 (int16x8_t __a, int16_t __b)
9805 {
9806   int16x8_t __result;
9807   __asm__ ("sqdmulh %0.8h,%1.8h,%2.h[0]"
9808            : "=w"(__result)
9809            : "w"(__a), "x"(__b)
9810            : /* No clobbers */);
9811   return __result;
9812 }
9813 
9814 __extension__ extern __inline int32x4_t
9815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_n_s32(int32x4_t __a,int32_t __b)9816 vqdmulhq_n_s32 (int32x4_t __a, int32_t __b)
9817 {
9818   int32x4_t __result;
9819   __asm__ ("sqdmulh %0.4s,%1.4s,%2.s[0]"
9820            : "=w"(__result)
9821            : "w"(__a), "w"(__b)
9822            : /* No clobbers */);
9823   return __result;
9824 }
9825 
9826 __extension__ extern __inline int8x16_t
9827 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_s16(int8x8_t __a,int16x8_t __b)9828 vqmovn_high_s16 (int8x8_t __a, int16x8_t __b)
9829 {
9830   int8x16_t __result = vcombine_s8 (__a, vcreate_s8 (__AARCH64_UINT64_C (0x0)));
9831   __asm__ ("sqxtn2 %0.16b, %1.8h"
9832            : "+w"(__result)
9833            : "w"(__b)
9834            : /* No clobbers */);
9835   return __result;
9836 }
9837 
9838 __extension__ extern __inline int16x8_t
9839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_s32(int16x4_t __a,int32x4_t __b)9840 vqmovn_high_s32 (int16x4_t __a, int32x4_t __b)
9841 {
9842   int16x8_t __result = vcombine_s16 (__a, vcreate_s16 (__AARCH64_UINT64_C (0x0)));
9843   __asm__ ("sqxtn2 %0.8h, %1.4s"
9844            : "+w"(__result)
9845            : "w"(__b)
9846            : /* No clobbers */);
9847   return __result;
9848 }
9849 
9850 __extension__ extern __inline int32x4_t
9851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_s64(int32x2_t __a,int64x2_t __b)9852 vqmovn_high_s64 (int32x2_t __a, int64x2_t __b)
9853 {
9854   int32x4_t __result = vcombine_s32 (__a, vcreate_s32 (__AARCH64_UINT64_C (0x0)));
9855   __asm__ ("sqxtn2 %0.4s, %1.2d"
9856            : "+w"(__result)
9857            : "w"(__b)
9858            : /* No clobbers */);
9859   return __result;
9860 }
9861 
9862 __extension__ extern __inline uint8x16_t
9863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_u16(uint8x8_t __a,uint16x8_t __b)9864 vqmovn_high_u16 (uint8x8_t __a, uint16x8_t __b)
9865 {
9866   uint8x16_t __result = vcombine_u8 (__a, vcreate_u8 (__AARCH64_UINT64_C (0x0)));
9867   __asm__ ("uqxtn2 %0.16b, %1.8h"
9868            : "+w"(__result)
9869            : "w"(__b)
9870            : /* No clobbers */);
9871   return __result;
9872 }
9873 
9874 __extension__ extern __inline uint16x8_t
9875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_u32(uint16x4_t __a,uint32x4_t __b)9876 vqmovn_high_u32 (uint16x4_t __a, uint32x4_t __b)
9877 {
9878   uint16x8_t __result = vcombine_u16 (__a, vcreate_u16 (__AARCH64_UINT64_C (0x0)));
9879   __asm__ ("uqxtn2 %0.8h, %1.4s"
9880            : "+w"(__result)
9881            : "w"(__b)
9882            : /* No clobbers */);
9883   return __result;
9884 }
9885 
9886 __extension__ extern __inline uint32x4_t
9887 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_u64(uint32x2_t __a,uint64x2_t __b)9888 vqmovn_high_u64 (uint32x2_t __a, uint64x2_t __b)
9889 {
9890   uint32x4_t __result = vcombine_u32 (__a, vcreate_u32 (__AARCH64_UINT64_C (0x0)));
9891   __asm__ ("uqxtn2 %0.4s, %1.2d"
9892            : "+w"(__result)
9893            : "w"(__b)
9894            : /* No clobbers */);
9895   return __result;
9896 }
9897 
9898 __extension__ extern __inline uint8x16_t
9899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_high_s16(uint8x8_t __a,int16x8_t __b)9900 vqmovun_high_s16 (uint8x8_t __a, int16x8_t __b)
9901 {
9902   uint8x16_t __result = vcombine_u8 (__a, vcreate_u8 (__AARCH64_UINT64_C (0x0)));
9903   __asm__ ("sqxtun2 %0.16b, %1.8h"
9904            : "+w"(__result)
9905            : "w"(__b)
9906            : /* No clobbers */);
9907   return __result;
9908 }
9909 
9910 __extension__ extern __inline uint16x8_t
9911 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_high_s32(uint16x4_t __a,int32x4_t __b)9912 vqmovun_high_s32 (uint16x4_t __a, int32x4_t __b)
9913 {
9914   uint16x8_t __result = vcombine_u16 (__a, vcreate_u16 (__AARCH64_UINT64_C (0x0)));
9915   __asm__ ("sqxtun2 %0.8h, %1.4s"
9916            : "+w"(__result)
9917            : "w"(__b)
9918            : /* No clobbers */);
9919   return __result;
9920 }
9921 
9922 __extension__ extern __inline uint32x4_t
9923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_high_s64(uint32x2_t __a,int64x2_t __b)9924 vqmovun_high_s64 (uint32x2_t __a, int64x2_t __b)
9925 {
9926   uint32x4_t __result = vcombine_u32 (__a, vcreate_u32 (__AARCH64_UINT64_C (0x0)));
9927   __asm__ ("sqxtun2 %0.4s, %1.2d"
9928            : "+w"(__result)
9929            : "w"(__b)
9930            : /* No clobbers */);
9931   return __result;
9932 }
9933 
9934 __extension__ extern __inline int16x4_t
9935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_n_s16(int16x4_t __a,int16_t __b)9936 vqrdmulh_n_s16 (int16x4_t __a, int16_t __b)
9937 {
9938   int16x4_t __result;
9939   __asm__ ("sqrdmulh %0.4h,%1.4h,%2.h[0]"
9940            : "=w"(__result)
9941            : "w"(__a), "x"(__b)
9942            : /* No clobbers */);
9943   return __result;
9944 }
9945 
9946 __extension__ extern __inline int32x2_t
9947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_n_s32(int32x2_t __a,int32_t __b)9948 vqrdmulh_n_s32 (int32x2_t __a, int32_t __b)
9949 {
9950   int32x2_t __result;
9951   __asm__ ("sqrdmulh %0.2s,%1.2s,%2.s[0]"
9952            : "=w"(__result)
9953            : "w"(__a), "w"(__b)
9954            : /* No clobbers */);
9955   return __result;
9956 }
9957 
9958 __extension__ extern __inline int16x8_t
9959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_n_s16(int16x8_t __a,int16_t __b)9960 vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b)
9961 {
9962   int16x8_t __result;
9963   __asm__ ("sqrdmulh %0.8h,%1.8h,%2.h[0]"
9964            : "=w"(__result)
9965            : "w"(__a), "x"(__b)
9966            : /* No clobbers */);
9967   return __result;
9968 }
9969 
9970 __extension__ extern __inline int32x4_t
9971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_n_s32(int32x4_t __a,int32_t __b)9972 vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b)
9973 {
9974   int32x4_t __result;
9975   __asm__ ("sqrdmulh %0.4s,%1.4s,%2.s[0]"
9976            : "=w"(__result)
9977            : "w"(__a), "w"(__b)
9978            : /* No clobbers */);
9979   return __result;
9980 }
9981 
9982 #define vqrshrn_high_n_s16(a, b, c)                                     \
9983   __extension__                                                         \
9984     ({                                                                  \
9985        int16x8_t b_ = (b);                                              \
9986        int8x8_t a_ = (a);                                               \
9987        int8x16_t result = vcombine_s8                                   \
9988                             (a_, vcreate_s8                             \
9989                                    (__AARCH64_UINT64_C (0x0)));         \
9990        __asm__ ("sqrshrn2 %0.16b, %1.8h, #%2"                           \
9991                 : "+w"(result)                                          \
9992                 : "w"(b_), "i"(c)                                       \
9993                 : /* No clobbers */);                                   \
9994        result;                                                          \
9995      })
9996 
9997 #define vqrshrn_high_n_s32(a, b, c)                                     \
9998   __extension__                                                         \
9999     ({                                                                  \
10000        int32x4_t b_ = (b);                                              \
10001        int16x4_t a_ = (a);                                              \
10002        int16x8_t result = vcombine_s16                                  \
10003                             (a_, vcreate_s16                            \
10004                                    (__AARCH64_UINT64_C (0x0)));         \
10005        __asm__ ("sqrshrn2 %0.8h, %1.4s, #%2"                            \
10006                 : "+w"(result)                                          \
10007                 : "w"(b_), "i"(c)                                       \
10008                 : /* No clobbers */);                                   \
10009        result;                                                          \
10010      })
10011 
10012 #define vqrshrn_high_n_s64(a, b, c)                                     \
10013   __extension__                                                         \
10014     ({                                                                  \
10015        int64x2_t b_ = (b);                                              \
10016        int32x2_t a_ = (a);                                              \
10017        int32x4_t result = vcombine_s32                                  \
10018                             (a_, vcreate_s32                            \
10019                                    (__AARCH64_UINT64_C (0x0)));         \
10020        __asm__ ("sqrshrn2 %0.4s, %1.2d, #%2"                            \
10021                 : "+w"(result)                                          \
10022                 : "w"(b_), "i"(c)                                       \
10023                 : /* No clobbers */);                                   \
10024        result;                                                          \
10025      })
10026 
10027 #define vqrshrn_high_n_u16(a, b, c)                                     \
10028   __extension__                                                         \
10029     ({                                                                  \
10030        uint16x8_t b_ = (b);                                             \
10031        uint8x8_t a_ = (a);                                              \
10032        uint8x16_t result = vcombine_u8                                  \
10033                              (a_, vcreate_u8                            \
10034                                     (__AARCH64_UINT64_C (0x0)));        \
10035        __asm__ ("uqrshrn2 %0.16b, %1.8h, #%2"                           \
10036                 : "+w"(result)                                          \
10037                 : "w"(b_), "i"(c)                                       \
10038                 : /* No clobbers */);                                   \
10039        result;                                                          \
10040      })
10041 
10042 #define vqrshrn_high_n_u32(a, b, c)                                     \
10043   __extension__                                                         \
10044     ({                                                                  \
10045        uint32x4_t b_ = (b);                                             \
10046        uint16x4_t a_ = (a);                                             \
10047        uint16x8_t result = vcombine_u16                                 \
10048                              (a_, vcreate_u16                           \
10049                                     (__AARCH64_UINT64_C (0x0)));        \
10050        __asm__ ("uqrshrn2 %0.8h, %1.4s, #%2"                            \
10051                 : "+w"(result)                                          \
10052                 : "w"(b_), "i"(c)                                       \
10053                 : /* No clobbers */);                                   \
10054        result;                                                          \
10055      })
10056 
10057 #define vqrshrn_high_n_u64(a, b, c)                                     \
10058   __extension__                                                         \
10059     ({                                                                  \
10060        uint64x2_t b_ = (b);                                             \
10061        uint32x2_t a_ = (a);                                             \
10062        uint32x4_t result = vcombine_u32                                 \
10063                              (a_, vcreate_u32                           \
10064                                     (__AARCH64_UINT64_C (0x0)));        \
10065        __asm__ ("uqrshrn2 %0.4s, %1.2d, #%2"                            \
10066                 : "+w"(result)                                          \
10067                 : "w"(b_), "i"(c)                                       \
10068                 : /* No clobbers */);                                   \
10069        result;                                                          \
10070      })
10071 
10072 #define vqrshrun_high_n_s16(a, b, c)                                    \
10073   __extension__                                                         \
10074     ({                                                                  \
10075        int16x8_t b_ = (b);                                              \
10076        uint8x8_t a_ = (a);                                              \
10077        uint8x16_t result = vcombine_u8                                  \
10078                              (a_, vcreate_u8                            \
10079                                     (__AARCH64_UINT64_C (0x0)));        \
10080        __asm__ ("sqrshrun2 %0.16b, %1.8h, #%2"                          \
10081                 : "+w"(result)                                          \
10082                 : "w"(b_), "i"(c)                                       \
10083                 : /* No clobbers */);                                   \
10084        result;                                                          \
10085      })
10086 
10087 #define vqrshrun_high_n_s32(a, b, c)                                    \
10088   __extension__                                                         \
10089     ({                                                                  \
10090        int32x4_t b_ = (b);                                              \
10091        uint16x4_t a_ = (a);                                             \
10092        uint16x8_t result = vcombine_u16                                 \
10093                              (a_, vcreate_u16                           \
10094                                     (__AARCH64_UINT64_C (0x0)));        \
10095        __asm__ ("sqrshrun2 %0.8h, %1.4s, #%2"                           \
10096                 : "+w"(result)                                          \
10097                 : "w"(b_), "i"(c)                                       \
10098                 : /* No clobbers */);                                   \
10099        result;                                                          \
10100      })
10101 
10102 #define vqrshrun_high_n_s64(a, b, c)                                    \
10103   __extension__                                                         \
10104     ({                                                                  \
10105        int64x2_t b_ = (b);                                              \
10106        uint32x2_t a_ = (a);                                             \
10107        uint32x4_t result = vcombine_u32                                 \
10108                              (a_, vcreate_u32                           \
10109                                     (__AARCH64_UINT64_C (0x0)));        \
10110        __asm__ ("sqrshrun2 %0.4s, %1.2d, #%2"                           \
10111                 : "+w"(result)                                          \
10112                 : "w"(b_), "i"(c)                                       \
10113                 : /* No clobbers */);                                   \
10114        result;                                                          \
10115      })
10116 
10117 #define vqshrn_high_n_s16(a, b, c)                                      \
10118   __extension__                                                         \
10119     ({                                                                  \
10120        int16x8_t b_ = (b);                                              \
10121        int8x8_t a_ = (a);                                               \
10122        int8x16_t result = vcombine_s8                                   \
10123                             (a_, vcreate_s8                             \
10124                                    (__AARCH64_UINT64_C (0x0)));         \
10125        __asm__ ("sqshrn2 %0.16b, %1.8h, #%2"                            \
10126                 : "+w"(result)                                          \
10127                 : "w"(b_), "i"(c)                                       \
10128                 : /* No clobbers */);                                   \
10129        result;                                                          \
10130      })
10131 
10132 #define vqshrn_high_n_s32(a, b, c)                                      \
10133   __extension__                                                         \
10134     ({                                                                  \
10135        int32x4_t b_ = (b);                                              \
10136        int16x4_t a_ = (a);                                              \
10137        int16x8_t result = vcombine_s16                                  \
10138                             (a_, vcreate_s16                            \
10139                                    (__AARCH64_UINT64_C (0x0)));         \
10140        __asm__ ("sqshrn2 %0.8h, %1.4s, #%2"                             \
10141                 : "+w"(result)                                          \
10142                 : "w"(b_), "i"(c)                                       \
10143                 : /* No clobbers */);                                   \
10144        result;                                                          \
10145      })
10146 
10147 #define vqshrn_high_n_s64(a, b, c)                                      \
10148   __extension__                                                         \
10149     ({                                                                  \
10150        int64x2_t b_ = (b);                                              \
10151        int32x2_t a_ = (a);                                              \
10152        int32x4_t result = vcombine_s32                                  \
10153                             (a_, vcreate_s32                            \
10154                                    (__AARCH64_UINT64_C (0x0)));         \
10155        __asm__ ("sqshrn2 %0.4s, %1.2d, #%2"                             \
10156                 : "+w"(result)                                          \
10157                 : "w"(b_), "i"(c)                                       \
10158                 : /* No clobbers */);                                   \
10159        result;                                                          \
10160      })
10161 
10162 #define vqshrn_high_n_u16(a, b, c)                                      \
10163   __extension__                                                         \
10164     ({                                                                  \
10165        uint16x8_t b_ = (b);                                             \
10166        uint8x8_t a_ = (a);                                              \
10167        uint8x16_t result = vcombine_u8                                  \
10168                              (a_, vcreate_u8                            \
10169                                     (__AARCH64_UINT64_C (0x0)));        \
10170        __asm__ ("uqshrn2 %0.16b, %1.8h, #%2"                            \
10171                 : "+w"(result)                                          \
10172                 : "w"(b_), "i"(c)                                       \
10173                 : /* No clobbers */);                                   \
10174        result;                                                          \
10175      })
10176 
10177 #define vqshrn_high_n_u32(a, b, c)                                      \
10178   __extension__                                                         \
10179     ({                                                                  \
10180        uint32x4_t b_ = (b);                                             \
10181        uint16x4_t a_ = (a);                                             \
10182        uint16x8_t result = vcombine_u16                                 \
10183                              (a_, vcreate_u16                           \
10184                                     (__AARCH64_UINT64_C (0x0)));        \
10185        __asm__ ("uqshrn2 %0.8h, %1.4s, #%2"                             \
10186                 : "+w"(result)                                          \
10187                 : "w"(b_), "i"(c)                                       \
10188                 : /* No clobbers */);                                   \
10189        result;                                                          \
10190      })
10191 
10192 #define vqshrn_high_n_u64(a, b, c)                                      \
10193   __extension__                                                         \
10194     ({                                                                  \
10195        uint64x2_t b_ = (b);                                             \
10196        uint32x2_t a_ = (a);                                             \
10197        uint32x4_t result = vcombine_u32                                 \
10198                              (a_, vcreate_u32                           \
10199                                     (__AARCH64_UINT64_C (0x0)));        \
10200        __asm__ ("uqshrn2 %0.4s, %1.2d, #%2"                             \
10201                 : "+w"(result)                                          \
10202                 : "w"(b_), "i"(c)                                       \
10203                 : /* No clobbers */);                                   \
10204        result;                                                          \
10205      })
10206 
10207 #define vqshrun_high_n_s16(a, b, c)                                     \
10208   __extension__                                                         \
10209     ({                                                                  \
10210        int16x8_t b_ = (b);                                              \
10211        uint8x8_t a_ = (a);                                              \
10212        uint8x16_t result = vcombine_u8                                  \
10213                              (a_, vcreate_u8                            \
10214                                     (__AARCH64_UINT64_C (0x0)));        \
10215        __asm__ ("sqshrun2 %0.16b, %1.8h, #%2"                           \
10216                 : "+w"(result)                                          \
10217                 : "w"(b_), "i"(c)                                       \
10218                 : /* No clobbers */);                                   \
10219        result;                                                          \
10220      })
10221 
10222 #define vqshrun_high_n_s32(a, b, c)                                     \
10223   __extension__                                                         \
10224     ({                                                                  \
10225        int32x4_t b_ = (b);                                              \
10226        uint16x4_t a_ = (a);                                             \
10227        uint16x8_t result = vcombine_u16                                 \
10228                              (a_, vcreate_u16                           \
10229                                     (__AARCH64_UINT64_C (0x0)));        \
10230        __asm__ ("sqshrun2 %0.8h, %1.4s, #%2"                            \
10231                 : "+w"(result)                                          \
10232                 : "w"(b_), "i"(c)                                       \
10233                 : /* No clobbers */);                                   \
10234        result;                                                          \
10235      })
10236 
10237 #define vqshrun_high_n_s64(a, b, c)                                     \
10238   __extension__                                                         \
10239     ({                                                                  \
10240        int64x2_t b_ = (b);                                              \
10241        uint32x2_t a_ = (a);                                             \
10242        uint32x4_t result = vcombine_u32                                 \
10243                              (a_, vcreate_u32                           \
10244                                     (__AARCH64_UINT64_C (0x0)));        \
10245        __asm__ ("sqshrun2 %0.4s, %1.2d, #%2"                            \
10246                 : "+w"(result)                                          \
10247                 : "w"(b_), "i"(c)                                       \
10248                 : /* No clobbers */);                                   \
10249        result;                                                          \
10250      })
10251 
10252 #define vrshrn_high_n_s16(a, b, c)                                      \
10253   __extension__                                                         \
10254     ({                                                                  \
10255        int16x8_t b_ = (b);                                              \
10256        int8x8_t a_ = (a);                                               \
10257        int8x16_t result = vcombine_s8                                   \
10258                             (a_, vcreate_s8                             \
10259                                    (__AARCH64_UINT64_C (0x0)));         \
10260        __asm__ ("rshrn2 %0.16b,%1.8h,#%2"                               \
10261                 : "+w"(result)                                          \
10262                 : "w"(b_), "i"(c)                                       \
10263                 : /* No clobbers */);                                   \
10264        result;                                                          \
10265      })
10266 
10267 #define vrshrn_high_n_s32(a, b, c)                                      \
10268   __extension__                                                         \
10269     ({                                                                  \
10270        int32x4_t b_ = (b);                                              \
10271        int16x4_t a_ = (a);                                              \
10272        int16x8_t result = vcombine_s16                                  \
10273                             (a_, vcreate_s16                            \
10274                                    (__AARCH64_UINT64_C (0x0)));         \
10275        __asm__ ("rshrn2 %0.8h,%1.4s,#%2"                                \
10276                 : "+w"(result)                                          \
10277                 : "w"(b_), "i"(c)                                       \
10278                 : /* No clobbers */);                                   \
10279        result;                                                          \
10280      })
10281 
10282 #define vrshrn_high_n_s64(a, b, c)                                      \
10283   __extension__                                                         \
10284     ({                                                                  \
10285        int64x2_t b_ = (b);                                              \
10286        int32x2_t a_ = (a);                                              \
10287        int32x4_t result = vcombine_s32                                  \
10288                             (a_, vcreate_s32                            \
10289                                    (__AARCH64_UINT64_C (0x0)));         \
10290        __asm__ ("rshrn2 %0.4s,%1.2d,#%2"                                \
10291                 : "+w"(result)                                          \
10292                 : "w"(b_), "i"(c)                                       \
10293                 : /* No clobbers */);                                   \
10294        result;                                                          \
10295      })
10296 
10297 #define vrshrn_high_n_u16(a, b, c)                                      \
10298   __extension__                                                         \
10299     ({                                                                  \
10300        uint16x8_t b_ = (b);                                             \
10301        uint8x8_t a_ = (a);                                              \
10302        uint8x16_t result = vcombine_u8                                  \
10303                             (a_, vcreate_u8                             \
10304                                    (__AARCH64_UINT64_C (0x0)));         \
10305        __asm__ ("rshrn2 %0.16b,%1.8h,#%2"                               \
10306                 : "+w"(result)                                          \
10307                 : "w"(b_), "i"(c)                                       \
10308                 : /* No clobbers */);                                   \
10309        result;                                                          \
10310      })
10311 
10312 #define vrshrn_high_n_u32(a, b, c)                                      \
10313   __extension__                                                         \
10314     ({                                                                  \
10315        uint32x4_t b_ = (b);                                             \
10316        uint16x4_t a_ = (a);                                             \
10317        uint16x8_t result = vcombine_u16                                 \
10318                             (a_, vcreate_u16                            \
10319                                    (__AARCH64_UINT64_C (0x0)));         \
10320        __asm__ ("rshrn2 %0.8h,%1.4s,#%2"                                \
10321                 : "+w"(result)                                          \
10322                 : "w"(b_), "i"(c)                                       \
10323                 : /* No clobbers */);                                   \
10324        result;                                                          \
10325      })
10326 
10327 #define vrshrn_high_n_u64(a, b, c)                                      \
10328   __extension__                                                         \
10329     ({                                                                  \
10330        uint64x2_t b_ = (b);                                             \
10331        uint32x2_t a_ = (a);                                             \
10332        uint32x4_t result = vcombine_u32                                 \
10333                             (a_, vcreate_u32                            \
10334                                    (__AARCH64_UINT64_C (0x0)));         \
10335        __asm__ ("rshrn2 %0.4s,%1.2d,#%2"                                \
10336                 : "+w"(result)                                          \
10337                 : "w"(b_), "i"(c)                                       \
10338                 : /* No clobbers */);                                   \
10339        result;                                                          \
10340      })
10341 
10342 #define vrshrn_n_s16(a, b)                                              \
10343   __extension__                                                         \
10344     ({                                                                  \
10345        int16x8_t a_ = (a);                                              \
10346        int8x8_t result;                                                 \
10347        __asm__ ("rshrn %0.8b,%1.8h,%2"                                  \
10348                 : "=w"(result)                                          \
10349                 : "w"(a_), "i"(b)                                       \
10350                 : /* No clobbers */);                                   \
10351        result;                                                          \
10352      })
10353 
10354 #define vrshrn_n_s32(a, b)                                              \
10355   __extension__                                                         \
10356     ({                                                                  \
10357        int32x4_t a_ = (a);                                              \
10358        int16x4_t result;                                                \
10359        __asm__ ("rshrn %0.4h,%1.4s,%2"                                  \
10360                 : "=w"(result)                                          \
10361                 : "w"(a_), "i"(b)                                       \
10362                 : /* No clobbers */);                                   \
10363        result;                                                          \
10364      })
10365 
10366 #define vrshrn_n_s64(a, b)                                              \
10367   __extension__                                                         \
10368     ({                                                                  \
10369        int64x2_t a_ = (a);                                              \
10370        int32x2_t result;                                                \
10371        __asm__ ("rshrn %0.2s,%1.2d,%2"                                  \
10372                 : "=w"(result)                                          \
10373                 : "w"(a_), "i"(b)                                       \
10374                 : /* No clobbers */);                                   \
10375        result;                                                          \
10376      })
10377 
10378 #define vrshrn_n_u16(a, b)                                              \
10379   __extension__                                                         \
10380     ({                                                                  \
10381        uint16x8_t a_ = (a);                                             \
10382        uint8x8_t result;                                                \
10383        __asm__ ("rshrn %0.8b,%1.8h,%2"                                  \
10384                 : "=w"(result)                                          \
10385                 : "w"(a_), "i"(b)                                       \
10386                 : /* No clobbers */);                                   \
10387        result;                                                          \
10388      })
10389 
10390 #define vrshrn_n_u32(a, b)                                              \
10391   __extension__                                                         \
10392     ({                                                                  \
10393        uint32x4_t a_ = (a);                                             \
10394        uint16x4_t result;                                               \
10395        __asm__ ("rshrn %0.4h,%1.4s,%2"                                  \
10396                 : "=w"(result)                                          \
10397                 : "w"(a_), "i"(b)                                       \
10398                 : /* No clobbers */);                                   \
10399        result;                                                          \
10400      })
10401 
10402 #define vrshrn_n_u64(a, b)                                              \
10403   __extension__                                                         \
10404     ({                                                                  \
10405        uint64x2_t a_ = (a);                                             \
10406        uint32x2_t result;                                               \
10407        __asm__ ("rshrn %0.2s,%1.2d,%2"                                  \
10408                 : "=w"(result)                                          \
10409                 : "w"(a_), "i"(b)                                       \
10410                 : /* No clobbers */);                                   \
10411        result;                                                          \
10412      })
10413 
10414 __extension__ extern __inline uint32x2_t
10415 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_u32(uint32x2_t __a)10416 vrsqrte_u32 (uint32x2_t __a)
10417 {
10418   uint32x2_t __result;
10419   __asm__ ("ursqrte %0.2s,%1.2s"
10420            : "=w"(__result)
10421            : "w"(__a)
10422            : /* No clobbers */);
10423   return __result;
10424 }
10425 
10426 __extension__ extern __inline uint32x4_t
10427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_u32(uint32x4_t __a)10428 vrsqrteq_u32 (uint32x4_t __a)
10429 {
10430   uint32x4_t __result;
10431   __asm__ ("ursqrte %0.4s,%1.4s"
10432            : "=w"(__result)
10433            : "w"(__a)
10434            : /* No clobbers */);
10435   return __result;
10436 }
10437 
10438 #define vshrn_high_n_s16(a, b, c)                                       \
10439   __extension__                                                         \
10440     ({                                                                  \
10441        int16x8_t b_ = (b);                                              \
10442        int8x8_t a_ = (a);                                               \
10443        int8x16_t result = vcombine_s8                                   \
10444                             (a_, vcreate_s8                             \
10445                                    (__AARCH64_UINT64_C (0x0)));         \
10446        __asm__ ("shrn2 %0.16b,%1.8h,#%2"                                \
10447                 : "+w"(result)                                          \
10448                 : "w"(b_), "i"(c)                                       \
10449                 : /* No clobbers */);                                   \
10450        result;                                                          \
10451      })
10452 
10453 #define vshrn_high_n_s32(a, b, c)                                       \
10454   __extension__                                                         \
10455     ({                                                                  \
10456        int32x4_t b_ = (b);                                              \
10457        int16x4_t a_ = (a);                                              \
10458        int16x8_t result = vcombine_s16                                  \
10459                             (a_, vcreate_s16                            \
10460                                    (__AARCH64_UINT64_C (0x0)));         \
10461        __asm__ ("shrn2 %0.8h,%1.4s,#%2"                                 \
10462                 : "+w"(result)                                          \
10463                 : "w"(b_), "i"(c)                                       \
10464                 : /* No clobbers */);                                   \
10465        result;                                                          \
10466      })
10467 
10468 #define vshrn_high_n_s64(a, b, c)                                       \
10469   __extension__                                                         \
10470     ({                                                                  \
10471        int64x2_t b_ = (b);                                              \
10472        int32x2_t a_ = (a);                                              \
10473        int32x4_t result = vcombine_s32                                  \
10474                             (a_, vcreate_s32                            \
10475                                    (__AARCH64_UINT64_C (0x0)));         \
10476        __asm__ ("shrn2 %0.4s,%1.2d,#%2"                                 \
10477                 : "+w"(result)                                          \
10478                 : "w"(b_), "i"(c)                                       \
10479                 : /* No clobbers */);                                   \
10480        result;                                                          \
10481      })
10482 
10483 #define vshrn_high_n_u16(a, b, c)                                       \
10484   __extension__                                                         \
10485     ({                                                                  \
10486        uint16x8_t b_ = (b);                                             \
10487        uint8x8_t a_ = (a);                                              \
10488        uint8x16_t result = vcombine_u8                                  \
10489                             (a_, vcreate_u8                             \
10490                                    (__AARCH64_UINT64_C (0x0)));         \
10491        __asm__ ("shrn2 %0.16b,%1.8h,#%2"                                \
10492                 : "+w"(result)                                          \
10493                 : "w"(b_), "i"(c)                                       \
10494                 : /* No clobbers */);                                   \
10495        result;                                                          \
10496      })
10497 
10498 #define vshrn_high_n_u32(a, b, c)                                       \
10499   __extension__                                                         \
10500     ({                                                                  \
10501        uint32x4_t b_ = (b);                                             \
10502        uint16x4_t a_ = (a);                                             \
10503        uint16x8_t result = vcombine_u16                                 \
10504                             (a_, vcreate_u16                            \
10505                                    (__AARCH64_UINT64_C (0x0)));         \
10506        __asm__ ("shrn2 %0.8h,%1.4s,#%2"                                 \
10507                 : "+w"(result)                                          \
10508                 : "w"(b_), "i"(c)                                       \
10509                 : /* No clobbers */);                                   \
10510        result;                                                          \
10511      })
10512 
10513 #define vshrn_high_n_u64(a, b, c)                                       \
10514   __extension__                                                         \
10515     ({                                                                  \
10516        uint64x2_t b_ = (b);                                             \
10517        uint32x2_t a_ = (a);                                             \
10518        uint32x4_t result = vcombine_u32                                 \
10519                             (a_, vcreate_u32                            \
10520                                    (__AARCH64_UINT64_C (0x0)));         \
10521        __asm__ ("shrn2 %0.4s,%1.2d,#%2"                                 \
10522                 : "+w"(result)                                          \
10523                 : "w"(b_), "i"(c)                                       \
10524                 : /* No clobbers */);                                   \
10525        result;                                                          \
10526      })
10527 
10528 #define vshrn_n_s16(a, b)                                               \
10529   __extension__                                                         \
10530     ({                                                                  \
10531        int16x8_t a_ = (a);                                              \
10532        int8x8_t result;                                                 \
10533        __asm__ ("shrn %0.8b,%1.8h,%2"                                   \
10534                 : "=w"(result)                                          \
10535                 : "w"(a_), "i"(b)                                       \
10536                 : /* No clobbers */);                                   \
10537        result;                                                          \
10538      })
10539 
10540 #define vshrn_n_s32(a, b)                                               \
10541   __extension__                                                         \
10542     ({                                                                  \
10543        int32x4_t a_ = (a);                                              \
10544        int16x4_t result;                                                \
10545        __asm__ ("shrn %0.4h,%1.4s,%2"                                   \
10546                 : "=w"(result)                                          \
10547                 : "w"(a_), "i"(b)                                       \
10548                 : /* No clobbers */);                                   \
10549        result;                                                          \
10550      })
10551 
10552 #define vshrn_n_s64(a, b)                                               \
10553   __extension__                                                         \
10554     ({                                                                  \
10555        int64x2_t a_ = (a);                                              \
10556        int32x2_t result;                                                \
10557        __asm__ ("shrn %0.2s,%1.2d,%2"                                   \
10558                 : "=w"(result)                                          \
10559                 : "w"(a_), "i"(b)                                       \
10560                 : /* No clobbers */);                                   \
10561        result;                                                          \
10562      })
10563 
10564 #define vshrn_n_u16(a, b)                                               \
10565   __extension__                                                         \
10566     ({                                                                  \
10567        uint16x8_t a_ = (a);                                             \
10568        uint8x8_t result;                                                \
10569        __asm__ ("shrn %0.8b,%1.8h,%2"                                   \
10570                 : "=w"(result)                                          \
10571                 : "w"(a_), "i"(b)                                       \
10572                 : /* No clobbers */);                                   \
10573        result;                                                          \
10574      })
10575 
10576 #define vshrn_n_u32(a, b)                                               \
10577   __extension__                                                         \
10578     ({                                                                  \
10579        uint32x4_t a_ = (a);                                             \
10580        uint16x4_t result;                                               \
10581        __asm__ ("shrn %0.4h,%1.4s,%2"                                   \
10582                 : "=w"(result)                                          \
10583                 : "w"(a_), "i"(b)                                       \
10584                 : /* No clobbers */);                                   \
10585        result;                                                          \
10586      })
10587 
10588 #define vshrn_n_u64(a, b)                                               \
10589   __extension__                                                         \
10590     ({                                                                  \
10591        uint64x2_t a_ = (a);                                             \
10592        uint32x2_t result;                                               \
10593        __asm__ ("shrn %0.2s,%1.2d,%2"                                   \
10594                 : "=w"(result)                                          \
10595                 : "w"(a_), "i"(b)                                       \
10596                 : /* No clobbers */);                                   \
10597        result;                                                          \
10598      })
10599 
10600 #define vsli_n_p8(a, b, c)                                              \
10601   __extension__                                                         \
10602     ({                                                                  \
10603        poly8x8_t b_ = (b);                                              \
10604        poly8x8_t a_ = (a);                                              \
10605        poly8x8_t result;                                                \
10606        __asm__ ("sli %0.8b,%2.8b,%3"                                    \
10607                 : "=w"(result)                                          \
10608                 : "0"(a_), "w"(b_), "i"(c)                              \
10609                 : /* No clobbers */);                                   \
10610        result;                                                          \
10611      })
10612 
10613 #define vsli_n_p16(a, b, c)                                             \
10614   __extension__                                                         \
10615     ({                                                                  \
10616        poly16x4_t b_ = (b);                                             \
10617        poly16x4_t a_ = (a);                                             \
10618        poly16x4_t result;                                               \
10619        __asm__ ("sli %0.4h,%2.4h,%3"                                    \
10620                 : "=w"(result)                                          \
10621                 : "0"(a_), "w"(b_), "i"(c)                              \
10622                 : /* No clobbers */);                                   \
10623        result;                                                          \
10624      })
10625 
10626 #define vsliq_n_p8(a, b, c)                                             \
10627   __extension__                                                         \
10628     ({                                                                  \
10629        poly8x16_t b_ = (b);                                             \
10630        poly8x16_t a_ = (a);                                             \
10631        poly8x16_t result;                                               \
10632        __asm__ ("sli %0.16b,%2.16b,%3"                                  \
10633                 : "=w"(result)                                          \
10634                 : "0"(a_), "w"(b_), "i"(c)                              \
10635                 : /* No clobbers */);                                   \
10636        result;                                                          \
10637      })
10638 
10639 #define vsliq_n_p16(a, b, c)                                            \
10640   __extension__                                                         \
10641     ({                                                                  \
10642        poly16x8_t b_ = (b);                                             \
10643        poly16x8_t a_ = (a);                                             \
10644        poly16x8_t result;                                               \
10645        __asm__ ("sli %0.8h,%2.8h,%3"                                    \
10646                 : "=w"(result)                                          \
10647                 : "0"(a_), "w"(b_), "i"(c)                              \
10648                 : /* No clobbers */);                                   \
10649        result;                                                          \
10650      })
10651 
10652 #define vsri_n_p8(a, b, c)                                              \
10653   __extension__                                                         \
10654     ({                                                                  \
10655        poly8x8_t b_ = (b);                                              \
10656        poly8x8_t a_ = (a);                                              \
10657        poly8x8_t result;                                                \
10658        __asm__ ("sri %0.8b,%2.8b,%3"                                    \
10659                 : "=w"(result)                                          \
10660                 : "0"(a_), "w"(b_), "i"(c)                              \
10661                 : /* No clobbers */);                                   \
10662        result;                                                          \
10663      })
10664 
10665 #define vsri_n_p16(a, b, c)                                             \
10666   __extension__                                                         \
10667     ({                                                                  \
10668        poly16x4_t b_ = (b);                                             \
10669        poly16x4_t a_ = (a);                                             \
10670        poly16x4_t result;                                               \
10671        __asm__ ("sri %0.4h,%2.4h,%3"                                    \
10672                 : "=w"(result)                                          \
10673                 : "0"(a_), "w"(b_), "i"(c)                              \
10674                 : /* No clobbers */);                                   \
10675        result;                                                          \
10676      })
10677 
10678 #define vsri_n_p64(a, b, c)						\
10679   __extension__								\
10680     ({									\
10681        poly64x1_t b_ = (b);						\
10682        poly64x1_t a_ = (a);						\
10683        poly64x1_t result;						\
10684        __asm__ ("sri %d0,%d2,%3"					\
10685 		: "=w"(result)						\
10686 		: "0"(a_), "w"(b_), "i"(c)				\
10687 		: /* No clobbers.  */);					\
10688        result;								\
10689      })
10690 
10691 #define vsriq_n_p8(a, b, c)                                             \
10692   __extension__                                                         \
10693     ({                                                                  \
10694        poly8x16_t b_ = (b);                                             \
10695        poly8x16_t a_ = (a);                                             \
10696        poly8x16_t result;                                               \
10697        __asm__ ("sri %0.16b,%2.16b,%3"                                  \
10698                 : "=w"(result)                                          \
10699                 : "0"(a_), "w"(b_), "i"(c)                              \
10700                 : /* No clobbers */);                                   \
10701        result;                                                          \
10702      })
10703 
10704 #define vsriq_n_p16(a, b, c)                                            \
10705   __extension__                                                         \
10706     ({                                                                  \
10707        poly16x8_t b_ = (b);                                             \
10708        poly16x8_t a_ = (a);                                             \
10709        poly16x8_t result;                                               \
10710        __asm__ ("sri %0.8h,%2.8h,%3"                                    \
10711                 : "=w"(result)                                          \
10712                 : "0"(a_), "w"(b_), "i"(c)                              \
10713                 : /* No clobbers */);                                   \
10714        result;                                                          \
10715      })
10716 
10717 #define vsriq_n_p64(a, b, c)						\
10718   __extension__								\
10719     ({									\
10720        poly64x2_t b_ = (b);						\
10721        poly64x2_t a_ = (a);						\
10722        poly64x2_t result;						\
10723        __asm__ ("sri %0.2d,%2.2d,%3"					\
10724 		: "=w"(result)						\
10725 		: "0"(a_), "w"(b_), "i"(c)				\
10726 		: /* No clobbers.  */);					\
10727        result;								\
10728      })
10729 
10730 __extension__ extern __inline uint8x8_t
10731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p8(poly8x8_t __a,poly8x8_t __b)10732 vtst_p8 (poly8x8_t __a, poly8x8_t __b)
10733 {
10734   return (uint8x8_t) ((((uint8x8_t) __a) & ((uint8x8_t) __b))
10735 		       != 0);
10736 }
10737 
10738 __extension__ extern __inline uint16x4_t
10739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p16(poly16x4_t __a,poly16x4_t __b)10740 vtst_p16 (poly16x4_t __a, poly16x4_t __b)
10741 {
10742   return (uint16x4_t) ((((uint16x4_t) __a) & ((uint16x4_t) __b))
10743 		       != 0);
10744 }
10745 
10746 __extension__ extern __inline uint64x1_t
10747 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p64(poly64x1_t __a,poly64x1_t __b)10748 vtst_p64 (poly64x1_t __a, poly64x1_t __b)
10749 {
10750   return (uint64x1_t) ((__a & __b) != __AARCH64_INT64_C (0));
10751 }
10752 
10753 __extension__ extern __inline uint8x16_t
10754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_p8(poly8x16_t __a,poly8x16_t __b)10755 vtstq_p8 (poly8x16_t __a, poly8x16_t __b)
10756 {
10757   return (uint8x16_t) ((((uint8x16_t) __a) & ((uint8x16_t) __b))
10758 		       != 0);
10759 }
10760 
10761 __extension__ extern __inline uint16x8_t
10762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_p16(poly16x8_t __a,poly16x8_t __b)10763 vtstq_p16 (poly16x8_t __a, poly16x8_t __b)
10764 {
10765   return (uint16x8_t) ((((uint16x8_t) __a) & ((uint16x8_t) __b))
10766 		       != 0);
10767 }
10768 
10769 __extension__ extern __inline uint64x2_t
10770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_p64(poly64x2_t __a,poly64x2_t __b)10771 vtstq_p64 (poly64x2_t __a, poly64x2_t __b)
10772 {
10773   return (uint64x2_t) ((((uint64x2_t) __a) & ((uint64x2_t) __b))
10774 		       != __AARCH64_INT64_C (0));
10775 }
10776 
10777 /* End of temporary inline asm implementations.  */
10778 
10779 /* Start of temporary inline asm for vldn, vstn and friends.  */
10780 
10781 /* Create struct element types for duplicating loads.
10782 
10783    Create 2 element structures of:
10784 
10785    +------+----+----+----+----+
10786    |      | 8  | 16 | 32 | 64 |
10787    +------+----+----+----+----+
10788    |int   | Y  | Y  | N  | N  |
10789    +------+----+----+----+----+
10790    |uint  | Y  | Y  | N  | N  |
10791    +------+----+----+----+----+
10792    |float | -  | Y  | N  | N  |
10793    +------+----+----+----+----+
10794    |poly  | Y  | Y  | -  | -  |
10795    +------+----+----+----+----+
10796 
10797    Create 3 element structures of:
10798 
10799    +------+----+----+----+----+
10800    |      | 8  | 16 | 32 | 64 |
10801    +------+----+----+----+----+
10802    |int   | Y  | Y  | Y  | Y  |
10803    +------+----+----+----+----+
10804    |uint  | Y  | Y  | Y  | Y  |
10805    +------+----+----+----+----+
10806    |float | -  | Y  | Y  | Y  |
10807    +------+----+----+----+----+
10808    |poly  | Y  | Y  | -  | -  |
10809    +------+----+----+----+----+
10810 
10811    Create 4 element structures of:
10812 
10813    +------+----+----+----+----+
10814    |      | 8  | 16 | 32 | 64 |
10815    +------+----+----+----+----+
10816    |int   | Y  | N  | N  | Y  |
10817    +------+----+----+----+----+
10818    |uint  | Y  | N  | N  | Y  |
10819    +------+----+----+----+----+
10820    |float | -  | N  | N  | Y  |
10821    +------+----+----+----+----+
10822    |poly  | Y  | N  | -  | -  |
10823    +------+----+----+----+----+
10824 
10825   This is required for casting memory reference.  */
10826 #define __STRUCTN(t, sz, nelem)			\
10827   typedef struct t ## sz ## x ## nelem ## _t {	\
10828     t ## sz ## _t val[nelem];			\
10829   }  t ## sz ## x ## nelem ## _t;
10830 
10831 /* 2-element structs.  */
10832 __STRUCTN (int, 8, 2)
10833 __STRUCTN (int, 16, 2)
10834 __STRUCTN (uint, 8, 2)
10835 __STRUCTN (uint, 16, 2)
10836 __STRUCTN (float, 16, 2)
10837 __STRUCTN (poly, 8, 2)
10838 __STRUCTN (poly, 16, 2)
10839 /* 3-element structs.  */
10840 __STRUCTN (int, 8, 3)
10841 __STRUCTN (int, 16, 3)
10842 __STRUCTN (int, 32, 3)
10843 __STRUCTN (int, 64, 3)
10844 __STRUCTN (uint, 8, 3)
10845 __STRUCTN (uint, 16, 3)
10846 __STRUCTN (uint, 32, 3)
10847 __STRUCTN (uint, 64, 3)
10848 __STRUCTN (float, 16, 3)
10849 __STRUCTN (float, 32, 3)
10850 __STRUCTN (float, 64, 3)
10851 __STRUCTN (poly, 8, 3)
10852 __STRUCTN (poly, 16, 3)
10853 /* 4-element structs.  */
10854 __STRUCTN (int, 8, 4)
10855 __STRUCTN (int, 64, 4)
10856 __STRUCTN (uint, 8, 4)
10857 __STRUCTN (uint, 64, 4)
10858 __STRUCTN (poly, 8, 4)
10859 __STRUCTN (float, 64, 4)
10860 #undef __STRUCTN
10861 
10862 
10863 #define __ST2_LANE_FUNC(intype, largetype, ptrtype, mode,		     \
10864 			qmode, ptr_mode, funcsuffix, signedtype)	     \
10865 __extension__ extern __inline void					     \
10866 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
10867 vst2_lane_ ## funcsuffix (ptrtype *__ptr,				     \
10868 			  intype __b, const int __c)			     \
10869 {									     \
10870   __builtin_aarch64_simd_oi __o;					     \
10871   largetype __temp;							     \
10872   __temp.val[0]								     \
10873     = vcombine_##funcsuffix (__b.val[0],				     \
10874 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10875   __temp.val[1]								     \
10876     = vcombine_##funcsuffix (__b.val[1],				     \
10877 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10878   __o = __builtin_aarch64_set_qregoi##qmode (__o,			     \
10879 					     (signedtype) __temp.val[0], 0); \
10880   __o = __builtin_aarch64_set_qregoi##qmode (__o,			     \
10881 					     (signedtype) __temp.val[1], 1); \
10882   __builtin_aarch64_st2_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *)  \
10883 				     __ptr, __o, __c);			     \
10884 }
10885 
__ST2_LANE_FUNC(float16x4x2_t,float16x8x2_t,float16_t,v4hf,v8hf,hf,f16,float16x8_t)10886 __ST2_LANE_FUNC (float16x4x2_t, float16x8x2_t, float16_t, v4hf, v8hf, hf, f16,
10887 		 float16x8_t)
10888 __ST2_LANE_FUNC (float32x2x2_t, float32x4x2_t, float32_t, v2sf, v4sf, sf, f32,
10889 		 float32x4_t)
10890 __ST2_LANE_FUNC (float64x1x2_t, float64x2x2_t, float64_t, df, v2df, df, f64,
10891 		 float64x2_t)
10892 __ST2_LANE_FUNC (poly8x8x2_t, poly8x16x2_t, poly8_t, v8qi, v16qi, qi, p8,
10893 		 int8x16_t)
10894 __ST2_LANE_FUNC (poly16x4x2_t, poly16x8x2_t, poly16_t, v4hi, v8hi, hi, p16,
10895 		 int16x8_t)
10896 __ST2_LANE_FUNC (poly64x1x2_t, poly64x2x2_t, poly64_t, di, v2di_ssps, di, p64,
10897 		 poly64x2_t)
10898 __ST2_LANE_FUNC (int8x8x2_t, int8x16x2_t, int8_t, v8qi, v16qi, qi, s8,
10899 		 int8x16_t)
10900 __ST2_LANE_FUNC (int16x4x2_t, int16x8x2_t, int16_t, v4hi, v8hi, hi, s16,
10901 		 int16x8_t)
10902 __ST2_LANE_FUNC (int32x2x2_t, int32x4x2_t, int32_t, v2si, v4si, si, s32,
10903 		 int32x4_t)
10904 __ST2_LANE_FUNC (int64x1x2_t, int64x2x2_t, int64_t, di, v2di, di, s64,
10905 		 int64x2_t)
10906 __ST2_LANE_FUNC (uint8x8x2_t, uint8x16x2_t, uint8_t, v8qi, v16qi, qi, u8,
10907 		 int8x16_t)
10908 __ST2_LANE_FUNC (uint16x4x2_t, uint16x8x2_t, uint16_t, v4hi, v8hi, hi, u16,
10909 		 int16x8_t)
10910 __ST2_LANE_FUNC (uint32x2x2_t, uint32x4x2_t, uint32_t, v2si, v4si, si, u32,
10911 		 int32x4_t)
10912 __ST2_LANE_FUNC (uint64x1x2_t, uint64x2x2_t, uint64_t, di, v2di, di, u64,
10913 		 int64x2_t)
10914 
10915 #undef __ST2_LANE_FUNC
10916 #define __ST2_LANE_FUNC(intype, ptrtype, mode, ptr_mode, funcsuffix)	    \
10917 __extension__ extern __inline void					    \
10918 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
10919 vst2q_lane_ ## funcsuffix (ptrtype *__ptr,				    \
10920 			   intype __b, const int __c)			    \
10921 {									    \
10922   union { intype __i;							    \
10923 	  __builtin_aarch64_simd_oi __o; } __temp = { __b };		    \
10924   __builtin_aarch64_st2_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
10925 				    __ptr, __temp.__o, __c);		    \
10926 }
10927 
10928 __ST2_LANE_FUNC (float16x8x2_t, float16_t, v8hf, hf, f16)
10929 __ST2_LANE_FUNC (float32x4x2_t, float32_t, v4sf, sf, f32)
10930 __ST2_LANE_FUNC (float64x2x2_t, float64_t, v2df, df, f64)
10931 __ST2_LANE_FUNC (poly8x16x2_t, poly8_t, v16qi, qi, p8)
10932 __ST2_LANE_FUNC (poly16x8x2_t, poly16_t, v8hi, hi, p16)
10933 __ST2_LANE_FUNC (poly64x2x2_t, poly64_t, v2di, di, p64)
10934 __ST2_LANE_FUNC (int8x16x2_t, int8_t, v16qi, qi, s8)
10935 __ST2_LANE_FUNC (int16x8x2_t, int16_t, v8hi, hi, s16)
10936 __ST2_LANE_FUNC (int32x4x2_t, int32_t, v4si, si, s32)
10937 __ST2_LANE_FUNC (int64x2x2_t, int64_t, v2di, di, s64)
10938 __ST2_LANE_FUNC (uint8x16x2_t, uint8_t, v16qi, qi, u8)
10939 __ST2_LANE_FUNC (uint16x8x2_t, uint16_t, v8hi, hi, u16)
10940 __ST2_LANE_FUNC (uint32x4x2_t, uint32_t, v4si, si, u32)
10941 __ST2_LANE_FUNC (uint64x2x2_t, uint64_t, v2di, di, u64)
10942 
10943 #define __ST3_LANE_FUNC(intype, largetype, ptrtype, mode,		     \
10944 			qmode, ptr_mode, funcsuffix, signedtype)	     \
10945 __extension__ extern __inline void					     \
10946 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
10947 vst3_lane_ ## funcsuffix (ptrtype *__ptr,				     \
10948 			  intype __b, const int __c)			     \
10949 {									     \
10950   __builtin_aarch64_simd_ci __o;					     \
10951   largetype __temp;							     \
10952   __temp.val[0]								     \
10953     = vcombine_##funcsuffix (__b.val[0],				     \
10954 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10955   __temp.val[1]								     \
10956     = vcombine_##funcsuffix (__b.val[1],				     \
10957 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10958   __temp.val[2]								     \
10959     = vcombine_##funcsuffix (__b.val[2],				     \
10960 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
10961   __o = __builtin_aarch64_set_qregci##qmode (__o,			     \
10962 					     (signedtype) __temp.val[0], 0); \
10963   __o = __builtin_aarch64_set_qregci##qmode (__o,			     \
10964 					     (signedtype) __temp.val[1], 1); \
10965   __o = __builtin_aarch64_set_qregci##qmode (__o,			     \
10966 					     (signedtype) __temp.val[2], 2); \
10967   __builtin_aarch64_st3_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *)  \
10968 				     __ptr, __o, __c);			     \
10969 }
10970 
10971 __ST3_LANE_FUNC (float16x4x3_t, float16x8x3_t, float16_t, v4hf, v8hf, hf, f16,
10972 		 float16x8_t)
10973 __ST3_LANE_FUNC (float32x2x3_t, float32x4x3_t, float32_t, v2sf, v4sf, sf, f32,
10974 		 float32x4_t)
10975 __ST3_LANE_FUNC (float64x1x3_t, float64x2x3_t, float64_t, df, v2df, df, f64,
10976 		 float64x2_t)
10977 __ST3_LANE_FUNC (poly8x8x3_t, poly8x16x3_t, poly8_t, v8qi, v16qi, qi, p8,
10978 		 int8x16_t)
10979 __ST3_LANE_FUNC (poly16x4x3_t, poly16x8x3_t, poly16_t, v4hi, v8hi, hi, p16,
10980 		 int16x8_t)
10981 __ST3_LANE_FUNC (poly64x1x3_t, poly64x2x3_t, poly64_t, di, v2di_ssps, di, p64,
10982 		 poly64x2_t)
10983 __ST3_LANE_FUNC (int8x8x3_t, int8x16x3_t, int8_t, v8qi, v16qi, qi, s8,
10984 		 int8x16_t)
10985 __ST3_LANE_FUNC (int16x4x3_t, int16x8x3_t, int16_t, v4hi, v8hi, hi, s16,
10986 		 int16x8_t)
10987 __ST3_LANE_FUNC (int32x2x3_t, int32x4x3_t, int32_t, v2si, v4si, si, s32,
10988 		 int32x4_t)
10989 __ST3_LANE_FUNC (int64x1x3_t, int64x2x3_t, int64_t, di, v2di, di, s64,
10990 		 int64x2_t)
10991 __ST3_LANE_FUNC (uint8x8x3_t, uint8x16x3_t, uint8_t, v8qi, v16qi, qi, u8,
10992 		 int8x16_t)
10993 __ST3_LANE_FUNC (uint16x4x3_t, uint16x8x3_t, uint16_t, v4hi, v8hi, hi, u16,
10994 		 int16x8_t)
10995 __ST3_LANE_FUNC (uint32x2x3_t, uint32x4x3_t, uint32_t, v2si, v4si, si, u32,
10996 		 int32x4_t)
10997 __ST3_LANE_FUNC (uint64x1x3_t, uint64x2x3_t, uint64_t, di, v2di, di, u64,
10998 		 int64x2_t)
10999 
11000 #undef __ST3_LANE_FUNC
11001 #define __ST3_LANE_FUNC(intype, ptrtype, mode, ptr_mode, funcsuffix)	    \
11002 __extension__ extern __inline void					    \
11003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
11004 vst3q_lane_ ## funcsuffix (ptrtype *__ptr,				    \
11005 			   intype __b, const int __c)			    \
11006 {									    \
11007   union { intype __i;							    \
11008 	  __builtin_aarch64_simd_ci __o; } __temp = { __b };		    \
11009   __builtin_aarch64_st3_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
11010 				    __ptr, __temp.__o, __c);		    \
11011 }
11012 
11013 __ST3_LANE_FUNC (float16x8x3_t, float16_t, v8hf, hf, f16)
11014 __ST3_LANE_FUNC (float32x4x3_t, float32_t, v4sf, sf, f32)
11015 __ST3_LANE_FUNC (float64x2x3_t, float64_t, v2df, df, f64)
11016 __ST3_LANE_FUNC (poly8x16x3_t, poly8_t, v16qi, qi, p8)
11017 __ST3_LANE_FUNC (poly16x8x3_t, poly16_t, v8hi, hi, p16)
11018 __ST3_LANE_FUNC (poly64x2x3_t, poly64_t, v2di, di, p64)
11019 __ST3_LANE_FUNC (int8x16x3_t, int8_t, v16qi, qi, s8)
11020 __ST3_LANE_FUNC (int16x8x3_t, int16_t, v8hi, hi, s16)
11021 __ST3_LANE_FUNC (int32x4x3_t, int32_t, v4si, si, s32)
11022 __ST3_LANE_FUNC (int64x2x3_t, int64_t, v2di, di, s64)
11023 __ST3_LANE_FUNC (uint8x16x3_t, uint8_t, v16qi, qi, u8)
11024 __ST3_LANE_FUNC (uint16x8x3_t, uint16_t, v8hi, hi, u16)
11025 __ST3_LANE_FUNC (uint32x4x3_t, uint32_t, v4si, si, u32)
11026 __ST3_LANE_FUNC (uint64x2x3_t, uint64_t, v2di, di, u64)
11027 
11028 #define __ST4_LANE_FUNC(intype, largetype, ptrtype, mode,		     \
11029 			qmode, ptr_mode, funcsuffix, signedtype)	     \
11030 __extension__ extern __inline void					     \
11031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
11032 vst4_lane_ ## funcsuffix (ptrtype *__ptr,				     \
11033 			  intype __b, const int __c)			     \
11034 {									     \
11035   __builtin_aarch64_simd_xi __o;					     \
11036   largetype __temp;							     \
11037   __temp.val[0]								     \
11038     = vcombine_##funcsuffix (__b.val[0],				     \
11039 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
11040   __temp.val[1]								     \
11041     = vcombine_##funcsuffix (__b.val[1],				     \
11042 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
11043   __temp.val[2]								     \
11044     = vcombine_##funcsuffix (__b.val[2],				     \
11045 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
11046   __temp.val[3]								     \
11047     = vcombine_##funcsuffix (__b.val[3],				     \
11048 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
11049   __o = __builtin_aarch64_set_qregxi##qmode (__o,			     \
11050 					     (signedtype) __temp.val[0], 0); \
11051   __o = __builtin_aarch64_set_qregxi##qmode (__o,			     \
11052 					     (signedtype) __temp.val[1], 1); \
11053   __o = __builtin_aarch64_set_qregxi##qmode (__o,			     \
11054 					     (signedtype) __temp.val[2], 2); \
11055   __o = __builtin_aarch64_set_qregxi##qmode (__o,			     \
11056 					     (signedtype) __temp.val[3], 3); \
11057   __builtin_aarch64_st4_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *)  \
11058 				     __ptr, __o, __c);			     \
11059 }
11060 
11061 __ST4_LANE_FUNC (float16x4x4_t, float16x8x4_t, float16_t, v4hf, v8hf, hf, f16,
11062 		 float16x8_t)
11063 __ST4_LANE_FUNC (float32x2x4_t, float32x4x4_t, float32_t, v2sf, v4sf, sf, f32,
11064 		 float32x4_t)
11065 __ST4_LANE_FUNC (float64x1x4_t, float64x2x4_t, float64_t, df, v2df, df, f64,
11066 		 float64x2_t)
11067 __ST4_LANE_FUNC (poly8x8x4_t, poly8x16x4_t, poly8_t, v8qi, v16qi, qi, p8,
11068 		 int8x16_t)
11069 __ST4_LANE_FUNC (poly16x4x4_t, poly16x8x4_t, poly16_t, v4hi, v8hi, hi, p16,
11070 		 int16x8_t)
11071 __ST4_LANE_FUNC (poly64x1x4_t, poly64x2x4_t, poly64_t, di, v2di_ssps, di, p64,
11072 		 poly64x2_t)
11073 __ST4_LANE_FUNC (int8x8x4_t, int8x16x4_t, int8_t, v8qi, v16qi, qi, s8,
11074 		 int8x16_t)
11075 __ST4_LANE_FUNC (int16x4x4_t, int16x8x4_t, int16_t, v4hi, v8hi, hi, s16,
11076 		 int16x8_t)
11077 __ST4_LANE_FUNC (int32x2x4_t, int32x4x4_t, int32_t, v2si, v4si, si, s32,
11078 		 int32x4_t)
11079 __ST4_LANE_FUNC (int64x1x4_t, int64x2x4_t, int64_t, di, v2di, di, s64,
11080 		 int64x2_t)
11081 __ST4_LANE_FUNC (uint8x8x4_t, uint8x16x4_t, uint8_t, v8qi, v16qi, qi, u8,
11082 		 int8x16_t)
11083 __ST4_LANE_FUNC (uint16x4x4_t, uint16x8x4_t, uint16_t, v4hi, v8hi, hi, u16,
11084 		 int16x8_t)
11085 __ST4_LANE_FUNC (uint32x2x4_t, uint32x4x4_t, uint32_t, v2si, v4si, si, u32,
11086 		 int32x4_t)
11087 __ST4_LANE_FUNC (uint64x1x4_t, uint64x2x4_t, uint64_t, di, v2di, di, u64,
11088 		 int64x2_t)
11089 
11090 #undef __ST4_LANE_FUNC
11091 #define __ST4_LANE_FUNC(intype, ptrtype, mode, ptr_mode, funcsuffix)	    \
11092 __extension__ extern __inline void					    \
11093 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
11094 vst4q_lane_ ## funcsuffix (ptrtype *__ptr,				    \
11095 			   intype __b, const int __c)			    \
11096 {									    \
11097   union { intype __i;							    \
11098 	  __builtin_aarch64_simd_xi __o; } __temp = { __b };		    \
11099   __builtin_aarch64_st4_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
11100 				    __ptr, __temp.__o, __c);		    \
11101 }
11102 
11103 __ST4_LANE_FUNC (float16x8x4_t, float16_t, v8hf, hf, f16)
11104 __ST4_LANE_FUNC (float32x4x4_t, float32_t, v4sf, sf, f32)
11105 __ST4_LANE_FUNC (float64x2x4_t, float64_t, v2df, df, f64)
11106 __ST4_LANE_FUNC (poly8x16x4_t, poly8_t, v16qi, qi, p8)
11107 __ST4_LANE_FUNC (poly16x8x4_t, poly16_t, v8hi, hi, p16)
11108 __ST4_LANE_FUNC (poly64x2x4_t, poly64_t, v2di, di, p64)
11109 __ST4_LANE_FUNC (int8x16x4_t, int8_t, v16qi, qi, s8)
11110 __ST4_LANE_FUNC (int16x8x4_t, int16_t, v8hi, hi, s16)
11111 __ST4_LANE_FUNC (int32x4x4_t, int32_t, v4si, si, s32)
11112 __ST4_LANE_FUNC (int64x2x4_t, int64_t, v2di, di, s64)
11113 __ST4_LANE_FUNC (uint8x16x4_t, uint8_t, v16qi, qi, u8)
11114 __ST4_LANE_FUNC (uint16x8x4_t, uint16_t, v8hi, hi, u16)
11115 __ST4_LANE_FUNC (uint32x4x4_t, uint32_t, v4si, si, u32)
11116 __ST4_LANE_FUNC (uint64x2x4_t, uint64_t, v2di, di, u64)
11117 
11118 __extension__ extern __inline int64_t
11119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
11120 vaddlv_s32 (int32x2_t __a)
11121 {
11122   int64_t __result;
11123   __asm__ ("saddlp %0.1d, %1.2s" : "=w"(__result) : "w"(__a) : );
11124   return __result;
11125 }
11126 
11127 __extension__ extern __inline uint64_t
11128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_u32(uint32x2_t __a)11129 vaddlv_u32 (uint32x2_t __a)
11130 {
11131   uint64_t __result;
11132   __asm__ ("uaddlp %0.1d, %1.2s" : "=w"(__result) : "w"(__a) : );
11133   return __result;
11134 }
11135 
11136 __extension__ extern __inline int16x4_t
11137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_laneq_s16(int16x4_t __a,int16x8_t __b,const int __c)11138 vqdmulh_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
11139 {
11140   return __builtin_aarch64_sqdmulh_laneqv4hi (__a, __b, __c);
11141 }
11142 
11143 __extension__ extern __inline int32x2_t
11144 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_laneq_s32(int32x2_t __a,int32x4_t __b,const int __c)11145 vqdmulh_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
11146 {
11147   return __builtin_aarch64_sqdmulh_laneqv2si (__a, __b, __c);
11148 }
11149 
11150 __extension__ extern __inline int16x8_t
11151 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_laneq_s16(int16x8_t __a,int16x8_t __b,const int __c)11152 vqdmulhq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
11153 {
11154   return __builtin_aarch64_sqdmulh_laneqv8hi (__a, __b, __c);
11155 }
11156 
11157 __extension__ extern __inline int32x4_t
11158 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_laneq_s32(int32x4_t __a,int32x4_t __b,const int __c)11159 vqdmulhq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
11160 {
11161   return __builtin_aarch64_sqdmulh_laneqv4si (__a, __b, __c);
11162 }
11163 
11164 __extension__ extern __inline int16x4_t
11165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_laneq_s16(int16x4_t __a,int16x8_t __b,const int __c)11166 vqrdmulh_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
11167 {
11168   return  __builtin_aarch64_sqrdmulh_laneqv4hi (__a, __b, __c);
11169 }
11170 
11171 __extension__ extern __inline int32x2_t
11172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_laneq_s32(int32x2_t __a,int32x4_t __b,const int __c)11173 vqrdmulh_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
11174 {
11175   return __builtin_aarch64_sqrdmulh_laneqv2si (__a, __b, __c);
11176 }
11177 
11178 __extension__ extern __inline int16x8_t
11179 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_laneq_s16(int16x8_t __a,int16x8_t __b,const int __c)11180 vqrdmulhq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
11181 {
11182   return __builtin_aarch64_sqrdmulh_laneqv8hi (__a, __b, __c);
11183 }
11184 
11185 __extension__ extern __inline int32x4_t
11186 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_laneq_s32(int32x4_t __a,int32x4_t __b,const int __c)11187 vqrdmulhq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
11188 {
11189   return __builtin_aarch64_sqrdmulh_laneqv4si (__a, __b, __c);
11190 }
11191 
11192 /* Table intrinsics.  */
11193 
11194 __extension__ extern __inline poly8x8_t
11195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1_p8(poly8x16_t __a,uint8x8_t __b)11196 vqtbl1_p8 (poly8x16_t __a, uint8x8_t __b)
11197 {
11198   poly8x8_t __result;
11199   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11200            : "=w"(__result)
11201            : "w"(__a), "w"(__b)
11202            : /* No clobbers */);
11203   return __result;
11204 }
11205 
11206 __extension__ extern __inline int8x8_t
11207 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1_s8(int8x16_t __a,uint8x8_t __b)11208 vqtbl1_s8 (int8x16_t __a, uint8x8_t __b)
11209 {
11210   int8x8_t __result;
11211   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11212            : "=w"(__result)
11213            : "w"(__a), "w"(__b)
11214            : /* No clobbers */);
11215   return __result;
11216 }
11217 
11218 __extension__ extern __inline uint8x8_t
11219 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1_u8(uint8x16_t __a,uint8x8_t __b)11220 vqtbl1_u8 (uint8x16_t __a, uint8x8_t __b)
11221 {
11222   uint8x8_t __result;
11223   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11224            : "=w"(__result)
11225            : "w"(__a), "w"(__b)
11226            : /* No clobbers */);
11227   return __result;
11228 }
11229 
11230 __extension__ extern __inline poly8x16_t
11231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1q_p8(poly8x16_t __a,uint8x16_t __b)11232 vqtbl1q_p8 (poly8x16_t __a, uint8x16_t __b)
11233 {
11234   poly8x16_t __result;
11235   __asm__ ("tbl %0.16b, {%1.16b}, %2.16b"
11236            : "=w"(__result)
11237            : "w"(__a), "w"(__b)
11238            : /* No clobbers */);
11239   return __result;
11240 }
11241 
11242 __extension__ extern __inline int8x16_t
11243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1q_s8(int8x16_t __a,uint8x16_t __b)11244 vqtbl1q_s8 (int8x16_t __a, uint8x16_t __b)
11245 {
11246   int8x16_t __result;
11247   __asm__ ("tbl %0.16b, {%1.16b}, %2.16b"
11248            : "=w"(__result)
11249            : "w"(__a), "w"(__b)
11250            : /* No clobbers */);
11251   return __result;
11252 }
11253 
11254 __extension__ extern __inline uint8x16_t
11255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1q_u8(uint8x16_t __a,uint8x16_t __b)11256 vqtbl1q_u8 (uint8x16_t __a, uint8x16_t __b)
11257 {
11258   uint8x16_t __result;
11259   __asm__ ("tbl %0.16b, {%1.16b}, %2.16b"
11260            : "=w"(__result)
11261            : "w"(__a), "w"(__b)
11262            : /* No clobbers */);
11263   return __result;
11264 }
11265 
11266 __extension__ extern __inline int8x8_t
11267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1_s8(int8x8_t __r,int8x16_t __tab,uint8x8_t __idx)11268 vqtbx1_s8 (int8x8_t __r, int8x16_t __tab, uint8x8_t __idx)
11269 {
11270   int8x8_t __result = __r;
11271   __asm__ ("tbx %0.8b,{%1.16b},%2.8b"
11272            : "+w"(__result)
11273            : "w"(__tab), "w"(__idx)
11274            : /* No clobbers */);
11275   return __result;
11276 }
11277 
11278 __extension__ extern __inline uint8x8_t
11279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1_u8(uint8x8_t __r,uint8x16_t __tab,uint8x8_t __idx)11280 vqtbx1_u8 (uint8x8_t __r, uint8x16_t __tab, uint8x8_t __idx)
11281 {
11282   uint8x8_t __result = __r;
11283   __asm__ ("tbx %0.8b,{%1.16b},%2.8b"
11284            : "+w"(__result)
11285            : "w"(__tab), "w"(__idx)
11286            : /* No clobbers */);
11287   return __result;
11288 }
11289 
11290 __extension__ extern __inline poly8x8_t
11291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1_p8(poly8x8_t __r,poly8x16_t __tab,uint8x8_t __idx)11292 vqtbx1_p8 (poly8x8_t __r, poly8x16_t __tab, uint8x8_t __idx)
11293 {
11294   poly8x8_t __result = __r;
11295   __asm__ ("tbx %0.8b,{%1.16b},%2.8b"
11296            : "+w"(__result)
11297            : "w"(__tab), "w"(__idx)
11298            : /* No clobbers */);
11299   return __result;
11300 }
11301 
11302 __extension__ extern __inline int8x16_t
11303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1q_s8(int8x16_t __r,int8x16_t __tab,uint8x16_t __idx)11304 vqtbx1q_s8 (int8x16_t __r, int8x16_t __tab, uint8x16_t __idx)
11305 {
11306   int8x16_t __result = __r;
11307   __asm__ ("tbx %0.16b,{%1.16b},%2.16b"
11308            : "+w"(__result)
11309            : "w"(__tab), "w"(__idx)
11310            : /* No clobbers */);
11311   return __result;
11312 }
11313 
11314 __extension__ extern __inline uint8x16_t
11315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1q_u8(uint8x16_t __r,uint8x16_t __tab,uint8x16_t __idx)11316 vqtbx1q_u8 (uint8x16_t __r, uint8x16_t __tab, uint8x16_t __idx)
11317 {
11318   uint8x16_t __result = __r;
11319   __asm__ ("tbx %0.16b,{%1.16b},%2.16b"
11320            : "+w"(__result)
11321            : "w"(__tab), "w"(__idx)
11322            : /* No clobbers */);
11323   return __result;
11324 }
11325 
11326 __extension__ extern __inline poly8x16_t
11327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1q_p8(poly8x16_t __r,poly8x16_t __tab,uint8x16_t __idx)11328 vqtbx1q_p8 (poly8x16_t __r, poly8x16_t __tab, uint8x16_t __idx)
11329 {
11330   poly8x16_t __result = __r;
11331   __asm__ ("tbx %0.16b,{%1.16b},%2.16b"
11332            : "+w"(__result)
11333            : "w"(__tab), "w"(__idx)
11334            : /* No clobbers */);
11335   return __result;
11336 }
11337 
11338 /* V7 legacy table intrinsics.  */
11339 
11340 __extension__ extern __inline int8x8_t
11341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_s8(int8x8_t __tab,int8x8_t __idx)11342 vtbl1_s8 (int8x8_t __tab, int8x8_t __idx)
11343 {
11344   int8x8_t __result;
11345   int8x16_t __temp = vcombine_s8 (__tab, vcreate_s8 (__AARCH64_UINT64_C (0x0)));
11346   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11347            : "=w"(__result)
11348            : "w"(__temp), "w"(__idx)
11349            : /* No clobbers */);
11350   return __result;
11351 }
11352 
11353 __extension__ extern __inline uint8x8_t
11354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_u8(uint8x8_t __tab,uint8x8_t __idx)11355 vtbl1_u8 (uint8x8_t __tab, uint8x8_t __idx)
11356 {
11357   uint8x8_t __result;
11358   uint8x16_t __temp = vcombine_u8 (__tab, vcreate_u8 (__AARCH64_UINT64_C (0x0)));
11359   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11360            : "=w"(__result)
11361            : "w"(__temp), "w"(__idx)
11362            : /* No clobbers */);
11363   return __result;
11364 }
11365 
11366 __extension__ extern __inline poly8x8_t
11367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_p8(poly8x8_t __tab,uint8x8_t __idx)11368 vtbl1_p8 (poly8x8_t __tab, uint8x8_t __idx)
11369 {
11370   poly8x8_t __result;
11371   poly8x16_t __temp = vcombine_p8 (__tab, vcreate_p8 (__AARCH64_UINT64_C (0x0)));
11372   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11373            : "=w"(__result)
11374            : "w"(__temp), "w"(__idx)
11375            : /* No clobbers */);
11376   return __result;
11377 }
11378 
11379 __extension__ extern __inline int8x8_t
11380 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_s8(int8x8x2_t __tab,int8x8_t __idx)11381 vtbl2_s8 (int8x8x2_t __tab, int8x8_t __idx)
11382 {
11383   int8x8_t __result;
11384   int8x16_t __temp = vcombine_s8 (__tab.val[0], __tab.val[1]);
11385   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11386            : "=w"(__result)
11387            : "w"(__temp), "w"(__idx)
11388            : /* No clobbers */);
11389   return __result;
11390 }
11391 
11392 __extension__ extern __inline uint8x8_t
11393 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_u8(uint8x8x2_t __tab,uint8x8_t __idx)11394 vtbl2_u8 (uint8x8x2_t __tab, uint8x8_t __idx)
11395 {
11396   uint8x8_t __result;
11397   uint8x16_t __temp = vcombine_u8 (__tab.val[0], __tab.val[1]);
11398   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11399            : "=w"(__result)
11400            : "w"(__temp), "w"(__idx)
11401            : /* No clobbers */);
11402   return __result;
11403 }
11404 
11405 __extension__ extern __inline poly8x8_t
11406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_p8(poly8x8x2_t __tab,uint8x8_t __idx)11407 vtbl2_p8 (poly8x8x2_t __tab, uint8x8_t __idx)
11408 {
11409   poly8x8_t __result;
11410   poly8x16_t __temp = vcombine_p8 (__tab.val[0], __tab.val[1]);
11411   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
11412            : "=w"(__result)
11413            : "w"(__temp), "w"(__idx)
11414            : /* No clobbers */);
11415   return __result;
11416 }
11417 
11418 __extension__ extern __inline int8x8_t
11419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_s8(int8x8x3_t __tab,int8x8_t __idx)11420 vtbl3_s8 (int8x8x3_t __tab, int8x8_t __idx)
11421 {
11422   int8x8_t __result;
11423   int8x16x2_t __temp;
11424   __builtin_aarch64_simd_oi __o;
11425   __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
11426   __temp.val[1] = vcombine_s8 (__tab.val[2], vcreate_s8 (__AARCH64_UINT64_C (0x0)));
11427   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11428 					   (int8x16_t) __temp.val[0], 0);
11429   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11430 					   (int8x16_t) __temp.val[1], 1);
11431   __result = __builtin_aarch64_tbl3v8qi (__o, __idx);
11432   return __result;
11433 }
11434 
11435 __extension__ extern __inline uint8x8_t
11436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_u8(uint8x8x3_t __tab,uint8x8_t __idx)11437 vtbl3_u8 (uint8x8x3_t __tab, uint8x8_t __idx)
11438 {
11439   uint8x8_t __result;
11440   uint8x16x2_t __temp;
11441   __builtin_aarch64_simd_oi __o;
11442   __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
11443   __temp.val[1] = vcombine_u8 (__tab.val[2], vcreate_u8 (__AARCH64_UINT64_C (0x0)));
11444   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11445 					   (int8x16_t) __temp.val[0], 0);
11446   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11447 					   (int8x16_t) __temp.val[1], 1);
11448   __result = (uint8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
11449   return __result;
11450 }
11451 
11452 __extension__ extern __inline poly8x8_t
11453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_p8(poly8x8x3_t __tab,uint8x8_t __idx)11454 vtbl3_p8 (poly8x8x3_t __tab, uint8x8_t __idx)
11455 {
11456   poly8x8_t __result;
11457   poly8x16x2_t __temp;
11458   __builtin_aarch64_simd_oi __o;
11459   __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
11460   __temp.val[1] = vcombine_p8 (__tab.val[2], vcreate_p8 (__AARCH64_UINT64_C (0x0)));
11461   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11462 					   (int8x16_t) __temp.val[0], 0);
11463   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11464 					   (int8x16_t) __temp.val[1], 1);
11465   __result = (poly8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
11466   return __result;
11467 }
11468 
11469 __extension__ extern __inline int8x8_t
11470 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_s8(int8x8x4_t __tab,int8x8_t __idx)11471 vtbl4_s8 (int8x8x4_t __tab, int8x8_t __idx)
11472 {
11473   int8x8_t __result;
11474   int8x16x2_t __temp;
11475   __builtin_aarch64_simd_oi __o;
11476   __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
11477   __temp.val[1] = vcombine_s8 (__tab.val[2], __tab.val[3]);
11478   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11479 					   (int8x16_t) __temp.val[0], 0);
11480   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11481 					   (int8x16_t) __temp.val[1], 1);
11482   __result = __builtin_aarch64_tbl3v8qi (__o, __idx);
11483   return __result;
11484 }
11485 
11486 __extension__ extern __inline uint8x8_t
11487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_u8(uint8x8x4_t __tab,uint8x8_t __idx)11488 vtbl4_u8 (uint8x8x4_t __tab, uint8x8_t __idx)
11489 {
11490   uint8x8_t __result;
11491   uint8x16x2_t __temp;
11492   __builtin_aarch64_simd_oi __o;
11493   __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
11494   __temp.val[1] = vcombine_u8 (__tab.val[2], __tab.val[3]);
11495   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11496 					   (int8x16_t) __temp.val[0], 0);
11497   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11498 					   (int8x16_t) __temp.val[1], 1);
11499   __result = (uint8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
11500   return __result;
11501 }
11502 
11503 __extension__ extern __inline poly8x8_t
11504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_p8(poly8x8x4_t __tab,uint8x8_t __idx)11505 vtbl4_p8 (poly8x8x4_t __tab, uint8x8_t __idx)
11506 {
11507   poly8x8_t __result;
11508   poly8x16x2_t __temp;
11509   __builtin_aarch64_simd_oi __o;
11510   __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
11511   __temp.val[1] = vcombine_p8 (__tab.val[2], __tab.val[3]);
11512   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11513 					   (int8x16_t) __temp.val[0], 0);
11514   __o = __builtin_aarch64_set_qregoiv16qi (__o,
11515 					   (int8x16_t) __temp.val[1], 1);
11516   __result = (poly8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
11517   return __result;
11518 }
11519 
11520 __extension__ extern __inline int8x8_t
11521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_s8(int8x8_t __r,int8x8x2_t __tab,int8x8_t __idx)11522 vtbx2_s8 (int8x8_t __r, int8x8x2_t __tab, int8x8_t __idx)
11523 {
11524   int8x8_t __result = __r;
11525   int8x16_t __temp = vcombine_s8 (__tab.val[0], __tab.val[1]);
11526   __asm__ ("tbx %0.8b, {%1.16b}, %2.8b"
11527            : "+w"(__result)
11528            : "w"(__temp), "w"(__idx)
11529            : /* No clobbers */);
11530   return __result;
11531 }
11532 
11533 __extension__ extern __inline uint8x8_t
11534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_u8(uint8x8_t __r,uint8x8x2_t __tab,uint8x8_t __idx)11535 vtbx2_u8 (uint8x8_t __r, uint8x8x2_t __tab, uint8x8_t __idx)
11536 {
11537   uint8x8_t __result = __r;
11538   uint8x16_t __temp = vcombine_u8 (__tab.val[0], __tab.val[1]);
11539   __asm__ ("tbx %0.8b, {%1.16b}, %2.8b"
11540            : "+w"(__result)
11541            : "w"(__temp), "w"(__idx)
11542            : /* No clobbers */);
11543   return __result;
11544 }
11545 
11546 __extension__ extern __inline poly8x8_t
11547 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_p8(poly8x8_t __r,poly8x8x2_t __tab,uint8x8_t __idx)11548 vtbx2_p8 (poly8x8_t __r, poly8x8x2_t __tab, uint8x8_t __idx)
11549 {
11550   poly8x8_t __result = __r;
11551   poly8x16_t __temp = vcombine_p8 (__tab.val[0], __tab.val[1]);
11552   __asm__ ("tbx %0.8b, {%1.16b}, %2.8b"
11553            : "+w"(__result)
11554            : "w"(__temp), "w"(__idx)
11555            : /* No clobbers */);
11556   return __result;
11557 }
11558 
11559 /* End of temporary inline asm.  */
11560 
11561 /* Start of optimal implementations in approved order.  */
11562 
11563 /* vabd.  */
11564 
11565 __extension__ extern __inline float32_t
11566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabds_f32(float32_t __a,float32_t __b)11567 vabds_f32 (float32_t __a, float32_t __b)
11568 {
11569   return __builtin_aarch64_fabdsf (__a, __b);
11570 }
11571 
11572 __extension__ extern __inline float64_t
11573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdd_f64(float64_t __a,float64_t __b)11574 vabdd_f64 (float64_t __a, float64_t __b)
11575 {
11576   return __builtin_aarch64_fabddf (__a, __b);
11577 }
11578 
11579 __extension__ extern __inline float32x2_t
11580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_f32(float32x2_t __a,float32x2_t __b)11581 vabd_f32 (float32x2_t __a, float32x2_t __b)
11582 {
11583   return __builtin_aarch64_fabdv2sf (__a, __b);
11584 }
11585 
11586 __extension__ extern __inline float64x1_t
11587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_f64(float64x1_t __a,float64x1_t __b)11588 vabd_f64 (float64x1_t __a, float64x1_t __b)
11589 {
11590   return (float64x1_t) {vabdd_f64 (vget_lane_f64 (__a, 0),
11591 				   vget_lane_f64 (__b, 0))};
11592 }
11593 
11594 __extension__ extern __inline float32x4_t
11595 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_f32(float32x4_t __a,float32x4_t __b)11596 vabdq_f32 (float32x4_t __a, float32x4_t __b)
11597 {
11598   return __builtin_aarch64_fabdv4sf (__a, __b);
11599 }
11600 
11601 __extension__ extern __inline float64x2_t
11602 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_f64(float64x2_t __a,float64x2_t __b)11603 vabdq_f64 (float64x2_t __a, float64x2_t __b)
11604 {
11605   return __builtin_aarch64_fabdv2df (__a, __b);
11606 }
11607 
11608 /* vabs  */
11609 
11610 __extension__ extern __inline float32x2_t
11611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_f32(float32x2_t __a)11612 vabs_f32 (float32x2_t __a)
11613 {
11614   return __builtin_aarch64_absv2sf (__a);
11615 }
11616 
11617 __extension__ extern __inline float64x1_t
11618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_f64(float64x1_t __a)11619 vabs_f64 (float64x1_t __a)
11620 {
11621   return (float64x1_t) {__builtin_fabs (__a[0])};
11622 }
11623 
11624 __extension__ extern __inline int8x8_t
11625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s8(int8x8_t __a)11626 vabs_s8 (int8x8_t __a)
11627 {
11628   return __builtin_aarch64_absv8qi (__a);
11629 }
11630 
11631 __extension__ extern __inline int16x4_t
11632 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s16(int16x4_t __a)11633 vabs_s16 (int16x4_t __a)
11634 {
11635   return __builtin_aarch64_absv4hi (__a);
11636 }
11637 
11638 __extension__ extern __inline int32x2_t
11639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s32(int32x2_t __a)11640 vabs_s32 (int32x2_t __a)
11641 {
11642   return __builtin_aarch64_absv2si (__a);
11643 }
11644 
11645 __extension__ extern __inline int64x1_t
11646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s64(int64x1_t __a)11647 vabs_s64 (int64x1_t __a)
11648 {
11649   return (int64x1_t) {__builtin_aarch64_absdi (__a[0])};
11650 }
11651 
11652 __extension__ extern __inline float32x4_t
11653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_f32(float32x4_t __a)11654 vabsq_f32 (float32x4_t __a)
11655 {
11656   return __builtin_aarch64_absv4sf (__a);
11657 }
11658 
11659 __extension__ extern __inline float64x2_t
11660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_f64(float64x2_t __a)11661 vabsq_f64 (float64x2_t __a)
11662 {
11663   return __builtin_aarch64_absv2df (__a);
11664 }
11665 
11666 __extension__ extern __inline int8x16_t
11667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s8(int8x16_t __a)11668 vabsq_s8 (int8x16_t __a)
11669 {
11670   return __builtin_aarch64_absv16qi (__a);
11671 }
11672 
11673 __extension__ extern __inline int16x8_t
11674 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s16(int16x8_t __a)11675 vabsq_s16 (int16x8_t __a)
11676 {
11677   return __builtin_aarch64_absv8hi (__a);
11678 }
11679 
11680 __extension__ extern __inline int32x4_t
11681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s32(int32x4_t __a)11682 vabsq_s32 (int32x4_t __a)
11683 {
11684   return __builtin_aarch64_absv4si (__a);
11685 }
11686 
11687 __extension__ extern __inline int64x2_t
11688 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s64(int64x2_t __a)11689 vabsq_s64 (int64x2_t __a)
11690 {
11691   return __builtin_aarch64_absv2di (__a);
11692 }
11693 
11694 /* Try to avoid moving between integer and vector registers.
11695    For why the cast to unsigned is needed check the vnegd_s64 intrinsic.
11696    There is a testcase related to this issue:
11697    gcc.target/aarch64/vabsd_s64.c.  */
11698 
11699 __extension__ extern __inline int64_t
11700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsd_s64(int64_t __a)11701 vabsd_s64 (int64_t __a)
11702 {
11703   return __a < 0 ? - (uint64_t) __a : __a;
11704 }
11705 
11706 /* vadd */
11707 
11708 __extension__ extern __inline int64_t
11709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddd_s64(int64_t __a,int64_t __b)11710 vaddd_s64 (int64_t __a, int64_t __b)
11711 {
11712   return __a + __b;
11713 }
11714 
11715 __extension__ extern __inline uint64_t
11716 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddd_u64(uint64_t __a,uint64_t __b)11717 vaddd_u64 (uint64_t __a, uint64_t __b)
11718 {
11719   return __a + __b;
11720 }
11721 
11722 /* vaddv */
11723 
11724 __extension__ extern __inline int8_t
11725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_s8(int8x8_t __a)11726 vaddv_s8 (int8x8_t __a)
11727 {
11728   return __builtin_aarch64_reduc_plus_scal_v8qi (__a);
11729 }
11730 
11731 __extension__ extern __inline int16_t
11732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_s16(int16x4_t __a)11733 vaddv_s16 (int16x4_t __a)
11734 {
11735   return __builtin_aarch64_reduc_plus_scal_v4hi (__a);
11736 }
11737 
11738 __extension__ extern __inline int32_t
11739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_s32(int32x2_t __a)11740 vaddv_s32 (int32x2_t __a)
11741 {
11742   return __builtin_aarch64_reduc_plus_scal_v2si (__a);
11743 }
11744 
11745 __extension__ extern __inline uint8_t
11746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_u8(uint8x8_t __a)11747 vaddv_u8 (uint8x8_t __a)
11748 {
11749   return (uint8_t) __builtin_aarch64_reduc_plus_scal_v8qi ((int8x8_t) __a);
11750 }
11751 
11752 __extension__ extern __inline uint16_t
11753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_u16(uint16x4_t __a)11754 vaddv_u16 (uint16x4_t __a)
11755 {
11756   return (uint16_t) __builtin_aarch64_reduc_plus_scal_v4hi ((int16x4_t) __a);
11757 }
11758 
11759 __extension__ extern __inline uint32_t
11760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_u32(uint32x2_t __a)11761 vaddv_u32 (uint32x2_t __a)
11762 {
11763   return (int32_t) __builtin_aarch64_reduc_plus_scal_v2si ((int32x2_t) __a);
11764 }
11765 
11766 __extension__ extern __inline int8_t
11767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_s8(int8x16_t __a)11768 vaddvq_s8 (int8x16_t __a)
11769 {
11770   return __builtin_aarch64_reduc_plus_scal_v16qi (__a);
11771 }
11772 
11773 __extension__ extern __inline int16_t
11774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_s16(int16x8_t __a)11775 vaddvq_s16 (int16x8_t __a)
11776 {
11777   return __builtin_aarch64_reduc_plus_scal_v8hi (__a);
11778 }
11779 
11780 __extension__ extern __inline int32_t
11781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_s32(int32x4_t __a)11782 vaddvq_s32 (int32x4_t __a)
11783 {
11784   return __builtin_aarch64_reduc_plus_scal_v4si (__a);
11785 }
11786 
11787 __extension__ extern __inline int64_t
11788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_s64(int64x2_t __a)11789 vaddvq_s64 (int64x2_t __a)
11790 {
11791   return __builtin_aarch64_reduc_plus_scal_v2di (__a);
11792 }
11793 
11794 __extension__ extern __inline uint8_t
11795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_u8(uint8x16_t __a)11796 vaddvq_u8 (uint8x16_t __a)
11797 {
11798   return (uint8_t) __builtin_aarch64_reduc_plus_scal_v16qi ((int8x16_t) __a);
11799 }
11800 
11801 __extension__ extern __inline uint16_t
11802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_u16(uint16x8_t __a)11803 vaddvq_u16 (uint16x8_t __a)
11804 {
11805   return (uint16_t) __builtin_aarch64_reduc_plus_scal_v8hi ((int16x8_t) __a);
11806 }
11807 
11808 __extension__ extern __inline uint32_t
11809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_u32(uint32x4_t __a)11810 vaddvq_u32 (uint32x4_t __a)
11811 {
11812   return (uint32_t) __builtin_aarch64_reduc_plus_scal_v4si ((int32x4_t) __a);
11813 }
11814 
11815 __extension__ extern __inline uint64_t
11816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_u64(uint64x2_t __a)11817 vaddvq_u64 (uint64x2_t __a)
11818 {
11819   return (uint64_t) __builtin_aarch64_reduc_plus_scal_v2di ((int64x2_t) __a);
11820 }
11821 
11822 __extension__ extern __inline float32_t
11823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_f32(float32x2_t __a)11824 vaddv_f32 (float32x2_t __a)
11825 {
11826   return __builtin_aarch64_reduc_plus_scal_v2sf (__a);
11827 }
11828 
11829 __extension__ extern __inline float32_t
11830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_f32(float32x4_t __a)11831 vaddvq_f32 (float32x4_t __a)
11832 {
11833   return __builtin_aarch64_reduc_plus_scal_v4sf (__a);
11834 }
11835 
11836 __extension__ extern __inline float64_t
11837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_f64(float64x2_t __a)11838 vaddvq_f64 (float64x2_t __a)
11839 {
11840   return __builtin_aarch64_reduc_plus_scal_v2df (__a);
11841 }
11842 
11843 /* vbsl  */
11844 
11845 __extension__ extern __inline float16x4_t
11846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_f16(uint16x4_t __a,float16x4_t __b,float16x4_t __c)11847 vbsl_f16 (uint16x4_t __a, float16x4_t __b, float16x4_t __c)
11848 {
11849   return __builtin_aarch64_simd_bslv4hf_suss (__a, __b, __c);
11850 }
11851 
11852 __extension__ extern __inline float32x2_t
11853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_f32(uint32x2_t __a,float32x2_t __b,float32x2_t __c)11854 vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c)
11855 {
11856   return __builtin_aarch64_simd_bslv2sf_suss (__a, __b, __c);
11857 }
11858 
11859 __extension__ extern __inline float64x1_t
11860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_f64(uint64x1_t __a,float64x1_t __b,float64x1_t __c)11861 vbsl_f64 (uint64x1_t __a, float64x1_t __b, float64x1_t __c)
11862 {
11863   return (float64x1_t)
11864     { __builtin_aarch64_simd_bsldf_suss (__a[0], __b[0], __c[0]) };
11865 }
11866 
11867 __extension__ extern __inline poly8x8_t
11868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p8(uint8x8_t __a,poly8x8_t __b,poly8x8_t __c)11869 vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c)
11870 {
11871   return __builtin_aarch64_simd_bslv8qi_pupp (__a, __b, __c);
11872 }
11873 
11874 __extension__ extern __inline poly16x4_t
11875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p16(uint16x4_t __a,poly16x4_t __b,poly16x4_t __c)11876 vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c)
11877 {
11878   return __builtin_aarch64_simd_bslv4hi_pupp (__a, __b, __c);
11879 }
11880 __extension__ extern __inline poly64x1_t
11881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p64(uint64x1_t __a,poly64x1_t __b,poly64x1_t __c)11882 vbsl_p64 (uint64x1_t __a, poly64x1_t __b, poly64x1_t __c)
11883 {
11884   return (poly64x1_t)
11885       {__builtin_aarch64_simd_bsldi_pupp (__a[0], __b[0], __c[0])};
11886 }
11887 
11888 __extension__ extern __inline int8x8_t
11889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s8(uint8x8_t __a,int8x8_t __b,int8x8_t __c)11890 vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c)
11891 {
11892   return __builtin_aarch64_simd_bslv8qi_suss (__a, __b, __c);
11893 }
11894 
11895 __extension__ extern __inline int16x4_t
11896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s16(uint16x4_t __a,int16x4_t __b,int16x4_t __c)11897 vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c)
11898 {
11899   return __builtin_aarch64_simd_bslv4hi_suss (__a, __b, __c);
11900 }
11901 
11902 __extension__ extern __inline int32x2_t
11903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s32(uint32x2_t __a,int32x2_t __b,int32x2_t __c)11904 vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c)
11905 {
11906   return __builtin_aarch64_simd_bslv2si_suss (__a, __b, __c);
11907 }
11908 
11909 __extension__ extern __inline int64x1_t
11910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s64(uint64x1_t __a,int64x1_t __b,int64x1_t __c)11911 vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c)
11912 {
11913   return (int64x1_t)
11914       {__builtin_aarch64_simd_bsldi_suss (__a[0], __b[0], __c[0])};
11915 }
11916 
11917 __extension__ extern __inline uint8x8_t
11918 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)11919 vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
11920 {
11921   return __builtin_aarch64_simd_bslv8qi_uuuu (__a, __b, __c);
11922 }
11923 
11924 __extension__ extern __inline uint16x4_t
11925 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)11926 vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
11927 {
11928   return __builtin_aarch64_simd_bslv4hi_uuuu (__a, __b, __c);
11929 }
11930 
11931 __extension__ extern __inline uint32x2_t
11932 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)11933 vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
11934 {
11935   return __builtin_aarch64_simd_bslv2si_uuuu (__a, __b, __c);
11936 }
11937 
11938 __extension__ extern __inline uint64x1_t
11939 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u64(uint64x1_t __a,uint64x1_t __b,uint64x1_t __c)11940 vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c)
11941 {
11942   return (uint64x1_t)
11943       {__builtin_aarch64_simd_bsldi_uuuu (__a[0], __b[0], __c[0])};
11944 }
11945 
11946 __extension__ extern __inline float16x8_t
11947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_f16(uint16x8_t __a,float16x8_t __b,float16x8_t __c)11948 vbslq_f16 (uint16x8_t __a, float16x8_t __b, float16x8_t __c)
11949 {
11950   return __builtin_aarch64_simd_bslv8hf_suss (__a, __b, __c);
11951 }
11952 
11953 __extension__ extern __inline float32x4_t
11954 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_f32(uint32x4_t __a,float32x4_t __b,float32x4_t __c)11955 vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c)
11956 {
11957   return __builtin_aarch64_simd_bslv4sf_suss (__a, __b, __c);
11958 }
11959 
11960 __extension__ extern __inline float64x2_t
11961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_f64(uint64x2_t __a,float64x2_t __b,float64x2_t __c)11962 vbslq_f64 (uint64x2_t __a, float64x2_t __b, float64x2_t __c)
11963 {
11964   return __builtin_aarch64_simd_bslv2df_suss (__a, __b, __c);
11965 }
11966 
11967 __extension__ extern __inline poly8x16_t
11968 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p8(uint8x16_t __a,poly8x16_t __b,poly8x16_t __c)11969 vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c)
11970 {
11971   return __builtin_aarch64_simd_bslv16qi_pupp (__a, __b, __c);
11972 }
11973 
11974 __extension__ extern __inline poly16x8_t
11975 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p16(uint16x8_t __a,poly16x8_t __b,poly16x8_t __c)11976 vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c)
11977 {
11978   return __builtin_aarch64_simd_bslv8hi_pupp (__a, __b, __c);
11979 }
11980 
11981 __extension__ extern __inline int8x16_t
11982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s8(uint8x16_t __a,int8x16_t __b,int8x16_t __c)11983 vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c)
11984 {
11985   return __builtin_aarch64_simd_bslv16qi_suss (__a, __b, __c);
11986 }
11987 
11988 __extension__ extern __inline int16x8_t
11989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s16(uint16x8_t __a,int16x8_t __b,int16x8_t __c)11990 vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c)
11991 {
11992   return __builtin_aarch64_simd_bslv8hi_suss (__a, __b, __c);
11993 }
11994 
11995 __extension__ extern __inline poly64x2_t
11996 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p64(uint64x2_t __a,poly64x2_t __b,poly64x2_t __c)11997 vbslq_p64 (uint64x2_t __a, poly64x2_t __b, poly64x2_t __c)
11998 {
11999   return __builtin_aarch64_simd_bslv2di_pupp (__a, __b, __c);
12000 }
12001 
12002 __extension__ extern __inline int32x4_t
12003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s32(uint32x4_t __a,int32x4_t __b,int32x4_t __c)12004 vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c)
12005 {
12006   return __builtin_aarch64_simd_bslv4si_suss (__a, __b, __c);
12007 }
12008 
12009 __extension__ extern __inline int64x2_t
12010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s64(uint64x2_t __a,int64x2_t __b,int64x2_t __c)12011 vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c)
12012 {
12013   return __builtin_aarch64_simd_bslv2di_suss (__a, __b, __c);
12014 }
12015 
12016 __extension__ extern __inline uint8x16_t
12017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)12018 vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
12019 {
12020   return __builtin_aarch64_simd_bslv16qi_uuuu (__a, __b, __c);
12021 }
12022 
12023 __extension__ extern __inline uint16x8_t
12024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)12025 vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
12026 {
12027   return __builtin_aarch64_simd_bslv8hi_uuuu (__a, __b, __c);
12028 }
12029 
12030 __extension__ extern __inline uint32x4_t
12031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)12032 vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
12033 {
12034   return __builtin_aarch64_simd_bslv4si_uuuu (__a, __b, __c);
12035 }
12036 
12037 __extension__ extern __inline uint64x2_t
12038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)12039 vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
12040 {
12041   return __builtin_aarch64_simd_bslv2di_uuuu (__a, __b, __c);
12042 }
12043 
12044 /* ARMv8.1-A instrinsics.  */
12045 #pragma GCC push_options
12046 #pragma GCC target ("+nothing+rdma")
12047 
12048 __extension__ extern __inline int16x4_t
12049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)12050 vqrdmlah_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
12051 {
12052   return __builtin_aarch64_sqrdmlahv4hi (__a, __b, __c);
12053 }
12054 
12055 __extension__ extern __inline int32x2_t
12056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)12057 vqrdmlah_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
12058 {
12059   return __builtin_aarch64_sqrdmlahv2si (__a, __b, __c);
12060 }
12061 
12062 __extension__ extern __inline int16x8_t
12063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)12064 vqrdmlahq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
12065 {
12066   return __builtin_aarch64_sqrdmlahv8hi (__a, __b, __c);
12067 }
12068 
12069 __extension__ extern __inline int32x4_t
12070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)12071 vqrdmlahq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
12072 {
12073   return __builtin_aarch64_sqrdmlahv4si (__a, __b, __c);
12074 }
12075 
12076 __extension__ extern __inline int16x4_t
12077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)12078 vqrdmlsh_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
12079 {
12080   return __builtin_aarch64_sqrdmlshv4hi (__a, __b, __c);
12081 }
12082 
12083 __extension__ extern __inline int32x2_t
12084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)12085 vqrdmlsh_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
12086 {
12087   return __builtin_aarch64_sqrdmlshv2si (__a, __b, __c);
12088 }
12089 
12090 __extension__ extern __inline int16x8_t
12091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)12092 vqrdmlshq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
12093 {
12094   return __builtin_aarch64_sqrdmlshv8hi (__a, __b, __c);
12095 }
12096 
12097 __extension__ extern __inline int32x4_t
12098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)12099 vqrdmlshq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
12100 {
12101   return __builtin_aarch64_sqrdmlshv4si (__a, __b, __c);
12102 }
12103 
12104 __extension__ extern __inline int16x4_t
12105 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_laneq_s16(int16x4_t __a,int16x4_t __b,int16x8_t __c,const int __d)12106 vqrdmlah_laneq_s16 (int16x4_t __a, int16x4_t __b, int16x8_t __c, const int __d)
12107 {
12108   return  __builtin_aarch64_sqrdmlah_laneqv4hi (__a, __b, __c, __d);
12109 }
12110 
12111 __extension__ extern __inline int32x2_t
12112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_laneq_s32(int32x2_t __a,int32x2_t __b,int32x4_t __c,const int __d)12113 vqrdmlah_laneq_s32 (int32x2_t __a, int32x2_t __b, int32x4_t __c, const int __d)
12114 {
12115   return __builtin_aarch64_sqrdmlah_laneqv2si (__a, __b, __c, __d);
12116 }
12117 
12118 __extension__ extern __inline int16x8_t
12119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_laneq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c,const int __d)12120 vqrdmlahq_laneq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c, const int __d)
12121 {
12122   return __builtin_aarch64_sqrdmlah_laneqv8hi (__a, __b, __c, __d);
12123 }
12124 
12125 __extension__ extern __inline int32x4_t
12126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_laneq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c,const int __d)12127 vqrdmlahq_laneq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c, const int __d)
12128 {
12129   return __builtin_aarch64_sqrdmlah_laneqv4si (__a, __b, __c, __d);
12130 }
12131 
12132 __extension__ extern __inline int16x4_t
12133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_laneq_s16(int16x4_t __a,int16x4_t __b,int16x8_t __c,const int __d)12134 vqrdmlsh_laneq_s16 (int16x4_t __a, int16x4_t __b, int16x8_t __c, const int __d)
12135 {
12136   return  __builtin_aarch64_sqrdmlsh_laneqv4hi (__a, __b, __c, __d);
12137 }
12138 
12139 __extension__ extern __inline int32x2_t
12140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_laneq_s32(int32x2_t __a,int32x2_t __b,int32x4_t __c,const int __d)12141 vqrdmlsh_laneq_s32 (int32x2_t __a, int32x2_t __b, int32x4_t __c, const int __d)
12142 {
12143   return __builtin_aarch64_sqrdmlsh_laneqv2si (__a, __b, __c, __d);
12144 }
12145 
12146 __extension__ extern __inline int16x8_t
12147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_laneq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c,const int __d)12148 vqrdmlshq_laneq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c, const int __d)
12149 {
12150   return __builtin_aarch64_sqrdmlsh_laneqv8hi (__a, __b, __c, __d);
12151 }
12152 
12153 __extension__ extern __inline int32x4_t
12154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_laneq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c,const int __d)12155 vqrdmlshq_laneq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c, const int __d)
12156 {
12157   return __builtin_aarch64_sqrdmlsh_laneqv4si (__a, __b, __c, __d);
12158 }
12159 
12160 __extension__ extern __inline int16x4_t
12161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)12162 vqrdmlah_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
12163 {
12164   return  __builtin_aarch64_sqrdmlah_lanev4hi (__a, __b, __c, __d);
12165 }
12166 
12167 __extension__ extern __inline int32x2_t
12168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)12169 vqrdmlah_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
12170 {
12171   return __builtin_aarch64_sqrdmlah_lanev2si (__a, __b, __c, __d);
12172 }
12173 
12174 __extension__ extern __inline int16x8_t
12175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)12176 vqrdmlahq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
12177 {
12178   return __builtin_aarch64_sqrdmlah_lanev8hi (__a, __b, __c, __d);
12179 }
12180 
12181 __extension__ extern __inline int32x4_t
12182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)12183 vqrdmlahq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
12184 {
12185   return __builtin_aarch64_sqrdmlah_lanev4si (__a, __b, __c, __d);
12186 }
12187 
12188 __extension__ extern __inline int16_t
12189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahh_s16(int16_t __a,int16_t __b,int16_t __c)12190 vqrdmlahh_s16 (int16_t __a, int16_t __b, int16_t __c)
12191 {
12192   return (int16_t) __builtin_aarch64_sqrdmlahhi (__a, __b, __c);
12193 }
12194 
12195 __extension__ extern __inline int16_t
12196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahh_lane_s16(int16_t __a,int16_t __b,int16x4_t __c,const int __d)12197 vqrdmlahh_lane_s16 (int16_t __a, int16_t __b, int16x4_t __c, const int __d)
12198 {
12199   return __builtin_aarch64_sqrdmlah_lanehi (__a, __b, __c, __d);
12200 }
12201 
12202 __extension__ extern __inline int16_t
12203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahh_laneq_s16(int16_t __a,int16_t __b,int16x8_t __c,const int __d)12204 vqrdmlahh_laneq_s16 (int16_t __a, int16_t __b, int16x8_t __c, const int __d)
12205 {
12206   return __builtin_aarch64_sqrdmlah_laneqhi (__a, __b, __c, __d);
12207 }
12208 
12209 __extension__ extern __inline int32_t
12210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahs_s32(int32_t __a,int32_t __b,int32_t __c)12211 vqrdmlahs_s32 (int32_t __a, int32_t __b, int32_t __c)
12212 {
12213   return (int32_t) __builtin_aarch64_sqrdmlahsi (__a, __b, __c);
12214 }
12215 
12216 __extension__ extern __inline int32_t
12217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahs_lane_s32(int32_t __a,int32_t __b,int32x2_t __c,const int __d)12218 vqrdmlahs_lane_s32 (int32_t __a, int32_t __b, int32x2_t __c, const int __d)
12219 {
12220   return __builtin_aarch64_sqrdmlah_lanesi (__a, __b, __c, __d);
12221 }
12222 
12223 __extension__ extern __inline int32_t
12224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahs_laneq_s32(int32_t __a,int32_t __b,int32x4_t __c,const int __d)12225 vqrdmlahs_laneq_s32 (int32_t __a, int32_t __b, int32x4_t __c, const int __d)
12226 {
12227   return __builtin_aarch64_sqrdmlah_laneqsi (__a, __b, __c, __d);
12228 }
12229 
12230 __extension__ extern __inline int16x4_t
12231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)12232 vqrdmlsh_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
12233 {
12234   return  __builtin_aarch64_sqrdmlsh_lanev4hi (__a, __b, __c, __d);
12235 }
12236 
12237 __extension__ extern __inline int32x2_t
12238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)12239 vqrdmlsh_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
12240 {
12241   return __builtin_aarch64_sqrdmlsh_lanev2si (__a, __b, __c, __d);
12242 }
12243 
12244 __extension__ extern __inline int16x8_t
12245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)12246 vqrdmlshq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
12247 {
12248   return __builtin_aarch64_sqrdmlsh_lanev8hi (__a, __b, __c, __d);
12249 }
12250 
12251 __extension__ extern __inline int32x4_t
12252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)12253 vqrdmlshq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
12254 {
12255   return __builtin_aarch64_sqrdmlsh_lanev4si (__a, __b, __c, __d);
12256 }
12257 
12258 __extension__ extern __inline int16_t
12259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshh_s16(int16_t __a,int16_t __b,int16_t __c)12260 vqrdmlshh_s16 (int16_t __a, int16_t __b, int16_t __c)
12261 {
12262   return (int16_t) __builtin_aarch64_sqrdmlshhi (__a, __b, __c);
12263 }
12264 
12265 __extension__ extern __inline int16_t
12266 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshh_lane_s16(int16_t __a,int16_t __b,int16x4_t __c,const int __d)12267 vqrdmlshh_lane_s16 (int16_t __a, int16_t __b, int16x4_t __c, const int __d)
12268 {
12269   return __builtin_aarch64_sqrdmlsh_lanehi (__a, __b, __c, __d);
12270 }
12271 
12272 __extension__ extern __inline int16_t
12273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshh_laneq_s16(int16_t __a,int16_t __b,int16x8_t __c,const int __d)12274 vqrdmlshh_laneq_s16 (int16_t __a, int16_t __b, int16x8_t __c, const int __d)
12275 {
12276   return __builtin_aarch64_sqrdmlsh_laneqhi (__a, __b, __c, __d);
12277 }
12278 
12279 __extension__ extern __inline int32_t
12280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshs_s32(int32_t __a,int32_t __b,int32_t __c)12281 vqrdmlshs_s32 (int32_t __a, int32_t __b, int32_t __c)
12282 {
12283   return (int32_t) __builtin_aarch64_sqrdmlshsi (__a, __b, __c);
12284 }
12285 
12286 __extension__ extern __inline int32_t
12287 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshs_lane_s32(int32_t __a,int32_t __b,int32x2_t __c,const int __d)12288 vqrdmlshs_lane_s32 (int32_t __a, int32_t __b, int32x2_t __c, const int __d)
12289 {
12290   return __builtin_aarch64_sqrdmlsh_lanesi (__a, __b, __c, __d);
12291 }
12292 
12293 __extension__ extern __inline int32_t
12294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshs_laneq_s32(int32_t __a,int32_t __b,int32x4_t __c,const int __d)12295 vqrdmlshs_laneq_s32 (int32_t __a, int32_t __b, int32x4_t __c, const int __d)
12296 {
12297   return __builtin_aarch64_sqrdmlsh_laneqsi (__a, __b, __c, __d);
12298 }
12299 #pragma GCC pop_options
12300 
12301 #pragma GCC push_options
12302 #pragma GCC target ("+nothing+crypto")
12303 /* vaes  */
12304 
12305 __extension__ extern __inline uint8x16_t
12306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaeseq_u8(uint8x16_t data,uint8x16_t key)12307 vaeseq_u8 (uint8x16_t data, uint8x16_t key)
12308 {
12309   return __builtin_aarch64_crypto_aesev16qi_uuu (data, key);
12310 }
12311 
12312 __extension__ extern __inline uint8x16_t
12313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaesdq_u8(uint8x16_t data,uint8x16_t key)12314 vaesdq_u8 (uint8x16_t data, uint8x16_t key)
12315 {
12316   return __builtin_aarch64_crypto_aesdv16qi_uuu (data, key);
12317 }
12318 
12319 __extension__ extern __inline uint8x16_t
12320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaesmcq_u8(uint8x16_t data)12321 vaesmcq_u8 (uint8x16_t data)
12322 {
12323   return __builtin_aarch64_crypto_aesmcv16qi_uu (data);
12324 }
12325 
12326 __extension__ extern __inline uint8x16_t
12327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaesimcq_u8(uint8x16_t data)12328 vaesimcq_u8 (uint8x16_t data)
12329 {
12330   return __builtin_aarch64_crypto_aesimcv16qi_uu (data);
12331 }
12332 #pragma GCC pop_options
12333 
12334 /* vcage  */
12335 
12336 __extension__ extern __inline uint64x1_t
12337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcage_f64(float64x1_t __a,float64x1_t __b)12338 vcage_f64 (float64x1_t __a, float64x1_t __b)
12339 {
12340   return vabs_f64 (__a) >= vabs_f64 (__b);
12341 }
12342 
12343 __extension__ extern __inline uint32_t
12344 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcages_f32(float32_t __a,float32_t __b)12345 vcages_f32 (float32_t __a, float32_t __b)
12346 {
12347   return __builtin_fabsf (__a) >= __builtin_fabsf (__b) ? -1 : 0;
12348 }
12349 
12350 __extension__ extern __inline uint32x2_t
12351 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcage_f32(float32x2_t __a,float32x2_t __b)12352 vcage_f32 (float32x2_t __a, float32x2_t __b)
12353 {
12354   return vabs_f32 (__a) >= vabs_f32 (__b);
12355 }
12356 
12357 __extension__ extern __inline uint32x4_t
12358 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcageq_f32(float32x4_t __a,float32x4_t __b)12359 vcageq_f32 (float32x4_t __a, float32x4_t __b)
12360 {
12361   return vabsq_f32 (__a) >= vabsq_f32 (__b);
12362 }
12363 
12364 __extension__ extern __inline uint64_t
12365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaged_f64(float64_t __a,float64_t __b)12366 vcaged_f64 (float64_t __a, float64_t __b)
12367 {
12368   return __builtin_fabs (__a) >= __builtin_fabs (__b) ? -1 : 0;
12369 }
12370 
12371 __extension__ extern __inline uint64x2_t
12372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcageq_f64(float64x2_t __a,float64x2_t __b)12373 vcageq_f64 (float64x2_t __a, float64x2_t __b)
12374 {
12375   return vabsq_f64 (__a) >= vabsq_f64 (__b);
12376 }
12377 
12378 /* vcagt  */
12379 
12380 __extension__ extern __inline uint32_t
12381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagts_f32(float32_t __a,float32_t __b)12382 vcagts_f32 (float32_t __a, float32_t __b)
12383 {
12384   return __builtin_fabsf (__a) > __builtin_fabsf (__b) ? -1 : 0;
12385 }
12386 
12387 __extension__ extern __inline uint32x2_t
12388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagt_f32(float32x2_t __a,float32x2_t __b)12389 vcagt_f32 (float32x2_t __a, float32x2_t __b)
12390 {
12391   return vabs_f32 (__a) > vabs_f32 (__b);
12392 }
12393 
12394 __extension__ extern __inline uint64x1_t
12395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagt_f64(float64x1_t __a,float64x1_t __b)12396 vcagt_f64 (float64x1_t __a, float64x1_t __b)
12397 {
12398   return vabs_f64 (__a) > vabs_f64 (__b);
12399 }
12400 
12401 __extension__ extern __inline uint32x4_t
12402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagtq_f32(float32x4_t __a,float32x4_t __b)12403 vcagtq_f32 (float32x4_t __a, float32x4_t __b)
12404 {
12405   return vabsq_f32 (__a) > vabsq_f32 (__b);
12406 }
12407 
12408 __extension__ extern __inline uint64_t
12409 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagtd_f64(float64_t __a,float64_t __b)12410 vcagtd_f64 (float64_t __a, float64_t __b)
12411 {
12412   return __builtin_fabs (__a) > __builtin_fabs (__b) ? -1 : 0;
12413 }
12414 
12415 __extension__ extern __inline uint64x2_t
12416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagtq_f64(float64x2_t __a,float64x2_t __b)12417 vcagtq_f64 (float64x2_t __a, float64x2_t __b)
12418 {
12419   return vabsq_f64 (__a) > vabsq_f64 (__b);
12420 }
12421 
12422 /* vcale  */
12423 
12424 __extension__ extern __inline uint32x2_t
12425 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcale_f32(float32x2_t __a,float32x2_t __b)12426 vcale_f32 (float32x2_t __a, float32x2_t __b)
12427 {
12428   return vabs_f32 (__a) <= vabs_f32 (__b);
12429 }
12430 
12431 __extension__ extern __inline uint64x1_t
12432 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcale_f64(float64x1_t __a,float64x1_t __b)12433 vcale_f64 (float64x1_t __a, float64x1_t __b)
12434 {
12435   return vabs_f64 (__a) <= vabs_f64 (__b);
12436 }
12437 
12438 __extension__ extern __inline uint64_t
12439 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaled_f64(float64_t __a,float64_t __b)12440 vcaled_f64 (float64_t __a, float64_t __b)
12441 {
12442   return __builtin_fabs (__a) <= __builtin_fabs (__b) ? -1 : 0;
12443 }
12444 
12445 __extension__ extern __inline uint32_t
12446 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcales_f32(float32_t __a,float32_t __b)12447 vcales_f32 (float32_t __a, float32_t __b)
12448 {
12449   return __builtin_fabsf (__a) <= __builtin_fabsf (__b) ? -1 : 0;
12450 }
12451 
12452 __extension__ extern __inline uint32x4_t
12453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaleq_f32(float32x4_t __a,float32x4_t __b)12454 vcaleq_f32 (float32x4_t __a, float32x4_t __b)
12455 {
12456   return vabsq_f32 (__a) <= vabsq_f32 (__b);
12457 }
12458 
12459 __extension__ extern __inline uint64x2_t
12460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaleq_f64(float64x2_t __a,float64x2_t __b)12461 vcaleq_f64 (float64x2_t __a, float64x2_t __b)
12462 {
12463   return vabsq_f64 (__a) <= vabsq_f64 (__b);
12464 }
12465 
12466 /* vcalt  */
12467 
12468 __extension__ extern __inline uint32x2_t
12469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcalt_f32(float32x2_t __a,float32x2_t __b)12470 vcalt_f32 (float32x2_t __a, float32x2_t __b)
12471 {
12472   return vabs_f32 (__a) < vabs_f32 (__b);
12473 }
12474 
12475 __extension__ extern __inline uint64x1_t
12476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcalt_f64(float64x1_t __a,float64x1_t __b)12477 vcalt_f64 (float64x1_t __a, float64x1_t __b)
12478 {
12479   return vabs_f64 (__a) < vabs_f64 (__b);
12480 }
12481 
12482 __extension__ extern __inline uint64_t
12483 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaltd_f64(float64_t __a,float64_t __b)12484 vcaltd_f64 (float64_t __a, float64_t __b)
12485 {
12486   return __builtin_fabs (__a) < __builtin_fabs (__b) ? -1 : 0;
12487 }
12488 
12489 __extension__ extern __inline uint32x4_t
12490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaltq_f32(float32x4_t __a,float32x4_t __b)12491 vcaltq_f32 (float32x4_t __a, float32x4_t __b)
12492 {
12493   return vabsq_f32 (__a) < vabsq_f32 (__b);
12494 }
12495 
12496 __extension__ extern __inline uint64x2_t
12497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaltq_f64(float64x2_t __a,float64x2_t __b)12498 vcaltq_f64 (float64x2_t __a, float64x2_t __b)
12499 {
12500   return vabsq_f64 (__a) < vabsq_f64 (__b);
12501 }
12502 
12503 __extension__ extern __inline uint32_t
12504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcalts_f32(float32_t __a,float32_t __b)12505 vcalts_f32 (float32_t __a, float32_t __b)
12506 {
12507   return __builtin_fabsf (__a) < __builtin_fabsf (__b) ? -1 : 0;
12508 }
12509 
12510 /* vceq - vector.  */
12511 
12512 __extension__ extern __inline uint32x2_t
12513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_f32(float32x2_t __a,float32x2_t __b)12514 vceq_f32 (float32x2_t __a, float32x2_t __b)
12515 {
12516   return (uint32x2_t) (__a == __b);
12517 }
12518 
12519 __extension__ extern __inline uint64x1_t
12520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_f64(float64x1_t __a,float64x1_t __b)12521 vceq_f64 (float64x1_t __a, float64x1_t __b)
12522 {
12523   return (uint64x1_t) (__a == __b);
12524 }
12525 
12526 __extension__ extern __inline uint8x8_t
12527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_p8(poly8x8_t __a,poly8x8_t __b)12528 vceq_p8 (poly8x8_t __a, poly8x8_t __b)
12529 {
12530   return (uint8x8_t) (__a == __b);
12531 }
12532 
12533 __extension__ extern __inline uint64x1_t
12534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_p64(poly64x1_t __a,poly64x1_t __b)12535 vceq_p64 (poly64x1_t __a, poly64x1_t __b)
12536 {
12537   return (uint64x1_t) (__a == __b);
12538 }
12539 
12540 __extension__ extern __inline uint8x8_t
12541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s8(int8x8_t __a,int8x8_t __b)12542 vceq_s8 (int8x8_t __a, int8x8_t __b)
12543 {
12544   return (uint8x8_t) (__a == __b);
12545 }
12546 
12547 __extension__ extern __inline uint16x4_t
12548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s16(int16x4_t __a,int16x4_t __b)12549 vceq_s16 (int16x4_t __a, int16x4_t __b)
12550 {
12551   return (uint16x4_t) (__a == __b);
12552 }
12553 
12554 __extension__ extern __inline uint32x2_t
12555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s32(int32x2_t __a,int32x2_t __b)12556 vceq_s32 (int32x2_t __a, int32x2_t __b)
12557 {
12558   return (uint32x2_t) (__a == __b);
12559 }
12560 
12561 __extension__ extern __inline uint64x1_t
12562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s64(int64x1_t __a,int64x1_t __b)12563 vceq_s64 (int64x1_t __a, int64x1_t __b)
12564 {
12565   return (uint64x1_t) (__a == __b);
12566 }
12567 
12568 __extension__ extern __inline uint8x8_t
12569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u8(uint8x8_t __a,uint8x8_t __b)12570 vceq_u8 (uint8x8_t __a, uint8x8_t __b)
12571 {
12572   return (__a == __b);
12573 }
12574 
12575 __extension__ extern __inline uint16x4_t
12576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u16(uint16x4_t __a,uint16x4_t __b)12577 vceq_u16 (uint16x4_t __a, uint16x4_t __b)
12578 {
12579   return (__a == __b);
12580 }
12581 
12582 __extension__ extern __inline uint32x2_t
12583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u32(uint32x2_t __a,uint32x2_t __b)12584 vceq_u32 (uint32x2_t __a, uint32x2_t __b)
12585 {
12586   return (__a == __b);
12587 }
12588 
12589 __extension__ extern __inline uint64x1_t
12590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u64(uint64x1_t __a,uint64x1_t __b)12591 vceq_u64 (uint64x1_t __a, uint64x1_t __b)
12592 {
12593   return (__a == __b);
12594 }
12595 
12596 __extension__ extern __inline uint32x4_t
12597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_f32(float32x4_t __a,float32x4_t __b)12598 vceqq_f32 (float32x4_t __a, float32x4_t __b)
12599 {
12600   return (uint32x4_t) (__a == __b);
12601 }
12602 
12603 __extension__ extern __inline uint64x2_t
12604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_f64(float64x2_t __a,float64x2_t __b)12605 vceqq_f64 (float64x2_t __a, float64x2_t __b)
12606 {
12607   return (uint64x2_t) (__a == __b);
12608 }
12609 
12610 __extension__ extern __inline uint8x16_t
12611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_p8(poly8x16_t __a,poly8x16_t __b)12612 vceqq_p8 (poly8x16_t __a, poly8x16_t __b)
12613 {
12614   return (uint8x16_t) (__a == __b);
12615 }
12616 
12617 __extension__ extern __inline uint8x16_t
12618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s8(int8x16_t __a,int8x16_t __b)12619 vceqq_s8 (int8x16_t __a, int8x16_t __b)
12620 {
12621   return (uint8x16_t) (__a == __b);
12622 }
12623 
12624 __extension__ extern __inline uint16x8_t
12625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s16(int16x8_t __a,int16x8_t __b)12626 vceqq_s16 (int16x8_t __a, int16x8_t __b)
12627 {
12628   return (uint16x8_t) (__a == __b);
12629 }
12630 
12631 __extension__ extern __inline uint32x4_t
12632 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s32(int32x4_t __a,int32x4_t __b)12633 vceqq_s32 (int32x4_t __a, int32x4_t __b)
12634 {
12635   return (uint32x4_t) (__a == __b);
12636 }
12637 
12638 __extension__ extern __inline uint64x2_t
12639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s64(int64x2_t __a,int64x2_t __b)12640 vceqq_s64 (int64x2_t __a, int64x2_t __b)
12641 {
12642   return (uint64x2_t) (__a == __b);
12643 }
12644 
12645 __extension__ extern __inline uint8x16_t
12646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u8(uint8x16_t __a,uint8x16_t __b)12647 vceqq_u8 (uint8x16_t __a, uint8x16_t __b)
12648 {
12649   return (__a == __b);
12650 }
12651 
12652 __extension__ extern __inline uint16x8_t
12653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u16(uint16x8_t __a,uint16x8_t __b)12654 vceqq_u16 (uint16x8_t __a, uint16x8_t __b)
12655 {
12656   return (__a == __b);
12657 }
12658 
12659 __extension__ extern __inline uint32x4_t
12660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u32(uint32x4_t __a,uint32x4_t __b)12661 vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
12662 {
12663   return (__a == __b);
12664 }
12665 
12666 __extension__ extern __inline uint64x2_t
12667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u64(uint64x2_t __a,uint64x2_t __b)12668 vceqq_u64 (uint64x2_t __a, uint64x2_t __b)
12669 {
12670   return (__a == __b);
12671 }
12672 
12673 /* vceq - scalar.  */
12674 
12675 __extension__ extern __inline uint32_t
12676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqs_f32(float32_t __a,float32_t __b)12677 vceqs_f32 (float32_t __a, float32_t __b)
12678 {
12679   return __a == __b ? -1 : 0;
12680 }
12681 
12682 __extension__ extern __inline uint64_t
12683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqd_s64(int64_t __a,int64_t __b)12684 vceqd_s64 (int64_t __a, int64_t __b)
12685 {
12686   return __a == __b ? -1ll : 0ll;
12687 }
12688 
12689 __extension__ extern __inline uint64_t
12690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqd_u64(uint64_t __a,uint64_t __b)12691 vceqd_u64 (uint64_t __a, uint64_t __b)
12692 {
12693   return __a == __b ? -1ll : 0ll;
12694 }
12695 
12696 __extension__ extern __inline uint64_t
12697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqd_f64(float64_t __a,float64_t __b)12698 vceqd_f64 (float64_t __a, float64_t __b)
12699 {
12700   return __a == __b ? -1ll : 0ll;
12701 }
12702 
12703 /* vceqz - vector.  */
12704 
12705 __extension__ extern __inline uint32x2_t
12706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_f32(float32x2_t __a)12707 vceqz_f32 (float32x2_t __a)
12708 {
12709   return (uint32x2_t) (__a == 0.0f);
12710 }
12711 
12712 __extension__ extern __inline uint64x1_t
12713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_f64(float64x1_t __a)12714 vceqz_f64 (float64x1_t __a)
12715 {
12716   return (uint64x1_t) (__a == (float64x1_t) {0.0});
12717 }
12718 
12719 __extension__ extern __inline uint8x8_t
12720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_p8(poly8x8_t __a)12721 vceqz_p8 (poly8x8_t __a)
12722 {
12723   return (uint8x8_t) (__a == 0);
12724 }
12725 
12726 __extension__ extern __inline uint8x8_t
12727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_s8(int8x8_t __a)12728 vceqz_s8 (int8x8_t __a)
12729 {
12730   return (uint8x8_t) (__a == 0);
12731 }
12732 
12733 __extension__ extern __inline uint16x4_t
12734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_s16(int16x4_t __a)12735 vceqz_s16 (int16x4_t __a)
12736 {
12737   return (uint16x4_t) (__a == 0);
12738 }
12739 
12740 __extension__ extern __inline uint32x2_t
12741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_s32(int32x2_t __a)12742 vceqz_s32 (int32x2_t __a)
12743 {
12744   return (uint32x2_t) (__a == 0);
12745 }
12746 
12747 __extension__ extern __inline uint64x1_t
12748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_s64(int64x1_t __a)12749 vceqz_s64 (int64x1_t __a)
12750 {
12751   return (uint64x1_t) (__a == __AARCH64_INT64_C (0));
12752 }
12753 
12754 __extension__ extern __inline uint8x8_t
12755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_u8(uint8x8_t __a)12756 vceqz_u8 (uint8x8_t __a)
12757 {
12758   return (__a == 0);
12759 }
12760 
12761 __extension__ extern __inline uint16x4_t
12762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_u16(uint16x4_t __a)12763 vceqz_u16 (uint16x4_t __a)
12764 {
12765   return (__a == 0);
12766 }
12767 
12768 __extension__ extern __inline uint32x2_t
12769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_u32(uint32x2_t __a)12770 vceqz_u32 (uint32x2_t __a)
12771 {
12772   return (__a == 0);
12773 }
12774 
12775 __extension__ extern __inline uint64x1_t
12776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_u64(uint64x1_t __a)12777 vceqz_u64 (uint64x1_t __a)
12778 {
12779   return (__a == __AARCH64_UINT64_C (0));
12780 }
12781 
12782 __extension__ extern __inline uint32x4_t
12783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_f32(float32x4_t __a)12784 vceqzq_f32 (float32x4_t __a)
12785 {
12786   return (uint32x4_t) (__a == 0.0f);
12787 }
12788 
12789 __extension__ extern __inline uint64x2_t
12790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_f64(float64x2_t __a)12791 vceqzq_f64 (float64x2_t __a)
12792 {
12793   return (uint64x2_t) (__a == 0.0f);
12794 }
12795 
12796 __extension__ extern __inline uint8x16_t
12797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_p8(poly8x16_t __a)12798 vceqzq_p8 (poly8x16_t __a)
12799 {
12800   return (uint8x16_t) (__a == 0);
12801 }
12802 
12803 __extension__ extern __inline uint8x16_t
12804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_s8(int8x16_t __a)12805 vceqzq_s8 (int8x16_t __a)
12806 {
12807   return (uint8x16_t) (__a == 0);
12808 }
12809 
12810 __extension__ extern __inline uint16x8_t
12811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_s16(int16x8_t __a)12812 vceqzq_s16 (int16x8_t __a)
12813 {
12814   return (uint16x8_t) (__a == 0);
12815 }
12816 
12817 __extension__ extern __inline uint32x4_t
12818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_s32(int32x4_t __a)12819 vceqzq_s32 (int32x4_t __a)
12820 {
12821   return (uint32x4_t) (__a == 0);
12822 }
12823 
12824 __extension__ extern __inline uint64x2_t
12825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_s64(int64x2_t __a)12826 vceqzq_s64 (int64x2_t __a)
12827 {
12828   return (uint64x2_t) (__a == __AARCH64_INT64_C (0));
12829 }
12830 
12831 __extension__ extern __inline uint8x16_t
12832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_u8(uint8x16_t __a)12833 vceqzq_u8 (uint8x16_t __a)
12834 {
12835   return (__a == 0);
12836 }
12837 
12838 __extension__ extern __inline uint16x8_t
12839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_u16(uint16x8_t __a)12840 vceqzq_u16 (uint16x8_t __a)
12841 {
12842   return (__a == 0);
12843 }
12844 
12845 __extension__ extern __inline uint32x4_t
12846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_u32(uint32x4_t __a)12847 vceqzq_u32 (uint32x4_t __a)
12848 {
12849   return (__a == 0);
12850 }
12851 
12852 __extension__ extern __inline uint64x2_t
12853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_u64(uint64x2_t __a)12854 vceqzq_u64 (uint64x2_t __a)
12855 {
12856   return (__a == __AARCH64_UINT64_C (0));
12857 }
12858 
12859 /* vceqz - scalar.  */
12860 
12861 __extension__ extern __inline uint32_t
12862 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzs_f32(float32_t __a)12863 vceqzs_f32 (float32_t __a)
12864 {
12865   return __a == 0.0f ? -1 : 0;
12866 }
12867 
12868 __extension__ extern __inline uint64_t
12869 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzd_s64(int64_t __a)12870 vceqzd_s64 (int64_t __a)
12871 {
12872   return __a == 0 ? -1ll : 0ll;
12873 }
12874 
12875 __extension__ extern __inline uint64_t
12876 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzd_u64(uint64_t __a)12877 vceqzd_u64 (uint64_t __a)
12878 {
12879   return __a == 0 ? -1ll : 0ll;
12880 }
12881 
12882 __extension__ extern __inline uint64_t
12883 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzd_f64(float64_t __a)12884 vceqzd_f64 (float64_t __a)
12885 {
12886   return __a == 0.0 ? -1ll : 0ll;
12887 }
12888 
12889 /* vcge - vector.  */
12890 
12891 __extension__ extern __inline uint32x2_t
12892 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_f32(float32x2_t __a,float32x2_t __b)12893 vcge_f32 (float32x2_t __a, float32x2_t __b)
12894 {
12895   return (uint32x2_t) (__a >= __b);
12896 }
12897 
12898 __extension__ extern __inline uint64x1_t
12899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_f64(float64x1_t __a,float64x1_t __b)12900 vcge_f64 (float64x1_t __a, float64x1_t __b)
12901 {
12902   return (uint64x1_t) (__a >= __b);
12903 }
12904 
12905 __extension__ extern __inline uint8x8_t
12906 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s8(int8x8_t __a,int8x8_t __b)12907 vcge_s8 (int8x8_t __a, int8x8_t __b)
12908 {
12909   return (uint8x8_t) (__a >= __b);
12910 }
12911 
12912 __extension__ extern __inline uint16x4_t
12913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s16(int16x4_t __a,int16x4_t __b)12914 vcge_s16 (int16x4_t __a, int16x4_t __b)
12915 {
12916   return (uint16x4_t) (__a >= __b);
12917 }
12918 
12919 __extension__ extern __inline uint32x2_t
12920 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s32(int32x2_t __a,int32x2_t __b)12921 vcge_s32 (int32x2_t __a, int32x2_t __b)
12922 {
12923   return (uint32x2_t) (__a >= __b);
12924 }
12925 
12926 __extension__ extern __inline uint64x1_t
12927 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s64(int64x1_t __a,int64x1_t __b)12928 vcge_s64 (int64x1_t __a, int64x1_t __b)
12929 {
12930   return (uint64x1_t) (__a >= __b);
12931 }
12932 
12933 __extension__ extern __inline uint8x8_t
12934 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u8(uint8x8_t __a,uint8x8_t __b)12935 vcge_u8 (uint8x8_t __a, uint8x8_t __b)
12936 {
12937   return (__a >= __b);
12938 }
12939 
12940 __extension__ extern __inline uint16x4_t
12941 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u16(uint16x4_t __a,uint16x4_t __b)12942 vcge_u16 (uint16x4_t __a, uint16x4_t __b)
12943 {
12944   return (__a >= __b);
12945 }
12946 
12947 __extension__ extern __inline uint32x2_t
12948 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u32(uint32x2_t __a,uint32x2_t __b)12949 vcge_u32 (uint32x2_t __a, uint32x2_t __b)
12950 {
12951   return (__a >= __b);
12952 }
12953 
12954 __extension__ extern __inline uint64x1_t
12955 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u64(uint64x1_t __a,uint64x1_t __b)12956 vcge_u64 (uint64x1_t __a, uint64x1_t __b)
12957 {
12958   return (__a >= __b);
12959 }
12960 
12961 __extension__ extern __inline uint32x4_t
12962 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_f32(float32x4_t __a,float32x4_t __b)12963 vcgeq_f32 (float32x4_t __a, float32x4_t __b)
12964 {
12965   return (uint32x4_t) (__a >= __b);
12966 }
12967 
12968 __extension__ extern __inline uint64x2_t
12969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_f64(float64x2_t __a,float64x2_t __b)12970 vcgeq_f64 (float64x2_t __a, float64x2_t __b)
12971 {
12972   return (uint64x2_t) (__a >= __b);
12973 }
12974 
12975 __extension__ extern __inline uint8x16_t
12976 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s8(int8x16_t __a,int8x16_t __b)12977 vcgeq_s8 (int8x16_t __a, int8x16_t __b)
12978 {
12979   return (uint8x16_t) (__a >= __b);
12980 }
12981 
12982 __extension__ extern __inline uint16x8_t
12983 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s16(int16x8_t __a,int16x8_t __b)12984 vcgeq_s16 (int16x8_t __a, int16x8_t __b)
12985 {
12986   return (uint16x8_t) (__a >= __b);
12987 }
12988 
12989 __extension__ extern __inline uint32x4_t
12990 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s32(int32x4_t __a,int32x4_t __b)12991 vcgeq_s32 (int32x4_t __a, int32x4_t __b)
12992 {
12993   return (uint32x4_t) (__a >= __b);
12994 }
12995 
12996 __extension__ extern __inline uint64x2_t
12997 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s64(int64x2_t __a,int64x2_t __b)12998 vcgeq_s64 (int64x2_t __a, int64x2_t __b)
12999 {
13000   return (uint64x2_t) (__a >= __b);
13001 }
13002 
13003 __extension__ extern __inline uint8x16_t
13004 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u8(uint8x16_t __a,uint8x16_t __b)13005 vcgeq_u8 (uint8x16_t __a, uint8x16_t __b)
13006 {
13007   return (__a >= __b);
13008 }
13009 
13010 __extension__ extern __inline uint16x8_t
13011 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u16(uint16x8_t __a,uint16x8_t __b)13012 vcgeq_u16 (uint16x8_t __a, uint16x8_t __b)
13013 {
13014   return (__a >= __b);
13015 }
13016 
13017 __extension__ extern __inline uint32x4_t
13018 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u32(uint32x4_t __a,uint32x4_t __b)13019 vcgeq_u32 (uint32x4_t __a, uint32x4_t __b)
13020 {
13021   return (__a >= __b);
13022 }
13023 
13024 __extension__ extern __inline uint64x2_t
13025 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u64(uint64x2_t __a,uint64x2_t __b)13026 vcgeq_u64 (uint64x2_t __a, uint64x2_t __b)
13027 {
13028   return (__a >= __b);
13029 }
13030 
13031 /* vcge - scalar.  */
13032 
13033 __extension__ extern __inline uint32_t
13034 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcges_f32(float32_t __a,float32_t __b)13035 vcges_f32 (float32_t __a, float32_t __b)
13036 {
13037   return __a >= __b ? -1 : 0;
13038 }
13039 
13040 __extension__ extern __inline uint64_t
13041 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcged_s64(int64_t __a,int64_t __b)13042 vcged_s64 (int64_t __a, int64_t __b)
13043 {
13044   return __a >= __b ? -1ll : 0ll;
13045 }
13046 
13047 __extension__ extern __inline uint64_t
13048 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcged_u64(uint64_t __a,uint64_t __b)13049 vcged_u64 (uint64_t __a, uint64_t __b)
13050 {
13051   return __a >= __b ? -1ll : 0ll;
13052 }
13053 
13054 __extension__ extern __inline uint64_t
13055 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcged_f64(float64_t __a,float64_t __b)13056 vcged_f64 (float64_t __a, float64_t __b)
13057 {
13058   return __a >= __b ? -1ll : 0ll;
13059 }
13060 
13061 /* vcgez - vector.  */
13062 
13063 __extension__ extern __inline uint32x2_t
13064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_f32(float32x2_t __a)13065 vcgez_f32 (float32x2_t __a)
13066 {
13067   return (uint32x2_t) (__a >= 0.0f);
13068 }
13069 
13070 __extension__ extern __inline uint64x1_t
13071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_f64(float64x1_t __a)13072 vcgez_f64 (float64x1_t __a)
13073 {
13074   return (uint64x1_t) (__a[0] >= (float64x1_t) {0.0});
13075 }
13076 
13077 __extension__ extern __inline uint8x8_t
13078 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_s8(int8x8_t __a)13079 vcgez_s8 (int8x8_t __a)
13080 {
13081   return (uint8x8_t) (__a >= 0);
13082 }
13083 
13084 __extension__ extern __inline uint16x4_t
13085 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_s16(int16x4_t __a)13086 vcgez_s16 (int16x4_t __a)
13087 {
13088   return (uint16x4_t) (__a >= 0);
13089 }
13090 
13091 __extension__ extern __inline uint32x2_t
13092 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_s32(int32x2_t __a)13093 vcgez_s32 (int32x2_t __a)
13094 {
13095   return (uint32x2_t) (__a >= 0);
13096 }
13097 
13098 __extension__ extern __inline uint64x1_t
13099 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_s64(int64x1_t __a)13100 vcgez_s64 (int64x1_t __a)
13101 {
13102   return (uint64x1_t) (__a >= __AARCH64_INT64_C (0));
13103 }
13104 
13105 __extension__ extern __inline uint32x4_t
13106 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_f32(float32x4_t __a)13107 vcgezq_f32 (float32x4_t __a)
13108 {
13109   return (uint32x4_t) (__a >= 0.0f);
13110 }
13111 
13112 __extension__ extern __inline uint64x2_t
13113 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_f64(float64x2_t __a)13114 vcgezq_f64 (float64x2_t __a)
13115 {
13116   return (uint64x2_t) (__a >= 0.0);
13117 }
13118 
13119 __extension__ extern __inline uint8x16_t
13120 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_s8(int8x16_t __a)13121 vcgezq_s8 (int8x16_t __a)
13122 {
13123   return (uint8x16_t) (__a >= 0);
13124 }
13125 
13126 __extension__ extern __inline uint16x8_t
13127 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_s16(int16x8_t __a)13128 vcgezq_s16 (int16x8_t __a)
13129 {
13130   return (uint16x8_t) (__a >= 0);
13131 }
13132 
13133 __extension__ extern __inline uint32x4_t
13134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_s32(int32x4_t __a)13135 vcgezq_s32 (int32x4_t __a)
13136 {
13137   return (uint32x4_t) (__a >= 0);
13138 }
13139 
13140 __extension__ extern __inline uint64x2_t
13141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_s64(int64x2_t __a)13142 vcgezq_s64 (int64x2_t __a)
13143 {
13144   return (uint64x2_t) (__a >= __AARCH64_INT64_C (0));
13145 }
13146 
13147 /* vcgez - scalar.  */
13148 
13149 __extension__ extern __inline uint32_t
13150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezs_f32(float32_t __a)13151 vcgezs_f32 (float32_t __a)
13152 {
13153   return __a >= 0.0f ? -1 : 0;
13154 }
13155 
13156 __extension__ extern __inline uint64_t
13157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezd_s64(int64_t __a)13158 vcgezd_s64 (int64_t __a)
13159 {
13160   return __a >= 0 ? -1ll : 0ll;
13161 }
13162 
13163 __extension__ extern __inline uint64_t
13164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezd_f64(float64_t __a)13165 vcgezd_f64 (float64_t __a)
13166 {
13167   return __a >= 0.0 ? -1ll : 0ll;
13168 }
13169 
13170 /* vcgt - vector.  */
13171 
13172 __extension__ extern __inline uint32x2_t
13173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_f32(float32x2_t __a,float32x2_t __b)13174 vcgt_f32 (float32x2_t __a, float32x2_t __b)
13175 {
13176   return (uint32x2_t) (__a > __b);
13177 }
13178 
13179 __extension__ extern __inline uint64x1_t
13180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_f64(float64x1_t __a,float64x1_t __b)13181 vcgt_f64 (float64x1_t __a, float64x1_t __b)
13182 {
13183   return (uint64x1_t) (__a > __b);
13184 }
13185 
13186 __extension__ extern __inline uint8x8_t
13187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s8(int8x8_t __a,int8x8_t __b)13188 vcgt_s8 (int8x8_t __a, int8x8_t __b)
13189 {
13190   return (uint8x8_t) (__a > __b);
13191 }
13192 
13193 __extension__ extern __inline uint16x4_t
13194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s16(int16x4_t __a,int16x4_t __b)13195 vcgt_s16 (int16x4_t __a, int16x4_t __b)
13196 {
13197   return (uint16x4_t) (__a > __b);
13198 }
13199 
13200 __extension__ extern __inline uint32x2_t
13201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s32(int32x2_t __a,int32x2_t __b)13202 vcgt_s32 (int32x2_t __a, int32x2_t __b)
13203 {
13204   return (uint32x2_t) (__a > __b);
13205 }
13206 
13207 __extension__ extern __inline uint64x1_t
13208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s64(int64x1_t __a,int64x1_t __b)13209 vcgt_s64 (int64x1_t __a, int64x1_t __b)
13210 {
13211   return (uint64x1_t) (__a > __b);
13212 }
13213 
13214 __extension__ extern __inline uint8x8_t
13215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u8(uint8x8_t __a,uint8x8_t __b)13216 vcgt_u8 (uint8x8_t __a, uint8x8_t __b)
13217 {
13218   return (__a > __b);
13219 }
13220 
13221 __extension__ extern __inline uint16x4_t
13222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u16(uint16x4_t __a,uint16x4_t __b)13223 vcgt_u16 (uint16x4_t __a, uint16x4_t __b)
13224 {
13225   return (__a > __b);
13226 }
13227 
13228 __extension__ extern __inline uint32x2_t
13229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u32(uint32x2_t __a,uint32x2_t __b)13230 vcgt_u32 (uint32x2_t __a, uint32x2_t __b)
13231 {
13232   return (__a > __b);
13233 }
13234 
13235 __extension__ extern __inline uint64x1_t
13236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u64(uint64x1_t __a,uint64x1_t __b)13237 vcgt_u64 (uint64x1_t __a, uint64x1_t __b)
13238 {
13239   return (__a > __b);
13240 }
13241 
13242 __extension__ extern __inline uint32x4_t
13243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_f32(float32x4_t __a,float32x4_t __b)13244 vcgtq_f32 (float32x4_t __a, float32x4_t __b)
13245 {
13246   return (uint32x4_t) (__a > __b);
13247 }
13248 
13249 __extension__ extern __inline uint64x2_t
13250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_f64(float64x2_t __a,float64x2_t __b)13251 vcgtq_f64 (float64x2_t __a, float64x2_t __b)
13252 {
13253   return (uint64x2_t) (__a > __b);
13254 }
13255 
13256 __extension__ extern __inline uint8x16_t
13257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s8(int8x16_t __a,int8x16_t __b)13258 vcgtq_s8 (int8x16_t __a, int8x16_t __b)
13259 {
13260   return (uint8x16_t) (__a > __b);
13261 }
13262 
13263 __extension__ extern __inline uint16x8_t
13264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s16(int16x8_t __a,int16x8_t __b)13265 vcgtq_s16 (int16x8_t __a, int16x8_t __b)
13266 {
13267   return (uint16x8_t) (__a > __b);
13268 }
13269 
13270 __extension__ extern __inline uint32x4_t
13271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s32(int32x4_t __a,int32x4_t __b)13272 vcgtq_s32 (int32x4_t __a, int32x4_t __b)
13273 {
13274   return (uint32x4_t) (__a > __b);
13275 }
13276 
13277 __extension__ extern __inline uint64x2_t
13278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s64(int64x2_t __a,int64x2_t __b)13279 vcgtq_s64 (int64x2_t __a, int64x2_t __b)
13280 {
13281   return (uint64x2_t) (__a > __b);
13282 }
13283 
13284 __extension__ extern __inline uint8x16_t
13285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u8(uint8x16_t __a,uint8x16_t __b)13286 vcgtq_u8 (uint8x16_t __a, uint8x16_t __b)
13287 {
13288   return (__a > __b);
13289 }
13290 
13291 __extension__ extern __inline uint16x8_t
13292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u16(uint16x8_t __a,uint16x8_t __b)13293 vcgtq_u16 (uint16x8_t __a, uint16x8_t __b)
13294 {
13295   return (__a > __b);
13296 }
13297 
13298 __extension__ extern __inline uint32x4_t
13299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u32(uint32x4_t __a,uint32x4_t __b)13300 vcgtq_u32 (uint32x4_t __a, uint32x4_t __b)
13301 {
13302   return (__a > __b);
13303 }
13304 
13305 __extension__ extern __inline uint64x2_t
13306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u64(uint64x2_t __a,uint64x2_t __b)13307 vcgtq_u64 (uint64x2_t __a, uint64x2_t __b)
13308 {
13309   return (__a > __b);
13310 }
13311 
13312 /* vcgt - scalar.  */
13313 
13314 __extension__ extern __inline uint32_t
13315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgts_f32(float32_t __a,float32_t __b)13316 vcgts_f32 (float32_t __a, float32_t __b)
13317 {
13318   return __a > __b ? -1 : 0;
13319 }
13320 
13321 __extension__ extern __inline uint64_t
13322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtd_s64(int64_t __a,int64_t __b)13323 vcgtd_s64 (int64_t __a, int64_t __b)
13324 {
13325   return __a > __b ? -1ll : 0ll;
13326 }
13327 
13328 __extension__ extern __inline uint64_t
13329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtd_u64(uint64_t __a,uint64_t __b)13330 vcgtd_u64 (uint64_t __a, uint64_t __b)
13331 {
13332   return __a > __b ? -1ll : 0ll;
13333 }
13334 
13335 __extension__ extern __inline uint64_t
13336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtd_f64(float64_t __a,float64_t __b)13337 vcgtd_f64 (float64_t __a, float64_t __b)
13338 {
13339   return __a > __b ? -1ll : 0ll;
13340 }
13341 
13342 /* vcgtz - vector.  */
13343 
13344 __extension__ extern __inline uint32x2_t
13345 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_f32(float32x2_t __a)13346 vcgtz_f32 (float32x2_t __a)
13347 {
13348   return (uint32x2_t) (__a > 0.0f);
13349 }
13350 
13351 __extension__ extern __inline uint64x1_t
13352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_f64(float64x1_t __a)13353 vcgtz_f64 (float64x1_t __a)
13354 {
13355   return (uint64x1_t) (__a > (float64x1_t) {0.0});
13356 }
13357 
13358 __extension__ extern __inline uint8x8_t
13359 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_s8(int8x8_t __a)13360 vcgtz_s8 (int8x8_t __a)
13361 {
13362   return (uint8x8_t) (__a > 0);
13363 }
13364 
13365 __extension__ extern __inline uint16x4_t
13366 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_s16(int16x4_t __a)13367 vcgtz_s16 (int16x4_t __a)
13368 {
13369   return (uint16x4_t) (__a > 0);
13370 }
13371 
13372 __extension__ extern __inline uint32x2_t
13373 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_s32(int32x2_t __a)13374 vcgtz_s32 (int32x2_t __a)
13375 {
13376   return (uint32x2_t) (__a > 0);
13377 }
13378 
13379 __extension__ extern __inline uint64x1_t
13380 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_s64(int64x1_t __a)13381 vcgtz_s64 (int64x1_t __a)
13382 {
13383   return (uint64x1_t) (__a > __AARCH64_INT64_C (0));
13384 }
13385 
13386 __extension__ extern __inline uint32x4_t
13387 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_f32(float32x4_t __a)13388 vcgtzq_f32 (float32x4_t __a)
13389 {
13390   return (uint32x4_t) (__a > 0.0f);
13391 }
13392 
13393 __extension__ extern __inline uint64x2_t
13394 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_f64(float64x2_t __a)13395 vcgtzq_f64 (float64x2_t __a)
13396 {
13397     return (uint64x2_t) (__a > 0.0);
13398 }
13399 
13400 __extension__ extern __inline uint8x16_t
13401 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_s8(int8x16_t __a)13402 vcgtzq_s8 (int8x16_t __a)
13403 {
13404   return (uint8x16_t) (__a > 0);
13405 }
13406 
13407 __extension__ extern __inline uint16x8_t
13408 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_s16(int16x8_t __a)13409 vcgtzq_s16 (int16x8_t __a)
13410 {
13411   return (uint16x8_t) (__a > 0);
13412 }
13413 
13414 __extension__ extern __inline uint32x4_t
13415 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_s32(int32x4_t __a)13416 vcgtzq_s32 (int32x4_t __a)
13417 {
13418   return (uint32x4_t) (__a > 0);
13419 }
13420 
13421 __extension__ extern __inline uint64x2_t
13422 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_s64(int64x2_t __a)13423 vcgtzq_s64 (int64x2_t __a)
13424 {
13425   return (uint64x2_t) (__a > __AARCH64_INT64_C (0));
13426 }
13427 
13428 /* vcgtz - scalar.  */
13429 
13430 __extension__ extern __inline uint32_t
13431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzs_f32(float32_t __a)13432 vcgtzs_f32 (float32_t __a)
13433 {
13434   return __a > 0.0f ? -1 : 0;
13435 }
13436 
13437 __extension__ extern __inline uint64_t
13438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzd_s64(int64_t __a)13439 vcgtzd_s64 (int64_t __a)
13440 {
13441   return __a > 0 ? -1ll : 0ll;
13442 }
13443 
13444 __extension__ extern __inline uint64_t
13445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzd_f64(float64_t __a)13446 vcgtzd_f64 (float64_t __a)
13447 {
13448   return __a > 0.0 ? -1ll : 0ll;
13449 }
13450 
13451 /* vcle - vector.  */
13452 
13453 __extension__ extern __inline uint32x2_t
13454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_f32(float32x2_t __a,float32x2_t __b)13455 vcle_f32 (float32x2_t __a, float32x2_t __b)
13456 {
13457   return (uint32x2_t) (__a <= __b);
13458 }
13459 
13460 __extension__ extern __inline uint64x1_t
13461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_f64(float64x1_t __a,float64x1_t __b)13462 vcle_f64 (float64x1_t __a, float64x1_t __b)
13463 {
13464   return (uint64x1_t) (__a <= __b);
13465 }
13466 
13467 __extension__ extern __inline uint8x8_t
13468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s8(int8x8_t __a,int8x8_t __b)13469 vcle_s8 (int8x8_t __a, int8x8_t __b)
13470 {
13471   return (uint8x8_t) (__a <= __b);
13472 }
13473 
13474 __extension__ extern __inline uint16x4_t
13475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s16(int16x4_t __a,int16x4_t __b)13476 vcle_s16 (int16x4_t __a, int16x4_t __b)
13477 {
13478   return (uint16x4_t) (__a <= __b);
13479 }
13480 
13481 __extension__ extern __inline uint32x2_t
13482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s32(int32x2_t __a,int32x2_t __b)13483 vcle_s32 (int32x2_t __a, int32x2_t __b)
13484 {
13485   return (uint32x2_t) (__a <= __b);
13486 }
13487 
13488 __extension__ extern __inline uint64x1_t
13489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s64(int64x1_t __a,int64x1_t __b)13490 vcle_s64 (int64x1_t __a, int64x1_t __b)
13491 {
13492   return (uint64x1_t) (__a <= __b);
13493 }
13494 
13495 __extension__ extern __inline uint8x8_t
13496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u8(uint8x8_t __a,uint8x8_t __b)13497 vcle_u8 (uint8x8_t __a, uint8x8_t __b)
13498 {
13499   return (__a <= __b);
13500 }
13501 
13502 __extension__ extern __inline uint16x4_t
13503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u16(uint16x4_t __a,uint16x4_t __b)13504 vcle_u16 (uint16x4_t __a, uint16x4_t __b)
13505 {
13506   return (__a <= __b);
13507 }
13508 
13509 __extension__ extern __inline uint32x2_t
13510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u32(uint32x2_t __a,uint32x2_t __b)13511 vcle_u32 (uint32x2_t __a, uint32x2_t __b)
13512 {
13513   return (__a <= __b);
13514 }
13515 
13516 __extension__ extern __inline uint64x1_t
13517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u64(uint64x1_t __a,uint64x1_t __b)13518 vcle_u64 (uint64x1_t __a, uint64x1_t __b)
13519 {
13520   return (__a <= __b);
13521 }
13522 
13523 __extension__ extern __inline uint32x4_t
13524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_f32(float32x4_t __a,float32x4_t __b)13525 vcleq_f32 (float32x4_t __a, float32x4_t __b)
13526 {
13527   return (uint32x4_t) (__a <= __b);
13528 }
13529 
13530 __extension__ extern __inline uint64x2_t
13531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_f64(float64x2_t __a,float64x2_t __b)13532 vcleq_f64 (float64x2_t __a, float64x2_t __b)
13533 {
13534   return (uint64x2_t) (__a <= __b);
13535 }
13536 
13537 __extension__ extern __inline uint8x16_t
13538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s8(int8x16_t __a,int8x16_t __b)13539 vcleq_s8 (int8x16_t __a, int8x16_t __b)
13540 {
13541   return (uint8x16_t) (__a <= __b);
13542 }
13543 
13544 __extension__ extern __inline uint16x8_t
13545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s16(int16x8_t __a,int16x8_t __b)13546 vcleq_s16 (int16x8_t __a, int16x8_t __b)
13547 {
13548   return (uint16x8_t) (__a <= __b);
13549 }
13550 
13551 __extension__ extern __inline uint32x4_t
13552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s32(int32x4_t __a,int32x4_t __b)13553 vcleq_s32 (int32x4_t __a, int32x4_t __b)
13554 {
13555   return (uint32x4_t) (__a <= __b);
13556 }
13557 
13558 __extension__ extern __inline uint64x2_t
13559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s64(int64x2_t __a,int64x2_t __b)13560 vcleq_s64 (int64x2_t __a, int64x2_t __b)
13561 {
13562   return (uint64x2_t) (__a <= __b);
13563 }
13564 
13565 __extension__ extern __inline uint8x16_t
13566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u8(uint8x16_t __a,uint8x16_t __b)13567 vcleq_u8 (uint8x16_t __a, uint8x16_t __b)
13568 {
13569   return (__a <= __b);
13570 }
13571 
13572 __extension__ extern __inline uint16x8_t
13573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u16(uint16x8_t __a,uint16x8_t __b)13574 vcleq_u16 (uint16x8_t __a, uint16x8_t __b)
13575 {
13576   return (__a <= __b);
13577 }
13578 
13579 __extension__ extern __inline uint32x4_t
13580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u32(uint32x4_t __a,uint32x4_t __b)13581 vcleq_u32 (uint32x4_t __a, uint32x4_t __b)
13582 {
13583   return (__a <= __b);
13584 }
13585 
13586 __extension__ extern __inline uint64x2_t
13587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u64(uint64x2_t __a,uint64x2_t __b)13588 vcleq_u64 (uint64x2_t __a, uint64x2_t __b)
13589 {
13590   return (__a <= __b);
13591 }
13592 
13593 /* vcle - scalar.  */
13594 
13595 __extension__ extern __inline uint32_t
13596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcles_f32(float32_t __a,float32_t __b)13597 vcles_f32 (float32_t __a, float32_t __b)
13598 {
13599   return __a <= __b ? -1 : 0;
13600 }
13601 
13602 __extension__ extern __inline uint64_t
13603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcled_s64(int64_t __a,int64_t __b)13604 vcled_s64 (int64_t __a, int64_t __b)
13605 {
13606   return __a <= __b ? -1ll : 0ll;
13607 }
13608 
13609 __extension__ extern __inline uint64_t
13610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcled_u64(uint64_t __a,uint64_t __b)13611 vcled_u64 (uint64_t __a, uint64_t __b)
13612 {
13613   return __a <= __b ? -1ll : 0ll;
13614 }
13615 
13616 __extension__ extern __inline uint64_t
13617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcled_f64(float64_t __a,float64_t __b)13618 vcled_f64 (float64_t __a, float64_t __b)
13619 {
13620   return __a <= __b ? -1ll : 0ll;
13621 }
13622 
13623 /* vclez - vector.  */
13624 
13625 __extension__ extern __inline uint32x2_t
13626 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_f32(float32x2_t __a)13627 vclez_f32 (float32x2_t __a)
13628 {
13629   return (uint32x2_t) (__a <= 0.0f);
13630 }
13631 
13632 __extension__ extern __inline uint64x1_t
13633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_f64(float64x1_t __a)13634 vclez_f64 (float64x1_t __a)
13635 {
13636   return (uint64x1_t) (__a <= (float64x1_t) {0.0});
13637 }
13638 
13639 __extension__ extern __inline uint8x8_t
13640 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_s8(int8x8_t __a)13641 vclez_s8 (int8x8_t __a)
13642 {
13643   return (uint8x8_t) (__a <= 0);
13644 }
13645 
13646 __extension__ extern __inline uint16x4_t
13647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_s16(int16x4_t __a)13648 vclez_s16 (int16x4_t __a)
13649 {
13650   return (uint16x4_t) (__a <= 0);
13651 }
13652 
13653 __extension__ extern __inline uint32x2_t
13654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_s32(int32x2_t __a)13655 vclez_s32 (int32x2_t __a)
13656 {
13657   return (uint32x2_t) (__a <= 0);
13658 }
13659 
13660 __extension__ extern __inline uint64x1_t
13661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_s64(int64x1_t __a)13662 vclez_s64 (int64x1_t __a)
13663 {
13664   return (uint64x1_t) (__a <= __AARCH64_INT64_C (0));
13665 }
13666 
13667 __extension__ extern __inline uint32x4_t
13668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_f32(float32x4_t __a)13669 vclezq_f32 (float32x4_t __a)
13670 {
13671   return (uint32x4_t) (__a <= 0.0f);
13672 }
13673 
13674 __extension__ extern __inline uint64x2_t
13675 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_f64(float64x2_t __a)13676 vclezq_f64 (float64x2_t __a)
13677 {
13678   return (uint64x2_t) (__a <= 0.0);
13679 }
13680 
13681 __extension__ extern __inline uint8x16_t
13682 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_s8(int8x16_t __a)13683 vclezq_s8 (int8x16_t __a)
13684 {
13685   return (uint8x16_t) (__a <= 0);
13686 }
13687 
13688 __extension__ extern __inline uint16x8_t
13689 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_s16(int16x8_t __a)13690 vclezq_s16 (int16x8_t __a)
13691 {
13692   return (uint16x8_t) (__a <= 0);
13693 }
13694 
13695 __extension__ extern __inline uint32x4_t
13696 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_s32(int32x4_t __a)13697 vclezq_s32 (int32x4_t __a)
13698 {
13699   return (uint32x4_t) (__a <= 0);
13700 }
13701 
13702 __extension__ extern __inline uint64x2_t
13703 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_s64(int64x2_t __a)13704 vclezq_s64 (int64x2_t __a)
13705 {
13706   return (uint64x2_t) (__a <= __AARCH64_INT64_C (0));
13707 }
13708 
13709 /* vclez - scalar.  */
13710 
13711 __extension__ extern __inline uint32_t
13712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezs_f32(float32_t __a)13713 vclezs_f32 (float32_t __a)
13714 {
13715   return __a <= 0.0f ? -1 : 0;
13716 }
13717 
13718 __extension__ extern __inline uint64_t
13719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezd_s64(int64_t __a)13720 vclezd_s64 (int64_t __a)
13721 {
13722   return __a <= 0 ? -1ll : 0ll;
13723 }
13724 
13725 __extension__ extern __inline uint64_t
13726 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezd_f64(float64_t __a)13727 vclezd_f64 (float64_t __a)
13728 {
13729   return __a <= 0.0 ? -1ll : 0ll;
13730 }
13731 
13732 /* vclt - vector.  */
13733 
13734 __extension__ extern __inline uint32x2_t
13735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_f32(float32x2_t __a,float32x2_t __b)13736 vclt_f32 (float32x2_t __a, float32x2_t __b)
13737 {
13738   return (uint32x2_t) (__a < __b);
13739 }
13740 
13741 __extension__ extern __inline uint64x1_t
13742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_f64(float64x1_t __a,float64x1_t __b)13743 vclt_f64 (float64x1_t __a, float64x1_t __b)
13744 {
13745   return (uint64x1_t) (__a < __b);
13746 }
13747 
13748 __extension__ extern __inline uint8x8_t
13749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s8(int8x8_t __a,int8x8_t __b)13750 vclt_s8 (int8x8_t __a, int8x8_t __b)
13751 {
13752   return (uint8x8_t) (__a < __b);
13753 }
13754 
13755 __extension__ extern __inline uint16x4_t
13756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s16(int16x4_t __a,int16x4_t __b)13757 vclt_s16 (int16x4_t __a, int16x4_t __b)
13758 {
13759   return (uint16x4_t) (__a < __b);
13760 }
13761 
13762 __extension__ extern __inline uint32x2_t
13763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s32(int32x2_t __a,int32x2_t __b)13764 vclt_s32 (int32x2_t __a, int32x2_t __b)
13765 {
13766   return (uint32x2_t) (__a < __b);
13767 }
13768 
13769 __extension__ extern __inline uint64x1_t
13770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s64(int64x1_t __a,int64x1_t __b)13771 vclt_s64 (int64x1_t __a, int64x1_t __b)
13772 {
13773   return (uint64x1_t) (__a < __b);
13774 }
13775 
13776 __extension__ extern __inline uint8x8_t
13777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u8(uint8x8_t __a,uint8x8_t __b)13778 vclt_u8 (uint8x8_t __a, uint8x8_t __b)
13779 {
13780   return (__a < __b);
13781 }
13782 
13783 __extension__ extern __inline uint16x4_t
13784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u16(uint16x4_t __a,uint16x4_t __b)13785 vclt_u16 (uint16x4_t __a, uint16x4_t __b)
13786 {
13787   return (__a < __b);
13788 }
13789 
13790 __extension__ extern __inline uint32x2_t
13791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u32(uint32x2_t __a,uint32x2_t __b)13792 vclt_u32 (uint32x2_t __a, uint32x2_t __b)
13793 {
13794   return (__a < __b);
13795 }
13796 
13797 __extension__ extern __inline uint64x1_t
13798 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u64(uint64x1_t __a,uint64x1_t __b)13799 vclt_u64 (uint64x1_t __a, uint64x1_t __b)
13800 {
13801   return (__a < __b);
13802 }
13803 
13804 __extension__ extern __inline uint32x4_t
13805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_f32(float32x4_t __a,float32x4_t __b)13806 vcltq_f32 (float32x4_t __a, float32x4_t __b)
13807 {
13808   return (uint32x4_t) (__a < __b);
13809 }
13810 
13811 __extension__ extern __inline uint64x2_t
13812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_f64(float64x2_t __a,float64x2_t __b)13813 vcltq_f64 (float64x2_t __a, float64x2_t __b)
13814 {
13815   return (uint64x2_t) (__a < __b);
13816 }
13817 
13818 __extension__ extern __inline uint8x16_t
13819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s8(int8x16_t __a,int8x16_t __b)13820 vcltq_s8 (int8x16_t __a, int8x16_t __b)
13821 {
13822   return (uint8x16_t) (__a < __b);
13823 }
13824 
13825 __extension__ extern __inline uint16x8_t
13826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s16(int16x8_t __a,int16x8_t __b)13827 vcltq_s16 (int16x8_t __a, int16x8_t __b)
13828 {
13829   return (uint16x8_t) (__a < __b);
13830 }
13831 
13832 __extension__ extern __inline uint32x4_t
13833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s32(int32x4_t __a,int32x4_t __b)13834 vcltq_s32 (int32x4_t __a, int32x4_t __b)
13835 {
13836   return (uint32x4_t) (__a < __b);
13837 }
13838 
13839 __extension__ extern __inline uint64x2_t
13840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s64(int64x2_t __a,int64x2_t __b)13841 vcltq_s64 (int64x2_t __a, int64x2_t __b)
13842 {
13843   return (uint64x2_t) (__a < __b);
13844 }
13845 
13846 __extension__ extern __inline uint8x16_t
13847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u8(uint8x16_t __a,uint8x16_t __b)13848 vcltq_u8 (uint8x16_t __a, uint8x16_t __b)
13849 {
13850   return (__a < __b);
13851 }
13852 
13853 __extension__ extern __inline uint16x8_t
13854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u16(uint16x8_t __a,uint16x8_t __b)13855 vcltq_u16 (uint16x8_t __a, uint16x8_t __b)
13856 {
13857   return (__a < __b);
13858 }
13859 
13860 __extension__ extern __inline uint32x4_t
13861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u32(uint32x4_t __a,uint32x4_t __b)13862 vcltq_u32 (uint32x4_t __a, uint32x4_t __b)
13863 {
13864   return (__a < __b);
13865 }
13866 
13867 __extension__ extern __inline uint64x2_t
13868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u64(uint64x2_t __a,uint64x2_t __b)13869 vcltq_u64 (uint64x2_t __a, uint64x2_t __b)
13870 {
13871   return (__a < __b);
13872 }
13873 
13874 /* vclt - scalar.  */
13875 
13876 __extension__ extern __inline uint32_t
13877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclts_f32(float32_t __a,float32_t __b)13878 vclts_f32 (float32_t __a, float32_t __b)
13879 {
13880   return __a < __b ? -1 : 0;
13881 }
13882 
13883 __extension__ extern __inline uint64_t
13884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltd_s64(int64_t __a,int64_t __b)13885 vcltd_s64 (int64_t __a, int64_t __b)
13886 {
13887   return __a < __b ? -1ll : 0ll;
13888 }
13889 
13890 __extension__ extern __inline uint64_t
13891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltd_u64(uint64_t __a,uint64_t __b)13892 vcltd_u64 (uint64_t __a, uint64_t __b)
13893 {
13894   return __a < __b ? -1ll : 0ll;
13895 }
13896 
13897 __extension__ extern __inline uint64_t
13898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltd_f64(float64_t __a,float64_t __b)13899 vcltd_f64 (float64_t __a, float64_t __b)
13900 {
13901   return __a < __b ? -1ll : 0ll;
13902 }
13903 
13904 /* vcltz - vector.  */
13905 
13906 __extension__ extern __inline uint32x2_t
13907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_f32(float32x2_t __a)13908 vcltz_f32 (float32x2_t __a)
13909 {
13910   return (uint32x2_t) (__a < 0.0f);
13911 }
13912 
13913 __extension__ extern __inline uint64x1_t
13914 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_f64(float64x1_t __a)13915 vcltz_f64 (float64x1_t __a)
13916 {
13917   return (uint64x1_t) (__a < (float64x1_t) {0.0});
13918 }
13919 
13920 __extension__ extern __inline uint8x8_t
13921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_s8(int8x8_t __a)13922 vcltz_s8 (int8x8_t __a)
13923 {
13924   return (uint8x8_t) (__a < 0);
13925 }
13926 
13927 __extension__ extern __inline uint16x4_t
13928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_s16(int16x4_t __a)13929 vcltz_s16 (int16x4_t __a)
13930 {
13931   return (uint16x4_t) (__a < 0);
13932 }
13933 
13934 __extension__ extern __inline uint32x2_t
13935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_s32(int32x2_t __a)13936 vcltz_s32 (int32x2_t __a)
13937 {
13938   return (uint32x2_t) (__a < 0);
13939 }
13940 
13941 __extension__ extern __inline uint64x1_t
13942 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_s64(int64x1_t __a)13943 vcltz_s64 (int64x1_t __a)
13944 {
13945   return (uint64x1_t) (__a < __AARCH64_INT64_C (0));
13946 }
13947 
13948 __extension__ extern __inline uint32x4_t
13949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_f32(float32x4_t __a)13950 vcltzq_f32 (float32x4_t __a)
13951 {
13952   return (uint32x4_t) (__a < 0.0f);
13953 }
13954 
13955 __extension__ extern __inline uint64x2_t
13956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_f64(float64x2_t __a)13957 vcltzq_f64 (float64x2_t __a)
13958 {
13959   return (uint64x2_t) (__a < 0.0);
13960 }
13961 
13962 __extension__ extern __inline uint8x16_t
13963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_s8(int8x16_t __a)13964 vcltzq_s8 (int8x16_t __a)
13965 {
13966   return (uint8x16_t) (__a < 0);
13967 }
13968 
13969 __extension__ extern __inline uint16x8_t
13970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_s16(int16x8_t __a)13971 vcltzq_s16 (int16x8_t __a)
13972 {
13973   return (uint16x8_t) (__a < 0);
13974 }
13975 
13976 __extension__ extern __inline uint32x4_t
13977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_s32(int32x4_t __a)13978 vcltzq_s32 (int32x4_t __a)
13979 {
13980   return (uint32x4_t) (__a < 0);
13981 }
13982 
13983 __extension__ extern __inline uint64x2_t
13984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_s64(int64x2_t __a)13985 vcltzq_s64 (int64x2_t __a)
13986 {
13987   return (uint64x2_t) (__a < __AARCH64_INT64_C (0));
13988 }
13989 
13990 /* vcltz - scalar.  */
13991 
13992 __extension__ extern __inline uint32_t
13993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzs_f32(float32_t __a)13994 vcltzs_f32 (float32_t __a)
13995 {
13996   return __a < 0.0f ? -1 : 0;
13997 }
13998 
13999 __extension__ extern __inline uint64_t
14000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzd_s64(int64_t __a)14001 vcltzd_s64 (int64_t __a)
14002 {
14003   return __a < 0 ? -1ll : 0ll;
14004 }
14005 
14006 __extension__ extern __inline uint64_t
14007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzd_f64(float64_t __a)14008 vcltzd_f64 (float64_t __a)
14009 {
14010   return __a < 0.0 ? -1ll : 0ll;
14011 }
14012 
14013 /* vcls.  */
14014 
14015 __extension__ extern __inline int8x8_t
14016 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s8(int8x8_t __a)14017 vcls_s8 (int8x8_t __a)
14018 {
14019   return __builtin_aarch64_clrsbv8qi (__a);
14020 }
14021 
14022 __extension__ extern __inline int16x4_t
14023 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s16(int16x4_t __a)14024 vcls_s16 (int16x4_t __a)
14025 {
14026   return __builtin_aarch64_clrsbv4hi (__a);
14027 }
14028 
14029 __extension__ extern __inline int32x2_t
14030 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s32(int32x2_t __a)14031 vcls_s32 (int32x2_t __a)
14032 {
14033   return __builtin_aarch64_clrsbv2si (__a);
14034 }
14035 
14036 __extension__ extern __inline int8x16_t
14037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s8(int8x16_t __a)14038 vclsq_s8 (int8x16_t __a)
14039 {
14040   return __builtin_aarch64_clrsbv16qi (__a);
14041 }
14042 
14043 __extension__ extern __inline int16x8_t
14044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s16(int16x8_t __a)14045 vclsq_s16 (int16x8_t __a)
14046 {
14047   return __builtin_aarch64_clrsbv8hi (__a);
14048 }
14049 
14050 __extension__ extern __inline int32x4_t
14051 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s32(int32x4_t __a)14052 vclsq_s32 (int32x4_t __a)
14053 {
14054   return __builtin_aarch64_clrsbv4si (__a);
14055 }
14056 
14057 /* vclz.  */
14058 
14059 __extension__ extern __inline int8x8_t
14060 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s8(int8x8_t __a)14061 vclz_s8 (int8x8_t __a)
14062 {
14063   return __builtin_aarch64_clzv8qi (__a);
14064 }
14065 
14066 __extension__ extern __inline int16x4_t
14067 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s16(int16x4_t __a)14068 vclz_s16 (int16x4_t __a)
14069 {
14070   return __builtin_aarch64_clzv4hi (__a);
14071 }
14072 
14073 __extension__ extern __inline int32x2_t
14074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s32(int32x2_t __a)14075 vclz_s32 (int32x2_t __a)
14076 {
14077   return __builtin_aarch64_clzv2si (__a);
14078 }
14079 
14080 __extension__ extern __inline uint8x8_t
14081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u8(uint8x8_t __a)14082 vclz_u8 (uint8x8_t __a)
14083 {
14084   return (uint8x8_t)__builtin_aarch64_clzv8qi ((int8x8_t)__a);
14085 }
14086 
14087 __extension__ extern __inline uint16x4_t
14088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u16(uint16x4_t __a)14089 vclz_u16 (uint16x4_t __a)
14090 {
14091   return (uint16x4_t)__builtin_aarch64_clzv4hi ((int16x4_t)__a);
14092 }
14093 
14094 __extension__ extern __inline uint32x2_t
14095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u32(uint32x2_t __a)14096 vclz_u32 (uint32x2_t __a)
14097 {
14098   return (uint32x2_t)__builtin_aarch64_clzv2si ((int32x2_t)__a);
14099 }
14100 
14101 __extension__ extern __inline int8x16_t
14102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s8(int8x16_t __a)14103 vclzq_s8 (int8x16_t __a)
14104 {
14105   return __builtin_aarch64_clzv16qi (__a);
14106 }
14107 
14108 __extension__ extern __inline int16x8_t
14109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s16(int16x8_t __a)14110 vclzq_s16 (int16x8_t __a)
14111 {
14112   return __builtin_aarch64_clzv8hi (__a);
14113 }
14114 
14115 __extension__ extern __inline int32x4_t
14116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s32(int32x4_t __a)14117 vclzq_s32 (int32x4_t __a)
14118 {
14119   return __builtin_aarch64_clzv4si (__a);
14120 }
14121 
14122 __extension__ extern __inline uint8x16_t
14123 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u8(uint8x16_t __a)14124 vclzq_u8 (uint8x16_t __a)
14125 {
14126   return (uint8x16_t)__builtin_aarch64_clzv16qi ((int8x16_t)__a);
14127 }
14128 
14129 __extension__ extern __inline uint16x8_t
14130 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u16(uint16x8_t __a)14131 vclzq_u16 (uint16x8_t __a)
14132 {
14133   return (uint16x8_t)__builtin_aarch64_clzv8hi ((int16x8_t)__a);
14134 }
14135 
14136 __extension__ extern __inline uint32x4_t
14137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u32(uint32x4_t __a)14138 vclzq_u32 (uint32x4_t __a)
14139 {
14140   return (uint32x4_t)__builtin_aarch64_clzv4si ((int32x4_t)__a);
14141 }
14142 
14143 /* vcnt.  */
14144 
14145 __extension__ extern __inline poly8x8_t
14146 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_p8(poly8x8_t __a)14147 vcnt_p8 (poly8x8_t __a)
14148 {
14149   return (poly8x8_t) __builtin_aarch64_popcountv8qi ((int8x8_t) __a);
14150 }
14151 
14152 __extension__ extern __inline int8x8_t
14153 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_s8(int8x8_t __a)14154 vcnt_s8 (int8x8_t __a)
14155 {
14156   return __builtin_aarch64_popcountv8qi (__a);
14157 }
14158 
14159 __extension__ extern __inline uint8x8_t
14160 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_u8(uint8x8_t __a)14161 vcnt_u8 (uint8x8_t __a)
14162 {
14163   return (uint8x8_t) __builtin_aarch64_popcountv8qi ((int8x8_t) __a);
14164 }
14165 
14166 __extension__ extern __inline poly8x16_t
14167 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_p8(poly8x16_t __a)14168 vcntq_p8 (poly8x16_t __a)
14169 {
14170   return (poly8x16_t) __builtin_aarch64_popcountv16qi ((int8x16_t) __a);
14171 }
14172 
14173 __extension__ extern __inline int8x16_t
14174 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_s8(int8x16_t __a)14175 vcntq_s8 (int8x16_t __a)
14176 {
14177   return __builtin_aarch64_popcountv16qi (__a);
14178 }
14179 
14180 __extension__ extern __inline uint8x16_t
14181 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_u8(uint8x16_t __a)14182 vcntq_u8 (uint8x16_t __a)
14183 {
14184   return (uint8x16_t) __builtin_aarch64_popcountv16qi ((int8x16_t) __a);
14185 }
14186 
14187 /* vcopy_lane.  */
14188 
14189 __extension__ extern __inline float32x2_t
14190 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_f32(float32x2_t __a,const int __lane1,float32x2_t __b,const int __lane2)14191 vcopy_lane_f32 (float32x2_t __a, const int __lane1,
14192 		float32x2_t __b, const int __lane2)
14193 {
14194   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14195 				  __a, __lane1);
14196 }
14197 
14198 __extension__ extern __inline float64x1_t
14199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_f64(float64x1_t __a,const int __lane1,float64x1_t __b,const int __lane2)14200 vcopy_lane_f64 (float64x1_t __a, const int __lane1,
14201 		float64x1_t __b, const int __lane2)
14202 {
14203   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14204 				  __a, __lane1);
14205 }
14206 
14207 __extension__ extern __inline poly8x8_t
14208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_p8(poly8x8_t __a,const int __lane1,poly8x8_t __b,const int __lane2)14209 vcopy_lane_p8 (poly8x8_t __a, const int __lane1,
14210 	       poly8x8_t __b, const int __lane2)
14211 {
14212   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14213 				 __a, __lane1);
14214 }
14215 
14216 __extension__ extern __inline poly16x4_t
14217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_p16(poly16x4_t __a,const int __lane1,poly16x4_t __b,const int __lane2)14218 vcopy_lane_p16 (poly16x4_t __a, const int __lane1,
14219 		poly16x4_t __b, const int __lane2)
14220 {
14221   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14222 				  __a, __lane1);
14223 }
14224 
14225 __extension__ extern __inline poly64x1_t
14226 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_p64(poly64x1_t __a,const int __lane1,poly64x1_t __b,const int __lane2)14227 vcopy_lane_p64 (poly64x1_t __a, const int __lane1,
14228 		poly64x1_t __b, const int __lane2)
14229 {
14230   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14231 				  __a, __lane1);
14232 }
14233 
14234 __extension__ extern __inline int8x8_t
14235 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_s8(int8x8_t __a,const int __lane1,int8x8_t __b,const int __lane2)14236 vcopy_lane_s8 (int8x8_t __a, const int __lane1,
14237 	       int8x8_t __b, const int __lane2)
14238 {
14239   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14240 				 __a, __lane1);
14241 }
14242 
14243 __extension__ extern __inline int16x4_t
14244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_s16(int16x4_t __a,const int __lane1,int16x4_t __b,const int __lane2)14245 vcopy_lane_s16 (int16x4_t __a, const int __lane1,
14246 		int16x4_t __b, const int __lane2)
14247 {
14248   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14249 				  __a, __lane1);
14250 }
14251 
14252 __extension__ extern __inline int32x2_t
14253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_s32(int32x2_t __a,const int __lane1,int32x2_t __b,const int __lane2)14254 vcopy_lane_s32 (int32x2_t __a, const int __lane1,
14255 		int32x2_t __b, const int __lane2)
14256 {
14257   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14258 				  __a, __lane1);
14259 }
14260 
14261 __extension__ extern __inline int64x1_t
14262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_s64(int64x1_t __a,const int __lane1,int64x1_t __b,const int __lane2)14263 vcopy_lane_s64 (int64x1_t __a, const int __lane1,
14264 		int64x1_t __b, const int __lane2)
14265 {
14266   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14267 				  __a, __lane1);
14268 }
14269 
14270 __extension__ extern __inline uint8x8_t
14271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_u8(uint8x8_t __a,const int __lane1,uint8x8_t __b,const int __lane2)14272 vcopy_lane_u8 (uint8x8_t __a, const int __lane1,
14273 	       uint8x8_t __b, const int __lane2)
14274 {
14275   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14276 				 __a, __lane1);
14277 }
14278 
14279 __extension__ extern __inline uint16x4_t
14280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_u16(uint16x4_t __a,const int __lane1,uint16x4_t __b,const int __lane2)14281 vcopy_lane_u16 (uint16x4_t __a, const int __lane1,
14282 		uint16x4_t __b, const int __lane2)
14283 {
14284   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14285 				  __a, __lane1);
14286 }
14287 
14288 __extension__ extern __inline uint32x2_t
14289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_u32(uint32x2_t __a,const int __lane1,uint32x2_t __b,const int __lane2)14290 vcopy_lane_u32 (uint32x2_t __a, const int __lane1,
14291 		uint32x2_t __b, const int __lane2)
14292 {
14293   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14294 				  __a, __lane1);
14295 }
14296 
14297 __extension__ extern __inline uint64x1_t
14298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_u64(uint64x1_t __a,const int __lane1,uint64x1_t __b,const int __lane2)14299 vcopy_lane_u64 (uint64x1_t __a, const int __lane1,
14300 		uint64x1_t __b, const int __lane2)
14301 {
14302   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14303 				  __a, __lane1);
14304 }
14305 
14306 /* vcopy_laneq.  */
14307 
14308 __extension__ extern __inline float32x2_t
14309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_f32(float32x2_t __a,const int __lane1,float32x4_t __b,const int __lane2)14310 vcopy_laneq_f32 (float32x2_t __a, const int __lane1,
14311 		 float32x4_t __b, const int __lane2)
14312 {
14313   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14314 				  __a, __lane1);
14315 }
14316 
14317 __extension__ extern __inline float64x1_t
14318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_f64(float64x1_t __a,const int __lane1,float64x2_t __b,const int __lane2)14319 vcopy_laneq_f64 (float64x1_t __a, const int __lane1,
14320 		 float64x2_t __b, const int __lane2)
14321 {
14322   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14323 				  __a, __lane1);
14324 }
14325 
14326 __extension__ extern __inline poly8x8_t
14327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_p8(poly8x8_t __a,const int __lane1,poly8x16_t __b,const int __lane2)14328 vcopy_laneq_p8 (poly8x8_t __a, const int __lane1,
14329 		poly8x16_t __b, const int __lane2)
14330 {
14331   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14332 				 __a, __lane1);
14333 }
14334 
14335 __extension__ extern __inline poly16x4_t
14336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_p16(poly16x4_t __a,const int __lane1,poly16x8_t __b,const int __lane2)14337 vcopy_laneq_p16 (poly16x4_t __a, const int __lane1,
14338 		 poly16x8_t __b, const int __lane2)
14339 {
14340   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14341 				  __a, __lane1);
14342 }
14343 
14344 __extension__ extern __inline poly64x1_t
14345 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_p64(poly64x1_t __a,const int __lane1,poly64x2_t __b,const int __lane2)14346 vcopy_laneq_p64 (poly64x1_t __a, const int __lane1,
14347 		 poly64x2_t __b, const int __lane2)
14348 {
14349   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14350 				  __a, __lane1);
14351 }
14352 
14353 __extension__ extern __inline int8x8_t
14354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_s8(int8x8_t __a,const int __lane1,int8x16_t __b,const int __lane2)14355 vcopy_laneq_s8 (int8x8_t __a, const int __lane1,
14356 		int8x16_t __b, const int __lane2)
14357 {
14358   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14359 				 __a, __lane1);
14360 }
14361 
14362 __extension__ extern __inline int16x4_t
14363 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_s16(int16x4_t __a,const int __lane1,int16x8_t __b,const int __lane2)14364 vcopy_laneq_s16 (int16x4_t __a, const int __lane1,
14365 		 int16x8_t __b, const int __lane2)
14366 {
14367   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14368 				  __a, __lane1);
14369 }
14370 
14371 __extension__ extern __inline int32x2_t
14372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_s32(int32x2_t __a,const int __lane1,int32x4_t __b,const int __lane2)14373 vcopy_laneq_s32 (int32x2_t __a, const int __lane1,
14374 		 int32x4_t __b, const int __lane2)
14375 {
14376   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14377 				  __a, __lane1);
14378 }
14379 
14380 __extension__ extern __inline int64x1_t
14381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_s64(int64x1_t __a,const int __lane1,int64x2_t __b,const int __lane2)14382 vcopy_laneq_s64 (int64x1_t __a, const int __lane1,
14383 		 int64x2_t __b, const int __lane2)
14384 {
14385   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14386 				  __a, __lane1);
14387 }
14388 
14389 __extension__ extern __inline uint8x8_t
14390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_u8(uint8x8_t __a,const int __lane1,uint8x16_t __b,const int __lane2)14391 vcopy_laneq_u8 (uint8x8_t __a, const int __lane1,
14392 		uint8x16_t __b, const int __lane2)
14393 {
14394   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14395 				 __a, __lane1);
14396 }
14397 
14398 __extension__ extern __inline uint16x4_t
14399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_u16(uint16x4_t __a,const int __lane1,uint16x8_t __b,const int __lane2)14400 vcopy_laneq_u16 (uint16x4_t __a, const int __lane1,
14401 		 uint16x8_t __b, const int __lane2)
14402 {
14403   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14404 				  __a, __lane1);
14405 }
14406 
14407 __extension__ extern __inline uint32x2_t
14408 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_u32(uint32x2_t __a,const int __lane1,uint32x4_t __b,const int __lane2)14409 vcopy_laneq_u32 (uint32x2_t __a, const int __lane1,
14410 		 uint32x4_t __b, const int __lane2)
14411 {
14412   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14413 				  __a, __lane1);
14414 }
14415 
14416 __extension__ extern __inline uint64x1_t
14417 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_u64(uint64x1_t __a,const int __lane1,uint64x2_t __b,const int __lane2)14418 vcopy_laneq_u64 (uint64x1_t __a, const int __lane1,
14419 		 uint64x2_t __b, const int __lane2)
14420 {
14421   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14422 				  __a, __lane1);
14423 }
14424 
14425 /* vcopyq_lane.  */
14426 
14427 __extension__ extern __inline float32x4_t
14428 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_f32(float32x4_t __a,const int __lane1,float32x2_t __b,const int __lane2)14429 vcopyq_lane_f32 (float32x4_t __a, const int __lane1,
14430 		 float32x2_t __b, const int __lane2)
14431 {
14432   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14433 				   __a, __lane1);
14434 }
14435 
14436 __extension__ extern __inline float64x2_t
14437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_f64(float64x2_t __a,const int __lane1,float64x1_t __b,const int __lane2)14438 vcopyq_lane_f64 (float64x2_t __a, const int __lane1,
14439 		 float64x1_t __b, const int __lane2)
14440 {
14441   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14442 				   __a, __lane1);
14443 }
14444 
14445 __extension__ extern __inline poly8x16_t
14446 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_p8(poly8x16_t __a,const int __lane1,poly8x8_t __b,const int __lane2)14447 vcopyq_lane_p8 (poly8x16_t __a, const int __lane1,
14448 		poly8x8_t __b, const int __lane2)
14449 {
14450   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14451 				  __a, __lane1);
14452 }
14453 
14454 __extension__ extern __inline poly16x8_t
14455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_p16(poly16x8_t __a,const int __lane1,poly16x4_t __b,const int __lane2)14456 vcopyq_lane_p16 (poly16x8_t __a, const int __lane1,
14457 		 poly16x4_t __b, const int __lane2)
14458 {
14459   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14460 				   __a, __lane1);
14461 }
14462 
14463 __extension__ extern __inline poly64x2_t
14464 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_p64(poly64x2_t __a,const int __lane1,poly64x1_t __b,const int __lane2)14465 vcopyq_lane_p64 (poly64x2_t __a, const int __lane1,
14466 		 poly64x1_t __b, const int __lane2)
14467 {
14468   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14469 				   __a, __lane1);
14470 }
14471 
14472 __extension__ extern __inline int8x16_t
14473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_s8(int8x16_t __a,const int __lane1,int8x8_t __b,const int __lane2)14474 vcopyq_lane_s8 (int8x16_t __a, const int __lane1,
14475 		int8x8_t __b, const int __lane2)
14476 {
14477   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14478 				  __a, __lane1);
14479 }
14480 
14481 __extension__ extern __inline int16x8_t
14482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_s16(int16x8_t __a,const int __lane1,int16x4_t __b,const int __lane2)14483 vcopyq_lane_s16 (int16x8_t __a, const int __lane1,
14484 		 int16x4_t __b, const int __lane2)
14485 {
14486   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14487 				   __a, __lane1);
14488 }
14489 
14490 __extension__ extern __inline int32x4_t
14491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_s32(int32x4_t __a,const int __lane1,int32x2_t __b,const int __lane2)14492 vcopyq_lane_s32 (int32x4_t __a, const int __lane1,
14493 		 int32x2_t __b, const int __lane2)
14494 {
14495   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14496 				   __a, __lane1);
14497 }
14498 
14499 __extension__ extern __inline int64x2_t
14500 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_s64(int64x2_t __a,const int __lane1,int64x1_t __b,const int __lane2)14501 vcopyq_lane_s64 (int64x2_t __a, const int __lane1,
14502 		 int64x1_t __b, const int __lane2)
14503 {
14504   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14505 				   __a, __lane1);
14506 }
14507 
14508 __extension__ extern __inline uint8x16_t
14509 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_u8(uint8x16_t __a,const int __lane1,uint8x8_t __b,const int __lane2)14510 vcopyq_lane_u8 (uint8x16_t __a, const int __lane1,
14511 		uint8x8_t __b, const int __lane2)
14512 {
14513   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14514 				  __a, __lane1);
14515 }
14516 
14517 __extension__ extern __inline uint16x8_t
14518 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_u16(uint16x8_t __a,const int __lane1,uint16x4_t __b,const int __lane2)14519 vcopyq_lane_u16 (uint16x8_t __a, const int __lane1,
14520 		 uint16x4_t __b, const int __lane2)
14521 {
14522   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14523 				   __a, __lane1);
14524 }
14525 
14526 __extension__ extern __inline uint32x4_t
14527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_u32(uint32x4_t __a,const int __lane1,uint32x2_t __b,const int __lane2)14528 vcopyq_lane_u32 (uint32x4_t __a, const int __lane1,
14529 		 uint32x2_t __b, const int __lane2)
14530 {
14531   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14532 				   __a, __lane1);
14533 }
14534 
14535 __extension__ extern __inline uint64x2_t
14536 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_u64(uint64x2_t __a,const int __lane1,uint64x1_t __b,const int __lane2)14537 vcopyq_lane_u64 (uint64x2_t __a, const int __lane1,
14538 		 uint64x1_t __b, const int __lane2)
14539 {
14540   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14541 				   __a, __lane1);
14542 }
14543 
14544 /* vcopyq_laneq.  */
14545 
14546 __extension__ extern __inline float32x4_t
14547 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_f32(float32x4_t __a,const int __lane1,float32x4_t __b,const int __lane2)14548 vcopyq_laneq_f32 (float32x4_t __a, const int __lane1,
14549 		  float32x4_t __b, const int __lane2)
14550 {
14551   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14552 				   __a, __lane1);
14553 }
14554 
14555 __extension__ extern __inline float64x2_t
14556 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_f64(float64x2_t __a,const int __lane1,float64x2_t __b,const int __lane2)14557 vcopyq_laneq_f64 (float64x2_t __a, const int __lane1,
14558 		  float64x2_t __b, const int __lane2)
14559 {
14560   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14561 				   __a, __lane1);
14562 }
14563 
14564 __extension__ extern __inline poly8x16_t
14565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_p8(poly8x16_t __a,const int __lane1,poly8x16_t __b,const int __lane2)14566 vcopyq_laneq_p8 (poly8x16_t __a, const int __lane1,
14567 		 poly8x16_t __b, const int __lane2)
14568 {
14569   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14570 				  __a, __lane1);
14571 }
14572 
14573 __extension__ extern __inline poly16x8_t
14574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_p16(poly16x8_t __a,const int __lane1,poly16x8_t __b,const int __lane2)14575 vcopyq_laneq_p16 (poly16x8_t __a, const int __lane1,
14576 		  poly16x8_t __b, const int __lane2)
14577 {
14578   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14579 				   __a, __lane1);
14580 }
14581 
14582 __extension__ extern __inline poly64x2_t
14583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_p64(poly64x2_t __a,const int __lane1,poly64x2_t __b,const int __lane2)14584 vcopyq_laneq_p64 (poly64x2_t __a, const int __lane1,
14585 		  poly64x2_t __b, const int __lane2)
14586 {
14587   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14588 				   __a, __lane1);
14589 }
14590 
14591 __extension__ extern __inline int8x16_t
14592 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_s8(int8x16_t __a,const int __lane1,int8x16_t __b,const int __lane2)14593 vcopyq_laneq_s8 (int8x16_t __a, const int __lane1,
14594 		 int8x16_t __b, const int __lane2)
14595 {
14596   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14597 				  __a, __lane1);
14598 }
14599 
14600 __extension__ extern __inline int16x8_t
14601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_s16(int16x8_t __a,const int __lane1,int16x8_t __b,const int __lane2)14602 vcopyq_laneq_s16 (int16x8_t __a, const int __lane1,
14603 		  int16x8_t __b, const int __lane2)
14604 {
14605   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14606 				   __a, __lane1);
14607 }
14608 
14609 __extension__ extern __inline int32x4_t
14610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_s32(int32x4_t __a,const int __lane1,int32x4_t __b,const int __lane2)14611 vcopyq_laneq_s32 (int32x4_t __a, const int __lane1,
14612 		  int32x4_t __b, const int __lane2)
14613 {
14614   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14615 				   __a, __lane1);
14616 }
14617 
14618 __extension__ extern __inline int64x2_t
14619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_s64(int64x2_t __a,const int __lane1,int64x2_t __b,const int __lane2)14620 vcopyq_laneq_s64 (int64x2_t __a, const int __lane1,
14621 		  int64x2_t __b, const int __lane2)
14622 {
14623   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14624 				   __a, __lane1);
14625 }
14626 
14627 __extension__ extern __inline uint8x16_t
14628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_u8(uint8x16_t __a,const int __lane1,uint8x16_t __b,const int __lane2)14629 vcopyq_laneq_u8 (uint8x16_t __a, const int __lane1,
14630 		 uint8x16_t __b, const int __lane2)
14631 {
14632   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14633 				  __a, __lane1);
14634 }
14635 
14636 __extension__ extern __inline uint16x8_t
14637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_u16(uint16x8_t __a,const int __lane1,uint16x8_t __b,const int __lane2)14638 vcopyq_laneq_u16 (uint16x8_t __a, const int __lane1,
14639 		  uint16x8_t __b, const int __lane2)
14640 {
14641   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14642 				   __a, __lane1);
14643 }
14644 
14645 __extension__ extern __inline uint32x4_t
14646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_u32(uint32x4_t __a,const int __lane1,uint32x4_t __b,const int __lane2)14647 vcopyq_laneq_u32 (uint32x4_t __a, const int __lane1,
14648 		  uint32x4_t __b, const int __lane2)
14649 {
14650   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14651 				   __a, __lane1);
14652 }
14653 
14654 __extension__ extern __inline uint64x2_t
14655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_u64(uint64x2_t __a,const int __lane1,uint64x2_t __b,const int __lane2)14656 vcopyq_laneq_u64 (uint64x2_t __a, const int __lane1,
14657 		  uint64x2_t __b, const int __lane2)
14658 {
14659   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
14660 				   __a, __lane1);
14661 }
14662 
14663 /* vcvt (double -> float).  */
14664 
14665 __extension__ extern __inline float16x4_t
14666 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_f32(float32x4_t __a)14667 vcvt_f16_f32 (float32x4_t __a)
14668 {
14669   return __builtin_aarch64_float_truncate_lo_v4hf (__a);
14670 }
14671 
14672 __extension__ extern __inline float16x8_t
14673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_high_f16_f32(float16x4_t __a,float32x4_t __b)14674 vcvt_high_f16_f32 (float16x4_t __a, float32x4_t __b)
14675 {
14676   return __builtin_aarch64_float_truncate_hi_v8hf (__a, __b);
14677 }
14678 
14679 __extension__ extern __inline float32x2_t
14680 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_f64(float64x2_t __a)14681 vcvt_f32_f64 (float64x2_t __a)
14682 {
14683   return __builtin_aarch64_float_truncate_lo_v2sf (__a);
14684 }
14685 
14686 __extension__ extern __inline float32x4_t
14687 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_high_f32_f64(float32x2_t __a,float64x2_t __b)14688 vcvt_high_f32_f64 (float32x2_t __a, float64x2_t __b)
14689 {
14690   return __builtin_aarch64_float_truncate_hi_v4sf (__a, __b);
14691 }
14692 
14693 /* vcvt (float -> double).  */
14694 
14695 __extension__ extern __inline float32x4_t
14696 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_f16(float16x4_t __a)14697 vcvt_f32_f16 (float16x4_t __a)
14698 {
14699   return __builtin_aarch64_float_extend_lo_v4sf (__a);
14700 }
14701 
14702 __extension__ extern __inline float64x2_t
14703 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f64_f32(float32x2_t __a)14704 vcvt_f64_f32 (float32x2_t __a)
14705 {
14706 
14707   return __builtin_aarch64_float_extend_lo_v2df (__a);
14708 }
14709 
14710 __extension__ extern __inline float32x4_t
14711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_high_f32_f16(float16x8_t __a)14712 vcvt_high_f32_f16 (float16x8_t __a)
14713 {
14714   return __builtin_aarch64_vec_unpacks_hi_v8hf (__a);
14715 }
14716 
14717 __extension__ extern __inline float64x2_t
14718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_high_f64_f32(float32x4_t __a)14719 vcvt_high_f64_f32 (float32x4_t __a)
14720 {
14721   return __builtin_aarch64_vec_unpacks_hi_v4sf (__a);
14722 }
14723 
14724 /* vcvt (<u>fixed-point -> float).  */
14725 
14726 __extension__ extern __inline float64_t
14727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_n_f64_s64(int64_t __a,const int __b)14728 vcvtd_n_f64_s64 (int64_t __a, const int __b)
14729 {
14730   return __builtin_aarch64_scvtfdi (__a, __b);
14731 }
14732 
14733 __extension__ extern __inline float64_t
14734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_n_f64_u64(uint64_t __a,const int __b)14735 vcvtd_n_f64_u64 (uint64_t __a, const int __b)
14736 {
14737   return __builtin_aarch64_ucvtfdi_sus (__a, __b);
14738 }
14739 
14740 __extension__ extern __inline float32_t
14741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_n_f32_s32(int32_t __a,const int __b)14742 vcvts_n_f32_s32 (int32_t __a, const int __b)
14743 {
14744   return __builtin_aarch64_scvtfsi (__a, __b);
14745 }
14746 
14747 __extension__ extern __inline float32_t
14748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_n_f32_u32(uint32_t __a,const int __b)14749 vcvts_n_f32_u32 (uint32_t __a, const int __b)
14750 {
14751   return __builtin_aarch64_ucvtfsi_sus (__a, __b);
14752 }
14753 
14754 __extension__ extern __inline float32x2_t
14755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f32_s32(int32x2_t __a,const int __b)14756 vcvt_n_f32_s32 (int32x2_t __a, const int __b)
14757 {
14758   return __builtin_aarch64_scvtfv2si (__a, __b);
14759 }
14760 
14761 __extension__ extern __inline float32x2_t
14762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f32_u32(uint32x2_t __a,const int __b)14763 vcvt_n_f32_u32 (uint32x2_t __a, const int __b)
14764 {
14765   return __builtin_aarch64_ucvtfv2si_sus (__a, __b);
14766 }
14767 
14768 __extension__ extern __inline float64x1_t
14769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f64_s64(int64x1_t __a,const int __b)14770 vcvt_n_f64_s64 (int64x1_t __a, const int __b)
14771 {
14772   return (float64x1_t)
14773     { __builtin_aarch64_scvtfdi (vget_lane_s64 (__a, 0), __b) };
14774 }
14775 
14776 __extension__ extern __inline float64x1_t
14777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f64_u64(uint64x1_t __a,const int __b)14778 vcvt_n_f64_u64 (uint64x1_t __a, const int __b)
14779 {
14780   return (float64x1_t)
14781     { __builtin_aarch64_ucvtfdi_sus (vget_lane_u64 (__a, 0), __b) };
14782 }
14783 
14784 __extension__ extern __inline float32x4_t
14785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f32_s32(int32x4_t __a,const int __b)14786 vcvtq_n_f32_s32 (int32x4_t __a, const int __b)
14787 {
14788   return __builtin_aarch64_scvtfv4si (__a, __b);
14789 }
14790 
14791 __extension__ extern __inline float32x4_t
14792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f32_u32(uint32x4_t __a,const int __b)14793 vcvtq_n_f32_u32 (uint32x4_t __a, const int __b)
14794 {
14795   return __builtin_aarch64_ucvtfv4si_sus (__a, __b);
14796 }
14797 
14798 __extension__ extern __inline float64x2_t
14799 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f64_s64(int64x2_t __a,const int __b)14800 vcvtq_n_f64_s64 (int64x2_t __a, const int __b)
14801 {
14802   return __builtin_aarch64_scvtfv2di (__a, __b);
14803 }
14804 
14805 __extension__ extern __inline float64x2_t
14806 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f64_u64(uint64x2_t __a,const int __b)14807 vcvtq_n_f64_u64 (uint64x2_t __a, const int __b)
14808 {
14809   return __builtin_aarch64_ucvtfv2di_sus (__a, __b);
14810 }
14811 
14812 /* vcvt (float -> <u>fixed-point).  */
14813 
14814 __extension__ extern __inline int64_t
14815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_n_s64_f64(float64_t __a,const int __b)14816 vcvtd_n_s64_f64 (float64_t __a, const int __b)
14817 {
14818   return __builtin_aarch64_fcvtzsdf (__a, __b);
14819 }
14820 
14821 __extension__ extern __inline uint64_t
14822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_n_u64_f64(float64_t __a,const int __b)14823 vcvtd_n_u64_f64 (float64_t __a, const int __b)
14824 {
14825   return __builtin_aarch64_fcvtzudf_uss (__a, __b);
14826 }
14827 
14828 __extension__ extern __inline int32_t
14829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_n_s32_f32(float32_t __a,const int __b)14830 vcvts_n_s32_f32 (float32_t __a, const int __b)
14831 {
14832   return __builtin_aarch64_fcvtzssf (__a, __b);
14833 }
14834 
14835 __extension__ extern __inline uint32_t
14836 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_n_u32_f32(float32_t __a,const int __b)14837 vcvts_n_u32_f32 (float32_t __a, const int __b)
14838 {
14839   return __builtin_aarch64_fcvtzusf_uss (__a, __b);
14840 }
14841 
14842 __extension__ extern __inline int32x2_t
14843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_s32_f32(float32x2_t __a,const int __b)14844 vcvt_n_s32_f32 (float32x2_t __a, const int __b)
14845 {
14846   return __builtin_aarch64_fcvtzsv2sf (__a, __b);
14847 }
14848 
14849 __extension__ extern __inline uint32x2_t
14850 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_u32_f32(float32x2_t __a,const int __b)14851 vcvt_n_u32_f32 (float32x2_t __a, const int __b)
14852 {
14853   return __builtin_aarch64_fcvtzuv2sf_uss (__a, __b);
14854 }
14855 
14856 __extension__ extern __inline int64x1_t
14857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_s64_f64(float64x1_t __a,const int __b)14858 vcvt_n_s64_f64 (float64x1_t __a, const int __b)
14859 {
14860   return (int64x1_t)
14861     { __builtin_aarch64_fcvtzsdf (vget_lane_f64 (__a, 0), __b) };
14862 }
14863 
14864 __extension__ extern __inline uint64x1_t
14865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_u64_f64(float64x1_t __a,const int __b)14866 vcvt_n_u64_f64 (float64x1_t __a, const int __b)
14867 {
14868   return (uint64x1_t)
14869     { __builtin_aarch64_fcvtzudf_uss (vget_lane_f64 (__a, 0), __b) };
14870 }
14871 
14872 __extension__ extern __inline int32x4_t
14873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_s32_f32(float32x4_t __a,const int __b)14874 vcvtq_n_s32_f32 (float32x4_t __a, const int __b)
14875 {
14876   return __builtin_aarch64_fcvtzsv4sf (__a, __b);
14877 }
14878 
14879 __extension__ extern __inline uint32x4_t
14880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_u32_f32(float32x4_t __a,const int __b)14881 vcvtq_n_u32_f32 (float32x4_t __a, const int __b)
14882 {
14883   return __builtin_aarch64_fcvtzuv4sf_uss (__a, __b);
14884 }
14885 
14886 __extension__ extern __inline int64x2_t
14887 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_s64_f64(float64x2_t __a,const int __b)14888 vcvtq_n_s64_f64 (float64x2_t __a, const int __b)
14889 {
14890   return __builtin_aarch64_fcvtzsv2df (__a, __b);
14891 }
14892 
14893 __extension__ extern __inline uint64x2_t
14894 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_u64_f64(float64x2_t __a,const int __b)14895 vcvtq_n_u64_f64 (float64x2_t __a, const int __b)
14896 {
14897   return __builtin_aarch64_fcvtzuv2df_uss (__a, __b);
14898 }
14899 
14900 /* vcvt  (<u>int -> float)  */
14901 
14902 __extension__ extern __inline float64_t
14903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_f64_s64(int64_t __a)14904 vcvtd_f64_s64 (int64_t __a)
14905 {
14906   return (float64_t) __a;
14907 }
14908 
14909 __extension__ extern __inline float64_t
14910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_f64_u64(uint64_t __a)14911 vcvtd_f64_u64 (uint64_t __a)
14912 {
14913   return (float64_t) __a;
14914 }
14915 
14916 __extension__ extern __inline float32_t
14917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_f32_s32(int32_t __a)14918 vcvts_f32_s32 (int32_t __a)
14919 {
14920   return (float32_t) __a;
14921 }
14922 
14923 __extension__ extern __inline float32_t
14924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_f32_u32(uint32_t __a)14925 vcvts_f32_u32 (uint32_t __a)
14926 {
14927   return (float32_t) __a;
14928 }
14929 
14930 __extension__ extern __inline float32x2_t
14931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_s32(int32x2_t __a)14932 vcvt_f32_s32 (int32x2_t __a)
14933 {
14934   return __builtin_aarch64_floatv2siv2sf (__a);
14935 }
14936 
14937 __extension__ extern __inline float32x2_t
14938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_u32(uint32x2_t __a)14939 vcvt_f32_u32 (uint32x2_t __a)
14940 {
14941   return __builtin_aarch64_floatunsv2siv2sf ((int32x2_t) __a);
14942 }
14943 
14944 __extension__ extern __inline float64x1_t
14945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f64_s64(int64x1_t __a)14946 vcvt_f64_s64 (int64x1_t __a)
14947 {
14948   return (float64x1_t) { vget_lane_s64 (__a, 0) };
14949 }
14950 
14951 __extension__ extern __inline float64x1_t
14952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f64_u64(uint64x1_t __a)14953 vcvt_f64_u64 (uint64x1_t __a)
14954 {
14955   return (float64x1_t) { vget_lane_u64 (__a, 0) };
14956 }
14957 
14958 __extension__ extern __inline float32x4_t
14959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f32_s32(int32x4_t __a)14960 vcvtq_f32_s32 (int32x4_t __a)
14961 {
14962   return __builtin_aarch64_floatv4siv4sf (__a);
14963 }
14964 
14965 __extension__ extern __inline float32x4_t
14966 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f32_u32(uint32x4_t __a)14967 vcvtq_f32_u32 (uint32x4_t __a)
14968 {
14969   return __builtin_aarch64_floatunsv4siv4sf ((int32x4_t) __a);
14970 }
14971 
14972 __extension__ extern __inline float64x2_t
14973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f64_s64(int64x2_t __a)14974 vcvtq_f64_s64 (int64x2_t __a)
14975 {
14976   return __builtin_aarch64_floatv2div2df (__a);
14977 }
14978 
14979 __extension__ extern __inline float64x2_t
14980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f64_u64(uint64x2_t __a)14981 vcvtq_f64_u64 (uint64x2_t __a)
14982 {
14983   return __builtin_aarch64_floatunsv2div2df ((int64x2_t) __a);
14984 }
14985 
14986 /* vcvt (float -> <u>int)  */
14987 
14988 __extension__ extern __inline int64_t
14989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_s64_f64(float64_t __a)14990 vcvtd_s64_f64 (float64_t __a)
14991 {
14992   return (int64_t) __a;
14993 }
14994 
14995 __extension__ extern __inline uint64_t
14996 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_u64_f64(float64_t __a)14997 vcvtd_u64_f64 (float64_t __a)
14998 {
14999   return (uint64_t) __a;
15000 }
15001 
15002 __extension__ extern __inline int32_t
15003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_s32_f32(float32_t __a)15004 vcvts_s32_f32 (float32_t __a)
15005 {
15006   return (int32_t) __a;
15007 }
15008 
15009 __extension__ extern __inline uint32_t
15010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_u32_f32(float32_t __a)15011 vcvts_u32_f32 (float32_t __a)
15012 {
15013   return (uint32_t) __a;
15014 }
15015 
15016 __extension__ extern __inline int32x2_t
15017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_s32_f32(float32x2_t __a)15018 vcvt_s32_f32 (float32x2_t __a)
15019 {
15020   return __builtin_aarch64_lbtruncv2sfv2si (__a);
15021 }
15022 
15023 __extension__ extern __inline uint32x2_t
15024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_u32_f32(float32x2_t __a)15025 vcvt_u32_f32 (float32x2_t __a)
15026 {
15027   return __builtin_aarch64_lbtruncuv2sfv2si_us (__a);
15028 }
15029 
15030 __extension__ extern __inline int32x4_t
15031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_s32_f32(float32x4_t __a)15032 vcvtq_s32_f32 (float32x4_t __a)
15033 {
15034   return __builtin_aarch64_lbtruncv4sfv4si (__a);
15035 }
15036 
15037 __extension__ extern __inline uint32x4_t
15038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_u32_f32(float32x4_t __a)15039 vcvtq_u32_f32 (float32x4_t __a)
15040 {
15041   return __builtin_aarch64_lbtruncuv4sfv4si_us (__a);
15042 }
15043 
15044 __extension__ extern __inline int64x1_t
15045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_s64_f64(float64x1_t __a)15046 vcvt_s64_f64 (float64x1_t __a)
15047 {
15048   return (int64x1_t) {vcvtd_s64_f64 (__a[0])};
15049 }
15050 
15051 __extension__ extern __inline uint64x1_t
15052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_u64_f64(float64x1_t __a)15053 vcvt_u64_f64 (float64x1_t __a)
15054 {
15055   return (uint64x1_t) {vcvtd_u64_f64 (__a[0])};
15056 }
15057 
15058 __extension__ extern __inline int64x2_t
15059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_s64_f64(float64x2_t __a)15060 vcvtq_s64_f64 (float64x2_t __a)
15061 {
15062   return __builtin_aarch64_lbtruncv2dfv2di (__a);
15063 }
15064 
15065 __extension__ extern __inline uint64x2_t
15066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_u64_f64(float64x2_t __a)15067 vcvtq_u64_f64 (float64x2_t __a)
15068 {
15069   return __builtin_aarch64_lbtruncuv2dfv2di_us (__a);
15070 }
15071 
15072 /* vcvta  */
15073 
15074 __extension__ extern __inline int64_t
15075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtad_s64_f64(float64_t __a)15076 vcvtad_s64_f64 (float64_t __a)
15077 {
15078   return __builtin_aarch64_lrounddfdi (__a);
15079 }
15080 
15081 __extension__ extern __inline uint64_t
15082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtad_u64_f64(float64_t __a)15083 vcvtad_u64_f64 (float64_t __a)
15084 {
15085   return __builtin_aarch64_lroundudfdi_us (__a);
15086 }
15087 
15088 __extension__ extern __inline int32_t
15089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtas_s32_f32(float32_t __a)15090 vcvtas_s32_f32 (float32_t __a)
15091 {
15092   return __builtin_aarch64_lroundsfsi (__a);
15093 }
15094 
15095 __extension__ extern __inline uint32_t
15096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtas_u32_f32(float32_t __a)15097 vcvtas_u32_f32 (float32_t __a)
15098 {
15099   return __builtin_aarch64_lroundusfsi_us (__a);
15100 }
15101 
15102 __extension__ extern __inline int32x2_t
15103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_s32_f32(float32x2_t __a)15104 vcvta_s32_f32 (float32x2_t __a)
15105 {
15106   return __builtin_aarch64_lroundv2sfv2si (__a);
15107 }
15108 
15109 __extension__ extern __inline uint32x2_t
15110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_u32_f32(float32x2_t __a)15111 vcvta_u32_f32 (float32x2_t __a)
15112 {
15113   return __builtin_aarch64_lrounduv2sfv2si_us (__a);
15114 }
15115 
15116 __extension__ extern __inline int32x4_t
15117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_s32_f32(float32x4_t __a)15118 vcvtaq_s32_f32 (float32x4_t __a)
15119 {
15120   return __builtin_aarch64_lroundv4sfv4si (__a);
15121 }
15122 
15123 __extension__ extern __inline uint32x4_t
15124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_u32_f32(float32x4_t __a)15125 vcvtaq_u32_f32 (float32x4_t __a)
15126 {
15127   return __builtin_aarch64_lrounduv4sfv4si_us (__a);
15128 }
15129 
15130 __extension__ extern __inline int64x1_t
15131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_s64_f64(float64x1_t __a)15132 vcvta_s64_f64 (float64x1_t __a)
15133 {
15134   return (int64x1_t) {vcvtad_s64_f64 (__a[0])};
15135 }
15136 
15137 __extension__ extern __inline uint64x1_t
15138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_u64_f64(float64x1_t __a)15139 vcvta_u64_f64 (float64x1_t __a)
15140 {
15141   return (uint64x1_t) {vcvtad_u64_f64 (__a[0])};
15142 }
15143 
15144 __extension__ extern __inline int64x2_t
15145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_s64_f64(float64x2_t __a)15146 vcvtaq_s64_f64 (float64x2_t __a)
15147 {
15148   return __builtin_aarch64_lroundv2dfv2di (__a);
15149 }
15150 
15151 __extension__ extern __inline uint64x2_t
15152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_u64_f64(float64x2_t __a)15153 vcvtaq_u64_f64 (float64x2_t __a)
15154 {
15155   return __builtin_aarch64_lrounduv2dfv2di_us (__a);
15156 }
15157 
15158 /* vcvtm  */
15159 
15160 __extension__ extern __inline int64_t
15161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmd_s64_f64(float64_t __a)15162 vcvtmd_s64_f64 (float64_t __a)
15163 {
15164   return __builtin_llfloor (__a);
15165 }
15166 
15167 __extension__ extern __inline uint64_t
15168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmd_u64_f64(float64_t __a)15169 vcvtmd_u64_f64 (float64_t __a)
15170 {
15171   return __builtin_aarch64_lfloorudfdi_us (__a);
15172 }
15173 
15174 __extension__ extern __inline int32_t
15175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtms_s32_f32(float32_t __a)15176 vcvtms_s32_f32 (float32_t __a)
15177 {
15178   return __builtin_ifloorf (__a);
15179 }
15180 
15181 __extension__ extern __inline uint32_t
15182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtms_u32_f32(float32_t __a)15183 vcvtms_u32_f32 (float32_t __a)
15184 {
15185   return __builtin_aarch64_lfloorusfsi_us (__a);
15186 }
15187 
15188 __extension__ extern __inline int32x2_t
15189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_s32_f32(float32x2_t __a)15190 vcvtm_s32_f32 (float32x2_t __a)
15191 {
15192   return __builtin_aarch64_lfloorv2sfv2si (__a);
15193 }
15194 
15195 __extension__ extern __inline uint32x2_t
15196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_u32_f32(float32x2_t __a)15197 vcvtm_u32_f32 (float32x2_t __a)
15198 {
15199   return __builtin_aarch64_lflooruv2sfv2si_us (__a);
15200 }
15201 
15202 __extension__ extern __inline int32x4_t
15203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_s32_f32(float32x4_t __a)15204 vcvtmq_s32_f32 (float32x4_t __a)
15205 {
15206   return __builtin_aarch64_lfloorv4sfv4si (__a);
15207 }
15208 
15209 __extension__ extern __inline uint32x4_t
15210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_u32_f32(float32x4_t __a)15211 vcvtmq_u32_f32 (float32x4_t __a)
15212 {
15213   return __builtin_aarch64_lflooruv4sfv4si_us (__a);
15214 }
15215 
15216 __extension__ extern __inline int64x1_t
15217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_s64_f64(float64x1_t __a)15218 vcvtm_s64_f64 (float64x1_t __a)
15219 {
15220   return (int64x1_t) {vcvtmd_s64_f64 (__a[0])};
15221 }
15222 
15223 __extension__ extern __inline uint64x1_t
15224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_u64_f64(float64x1_t __a)15225 vcvtm_u64_f64 (float64x1_t __a)
15226 {
15227   return (uint64x1_t) {vcvtmd_u64_f64 (__a[0])};
15228 }
15229 
15230 __extension__ extern __inline int64x2_t
15231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_s64_f64(float64x2_t __a)15232 vcvtmq_s64_f64 (float64x2_t __a)
15233 {
15234   return __builtin_aarch64_lfloorv2dfv2di (__a);
15235 }
15236 
15237 __extension__ extern __inline uint64x2_t
15238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_u64_f64(float64x2_t __a)15239 vcvtmq_u64_f64 (float64x2_t __a)
15240 {
15241   return __builtin_aarch64_lflooruv2dfv2di_us (__a);
15242 }
15243 
15244 /* vcvtn  */
15245 
15246 __extension__ extern __inline int64_t
15247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnd_s64_f64(float64_t __a)15248 vcvtnd_s64_f64 (float64_t __a)
15249 {
15250   return __builtin_aarch64_lfrintndfdi (__a);
15251 }
15252 
15253 __extension__ extern __inline uint64_t
15254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnd_u64_f64(float64_t __a)15255 vcvtnd_u64_f64 (float64_t __a)
15256 {
15257   return __builtin_aarch64_lfrintnudfdi_us (__a);
15258 }
15259 
15260 __extension__ extern __inline int32_t
15261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtns_s32_f32(float32_t __a)15262 vcvtns_s32_f32 (float32_t __a)
15263 {
15264   return __builtin_aarch64_lfrintnsfsi (__a);
15265 }
15266 
15267 __extension__ extern __inline uint32_t
15268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtns_u32_f32(float32_t __a)15269 vcvtns_u32_f32 (float32_t __a)
15270 {
15271   return __builtin_aarch64_lfrintnusfsi_us (__a);
15272 }
15273 
15274 __extension__ extern __inline int32x2_t
15275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_s32_f32(float32x2_t __a)15276 vcvtn_s32_f32 (float32x2_t __a)
15277 {
15278   return __builtin_aarch64_lfrintnv2sfv2si (__a);
15279 }
15280 
15281 __extension__ extern __inline uint32x2_t
15282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_u32_f32(float32x2_t __a)15283 vcvtn_u32_f32 (float32x2_t __a)
15284 {
15285   return __builtin_aarch64_lfrintnuv2sfv2si_us (__a);
15286 }
15287 
15288 __extension__ extern __inline int32x4_t
15289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_s32_f32(float32x4_t __a)15290 vcvtnq_s32_f32 (float32x4_t __a)
15291 {
15292   return __builtin_aarch64_lfrintnv4sfv4si (__a);
15293 }
15294 
15295 __extension__ extern __inline uint32x4_t
15296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_u32_f32(float32x4_t __a)15297 vcvtnq_u32_f32 (float32x4_t __a)
15298 {
15299   return __builtin_aarch64_lfrintnuv4sfv4si_us (__a);
15300 }
15301 
15302 __extension__ extern __inline int64x1_t
15303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_s64_f64(float64x1_t __a)15304 vcvtn_s64_f64 (float64x1_t __a)
15305 {
15306   return (int64x1_t) {vcvtnd_s64_f64 (__a[0])};
15307 }
15308 
15309 __extension__ extern __inline uint64x1_t
15310 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_u64_f64(float64x1_t __a)15311 vcvtn_u64_f64 (float64x1_t __a)
15312 {
15313   return (uint64x1_t) {vcvtnd_u64_f64 (__a[0])};
15314 }
15315 
15316 __extension__ extern __inline int64x2_t
15317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_s64_f64(float64x2_t __a)15318 vcvtnq_s64_f64 (float64x2_t __a)
15319 {
15320   return __builtin_aarch64_lfrintnv2dfv2di (__a);
15321 }
15322 
15323 __extension__ extern __inline uint64x2_t
15324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_u64_f64(float64x2_t __a)15325 vcvtnq_u64_f64 (float64x2_t __a)
15326 {
15327   return __builtin_aarch64_lfrintnuv2dfv2di_us (__a);
15328 }
15329 
15330 /* vcvtp  */
15331 
15332 __extension__ extern __inline int64_t
15333 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpd_s64_f64(float64_t __a)15334 vcvtpd_s64_f64 (float64_t __a)
15335 {
15336   return __builtin_llceil (__a);
15337 }
15338 
15339 __extension__ extern __inline uint64_t
15340 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpd_u64_f64(float64_t __a)15341 vcvtpd_u64_f64 (float64_t __a)
15342 {
15343   return __builtin_aarch64_lceiludfdi_us (__a);
15344 }
15345 
15346 __extension__ extern __inline int32_t
15347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtps_s32_f32(float32_t __a)15348 vcvtps_s32_f32 (float32_t __a)
15349 {
15350   return __builtin_iceilf (__a);
15351 }
15352 
15353 __extension__ extern __inline uint32_t
15354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtps_u32_f32(float32_t __a)15355 vcvtps_u32_f32 (float32_t __a)
15356 {
15357   return __builtin_aarch64_lceilusfsi_us (__a);
15358 }
15359 
15360 __extension__ extern __inline int32x2_t
15361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_s32_f32(float32x2_t __a)15362 vcvtp_s32_f32 (float32x2_t __a)
15363 {
15364   return __builtin_aarch64_lceilv2sfv2si (__a);
15365 }
15366 
15367 __extension__ extern __inline uint32x2_t
15368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_u32_f32(float32x2_t __a)15369 vcvtp_u32_f32 (float32x2_t __a)
15370 {
15371   return __builtin_aarch64_lceiluv2sfv2si_us (__a);
15372 }
15373 
15374 __extension__ extern __inline int32x4_t
15375 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_s32_f32(float32x4_t __a)15376 vcvtpq_s32_f32 (float32x4_t __a)
15377 {
15378   return __builtin_aarch64_lceilv4sfv4si (__a);
15379 }
15380 
15381 __extension__ extern __inline uint32x4_t
15382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_u32_f32(float32x4_t __a)15383 vcvtpq_u32_f32 (float32x4_t __a)
15384 {
15385   return __builtin_aarch64_lceiluv4sfv4si_us (__a);
15386 }
15387 
15388 __extension__ extern __inline int64x1_t
15389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_s64_f64(float64x1_t __a)15390 vcvtp_s64_f64 (float64x1_t __a)
15391 {
15392   return (int64x1_t) {vcvtpd_s64_f64 (__a[0])};
15393 }
15394 
15395 __extension__ extern __inline uint64x1_t
15396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_u64_f64(float64x1_t __a)15397 vcvtp_u64_f64 (float64x1_t __a)
15398 {
15399   return (uint64x1_t) {vcvtpd_u64_f64 (__a[0])};
15400 }
15401 
15402 __extension__ extern __inline int64x2_t
15403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_s64_f64(float64x2_t __a)15404 vcvtpq_s64_f64 (float64x2_t __a)
15405 {
15406   return __builtin_aarch64_lceilv2dfv2di (__a);
15407 }
15408 
15409 __extension__ extern __inline uint64x2_t
15410 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_u64_f64(float64x2_t __a)15411 vcvtpq_u64_f64 (float64x2_t __a)
15412 {
15413   return __builtin_aarch64_lceiluv2dfv2di_us (__a);
15414 }
15415 
15416 /* vdup_n  */
15417 
15418 __extension__ extern __inline float16x4_t
15419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_f16(float16_t __a)15420 vdup_n_f16 (float16_t __a)
15421 {
15422   return (float16x4_t) {__a, __a, __a, __a};
15423 }
15424 
15425 __extension__ extern __inline float32x2_t
15426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_f32(float32_t __a)15427 vdup_n_f32 (float32_t __a)
15428 {
15429   return (float32x2_t) {__a, __a};
15430 }
15431 
15432 __extension__ extern __inline float64x1_t
15433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_f64(float64_t __a)15434 vdup_n_f64 (float64_t __a)
15435 {
15436   return (float64x1_t) {__a};
15437 }
15438 
15439 __extension__ extern __inline poly8x8_t
15440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p8(poly8_t __a)15441 vdup_n_p8 (poly8_t __a)
15442 {
15443   return (poly8x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15444 }
15445 
15446 __extension__ extern __inline poly16x4_t
15447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p16(poly16_t __a)15448 vdup_n_p16 (poly16_t __a)
15449 {
15450   return (poly16x4_t) {__a, __a, __a, __a};
15451 }
15452 
15453 __extension__ extern __inline poly64x1_t
15454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p64(poly64_t __a)15455 vdup_n_p64 (poly64_t __a)
15456 {
15457   return (poly64x1_t) {__a};
15458 }
15459 
15460 __extension__ extern __inline int8x8_t
15461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s8(int8_t __a)15462 vdup_n_s8 (int8_t __a)
15463 {
15464   return (int8x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15465 }
15466 
15467 __extension__ extern __inline int16x4_t
15468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s16(int16_t __a)15469 vdup_n_s16 (int16_t __a)
15470 {
15471   return (int16x4_t) {__a, __a, __a, __a};
15472 }
15473 
15474 __extension__ extern __inline int32x2_t
15475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s32(int32_t __a)15476 vdup_n_s32 (int32_t __a)
15477 {
15478   return (int32x2_t) {__a, __a};
15479 }
15480 
15481 __extension__ extern __inline int64x1_t
15482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s64(int64_t __a)15483 vdup_n_s64 (int64_t __a)
15484 {
15485   return (int64x1_t) {__a};
15486 }
15487 
15488 __extension__ extern __inline uint8x8_t
15489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u8(uint8_t __a)15490 vdup_n_u8 (uint8_t __a)
15491 {
15492   return (uint8x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15493 }
15494 
15495 __extension__ extern __inline uint16x4_t
15496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u16(uint16_t __a)15497 vdup_n_u16 (uint16_t __a)
15498 {
15499   return (uint16x4_t) {__a, __a, __a, __a};
15500 }
15501 
15502 __extension__ extern __inline uint32x2_t
15503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u32(uint32_t __a)15504 vdup_n_u32 (uint32_t __a)
15505 {
15506   return (uint32x2_t) {__a, __a};
15507 }
15508 
15509 __extension__ extern __inline uint64x1_t
15510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u64(uint64_t __a)15511 vdup_n_u64 (uint64_t __a)
15512 {
15513   return (uint64x1_t) {__a};
15514 }
15515 
15516 /* vdupq_n  */
15517 
15518 __extension__ extern __inline float16x8_t
15519 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_f16(float16_t __a)15520 vdupq_n_f16 (float16_t __a)
15521 {
15522   return (float16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15523 }
15524 
15525 __extension__ extern __inline float32x4_t
15526 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_f32(float32_t __a)15527 vdupq_n_f32 (float32_t __a)
15528 {
15529   return (float32x4_t) {__a, __a, __a, __a};
15530 }
15531 
15532 __extension__ extern __inline float64x2_t
15533 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_f64(float64_t __a)15534 vdupq_n_f64 (float64_t __a)
15535 {
15536   return (float64x2_t) {__a, __a};
15537 }
15538 
15539 __extension__ extern __inline poly8x16_t
15540 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p8(uint32_t __a)15541 vdupq_n_p8 (uint32_t __a)
15542 {
15543   return (poly8x16_t) {__a, __a, __a, __a, __a, __a, __a, __a,
15544 		       __a, __a, __a, __a, __a, __a, __a, __a};
15545 }
15546 
15547 __extension__ extern __inline poly16x8_t
15548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p16(uint32_t __a)15549 vdupq_n_p16 (uint32_t __a)
15550 {
15551   return (poly16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15552 }
15553 
15554 __extension__ extern __inline poly64x2_t
15555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p64(uint64_t __a)15556 vdupq_n_p64 (uint64_t __a)
15557 {
15558   return (poly64x2_t) {__a, __a};
15559 }
15560 
15561 __extension__ extern __inline int8x16_t
15562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s8(int32_t __a)15563 vdupq_n_s8 (int32_t __a)
15564 {
15565   return (int8x16_t) {__a, __a, __a, __a, __a, __a, __a, __a,
15566 		      __a, __a, __a, __a, __a, __a, __a, __a};
15567 }
15568 
15569 __extension__ extern __inline int16x8_t
15570 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s16(int32_t __a)15571 vdupq_n_s16 (int32_t __a)
15572 {
15573   return (int16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15574 }
15575 
15576 __extension__ extern __inline int32x4_t
15577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s32(int32_t __a)15578 vdupq_n_s32 (int32_t __a)
15579 {
15580   return (int32x4_t) {__a, __a, __a, __a};
15581 }
15582 
15583 __extension__ extern __inline int64x2_t
15584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s64(int64_t __a)15585 vdupq_n_s64 (int64_t __a)
15586 {
15587   return (int64x2_t) {__a, __a};
15588 }
15589 
15590 __extension__ extern __inline uint8x16_t
15591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u8(uint32_t __a)15592 vdupq_n_u8 (uint32_t __a)
15593 {
15594   return (uint8x16_t) {__a, __a, __a, __a, __a, __a, __a, __a,
15595 		       __a, __a, __a, __a, __a, __a, __a, __a};
15596 }
15597 
15598 __extension__ extern __inline uint16x8_t
15599 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u16(uint32_t __a)15600 vdupq_n_u16 (uint32_t __a)
15601 {
15602   return (uint16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
15603 }
15604 
15605 __extension__ extern __inline uint32x4_t
15606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u32(uint32_t __a)15607 vdupq_n_u32 (uint32_t __a)
15608 {
15609   return (uint32x4_t) {__a, __a, __a, __a};
15610 }
15611 
15612 __extension__ extern __inline uint64x2_t
15613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u64(uint64_t __a)15614 vdupq_n_u64 (uint64_t __a)
15615 {
15616   return (uint64x2_t) {__a, __a};
15617 }
15618 
15619 /* vdup_lane  */
15620 
15621 __extension__ extern __inline float16x4_t
15622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_f16(float16x4_t __a,const int __b)15623 vdup_lane_f16 (float16x4_t __a, const int __b)
15624 {
15625   return __aarch64_vdup_lane_f16 (__a, __b);
15626 }
15627 
15628 __extension__ extern __inline float32x2_t
15629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_f32(float32x2_t __a,const int __b)15630 vdup_lane_f32 (float32x2_t __a, const int __b)
15631 {
15632   return __aarch64_vdup_lane_f32 (__a, __b);
15633 }
15634 
15635 __extension__ extern __inline float64x1_t
15636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_f64(float64x1_t __a,const int __b)15637 vdup_lane_f64 (float64x1_t __a, const int __b)
15638 {
15639   return __aarch64_vdup_lane_f64 (__a, __b);
15640 }
15641 
15642 __extension__ extern __inline poly8x8_t
15643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p8(poly8x8_t __a,const int __b)15644 vdup_lane_p8 (poly8x8_t __a, const int __b)
15645 {
15646   return __aarch64_vdup_lane_p8 (__a, __b);
15647 }
15648 
15649 __extension__ extern __inline poly16x4_t
15650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p16(poly16x4_t __a,const int __b)15651 vdup_lane_p16 (poly16x4_t __a, const int __b)
15652 {
15653   return __aarch64_vdup_lane_p16 (__a, __b);
15654 }
15655 
15656 __extension__ extern __inline poly64x1_t
15657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p64(poly64x1_t __a,const int __b)15658 vdup_lane_p64 (poly64x1_t __a, const int __b)
15659 {
15660   return __aarch64_vdup_lane_p64 (__a, __b);
15661 }
15662 
15663 __extension__ extern __inline int8x8_t
15664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s8(int8x8_t __a,const int __b)15665 vdup_lane_s8 (int8x8_t __a, const int __b)
15666 {
15667   return __aarch64_vdup_lane_s8 (__a, __b);
15668 }
15669 
15670 __extension__ extern __inline int16x4_t
15671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s16(int16x4_t __a,const int __b)15672 vdup_lane_s16 (int16x4_t __a, const int __b)
15673 {
15674   return __aarch64_vdup_lane_s16 (__a, __b);
15675 }
15676 
15677 __extension__ extern __inline int32x2_t
15678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s32(int32x2_t __a,const int __b)15679 vdup_lane_s32 (int32x2_t __a, const int __b)
15680 {
15681   return __aarch64_vdup_lane_s32 (__a, __b);
15682 }
15683 
15684 __extension__ extern __inline int64x1_t
15685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s64(int64x1_t __a,const int __b)15686 vdup_lane_s64 (int64x1_t __a, const int __b)
15687 {
15688   return __aarch64_vdup_lane_s64 (__a, __b);
15689 }
15690 
15691 __extension__ extern __inline uint8x8_t
15692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u8(uint8x8_t __a,const int __b)15693 vdup_lane_u8 (uint8x8_t __a, const int __b)
15694 {
15695   return __aarch64_vdup_lane_u8 (__a, __b);
15696 }
15697 
15698 __extension__ extern __inline uint16x4_t
15699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u16(uint16x4_t __a,const int __b)15700 vdup_lane_u16 (uint16x4_t __a, const int __b)
15701 {
15702   return __aarch64_vdup_lane_u16 (__a, __b);
15703 }
15704 
15705 __extension__ extern __inline uint32x2_t
15706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u32(uint32x2_t __a,const int __b)15707 vdup_lane_u32 (uint32x2_t __a, const int __b)
15708 {
15709   return __aarch64_vdup_lane_u32 (__a, __b);
15710 }
15711 
15712 __extension__ extern __inline uint64x1_t
15713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u64(uint64x1_t __a,const int __b)15714 vdup_lane_u64 (uint64x1_t __a, const int __b)
15715 {
15716   return __aarch64_vdup_lane_u64 (__a, __b);
15717 }
15718 
15719 /* vdup_laneq  */
15720 
15721 __extension__ extern __inline float16x4_t
15722 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_f16(float16x8_t __a,const int __b)15723 vdup_laneq_f16 (float16x8_t __a, const int __b)
15724 {
15725   return __aarch64_vdup_laneq_f16 (__a, __b);
15726 }
15727 
15728 __extension__ extern __inline float32x2_t
15729 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_f32(float32x4_t __a,const int __b)15730 vdup_laneq_f32 (float32x4_t __a, const int __b)
15731 {
15732   return __aarch64_vdup_laneq_f32 (__a, __b);
15733 }
15734 
15735 __extension__ extern __inline float64x1_t
15736 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_f64(float64x2_t __a,const int __b)15737 vdup_laneq_f64 (float64x2_t __a, const int __b)
15738 {
15739   return __aarch64_vdup_laneq_f64 (__a, __b);
15740 }
15741 
15742 __extension__ extern __inline poly8x8_t
15743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_p8(poly8x16_t __a,const int __b)15744 vdup_laneq_p8 (poly8x16_t __a, const int __b)
15745 {
15746   return __aarch64_vdup_laneq_p8 (__a, __b);
15747 }
15748 
15749 __extension__ extern __inline poly16x4_t
15750 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_p16(poly16x8_t __a,const int __b)15751 vdup_laneq_p16 (poly16x8_t __a, const int __b)
15752 {
15753   return __aarch64_vdup_laneq_p16 (__a, __b);
15754 }
15755 
15756 __extension__ extern __inline poly64x1_t
15757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_p64(poly64x2_t __a,const int __b)15758 vdup_laneq_p64 (poly64x2_t __a, const int __b)
15759 {
15760   return __aarch64_vdup_laneq_p64 (__a, __b);
15761 }
15762 
15763 __extension__ extern __inline int8x8_t
15764 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_s8(int8x16_t __a,const int __b)15765 vdup_laneq_s8 (int8x16_t __a, const int __b)
15766 {
15767   return __aarch64_vdup_laneq_s8 (__a, __b);
15768 }
15769 
15770 __extension__ extern __inline int16x4_t
15771 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_s16(int16x8_t __a,const int __b)15772 vdup_laneq_s16 (int16x8_t __a, const int __b)
15773 {
15774   return __aarch64_vdup_laneq_s16 (__a, __b);
15775 }
15776 
15777 __extension__ extern __inline int32x2_t
15778 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_s32(int32x4_t __a,const int __b)15779 vdup_laneq_s32 (int32x4_t __a, const int __b)
15780 {
15781   return __aarch64_vdup_laneq_s32 (__a, __b);
15782 }
15783 
15784 __extension__ extern __inline int64x1_t
15785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_s64(int64x2_t __a,const int __b)15786 vdup_laneq_s64 (int64x2_t __a, const int __b)
15787 {
15788   return __aarch64_vdup_laneq_s64 (__a, __b);
15789 }
15790 
15791 __extension__ extern __inline uint8x8_t
15792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_u8(uint8x16_t __a,const int __b)15793 vdup_laneq_u8 (uint8x16_t __a, const int __b)
15794 {
15795   return __aarch64_vdup_laneq_u8 (__a, __b);
15796 }
15797 
15798 __extension__ extern __inline uint16x4_t
15799 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_u16(uint16x8_t __a,const int __b)15800 vdup_laneq_u16 (uint16x8_t __a, const int __b)
15801 {
15802   return __aarch64_vdup_laneq_u16 (__a, __b);
15803 }
15804 
15805 __extension__ extern __inline uint32x2_t
15806 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_u32(uint32x4_t __a,const int __b)15807 vdup_laneq_u32 (uint32x4_t __a, const int __b)
15808 {
15809   return __aarch64_vdup_laneq_u32 (__a, __b);
15810 }
15811 
15812 __extension__ extern __inline uint64x1_t
15813 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_u64(uint64x2_t __a,const int __b)15814 vdup_laneq_u64 (uint64x2_t __a, const int __b)
15815 {
15816   return __aarch64_vdup_laneq_u64 (__a, __b);
15817 }
15818 
15819 /* vdupq_lane  */
15820 
15821 __extension__ extern __inline float16x8_t
15822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_f16(float16x4_t __a,const int __b)15823 vdupq_lane_f16 (float16x4_t __a, const int __b)
15824 {
15825   return __aarch64_vdupq_lane_f16 (__a, __b);
15826 }
15827 
15828 __extension__ extern __inline float32x4_t
15829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_f32(float32x2_t __a,const int __b)15830 vdupq_lane_f32 (float32x2_t __a, const int __b)
15831 {
15832   return __aarch64_vdupq_lane_f32 (__a, __b);
15833 }
15834 
15835 __extension__ extern __inline float64x2_t
15836 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_f64(float64x1_t __a,const int __b)15837 vdupq_lane_f64 (float64x1_t __a, const int __b)
15838 {
15839   return __aarch64_vdupq_lane_f64 (__a, __b);
15840 }
15841 
15842 __extension__ extern __inline poly8x16_t
15843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p8(poly8x8_t __a,const int __b)15844 vdupq_lane_p8 (poly8x8_t __a, const int __b)
15845 {
15846   return __aarch64_vdupq_lane_p8 (__a, __b);
15847 }
15848 
15849 __extension__ extern __inline poly16x8_t
15850 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p16(poly16x4_t __a,const int __b)15851 vdupq_lane_p16 (poly16x4_t __a, const int __b)
15852 {
15853   return __aarch64_vdupq_lane_p16 (__a, __b);
15854 }
15855 
15856 __extension__ extern __inline poly64x2_t
15857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p64(poly64x1_t __a,const int __b)15858 vdupq_lane_p64 (poly64x1_t __a, const int __b)
15859 {
15860   return __aarch64_vdupq_lane_p64 (__a, __b);
15861 }
15862 
15863 __extension__ extern __inline int8x16_t
15864 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s8(int8x8_t __a,const int __b)15865 vdupq_lane_s8 (int8x8_t __a, const int __b)
15866 {
15867   return __aarch64_vdupq_lane_s8 (__a, __b);
15868 }
15869 
15870 __extension__ extern __inline int16x8_t
15871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s16(int16x4_t __a,const int __b)15872 vdupq_lane_s16 (int16x4_t __a, const int __b)
15873 {
15874   return __aarch64_vdupq_lane_s16 (__a, __b);
15875 }
15876 
15877 __extension__ extern __inline int32x4_t
15878 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s32(int32x2_t __a,const int __b)15879 vdupq_lane_s32 (int32x2_t __a, const int __b)
15880 {
15881   return __aarch64_vdupq_lane_s32 (__a, __b);
15882 }
15883 
15884 __extension__ extern __inline int64x2_t
15885 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s64(int64x1_t __a,const int __b)15886 vdupq_lane_s64 (int64x1_t __a, const int __b)
15887 {
15888   return __aarch64_vdupq_lane_s64 (__a, __b);
15889 }
15890 
15891 __extension__ extern __inline uint8x16_t
15892 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u8(uint8x8_t __a,const int __b)15893 vdupq_lane_u8 (uint8x8_t __a, const int __b)
15894 {
15895   return __aarch64_vdupq_lane_u8 (__a, __b);
15896 }
15897 
15898 __extension__ extern __inline uint16x8_t
15899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u16(uint16x4_t __a,const int __b)15900 vdupq_lane_u16 (uint16x4_t __a, const int __b)
15901 {
15902   return __aarch64_vdupq_lane_u16 (__a, __b);
15903 }
15904 
15905 __extension__ extern __inline uint32x4_t
15906 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u32(uint32x2_t __a,const int __b)15907 vdupq_lane_u32 (uint32x2_t __a, const int __b)
15908 {
15909   return __aarch64_vdupq_lane_u32 (__a, __b);
15910 }
15911 
15912 __extension__ extern __inline uint64x2_t
15913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u64(uint64x1_t __a,const int __b)15914 vdupq_lane_u64 (uint64x1_t __a, const int __b)
15915 {
15916   return __aarch64_vdupq_lane_u64 (__a, __b);
15917 }
15918 
15919 /* vdupq_laneq  */
15920 
15921 __extension__ extern __inline float16x8_t
15922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_f16(float16x8_t __a,const int __b)15923 vdupq_laneq_f16 (float16x8_t __a, const int __b)
15924 {
15925   return __aarch64_vdupq_laneq_f16 (__a, __b);
15926 }
15927 
15928 __extension__ extern __inline float32x4_t
15929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_f32(float32x4_t __a,const int __b)15930 vdupq_laneq_f32 (float32x4_t __a, const int __b)
15931 {
15932   return __aarch64_vdupq_laneq_f32 (__a, __b);
15933 }
15934 
15935 __extension__ extern __inline float64x2_t
15936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_f64(float64x2_t __a,const int __b)15937 vdupq_laneq_f64 (float64x2_t __a, const int __b)
15938 {
15939   return __aarch64_vdupq_laneq_f64 (__a, __b);
15940 }
15941 
15942 __extension__ extern __inline poly8x16_t
15943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_p8(poly8x16_t __a,const int __b)15944 vdupq_laneq_p8 (poly8x16_t __a, const int __b)
15945 {
15946   return __aarch64_vdupq_laneq_p8 (__a, __b);
15947 }
15948 
15949 __extension__ extern __inline poly16x8_t
15950 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_p16(poly16x8_t __a,const int __b)15951 vdupq_laneq_p16 (poly16x8_t __a, const int __b)
15952 {
15953   return __aarch64_vdupq_laneq_p16 (__a, __b);
15954 }
15955 
15956 __extension__ extern __inline poly64x2_t
15957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_p64(poly64x2_t __a,const int __b)15958 vdupq_laneq_p64 (poly64x2_t __a, const int __b)
15959 {
15960   return __aarch64_vdupq_laneq_p64 (__a, __b);
15961 }
15962 
15963 __extension__ extern __inline int8x16_t
15964 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_s8(int8x16_t __a,const int __b)15965 vdupq_laneq_s8 (int8x16_t __a, const int __b)
15966 {
15967   return __aarch64_vdupq_laneq_s8 (__a, __b);
15968 }
15969 
15970 __extension__ extern __inline int16x8_t
15971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_s16(int16x8_t __a,const int __b)15972 vdupq_laneq_s16 (int16x8_t __a, const int __b)
15973 {
15974   return __aarch64_vdupq_laneq_s16 (__a, __b);
15975 }
15976 
15977 __extension__ extern __inline int32x4_t
15978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_s32(int32x4_t __a,const int __b)15979 vdupq_laneq_s32 (int32x4_t __a, const int __b)
15980 {
15981   return __aarch64_vdupq_laneq_s32 (__a, __b);
15982 }
15983 
15984 __extension__ extern __inline int64x2_t
15985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_s64(int64x2_t __a,const int __b)15986 vdupq_laneq_s64 (int64x2_t __a, const int __b)
15987 {
15988   return __aarch64_vdupq_laneq_s64 (__a, __b);
15989 }
15990 
15991 __extension__ extern __inline uint8x16_t
15992 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_u8(uint8x16_t __a,const int __b)15993 vdupq_laneq_u8 (uint8x16_t __a, const int __b)
15994 {
15995   return __aarch64_vdupq_laneq_u8 (__a, __b);
15996 }
15997 
15998 __extension__ extern __inline uint16x8_t
15999 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_u16(uint16x8_t __a,const int __b)16000 vdupq_laneq_u16 (uint16x8_t __a, const int __b)
16001 {
16002   return __aarch64_vdupq_laneq_u16 (__a, __b);
16003 }
16004 
16005 __extension__ extern __inline uint32x4_t
16006 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_u32(uint32x4_t __a,const int __b)16007 vdupq_laneq_u32 (uint32x4_t __a, const int __b)
16008 {
16009   return __aarch64_vdupq_laneq_u32 (__a, __b);
16010 }
16011 
16012 __extension__ extern __inline uint64x2_t
16013 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_u64(uint64x2_t __a,const int __b)16014 vdupq_laneq_u64 (uint64x2_t __a, const int __b)
16015 {
16016   return __aarch64_vdupq_laneq_u64 (__a, __b);
16017 }
16018 
16019 /* vdupb_lane  */
16020 __extension__ extern __inline poly8_t
16021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_lane_p8(poly8x8_t __a,const int __b)16022 vdupb_lane_p8 (poly8x8_t __a, const int __b)
16023 {
16024   return __aarch64_vget_lane_any (__a, __b);
16025 }
16026 
16027 __extension__ extern __inline int8_t
16028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_lane_s8(int8x8_t __a,const int __b)16029 vdupb_lane_s8 (int8x8_t __a, const int __b)
16030 {
16031   return __aarch64_vget_lane_any (__a, __b);
16032 }
16033 
16034 __extension__ extern __inline uint8_t
16035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_lane_u8(uint8x8_t __a,const int __b)16036 vdupb_lane_u8 (uint8x8_t __a, const int __b)
16037 {
16038   return __aarch64_vget_lane_any (__a, __b);
16039 }
16040 
16041 /* vduph_lane  */
16042 
16043 __extension__ extern __inline float16_t
16044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_f16(float16x4_t __a,const int __b)16045 vduph_lane_f16 (float16x4_t __a, const int __b)
16046 {
16047   return __aarch64_vget_lane_any (__a, __b);
16048 }
16049 
16050 __extension__ extern __inline poly16_t
16051 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_p16(poly16x4_t __a,const int __b)16052 vduph_lane_p16 (poly16x4_t __a, const int __b)
16053 {
16054   return __aarch64_vget_lane_any (__a, __b);
16055 }
16056 
16057 __extension__ extern __inline int16_t
16058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_s16(int16x4_t __a,const int __b)16059 vduph_lane_s16 (int16x4_t __a, const int __b)
16060 {
16061   return __aarch64_vget_lane_any (__a, __b);
16062 }
16063 
16064 __extension__ extern __inline uint16_t
16065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_u16(uint16x4_t __a,const int __b)16066 vduph_lane_u16 (uint16x4_t __a, const int __b)
16067 {
16068   return __aarch64_vget_lane_any (__a, __b);
16069 }
16070 
16071 /* vdups_lane  */
16072 
16073 __extension__ extern __inline float32_t
16074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_lane_f32(float32x2_t __a,const int __b)16075 vdups_lane_f32 (float32x2_t __a, const int __b)
16076 {
16077   return __aarch64_vget_lane_any (__a, __b);
16078 }
16079 
16080 __extension__ extern __inline int32_t
16081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_lane_s32(int32x2_t __a,const int __b)16082 vdups_lane_s32 (int32x2_t __a, const int __b)
16083 {
16084   return __aarch64_vget_lane_any (__a, __b);
16085 }
16086 
16087 __extension__ extern __inline uint32_t
16088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_lane_u32(uint32x2_t __a,const int __b)16089 vdups_lane_u32 (uint32x2_t __a, const int __b)
16090 {
16091   return __aarch64_vget_lane_any (__a, __b);
16092 }
16093 
16094 /* vdupd_lane  */
16095 __extension__ extern __inline float64_t
16096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_lane_f64(float64x1_t __a,const int __b)16097 vdupd_lane_f64 (float64x1_t __a, const int __b)
16098 {
16099   __AARCH64_LANE_CHECK (__a, __b);
16100   return __a[0];
16101 }
16102 
16103 __extension__ extern __inline int64_t
16104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_lane_s64(int64x1_t __a,const int __b)16105 vdupd_lane_s64 (int64x1_t __a, const int __b)
16106 {
16107   __AARCH64_LANE_CHECK (__a, __b);
16108   return __a[0];
16109 }
16110 
16111 __extension__ extern __inline uint64_t
16112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_lane_u64(uint64x1_t __a,const int __b)16113 vdupd_lane_u64 (uint64x1_t __a, const int __b)
16114 {
16115   __AARCH64_LANE_CHECK (__a, __b);
16116   return __a[0];
16117 }
16118 
16119 /* vdupb_laneq  */
16120 __extension__ extern __inline poly8_t
16121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_laneq_p8(poly8x16_t __a,const int __b)16122 vdupb_laneq_p8 (poly8x16_t __a, const int __b)
16123 {
16124   return __aarch64_vget_lane_any (__a, __b);
16125 }
16126 
16127 __extension__ extern __inline int8_t
16128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_laneq_s8(int8x16_t __a,const int __b)16129 vdupb_laneq_s8 (int8x16_t __a, const int __b)
16130 {
16131   return __aarch64_vget_lane_any (__a, __b);
16132 }
16133 
16134 __extension__ extern __inline uint8_t
16135 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_laneq_u8(uint8x16_t __a,const int __b)16136 vdupb_laneq_u8 (uint8x16_t __a, const int __b)
16137 {
16138   return __aarch64_vget_lane_any (__a, __b);
16139 }
16140 
16141 /* vduph_laneq  */
16142 
16143 __extension__ extern __inline float16_t
16144 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_f16(float16x8_t __a,const int __b)16145 vduph_laneq_f16 (float16x8_t __a, const int __b)
16146 {
16147   return __aarch64_vget_lane_any (__a, __b);
16148 }
16149 
16150 __extension__ extern __inline poly16_t
16151 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_p16(poly16x8_t __a,const int __b)16152 vduph_laneq_p16 (poly16x8_t __a, const int __b)
16153 {
16154   return __aarch64_vget_lane_any (__a, __b);
16155 }
16156 
16157 __extension__ extern __inline int16_t
16158 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_s16(int16x8_t __a,const int __b)16159 vduph_laneq_s16 (int16x8_t __a, const int __b)
16160 {
16161   return __aarch64_vget_lane_any (__a, __b);
16162 }
16163 
16164 __extension__ extern __inline uint16_t
16165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_u16(uint16x8_t __a,const int __b)16166 vduph_laneq_u16 (uint16x8_t __a, const int __b)
16167 {
16168   return __aarch64_vget_lane_any (__a, __b);
16169 }
16170 
16171 /* vdups_laneq  */
16172 
16173 __extension__ extern __inline float32_t
16174 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_laneq_f32(float32x4_t __a,const int __b)16175 vdups_laneq_f32 (float32x4_t __a, const int __b)
16176 {
16177   return __aarch64_vget_lane_any (__a, __b);
16178 }
16179 
16180 __extension__ extern __inline int32_t
16181 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_laneq_s32(int32x4_t __a,const int __b)16182 vdups_laneq_s32 (int32x4_t __a, const int __b)
16183 {
16184   return __aarch64_vget_lane_any (__a, __b);
16185 }
16186 
16187 __extension__ extern __inline uint32_t
16188 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_laneq_u32(uint32x4_t __a,const int __b)16189 vdups_laneq_u32 (uint32x4_t __a, const int __b)
16190 {
16191   return __aarch64_vget_lane_any (__a, __b);
16192 }
16193 
16194 /* vdupd_laneq  */
16195 __extension__ extern __inline float64_t
16196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_laneq_f64(float64x2_t __a,const int __b)16197 vdupd_laneq_f64 (float64x2_t __a, const int __b)
16198 {
16199   return __aarch64_vget_lane_any (__a, __b);
16200 }
16201 
16202 __extension__ extern __inline int64_t
16203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_laneq_s64(int64x2_t __a,const int __b)16204 vdupd_laneq_s64 (int64x2_t __a, const int __b)
16205 {
16206   return __aarch64_vget_lane_any (__a, __b);
16207 }
16208 
16209 __extension__ extern __inline uint64_t
16210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_laneq_u64(uint64x2_t __a,const int __b)16211 vdupd_laneq_u64 (uint64x2_t __a, const int __b)
16212 {
16213   return __aarch64_vget_lane_any (__a, __b);
16214 }
16215 
16216 /* vext  */
16217 
16218 __extension__ extern __inline float16x4_t
16219 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_f16(float16x4_t __a,float16x4_t __b,__const int __c)16220 vext_f16 (float16x4_t __a, float16x4_t __b, __const int __c)
16221 {
16222   __AARCH64_LANE_CHECK (__a, __c);
16223 #ifdef __AARCH64EB__
16224   return __builtin_shuffle (__b, __a,
16225 			    (uint16x4_t) {4 - __c, 5 - __c, 6 - __c, 7 - __c});
16226 #else
16227   return __builtin_shuffle (__a, __b,
16228 			    (uint16x4_t) {__c, __c + 1, __c + 2, __c + 3});
16229 #endif
16230 }
16231 
16232 __extension__ extern __inline float32x2_t
16233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_f32(float32x2_t __a,float32x2_t __b,__const int __c)16234 vext_f32 (float32x2_t __a, float32x2_t __b, __const int __c)
16235 {
16236   __AARCH64_LANE_CHECK (__a, __c);
16237 #ifdef __AARCH64EB__
16238   return __builtin_shuffle (__b, __a, (uint32x2_t) {2-__c, 3-__c});
16239 #else
16240   return __builtin_shuffle (__a, __b, (uint32x2_t) {__c, __c+1});
16241 #endif
16242 }
16243 
16244 __extension__ extern __inline float64x1_t
16245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_f64(float64x1_t __a,float64x1_t __b,__const int __c)16246 vext_f64 (float64x1_t __a, float64x1_t __b, __const int __c)
16247 {
16248   __AARCH64_LANE_CHECK (__a, __c);
16249   /* The only possible index to the assembler instruction returns element 0.  */
16250   return __a;
16251 }
16252 __extension__ extern __inline poly8x8_t
16253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_p8(poly8x8_t __a,poly8x8_t __b,__const int __c)16254 vext_p8 (poly8x8_t __a, poly8x8_t __b, __const int __c)
16255 {
16256   __AARCH64_LANE_CHECK (__a, __c);
16257 #ifdef __AARCH64EB__
16258   return __builtin_shuffle (__b, __a, (uint8x8_t)
16259       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
16260 #else
16261   return __builtin_shuffle (__a, __b,
16262       (uint8x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
16263 #endif
16264 }
16265 
16266 __extension__ extern __inline poly16x4_t
16267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_p16(poly16x4_t __a,poly16x4_t __b,__const int __c)16268 vext_p16 (poly16x4_t __a, poly16x4_t __b, __const int __c)
16269 {
16270   __AARCH64_LANE_CHECK (__a, __c);
16271 #ifdef __AARCH64EB__
16272   return __builtin_shuffle (__b, __a,
16273       (uint16x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
16274 #else
16275   return __builtin_shuffle (__a, __b, (uint16x4_t) {__c, __c+1, __c+2, __c+3});
16276 #endif
16277 }
16278 
16279 __extension__ extern __inline poly64x1_t
16280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_p64(poly64x1_t __a,poly64x1_t __b,__const int __c)16281 vext_p64 (poly64x1_t __a, poly64x1_t __b, __const int __c)
16282 {
16283   __AARCH64_LANE_CHECK (__a, __c);
16284   /* The only possible index to the assembler instruction returns element 0.  */
16285   return __a;
16286 }
16287 
16288 __extension__ extern __inline int8x8_t
16289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_s8(int8x8_t __a,int8x8_t __b,__const int __c)16290 vext_s8 (int8x8_t __a, int8x8_t __b, __const int __c)
16291 {
16292   __AARCH64_LANE_CHECK (__a, __c);
16293 #ifdef __AARCH64EB__
16294   return __builtin_shuffle (__b, __a, (uint8x8_t)
16295       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
16296 #else
16297   return __builtin_shuffle (__a, __b,
16298       (uint8x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
16299 #endif
16300 }
16301 
16302 __extension__ extern __inline int16x4_t
16303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_s16(int16x4_t __a,int16x4_t __b,__const int __c)16304 vext_s16 (int16x4_t __a, int16x4_t __b, __const int __c)
16305 {
16306   __AARCH64_LANE_CHECK (__a, __c);
16307 #ifdef __AARCH64EB__
16308   return __builtin_shuffle (__b, __a,
16309       (uint16x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
16310 #else
16311   return __builtin_shuffle (__a, __b, (uint16x4_t) {__c, __c+1, __c+2, __c+3});
16312 #endif
16313 }
16314 
16315 __extension__ extern __inline int32x2_t
16316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_s32(int32x2_t __a,int32x2_t __b,__const int __c)16317 vext_s32 (int32x2_t __a, int32x2_t __b, __const int __c)
16318 {
16319   __AARCH64_LANE_CHECK (__a, __c);
16320 #ifdef __AARCH64EB__
16321   return __builtin_shuffle (__b, __a, (uint32x2_t) {2-__c, 3-__c});
16322 #else
16323   return __builtin_shuffle (__a, __b, (uint32x2_t) {__c, __c+1});
16324 #endif
16325 }
16326 
16327 __extension__ extern __inline int64x1_t
16328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_s64(int64x1_t __a,int64x1_t __b,__const int __c)16329 vext_s64 (int64x1_t __a, int64x1_t __b, __const int __c)
16330 {
16331   __AARCH64_LANE_CHECK (__a, __c);
16332   /* The only possible index to the assembler instruction returns element 0.  */
16333   return __a;
16334 }
16335 
16336 __extension__ extern __inline uint8x8_t
16337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_u8(uint8x8_t __a,uint8x8_t __b,__const int __c)16338 vext_u8 (uint8x8_t __a, uint8x8_t __b, __const int __c)
16339 {
16340   __AARCH64_LANE_CHECK (__a, __c);
16341 #ifdef __AARCH64EB__
16342   return __builtin_shuffle (__b, __a, (uint8x8_t)
16343       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
16344 #else
16345   return __builtin_shuffle (__a, __b,
16346       (uint8x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
16347 #endif
16348 }
16349 
16350 __extension__ extern __inline uint16x4_t
16351 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_u16(uint16x4_t __a,uint16x4_t __b,__const int __c)16352 vext_u16 (uint16x4_t __a, uint16x4_t __b, __const int __c)
16353 {
16354   __AARCH64_LANE_CHECK (__a, __c);
16355 #ifdef __AARCH64EB__
16356   return __builtin_shuffle (__b, __a,
16357       (uint16x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
16358 #else
16359   return __builtin_shuffle (__a, __b, (uint16x4_t) {__c, __c+1, __c+2, __c+3});
16360 #endif
16361 }
16362 
16363 __extension__ extern __inline uint32x2_t
16364 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_u32(uint32x2_t __a,uint32x2_t __b,__const int __c)16365 vext_u32 (uint32x2_t __a, uint32x2_t __b, __const int __c)
16366 {
16367   __AARCH64_LANE_CHECK (__a, __c);
16368 #ifdef __AARCH64EB__
16369   return __builtin_shuffle (__b, __a, (uint32x2_t) {2-__c, 3-__c});
16370 #else
16371   return __builtin_shuffle (__a, __b, (uint32x2_t) {__c, __c+1});
16372 #endif
16373 }
16374 
16375 __extension__ extern __inline uint64x1_t
16376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_u64(uint64x1_t __a,uint64x1_t __b,__const int __c)16377 vext_u64 (uint64x1_t __a, uint64x1_t __b, __const int __c)
16378 {
16379   __AARCH64_LANE_CHECK (__a, __c);
16380   /* The only possible index to the assembler instruction returns element 0.  */
16381   return __a;
16382 }
16383 
16384 __extension__ extern __inline float16x8_t
16385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_f16(float16x8_t __a,float16x8_t __b,__const int __c)16386 vextq_f16 (float16x8_t __a, float16x8_t __b, __const int __c)
16387 {
16388   __AARCH64_LANE_CHECK (__a, __c);
16389 #ifdef __AARCH64EB__
16390   return __builtin_shuffle (__b, __a,
16391 			    (uint16x8_t) {8 - __c, 9 - __c, 10 - __c, 11 - __c,
16392 					  12 - __c, 13 - __c, 14 - __c,
16393 					  15 - __c});
16394 #else
16395   return __builtin_shuffle (__a, __b,
16396 			    (uint16x8_t) {__c, __c + 1, __c + 2, __c + 3,
16397 					  __c + 4, __c + 5, __c + 6, __c + 7});
16398 #endif
16399 }
16400 
16401 __extension__ extern __inline float32x4_t
16402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_f32(float32x4_t __a,float32x4_t __b,__const int __c)16403 vextq_f32 (float32x4_t __a, float32x4_t __b, __const int __c)
16404 {
16405   __AARCH64_LANE_CHECK (__a, __c);
16406 #ifdef __AARCH64EB__
16407   return __builtin_shuffle (__b, __a,
16408       (uint32x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
16409 #else
16410   return __builtin_shuffle (__a, __b, (uint32x4_t) {__c, __c+1, __c+2, __c+3});
16411 #endif
16412 }
16413 
16414 __extension__ extern __inline float64x2_t
16415 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_f64(float64x2_t __a,float64x2_t __b,__const int __c)16416 vextq_f64 (float64x2_t __a, float64x2_t __b, __const int __c)
16417 {
16418   __AARCH64_LANE_CHECK (__a, __c);
16419 #ifdef __AARCH64EB__
16420   return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
16421 #else
16422   return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
16423 #endif
16424 }
16425 
16426 __extension__ extern __inline poly8x16_t
16427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p8(poly8x16_t __a,poly8x16_t __b,__const int __c)16428 vextq_p8 (poly8x16_t __a, poly8x16_t __b, __const int __c)
16429 {
16430   __AARCH64_LANE_CHECK (__a, __c);
16431 #ifdef __AARCH64EB__
16432   return __builtin_shuffle (__b, __a, (uint8x16_t)
16433       {16-__c, 17-__c, 18-__c, 19-__c, 20-__c, 21-__c, 22-__c, 23-__c,
16434        24-__c, 25-__c, 26-__c, 27-__c, 28-__c, 29-__c, 30-__c, 31-__c});
16435 #else
16436   return __builtin_shuffle (__a, __b, (uint8x16_t)
16437       {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
16438        __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15});
16439 #endif
16440 }
16441 
16442 __extension__ extern __inline poly16x8_t
16443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p16(poly16x8_t __a,poly16x8_t __b,__const int __c)16444 vextq_p16 (poly16x8_t __a, poly16x8_t __b, __const int __c)
16445 {
16446   __AARCH64_LANE_CHECK (__a, __c);
16447 #ifdef __AARCH64EB__
16448   return __builtin_shuffle (__b, __a, (uint16x8_t)
16449       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
16450 #else
16451   return __builtin_shuffle (__a, __b,
16452       (uint16x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
16453 #endif
16454 }
16455 
16456 __extension__ extern __inline poly64x2_t
16457 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p64(poly64x2_t __a,poly64x2_t __b,__const int __c)16458 vextq_p64 (poly64x2_t __a, poly64x2_t __b, __const int __c)
16459 {
16460   __AARCH64_LANE_CHECK (__a, __c);
16461 #ifdef __AARCH64EB__
16462   return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
16463 #else
16464   return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
16465 #endif
16466 }
16467 
16468 __extension__ extern __inline int8x16_t
16469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s8(int8x16_t __a,int8x16_t __b,__const int __c)16470 vextq_s8 (int8x16_t __a, int8x16_t __b, __const int __c)
16471 {
16472   __AARCH64_LANE_CHECK (__a, __c);
16473 #ifdef __AARCH64EB__
16474   return __builtin_shuffle (__b, __a, (uint8x16_t)
16475       {16-__c, 17-__c, 18-__c, 19-__c, 20-__c, 21-__c, 22-__c, 23-__c,
16476        24-__c, 25-__c, 26-__c, 27-__c, 28-__c, 29-__c, 30-__c, 31-__c});
16477 #else
16478   return __builtin_shuffle (__a, __b, (uint8x16_t)
16479       {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
16480        __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15});
16481 #endif
16482 }
16483 
16484 __extension__ extern __inline int16x8_t
16485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s16(int16x8_t __a,int16x8_t __b,__const int __c)16486 vextq_s16 (int16x8_t __a, int16x8_t __b, __const int __c)
16487 {
16488   __AARCH64_LANE_CHECK (__a, __c);
16489 #ifdef __AARCH64EB__
16490   return __builtin_shuffle (__b, __a, (uint16x8_t)
16491       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
16492 #else
16493   return __builtin_shuffle (__a, __b,
16494       (uint16x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
16495 #endif
16496 }
16497 
16498 __extension__ extern __inline int32x4_t
16499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s32(int32x4_t __a,int32x4_t __b,__const int __c)16500 vextq_s32 (int32x4_t __a, int32x4_t __b, __const int __c)
16501 {
16502   __AARCH64_LANE_CHECK (__a, __c);
16503 #ifdef __AARCH64EB__
16504   return __builtin_shuffle (__b, __a,
16505       (uint32x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
16506 #else
16507   return __builtin_shuffle (__a, __b, (uint32x4_t) {__c, __c+1, __c+2, __c+3});
16508 #endif
16509 }
16510 
16511 __extension__ extern __inline int64x2_t
16512 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s64(int64x2_t __a,int64x2_t __b,__const int __c)16513 vextq_s64 (int64x2_t __a, int64x2_t __b, __const int __c)
16514 {
16515   __AARCH64_LANE_CHECK (__a, __c);
16516 #ifdef __AARCH64EB__
16517   return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
16518 #else
16519   return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
16520 #endif
16521 }
16522 
16523 __extension__ extern __inline uint8x16_t
16524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u8(uint8x16_t __a,uint8x16_t __b,__const int __c)16525 vextq_u8 (uint8x16_t __a, uint8x16_t __b, __const int __c)
16526 {
16527   __AARCH64_LANE_CHECK (__a, __c);
16528 #ifdef __AARCH64EB__
16529   return __builtin_shuffle (__b, __a, (uint8x16_t)
16530       {16-__c, 17-__c, 18-__c, 19-__c, 20-__c, 21-__c, 22-__c, 23-__c,
16531        24-__c, 25-__c, 26-__c, 27-__c, 28-__c, 29-__c, 30-__c, 31-__c});
16532 #else
16533   return __builtin_shuffle (__a, __b, (uint8x16_t)
16534       {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
16535        __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15});
16536 #endif
16537 }
16538 
16539 __extension__ extern __inline uint16x8_t
16540 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u16(uint16x8_t __a,uint16x8_t __b,__const int __c)16541 vextq_u16 (uint16x8_t __a, uint16x8_t __b, __const int __c)
16542 {
16543   __AARCH64_LANE_CHECK (__a, __c);
16544 #ifdef __AARCH64EB__
16545   return __builtin_shuffle (__b, __a, (uint16x8_t)
16546       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
16547 #else
16548   return __builtin_shuffle (__a, __b,
16549       (uint16x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
16550 #endif
16551 }
16552 
16553 __extension__ extern __inline uint32x4_t
16554 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u32(uint32x4_t __a,uint32x4_t __b,__const int __c)16555 vextq_u32 (uint32x4_t __a, uint32x4_t __b, __const int __c)
16556 {
16557   __AARCH64_LANE_CHECK (__a, __c);
16558 #ifdef __AARCH64EB__
16559   return __builtin_shuffle (__b, __a,
16560       (uint32x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
16561 #else
16562   return __builtin_shuffle (__a, __b, (uint32x4_t) {__c, __c+1, __c+2, __c+3});
16563 #endif
16564 }
16565 
16566 __extension__ extern __inline uint64x2_t
16567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u64(uint64x2_t __a,uint64x2_t __b,__const int __c)16568 vextq_u64 (uint64x2_t __a, uint64x2_t __b, __const int __c)
16569 {
16570   __AARCH64_LANE_CHECK (__a, __c);
16571 #ifdef __AARCH64EB__
16572   return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
16573 #else
16574   return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
16575 #endif
16576 }
16577 
16578 /* vfma  */
16579 
16580 __extension__ extern __inline float64x1_t
16581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c)16582 vfma_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
16583 {
16584   return (float64x1_t) {__builtin_fma (__b[0], __c[0], __a[0])};
16585 }
16586 
16587 __extension__ extern __inline float32x2_t
16588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)16589 vfma_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
16590 {
16591   return __builtin_aarch64_fmav2sf (__b, __c, __a);
16592 }
16593 
16594 __extension__ extern __inline float32x4_t
16595 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)16596 vfmaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
16597 {
16598   return __builtin_aarch64_fmav4sf (__b, __c, __a);
16599 }
16600 
16601 __extension__ extern __inline float64x2_t
16602 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c)16603 vfmaq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
16604 {
16605   return __builtin_aarch64_fmav2df (__b, __c, __a);
16606 }
16607 
16608 __extension__ extern __inline float32x2_t
16609 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)16610 vfma_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
16611 {
16612   return __builtin_aarch64_fmav2sf (__b, vdup_n_f32 (__c), __a);
16613 }
16614 
16615 __extension__ extern __inline float64x1_t
16616 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_n_f64(float64x1_t __a,float64x1_t __b,float64_t __c)16617 vfma_n_f64 (float64x1_t __a, float64x1_t __b, float64_t __c)
16618 {
16619   return (float64x1_t) {__b[0] * __c + __a[0]};
16620 }
16621 
16622 __extension__ extern __inline float32x4_t
16623 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)16624 vfmaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
16625 {
16626   return __builtin_aarch64_fmav4sf (__b, vdupq_n_f32 (__c), __a);
16627 }
16628 
16629 __extension__ extern __inline float64x2_t
16630 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_n_f64(float64x2_t __a,float64x2_t __b,float64_t __c)16631 vfmaq_n_f64 (float64x2_t __a, float64x2_t __b, float64_t __c)
16632 {
16633   return __builtin_aarch64_fmav2df (__b, vdupq_n_f64 (__c), __a);
16634 }
16635 
16636 /* vfma_lane  */
16637 
16638 __extension__ extern __inline float32x2_t
16639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __lane)16640 vfma_lane_f32 (float32x2_t __a, float32x2_t __b,
16641 	       float32x2_t __c, const int __lane)
16642 {
16643   return __builtin_aarch64_fmav2sf (__b,
16644 				    __aarch64_vdup_lane_f32 (__c, __lane),
16645 				    __a);
16646 }
16647 
16648 __extension__ extern __inline float64x1_t
16649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_lane_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c,const int __lane)16650 vfma_lane_f64 (float64x1_t __a, float64x1_t __b,
16651 	       float64x1_t __c, const int __lane)
16652 {
16653   return (float64x1_t) {__builtin_fma (__b[0], __c[0], __a[0])};
16654 }
16655 
16656 __extension__ extern __inline float64_t
16657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmad_lane_f64(float64_t __a,float64_t __b,float64x1_t __c,const int __lane)16658 vfmad_lane_f64 (float64_t __a, float64_t __b,
16659 	        float64x1_t __c, const int __lane)
16660 {
16661   return __builtin_fma (__b, __c[0], __a);
16662 }
16663 
16664 __extension__ extern __inline float32_t
16665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmas_lane_f32(float32_t __a,float32_t __b,float32x2_t __c,const int __lane)16666 vfmas_lane_f32 (float32_t __a, float32_t __b,
16667 	        float32x2_t __c, const int __lane)
16668 {
16669   return __builtin_fmaf (__b, __aarch64_vget_lane_any (__c, __lane), __a);
16670 }
16671 
16672 /* vfma_laneq  */
16673 
16674 __extension__ extern __inline float32x2_t
16675 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_laneq_f32(float32x2_t __a,float32x2_t __b,float32x4_t __c,const int __lane)16676 vfma_laneq_f32 (float32x2_t __a, float32x2_t __b,
16677 	        float32x4_t __c, const int __lane)
16678 {
16679   return __builtin_aarch64_fmav2sf (__b,
16680 				    __aarch64_vdup_laneq_f32 (__c, __lane),
16681 				    __a);
16682 }
16683 
16684 __extension__ extern __inline float64x1_t
16685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_laneq_f64(float64x1_t __a,float64x1_t __b,float64x2_t __c,const int __lane)16686 vfma_laneq_f64 (float64x1_t __a, float64x1_t __b,
16687 	        float64x2_t __c, const int __lane)
16688 {
16689   float64_t __c0 = __aarch64_vget_lane_any (__c, __lane);
16690   return (float64x1_t) {__builtin_fma (__b[0], __c0, __a[0])};
16691 }
16692 
16693 __extension__ extern __inline float64_t
16694 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmad_laneq_f64(float64_t __a,float64_t __b,float64x2_t __c,const int __lane)16695 vfmad_laneq_f64 (float64_t __a, float64_t __b,
16696 	         float64x2_t __c, const int __lane)
16697 {
16698   return __builtin_fma (__b, __aarch64_vget_lane_any (__c, __lane), __a);
16699 }
16700 
16701 __extension__ extern __inline float32_t
16702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmas_laneq_f32(float32_t __a,float32_t __b,float32x4_t __c,const int __lane)16703 vfmas_laneq_f32 (float32_t __a, float32_t __b,
16704 		 float32x4_t __c, const int __lane)
16705 {
16706   return __builtin_fmaf (__b, __aarch64_vget_lane_any (__c, __lane), __a);
16707 }
16708 
16709 /* vfmaq_lane  */
16710 
16711 __extension__ extern __inline float32x4_t
16712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __lane)16713 vfmaq_lane_f32 (float32x4_t __a, float32x4_t __b,
16714 	        float32x2_t __c, const int __lane)
16715 {
16716   return __builtin_aarch64_fmav4sf (__b,
16717 				    __aarch64_vdupq_lane_f32 (__c, __lane),
16718 				    __a);
16719 }
16720 
16721 __extension__ extern __inline float64x2_t
16722 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_lane_f64(float64x2_t __a,float64x2_t __b,float64x1_t __c,const int __lane)16723 vfmaq_lane_f64 (float64x2_t __a, float64x2_t __b,
16724 	        float64x1_t __c, const int __lane)
16725 {
16726   return __builtin_aarch64_fmav2df (__b, vdupq_n_f64 (__c[0]), __a);
16727 }
16728 
16729 /* vfmaq_laneq  */
16730 
16731 __extension__ extern __inline float32x4_t
16732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_laneq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c,const int __lane)16733 vfmaq_laneq_f32 (float32x4_t __a, float32x4_t __b,
16734 	         float32x4_t __c, const int __lane)
16735 {
16736   return __builtin_aarch64_fmav4sf (__b,
16737 				    __aarch64_vdupq_laneq_f32 (__c, __lane),
16738 				    __a);
16739 }
16740 
16741 __extension__ extern __inline float64x2_t
16742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_laneq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c,const int __lane)16743 vfmaq_laneq_f64 (float64x2_t __a, float64x2_t __b,
16744 	         float64x2_t __c, const int __lane)
16745 {
16746   return __builtin_aarch64_fmav2df (__b,
16747 				    __aarch64_vdupq_laneq_f64 (__c, __lane),
16748 				    __a);
16749 }
16750 
16751 /* vfms  */
16752 
16753 __extension__ extern __inline float64x1_t
16754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c)16755 vfms_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
16756 {
16757   return (float64x1_t) {__builtin_fma (-__b[0], __c[0], __a[0])};
16758 }
16759 
16760 __extension__ extern __inline float32x2_t
16761 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)16762 vfms_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
16763 {
16764   return __builtin_aarch64_fmav2sf (-__b, __c, __a);
16765 }
16766 
16767 __extension__ extern __inline float32x4_t
16768 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)16769 vfmsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
16770 {
16771   return __builtin_aarch64_fmav4sf (-__b, __c, __a);
16772 }
16773 
16774 __extension__ extern __inline float64x2_t
16775 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c)16776 vfmsq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
16777 {
16778   return __builtin_aarch64_fmav2df (-__b, __c, __a);
16779 }
16780 
16781 __extension__ extern __inline float32x2_t
16782 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)16783 vfms_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
16784 {
16785   return __builtin_aarch64_fmav2sf (-__b, vdup_n_f32 (__c), __a);
16786 }
16787 
16788 __extension__ extern __inline float64x1_t
16789 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_n_f64(float64x1_t __a,float64x1_t __b,float64_t __c)16790 vfms_n_f64 (float64x1_t __a, float64x1_t __b, float64_t __c)
16791 {
16792   return (float64x1_t) {-__b[0] * __c + __a[0]};
16793 }
16794 
16795 __extension__ extern __inline float32x4_t
16796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)16797 vfmsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
16798 {
16799   return __builtin_aarch64_fmav4sf (-__b, vdupq_n_f32 (__c), __a);
16800 }
16801 
16802 __extension__ extern __inline float64x2_t
16803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_n_f64(float64x2_t __a,float64x2_t __b,float64_t __c)16804 vfmsq_n_f64 (float64x2_t __a, float64x2_t __b, float64_t __c)
16805 {
16806   return __builtin_aarch64_fmav2df (-__b, vdupq_n_f64 (__c), __a);
16807 }
16808 
16809 /* vfms_lane  */
16810 
16811 __extension__ extern __inline float32x2_t
16812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __lane)16813 vfms_lane_f32 (float32x2_t __a, float32x2_t __b,
16814 	       float32x2_t __c, const int __lane)
16815 {
16816   return __builtin_aarch64_fmav2sf (-__b,
16817 				    __aarch64_vdup_lane_f32 (__c, __lane),
16818 				    __a);
16819 }
16820 
16821 __extension__ extern __inline float64x1_t
16822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_lane_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c,const int __lane)16823 vfms_lane_f64 (float64x1_t __a, float64x1_t __b,
16824 	       float64x1_t __c, const int __lane)
16825 {
16826   return (float64x1_t) {__builtin_fma (-__b[0], __c[0], __a[0])};
16827 }
16828 
16829 __extension__ extern __inline float64_t
16830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsd_lane_f64(float64_t __a,float64_t __b,float64x1_t __c,const int __lane)16831 vfmsd_lane_f64 (float64_t __a, float64_t __b,
16832 	        float64x1_t __c, const int __lane)
16833 {
16834   return __builtin_fma (-__b, __c[0], __a);
16835 }
16836 
16837 __extension__ extern __inline float32_t
16838 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmss_lane_f32(float32_t __a,float32_t __b,float32x2_t __c,const int __lane)16839 vfmss_lane_f32 (float32_t __a, float32_t __b,
16840 	        float32x2_t __c, const int __lane)
16841 {
16842   return __builtin_fmaf (-__b, __aarch64_vget_lane_any (__c, __lane), __a);
16843 }
16844 
16845 /* vfms_laneq  */
16846 
16847 __extension__ extern __inline float32x2_t
16848 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_laneq_f32(float32x2_t __a,float32x2_t __b,float32x4_t __c,const int __lane)16849 vfms_laneq_f32 (float32x2_t __a, float32x2_t __b,
16850 	        float32x4_t __c, const int __lane)
16851 {
16852   return __builtin_aarch64_fmav2sf (-__b,
16853 				    __aarch64_vdup_laneq_f32 (__c, __lane),
16854 				    __a);
16855 }
16856 
16857 __extension__ extern __inline float64x1_t
16858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_laneq_f64(float64x1_t __a,float64x1_t __b,float64x2_t __c,const int __lane)16859 vfms_laneq_f64 (float64x1_t __a, float64x1_t __b,
16860 	        float64x2_t __c, const int __lane)
16861 {
16862   float64_t __c0 = __aarch64_vget_lane_any (__c, __lane);
16863   return (float64x1_t) {__builtin_fma (-__b[0], __c0, __a[0])};
16864 }
16865 
16866 __extension__ extern __inline float64_t
16867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsd_laneq_f64(float64_t __a,float64_t __b,float64x2_t __c,const int __lane)16868 vfmsd_laneq_f64 (float64_t __a, float64_t __b,
16869 	         float64x2_t __c, const int __lane)
16870 {
16871   return __builtin_fma (-__b, __aarch64_vget_lane_any (__c, __lane), __a);
16872 }
16873 
16874 __extension__ extern __inline float32_t
16875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmss_laneq_f32(float32_t __a,float32_t __b,float32x4_t __c,const int __lane)16876 vfmss_laneq_f32 (float32_t __a, float32_t __b,
16877 		 float32x4_t __c, const int __lane)
16878 {
16879   return __builtin_fmaf (-__b, __aarch64_vget_lane_any (__c, __lane), __a);
16880 }
16881 
16882 /* vfmsq_lane  */
16883 
16884 __extension__ extern __inline float32x4_t
16885 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __lane)16886 vfmsq_lane_f32 (float32x4_t __a, float32x4_t __b,
16887 	        float32x2_t __c, const int __lane)
16888 {
16889   return __builtin_aarch64_fmav4sf (-__b,
16890 				    __aarch64_vdupq_lane_f32 (__c, __lane),
16891 				    __a);
16892 }
16893 
16894 __extension__ extern __inline float64x2_t
16895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_lane_f64(float64x2_t __a,float64x2_t __b,float64x1_t __c,const int __lane)16896 vfmsq_lane_f64 (float64x2_t __a, float64x2_t __b,
16897 	        float64x1_t __c, const int __lane)
16898 {
16899   return __builtin_aarch64_fmav2df (-__b, vdupq_n_f64 (__c[0]), __a);
16900 }
16901 
16902 /* vfmsq_laneq  */
16903 
16904 __extension__ extern __inline float32x4_t
16905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_laneq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c,const int __lane)16906 vfmsq_laneq_f32 (float32x4_t __a, float32x4_t __b,
16907 	         float32x4_t __c, const int __lane)
16908 {
16909   return __builtin_aarch64_fmav4sf (-__b,
16910 				    __aarch64_vdupq_laneq_f32 (__c, __lane),
16911 				    __a);
16912 }
16913 
16914 __extension__ extern __inline float64x2_t
16915 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_laneq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c,const int __lane)16916 vfmsq_laneq_f64 (float64x2_t __a, float64x2_t __b,
16917 	         float64x2_t __c, const int __lane)
16918 {
16919   return __builtin_aarch64_fmav2df (-__b,
16920 				    __aarch64_vdupq_laneq_f64 (__c, __lane),
16921 				    __a);
16922 }
16923 
16924 /* vld1 */
16925 
16926 __extension__ extern __inline float16x4_t
16927 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16(const float16_t * __a)16928 vld1_f16 (const float16_t *__a)
16929 {
16930   return __builtin_aarch64_ld1v4hf (__a);
16931 }
16932 
16933 __extension__ extern __inline float32x2_t
16934 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32(const float32_t * __a)16935 vld1_f32 (const float32_t *__a)
16936 {
16937   return __builtin_aarch64_ld1v2sf ((const __builtin_aarch64_simd_sf *) __a);
16938 }
16939 
16940 __extension__ extern __inline float64x1_t
16941 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f64(const float64_t * __a)16942 vld1_f64 (const float64_t *__a)
16943 {
16944   return (float64x1_t) {*__a};
16945 }
16946 
16947 __extension__ extern __inline poly8x8_t
16948 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8(const poly8_t * __a)16949 vld1_p8 (const poly8_t *__a)
16950 {
16951   return (poly8x8_t)
16952     __builtin_aarch64_ld1v8qi ((const __builtin_aarch64_simd_qi *) __a);
16953 }
16954 
16955 __extension__ extern __inline poly16x4_t
16956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16(const poly16_t * __a)16957 vld1_p16 (const poly16_t *__a)
16958 {
16959   return (poly16x4_t)
16960     __builtin_aarch64_ld1v4hi ((const __builtin_aarch64_simd_hi *) __a);
16961 }
16962 
16963 __extension__ extern __inline poly64x1_t
16964 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64(const poly64_t * __a)16965 vld1_p64 (const poly64_t *__a)
16966 {
16967   return (poly64x1_t) {*__a};
16968 }
16969 
16970 __extension__ extern __inline int8x8_t
16971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8(const int8_t * __a)16972 vld1_s8 (const int8_t *__a)
16973 {
16974   return __builtin_aarch64_ld1v8qi ((const __builtin_aarch64_simd_qi *) __a);
16975 }
16976 
16977 __extension__ extern __inline int16x4_t
16978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16(const int16_t * __a)16979 vld1_s16 (const int16_t *__a)
16980 {
16981   return __builtin_aarch64_ld1v4hi ((const __builtin_aarch64_simd_hi *) __a);
16982 }
16983 
16984 __extension__ extern __inline int32x2_t
16985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32(const int32_t * __a)16986 vld1_s32 (const int32_t *__a)
16987 {
16988   return __builtin_aarch64_ld1v2si ((const __builtin_aarch64_simd_si *) __a);
16989 }
16990 
16991 __extension__ extern __inline int64x1_t
16992 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64(const int64_t * __a)16993 vld1_s64 (const int64_t *__a)
16994 {
16995   return (int64x1_t) {*__a};
16996 }
16997 
16998 __extension__ extern __inline uint8x8_t
16999 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8(const uint8_t * __a)17000 vld1_u8 (const uint8_t *__a)
17001 {
17002   return (uint8x8_t)
17003     __builtin_aarch64_ld1v8qi ((const __builtin_aarch64_simd_qi *) __a);
17004 }
17005 
17006 __extension__ extern __inline uint16x4_t
17007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16(const uint16_t * __a)17008 vld1_u16 (const uint16_t *__a)
17009 {
17010   return (uint16x4_t)
17011     __builtin_aarch64_ld1v4hi ((const __builtin_aarch64_simd_hi *) __a);
17012 }
17013 
17014 __extension__ extern __inline uint32x2_t
17015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32(const uint32_t * __a)17016 vld1_u32 (const uint32_t *__a)
17017 {
17018   return (uint32x2_t)
17019     __builtin_aarch64_ld1v2si ((const __builtin_aarch64_simd_si *) __a);
17020 }
17021 
17022 __extension__ extern __inline uint64x1_t
17023 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64(const uint64_t * __a)17024 vld1_u64 (const uint64_t *__a)
17025 {
17026   return (uint64x1_t) {*__a};
17027 }
17028 
17029 /* vld1x3  */
17030 
17031 __extension__ extern __inline uint8x8x3_t
17032 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8_x3(const uint8_t * __a)17033 vld1_u8_x3 (const uint8_t *__a)
17034 {
17035   uint8x8x3_t __i;
17036   __builtin_aarch64_simd_ci __o;
17037   __o = (__builtin_aarch64_simd_ci)__builtin_aarch64_ld1x3v8qi ((const __builtin_aarch64_simd_qi *) __a);
17038   __i.val[0] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 0);
17039   __i.val[1] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 1);
17040   __i.val[2] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 2);
17041   return __i;
17042 }
17043 
17044 __extension__ extern __inline int8x8x3_t
17045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8_x3(const uint8_t * __a)17046 vld1_s8_x3 (const uint8_t *__a)
17047 {
17048   int8x8x3_t __i;
17049   __builtin_aarch64_simd_ci __o;
17050   __o = __builtin_aarch64_ld1x3v8qi ((const __builtin_aarch64_simd_qi *) __a);
17051   __i.val[0] = (int8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 0);
17052   __i.val[1] = (int8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 1);
17053   __i.val[2] = (int8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 2);
17054   return __i;
17055 }
17056 
17057 __extension__ extern __inline uint16x4x3_t
17058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16_x3(const uint16_t * __a)17059 vld1_u16_x3 (const uint16_t *__a)
17060 {
17061   uint16x4x3_t __i;
17062   __builtin_aarch64_simd_ci __o;
17063   __o = __builtin_aarch64_ld1x3v4hi ((const __builtin_aarch64_simd_hi *) __a);
17064   __i.val[0] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 0);
17065   __i.val[1] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 1);
17066   __i.val[2] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 2);
17067   return __i;
17068 }
17069 
17070 __extension__ extern __inline int16x4x3_t
17071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16_x3(const int16_t * __a)17072 vld1_s16_x3 (const int16_t *__a)
17073 {
17074   int16x4x3_t __i;
17075   __builtin_aarch64_simd_ci __o;
17076   __o = __builtin_aarch64_ld1x3v4hi ((const __builtin_aarch64_simd_hi *) __a);
17077   __i.val[0] = (int16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 0);
17078   __i.val[1] = (int16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 1);
17079   __i.val[2] = (int16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 2);
17080   return __i;
17081 }
17082 
17083 __extension__ extern __inline uint32x2x3_t
17084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32_x3(const uint32_t * __a)17085 vld1_u32_x3 (const uint32_t *__a)
17086 {
17087   uint32x2x3_t __i;
17088   __builtin_aarch64_simd_ci __o;
17089   __o = __builtin_aarch64_ld1x3v2si ((const __builtin_aarch64_simd_si *) __a);
17090   __i.val[0] = (uint32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 0);
17091   __i.val[1] = (uint32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 1);
17092   __i.val[2] = (uint32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 2);
17093   return __i;
17094 }
17095 
17096 __extension__ extern __inline int32x2x3_t
17097 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32_x3(const uint32_t * __a)17098 vld1_s32_x3 (const uint32_t *__a)
17099 {
17100   int32x2x3_t __i;
17101   __builtin_aarch64_simd_ci __o;
17102   __o = __builtin_aarch64_ld1x3v2si ((const __builtin_aarch64_simd_si *) __a);
17103   __i.val[0] = (int32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 0);
17104   __i.val[1] = (int32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 1);
17105   __i.val[2] = (int32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 2);
17106   return __i;
17107 }
17108 
17109 __extension__ extern __inline uint64x1x3_t
17110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64_x3(const uint64_t * __a)17111 vld1_u64_x3 (const uint64_t *__a)
17112 {
17113   uint64x1x3_t __i;
17114   __builtin_aarch64_simd_ci __o;
17115   __o = __builtin_aarch64_ld1x3di ((const __builtin_aarch64_simd_di *) __a);
17116   __i.val[0] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
17117   __i.val[1] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
17118   __i.val[2] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
17119   return __i;
17120 }
17121 
17122 __extension__ extern __inline int64x1x3_t
17123 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64_x3(const int64_t * __a)17124 vld1_s64_x3 (const int64_t *__a)
17125 {
17126   int64x1x3_t __i;
17127   __builtin_aarch64_simd_ci __o;
17128   __o = __builtin_aarch64_ld1x3di ((const __builtin_aarch64_simd_di *) __a);
17129   __i.val[0] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
17130   __i.val[1] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
17131   __i.val[2] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
17132 
17133   return __i;
17134 }
17135 
17136 __extension__ extern __inline float16x4x3_t
17137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16_x3(const float16_t * __a)17138 vld1_f16_x3 (const float16_t *__a)
17139 {
17140   float16x4x3_t __i;
17141   __builtin_aarch64_simd_ci __o;
17142   __o = __builtin_aarch64_ld1x3v4hf ((const __builtin_aarch64_simd_hf *) __a);
17143   __i.val[0] = (float16x4_t) __builtin_aarch64_get_dregciv4hf  (__o, 0);
17144   __i.val[1] = (float16x4_t) __builtin_aarch64_get_dregciv4hf  (__o, 1);
17145   __i.val[2] = (float16x4_t) __builtin_aarch64_get_dregciv4hf  (__o, 2);
17146   return __i;
17147 }
17148 
17149 __extension__ extern __inline float32x2x3_t
17150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32_x3(const float32_t * __a)17151 vld1_f32_x3 (const float32_t *__a)
17152 {
17153   float32x2x3_t __i;
17154   __builtin_aarch64_simd_ci __o;
17155   __o = __builtin_aarch64_ld1x3v2sf ((const __builtin_aarch64_simd_sf *) __a);
17156   __i.val[0] = (float32x2_t) __builtin_aarch64_get_dregciv2sf  (__o, 0);
17157   __i.val[1] = (float32x2_t) __builtin_aarch64_get_dregciv2sf  (__o, 1);
17158   __i.val[2] = (float32x2_t) __builtin_aarch64_get_dregciv2sf  (__o, 2);
17159   return __i;
17160 }
17161 
17162 __extension__ extern __inline float64x1x3_t
17163 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f64_x3(const float64_t * __a)17164 vld1_f64_x3 (const float64_t *__a)
17165 {
17166   float64x1x3_t __i;
17167   __builtin_aarch64_simd_ci __o;
17168   __o = __builtin_aarch64_ld1x3df ((const __builtin_aarch64_simd_df *) __a);
17169   __i.val[0] = (float64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
17170   __i.val[1] = (float64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
17171   __i.val[2] = (float64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
17172   return __i;
17173 }
17174 
17175 __extension__ extern __inline poly8x8x3_t
17176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8_x3(const poly8_t * __a)17177 vld1_p8_x3 (const poly8_t *__a)
17178 {
17179   poly8x8x3_t __i;
17180   __builtin_aarch64_simd_ci __o;
17181   __o = __builtin_aarch64_ld1x3v8qi ((const __builtin_aarch64_simd_qi *) __a);
17182   __i.val[0] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 0);
17183   __i.val[1] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 1);
17184   __i.val[2] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 2);
17185   return __i;
17186 }
17187 
17188 __extension__ extern __inline poly16x4x3_t
17189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16_x3(const poly16_t * __a)17190 vld1_p16_x3 (const poly16_t *__a)
17191 {
17192   poly16x4x3_t __i;
17193   __builtin_aarch64_simd_ci __o;
17194   __o = __builtin_aarch64_ld1x3v4hi ((const __builtin_aarch64_simd_hi *) __a);
17195   __i.val[0] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 0);
17196   __i.val[1] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 1);
17197   __i.val[2] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 2);
17198   return __i;
17199 }
17200 
17201 __extension__ extern __inline poly64x1x3_t
17202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64_x3(const poly64_t * __a)17203 vld1_p64_x3 (const poly64_t *__a)
17204 {
17205   poly64x1x3_t __i;
17206   __builtin_aarch64_simd_ci __o;
17207   __o = __builtin_aarch64_ld1x3di ((const __builtin_aarch64_simd_di *) __a);
17208   __i.val[0] = (poly64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
17209   __i.val[1] = (poly64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
17210   __i.val[2] = (poly64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
17211 
17212 return __i;
17213 }
17214 
17215 __extension__ extern __inline uint8x16x3_t
17216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8_x3(const uint8_t * __a)17217 vld1q_u8_x3 (const uint8_t *__a)
17218 {
17219   uint8x16x3_t __i;
17220   __builtin_aarch64_simd_ci __o;
17221   __o = __builtin_aarch64_ld1x3v16qi ((const __builtin_aarch64_simd_qi *) __a);
17222   __i.val[0] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 0);
17223   __i.val[1] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 1);
17224   __i.val[2] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 2);
17225   return __i;
17226 }
17227 
17228 __extension__ extern __inline int8x16x3_t
17229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8_x3(const int8_t * __a)17230 vld1q_s8_x3 (const int8_t *__a)
17231 {
17232   int8x16x3_t __i;
17233   __builtin_aarch64_simd_ci __o;
17234   __o = __builtin_aarch64_ld1x3v16qi ((const __builtin_aarch64_simd_qi *) __a);
17235   __i.val[0] = (int8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 0);
17236   __i.val[1] = (int8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 1);
17237   __i.val[2] = (int8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 2);
17238   return __i;
17239 }
17240 
17241 __extension__ extern __inline uint16x8x3_t
17242 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16_x3(const uint16_t * __a)17243 vld1q_u16_x3 (const uint16_t *__a)
17244 {
17245   uint16x8x3_t __i;
17246   __builtin_aarch64_simd_ci __o;
17247   __o = __builtin_aarch64_ld1x3v8hi ((const __builtin_aarch64_simd_hi *) __a);
17248   __i.val[0] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 0);
17249   __i.val[1] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 1);
17250   __i.val[2] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 2);
17251   return __i;
17252 }
17253 
17254 __extension__ extern __inline int16x8x3_t
17255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16_x3(const int16_t * __a)17256 vld1q_s16_x3 (const int16_t *__a)
17257 {
17258   int16x8x3_t __i;
17259   __builtin_aarch64_simd_ci __o;
17260   __o = __builtin_aarch64_ld1x3v8hi ((const __builtin_aarch64_simd_hi *) __a);
17261   __i.val[0] = (int16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 0);
17262   __i.val[1] = (int16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 1);
17263   __i.val[2] = (int16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 2);
17264   return __i;
17265 }
17266 
17267 __extension__ extern __inline uint32x4x3_t
17268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32_x3(const uint32_t * __a)17269 vld1q_u32_x3 (const uint32_t *__a)
17270 {
17271   uint32x4x3_t __i;
17272   __builtin_aarch64_simd_ci __o;
17273   __o = __builtin_aarch64_ld1x3v4si ((const __builtin_aarch64_simd_si *) __a);
17274   __i.val[0] = (uint32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 0);
17275   __i.val[1] = (uint32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 1);
17276   __i.val[2] = (uint32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 2);
17277   return __i;
17278 }
17279 
17280 __extension__ extern __inline int32x4x3_t
17281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32_x3(const int32_t * __a)17282 vld1q_s32_x3 (const int32_t *__a)
17283 {
17284   int32x4x3_t __i;
17285   __builtin_aarch64_simd_ci __o;
17286   __o = __builtin_aarch64_ld1x3v4si ((const __builtin_aarch64_simd_si *) __a);
17287   __i.val[0] = (int32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 0);
17288   __i.val[1] = (int32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 1);
17289   __i.val[2] = (int32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 2);
17290   return __i;
17291 }
17292 
17293 __extension__ extern __inline uint64x2x3_t
17294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64_x3(const uint64_t * __a)17295 vld1q_u64_x3 (const uint64_t *__a)
17296 {
17297   uint64x2x3_t __i;
17298   __builtin_aarch64_simd_ci __o;
17299   __o = __builtin_aarch64_ld1x3v2di ((const __builtin_aarch64_simd_di *) __a);
17300   __i.val[0] = (uint64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 0);
17301   __i.val[1] = (uint64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 1);
17302   __i.val[2] = (uint64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 2);
17303   return __i;
17304 }
17305 
17306 __extension__ extern __inline int64x2x3_t
17307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64_x3(const int64_t * __a)17308 vld1q_s64_x3 (const int64_t *__a)
17309 {
17310   int64x2x3_t __i;
17311   __builtin_aarch64_simd_ci __o;
17312   __o = __builtin_aarch64_ld1x3v2di ((const __builtin_aarch64_simd_di *) __a);
17313   __i.val[0] = (int64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 0);
17314   __i.val[1] = (int64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 1);
17315   __i.val[2] = (int64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 2);
17316   return __i;
17317 }
17318 
17319 __extension__ extern __inline float16x8x3_t
17320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16_x3(const float16_t * __a)17321 vld1q_f16_x3 (const float16_t *__a)
17322 {
17323   float16x8x3_t __i;
17324   __builtin_aarch64_simd_ci __o;
17325   __o = __builtin_aarch64_ld1x3v8hf ((const __builtin_aarch64_simd_hf *) __a);
17326   __i.val[0] = (float16x8_t) __builtin_aarch64_get_qregciv8hf  (__o, 0);
17327   __i.val[1] = (float16x8_t) __builtin_aarch64_get_qregciv8hf  (__o, 1);
17328   __i.val[2] = (float16x8_t) __builtin_aarch64_get_qregciv8hf  (__o, 2);
17329   return __i;
17330 }
17331 
17332 __extension__ extern __inline float32x4x3_t
17333 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32_x3(const float32_t * __a)17334 vld1q_f32_x3 (const float32_t *__a)
17335 {
17336   float32x4x3_t __i;
17337   __builtin_aarch64_simd_ci __o;
17338   __o = __builtin_aarch64_ld1x3v4sf ((const __builtin_aarch64_simd_sf *) __a);
17339   __i.val[0] = (float32x4_t) __builtin_aarch64_get_qregciv4sf  (__o, 0);
17340   __i.val[1] = (float32x4_t) __builtin_aarch64_get_qregciv4sf  (__o, 1);
17341   __i.val[2] = (float32x4_t) __builtin_aarch64_get_qregciv4sf  (__o, 2);
17342   return __i;
17343 }
17344 
17345 __extension__ extern __inline float64x2x3_t
17346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f64_x3(const float64_t * __a)17347 vld1q_f64_x3 (const float64_t *__a)
17348 {
17349   float64x2x3_t __i;
17350   __builtin_aarch64_simd_ci __o;
17351   __o = __builtin_aarch64_ld1x3v2df ((const __builtin_aarch64_simd_df *) __a);
17352   __i.val[0] = (float64x2_t) __builtin_aarch64_get_qregciv2df  (__o, 0);
17353   __i.val[1] = (float64x2_t) __builtin_aarch64_get_qregciv2df  (__o, 1);
17354   __i.val[2] = (float64x2_t) __builtin_aarch64_get_qregciv2df  (__o, 2);
17355   return __i;
17356 }
17357 
17358 __extension__ extern __inline poly8x16x3_t
17359 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8_x3(const poly8_t * __a)17360 vld1q_p8_x3 (const poly8_t *__a)
17361 {
17362   poly8x16x3_t __i;
17363   __builtin_aarch64_simd_ci __o;
17364   __o = __builtin_aarch64_ld1x3v16qi ((const __builtin_aarch64_simd_qi *) __a);
17365   __i.val[0] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 0);
17366   __i.val[1] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 1);
17367   __i.val[2] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 2);
17368   return __i;
17369 }
17370 
17371 __extension__ extern __inline poly16x8x3_t
17372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16_x3(const poly16_t * __a)17373 vld1q_p16_x3 (const poly16_t *__a)
17374 {
17375   poly16x8x3_t __i;
17376   __builtin_aarch64_simd_ci __o;
17377   __o = __builtin_aarch64_ld1x3v8hi ((const __builtin_aarch64_simd_hi *) __a);
17378   __i.val[0] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 0);
17379   __i.val[1] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 1);
17380   __i.val[2] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 2);
17381   return __i;
17382 }
17383 
17384 __extension__ extern __inline poly64x2x3_t
17385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64_x3(const poly64_t * __a)17386 vld1q_p64_x3 (const poly64_t *__a)
17387 {
17388   poly64x2x3_t __i;
17389   __builtin_aarch64_simd_ci __o;
17390   __o = __builtin_aarch64_ld1x3v2di ((const __builtin_aarch64_simd_di *) __a);
17391   __i.val[0] = (poly64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 0);
17392   __i.val[1] = (poly64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 1);
17393   __i.val[2] = (poly64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 2);
17394   return __i;
17395 }
17396 
17397 /* vld1q */
17398 
17399 __extension__ extern __inline float16x8_t
17400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16(const float16_t * __a)17401 vld1q_f16 (const float16_t *__a)
17402 {
17403   return __builtin_aarch64_ld1v8hf (__a);
17404 }
17405 
17406 __extension__ extern __inline float32x4_t
17407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32(const float32_t * __a)17408 vld1q_f32 (const float32_t *__a)
17409 {
17410   return __builtin_aarch64_ld1v4sf ((const __builtin_aarch64_simd_sf *) __a);
17411 }
17412 
17413 __extension__ extern __inline float64x2_t
17414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f64(const float64_t * __a)17415 vld1q_f64 (const float64_t *__a)
17416 {
17417   return __builtin_aarch64_ld1v2df ((const __builtin_aarch64_simd_df *) __a);
17418 }
17419 
17420 __extension__ extern __inline poly8x16_t
17421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8(const poly8_t * __a)17422 vld1q_p8 (const poly8_t *__a)
17423 {
17424   return (poly8x16_t)
17425     __builtin_aarch64_ld1v16qi ((const __builtin_aarch64_simd_qi *) __a);
17426 }
17427 
17428 __extension__ extern __inline poly16x8_t
17429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16(const poly16_t * __a)17430 vld1q_p16 (const poly16_t *__a)
17431 {
17432   return (poly16x8_t)
17433     __builtin_aarch64_ld1v8hi ((const __builtin_aarch64_simd_hi *) __a);
17434 }
17435 
17436 __extension__ extern __inline poly64x2_t
17437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64(const poly64_t * __a)17438 vld1q_p64 (const poly64_t *__a)
17439 {
17440   return (poly64x2_t)
17441     __builtin_aarch64_ld1v2di ((const __builtin_aarch64_simd_di *) __a);
17442 }
17443 
17444 __extension__ extern __inline int8x16_t
17445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8(const int8_t * __a)17446 vld1q_s8 (const int8_t *__a)
17447 {
17448   return __builtin_aarch64_ld1v16qi ((const __builtin_aarch64_simd_qi *) __a);
17449 }
17450 
17451 __extension__ extern __inline int16x8_t
17452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16(const int16_t * __a)17453 vld1q_s16 (const int16_t *__a)
17454 {
17455   return __builtin_aarch64_ld1v8hi ((const __builtin_aarch64_simd_hi *) __a);
17456 }
17457 
17458 __extension__ extern __inline int32x4_t
17459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32(const int32_t * __a)17460 vld1q_s32 (const int32_t *__a)
17461 {
17462   return __builtin_aarch64_ld1v4si ((const __builtin_aarch64_simd_si *) __a);
17463 }
17464 
17465 __extension__ extern __inline int64x2_t
17466 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64(const int64_t * __a)17467 vld1q_s64 (const int64_t *__a)
17468 {
17469   return __builtin_aarch64_ld1v2di ((const __builtin_aarch64_simd_di *) __a);
17470 }
17471 
17472 __extension__ extern __inline uint8x16_t
17473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8(const uint8_t * __a)17474 vld1q_u8 (const uint8_t *__a)
17475 {
17476   return (uint8x16_t)
17477     __builtin_aarch64_ld1v16qi ((const __builtin_aarch64_simd_qi *) __a);
17478 }
17479 
17480 __extension__ extern __inline uint8x8x2_t
17481 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8_x2(const uint8_t * __a)17482 vld1_u8_x2 (const uint8_t *__a)
17483 {
17484   uint8x8x2_t ret;
17485   __builtin_aarch64_simd_oi __o;
17486   __o = __builtin_aarch64_ld1x2v8qi ((const __builtin_aarch64_simd_qi *) __a);
17487   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
17488   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
17489   return ret;
17490 }
17491 
17492 __extension__ extern __inline int8x8x2_t
17493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8_x2(const int8_t * __a)17494 vld1_s8_x2 (const int8_t *__a)
17495 {
17496   int8x8x2_t ret;
17497   __builtin_aarch64_simd_oi __o;
17498   __o = __builtin_aarch64_ld1x2v8qi ((const __builtin_aarch64_simd_qi *) __a);
17499   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
17500   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
17501   return ret;
17502 }
17503 
17504 __extension__ extern __inline uint16x4x2_t
17505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16_x2(const uint16_t * __a)17506 vld1_u16_x2 (const uint16_t *__a)
17507 {
17508   uint16x4x2_t ret;
17509   __builtin_aarch64_simd_oi __o;
17510   __o = __builtin_aarch64_ld1x2v4hi ((const __builtin_aarch64_simd_hi *) __a);
17511   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
17512   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
17513   return ret;
17514 }
17515 
17516 __extension__ extern __inline int16x4x2_t
17517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16_x2(const int16_t * __a)17518 vld1_s16_x2 (const int16_t *__a)
17519 {
17520   int16x4x2_t ret;
17521   __builtin_aarch64_simd_oi __o;
17522   __o = __builtin_aarch64_ld1x2v4hi ((const __builtin_aarch64_simd_hi *) __a);
17523   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
17524   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
17525   return ret;
17526 }
17527 
17528 __extension__ extern __inline uint32x2x2_t
17529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32_x2(const uint32_t * __a)17530 vld1_u32_x2 (const uint32_t *__a)
17531 {
17532   uint32x2x2_t ret;
17533   __builtin_aarch64_simd_oi __o;
17534   __o = __builtin_aarch64_ld1x2v2si ((const __builtin_aarch64_simd_si *) __a);
17535   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
17536   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
17537   return ret;
17538 }
17539 
17540 __extension__ extern __inline int32x2x2_t
17541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32_x2(const int32_t * __a)17542 vld1_s32_x2 (const int32_t *__a)
17543 {
17544   int32x2x2_t ret;
17545   __builtin_aarch64_simd_oi __o;
17546   __o = __builtin_aarch64_ld1x2v2si ((const __builtin_aarch64_simd_si *) __a);
17547   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
17548   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
17549   return ret;
17550 }
17551 
17552 __extension__ extern __inline uint64x1x2_t
17553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64_x2(const uint64_t * __a)17554 vld1_u64_x2 (const uint64_t *__a)
17555 {
17556   uint64x1x2_t ret;
17557   __builtin_aarch64_simd_oi __o;
17558   __o = __builtin_aarch64_ld1x2di ((const __builtin_aarch64_simd_di *) __a);
17559   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
17560   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
17561   return ret;
17562 }
17563 
17564 __extension__ extern __inline int64x1x2_t
17565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64_x2(const int64_t * __a)17566 vld1_s64_x2 (const int64_t *__a)
17567 {
17568   int64x1x2_t ret;
17569   __builtin_aarch64_simd_oi __o;
17570   __o = __builtin_aarch64_ld1x2di ((const __builtin_aarch64_simd_di *) __a);
17571   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
17572   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
17573   return ret;
17574 }
17575 
17576 __extension__ extern __inline float16x4x2_t
17577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16_x2(const float16_t * __a)17578 vld1_f16_x2 (const float16_t *__a)
17579 {
17580   float16x4x2_t ret;
17581   __builtin_aarch64_simd_oi __o;
17582   __o = __builtin_aarch64_ld1x2v4hf ((const __builtin_aarch64_simd_hf *) __a);
17583   ret.val[0] = (float16x4_t) __builtin_aarch64_get_dregoiv4hf (__o, 0);
17584   ret.val[1] = (float16x4_t) __builtin_aarch64_get_dregoiv4hf (__o, 1);
17585   return ret;
17586 }
17587 
17588 __extension__ extern __inline float32x2x2_t
17589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32_x2(const float32_t * __a)17590 vld1_f32_x2 (const float32_t *__a)
17591 {
17592   float32x2x2_t ret;
17593   __builtin_aarch64_simd_oi __o;
17594   __o = __builtin_aarch64_ld1x2v2sf ((const __builtin_aarch64_simd_sf *) __a);
17595   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 0);
17596   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 1);
17597   return ret;
17598 }
17599 
17600 __extension__ extern __inline float64x1x2_t
17601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f64_x2(const float64_t * __a)17602 vld1_f64_x2 (const float64_t *__a)
17603 {
17604   float64x1x2_t ret;
17605   __builtin_aarch64_simd_oi __o;
17606   __o = __builtin_aarch64_ld1x2df ((const __builtin_aarch64_simd_df *) __a);
17607   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 0)};
17608   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 1)};
17609   return ret;
17610 }
17611 
17612 __extension__ extern __inline poly8x8x2_t
17613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8_x2(const poly8_t * __a)17614 vld1_p8_x2 (const poly8_t *__a)
17615 {
17616   poly8x8x2_t ret;
17617   __builtin_aarch64_simd_oi __o;
17618   __o = __builtin_aarch64_ld1x2v8qi ((const __builtin_aarch64_simd_qi *) __a);
17619   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
17620   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
17621   return ret;
17622 }
17623 
17624 __extension__ extern __inline poly16x4x2_t
17625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16_x2(const poly16_t * __a)17626 vld1_p16_x2 (const poly16_t *__a)
17627 {
17628   poly16x4x2_t ret;
17629   __builtin_aarch64_simd_oi __o;
17630   __o = __builtin_aarch64_ld1x2v4hi ((const __builtin_aarch64_simd_hi *) __a);
17631   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
17632   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
17633   return ret;
17634 }
17635 
17636 __extension__ extern __inline poly64x1x2_t
17637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64_x2(const poly64_t * __a)17638 vld1_p64_x2 (const poly64_t *__a)
17639 {
17640   poly64x1x2_t ret;
17641   __builtin_aarch64_simd_oi __o;
17642   __o = __builtin_aarch64_ld1x2di ((const __builtin_aarch64_simd_di *) __a);
17643   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
17644   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
17645   return ret;
17646 }
17647 
17648 __extension__ extern __inline uint8x16x2_t
17649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8_x2(const uint8_t * __a)17650 vld1q_u8_x2 (const uint8_t *__a)
17651 {
17652   uint8x16x2_t ret;
17653   __builtin_aarch64_simd_oi __o;
17654   __o = __builtin_aarch64_ld1x2v16qi ((const __builtin_aarch64_simd_qi *) __a);
17655   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
17656   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
17657   return ret;
17658 }
17659 
17660 __extension__ extern __inline int8x16x2_t
17661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8_x2(const int8_t * __a)17662 vld1q_s8_x2 (const int8_t *__a)
17663 {
17664   int8x16x2_t ret;
17665   __builtin_aarch64_simd_oi __o;
17666   __o = __builtin_aarch64_ld1x2v16qi ((const __builtin_aarch64_simd_qi *) __a);
17667   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
17668   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
17669   return ret;
17670 }
17671 
17672 __extension__ extern __inline uint16x8x2_t
17673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16_x2(const uint16_t * __a)17674 vld1q_u16_x2 (const uint16_t *__a)
17675 {
17676   uint16x8x2_t ret;
17677   __builtin_aarch64_simd_oi __o;
17678   __o = __builtin_aarch64_ld1x2v8hi ((const __builtin_aarch64_simd_hi *) __a);
17679   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
17680   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
17681   return ret;
17682 }
17683 
17684 __extension__ extern __inline int16x8x2_t
17685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16_x2(const int16_t * __a)17686 vld1q_s16_x2 (const int16_t *__a)
17687 {
17688   int16x8x2_t ret;
17689   __builtin_aarch64_simd_oi __o;
17690   __o = __builtin_aarch64_ld1x2v8hi ((const __builtin_aarch64_simd_hi *) __a);
17691   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
17692   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
17693   return ret;
17694 }
17695 
17696 __extension__ extern __inline uint32x4x2_t
17697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32_x2(const uint32_t * __a)17698 vld1q_u32_x2 (const uint32_t *__a)
17699 {
17700   uint32x4x2_t ret;
17701   __builtin_aarch64_simd_oi __o;
17702   __o = __builtin_aarch64_ld1x2v4si ((const __builtin_aarch64_simd_si *) __a);
17703   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
17704   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
17705   return ret;
17706 }
17707 
17708 __extension__ extern __inline int32x4x2_t
17709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32_x2(const int32_t * __a)17710 vld1q_s32_x2 (const int32_t *__a)
17711 {
17712   int32x4x2_t ret;
17713   __builtin_aarch64_simd_oi __o;
17714   __o = __builtin_aarch64_ld1x2v4si ((const __builtin_aarch64_simd_si *) __a);
17715   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
17716   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
17717   return ret;
17718 }
17719 
17720 __extension__ extern __inline uint64x2x2_t
17721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64_x2(const uint64_t * __a)17722 vld1q_u64_x2 (const uint64_t *__a)
17723 {
17724   uint64x2x2_t ret;
17725   __builtin_aarch64_simd_oi __o;
17726   __o = __builtin_aarch64_ld1x2v2di ((const __builtin_aarch64_simd_di *) __a);
17727   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
17728   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
17729   return ret;
17730 }
17731 
17732 __extension__ extern __inline int64x2x2_t
17733 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64_x2(const int64_t * __a)17734 vld1q_s64_x2 (const int64_t *__a)
17735 {
17736   int64x2x2_t ret;
17737   __builtin_aarch64_simd_oi __o;
17738   __o = __builtin_aarch64_ld1x2v2di ((const __builtin_aarch64_simd_di *) __a);
17739   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
17740   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
17741   return ret;
17742 }
17743 
17744 __extension__ extern __inline float16x8x2_t
17745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16_x2(const float16_t * __a)17746 vld1q_f16_x2 (const float16_t *__a)
17747 {
17748   float16x8x2_t ret;
17749   __builtin_aarch64_simd_oi __o;
17750   __o = __builtin_aarch64_ld1x2v8hf ((const __builtin_aarch64_simd_hf *) __a);
17751   ret.val[0] = (float16x8_t) __builtin_aarch64_get_qregoiv8hf (__o, 0);
17752   ret.val[1] = (float16x8_t) __builtin_aarch64_get_qregoiv8hf (__o, 1);
17753   return ret;
17754 }
17755 
17756 __extension__ extern __inline float32x4x2_t
17757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32_x2(const float32_t * __a)17758 vld1q_f32_x2 (const float32_t *__a)
17759 {
17760   float32x4x2_t ret;
17761   __builtin_aarch64_simd_oi __o;
17762   __o = __builtin_aarch64_ld1x2v4sf ((const __builtin_aarch64_simd_sf *) __a);
17763   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 0);
17764   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 1);
17765   return ret;
17766 }
17767 
17768 __extension__ extern __inline float64x2x2_t
17769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f64_x2(const float64_t * __a)17770 vld1q_f64_x2 (const float64_t *__a)
17771 {
17772   float64x2x2_t ret;
17773   __builtin_aarch64_simd_oi __o;
17774   __o = __builtin_aarch64_ld1x2v2df ((const __builtin_aarch64_simd_df *) __a);
17775   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 0);
17776   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 1);
17777   return ret;
17778 }
17779 
17780 __extension__ extern __inline poly8x16x2_t
17781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8_x2(const poly8_t * __a)17782 vld1q_p8_x2 (const poly8_t *__a)
17783 {
17784   poly8x16x2_t ret;
17785   __builtin_aarch64_simd_oi __o;
17786   __o = __builtin_aarch64_ld1x2v16qi ((const __builtin_aarch64_simd_qi *) __a);
17787   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
17788   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
17789   return ret;
17790 }
17791 
17792 __extension__ extern __inline poly16x8x2_t
17793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16_x2(const poly16_t * __a)17794 vld1q_p16_x2 (const poly16_t *__a)
17795 {
17796   poly16x8x2_t ret;
17797   __builtin_aarch64_simd_oi __o;
17798   __o = __builtin_aarch64_ld1x2v8hi ((const __builtin_aarch64_simd_hi *) __a);
17799   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
17800   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
17801   return ret;
17802 }
17803 
17804 __extension__ extern __inline poly64x2x2_t
17805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64_x2(const poly64_t * __a)17806 vld1q_p64_x2 (const poly64_t *__a)
17807 {
17808   poly64x2x2_t ret;
17809   __builtin_aarch64_simd_oi __o;
17810   __o = __builtin_aarch64_ld1x2v2di ((const __builtin_aarch64_simd_di *) __a);
17811   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
17812   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
17813   return ret;
17814 }
17815 
17816 __extension__ extern __inline uint16x8_t
17817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16(const uint16_t * __a)17818 vld1q_u16 (const uint16_t *__a)
17819 {
17820   return (uint16x8_t)
17821     __builtin_aarch64_ld1v8hi ((const __builtin_aarch64_simd_hi *) __a);
17822 }
17823 
17824 __extension__ extern __inline uint32x4_t
17825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32(const uint32_t * __a)17826 vld1q_u32 (const uint32_t *__a)
17827 {
17828   return (uint32x4_t)
17829     __builtin_aarch64_ld1v4si ((const __builtin_aarch64_simd_si *) __a);
17830 }
17831 
17832 __extension__ extern __inline uint64x2_t
17833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64(const uint64_t * __a)17834 vld1q_u64 (const uint64_t *__a)
17835 {
17836   return (uint64x2_t)
17837     __builtin_aarch64_ld1v2di ((const __builtin_aarch64_simd_di *) __a);
17838 }
17839 
17840 /* vld1(q)_x4.  */
17841 
17842 __extension__ extern __inline int8x8x4_t
17843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8_x4(const int8_t * __a)17844 vld1_s8_x4 (const int8_t *__a)
17845 {
17846   union { int8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17847   __au.__o
17848     = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
17849   return __au.__i;
17850 }
17851 
17852 __extension__ extern __inline int8x16x4_t
17853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8_x4(const int8_t * __a)17854 vld1q_s8_x4 (const int8_t *__a)
17855 {
17856   union { int8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17857   __au.__o
17858     = __builtin_aarch64_ld1x4v16qi ((const __builtin_aarch64_simd_qi *) __a);
17859   return __au.__i;
17860 }
17861 
17862 __extension__ extern __inline int16x4x4_t
17863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16_x4(const int16_t * __a)17864 vld1_s16_x4 (const int16_t *__a)
17865 {
17866   union { int16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17867   __au.__o
17868     = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
17869   return __au.__i;
17870 }
17871 
17872 __extension__ extern __inline int16x8x4_t
17873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16_x4(const int16_t * __a)17874 vld1q_s16_x4 (const int16_t *__a)
17875 {
17876   union { int16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17877   __au.__o
17878     = __builtin_aarch64_ld1x4v8hi ((const __builtin_aarch64_simd_hi *) __a);
17879   return __au.__i;
17880 }
17881 
17882 __extension__ extern __inline int32x2x4_t
17883 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32_x4(const int32_t * __a)17884 vld1_s32_x4 (const int32_t *__a)
17885 {
17886   union { int32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17887   __au.__o
17888   = __builtin_aarch64_ld1x4v2si ((const __builtin_aarch64_simd_si *) __a);
17889   return __au.__i;
17890 }
17891 
17892 __extension__ extern __inline int32x4x4_t
17893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32_x4(const int32_t * __a)17894 vld1q_s32_x4 (const int32_t *__a)
17895 {
17896   union { int32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17897   __au.__o
17898   = __builtin_aarch64_ld1x4v4si ((const __builtin_aarch64_simd_si *) __a);
17899   return __au.__i;
17900 }
17901 
17902 __extension__ extern __inline uint8x8x4_t
17903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8_x4(const uint8_t * __a)17904 vld1_u8_x4 (const uint8_t *__a)
17905 {
17906   union { uint8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17907   __au.__o
17908     = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
17909   return __au.__i;
17910 }
17911 
17912 __extension__ extern __inline uint8x16x4_t
17913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8_x4(const uint8_t * __a)17914 vld1q_u8_x4 (const uint8_t *__a)
17915 {
17916   union { uint8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17917   __au.__o
17918     = __builtin_aarch64_ld1x4v16qi ((const __builtin_aarch64_simd_qi *) __a);
17919   return __au.__i;
17920 }
17921 
17922 __extension__ extern __inline uint16x4x4_t
17923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16_x4(const uint16_t * __a)17924 vld1_u16_x4 (const uint16_t *__a)
17925 {
17926   union { uint16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17927   __au.__o
17928     = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
17929   return __au.__i;
17930 }
17931 
17932 __extension__ extern __inline uint16x8x4_t
17933 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16_x4(const uint16_t * __a)17934 vld1q_u16_x4 (const uint16_t *__a)
17935 {
17936   union { uint16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17937   __au.__o
17938     = __builtin_aarch64_ld1x4v8hi ((const __builtin_aarch64_simd_hi *) __a);
17939   return __au.__i;
17940 }
17941 
17942 __extension__ extern __inline uint32x2x4_t
17943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32_x4(const uint32_t * __a)17944 vld1_u32_x4 (const uint32_t *__a)
17945 {
17946   union { uint32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17947   __au.__o
17948     = __builtin_aarch64_ld1x4v2si ((const __builtin_aarch64_simd_si *) __a);
17949   return __au.__i;
17950 }
17951 
17952 __extension__ extern __inline uint32x4x4_t
17953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32_x4(const uint32_t * __a)17954 vld1q_u32_x4 (const uint32_t *__a)
17955 {
17956   union { uint32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17957   __au.__o
17958     = __builtin_aarch64_ld1x4v4si ((const __builtin_aarch64_simd_si *) __a);
17959   return __au.__i;
17960 }
17961 
17962 __extension__ extern __inline float16x4x4_t
17963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16_x4(const float16_t * __a)17964 vld1_f16_x4 (const float16_t *__a)
17965 {
17966   union { float16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17967   __au.__o
17968     = __builtin_aarch64_ld1x4v4hf ((const __builtin_aarch64_simd_hf *) __a);
17969   return __au.__i;
17970 }
17971 
17972 __extension__ extern __inline float16x8x4_t
17973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16_x4(const float16_t * __a)17974 vld1q_f16_x4 (const float16_t *__a)
17975 {
17976   union { float16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17977   __au.__o
17978     = __builtin_aarch64_ld1x4v8hf ((const __builtin_aarch64_simd_hf *) __a);
17979   return __au.__i;
17980 }
17981 
17982 __extension__ extern __inline float32x2x4_t
17983 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32_x4(const float32_t * __a)17984 vld1_f32_x4 (const float32_t *__a)
17985 {
17986   union { float32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17987   __au.__o
17988     = __builtin_aarch64_ld1x4v2sf ((const __builtin_aarch64_simd_sf *) __a);
17989   return __au.__i;
17990 }
17991 
17992 __extension__ extern __inline float32x4x4_t
17993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32_x4(const float32_t * __a)17994 vld1q_f32_x4 (const float32_t *__a)
17995 {
17996   union { float32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
17997   __au.__o
17998     = __builtin_aarch64_ld1x4v4sf ((const __builtin_aarch64_simd_sf *) __a);
17999   return __au.__i;
18000 }
18001 
18002 __extension__ extern __inline poly8x8x4_t
18003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8_x4(const poly8_t * __a)18004 vld1_p8_x4 (const poly8_t *__a)
18005 {
18006   union { poly8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18007   __au.__o
18008     = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
18009   return __au.__i;
18010 }
18011 
18012 __extension__ extern __inline poly8x16x4_t
18013 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8_x4(const poly8_t * __a)18014 vld1q_p8_x4 (const poly8_t *__a)
18015 {
18016   union { poly8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18017   __au.__o
18018     = __builtin_aarch64_ld1x4v16qi ((const __builtin_aarch64_simd_qi *) __a);
18019   return __au.__i;
18020 }
18021 
18022 __extension__ extern __inline poly16x4x4_t
18023 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16_x4(const poly16_t * __a)18024 vld1_p16_x4 (const poly16_t *__a)
18025 {
18026   union { poly16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18027   __au.__o
18028     = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
18029   return __au.__i;
18030 }
18031 
18032 __extension__ extern __inline poly16x8x4_t
18033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16_x4(const poly16_t * __a)18034 vld1q_p16_x4 (const poly16_t *__a)
18035 {
18036   union { poly16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18037   __au.__o
18038     = __builtin_aarch64_ld1x4v8hi ((const __builtin_aarch64_simd_hi *) __a);
18039   return __au.__i;
18040 }
18041 
18042 __extension__ extern __inline int64x1x4_t
18043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64_x4(const int64_t * __a)18044 vld1_s64_x4 (const int64_t *__a)
18045 {
18046   union { int64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18047   __au.__o
18048     = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
18049   return __au.__i;
18050 }
18051 
18052 __extension__ extern __inline uint64x1x4_t
18053 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64_x4(const uint64_t * __a)18054 vld1_u64_x4 (const uint64_t *__a)
18055 {
18056   union { uint64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18057   __au.__o
18058     = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
18059   return __au.__i;
18060 }
18061 
18062 __extension__ extern __inline poly64x1x4_t
18063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64_x4(const poly64_t * __a)18064 vld1_p64_x4 (const poly64_t *__a)
18065 {
18066   union { poly64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18067   __au.__o
18068     = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
18069   return __au.__i;
18070 }
18071 
18072 __extension__ extern __inline int64x2x4_t
18073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64_x4(const int64_t * __a)18074 vld1q_s64_x4 (const int64_t *__a)
18075 {
18076   union { int64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18077   __au.__o
18078     = __builtin_aarch64_ld1x4v2di ((const __builtin_aarch64_simd_di *) __a);
18079   return __au.__i;
18080 }
18081 
18082 __extension__ extern __inline uint64x2x4_t
18083 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64_x4(const uint64_t * __a)18084 vld1q_u64_x4 (const uint64_t *__a)
18085 {
18086   union { uint64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18087   __au.__o
18088     = __builtin_aarch64_ld1x4v2di ((const __builtin_aarch64_simd_di *) __a);
18089   return __au.__i;
18090 }
18091 
18092 __extension__ extern __inline poly64x2x4_t
18093 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64_x4(const poly64_t * __a)18094 vld1q_p64_x4 (const poly64_t *__a)
18095 {
18096   union { poly64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18097   __au.__o
18098     = __builtin_aarch64_ld1x4v2di ((const __builtin_aarch64_simd_di *) __a);
18099   return __au.__i;
18100 }
18101 
18102 __extension__ extern __inline float64x1x4_t
18103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f64_x4(const float64_t * __a)18104 vld1_f64_x4 (const float64_t *__a)
18105 {
18106   union { float64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18107   __au.__o
18108     = __builtin_aarch64_ld1x4df ((const __builtin_aarch64_simd_df *) __a);
18109   return __au.__i;
18110 }
18111 
18112 __extension__ extern __inline float64x2x4_t
18113 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f64_x4(const float64_t * __a)18114 vld1q_f64_x4 (const float64_t *__a)
18115 {
18116   union { float64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
18117   __au.__o
18118     = __builtin_aarch64_ld1x4v2df ((const __builtin_aarch64_simd_df *) __a);
18119   return __au.__i;
18120 }
18121 
18122 /* vld1_dup  */
18123 
18124 __extension__ extern __inline float16x4_t
18125 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_f16(const float16_t * __a)18126 vld1_dup_f16 (const float16_t* __a)
18127 {
18128   return vdup_n_f16 (*__a);
18129 }
18130 
18131 __extension__ extern __inline float32x2_t
18132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_f32(const float32_t * __a)18133 vld1_dup_f32 (const float32_t* __a)
18134 {
18135   return vdup_n_f32 (*__a);
18136 }
18137 
18138 __extension__ extern __inline float64x1_t
18139 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_f64(const float64_t * __a)18140 vld1_dup_f64 (const float64_t* __a)
18141 {
18142   return vdup_n_f64 (*__a);
18143 }
18144 
18145 __extension__ extern __inline poly8x8_t
18146 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p8(const poly8_t * __a)18147 vld1_dup_p8 (const poly8_t* __a)
18148 {
18149   return vdup_n_p8 (*__a);
18150 }
18151 
18152 __extension__ extern __inline poly16x4_t
18153 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p16(const poly16_t * __a)18154 vld1_dup_p16 (const poly16_t* __a)
18155 {
18156   return vdup_n_p16 (*__a);
18157 }
18158 
18159 __extension__ extern __inline poly64x1_t
18160 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p64(const poly64_t * __a)18161 vld1_dup_p64 (const poly64_t* __a)
18162 {
18163   return vdup_n_p64 (*__a);
18164 }
18165 
18166 __extension__ extern __inline int8x8_t
18167 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s8(const int8_t * __a)18168 vld1_dup_s8 (const int8_t* __a)
18169 {
18170   return vdup_n_s8 (*__a);
18171 }
18172 
18173 __extension__ extern __inline int16x4_t
18174 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s16(const int16_t * __a)18175 vld1_dup_s16 (const int16_t* __a)
18176 {
18177   return vdup_n_s16 (*__a);
18178 }
18179 
18180 __extension__ extern __inline int32x2_t
18181 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s32(const int32_t * __a)18182 vld1_dup_s32 (const int32_t* __a)
18183 {
18184   return vdup_n_s32 (*__a);
18185 }
18186 
18187 __extension__ extern __inline int64x1_t
18188 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s64(const int64_t * __a)18189 vld1_dup_s64 (const int64_t* __a)
18190 {
18191   return vdup_n_s64 (*__a);
18192 }
18193 
18194 __extension__ extern __inline uint8x8_t
18195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u8(const uint8_t * __a)18196 vld1_dup_u8 (const uint8_t* __a)
18197 {
18198   return vdup_n_u8 (*__a);
18199 }
18200 
18201 __extension__ extern __inline uint16x4_t
18202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u16(const uint16_t * __a)18203 vld1_dup_u16 (const uint16_t* __a)
18204 {
18205   return vdup_n_u16 (*__a);
18206 }
18207 
18208 __extension__ extern __inline uint32x2_t
18209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u32(const uint32_t * __a)18210 vld1_dup_u32 (const uint32_t* __a)
18211 {
18212   return vdup_n_u32 (*__a);
18213 }
18214 
18215 __extension__ extern __inline uint64x1_t
18216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u64(const uint64_t * __a)18217 vld1_dup_u64 (const uint64_t* __a)
18218 {
18219   return vdup_n_u64 (*__a);
18220 }
18221 
18222 /* vld1q_dup  */
18223 
18224 __extension__ extern __inline float16x8_t
18225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_f16(const float16_t * __a)18226 vld1q_dup_f16 (const float16_t* __a)
18227 {
18228   return vdupq_n_f16 (*__a);
18229 }
18230 
18231 __extension__ extern __inline float32x4_t
18232 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_f32(const float32_t * __a)18233 vld1q_dup_f32 (const float32_t* __a)
18234 {
18235   return vdupq_n_f32 (*__a);
18236 }
18237 
18238 __extension__ extern __inline float64x2_t
18239 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_f64(const float64_t * __a)18240 vld1q_dup_f64 (const float64_t* __a)
18241 {
18242   return vdupq_n_f64 (*__a);
18243 }
18244 
18245 __extension__ extern __inline poly8x16_t
18246 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p8(const poly8_t * __a)18247 vld1q_dup_p8 (const poly8_t* __a)
18248 {
18249   return vdupq_n_p8 (*__a);
18250 }
18251 
18252 __extension__ extern __inline poly16x8_t
18253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p16(const poly16_t * __a)18254 vld1q_dup_p16 (const poly16_t* __a)
18255 {
18256   return vdupq_n_p16 (*__a);
18257 }
18258 
18259 __extension__ extern __inline poly64x2_t
18260 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p64(const poly64_t * __a)18261 vld1q_dup_p64 (const poly64_t* __a)
18262 {
18263   return vdupq_n_p64 (*__a);
18264 }
18265 
18266  __extension__ extern __inline int8x16_t
18267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s8(const int8_t * __a)18268 vld1q_dup_s8 (const int8_t* __a)
18269 {
18270   return vdupq_n_s8 (*__a);
18271 }
18272 
18273 __extension__ extern __inline int16x8_t
18274 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s16(const int16_t * __a)18275 vld1q_dup_s16 (const int16_t* __a)
18276 {
18277   return vdupq_n_s16 (*__a);
18278 }
18279 
18280 __extension__ extern __inline int32x4_t
18281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s32(const int32_t * __a)18282 vld1q_dup_s32 (const int32_t* __a)
18283 {
18284   return vdupq_n_s32 (*__a);
18285 }
18286 
18287 __extension__ extern __inline int64x2_t
18288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s64(const int64_t * __a)18289 vld1q_dup_s64 (const int64_t* __a)
18290 {
18291   return vdupq_n_s64 (*__a);
18292 }
18293 
18294 __extension__ extern __inline uint8x16_t
18295 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u8(const uint8_t * __a)18296 vld1q_dup_u8 (const uint8_t* __a)
18297 {
18298   return vdupq_n_u8 (*__a);
18299 }
18300 
18301 __extension__ extern __inline uint16x8_t
18302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u16(const uint16_t * __a)18303 vld1q_dup_u16 (const uint16_t* __a)
18304 {
18305   return vdupq_n_u16 (*__a);
18306 }
18307 
18308 __extension__ extern __inline uint32x4_t
18309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u32(const uint32_t * __a)18310 vld1q_dup_u32 (const uint32_t* __a)
18311 {
18312   return vdupq_n_u32 (*__a);
18313 }
18314 
18315 __extension__ extern __inline uint64x2_t
18316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u64(const uint64_t * __a)18317 vld1q_dup_u64 (const uint64_t* __a)
18318 {
18319   return vdupq_n_u64 (*__a);
18320 }
18321 
18322 /* vld1_lane  */
18323 
18324 __extension__ extern __inline float16x4_t
18325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_f16(const float16_t * __src,float16x4_t __vec,const int __lane)18326 vld1_lane_f16 (const float16_t *__src, float16x4_t __vec, const int __lane)
18327 {
18328   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18329 }
18330 
18331 __extension__ extern __inline float32x2_t
18332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_f32(const float32_t * __src,float32x2_t __vec,const int __lane)18333 vld1_lane_f32 (const float32_t *__src, float32x2_t __vec, const int __lane)
18334 {
18335   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18336 }
18337 
18338 __extension__ extern __inline float64x1_t
18339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_f64(const float64_t * __src,float64x1_t __vec,const int __lane)18340 vld1_lane_f64 (const float64_t *__src, float64x1_t __vec, const int __lane)
18341 {
18342   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18343 }
18344 
18345 __extension__ extern __inline poly8x8_t
18346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p8(const poly8_t * __src,poly8x8_t __vec,const int __lane)18347 vld1_lane_p8 (const poly8_t *__src, poly8x8_t __vec, const int __lane)
18348 {
18349   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18350 }
18351 
18352 __extension__ extern __inline poly16x4_t
18353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p16(const poly16_t * __src,poly16x4_t __vec,const int __lane)18354 vld1_lane_p16 (const poly16_t *__src, poly16x4_t __vec, const int __lane)
18355 {
18356   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18357 }
18358 
18359 __extension__ extern __inline poly64x1_t
18360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p64(const poly64_t * __src,poly64x1_t __vec,const int __lane)18361 vld1_lane_p64 (const poly64_t *__src, poly64x1_t __vec, const int __lane)
18362 {
18363   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18364 }
18365 
18366 __extension__ extern __inline int8x8_t
18367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s8(const int8_t * __src,int8x8_t __vec,const int __lane)18368 vld1_lane_s8 (const int8_t *__src, int8x8_t __vec, const int __lane)
18369 {
18370   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18371 }
18372 
18373 __extension__ extern __inline int16x4_t
18374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s16(const int16_t * __src,int16x4_t __vec,const int __lane)18375 vld1_lane_s16 (const int16_t *__src, int16x4_t __vec, const int __lane)
18376 {
18377   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18378 }
18379 
18380 __extension__ extern __inline int32x2_t
18381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s32(const int32_t * __src,int32x2_t __vec,const int __lane)18382 vld1_lane_s32 (const int32_t *__src, int32x2_t __vec, const int __lane)
18383 {
18384   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18385 }
18386 
18387 __extension__ extern __inline int64x1_t
18388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s64(const int64_t * __src,int64x1_t __vec,const int __lane)18389 vld1_lane_s64 (const int64_t *__src, int64x1_t __vec, const int __lane)
18390 {
18391   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18392 }
18393 
18394 __extension__ extern __inline uint8x8_t
18395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u8(const uint8_t * __src,uint8x8_t __vec,const int __lane)18396 vld1_lane_u8 (const uint8_t *__src, uint8x8_t __vec, const int __lane)
18397 {
18398   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18399 }
18400 
18401 __extension__ extern __inline uint16x4_t
18402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u16(const uint16_t * __src,uint16x4_t __vec,const int __lane)18403 vld1_lane_u16 (const uint16_t *__src, uint16x4_t __vec, const int __lane)
18404 {
18405   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18406 }
18407 
18408 __extension__ extern __inline uint32x2_t
18409 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u32(const uint32_t * __src,uint32x2_t __vec,const int __lane)18410 vld1_lane_u32 (const uint32_t *__src, uint32x2_t __vec, const int __lane)
18411 {
18412   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18413 }
18414 
18415 __extension__ extern __inline uint64x1_t
18416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u64(const uint64_t * __src,uint64x1_t __vec,const int __lane)18417 vld1_lane_u64 (const uint64_t *__src, uint64x1_t __vec, const int __lane)
18418 {
18419   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18420 }
18421 
18422 /* vld1q_lane  */
18423 
18424 __extension__ extern __inline float16x8_t
18425 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_f16(const float16_t * __src,float16x8_t __vec,const int __lane)18426 vld1q_lane_f16 (const float16_t *__src, float16x8_t __vec, const int __lane)
18427 {
18428   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18429 }
18430 
18431 __extension__ extern __inline float32x4_t
18432 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_f32(const float32_t * __src,float32x4_t __vec,const int __lane)18433 vld1q_lane_f32 (const float32_t *__src, float32x4_t __vec, const int __lane)
18434 {
18435   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18436 }
18437 
18438 __extension__ extern __inline float64x2_t
18439 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_f64(const float64_t * __src,float64x2_t __vec,const int __lane)18440 vld1q_lane_f64 (const float64_t *__src, float64x2_t __vec, const int __lane)
18441 {
18442   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18443 }
18444 
18445 __extension__ extern __inline poly8x16_t
18446 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p8(const poly8_t * __src,poly8x16_t __vec,const int __lane)18447 vld1q_lane_p8 (const poly8_t *__src, poly8x16_t __vec, const int __lane)
18448 {
18449   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18450 }
18451 
18452 __extension__ extern __inline poly16x8_t
18453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p16(const poly16_t * __src,poly16x8_t __vec,const int __lane)18454 vld1q_lane_p16 (const poly16_t *__src, poly16x8_t __vec, const int __lane)
18455 {
18456   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18457 }
18458 
18459 __extension__ extern __inline poly64x2_t
18460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p64(const poly64_t * __src,poly64x2_t __vec,const int __lane)18461 vld1q_lane_p64 (const poly64_t *__src, poly64x2_t __vec, const int __lane)
18462 {
18463   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18464 }
18465 
18466 __extension__ extern __inline int8x16_t
18467 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s8(const int8_t * __src,int8x16_t __vec,const int __lane)18468 vld1q_lane_s8 (const int8_t *__src, int8x16_t __vec, const int __lane)
18469 {
18470   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18471 }
18472 
18473 __extension__ extern __inline int16x8_t
18474 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s16(const int16_t * __src,int16x8_t __vec,const int __lane)18475 vld1q_lane_s16 (const int16_t *__src, int16x8_t __vec, const int __lane)
18476 {
18477   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18478 }
18479 
18480 __extension__ extern __inline int32x4_t
18481 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s32(const int32_t * __src,int32x4_t __vec,const int __lane)18482 vld1q_lane_s32 (const int32_t *__src, int32x4_t __vec, const int __lane)
18483 {
18484   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18485 }
18486 
18487 __extension__ extern __inline int64x2_t
18488 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s64(const int64_t * __src,int64x2_t __vec,const int __lane)18489 vld1q_lane_s64 (const int64_t *__src, int64x2_t __vec, const int __lane)
18490 {
18491   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18492 }
18493 
18494 __extension__ extern __inline uint8x16_t
18495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u8(const uint8_t * __src,uint8x16_t __vec,const int __lane)18496 vld1q_lane_u8 (const uint8_t *__src, uint8x16_t __vec, const int __lane)
18497 {
18498   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18499 }
18500 
18501 __extension__ extern __inline uint16x8_t
18502 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u16(const uint16_t * __src,uint16x8_t __vec,const int __lane)18503 vld1q_lane_u16 (const uint16_t *__src, uint16x8_t __vec, const int __lane)
18504 {
18505   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18506 }
18507 
18508 __extension__ extern __inline uint32x4_t
18509 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u32(const uint32_t * __src,uint32x4_t __vec,const int __lane)18510 vld1q_lane_u32 (const uint32_t *__src, uint32x4_t __vec, const int __lane)
18511 {
18512   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18513 }
18514 
18515 __extension__ extern __inline uint64x2_t
18516 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u64(const uint64_t * __src,uint64x2_t __vec,const int __lane)18517 vld1q_lane_u64 (const uint64_t *__src, uint64x2_t __vec, const int __lane)
18518 {
18519   return __aarch64_vset_lane_any (*__src, __vec, __lane);
18520 }
18521 
18522 /* vldn */
18523 
18524 __extension__ extern __inline int64x1x2_t
18525 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s64(const int64_t * __a)18526 vld2_s64 (const int64_t * __a)
18527 {
18528   int64x1x2_t ret;
18529   __builtin_aarch64_simd_oi __o;
18530   __o = __builtin_aarch64_ld2di ((const __builtin_aarch64_simd_di *) __a);
18531   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
18532   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
18533   return ret;
18534 }
18535 
18536 __extension__ extern __inline uint64x1x2_t
18537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u64(const uint64_t * __a)18538 vld2_u64 (const uint64_t * __a)
18539 {
18540   uint64x1x2_t ret;
18541   __builtin_aarch64_simd_oi __o;
18542   __o = __builtin_aarch64_ld2di ((const __builtin_aarch64_simd_di *) __a);
18543   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
18544   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
18545   return ret;
18546 }
18547 
18548 __extension__ extern __inline float64x1x2_t
18549 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_f64(const float64_t * __a)18550 vld2_f64 (const float64_t * __a)
18551 {
18552   float64x1x2_t ret;
18553   __builtin_aarch64_simd_oi __o;
18554   __o = __builtin_aarch64_ld2df ((const __builtin_aarch64_simd_df *) __a);
18555   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 0)};
18556   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 1)};
18557   return ret;
18558 }
18559 
18560 __extension__ extern __inline int8x8x2_t
18561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s8(const int8_t * __a)18562 vld2_s8 (const int8_t * __a)
18563 {
18564   int8x8x2_t ret;
18565   __builtin_aarch64_simd_oi __o;
18566   __o = __builtin_aarch64_ld2v8qi ((const __builtin_aarch64_simd_qi *) __a);
18567   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
18568   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
18569   return ret;
18570 }
18571 
18572 __extension__ extern __inline poly8x8x2_t
18573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p8(const poly8_t * __a)18574 vld2_p8 (const poly8_t * __a)
18575 {
18576   poly8x8x2_t ret;
18577   __builtin_aarch64_simd_oi __o;
18578   __o = __builtin_aarch64_ld2v8qi ((const __builtin_aarch64_simd_qi *) __a);
18579   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
18580   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
18581   return ret;
18582 }
18583 
18584 __extension__ extern __inline poly64x1x2_t
18585 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p64(const poly64_t * __a)18586 vld2_p64 (const poly64_t * __a)
18587 {
18588   poly64x1x2_t ret;
18589   __builtin_aarch64_simd_oi __o;
18590   __o = __builtin_aarch64_ld2di ((const __builtin_aarch64_simd_di *) __a);
18591   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregoidi_pss (__o, 0);
18592   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregoidi_pss (__o, 1);
18593   return ret;
18594 }
18595 
18596 __extension__ extern __inline int16x4x2_t
18597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s16(const int16_t * __a)18598 vld2_s16 (const int16_t * __a)
18599 {
18600   int16x4x2_t ret;
18601   __builtin_aarch64_simd_oi __o;
18602   __o = __builtin_aarch64_ld2v4hi ((const __builtin_aarch64_simd_hi *) __a);
18603   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
18604   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
18605   return ret;
18606 }
18607 
18608 __extension__ extern __inline poly16x4x2_t
18609 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p16(const poly16_t * __a)18610 vld2_p16 (const poly16_t * __a)
18611 {
18612   poly16x4x2_t ret;
18613   __builtin_aarch64_simd_oi __o;
18614   __o = __builtin_aarch64_ld2v4hi ((const __builtin_aarch64_simd_hi *) __a);
18615   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
18616   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
18617   return ret;
18618 }
18619 
18620 __extension__ extern __inline int32x2x2_t
18621 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s32(const int32_t * __a)18622 vld2_s32 (const int32_t * __a)
18623 {
18624   int32x2x2_t ret;
18625   __builtin_aarch64_simd_oi __o;
18626   __o = __builtin_aarch64_ld2v2si ((const __builtin_aarch64_simd_si *) __a);
18627   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
18628   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
18629   return ret;
18630 }
18631 
18632 __extension__ extern __inline uint8x8x2_t
18633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u8(const uint8_t * __a)18634 vld2_u8 (const uint8_t * __a)
18635 {
18636   uint8x8x2_t ret;
18637   __builtin_aarch64_simd_oi __o;
18638   __o = __builtin_aarch64_ld2v8qi ((const __builtin_aarch64_simd_qi *) __a);
18639   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
18640   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
18641   return ret;
18642 }
18643 
18644 __extension__ extern __inline uint16x4x2_t
18645 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u16(const uint16_t * __a)18646 vld2_u16 (const uint16_t * __a)
18647 {
18648   uint16x4x2_t ret;
18649   __builtin_aarch64_simd_oi __o;
18650   __o = __builtin_aarch64_ld2v4hi ((const __builtin_aarch64_simd_hi *) __a);
18651   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
18652   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
18653   return ret;
18654 }
18655 
18656 __extension__ extern __inline uint32x2x2_t
18657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u32(const uint32_t * __a)18658 vld2_u32 (const uint32_t * __a)
18659 {
18660   uint32x2x2_t ret;
18661   __builtin_aarch64_simd_oi __o;
18662   __o = __builtin_aarch64_ld2v2si ((const __builtin_aarch64_simd_si *) __a);
18663   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
18664   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
18665   return ret;
18666 }
18667 
18668 __extension__ extern __inline float16x4x2_t
18669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_f16(const float16_t * __a)18670 vld2_f16 (const float16_t * __a)
18671 {
18672   float16x4x2_t ret;
18673   __builtin_aarch64_simd_oi __o;
18674   __o = __builtin_aarch64_ld2v4hf (__a);
18675   ret.val[0] = __builtin_aarch64_get_dregoiv4hf (__o, 0);
18676   ret.val[1] = __builtin_aarch64_get_dregoiv4hf (__o, 1);
18677   return ret;
18678 }
18679 
18680 __extension__ extern __inline float32x2x2_t
18681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_f32(const float32_t * __a)18682 vld2_f32 (const float32_t * __a)
18683 {
18684   float32x2x2_t ret;
18685   __builtin_aarch64_simd_oi __o;
18686   __o = __builtin_aarch64_ld2v2sf ((const __builtin_aarch64_simd_sf *) __a);
18687   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 0);
18688   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 1);
18689   return ret;
18690 }
18691 
18692 __extension__ extern __inline int8x16x2_t
18693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s8(const int8_t * __a)18694 vld2q_s8 (const int8_t * __a)
18695 {
18696   int8x16x2_t ret;
18697   __builtin_aarch64_simd_oi __o;
18698   __o = __builtin_aarch64_ld2v16qi ((const __builtin_aarch64_simd_qi *) __a);
18699   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
18700   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
18701   return ret;
18702 }
18703 
18704 __extension__ extern __inline poly8x16x2_t
18705 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_p8(const poly8_t * __a)18706 vld2q_p8 (const poly8_t * __a)
18707 {
18708   poly8x16x2_t ret;
18709   __builtin_aarch64_simd_oi __o;
18710   __o = __builtin_aarch64_ld2v16qi ((const __builtin_aarch64_simd_qi *) __a);
18711   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
18712   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
18713   return ret;
18714 }
18715 
18716 __extension__ extern __inline int16x8x2_t
18717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s16(const int16_t * __a)18718 vld2q_s16 (const int16_t * __a)
18719 {
18720   int16x8x2_t ret;
18721   __builtin_aarch64_simd_oi __o;
18722   __o = __builtin_aarch64_ld2v8hi ((const __builtin_aarch64_simd_hi *) __a);
18723   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
18724   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
18725   return ret;
18726 }
18727 
18728 __extension__ extern __inline poly16x8x2_t
18729 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_p16(const poly16_t * __a)18730 vld2q_p16 (const poly16_t * __a)
18731 {
18732   poly16x8x2_t ret;
18733   __builtin_aarch64_simd_oi __o;
18734   __o = __builtin_aarch64_ld2v8hi ((const __builtin_aarch64_simd_hi *) __a);
18735   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
18736   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
18737   return ret;
18738 }
18739 
18740 __extension__ extern __inline poly64x2x2_t
18741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_p64(const poly64_t * __a)18742 vld2q_p64 (const poly64_t * __a)
18743 {
18744   poly64x2x2_t ret;
18745   __builtin_aarch64_simd_oi __o;
18746   __o = __builtin_aarch64_ld2v2di ((const __builtin_aarch64_simd_di *) __a);
18747   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di_pss (__o, 0);
18748   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di_pss (__o, 1);
18749   return ret;
18750 }
18751 
18752 __extension__ extern __inline int32x4x2_t
18753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s32(const int32_t * __a)18754 vld2q_s32 (const int32_t * __a)
18755 {
18756   int32x4x2_t ret;
18757   __builtin_aarch64_simd_oi __o;
18758   __o = __builtin_aarch64_ld2v4si ((const __builtin_aarch64_simd_si *) __a);
18759   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
18760   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
18761   return ret;
18762 }
18763 
18764 __extension__ extern __inline int64x2x2_t
18765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s64(const int64_t * __a)18766 vld2q_s64 (const int64_t * __a)
18767 {
18768   int64x2x2_t ret;
18769   __builtin_aarch64_simd_oi __o;
18770   __o = __builtin_aarch64_ld2v2di ((const __builtin_aarch64_simd_di *) __a);
18771   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
18772   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
18773   return ret;
18774 }
18775 
18776 __extension__ extern __inline uint8x16x2_t
18777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u8(const uint8_t * __a)18778 vld2q_u8 (const uint8_t * __a)
18779 {
18780   uint8x16x2_t ret;
18781   __builtin_aarch64_simd_oi __o;
18782   __o = __builtin_aarch64_ld2v16qi ((const __builtin_aarch64_simd_qi *) __a);
18783   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
18784   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
18785   return ret;
18786 }
18787 
18788 __extension__ extern __inline uint16x8x2_t
18789 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u16(const uint16_t * __a)18790 vld2q_u16 (const uint16_t * __a)
18791 {
18792   uint16x8x2_t ret;
18793   __builtin_aarch64_simd_oi __o;
18794   __o = __builtin_aarch64_ld2v8hi ((const __builtin_aarch64_simd_hi *) __a);
18795   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
18796   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
18797   return ret;
18798 }
18799 
18800 __extension__ extern __inline uint32x4x2_t
18801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u32(const uint32_t * __a)18802 vld2q_u32 (const uint32_t * __a)
18803 {
18804   uint32x4x2_t ret;
18805   __builtin_aarch64_simd_oi __o;
18806   __o = __builtin_aarch64_ld2v4si ((const __builtin_aarch64_simd_si *) __a);
18807   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
18808   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
18809   return ret;
18810 }
18811 
18812 __extension__ extern __inline uint64x2x2_t
18813 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u64(const uint64_t * __a)18814 vld2q_u64 (const uint64_t * __a)
18815 {
18816   uint64x2x2_t ret;
18817   __builtin_aarch64_simd_oi __o;
18818   __o = __builtin_aarch64_ld2v2di ((const __builtin_aarch64_simd_di *) __a);
18819   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
18820   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
18821   return ret;
18822 }
18823 
18824 __extension__ extern __inline float16x8x2_t
18825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_f16(const float16_t * __a)18826 vld2q_f16 (const float16_t * __a)
18827 {
18828   float16x8x2_t ret;
18829   __builtin_aarch64_simd_oi __o;
18830   __o = __builtin_aarch64_ld2v8hf (__a);
18831   ret.val[0] = __builtin_aarch64_get_qregoiv8hf (__o, 0);
18832   ret.val[1] = __builtin_aarch64_get_qregoiv8hf (__o, 1);
18833   return ret;
18834 }
18835 
18836 __extension__ extern __inline float32x4x2_t
18837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_f32(const float32_t * __a)18838 vld2q_f32 (const float32_t * __a)
18839 {
18840   float32x4x2_t ret;
18841   __builtin_aarch64_simd_oi __o;
18842   __o = __builtin_aarch64_ld2v4sf ((const __builtin_aarch64_simd_sf *) __a);
18843   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 0);
18844   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 1);
18845   return ret;
18846 }
18847 
18848 __extension__ extern __inline float64x2x2_t
18849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_f64(const float64_t * __a)18850 vld2q_f64 (const float64_t * __a)
18851 {
18852   float64x2x2_t ret;
18853   __builtin_aarch64_simd_oi __o;
18854   __o = __builtin_aarch64_ld2v2df ((const __builtin_aarch64_simd_df *) __a);
18855   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 0);
18856   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 1);
18857   return ret;
18858 }
18859 
18860 __extension__ extern __inline int64x1x3_t
18861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s64(const int64_t * __a)18862 vld3_s64 (const int64_t * __a)
18863 {
18864   int64x1x3_t ret;
18865   __builtin_aarch64_simd_ci __o;
18866   __o = __builtin_aarch64_ld3di ((const __builtin_aarch64_simd_di *) __a);
18867   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
18868   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
18869   ret.val[2] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
18870   return ret;
18871 }
18872 
18873 __extension__ extern __inline uint64x1x3_t
18874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u64(const uint64_t * __a)18875 vld3_u64 (const uint64_t * __a)
18876 {
18877   uint64x1x3_t ret;
18878   __builtin_aarch64_simd_ci __o;
18879   __o = __builtin_aarch64_ld3di ((const __builtin_aarch64_simd_di *) __a);
18880   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
18881   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
18882   ret.val[2] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
18883   return ret;
18884 }
18885 
18886 __extension__ extern __inline float64x1x3_t
18887 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_f64(const float64_t * __a)18888 vld3_f64 (const float64_t * __a)
18889 {
18890   float64x1x3_t ret;
18891   __builtin_aarch64_simd_ci __o;
18892   __o = __builtin_aarch64_ld3df ((const __builtin_aarch64_simd_df *) __a);
18893   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 0)};
18894   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 1)};
18895   ret.val[2] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 2)};
18896   return ret;
18897 }
18898 
18899 __extension__ extern __inline int8x8x3_t
18900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s8(const int8_t * __a)18901 vld3_s8 (const int8_t * __a)
18902 {
18903   int8x8x3_t ret;
18904   __builtin_aarch64_simd_ci __o;
18905   __o = __builtin_aarch64_ld3v8qi ((const __builtin_aarch64_simd_qi *) __a);
18906   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
18907   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
18908   ret.val[2] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
18909   return ret;
18910 }
18911 
18912 __extension__ extern __inline poly8x8x3_t
18913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p8(const poly8_t * __a)18914 vld3_p8 (const poly8_t * __a)
18915 {
18916   poly8x8x3_t ret;
18917   __builtin_aarch64_simd_ci __o;
18918   __o = __builtin_aarch64_ld3v8qi ((const __builtin_aarch64_simd_qi *) __a);
18919   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
18920   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
18921   ret.val[2] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
18922   return ret;
18923 }
18924 
18925 __extension__ extern __inline int16x4x3_t
18926 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s16(const int16_t * __a)18927 vld3_s16 (const int16_t * __a)
18928 {
18929   int16x4x3_t ret;
18930   __builtin_aarch64_simd_ci __o;
18931   __o = __builtin_aarch64_ld3v4hi ((const __builtin_aarch64_simd_hi *) __a);
18932   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
18933   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
18934   ret.val[2] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
18935   return ret;
18936 }
18937 
18938 __extension__ extern __inline poly16x4x3_t
18939 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p16(const poly16_t * __a)18940 vld3_p16 (const poly16_t * __a)
18941 {
18942   poly16x4x3_t ret;
18943   __builtin_aarch64_simd_ci __o;
18944   __o = __builtin_aarch64_ld3v4hi ((const __builtin_aarch64_simd_hi *) __a);
18945   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
18946   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
18947   ret.val[2] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
18948   return ret;
18949 }
18950 
18951 __extension__ extern __inline int32x2x3_t
18952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s32(const int32_t * __a)18953 vld3_s32 (const int32_t * __a)
18954 {
18955   int32x2x3_t ret;
18956   __builtin_aarch64_simd_ci __o;
18957   __o = __builtin_aarch64_ld3v2si ((const __builtin_aarch64_simd_si *) __a);
18958   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 0);
18959   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 1);
18960   ret.val[2] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 2);
18961   return ret;
18962 }
18963 
18964 __extension__ extern __inline uint8x8x3_t
18965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u8(const uint8_t * __a)18966 vld3_u8 (const uint8_t * __a)
18967 {
18968   uint8x8x3_t ret;
18969   __builtin_aarch64_simd_ci __o;
18970   __o = __builtin_aarch64_ld3v8qi ((const __builtin_aarch64_simd_qi *) __a);
18971   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
18972   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
18973   ret.val[2] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
18974   return ret;
18975 }
18976 
18977 __extension__ extern __inline uint16x4x3_t
18978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u16(const uint16_t * __a)18979 vld3_u16 (const uint16_t * __a)
18980 {
18981   uint16x4x3_t ret;
18982   __builtin_aarch64_simd_ci __o;
18983   __o = __builtin_aarch64_ld3v4hi ((const __builtin_aarch64_simd_hi *) __a);
18984   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
18985   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
18986   ret.val[2] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
18987   return ret;
18988 }
18989 
18990 __extension__ extern __inline uint32x2x3_t
18991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u32(const uint32_t * __a)18992 vld3_u32 (const uint32_t * __a)
18993 {
18994   uint32x2x3_t ret;
18995   __builtin_aarch64_simd_ci __o;
18996   __o = __builtin_aarch64_ld3v2si ((const __builtin_aarch64_simd_si *) __a);
18997   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 0);
18998   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 1);
18999   ret.val[2] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 2);
19000   return ret;
19001 }
19002 
19003 __extension__ extern __inline float16x4x3_t
19004 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_f16(const float16_t * __a)19005 vld3_f16 (const float16_t * __a)
19006 {
19007   float16x4x3_t ret;
19008   __builtin_aarch64_simd_ci __o;
19009   __o = __builtin_aarch64_ld3v4hf (__a);
19010   ret.val[0] = __builtin_aarch64_get_dregciv4hf (__o, 0);
19011   ret.val[1] = __builtin_aarch64_get_dregciv4hf (__o, 1);
19012   ret.val[2] = __builtin_aarch64_get_dregciv4hf (__o, 2);
19013   return ret;
19014 }
19015 
19016 __extension__ extern __inline float32x2x3_t
19017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_f32(const float32_t * __a)19018 vld3_f32 (const float32_t * __a)
19019 {
19020   float32x2x3_t ret;
19021   __builtin_aarch64_simd_ci __o;
19022   __o = __builtin_aarch64_ld3v2sf ((const __builtin_aarch64_simd_sf *) __a);
19023   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 0);
19024   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 1);
19025   ret.val[2] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 2);
19026   return ret;
19027 }
19028 
19029 __extension__ extern __inline poly64x1x3_t
19030 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p64(const poly64_t * __a)19031 vld3_p64 (const poly64_t * __a)
19032 {
19033   poly64x1x3_t ret;
19034   __builtin_aarch64_simd_ci __o;
19035   __o = __builtin_aarch64_ld3di ((const __builtin_aarch64_simd_di *) __a);
19036   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 0);
19037   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 1);
19038   ret.val[2] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 2);
19039   return ret;
19040 }
19041 
19042 __extension__ extern __inline int8x16x3_t
19043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s8(const int8_t * __a)19044 vld3q_s8 (const int8_t * __a)
19045 {
19046   int8x16x3_t ret;
19047   __builtin_aarch64_simd_ci __o;
19048   __o = __builtin_aarch64_ld3v16qi ((const __builtin_aarch64_simd_qi *) __a);
19049   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
19050   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
19051   ret.val[2] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
19052   return ret;
19053 }
19054 
19055 __extension__ extern __inline poly8x16x3_t
19056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_p8(const poly8_t * __a)19057 vld3q_p8 (const poly8_t * __a)
19058 {
19059   poly8x16x3_t ret;
19060   __builtin_aarch64_simd_ci __o;
19061   __o = __builtin_aarch64_ld3v16qi ((const __builtin_aarch64_simd_qi *) __a);
19062   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
19063   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
19064   ret.val[2] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
19065   return ret;
19066 }
19067 
19068 __extension__ extern __inline int16x8x3_t
19069 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s16(const int16_t * __a)19070 vld3q_s16 (const int16_t * __a)
19071 {
19072   int16x8x3_t ret;
19073   __builtin_aarch64_simd_ci __o;
19074   __o = __builtin_aarch64_ld3v8hi ((const __builtin_aarch64_simd_hi *) __a);
19075   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
19076   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
19077   ret.val[2] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
19078   return ret;
19079 }
19080 
19081 __extension__ extern __inline poly16x8x3_t
19082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_p16(const poly16_t * __a)19083 vld3q_p16 (const poly16_t * __a)
19084 {
19085   poly16x8x3_t ret;
19086   __builtin_aarch64_simd_ci __o;
19087   __o = __builtin_aarch64_ld3v8hi ((const __builtin_aarch64_simd_hi *) __a);
19088   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
19089   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
19090   ret.val[2] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
19091   return ret;
19092 }
19093 
19094 __extension__ extern __inline int32x4x3_t
19095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s32(const int32_t * __a)19096 vld3q_s32 (const int32_t * __a)
19097 {
19098   int32x4x3_t ret;
19099   __builtin_aarch64_simd_ci __o;
19100   __o = __builtin_aarch64_ld3v4si ((const __builtin_aarch64_simd_si *) __a);
19101   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 0);
19102   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 1);
19103   ret.val[2] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 2);
19104   return ret;
19105 }
19106 
19107 __extension__ extern __inline int64x2x3_t
19108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s64(const int64_t * __a)19109 vld3q_s64 (const int64_t * __a)
19110 {
19111   int64x2x3_t ret;
19112   __builtin_aarch64_simd_ci __o;
19113   __o = __builtin_aarch64_ld3v2di ((const __builtin_aarch64_simd_di *) __a);
19114   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 0);
19115   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 1);
19116   ret.val[2] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 2);
19117   return ret;
19118 }
19119 
19120 __extension__ extern __inline uint8x16x3_t
19121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u8(const uint8_t * __a)19122 vld3q_u8 (const uint8_t * __a)
19123 {
19124   uint8x16x3_t ret;
19125   __builtin_aarch64_simd_ci __o;
19126   __o = __builtin_aarch64_ld3v16qi ((const __builtin_aarch64_simd_qi *) __a);
19127   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
19128   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
19129   ret.val[2] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
19130   return ret;
19131 }
19132 
19133 __extension__ extern __inline uint16x8x3_t
19134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u16(const uint16_t * __a)19135 vld3q_u16 (const uint16_t * __a)
19136 {
19137   uint16x8x3_t ret;
19138   __builtin_aarch64_simd_ci __o;
19139   __o = __builtin_aarch64_ld3v8hi ((const __builtin_aarch64_simd_hi *) __a);
19140   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
19141   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
19142   ret.val[2] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
19143   return ret;
19144 }
19145 
19146 __extension__ extern __inline uint32x4x3_t
19147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u32(const uint32_t * __a)19148 vld3q_u32 (const uint32_t * __a)
19149 {
19150   uint32x4x3_t ret;
19151   __builtin_aarch64_simd_ci __o;
19152   __o = __builtin_aarch64_ld3v4si ((const __builtin_aarch64_simd_si *) __a);
19153   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 0);
19154   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 1);
19155   ret.val[2] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 2);
19156   return ret;
19157 }
19158 
19159 __extension__ extern __inline uint64x2x3_t
19160 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u64(const uint64_t * __a)19161 vld3q_u64 (const uint64_t * __a)
19162 {
19163   uint64x2x3_t ret;
19164   __builtin_aarch64_simd_ci __o;
19165   __o = __builtin_aarch64_ld3v2di ((const __builtin_aarch64_simd_di *) __a);
19166   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 0);
19167   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 1);
19168   ret.val[2] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 2);
19169   return ret;
19170 }
19171 
19172 __extension__ extern __inline float16x8x3_t
19173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_f16(const float16_t * __a)19174 vld3q_f16 (const float16_t * __a)
19175 {
19176   float16x8x3_t ret;
19177   __builtin_aarch64_simd_ci __o;
19178   __o = __builtin_aarch64_ld3v8hf (__a);
19179   ret.val[0] = __builtin_aarch64_get_qregciv8hf (__o, 0);
19180   ret.val[1] = __builtin_aarch64_get_qregciv8hf (__o, 1);
19181   ret.val[2] = __builtin_aarch64_get_qregciv8hf (__o, 2);
19182   return ret;
19183 }
19184 
19185 __extension__ extern __inline float32x4x3_t
19186 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_f32(const float32_t * __a)19187 vld3q_f32 (const float32_t * __a)
19188 {
19189   float32x4x3_t ret;
19190   __builtin_aarch64_simd_ci __o;
19191   __o = __builtin_aarch64_ld3v4sf ((const __builtin_aarch64_simd_sf *) __a);
19192   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 0);
19193   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 1);
19194   ret.val[2] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 2);
19195   return ret;
19196 }
19197 
19198 __extension__ extern __inline float64x2x3_t
19199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_f64(const float64_t * __a)19200 vld3q_f64 (const float64_t * __a)
19201 {
19202   float64x2x3_t ret;
19203   __builtin_aarch64_simd_ci __o;
19204   __o = __builtin_aarch64_ld3v2df ((const __builtin_aarch64_simd_df *) __a);
19205   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 0);
19206   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 1);
19207   ret.val[2] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 2);
19208   return ret;
19209 }
19210 
19211 __extension__ extern __inline poly64x2x3_t
19212 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_p64(const poly64_t * __a)19213 vld3q_p64 (const poly64_t * __a)
19214 {
19215   poly64x2x3_t ret;
19216   __builtin_aarch64_simd_ci __o;
19217   __o = __builtin_aarch64_ld3v2di ((const __builtin_aarch64_simd_di *) __a);
19218   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 0);
19219   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 1);
19220   ret.val[2] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 2);
19221   return ret;
19222 }
19223 
19224 __extension__ extern __inline int64x1x4_t
19225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s64(const int64_t * __a)19226 vld4_s64 (const int64_t * __a)
19227 {
19228   int64x1x4_t ret;
19229   __builtin_aarch64_simd_xi __o;
19230   __o = __builtin_aarch64_ld4di ((const __builtin_aarch64_simd_di *) __a);
19231   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
19232   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
19233   ret.val[2] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
19234   ret.val[3] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
19235   return ret;
19236 }
19237 
19238 __extension__ extern __inline uint64x1x4_t
19239 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u64(const uint64_t * __a)19240 vld4_u64 (const uint64_t * __a)
19241 {
19242   uint64x1x4_t ret;
19243   __builtin_aarch64_simd_xi __o;
19244   __o = __builtin_aarch64_ld4di ((const __builtin_aarch64_simd_di *) __a);
19245   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
19246   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
19247   ret.val[2] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
19248   ret.val[3] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
19249   return ret;
19250 }
19251 
19252 __extension__ extern __inline float64x1x4_t
19253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_f64(const float64_t * __a)19254 vld4_f64 (const float64_t * __a)
19255 {
19256   float64x1x4_t ret;
19257   __builtin_aarch64_simd_xi __o;
19258   __o = __builtin_aarch64_ld4df ((const __builtin_aarch64_simd_df *) __a);
19259   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 0)};
19260   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 1)};
19261   ret.val[2] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 2)};
19262   ret.val[3] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 3)};
19263   return ret;
19264 }
19265 
19266 __extension__ extern __inline int8x8x4_t
19267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s8(const int8_t * __a)19268 vld4_s8 (const int8_t * __a)
19269 {
19270   int8x8x4_t ret;
19271   __builtin_aarch64_simd_xi __o;
19272   __o = __builtin_aarch64_ld4v8qi ((const __builtin_aarch64_simd_qi *) __a);
19273   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
19274   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
19275   ret.val[2] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
19276   ret.val[3] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
19277   return ret;
19278 }
19279 
19280 __extension__ extern __inline poly8x8x4_t
19281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p8(const poly8_t * __a)19282 vld4_p8 (const poly8_t * __a)
19283 {
19284   poly8x8x4_t ret;
19285   __builtin_aarch64_simd_xi __o;
19286   __o = __builtin_aarch64_ld4v8qi ((const __builtin_aarch64_simd_qi *) __a);
19287   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
19288   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
19289   ret.val[2] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
19290   ret.val[3] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
19291   return ret;
19292 }
19293 
19294 __extension__ extern __inline int16x4x4_t
19295 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s16(const int16_t * __a)19296 vld4_s16 (const int16_t * __a)
19297 {
19298   int16x4x4_t ret;
19299   __builtin_aarch64_simd_xi __o;
19300   __o = __builtin_aarch64_ld4v4hi ((const __builtin_aarch64_simd_hi *) __a);
19301   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
19302   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
19303   ret.val[2] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
19304   ret.val[3] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
19305   return ret;
19306 }
19307 
19308 __extension__ extern __inline poly16x4x4_t
19309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p16(const poly16_t * __a)19310 vld4_p16 (const poly16_t * __a)
19311 {
19312   poly16x4x4_t ret;
19313   __builtin_aarch64_simd_xi __o;
19314   __o = __builtin_aarch64_ld4v4hi ((const __builtin_aarch64_simd_hi *) __a);
19315   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
19316   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
19317   ret.val[2] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
19318   ret.val[3] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
19319   return ret;
19320 }
19321 
19322 __extension__ extern __inline int32x2x4_t
19323 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s32(const int32_t * __a)19324 vld4_s32 (const int32_t * __a)
19325 {
19326   int32x2x4_t ret;
19327   __builtin_aarch64_simd_xi __o;
19328   __o = __builtin_aarch64_ld4v2si ((const __builtin_aarch64_simd_si *) __a);
19329   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
19330   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
19331   ret.val[2] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
19332   ret.val[3] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
19333   return ret;
19334 }
19335 
19336 __extension__ extern __inline uint8x8x4_t
19337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u8(const uint8_t * __a)19338 vld4_u8 (const uint8_t * __a)
19339 {
19340   uint8x8x4_t ret;
19341   __builtin_aarch64_simd_xi __o;
19342   __o = __builtin_aarch64_ld4v8qi ((const __builtin_aarch64_simd_qi *) __a);
19343   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
19344   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
19345   ret.val[2] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
19346   ret.val[3] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
19347   return ret;
19348 }
19349 
19350 __extension__ extern __inline uint16x4x4_t
19351 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u16(const uint16_t * __a)19352 vld4_u16 (const uint16_t * __a)
19353 {
19354   uint16x4x4_t ret;
19355   __builtin_aarch64_simd_xi __o;
19356   __o = __builtin_aarch64_ld4v4hi ((const __builtin_aarch64_simd_hi *) __a);
19357   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
19358   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
19359   ret.val[2] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
19360   ret.val[3] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
19361   return ret;
19362 }
19363 
19364 __extension__ extern __inline uint32x2x4_t
19365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u32(const uint32_t * __a)19366 vld4_u32 (const uint32_t * __a)
19367 {
19368   uint32x2x4_t ret;
19369   __builtin_aarch64_simd_xi __o;
19370   __o = __builtin_aarch64_ld4v2si ((const __builtin_aarch64_simd_si *) __a);
19371   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
19372   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
19373   ret.val[2] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
19374   ret.val[3] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
19375   return ret;
19376 }
19377 
19378 __extension__ extern __inline float16x4x4_t
19379 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_f16(const float16_t * __a)19380 vld4_f16 (const float16_t * __a)
19381 {
19382   float16x4x4_t ret;
19383   __builtin_aarch64_simd_xi __o;
19384   __o = __builtin_aarch64_ld4v4hf (__a);
19385   ret.val[0] = __builtin_aarch64_get_dregxiv4hf (__o, 0);
19386   ret.val[1] = __builtin_aarch64_get_dregxiv4hf (__o, 1);
19387   ret.val[2] = __builtin_aarch64_get_dregxiv4hf (__o, 2);
19388   ret.val[3] = __builtin_aarch64_get_dregxiv4hf (__o, 3);
19389   return ret;
19390 }
19391 
19392 __extension__ extern __inline float32x2x4_t
19393 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_f32(const float32_t * __a)19394 vld4_f32 (const float32_t * __a)
19395 {
19396   float32x2x4_t ret;
19397   __builtin_aarch64_simd_xi __o;
19398   __o = __builtin_aarch64_ld4v2sf ((const __builtin_aarch64_simd_sf *) __a);
19399   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 0);
19400   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 1);
19401   ret.val[2] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 2);
19402   ret.val[3] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 3);
19403   return ret;
19404 }
19405 
19406 __extension__ extern __inline poly64x1x4_t
19407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p64(const poly64_t * __a)19408 vld4_p64 (const poly64_t * __a)
19409 {
19410   poly64x1x4_t  ret;
19411   __builtin_aarch64_simd_xi __o;
19412   __o = __builtin_aarch64_ld4di ((const __builtin_aarch64_simd_di *) __a);
19413   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 0);
19414   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 1);
19415   ret.val[2] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 2);
19416   ret.val[3] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 3);
19417   return ret;
19418 }
19419 
19420 __extension__ extern __inline int8x16x4_t
19421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s8(const int8_t * __a)19422 vld4q_s8 (const int8_t * __a)
19423 {
19424   int8x16x4_t ret;
19425   __builtin_aarch64_simd_xi __o;
19426   __o = __builtin_aarch64_ld4v16qi ((const __builtin_aarch64_simd_qi *) __a);
19427   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
19428   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
19429   ret.val[2] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
19430   ret.val[3] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
19431   return ret;
19432 }
19433 
19434 __extension__ extern __inline poly8x16x4_t
19435 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_p8(const poly8_t * __a)19436 vld4q_p8 (const poly8_t * __a)
19437 {
19438   poly8x16x4_t ret;
19439   __builtin_aarch64_simd_xi __o;
19440   __o = __builtin_aarch64_ld4v16qi ((const __builtin_aarch64_simd_qi *) __a);
19441   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
19442   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
19443   ret.val[2] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
19444   ret.val[3] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
19445   return ret;
19446 }
19447 
19448 __extension__ extern __inline int16x8x4_t
19449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s16(const int16_t * __a)19450 vld4q_s16 (const int16_t * __a)
19451 {
19452   int16x8x4_t ret;
19453   __builtin_aarch64_simd_xi __o;
19454   __o = __builtin_aarch64_ld4v8hi ((const __builtin_aarch64_simd_hi *) __a);
19455   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
19456   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
19457   ret.val[2] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
19458   ret.val[3] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
19459   return ret;
19460 }
19461 
19462 __extension__ extern __inline poly16x8x4_t
19463 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_p16(const poly16_t * __a)19464 vld4q_p16 (const poly16_t * __a)
19465 {
19466   poly16x8x4_t ret;
19467   __builtin_aarch64_simd_xi __o;
19468   __o = __builtin_aarch64_ld4v8hi ((const __builtin_aarch64_simd_hi *) __a);
19469   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
19470   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
19471   ret.val[2] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
19472   ret.val[3] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
19473   return ret;
19474 }
19475 
19476 __extension__ extern __inline int32x4x4_t
19477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s32(const int32_t * __a)19478 vld4q_s32 (const int32_t * __a)
19479 {
19480   int32x4x4_t ret;
19481   __builtin_aarch64_simd_xi __o;
19482   __o = __builtin_aarch64_ld4v4si ((const __builtin_aarch64_simd_si *) __a);
19483   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 0);
19484   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 1);
19485   ret.val[2] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 2);
19486   ret.val[3] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 3);
19487   return ret;
19488 }
19489 
19490 __extension__ extern __inline int64x2x4_t
19491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s64(const int64_t * __a)19492 vld4q_s64 (const int64_t * __a)
19493 {
19494   int64x2x4_t ret;
19495   __builtin_aarch64_simd_xi __o;
19496   __o = __builtin_aarch64_ld4v2di ((const __builtin_aarch64_simd_di *) __a);
19497   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 0);
19498   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 1);
19499   ret.val[2] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 2);
19500   ret.val[3] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 3);
19501   return ret;
19502 }
19503 
19504 __extension__ extern __inline uint8x16x4_t
19505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u8(const uint8_t * __a)19506 vld4q_u8 (const uint8_t * __a)
19507 {
19508   uint8x16x4_t ret;
19509   __builtin_aarch64_simd_xi __o;
19510   __o = __builtin_aarch64_ld4v16qi ((const __builtin_aarch64_simd_qi *) __a);
19511   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
19512   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
19513   ret.val[2] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
19514   ret.val[3] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
19515   return ret;
19516 }
19517 
19518 __extension__ extern __inline uint16x8x4_t
19519 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u16(const uint16_t * __a)19520 vld4q_u16 (const uint16_t * __a)
19521 {
19522   uint16x8x4_t ret;
19523   __builtin_aarch64_simd_xi __o;
19524   __o = __builtin_aarch64_ld4v8hi ((const __builtin_aarch64_simd_hi *) __a);
19525   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
19526   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
19527   ret.val[2] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
19528   ret.val[3] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
19529   return ret;
19530 }
19531 
19532 __extension__ extern __inline uint32x4x4_t
19533 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u32(const uint32_t * __a)19534 vld4q_u32 (const uint32_t * __a)
19535 {
19536   uint32x4x4_t ret;
19537   __builtin_aarch64_simd_xi __o;
19538   __o = __builtin_aarch64_ld4v4si ((const __builtin_aarch64_simd_si *) __a);
19539   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 0);
19540   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 1);
19541   ret.val[2] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 2);
19542   ret.val[3] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 3);
19543   return ret;
19544 }
19545 
19546 __extension__ extern __inline uint64x2x4_t
19547 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u64(const uint64_t * __a)19548 vld4q_u64 (const uint64_t * __a)
19549 {
19550   uint64x2x4_t ret;
19551   __builtin_aarch64_simd_xi __o;
19552   __o = __builtin_aarch64_ld4v2di ((const __builtin_aarch64_simd_di *) __a);
19553   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 0);
19554   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 1);
19555   ret.val[2] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 2);
19556   ret.val[3] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 3);
19557   return ret;
19558 }
19559 
19560 __extension__ extern __inline float16x8x4_t
19561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_f16(const float16_t * __a)19562 vld4q_f16 (const float16_t * __a)
19563 {
19564   float16x8x4_t ret;
19565   __builtin_aarch64_simd_xi __o;
19566   __o = __builtin_aarch64_ld4v8hf (__a);
19567   ret.val[0] = __builtin_aarch64_get_qregxiv8hf (__o, 0);
19568   ret.val[1] = __builtin_aarch64_get_qregxiv8hf (__o, 1);
19569   ret.val[2] = __builtin_aarch64_get_qregxiv8hf (__o, 2);
19570   ret.val[3] = __builtin_aarch64_get_qregxiv8hf (__o, 3);
19571   return ret;
19572 }
19573 
19574 __extension__ extern __inline float32x4x4_t
19575 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_f32(const float32_t * __a)19576 vld4q_f32 (const float32_t * __a)
19577 {
19578   float32x4x4_t ret;
19579   __builtin_aarch64_simd_xi __o;
19580   __o = __builtin_aarch64_ld4v4sf ((const __builtin_aarch64_simd_sf *) __a);
19581   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 0);
19582   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 1);
19583   ret.val[2] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 2);
19584   ret.val[3] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 3);
19585   return ret;
19586 }
19587 
19588 __extension__ extern __inline float64x2x4_t
19589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_f64(const float64_t * __a)19590 vld4q_f64 (const float64_t * __a)
19591 {
19592   float64x2x4_t ret;
19593   __builtin_aarch64_simd_xi __o;
19594   __o = __builtin_aarch64_ld4v2df ((const __builtin_aarch64_simd_df *) __a);
19595   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 0);
19596   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 1);
19597   ret.val[2] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 2);
19598   ret.val[3] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 3);
19599   return ret;
19600 }
19601 
19602 __extension__ extern __inline poly64x2x4_t
19603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_p64(const poly64_t * __a)19604 vld4q_p64 (const poly64_t * __a)
19605 {
19606   poly64x2x4_t  ret;
19607   __builtin_aarch64_simd_xi __o;
19608   __o = __builtin_aarch64_ld4v2di ((const __builtin_aarch64_simd_di *) __a);
19609   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 0);
19610   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 1);
19611   ret.val[2] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 2);
19612   ret.val[3] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 3);
19613   return ret;
19614 }
19615 
19616 /* vldn_dup */
19617 
19618 __extension__ extern __inline int8x8x2_t
19619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s8(const int8_t * __a)19620 vld2_dup_s8 (const int8_t * __a)
19621 {
19622   int8x8x2_t ret;
19623   __builtin_aarch64_simd_oi __o;
19624   __o = __builtin_aarch64_ld2rv8qi ((const __builtin_aarch64_simd_qi *) __a);
19625   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
19626   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
19627   return ret;
19628 }
19629 
19630 __extension__ extern __inline int16x4x2_t
19631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s16(const int16_t * __a)19632 vld2_dup_s16 (const int16_t * __a)
19633 {
19634   int16x4x2_t ret;
19635   __builtin_aarch64_simd_oi __o;
19636   __o = __builtin_aarch64_ld2rv4hi ((const __builtin_aarch64_simd_hi *) __a);
19637   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
19638   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
19639   return ret;
19640 }
19641 
19642 __extension__ extern __inline int32x2x2_t
19643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s32(const int32_t * __a)19644 vld2_dup_s32 (const int32_t * __a)
19645 {
19646   int32x2x2_t ret;
19647   __builtin_aarch64_simd_oi __o;
19648   __o = __builtin_aarch64_ld2rv2si ((const __builtin_aarch64_simd_si *) __a);
19649   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
19650   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
19651   return ret;
19652 }
19653 
19654 __extension__ extern __inline float16x4x2_t
19655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_f16(const float16_t * __a)19656 vld2_dup_f16 (const float16_t * __a)
19657 {
19658   float16x4x2_t ret;
19659   __builtin_aarch64_simd_oi __o;
19660   __o = __builtin_aarch64_ld2rv4hf ((const __builtin_aarch64_simd_hf *) __a);
19661   ret.val[0] = __builtin_aarch64_get_dregoiv4hf (__o, 0);
19662   ret.val[1] = (float16x4_t) __builtin_aarch64_get_dregoiv4hf (__o, 1);
19663   return ret;
19664 }
19665 
19666 __extension__ extern __inline float32x2x2_t
19667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_f32(const float32_t * __a)19668 vld2_dup_f32 (const float32_t * __a)
19669 {
19670   float32x2x2_t ret;
19671   __builtin_aarch64_simd_oi __o;
19672   __o = __builtin_aarch64_ld2rv2sf ((const __builtin_aarch64_simd_sf *) __a);
19673   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 0);
19674   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 1);
19675   return ret;
19676 }
19677 
19678 __extension__ extern __inline float64x1x2_t
19679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_f64(const float64_t * __a)19680 vld2_dup_f64 (const float64_t * __a)
19681 {
19682   float64x1x2_t ret;
19683   __builtin_aarch64_simd_oi __o;
19684   __o = __builtin_aarch64_ld2rdf ((const __builtin_aarch64_simd_df *) __a);
19685   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 0)};
19686   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 1)};
19687   return ret;
19688 }
19689 
19690 __extension__ extern __inline uint8x8x2_t
19691 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u8(const uint8_t * __a)19692 vld2_dup_u8 (const uint8_t * __a)
19693 {
19694   uint8x8x2_t ret;
19695   __builtin_aarch64_simd_oi __o;
19696   __o = __builtin_aarch64_ld2rv8qi ((const __builtin_aarch64_simd_qi *) __a);
19697   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
19698   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
19699   return ret;
19700 }
19701 
19702 __extension__ extern __inline uint16x4x2_t
19703 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u16(const uint16_t * __a)19704 vld2_dup_u16 (const uint16_t * __a)
19705 {
19706   uint16x4x2_t ret;
19707   __builtin_aarch64_simd_oi __o;
19708   __o = __builtin_aarch64_ld2rv4hi ((const __builtin_aarch64_simd_hi *) __a);
19709   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
19710   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
19711   return ret;
19712 }
19713 
19714 __extension__ extern __inline uint32x2x2_t
19715 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u32(const uint32_t * __a)19716 vld2_dup_u32 (const uint32_t * __a)
19717 {
19718   uint32x2x2_t ret;
19719   __builtin_aarch64_simd_oi __o;
19720   __o = __builtin_aarch64_ld2rv2si ((const __builtin_aarch64_simd_si *) __a);
19721   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
19722   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
19723   return ret;
19724 }
19725 
19726 __extension__ extern __inline poly8x8x2_t
19727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p8(const poly8_t * __a)19728 vld2_dup_p8 (const poly8_t * __a)
19729 {
19730   poly8x8x2_t ret;
19731   __builtin_aarch64_simd_oi __o;
19732   __o = __builtin_aarch64_ld2rv8qi ((const __builtin_aarch64_simd_qi *) __a);
19733   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
19734   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
19735   return ret;
19736 }
19737 
19738 __extension__ extern __inline poly16x4x2_t
19739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p16(const poly16_t * __a)19740 vld2_dup_p16 (const poly16_t * __a)
19741 {
19742   poly16x4x2_t ret;
19743   __builtin_aarch64_simd_oi __o;
19744   __o = __builtin_aarch64_ld2rv4hi ((const __builtin_aarch64_simd_hi *) __a);
19745   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
19746   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
19747   return ret;
19748 }
19749 
19750 __extension__ extern __inline poly64x1x2_t
19751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p64(const poly64_t * __a)19752 vld2_dup_p64 (const poly64_t * __a)
19753 {
19754   poly64x1x2_t ret;
19755   __builtin_aarch64_simd_oi __o;
19756   __o = __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di *) __a);
19757   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregoidi_pss (__o, 0);
19758   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregoidi_pss (__o, 1);
19759   return ret;
19760 }
19761 
19762 
19763 __extension__ extern __inline int64x1x2_t
19764 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s64(const int64_t * __a)19765 vld2_dup_s64 (const int64_t * __a)
19766 {
19767   int64x1x2_t ret;
19768   __builtin_aarch64_simd_oi __o;
19769   __o = __builtin_aarch64_ld2rdi ((const __builtin_aarch64_simd_di *) __a);
19770   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
19771   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
19772   return ret;
19773 }
19774 
19775 __extension__ extern __inline uint64x1x2_t
19776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u64(const uint64_t * __a)19777 vld2_dup_u64 (const uint64_t * __a)
19778 {
19779   uint64x1x2_t ret;
19780   __builtin_aarch64_simd_oi __o;
19781   __o = __builtin_aarch64_ld2rdi ((const __builtin_aarch64_simd_di *) __a);
19782   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
19783   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
19784   return ret;
19785 }
19786 
19787 __extension__ extern __inline int8x16x2_t
19788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_s8(const int8_t * __a)19789 vld2q_dup_s8 (const int8_t * __a)
19790 {
19791   int8x16x2_t ret;
19792   __builtin_aarch64_simd_oi __o;
19793   __o = __builtin_aarch64_ld2rv16qi ((const __builtin_aarch64_simd_qi *) __a);
19794   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
19795   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
19796   return ret;
19797 }
19798 
19799 __extension__ extern __inline poly8x16x2_t
19800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_p8(const poly8_t * __a)19801 vld2q_dup_p8 (const poly8_t * __a)
19802 {
19803   poly8x16x2_t ret;
19804   __builtin_aarch64_simd_oi __o;
19805   __o = __builtin_aarch64_ld2rv16qi ((const __builtin_aarch64_simd_qi *) __a);
19806   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
19807   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
19808   return ret;
19809 }
19810 
19811 __extension__ extern __inline int16x8x2_t
19812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_s16(const int16_t * __a)19813 vld2q_dup_s16 (const int16_t * __a)
19814 {
19815   int16x8x2_t ret;
19816   __builtin_aarch64_simd_oi __o;
19817   __o = __builtin_aarch64_ld2rv8hi ((const __builtin_aarch64_simd_hi *) __a);
19818   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
19819   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
19820   return ret;
19821 }
19822 
19823 __extension__ extern __inline poly16x8x2_t
19824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_p16(const poly16_t * __a)19825 vld2q_dup_p16 (const poly16_t * __a)
19826 {
19827   poly16x8x2_t ret;
19828   __builtin_aarch64_simd_oi __o;
19829   __o = __builtin_aarch64_ld2rv8hi ((const __builtin_aarch64_simd_hi *) __a);
19830   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
19831   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
19832   return ret;
19833 }
19834 
19835 __extension__ extern __inline int32x4x2_t
19836 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_s32(const int32_t * __a)19837 vld2q_dup_s32 (const int32_t * __a)
19838 {
19839   int32x4x2_t ret;
19840   __builtin_aarch64_simd_oi __o;
19841   __o = __builtin_aarch64_ld2rv4si ((const __builtin_aarch64_simd_si *) __a);
19842   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
19843   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
19844   return ret;
19845 }
19846 
19847 __extension__ extern __inline int64x2x2_t
19848 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_s64(const int64_t * __a)19849 vld2q_dup_s64 (const int64_t * __a)
19850 {
19851   int64x2x2_t ret;
19852   __builtin_aarch64_simd_oi __o;
19853   __o = __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di *) __a);
19854   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
19855   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
19856   return ret;
19857 }
19858 
19859 __extension__ extern __inline uint8x16x2_t
19860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_u8(const uint8_t * __a)19861 vld2q_dup_u8 (const uint8_t * __a)
19862 {
19863   uint8x16x2_t ret;
19864   __builtin_aarch64_simd_oi __o;
19865   __o = __builtin_aarch64_ld2rv16qi ((const __builtin_aarch64_simd_qi *) __a);
19866   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
19867   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
19868   return ret;
19869 }
19870 
19871 __extension__ extern __inline uint16x8x2_t
19872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_u16(const uint16_t * __a)19873 vld2q_dup_u16 (const uint16_t * __a)
19874 {
19875   uint16x8x2_t ret;
19876   __builtin_aarch64_simd_oi __o;
19877   __o = __builtin_aarch64_ld2rv8hi ((const __builtin_aarch64_simd_hi *) __a);
19878   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
19879   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
19880   return ret;
19881 }
19882 
19883 __extension__ extern __inline uint32x4x2_t
19884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_u32(const uint32_t * __a)19885 vld2q_dup_u32 (const uint32_t * __a)
19886 {
19887   uint32x4x2_t ret;
19888   __builtin_aarch64_simd_oi __o;
19889   __o = __builtin_aarch64_ld2rv4si ((const __builtin_aarch64_simd_si *) __a);
19890   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
19891   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
19892   return ret;
19893 }
19894 
19895 __extension__ extern __inline uint64x2x2_t
19896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_u64(const uint64_t * __a)19897 vld2q_dup_u64 (const uint64_t * __a)
19898 {
19899   uint64x2x2_t ret;
19900   __builtin_aarch64_simd_oi __o;
19901   __o = __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di *) __a);
19902   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
19903   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
19904   return ret;
19905 }
19906 
19907 __extension__ extern __inline float16x8x2_t
19908 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_f16(const float16_t * __a)19909 vld2q_dup_f16 (const float16_t * __a)
19910 {
19911   float16x8x2_t ret;
19912   __builtin_aarch64_simd_oi __o;
19913   __o = __builtin_aarch64_ld2rv8hf ((const __builtin_aarch64_simd_hf *) __a);
19914   ret.val[0] = (float16x8_t) __builtin_aarch64_get_qregoiv8hf (__o, 0);
19915   ret.val[1] = __builtin_aarch64_get_qregoiv8hf (__o, 1);
19916   return ret;
19917 }
19918 
19919 __extension__ extern __inline float32x4x2_t
19920 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_f32(const float32_t * __a)19921 vld2q_dup_f32 (const float32_t * __a)
19922 {
19923   float32x4x2_t ret;
19924   __builtin_aarch64_simd_oi __o;
19925   __o = __builtin_aarch64_ld2rv4sf ((const __builtin_aarch64_simd_sf *) __a);
19926   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 0);
19927   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 1);
19928   return ret;
19929 }
19930 
19931 __extension__ extern __inline float64x2x2_t
19932 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_f64(const float64_t * __a)19933 vld2q_dup_f64 (const float64_t * __a)
19934 {
19935   float64x2x2_t ret;
19936   __builtin_aarch64_simd_oi __o;
19937   __o = __builtin_aarch64_ld2rv2df ((const __builtin_aarch64_simd_df *) __a);
19938   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 0);
19939   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 1);
19940   return ret;
19941 }
19942 
19943 __extension__ extern __inline poly64x2x2_t
19944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_p64(const poly64_t * __a)19945 vld2q_dup_p64 (const poly64_t * __a)
19946 {
19947   poly64x2x2_t ret;
19948   __builtin_aarch64_simd_oi __o;
19949   __o = __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di *) __a);
19950   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di_pss (__o, 0);
19951   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di_pss (__o, 1);
19952   return ret;
19953 }
19954 
19955 __extension__ extern __inline int64x1x3_t
19956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s64(const int64_t * __a)19957 vld3_dup_s64 (const int64_t * __a)
19958 {
19959   int64x1x3_t ret;
19960   __builtin_aarch64_simd_ci __o;
19961   __o = __builtin_aarch64_ld3rdi ((const __builtin_aarch64_simd_di *) __a);
19962   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
19963   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
19964   ret.val[2] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
19965   return ret;
19966 }
19967 
19968 __extension__ extern __inline uint64x1x3_t
19969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u64(const uint64_t * __a)19970 vld3_dup_u64 (const uint64_t * __a)
19971 {
19972   uint64x1x3_t ret;
19973   __builtin_aarch64_simd_ci __o;
19974   __o = __builtin_aarch64_ld3rdi ((const __builtin_aarch64_simd_di *) __a);
19975   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
19976   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
19977   ret.val[2] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
19978   return ret;
19979 }
19980 
19981 __extension__ extern __inline float64x1x3_t
19982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_f64(const float64_t * __a)19983 vld3_dup_f64 (const float64_t * __a)
19984 {
19985   float64x1x3_t ret;
19986   __builtin_aarch64_simd_ci __o;
19987   __o = __builtin_aarch64_ld3rdf ((const __builtin_aarch64_simd_df *) __a);
19988   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 0)};
19989   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 1)};
19990   ret.val[2] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 2)};
19991   return ret;
19992 }
19993 
19994 __extension__ extern __inline int8x8x3_t
19995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s8(const int8_t * __a)19996 vld3_dup_s8 (const int8_t * __a)
19997 {
19998   int8x8x3_t ret;
19999   __builtin_aarch64_simd_ci __o;
20000   __o = __builtin_aarch64_ld3rv8qi ((const __builtin_aarch64_simd_qi *) __a);
20001   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
20002   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
20003   ret.val[2] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
20004   return ret;
20005 }
20006 
20007 __extension__ extern __inline poly8x8x3_t
20008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p8(const poly8_t * __a)20009 vld3_dup_p8 (const poly8_t * __a)
20010 {
20011   poly8x8x3_t ret;
20012   __builtin_aarch64_simd_ci __o;
20013   __o = __builtin_aarch64_ld3rv8qi ((const __builtin_aarch64_simd_qi *) __a);
20014   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
20015   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
20016   ret.val[2] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
20017   return ret;
20018 }
20019 
20020 __extension__ extern __inline int16x4x3_t
20021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s16(const int16_t * __a)20022 vld3_dup_s16 (const int16_t * __a)
20023 {
20024   int16x4x3_t ret;
20025   __builtin_aarch64_simd_ci __o;
20026   __o = __builtin_aarch64_ld3rv4hi ((const __builtin_aarch64_simd_hi *) __a);
20027   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
20028   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
20029   ret.val[2] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
20030   return ret;
20031 }
20032 
20033 __extension__ extern __inline poly16x4x3_t
20034 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p16(const poly16_t * __a)20035 vld3_dup_p16 (const poly16_t * __a)
20036 {
20037   poly16x4x3_t ret;
20038   __builtin_aarch64_simd_ci __o;
20039   __o = __builtin_aarch64_ld3rv4hi ((const __builtin_aarch64_simd_hi *) __a);
20040   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
20041   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
20042   ret.val[2] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
20043   return ret;
20044 }
20045 
20046 __extension__ extern __inline int32x2x3_t
20047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s32(const int32_t * __a)20048 vld3_dup_s32 (const int32_t * __a)
20049 {
20050   int32x2x3_t ret;
20051   __builtin_aarch64_simd_ci __o;
20052   __o = __builtin_aarch64_ld3rv2si ((const __builtin_aarch64_simd_si *) __a);
20053   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 0);
20054   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 1);
20055   ret.val[2] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 2);
20056   return ret;
20057 }
20058 
20059 __extension__ extern __inline uint8x8x3_t
20060 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u8(const uint8_t * __a)20061 vld3_dup_u8 (const uint8_t * __a)
20062 {
20063   uint8x8x3_t ret;
20064   __builtin_aarch64_simd_ci __o;
20065   __o = __builtin_aarch64_ld3rv8qi ((const __builtin_aarch64_simd_qi *) __a);
20066   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
20067   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
20068   ret.val[2] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
20069   return ret;
20070 }
20071 
20072 __extension__ extern __inline uint16x4x3_t
20073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u16(const uint16_t * __a)20074 vld3_dup_u16 (const uint16_t * __a)
20075 {
20076   uint16x4x3_t ret;
20077   __builtin_aarch64_simd_ci __o;
20078   __o = __builtin_aarch64_ld3rv4hi ((const __builtin_aarch64_simd_hi *) __a);
20079   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
20080   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
20081   ret.val[2] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
20082   return ret;
20083 }
20084 
20085 __extension__ extern __inline uint32x2x3_t
20086 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u32(const uint32_t * __a)20087 vld3_dup_u32 (const uint32_t * __a)
20088 {
20089   uint32x2x3_t ret;
20090   __builtin_aarch64_simd_ci __o;
20091   __o = __builtin_aarch64_ld3rv2si ((const __builtin_aarch64_simd_si *) __a);
20092   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 0);
20093   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 1);
20094   ret.val[2] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 2);
20095   return ret;
20096 }
20097 
20098 __extension__ extern __inline float16x4x3_t
20099 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_f16(const float16_t * __a)20100 vld3_dup_f16 (const float16_t * __a)
20101 {
20102   float16x4x3_t ret;
20103   __builtin_aarch64_simd_ci __o;
20104   __o = __builtin_aarch64_ld3rv4hf ((const __builtin_aarch64_simd_hf *) __a);
20105   ret.val[0] = (float16x4_t) __builtin_aarch64_get_dregciv4hf (__o, 0);
20106   ret.val[1] = (float16x4_t) __builtin_aarch64_get_dregciv4hf (__o, 1);
20107   ret.val[2] = (float16x4_t) __builtin_aarch64_get_dregciv4hf (__o, 2);
20108   return ret;
20109 }
20110 
20111 __extension__ extern __inline float32x2x3_t
20112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_f32(const float32_t * __a)20113 vld3_dup_f32 (const float32_t * __a)
20114 {
20115   float32x2x3_t ret;
20116   __builtin_aarch64_simd_ci __o;
20117   __o = __builtin_aarch64_ld3rv2sf ((const __builtin_aarch64_simd_sf *) __a);
20118   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 0);
20119   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 1);
20120   ret.val[2] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 2);
20121   return ret;
20122 }
20123 
20124 __extension__ extern __inline poly64x1x3_t
20125 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p64(const poly64_t * __a)20126 vld3_dup_p64 (const poly64_t * __a)
20127 {
20128   poly64x1x3_t ret;
20129   __builtin_aarch64_simd_ci __o;
20130   __o = __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di *) __a);
20131   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 0);
20132   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 1);
20133   ret.val[2] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 2);
20134   return ret;
20135 }
20136 
20137 __extension__ extern __inline int8x16x3_t
20138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_s8(const int8_t * __a)20139 vld3q_dup_s8 (const int8_t * __a)
20140 {
20141   int8x16x3_t ret;
20142   __builtin_aarch64_simd_ci __o;
20143   __o = __builtin_aarch64_ld3rv16qi ((const __builtin_aarch64_simd_qi *) __a);
20144   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
20145   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
20146   ret.val[2] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
20147   return ret;
20148 }
20149 
20150 __extension__ extern __inline poly8x16x3_t
20151 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_p8(const poly8_t * __a)20152 vld3q_dup_p8 (const poly8_t * __a)
20153 {
20154   poly8x16x3_t ret;
20155   __builtin_aarch64_simd_ci __o;
20156   __o = __builtin_aarch64_ld3rv16qi ((const __builtin_aarch64_simd_qi *) __a);
20157   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
20158   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
20159   ret.val[2] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
20160   return ret;
20161 }
20162 
20163 __extension__ extern __inline int16x8x3_t
20164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_s16(const int16_t * __a)20165 vld3q_dup_s16 (const int16_t * __a)
20166 {
20167   int16x8x3_t ret;
20168   __builtin_aarch64_simd_ci __o;
20169   __o = __builtin_aarch64_ld3rv8hi ((const __builtin_aarch64_simd_hi *) __a);
20170   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
20171   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
20172   ret.val[2] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
20173   return ret;
20174 }
20175 
20176 __extension__ extern __inline poly16x8x3_t
20177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_p16(const poly16_t * __a)20178 vld3q_dup_p16 (const poly16_t * __a)
20179 {
20180   poly16x8x3_t ret;
20181   __builtin_aarch64_simd_ci __o;
20182   __o = __builtin_aarch64_ld3rv8hi ((const __builtin_aarch64_simd_hi *) __a);
20183   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
20184   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
20185   ret.val[2] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
20186   return ret;
20187 }
20188 
20189 __extension__ extern __inline int32x4x3_t
20190 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_s32(const int32_t * __a)20191 vld3q_dup_s32 (const int32_t * __a)
20192 {
20193   int32x4x3_t ret;
20194   __builtin_aarch64_simd_ci __o;
20195   __o = __builtin_aarch64_ld3rv4si ((const __builtin_aarch64_simd_si *) __a);
20196   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 0);
20197   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 1);
20198   ret.val[2] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 2);
20199   return ret;
20200 }
20201 
20202 __extension__ extern __inline int64x2x3_t
20203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_s64(const int64_t * __a)20204 vld3q_dup_s64 (const int64_t * __a)
20205 {
20206   int64x2x3_t ret;
20207   __builtin_aarch64_simd_ci __o;
20208   __o = __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di *) __a);
20209   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 0);
20210   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 1);
20211   ret.val[2] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 2);
20212   return ret;
20213 }
20214 
20215 __extension__ extern __inline uint8x16x3_t
20216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_u8(const uint8_t * __a)20217 vld3q_dup_u8 (const uint8_t * __a)
20218 {
20219   uint8x16x3_t ret;
20220   __builtin_aarch64_simd_ci __o;
20221   __o = __builtin_aarch64_ld3rv16qi ((const __builtin_aarch64_simd_qi *) __a);
20222   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
20223   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
20224   ret.val[2] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
20225   return ret;
20226 }
20227 
20228 __extension__ extern __inline uint16x8x3_t
20229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_u16(const uint16_t * __a)20230 vld3q_dup_u16 (const uint16_t * __a)
20231 {
20232   uint16x8x3_t ret;
20233   __builtin_aarch64_simd_ci __o;
20234   __o = __builtin_aarch64_ld3rv8hi ((const __builtin_aarch64_simd_hi *) __a);
20235   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
20236   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
20237   ret.val[2] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
20238   return ret;
20239 }
20240 
20241 __extension__ extern __inline uint32x4x3_t
20242 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_u32(const uint32_t * __a)20243 vld3q_dup_u32 (const uint32_t * __a)
20244 {
20245   uint32x4x3_t ret;
20246   __builtin_aarch64_simd_ci __o;
20247   __o = __builtin_aarch64_ld3rv4si ((const __builtin_aarch64_simd_si *) __a);
20248   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 0);
20249   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 1);
20250   ret.val[2] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 2);
20251   return ret;
20252 }
20253 
20254 __extension__ extern __inline uint64x2x3_t
20255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_u64(const uint64_t * __a)20256 vld3q_dup_u64 (const uint64_t * __a)
20257 {
20258   uint64x2x3_t ret;
20259   __builtin_aarch64_simd_ci __o;
20260   __o = __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di *) __a);
20261   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 0);
20262   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 1);
20263   ret.val[2] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 2);
20264   return ret;
20265 }
20266 
20267 __extension__ extern __inline float16x8x3_t
20268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_f16(const float16_t * __a)20269 vld3q_dup_f16 (const float16_t * __a)
20270 {
20271   float16x8x3_t ret;
20272   __builtin_aarch64_simd_ci __o;
20273   __o = __builtin_aarch64_ld3rv8hf ((const __builtin_aarch64_simd_hf *) __a);
20274   ret.val[0] = (float16x8_t) __builtin_aarch64_get_qregciv8hf (__o, 0);
20275   ret.val[1] = (float16x8_t) __builtin_aarch64_get_qregciv8hf (__o, 1);
20276   ret.val[2] = (float16x8_t) __builtin_aarch64_get_qregciv8hf (__o, 2);
20277   return ret;
20278 }
20279 
20280 __extension__ extern __inline float32x4x3_t
20281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_f32(const float32_t * __a)20282 vld3q_dup_f32 (const float32_t * __a)
20283 {
20284   float32x4x3_t ret;
20285   __builtin_aarch64_simd_ci __o;
20286   __o = __builtin_aarch64_ld3rv4sf ((const __builtin_aarch64_simd_sf *) __a);
20287   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 0);
20288   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 1);
20289   ret.val[2] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 2);
20290   return ret;
20291 }
20292 
20293 __extension__ extern __inline float64x2x3_t
20294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_f64(const float64_t * __a)20295 vld3q_dup_f64 (const float64_t * __a)
20296 {
20297   float64x2x3_t ret;
20298   __builtin_aarch64_simd_ci __o;
20299   __o = __builtin_aarch64_ld3rv2df ((const __builtin_aarch64_simd_df *) __a);
20300   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 0);
20301   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 1);
20302   ret.val[2] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 2);
20303   return ret;
20304 }
20305 
20306 __extension__ extern __inline poly64x2x3_t
20307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_p64(const poly64_t * __a)20308 vld3q_dup_p64 (const poly64_t * __a)
20309 {
20310   poly64x2x3_t ret;
20311   __builtin_aarch64_simd_ci __o;
20312   __o = __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di *) __a);
20313   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 0);
20314   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 1);
20315   ret.val[2] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 2);
20316   return ret;
20317 }
20318 
20319 __extension__ extern __inline int64x1x4_t
20320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s64(const int64_t * __a)20321 vld4_dup_s64 (const int64_t * __a)
20322 {
20323   int64x1x4_t ret;
20324   __builtin_aarch64_simd_xi __o;
20325   __o = __builtin_aarch64_ld4rdi ((const __builtin_aarch64_simd_di *) __a);
20326   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
20327   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
20328   ret.val[2] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
20329   ret.val[3] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
20330   return ret;
20331 }
20332 
20333 __extension__ extern __inline uint64x1x4_t
20334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u64(const uint64_t * __a)20335 vld4_dup_u64 (const uint64_t * __a)
20336 {
20337   uint64x1x4_t ret;
20338   __builtin_aarch64_simd_xi __o;
20339   __o = __builtin_aarch64_ld4rdi ((const __builtin_aarch64_simd_di *) __a);
20340   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
20341   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
20342   ret.val[2] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
20343   ret.val[3] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
20344   return ret;
20345 }
20346 
20347 __extension__ extern __inline float64x1x4_t
20348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_f64(const float64_t * __a)20349 vld4_dup_f64 (const float64_t * __a)
20350 {
20351   float64x1x4_t ret;
20352   __builtin_aarch64_simd_xi __o;
20353   __o = __builtin_aarch64_ld4rdf ((const __builtin_aarch64_simd_df *) __a);
20354   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 0)};
20355   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 1)};
20356   ret.val[2] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 2)};
20357   ret.val[3] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 3)};
20358   return ret;
20359 }
20360 
20361 __extension__ extern __inline int8x8x4_t
20362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s8(const int8_t * __a)20363 vld4_dup_s8 (const int8_t * __a)
20364 {
20365   int8x8x4_t ret;
20366   __builtin_aarch64_simd_xi __o;
20367   __o = __builtin_aarch64_ld4rv8qi ((const __builtin_aarch64_simd_qi *) __a);
20368   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
20369   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
20370   ret.val[2] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
20371   ret.val[3] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
20372   return ret;
20373 }
20374 
20375 __extension__ extern __inline poly8x8x4_t
20376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p8(const poly8_t * __a)20377 vld4_dup_p8 (const poly8_t * __a)
20378 {
20379   poly8x8x4_t ret;
20380   __builtin_aarch64_simd_xi __o;
20381   __o = __builtin_aarch64_ld4rv8qi ((const __builtin_aarch64_simd_qi *) __a);
20382   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
20383   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
20384   ret.val[2] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
20385   ret.val[3] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
20386   return ret;
20387 }
20388 
20389 __extension__ extern __inline int16x4x4_t
20390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s16(const int16_t * __a)20391 vld4_dup_s16 (const int16_t * __a)
20392 {
20393   int16x4x4_t ret;
20394   __builtin_aarch64_simd_xi __o;
20395   __o = __builtin_aarch64_ld4rv4hi ((const __builtin_aarch64_simd_hi *) __a);
20396   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
20397   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
20398   ret.val[2] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
20399   ret.val[3] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
20400   return ret;
20401 }
20402 
20403 __extension__ extern __inline poly16x4x4_t
20404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p16(const poly16_t * __a)20405 vld4_dup_p16 (const poly16_t * __a)
20406 {
20407   poly16x4x4_t ret;
20408   __builtin_aarch64_simd_xi __o;
20409   __o = __builtin_aarch64_ld4rv4hi ((const __builtin_aarch64_simd_hi *) __a);
20410   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
20411   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
20412   ret.val[2] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
20413   ret.val[3] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
20414   return ret;
20415 }
20416 
20417 __extension__ extern __inline int32x2x4_t
20418 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s32(const int32_t * __a)20419 vld4_dup_s32 (const int32_t * __a)
20420 {
20421   int32x2x4_t ret;
20422   __builtin_aarch64_simd_xi __o;
20423   __o = __builtin_aarch64_ld4rv2si ((const __builtin_aarch64_simd_si *) __a);
20424   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
20425   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
20426   ret.val[2] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
20427   ret.val[3] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
20428   return ret;
20429 }
20430 
20431 __extension__ extern __inline uint8x8x4_t
20432 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u8(const uint8_t * __a)20433 vld4_dup_u8 (const uint8_t * __a)
20434 {
20435   uint8x8x4_t ret;
20436   __builtin_aarch64_simd_xi __o;
20437   __o = __builtin_aarch64_ld4rv8qi ((const __builtin_aarch64_simd_qi *) __a);
20438   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
20439   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
20440   ret.val[2] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
20441   ret.val[3] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
20442   return ret;
20443 }
20444 
20445 __extension__ extern __inline uint16x4x4_t
20446 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u16(const uint16_t * __a)20447 vld4_dup_u16 (const uint16_t * __a)
20448 {
20449   uint16x4x4_t ret;
20450   __builtin_aarch64_simd_xi __o;
20451   __o = __builtin_aarch64_ld4rv4hi ((const __builtin_aarch64_simd_hi *) __a);
20452   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
20453   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
20454   ret.val[2] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
20455   ret.val[3] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
20456   return ret;
20457 }
20458 
20459 __extension__ extern __inline uint32x2x4_t
20460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u32(const uint32_t * __a)20461 vld4_dup_u32 (const uint32_t * __a)
20462 {
20463   uint32x2x4_t ret;
20464   __builtin_aarch64_simd_xi __o;
20465   __o = __builtin_aarch64_ld4rv2si ((const __builtin_aarch64_simd_si *) __a);
20466   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
20467   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
20468   ret.val[2] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
20469   ret.val[3] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
20470   return ret;
20471 }
20472 
20473 __extension__ extern __inline float16x4x4_t
20474 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_f16(const float16_t * __a)20475 vld4_dup_f16 (const float16_t * __a)
20476 {
20477   float16x4x4_t ret;
20478   __builtin_aarch64_simd_xi __o;
20479   __o = __builtin_aarch64_ld4rv4hf ((const __builtin_aarch64_simd_hf *) __a);
20480   ret.val[0] = (float16x4_t) __builtin_aarch64_get_dregxiv4hf (__o, 0);
20481   ret.val[1] = (float16x4_t) __builtin_aarch64_get_dregxiv4hf (__o, 1);
20482   ret.val[2] = (float16x4_t) __builtin_aarch64_get_dregxiv4hf (__o, 2);
20483   ret.val[3] = (float16x4_t) __builtin_aarch64_get_dregxiv4hf (__o, 3);
20484   return ret;
20485 }
20486 
20487 __extension__ extern __inline float32x2x4_t
20488 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_f32(const float32_t * __a)20489 vld4_dup_f32 (const float32_t * __a)
20490 {
20491   float32x2x4_t ret;
20492   __builtin_aarch64_simd_xi __o;
20493   __o = __builtin_aarch64_ld4rv2sf ((const __builtin_aarch64_simd_sf *) __a);
20494   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 0);
20495   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 1);
20496   ret.val[2] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 2);
20497   ret.val[3] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 3);
20498   return ret;
20499 }
20500 
20501 __extension__ extern __inline poly64x1x4_t
20502 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p64(const poly64_t * __a)20503 vld4_dup_p64 (const poly64_t * __a)
20504 {
20505   poly64x1x4_t ret;
20506   __builtin_aarch64_simd_xi __o;
20507   __o = __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di *) __a);
20508   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 0);
20509   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 1);
20510   ret.val[2] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 2);
20511   ret.val[3] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 3);
20512   return ret;
20513 }
20514 
20515 __extension__ extern __inline int8x16x4_t
20516 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_s8(const int8_t * __a)20517 vld4q_dup_s8 (const int8_t * __a)
20518 {
20519   int8x16x4_t ret;
20520   __builtin_aarch64_simd_xi __o;
20521   __o = __builtin_aarch64_ld4rv16qi ((const __builtin_aarch64_simd_qi *) __a);
20522   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
20523   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
20524   ret.val[2] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
20525   ret.val[3] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
20526   return ret;
20527 }
20528 
20529 __extension__ extern __inline poly8x16x4_t
20530 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_p8(const poly8_t * __a)20531 vld4q_dup_p8 (const poly8_t * __a)
20532 {
20533   poly8x16x4_t ret;
20534   __builtin_aarch64_simd_xi __o;
20535   __o = __builtin_aarch64_ld4rv16qi ((const __builtin_aarch64_simd_qi *) __a);
20536   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
20537   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
20538   ret.val[2] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
20539   ret.val[3] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
20540   return ret;
20541 }
20542 
20543 __extension__ extern __inline int16x8x4_t
20544 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_s16(const int16_t * __a)20545 vld4q_dup_s16 (const int16_t * __a)
20546 {
20547   int16x8x4_t ret;
20548   __builtin_aarch64_simd_xi __o;
20549   __o = __builtin_aarch64_ld4rv8hi ((const __builtin_aarch64_simd_hi *) __a);
20550   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
20551   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
20552   ret.val[2] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
20553   ret.val[3] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
20554   return ret;
20555 }
20556 
20557 __extension__ extern __inline poly16x8x4_t
20558 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_p16(const poly16_t * __a)20559 vld4q_dup_p16 (const poly16_t * __a)
20560 {
20561   poly16x8x4_t ret;
20562   __builtin_aarch64_simd_xi __o;
20563   __o = __builtin_aarch64_ld4rv8hi ((const __builtin_aarch64_simd_hi *) __a);
20564   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
20565   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
20566   ret.val[2] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
20567   ret.val[3] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
20568   return ret;
20569 }
20570 
20571 __extension__ extern __inline int32x4x4_t
20572 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_s32(const int32_t * __a)20573 vld4q_dup_s32 (const int32_t * __a)
20574 {
20575   int32x4x4_t ret;
20576   __builtin_aarch64_simd_xi __o;
20577   __o = __builtin_aarch64_ld4rv4si ((const __builtin_aarch64_simd_si *) __a);
20578   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 0);
20579   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 1);
20580   ret.val[2] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 2);
20581   ret.val[3] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 3);
20582   return ret;
20583 }
20584 
20585 __extension__ extern __inline int64x2x4_t
20586 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_s64(const int64_t * __a)20587 vld4q_dup_s64 (const int64_t * __a)
20588 {
20589   int64x2x4_t ret;
20590   __builtin_aarch64_simd_xi __o;
20591   __o = __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di *) __a);
20592   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 0);
20593   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 1);
20594   ret.val[2] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 2);
20595   ret.val[3] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 3);
20596   return ret;
20597 }
20598 
20599 __extension__ extern __inline uint8x16x4_t
20600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_u8(const uint8_t * __a)20601 vld4q_dup_u8 (const uint8_t * __a)
20602 {
20603   uint8x16x4_t ret;
20604   __builtin_aarch64_simd_xi __o;
20605   __o = __builtin_aarch64_ld4rv16qi ((const __builtin_aarch64_simd_qi *) __a);
20606   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
20607   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
20608   ret.val[2] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
20609   ret.val[3] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
20610   return ret;
20611 }
20612 
20613 __extension__ extern __inline uint16x8x4_t
20614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_u16(const uint16_t * __a)20615 vld4q_dup_u16 (const uint16_t * __a)
20616 {
20617   uint16x8x4_t ret;
20618   __builtin_aarch64_simd_xi __o;
20619   __o = __builtin_aarch64_ld4rv8hi ((const __builtin_aarch64_simd_hi *) __a);
20620   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
20621   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
20622   ret.val[2] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
20623   ret.val[3] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
20624   return ret;
20625 }
20626 
20627 __extension__ extern __inline uint32x4x4_t
20628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_u32(const uint32_t * __a)20629 vld4q_dup_u32 (const uint32_t * __a)
20630 {
20631   uint32x4x4_t ret;
20632   __builtin_aarch64_simd_xi __o;
20633   __o = __builtin_aarch64_ld4rv4si ((const __builtin_aarch64_simd_si *) __a);
20634   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 0);
20635   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 1);
20636   ret.val[2] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 2);
20637   ret.val[3] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 3);
20638   return ret;
20639 }
20640 
20641 __extension__ extern __inline uint64x2x4_t
20642 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_u64(const uint64_t * __a)20643 vld4q_dup_u64 (const uint64_t * __a)
20644 {
20645   uint64x2x4_t ret;
20646   __builtin_aarch64_simd_xi __o;
20647   __o = __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di *) __a);
20648   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 0);
20649   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 1);
20650   ret.val[2] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 2);
20651   ret.val[3] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 3);
20652   return ret;
20653 }
20654 
20655 __extension__ extern __inline float16x8x4_t
20656 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_f16(const float16_t * __a)20657 vld4q_dup_f16 (const float16_t * __a)
20658 {
20659   float16x8x4_t ret;
20660   __builtin_aarch64_simd_xi __o;
20661   __o = __builtin_aarch64_ld4rv8hf ((const __builtin_aarch64_simd_hf *) __a);
20662   ret.val[0] = (float16x8_t) __builtin_aarch64_get_qregxiv8hf (__o, 0);
20663   ret.val[1] = (float16x8_t) __builtin_aarch64_get_qregxiv8hf (__o, 1);
20664   ret.val[2] = (float16x8_t) __builtin_aarch64_get_qregxiv8hf (__o, 2);
20665   ret.val[3] = (float16x8_t) __builtin_aarch64_get_qregxiv8hf (__o, 3);
20666   return ret;
20667 }
20668 
20669 __extension__ extern __inline float32x4x4_t
20670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_f32(const float32_t * __a)20671 vld4q_dup_f32 (const float32_t * __a)
20672 {
20673   float32x4x4_t ret;
20674   __builtin_aarch64_simd_xi __o;
20675   __o = __builtin_aarch64_ld4rv4sf ((const __builtin_aarch64_simd_sf *) __a);
20676   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 0);
20677   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 1);
20678   ret.val[2] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 2);
20679   ret.val[3] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 3);
20680   return ret;
20681 }
20682 
20683 __extension__ extern __inline float64x2x4_t
20684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_f64(const float64_t * __a)20685 vld4q_dup_f64 (const float64_t * __a)
20686 {
20687   float64x2x4_t ret;
20688   __builtin_aarch64_simd_xi __o;
20689   __o = __builtin_aarch64_ld4rv2df ((const __builtin_aarch64_simd_df *) __a);
20690   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 0);
20691   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 1);
20692   ret.val[2] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 2);
20693   ret.val[3] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 3);
20694   return ret;
20695 }
20696 
20697 __extension__ extern __inline poly64x2x4_t
20698 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_p64(const poly64_t * __a)20699 vld4q_dup_p64 (const poly64_t * __a)
20700 {
20701   poly64x2x4_t ret;
20702   __builtin_aarch64_simd_xi __o;
20703   __o = __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di *) __a);
20704   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 0);
20705   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 1);
20706   ret.val[2] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 2);
20707   ret.val[3] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 3);
20708   return ret;
20709 }
20710 
20711 /* vld2_lane */
20712 
20713 #define __LD2_LANE_FUNC(intype, vectype, largetype, ptrtype, mode,	   \
20714 			 qmode, ptrmode, funcsuffix, signedtype)	   \
20715 __extension__ extern __inline intype \
20716 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20717 vld2_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c)  \
20718 {									   \
20719   __builtin_aarch64_simd_oi __o;					   \
20720   largetype __temp;							   \
20721   __temp.val[0] =							   \
20722     vcombine_##funcsuffix (__b.val[0], vcreate_##funcsuffix (0));	   \
20723   __temp.val[1] =							   \
20724     vcombine_##funcsuffix (__b.val[1], vcreate_##funcsuffix (0));	   \
20725   __o = __builtin_aarch64_set_qregoi##qmode (__o,			   \
20726 					    (signedtype) __temp.val[0],	   \
20727 					    0);				   \
20728   __o = __builtin_aarch64_set_qregoi##qmode (__o,			   \
20729 					    (signedtype) __temp.val[1],	   \
20730 					    1);				   \
20731   __o =	__builtin_aarch64_ld2_lane##mode (				   \
20732 	  (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);	   \
20733   __b.val[0] = (vectype) __builtin_aarch64_get_dregoidi (__o, 0);	   \
20734   __b.val[1] = (vectype) __builtin_aarch64_get_dregoidi (__o, 1);	   \
20735   return __b;								   \
20736 }
20737 
__LD2_LANE_FUNC(float16x4x2_t,float16x4_t,float16x8x2_t,float16_t,v4hf,v8hf,hf,f16,float16x8_t)20738 __LD2_LANE_FUNC (float16x4x2_t, float16x4_t, float16x8x2_t, float16_t, v4hf,
20739 		 v8hf, hf, f16, float16x8_t)
20740 __LD2_LANE_FUNC (float32x2x2_t, float32x2_t, float32x4x2_t, float32_t, v2sf, v4sf,
20741 		 sf, f32, float32x4_t)
20742 __LD2_LANE_FUNC (float64x1x2_t, float64x1_t, float64x2x2_t, float64_t, df, v2df,
20743 		 df, f64, float64x2_t)
20744 __LD2_LANE_FUNC (poly8x8x2_t, poly8x8_t, poly8x16x2_t, poly8_t, v8qi, v16qi, qi, p8,
20745 		 int8x16_t)
20746 __LD2_LANE_FUNC (poly16x4x2_t, poly16x4_t, poly16x8x2_t, poly16_t, v4hi, v8hi, hi,
20747 		 p16, int16x8_t)
20748 __LD2_LANE_FUNC (poly64x1x2_t, poly64x1_t, poly64x2x2_t, poly64_t, di,
20749 		 v2di_ssps, di, p64, poly64x2_t)
20750 __LD2_LANE_FUNC (int8x8x2_t, int8x8_t, int8x16x2_t, int8_t, v8qi, v16qi, qi, s8,
20751 		 int8x16_t)
20752 __LD2_LANE_FUNC (int16x4x2_t, int16x4_t, int16x8x2_t, int16_t, v4hi, v8hi, hi, s16,
20753 		 int16x8_t)
20754 __LD2_LANE_FUNC (int32x2x2_t, int32x2_t, int32x4x2_t, int32_t, v2si, v4si, si, s32,
20755 		 int32x4_t)
20756 __LD2_LANE_FUNC (int64x1x2_t, int64x1_t, int64x2x2_t, int64_t, di, v2di, di, s64,
20757 		 int64x2_t)
20758 __LD2_LANE_FUNC (uint8x8x2_t, uint8x8_t, uint8x16x2_t, uint8_t, v8qi, v16qi, qi, u8,
20759 		 int8x16_t)
20760 __LD2_LANE_FUNC (uint16x4x2_t, uint16x4_t, uint16x8x2_t, uint16_t, v4hi, v8hi, hi,
20761 		 u16, int16x8_t)
20762 __LD2_LANE_FUNC (uint32x2x2_t, uint32x2_t, uint32x4x2_t, uint32_t, v2si, v4si, si,
20763 		 u32, int32x4_t)
20764 __LD2_LANE_FUNC (uint64x1x2_t, uint64x1_t, uint64x2x2_t, uint64_t, di, v2di, di,
20765 		 u64, int64x2_t)
20766 
20767 #undef __LD2_LANE_FUNC
20768 
20769 /* vld2q_lane */
20770 
20771 #define __LD2_LANE_FUNC(intype, vtype, ptrtype, mode, ptrmode, funcsuffix) \
20772 __extension__ extern __inline intype \
20773 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20774 vld2q_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
20775 {									   \
20776   __builtin_aarch64_simd_oi __o;					   \
20777   intype ret;								   \
20778   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __b.val[0], 0); \
20779   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __b.val[1], 1); \
20780   __o = __builtin_aarch64_ld2_lane##mode (				   \
20781 	(__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);		   \
20782   ret.val[0] = (vtype) __builtin_aarch64_get_qregoiv4si (__o, 0);	   \
20783   ret.val[1] = (vtype) __builtin_aarch64_get_qregoiv4si (__o, 1);	   \
20784   return ret;								   \
20785 }
20786 
20787 __LD2_LANE_FUNC (float16x8x2_t, float16x8_t, float16_t, v8hf, hf, f16)
20788 __LD2_LANE_FUNC (float32x4x2_t, float32x4_t, float32_t, v4sf, sf, f32)
20789 __LD2_LANE_FUNC (float64x2x2_t, float64x2_t, float64_t, v2df, df, f64)
20790 __LD2_LANE_FUNC (poly8x16x2_t, poly8x16_t, poly8_t, v16qi, qi, p8)
20791 __LD2_LANE_FUNC (poly16x8x2_t, poly16x8_t, poly16_t, v8hi, hi, p16)
20792 __LD2_LANE_FUNC (poly64x2x2_t, poly64x2_t, poly64_t, v2di, di, p64)
20793 __LD2_LANE_FUNC (int8x16x2_t, int8x16_t, int8_t, v16qi, qi, s8)
20794 __LD2_LANE_FUNC (int16x8x2_t, int16x8_t, int16_t, v8hi, hi, s16)
20795 __LD2_LANE_FUNC (int32x4x2_t, int32x4_t, int32_t, v4si, si, s32)
20796 __LD2_LANE_FUNC (int64x2x2_t, int64x2_t, int64_t, v2di, di, s64)
20797 __LD2_LANE_FUNC (uint8x16x2_t, uint8x16_t, uint8_t, v16qi, qi, u8)
20798 __LD2_LANE_FUNC (uint16x8x2_t, uint16x8_t, uint16_t, v8hi, hi, u16)
20799 __LD2_LANE_FUNC (uint32x4x2_t, uint32x4_t, uint32_t, v4si, si, u32)
20800 __LD2_LANE_FUNC (uint64x2x2_t, uint64x2_t, uint64_t, v2di, di, u64)
20801 
20802 #undef __LD2_LANE_FUNC
20803 
20804 /* vld3_lane */
20805 
20806 #define __LD3_LANE_FUNC(intype, vectype, largetype, ptrtype, mode,	   \
20807 			 qmode, ptrmode, funcsuffix, signedtype)	   \
20808 __extension__ extern __inline intype \
20809 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20810 vld3_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c)  \
20811 {									   \
20812   __builtin_aarch64_simd_ci __o;					   \
20813   largetype __temp;							   \
20814   __temp.val[0] =							   \
20815     vcombine_##funcsuffix (__b.val[0], vcreate_##funcsuffix (0));	   \
20816   __temp.val[1] =							   \
20817     vcombine_##funcsuffix (__b.val[1], vcreate_##funcsuffix (0));	   \
20818   __temp.val[2] =							   \
20819     vcombine_##funcsuffix (__b.val[2], vcreate_##funcsuffix (0));	   \
20820   __o = __builtin_aarch64_set_qregci##qmode (__o,			   \
20821 					    (signedtype) __temp.val[0],	   \
20822 					    0);				   \
20823   __o = __builtin_aarch64_set_qregci##qmode (__o,			   \
20824 					    (signedtype) __temp.val[1],	   \
20825 					    1);				   \
20826   __o = __builtin_aarch64_set_qregci##qmode (__o,			   \
20827 					    (signedtype) __temp.val[2],	   \
20828 					    2);				   \
20829   __o =	__builtin_aarch64_ld3_lane##mode (				   \
20830 	  (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);	   \
20831   __b.val[0] = (vectype) __builtin_aarch64_get_dregcidi (__o, 0);	   \
20832   __b.val[1] = (vectype) __builtin_aarch64_get_dregcidi (__o, 1);	   \
20833   __b.val[2] = (vectype) __builtin_aarch64_get_dregcidi (__o, 2);	   \
20834   return __b;								   \
20835 }
20836 
20837 __LD3_LANE_FUNC (float16x4x3_t, float16x4_t, float16x8x3_t, float16_t, v4hf,
20838 		 v8hf, hf, f16, float16x8_t)
20839 __LD3_LANE_FUNC (float32x2x3_t, float32x2_t, float32x4x3_t, float32_t, v2sf, v4sf,
20840 		 sf, f32, float32x4_t)
20841 __LD3_LANE_FUNC (float64x1x3_t, float64x1_t, float64x2x3_t, float64_t, df, v2df,
20842 		 df, f64, float64x2_t)
20843 __LD3_LANE_FUNC (poly8x8x3_t, poly8x8_t, poly8x16x3_t, poly8_t, v8qi, v16qi, qi, p8,
20844 		 int8x16_t)
20845 __LD3_LANE_FUNC (poly16x4x3_t, poly16x4_t, poly16x8x3_t, poly16_t, v4hi, v8hi, hi,
20846 		 p16, int16x8_t)
20847 __LD3_LANE_FUNC (poly64x1x3_t, poly64x1_t, poly64x2x3_t, poly64_t, di,
20848 		 v2di_ssps, di, p64, poly64x2_t)
20849 __LD3_LANE_FUNC (int8x8x3_t, int8x8_t, int8x16x3_t, int8_t, v8qi, v16qi, qi, s8,
20850 		 int8x16_t)
20851 __LD3_LANE_FUNC (int16x4x3_t, int16x4_t, int16x8x3_t, int16_t, v4hi, v8hi, hi, s16,
20852 		 int16x8_t)
20853 __LD3_LANE_FUNC (int32x2x3_t, int32x2_t, int32x4x3_t, int32_t, v2si, v4si, si, s32,
20854 		 int32x4_t)
20855 __LD3_LANE_FUNC (int64x1x3_t, int64x1_t, int64x2x3_t, int64_t, di, v2di, di, s64,
20856 		 int64x2_t)
20857 __LD3_LANE_FUNC (uint8x8x3_t, uint8x8_t, uint8x16x3_t, uint8_t, v8qi, v16qi, qi, u8,
20858 		 int8x16_t)
20859 __LD3_LANE_FUNC (uint16x4x3_t, uint16x4_t, uint16x8x3_t, uint16_t, v4hi, v8hi, hi,
20860 		 u16, int16x8_t)
20861 __LD3_LANE_FUNC (uint32x2x3_t, uint32x2_t, uint32x4x3_t, uint32_t, v2si, v4si, si,
20862 		 u32, int32x4_t)
20863 __LD3_LANE_FUNC (uint64x1x3_t, uint64x1_t, uint64x2x3_t, uint64_t, di, v2di, di,
20864 		 u64, int64x2_t)
20865 
20866 #undef __LD3_LANE_FUNC
20867 
20868 /* vld3q_lane */
20869 
20870 #define __LD3_LANE_FUNC(intype, vtype, ptrtype, mode, ptrmode, funcsuffix) \
20871 __extension__ extern __inline intype \
20872 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20873 vld3q_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
20874 {									   \
20875   __builtin_aarch64_simd_ci __o;					   \
20876   intype ret;								   \
20877   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __b.val[0], 0); \
20878   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __b.val[1], 1); \
20879   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __b.val[2], 2); \
20880   __o = __builtin_aarch64_ld3_lane##mode (				   \
20881 	(__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);		   \
20882   ret.val[0] = (vtype) __builtin_aarch64_get_qregciv4si (__o, 0);	   \
20883   ret.val[1] = (vtype) __builtin_aarch64_get_qregciv4si (__o, 1);	   \
20884   ret.val[2] = (vtype) __builtin_aarch64_get_qregciv4si (__o, 2);	   \
20885   return ret;								   \
20886 }
20887 
20888 __LD3_LANE_FUNC (float16x8x3_t, float16x8_t, float16_t, v8hf, hf, f16)
20889 __LD3_LANE_FUNC (float32x4x3_t, float32x4_t, float32_t, v4sf, sf, f32)
20890 __LD3_LANE_FUNC (float64x2x3_t, float64x2_t, float64_t, v2df, df, f64)
20891 __LD3_LANE_FUNC (poly8x16x3_t, poly8x16_t, poly8_t, v16qi, qi, p8)
20892 __LD3_LANE_FUNC (poly16x8x3_t, poly16x8_t, poly16_t, v8hi, hi, p16)
20893 __LD3_LANE_FUNC (poly64x2x3_t, poly64x2_t, poly64_t, v2di, di, p64)
20894 __LD3_LANE_FUNC (int8x16x3_t, int8x16_t, int8_t, v16qi, qi, s8)
20895 __LD3_LANE_FUNC (int16x8x3_t, int16x8_t, int16_t, v8hi, hi, s16)
20896 __LD3_LANE_FUNC (int32x4x3_t, int32x4_t, int32_t, v4si, si, s32)
20897 __LD3_LANE_FUNC (int64x2x3_t, int64x2_t, int64_t, v2di, di, s64)
20898 __LD3_LANE_FUNC (uint8x16x3_t, uint8x16_t, uint8_t, v16qi, qi, u8)
20899 __LD3_LANE_FUNC (uint16x8x3_t, uint16x8_t, uint16_t, v8hi, hi, u16)
20900 __LD3_LANE_FUNC (uint32x4x3_t, uint32x4_t, uint32_t, v4si, si, u32)
20901 __LD3_LANE_FUNC (uint64x2x3_t, uint64x2_t, uint64_t, v2di, di, u64)
20902 
20903 #undef __LD3_LANE_FUNC
20904 
20905 /* vld4_lane */
20906 
20907 #define __LD4_LANE_FUNC(intype, vectype, largetype, ptrtype, mode,	   \
20908 			 qmode, ptrmode, funcsuffix, signedtype)	   \
20909 __extension__ extern __inline intype \
20910 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20911 vld4_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c)  \
20912 {									   \
20913   __builtin_aarch64_simd_xi __o;					   \
20914   largetype __temp;							   \
20915   __temp.val[0] =							   \
20916     vcombine_##funcsuffix (__b.val[0], vcreate_##funcsuffix (0));	   \
20917   __temp.val[1] =							   \
20918     vcombine_##funcsuffix (__b.val[1], vcreate_##funcsuffix (0));	   \
20919   __temp.val[2] =							   \
20920     vcombine_##funcsuffix (__b.val[2], vcreate_##funcsuffix (0));	   \
20921   __temp.val[3] =							   \
20922     vcombine_##funcsuffix (__b.val[3], vcreate_##funcsuffix (0));	   \
20923   __o = __builtin_aarch64_set_qregxi##qmode (__o,			   \
20924 					    (signedtype) __temp.val[0],	   \
20925 					    0);				   \
20926   __o = __builtin_aarch64_set_qregxi##qmode (__o,			   \
20927 					    (signedtype) __temp.val[1],	   \
20928 					    1);				   \
20929   __o = __builtin_aarch64_set_qregxi##qmode (__o,			   \
20930 					    (signedtype) __temp.val[2],	   \
20931 					    2);				   \
20932   __o = __builtin_aarch64_set_qregxi##qmode (__o,			   \
20933 					    (signedtype) __temp.val[3],	   \
20934 					    3);				   \
20935   __o =	__builtin_aarch64_ld4_lane##mode (				   \
20936 	  (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);	   \
20937   __b.val[0] = (vectype) __builtin_aarch64_get_dregxidi (__o, 0);	   \
20938   __b.val[1] = (vectype) __builtin_aarch64_get_dregxidi (__o, 1);	   \
20939   __b.val[2] = (vectype) __builtin_aarch64_get_dregxidi (__o, 2);	   \
20940   __b.val[3] = (vectype) __builtin_aarch64_get_dregxidi (__o, 3);	   \
20941   return __b;								   \
20942 }
20943 
20944 /* vld4q_lane */
20945 
20946 __LD4_LANE_FUNC (float16x4x4_t, float16x4_t, float16x8x4_t, float16_t, v4hf,
20947 		 v8hf, hf, f16, float16x8_t)
20948 __LD4_LANE_FUNC (float32x2x4_t, float32x2_t, float32x4x4_t, float32_t, v2sf, v4sf,
20949 		 sf, f32, float32x4_t)
20950 __LD4_LANE_FUNC (float64x1x4_t, float64x1_t, float64x2x4_t, float64_t, df, v2df,
20951 		 df, f64, float64x2_t)
20952 __LD4_LANE_FUNC (poly8x8x4_t, poly8x8_t, poly8x16x4_t, poly8_t, v8qi, v16qi, qi, p8,
20953 		 int8x16_t)
20954 __LD4_LANE_FUNC (poly16x4x4_t, poly16x4_t, poly16x8x4_t, poly16_t, v4hi, v8hi, hi,
20955 		 p16, int16x8_t)
20956 __LD4_LANE_FUNC (poly64x1x4_t, poly64x1_t, poly64x2x4_t, poly64_t, di,
20957 		 v2di_ssps, di, p64, poly64x2_t)
20958 __LD4_LANE_FUNC (int8x8x4_t, int8x8_t, int8x16x4_t, int8_t, v8qi, v16qi, qi, s8,
20959 		 int8x16_t)
20960 __LD4_LANE_FUNC (int16x4x4_t, int16x4_t, int16x8x4_t, int16_t, v4hi, v8hi, hi, s16,
20961 		 int16x8_t)
20962 __LD4_LANE_FUNC (int32x2x4_t, int32x2_t, int32x4x4_t, int32_t, v2si, v4si, si, s32,
20963 		 int32x4_t)
20964 __LD4_LANE_FUNC (int64x1x4_t, int64x1_t, int64x2x4_t, int64_t, di, v2di, di, s64,
20965 		 int64x2_t)
20966 __LD4_LANE_FUNC (uint8x8x4_t, uint8x8_t, uint8x16x4_t, uint8_t, v8qi, v16qi, qi, u8,
20967 		 int8x16_t)
20968 __LD4_LANE_FUNC (uint16x4x4_t, uint16x4_t, uint16x8x4_t, uint16_t, v4hi, v8hi, hi,
20969 		 u16, int16x8_t)
20970 __LD4_LANE_FUNC (uint32x2x4_t, uint32x2_t, uint32x4x4_t, uint32_t, v2si, v4si, si,
20971 		 u32, int32x4_t)
20972 __LD4_LANE_FUNC (uint64x1x4_t, uint64x1_t, uint64x2x4_t, uint64_t, di, v2di, di,
20973 		 u64, int64x2_t)
20974 
20975 #undef __LD4_LANE_FUNC
20976 
20977 /* vld4q_lane */
20978 
20979 #define __LD4_LANE_FUNC(intype, vtype, ptrtype, mode, ptrmode, funcsuffix) \
20980 __extension__ extern __inline intype \
20981 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
20982 vld4q_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
20983 {									   \
20984   __builtin_aarch64_simd_xi __o;					   \
20985   intype ret;								   \
20986   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[0], 0); \
20987   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[1], 1); \
20988   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[2], 2); \
20989   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[3], 3); \
20990   __o = __builtin_aarch64_ld4_lane##mode (				   \
20991 	(__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);		   \
20992   ret.val[0] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 0);	   \
20993   ret.val[1] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 1);	   \
20994   ret.val[2] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 2);	   \
20995   ret.val[3] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 3);	   \
20996   return ret;								   \
20997 }
20998 
20999 __LD4_LANE_FUNC (float16x8x4_t, float16x8_t, float16_t, v8hf, hf, f16)
21000 __LD4_LANE_FUNC (float32x4x4_t, float32x4_t, float32_t, v4sf, sf, f32)
21001 __LD4_LANE_FUNC (float64x2x4_t, float64x2_t, float64_t, v2df, df, f64)
21002 __LD4_LANE_FUNC (poly8x16x4_t, poly8x16_t, poly8_t, v16qi, qi, p8)
21003 __LD4_LANE_FUNC (poly16x8x4_t, poly16x8_t, poly16_t, v8hi, hi, p16)
21004 __LD4_LANE_FUNC (poly64x2x4_t, poly64x2_t, poly64_t, v2di, di, p64)
21005 __LD4_LANE_FUNC (int8x16x4_t, int8x16_t, int8_t, v16qi, qi, s8)
21006 __LD4_LANE_FUNC (int16x8x4_t, int16x8_t, int16_t, v8hi, hi, s16)
21007 __LD4_LANE_FUNC (int32x4x4_t, int32x4_t, int32_t, v4si, si, s32)
21008 __LD4_LANE_FUNC (int64x2x4_t, int64x2_t, int64_t, v2di, di, s64)
21009 __LD4_LANE_FUNC (uint8x16x4_t, uint8x16_t, uint8_t, v16qi, qi, u8)
21010 __LD4_LANE_FUNC (uint16x8x4_t, uint16x8_t, uint16_t, v8hi, hi, u16)
21011 __LD4_LANE_FUNC (uint32x4x4_t, uint32x4_t, uint32_t, v4si, si, u32)
21012 __LD4_LANE_FUNC (uint64x2x4_t, uint64x2_t, uint64_t, v2di, di, u64)
21013 
21014 #undef __LD4_LANE_FUNC
21015 
21016 /* vmax */
21017 
21018 __extension__ extern __inline float32x2_t
21019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
21020 vmax_f32 (float32x2_t __a, float32x2_t __b)
21021 {
21022   return __builtin_aarch64_smax_nanv2sf (__a, __b);
21023 }
21024 
21025 __extension__ extern __inline float64x1_t
21026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_f64(float64x1_t __a,float64x1_t __b)21027 vmax_f64 (float64x1_t __a, float64x1_t __b)
21028 {
21029     return (float64x1_t)
21030       { __builtin_aarch64_smax_nandf (vget_lane_f64 (__a, 0),
21031 				      vget_lane_f64 (__b, 0)) };
21032 }
21033 
21034 __extension__ extern __inline int8x8_t
21035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s8(int8x8_t __a,int8x8_t __b)21036 vmax_s8 (int8x8_t __a, int8x8_t __b)
21037 {
21038   return __builtin_aarch64_smaxv8qi (__a, __b);
21039 }
21040 
21041 __extension__ extern __inline int16x4_t
21042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s16(int16x4_t __a,int16x4_t __b)21043 vmax_s16 (int16x4_t __a, int16x4_t __b)
21044 {
21045   return __builtin_aarch64_smaxv4hi (__a, __b);
21046 }
21047 
21048 __extension__ extern __inline int32x2_t
21049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s32(int32x2_t __a,int32x2_t __b)21050 vmax_s32 (int32x2_t __a, int32x2_t __b)
21051 {
21052   return __builtin_aarch64_smaxv2si (__a, __b);
21053 }
21054 
21055 __extension__ extern __inline uint8x8_t
21056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u8(uint8x8_t __a,uint8x8_t __b)21057 vmax_u8 (uint8x8_t __a, uint8x8_t __b)
21058 {
21059   return (uint8x8_t) __builtin_aarch64_umaxv8qi ((int8x8_t) __a,
21060 						 (int8x8_t) __b);
21061 }
21062 
21063 __extension__ extern __inline uint16x4_t
21064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u16(uint16x4_t __a,uint16x4_t __b)21065 vmax_u16 (uint16x4_t __a, uint16x4_t __b)
21066 {
21067   return (uint16x4_t) __builtin_aarch64_umaxv4hi ((int16x4_t) __a,
21068 						  (int16x4_t) __b);
21069 }
21070 
21071 __extension__ extern __inline uint32x2_t
21072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u32(uint32x2_t __a,uint32x2_t __b)21073 vmax_u32 (uint32x2_t __a, uint32x2_t __b)
21074 {
21075   return (uint32x2_t) __builtin_aarch64_umaxv2si ((int32x2_t) __a,
21076 						  (int32x2_t) __b);
21077 }
21078 
21079 __extension__ extern __inline float32x4_t
21080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_f32(float32x4_t __a,float32x4_t __b)21081 vmaxq_f32 (float32x4_t __a, float32x4_t __b)
21082 {
21083   return __builtin_aarch64_smax_nanv4sf (__a, __b);
21084 }
21085 
21086 __extension__ extern __inline float64x2_t
21087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_f64(float64x2_t __a,float64x2_t __b)21088 vmaxq_f64 (float64x2_t __a, float64x2_t __b)
21089 {
21090   return __builtin_aarch64_smax_nanv2df (__a, __b);
21091 }
21092 
21093 __extension__ extern __inline int8x16_t
21094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s8(int8x16_t __a,int8x16_t __b)21095 vmaxq_s8 (int8x16_t __a, int8x16_t __b)
21096 {
21097   return __builtin_aarch64_smaxv16qi (__a, __b);
21098 }
21099 
21100 __extension__ extern __inline int16x8_t
21101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s16(int16x8_t __a,int16x8_t __b)21102 vmaxq_s16 (int16x8_t __a, int16x8_t __b)
21103 {
21104   return __builtin_aarch64_smaxv8hi (__a, __b);
21105 }
21106 
21107 __extension__ extern __inline int32x4_t
21108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s32(int32x4_t __a,int32x4_t __b)21109 vmaxq_s32 (int32x4_t __a, int32x4_t __b)
21110 {
21111   return __builtin_aarch64_smaxv4si (__a, __b);
21112 }
21113 
21114 __extension__ extern __inline uint8x16_t
21115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u8(uint8x16_t __a,uint8x16_t __b)21116 vmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
21117 {
21118   return (uint8x16_t) __builtin_aarch64_umaxv16qi ((int8x16_t) __a,
21119 						   (int8x16_t) __b);
21120 }
21121 
21122 __extension__ extern __inline uint16x8_t
21123 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u16(uint16x8_t __a,uint16x8_t __b)21124 vmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
21125 {
21126   return (uint16x8_t) __builtin_aarch64_umaxv8hi ((int16x8_t) __a,
21127 						  (int16x8_t) __b);
21128 }
21129 
21130 __extension__ extern __inline uint32x4_t
21131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u32(uint32x4_t __a,uint32x4_t __b)21132 vmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
21133 {
21134   return (uint32x4_t) __builtin_aarch64_umaxv4si ((int32x4_t) __a,
21135 						  (int32x4_t) __b);
21136 }
21137 /* vmulx */
21138 
21139 __extension__ extern __inline float32x2_t
21140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_f32(float32x2_t __a,float32x2_t __b)21141 vmulx_f32 (float32x2_t __a, float32x2_t __b)
21142 {
21143   return __builtin_aarch64_fmulxv2sf (__a, __b);
21144 }
21145 
21146 __extension__ extern __inline float32x4_t
21147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_f32(float32x4_t __a,float32x4_t __b)21148 vmulxq_f32 (float32x4_t __a, float32x4_t __b)
21149 {
21150   return __builtin_aarch64_fmulxv4sf (__a, __b);
21151 }
21152 
21153 __extension__ extern __inline float64x1_t
21154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_f64(float64x1_t __a,float64x1_t __b)21155 vmulx_f64 (float64x1_t __a, float64x1_t __b)
21156 {
21157   return (float64x1_t) {__builtin_aarch64_fmulxdf (__a[0], __b[0])};
21158 }
21159 
21160 __extension__ extern __inline float64x2_t
21161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_f64(float64x2_t __a,float64x2_t __b)21162 vmulxq_f64 (float64x2_t __a, float64x2_t __b)
21163 {
21164   return __builtin_aarch64_fmulxv2df (__a, __b);
21165 }
21166 
21167 __extension__ extern __inline float32_t
21168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxs_f32(float32_t __a,float32_t __b)21169 vmulxs_f32 (float32_t __a, float32_t __b)
21170 {
21171   return __builtin_aarch64_fmulxsf (__a, __b);
21172 }
21173 
21174 __extension__ extern __inline float64_t
21175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxd_f64(float64_t __a,float64_t __b)21176 vmulxd_f64 (float64_t __a, float64_t __b)
21177 {
21178   return __builtin_aarch64_fmulxdf (__a, __b);
21179 }
21180 
21181 __extension__ extern __inline float32x2_t
21182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_lane_f32(float32x2_t __a,float32x2_t __v,const int __lane)21183 vmulx_lane_f32 (float32x2_t __a, float32x2_t __v, const int __lane)
21184 {
21185   return vmulx_f32 (__a, __aarch64_vdup_lane_f32 (__v, __lane));
21186 }
21187 
21188 __extension__ extern __inline float64x1_t
21189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_lane_f64(float64x1_t __a,float64x1_t __v,const int __lane)21190 vmulx_lane_f64 (float64x1_t __a, float64x1_t __v, const int __lane)
21191 {
21192   return vmulx_f64 (__a, __aarch64_vdup_lane_f64 (__v, __lane));
21193 }
21194 
21195 __extension__ extern __inline float32x4_t
21196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_lane_f32(float32x4_t __a,float32x2_t __v,const int __lane)21197 vmulxq_lane_f32 (float32x4_t __a, float32x2_t __v, const int __lane)
21198 {
21199   return vmulxq_f32 (__a, __aarch64_vdupq_lane_f32 (__v, __lane));
21200 }
21201 
21202 __extension__ extern __inline float64x2_t
21203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_lane_f64(float64x2_t __a,float64x1_t __v,const int __lane)21204 vmulxq_lane_f64 (float64x2_t __a, float64x1_t __v, const int __lane)
21205 {
21206   return vmulxq_f64 (__a, __aarch64_vdupq_lane_f64 (__v, __lane));
21207 }
21208 
21209 __extension__ extern __inline float32x2_t
21210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_laneq_f32(float32x2_t __a,float32x4_t __v,const int __lane)21211 vmulx_laneq_f32 (float32x2_t __a, float32x4_t __v, const int __lane)
21212 {
21213   return vmulx_f32 (__a, __aarch64_vdup_laneq_f32 (__v, __lane));
21214 }
21215 
21216 __extension__ extern __inline float64x1_t
21217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_laneq_f64(float64x1_t __a,float64x2_t __v,const int __lane)21218 vmulx_laneq_f64 (float64x1_t __a, float64x2_t __v, const int __lane)
21219 {
21220   return vmulx_f64 (__a, __aarch64_vdup_laneq_f64 (__v, __lane));
21221 }
21222 
21223 __extension__ extern __inline float32x4_t
21224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_laneq_f32(float32x4_t __a,float32x4_t __v,const int __lane)21225 vmulxq_laneq_f32 (float32x4_t __a, float32x4_t __v, const int __lane)
21226 {
21227   return vmulxq_f32 (__a, __aarch64_vdupq_laneq_f32 (__v, __lane));
21228 }
21229 
21230 __extension__ extern __inline float64x2_t
21231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_laneq_f64(float64x2_t __a,float64x2_t __v,const int __lane)21232 vmulxq_laneq_f64 (float64x2_t __a, float64x2_t __v, const int __lane)
21233 {
21234   return vmulxq_f64 (__a, __aarch64_vdupq_laneq_f64 (__v, __lane));
21235 }
21236 
21237 __extension__ extern __inline float32_t
21238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxs_lane_f32(float32_t __a,float32x2_t __v,const int __lane)21239 vmulxs_lane_f32 (float32_t __a, float32x2_t __v, const int __lane)
21240 {
21241   return vmulxs_f32 (__a, __aarch64_vget_lane_any (__v, __lane));
21242 }
21243 
21244 __extension__ extern __inline float32_t
21245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxs_laneq_f32(float32_t __a,float32x4_t __v,const int __lane)21246 vmulxs_laneq_f32 (float32_t __a, float32x4_t __v, const int __lane)
21247 {
21248   return vmulxs_f32 (__a, __aarch64_vget_lane_any (__v, __lane));
21249 }
21250 
21251 __extension__ extern __inline float64_t
21252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxd_lane_f64(float64_t __a,float64x1_t __v,const int __lane)21253 vmulxd_lane_f64 (float64_t __a, float64x1_t __v, const int __lane)
21254 {
21255   return vmulxd_f64 (__a, __aarch64_vget_lane_any (__v, __lane));
21256 }
21257 
21258 __extension__ extern __inline float64_t
21259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxd_laneq_f64(float64_t __a,float64x2_t __v,const int __lane)21260 vmulxd_laneq_f64 (float64_t __a, float64x2_t __v, const int __lane)
21261 {
21262   return vmulxd_f64 (__a, __aarch64_vget_lane_any (__v, __lane));
21263 }
21264 
21265 /* vpmax  */
21266 
21267 __extension__ extern __inline int8x8_t
21268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s8(int8x8_t __a,int8x8_t __b)21269 vpmax_s8 (int8x8_t __a, int8x8_t __b)
21270 {
21271   return __builtin_aarch64_smaxpv8qi (__a, __b);
21272 }
21273 
21274 __extension__ extern __inline int16x4_t
21275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s16(int16x4_t __a,int16x4_t __b)21276 vpmax_s16 (int16x4_t __a, int16x4_t __b)
21277 {
21278   return __builtin_aarch64_smaxpv4hi (__a, __b);
21279 }
21280 
21281 __extension__ extern __inline int32x2_t
21282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s32(int32x2_t __a,int32x2_t __b)21283 vpmax_s32 (int32x2_t __a, int32x2_t __b)
21284 {
21285   return __builtin_aarch64_smaxpv2si (__a, __b);
21286 }
21287 
21288 __extension__ extern __inline uint8x8_t
21289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u8(uint8x8_t __a,uint8x8_t __b)21290 vpmax_u8 (uint8x8_t __a, uint8x8_t __b)
21291 {
21292   return (uint8x8_t) __builtin_aarch64_umaxpv8qi ((int8x8_t) __a,
21293 						  (int8x8_t) __b);
21294 }
21295 
21296 __extension__ extern __inline uint16x4_t
21297 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u16(uint16x4_t __a,uint16x4_t __b)21298 vpmax_u16 (uint16x4_t __a, uint16x4_t __b)
21299 {
21300   return (uint16x4_t) __builtin_aarch64_umaxpv4hi ((int16x4_t) __a,
21301 						   (int16x4_t) __b);
21302 }
21303 
21304 __extension__ extern __inline uint32x2_t
21305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u32(uint32x2_t __a,uint32x2_t __b)21306 vpmax_u32 (uint32x2_t __a, uint32x2_t __b)
21307 {
21308   return (uint32x2_t) __builtin_aarch64_umaxpv2si ((int32x2_t) __a,
21309 						   (int32x2_t) __b);
21310 }
21311 
21312 __extension__ extern __inline int8x16_t
21313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_s8(int8x16_t __a,int8x16_t __b)21314 vpmaxq_s8 (int8x16_t __a, int8x16_t __b)
21315 {
21316   return __builtin_aarch64_smaxpv16qi (__a, __b);
21317 }
21318 
21319 __extension__ extern __inline int16x8_t
21320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_s16(int16x8_t __a,int16x8_t __b)21321 vpmaxq_s16 (int16x8_t __a, int16x8_t __b)
21322 {
21323   return __builtin_aarch64_smaxpv8hi (__a, __b);
21324 }
21325 
21326 __extension__ extern __inline int32x4_t
21327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_s32(int32x4_t __a,int32x4_t __b)21328 vpmaxq_s32 (int32x4_t __a, int32x4_t __b)
21329 {
21330   return __builtin_aarch64_smaxpv4si (__a, __b);
21331 }
21332 
21333 __extension__ extern __inline uint8x16_t
21334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_u8(uint8x16_t __a,uint8x16_t __b)21335 vpmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
21336 {
21337   return (uint8x16_t) __builtin_aarch64_umaxpv16qi ((int8x16_t) __a,
21338 						    (int8x16_t) __b);
21339 }
21340 
21341 __extension__ extern __inline uint16x8_t
21342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_u16(uint16x8_t __a,uint16x8_t __b)21343 vpmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
21344 {
21345   return (uint16x8_t) __builtin_aarch64_umaxpv8hi ((int16x8_t) __a,
21346 						   (int16x8_t) __b);
21347 }
21348 
21349 __extension__ extern __inline uint32x4_t
21350 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_u32(uint32x4_t __a,uint32x4_t __b)21351 vpmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
21352 {
21353   return (uint32x4_t) __builtin_aarch64_umaxpv4si ((int32x4_t) __a,
21354 						   (int32x4_t) __b);
21355 }
21356 
21357 __extension__ extern __inline float32x2_t
21358 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_f32(float32x2_t __a,float32x2_t __b)21359 vpmax_f32 (float32x2_t __a, float32x2_t __b)
21360 {
21361   return __builtin_aarch64_smax_nanpv2sf (__a, __b);
21362 }
21363 
21364 __extension__ extern __inline float32x4_t
21365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_f32(float32x4_t __a,float32x4_t __b)21366 vpmaxq_f32 (float32x4_t __a, float32x4_t __b)
21367 {
21368   return __builtin_aarch64_smax_nanpv4sf (__a, __b);
21369 }
21370 
21371 __extension__ extern __inline float64x2_t
21372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_f64(float64x2_t __a,float64x2_t __b)21373 vpmaxq_f64 (float64x2_t __a, float64x2_t __b)
21374 {
21375   return __builtin_aarch64_smax_nanpv2df (__a, __b);
21376 }
21377 
21378 __extension__ extern __inline float64_t
21379 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxqd_f64(float64x2_t __a)21380 vpmaxqd_f64 (float64x2_t __a)
21381 {
21382   return __builtin_aarch64_reduc_smax_nan_scal_v2df (__a);
21383 }
21384 
21385 __extension__ extern __inline float32_t
21386 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxs_f32(float32x2_t __a)21387 vpmaxs_f32 (float32x2_t __a)
21388 {
21389   return __builtin_aarch64_reduc_smax_nan_scal_v2sf (__a);
21390 }
21391 
21392 /* vpmaxnm  */
21393 
21394 __extension__ extern __inline float32x2_t
21395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnm_f32(float32x2_t __a,float32x2_t __b)21396 vpmaxnm_f32 (float32x2_t __a, float32x2_t __b)
21397 {
21398   return __builtin_aarch64_smaxpv2sf (__a, __b);
21399 }
21400 
21401 __extension__ extern __inline float32x4_t
21402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnmq_f32(float32x4_t __a,float32x4_t __b)21403 vpmaxnmq_f32 (float32x4_t __a, float32x4_t __b)
21404 {
21405   return __builtin_aarch64_smaxpv4sf (__a, __b);
21406 }
21407 
21408 __extension__ extern __inline float64x2_t
21409 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnmq_f64(float64x2_t __a,float64x2_t __b)21410 vpmaxnmq_f64 (float64x2_t __a, float64x2_t __b)
21411 {
21412   return __builtin_aarch64_smaxpv2df (__a, __b);
21413 }
21414 
21415 __extension__ extern __inline float64_t
21416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnmqd_f64(float64x2_t __a)21417 vpmaxnmqd_f64 (float64x2_t __a)
21418 {
21419   return __builtin_aarch64_reduc_smax_scal_v2df (__a);
21420 }
21421 
21422 __extension__ extern __inline float32_t
21423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnms_f32(float32x2_t __a)21424 vpmaxnms_f32 (float32x2_t __a)
21425 {
21426   return __builtin_aarch64_reduc_smax_scal_v2sf (__a);
21427 }
21428 
21429 /* vpmin  */
21430 
21431 __extension__ extern __inline int8x8_t
21432 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s8(int8x8_t __a,int8x8_t __b)21433 vpmin_s8 (int8x8_t __a, int8x8_t __b)
21434 {
21435   return __builtin_aarch64_sminpv8qi (__a, __b);
21436 }
21437 
21438 __extension__ extern __inline int16x4_t
21439 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s16(int16x4_t __a,int16x4_t __b)21440 vpmin_s16 (int16x4_t __a, int16x4_t __b)
21441 {
21442   return __builtin_aarch64_sminpv4hi (__a, __b);
21443 }
21444 
21445 __extension__ extern __inline int32x2_t
21446 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s32(int32x2_t __a,int32x2_t __b)21447 vpmin_s32 (int32x2_t __a, int32x2_t __b)
21448 {
21449   return __builtin_aarch64_sminpv2si (__a, __b);
21450 }
21451 
21452 __extension__ extern __inline uint8x8_t
21453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u8(uint8x8_t __a,uint8x8_t __b)21454 vpmin_u8 (uint8x8_t __a, uint8x8_t __b)
21455 {
21456   return (uint8x8_t) __builtin_aarch64_uminpv8qi ((int8x8_t) __a,
21457 						  (int8x8_t) __b);
21458 }
21459 
21460 __extension__ extern __inline uint16x4_t
21461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u16(uint16x4_t __a,uint16x4_t __b)21462 vpmin_u16 (uint16x4_t __a, uint16x4_t __b)
21463 {
21464   return (uint16x4_t) __builtin_aarch64_uminpv4hi ((int16x4_t) __a,
21465 						   (int16x4_t) __b);
21466 }
21467 
21468 __extension__ extern __inline uint32x2_t
21469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u32(uint32x2_t __a,uint32x2_t __b)21470 vpmin_u32 (uint32x2_t __a, uint32x2_t __b)
21471 {
21472   return (uint32x2_t) __builtin_aarch64_uminpv2si ((int32x2_t) __a,
21473 						   (int32x2_t) __b);
21474 }
21475 
21476 __extension__ extern __inline int8x16_t
21477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_s8(int8x16_t __a,int8x16_t __b)21478 vpminq_s8 (int8x16_t __a, int8x16_t __b)
21479 {
21480   return __builtin_aarch64_sminpv16qi (__a, __b);
21481 }
21482 
21483 __extension__ extern __inline int16x8_t
21484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_s16(int16x8_t __a,int16x8_t __b)21485 vpminq_s16 (int16x8_t __a, int16x8_t __b)
21486 {
21487   return __builtin_aarch64_sminpv8hi (__a, __b);
21488 }
21489 
21490 __extension__ extern __inline int32x4_t
21491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_s32(int32x4_t __a,int32x4_t __b)21492 vpminq_s32 (int32x4_t __a, int32x4_t __b)
21493 {
21494   return __builtin_aarch64_sminpv4si (__a, __b);
21495 }
21496 
21497 __extension__ extern __inline uint8x16_t
21498 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_u8(uint8x16_t __a,uint8x16_t __b)21499 vpminq_u8 (uint8x16_t __a, uint8x16_t __b)
21500 {
21501   return (uint8x16_t) __builtin_aarch64_uminpv16qi ((int8x16_t) __a,
21502 						    (int8x16_t) __b);
21503 }
21504 
21505 __extension__ extern __inline uint16x8_t
21506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_u16(uint16x8_t __a,uint16x8_t __b)21507 vpminq_u16 (uint16x8_t __a, uint16x8_t __b)
21508 {
21509   return (uint16x8_t) __builtin_aarch64_uminpv8hi ((int16x8_t) __a,
21510 						   (int16x8_t) __b);
21511 }
21512 
21513 __extension__ extern __inline uint32x4_t
21514 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_u32(uint32x4_t __a,uint32x4_t __b)21515 vpminq_u32 (uint32x4_t __a, uint32x4_t __b)
21516 {
21517   return (uint32x4_t) __builtin_aarch64_uminpv4si ((int32x4_t) __a,
21518 						   (int32x4_t) __b);
21519 }
21520 
21521 __extension__ extern __inline float32x2_t
21522 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_f32(float32x2_t __a,float32x2_t __b)21523 vpmin_f32 (float32x2_t __a, float32x2_t __b)
21524 {
21525   return __builtin_aarch64_smin_nanpv2sf (__a, __b);
21526 }
21527 
21528 __extension__ extern __inline float32x4_t
21529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_f32(float32x4_t __a,float32x4_t __b)21530 vpminq_f32 (float32x4_t __a, float32x4_t __b)
21531 {
21532   return __builtin_aarch64_smin_nanpv4sf (__a, __b);
21533 }
21534 
21535 __extension__ extern __inline float64x2_t
21536 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_f64(float64x2_t __a,float64x2_t __b)21537 vpminq_f64 (float64x2_t __a, float64x2_t __b)
21538 {
21539   return __builtin_aarch64_smin_nanpv2df (__a, __b);
21540 }
21541 
21542 __extension__ extern __inline float64_t
21543 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminqd_f64(float64x2_t __a)21544 vpminqd_f64 (float64x2_t __a)
21545 {
21546   return __builtin_aarch64_reduc_smin_nan_scal_v2df (__a);
21547 }
21548 
21549 __extension__ extern __inline float32_t
21550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmins_f32(float32x2_t __a)21551 vpmins_f32 (float32x2_t __a)
21552 {
21553   return __builtin_aarch64_reduc_smin_nan_scal_v2sf (__a);
21554 }
21555 
21556 /* vpminnm  */
21557 
21558 __extension__ extern __inline float32x2_t
21559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnm_f32(float32x2_t __a,float32x2_t __b)21560 vpminnm_f32 (float32x2_t __a, float32x2_t __b)
21561 {
21562   return __builtin_aarch64_sminpv2sf (__a, __b);
21563 }
21564 
21565 __extension__ extern __inline float32x4_t
21566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnmq_f32(float32x4_t __a,float32x4_t __b)21567 vpminnmq_f32 (float32x4_t __a, float32x4_t __b)
21568 {
21569   return __builtin_aarch64_sminpv4sf (__a, __b);
21570 }
21571 
21572 __extension__ extern __inline float64x2_t
21573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnmq_f64(float64x2_t __a,float64x2_t __b)21574 vpminnmq_f64 (float64x2_t __a, float64x2_t __b)
21575 {
21576   return __builtin_aarch64_sminpv2df (__a, __b);
21577 }
21578 
21579 __extension__ extern __inline float64_t
21580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnmqd_f64(float64x2_t __a)21581 vpminnmqd_f64 (float64x2_t __a)
21582 {
21583   return __builtin_aarch64_reduc_smin_scal_v2df (__a);
21584 }
21585 
21586 __extension__ extern __inline float32_t
21587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnms_f32(float32x2_t __a)21588 vpminnms_f32 (float32x2_t __a)
21589 {
21590   return __builtin_aarch64_reduc_smin_scal_v2sf (__a);
21591 }
21592 
21593 /* vmaxnm  */
21594 
21595 __extension__ extern __inline float32x2_t
21596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnm_f32(float32x2_t __a,float32x2_t __b)21597 vmaxnm_f32 (float32x2_t __a, float32x2_t __b)
21598 {
21599   return __builtin_aarch64_fmaxv2sf (__a, __b);
21600 }
21601 
21602 __extension__ extern __inline float64x1_t
21603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnm_f64(float64x1_t __a,float64x1_t __b)21604 vmaxnm_f64 (float64x1_t __a, float64x1_t __b)
21605 {
21606   return (float64x1_t)
21607     { __builtin_aarch64_fmaxdf (vget_lane_f64 (__a, 0),
21608 				vget_lane_f64 (__b, 0)) };
21609 }
21610 
21611 __extension__ extern __inline float32x4_t
21612 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmq_f32(float32x4_t __a,float32x4_t __b)21613 vmaxnmq_f32 (float32x4_t __a, float32x4_t __b)
21614 {
21615   return __builtin_aarch64_fmaxv4sf (__a, __b);
21616 }
21617 
21618 __extension__ extern __inline float64x2_t
21619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmq_f64(float64x2_t __a,float64x2_t __b)21620 vmaxnmq_f64 (float64x2_t __a, float64x2_t __b)
21621 {
21622   return __builtin_aarch64_fmaxv2df (__a, __b);
21623 }
21624 
21625 /* vmaxv  */
21626 
21627 __extension__ extern __inline float32_t
21628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_f32(float32x2_t __a)21629 vmaxv_f32 (float32x2_t __a)
21630 {
21631   return __builtin_aarch64_reduc_smax_nan_scal_v2sf (__a);
21632 }
21633 
21634 __extension__ extern __inline int8_t
21635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_s8(int8x8_t __a)21636 vmaxv_s8 (int8x8_t __a)
21637 {
21638   return __builtin_aarch64_reduc_smax_scal_v8qi (__a);
21639 }
21640 
21641 __extension__ extern __inline int16_t
21642 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_s16(int16x4_t __a)21643 vmaxv_s16 (int16x4_t __a)
21644 {
21645   return __builtin_aarch64_reduc_smax_scal_v4hi (__a);
21646 }
21647 
21648 __extension__ extern __inline int32_t
21649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_s32(int32x2_t __a)21650 vmaxv_s32 (int32x2_t __a)
21651 {
21652   return __builtin_aarch64_reduc_smax_scal_v2si (__a);
21653 }
21654 
21655 __extension__ extern __inline uint8_t
21656 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_u8(uint8x8_t __a)21657 vmaxv_u8 (uint8x8_t __a)
21658 {
21659   return __builtin_aarch64_reduc_umax_scal_v8qi_uu (__a);
21660 }
21661 
21662 __extension__ extern __inline uint16_t
21663 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_u16(uint16x4_t __a)21664 vmaxv_u16 (uint16x4_t __a)
21665 {
21666   return __builtin_aarch64_reduc_umax_scal_v4hi_uu (__a);
21667 }
21668 
21669 __extension__ extern __inline uint32_t
21670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_u32(uint32x2_t __a)21671 vmaxv_u32 (uint32x2_t __a)
21672 {
21673   return __builtin_aarch64_reduc_umax_scal_v2si_uu (__a);
21674 }
21675 
21676 __extension__ extern __inline float32_t
21677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_f32(float32x4_t __a)21678 vmaxvq_f32 (float32x4_t __a)
21679 {
21680   return __builtin_aarch64_reduc_smax_nan_scal_v4sf (__a);
21681 }
21682 
21683 __extension__ extern __inline float64_t
21684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_f64(float64x2_t __a)21685 vmaxvq_f64 (float64x2_t __a)
21686 {
21687   return __builtin_aarch64_reduc_smax_nan_scal_v2df (__a);
21688 }
21689 
21690 __extension__ extern __inline int8_t
21691 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_s8(int8x16_t __a)21692 vmaxvq_s8 (int8x16_t __a)
21693 {
21694   return __builtin_aarch64_reduc_smax_scal_v16qi (__a);
21695 }
21696 
21697 __extension__ extern __inline int16_t
21698 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_s16(int16x8_t __a)21699 vmaxvq_s16 (int16x8_t __a)
21700 {
21701   return __builtin_aarch64_reduc_smax_scal_v8hi (__a);
21702 }
21703 
21704 __extension__ extern __inline int32_t
21705 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_s32(int32x4_t __a)21706 vmaxvq_s32 (int32x4_t __a)
21707 {
21708   return __builtin_aarch64_reduc_smax_scal_v4si (__a);
21709 }
21710 
21711 __extension__ extern __inline uint8_t
21712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_u8(uint8x16_t __a)21713 vmaxvq_u8 (uint8x16_t __a)
21714 {
21715   return __builtin_aarch64_reduc_umax_scal_v16qi_uu (__a);
21716 }
21717 
21718 __extension__ extern __inline uint16_t
21719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_u16(uint16x8_t __a)21720 vmaxvq_u16 (uint16x8_t __a)
21721 {
21722   return __builtin_aarch64_reduc_umax_scal_v8hi_uu (__a);
21723 }
21724 
21725 __extension__ extern __inline uint32_t
21726 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_u32(uint32x4_t __a)21727 vmaxvq_u32 (uint32x4_t __a)
21728 {
21729   return __builtin_aarch64_reduc_umax_scal_v4si_uu (__a);
21730 }
21731 
21732 /* vmaxnmv  */
21733 
21734 __extension__ extern __inline float32_t
21735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmv_f32(float32x2_t __a)21736 vmaxnmv_f32 (float32x2_t __a)
21737 {
21738   return __builtin_aarch64_reduc_smax_scal_v2sf (__a);
21739 }
21740 
21741 __extension__ extern __inline float32_t
21742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmvq_f32(float32x4_t __a)21743 vmaxnmvq_f32 (float32x4_t __a)
21744 {
21745   return __builtin_aarch64_reduc_smax_scal_v4sf (__a);
21746 }
21747 
21748 __extension__ extern __inline float64_t
21749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmvq_f64(float64x2_t __a)21750 vmaxnmvq_f64 (float64x2_t __a)
21751 {
21752   return __builtin_aarch64_reduc_smax_scal_v2df (__a);
21753 }
21754 
21755 /* vmin  */
21756 
21757 __extension__ extern __inline float32x2_t
21758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_f32(float32x2_t __a,float32x2_t __b)21759 vmin_f32 (float32x2_t __a, float32x2_t __b)
21760 {
21761   return __builtin_aarch64_smin_nanv2sf (__a, __b);
21762 }
21763 
21764 __extension__ extern __inline float64x1_t
21765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_f64(float64x1_t __a,float64x1_t __b)21766 vmin_f64 (float64x1_t __a, float64x1_t __b)
21767 {
21768     return (float64x1_t)
21769 	  { __builtin_aarch64_smin_nandf (vget_lane_f64 (__a, 0),
21770 					  vget_lane_f64 (__b, 0)) };
21771 }
21772 
21773 __extension__ extern __inline int8x8_t
21774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s8(int8x8_t __a,int8x8_t __b)21775 vmin_s8 (int8x8_t __a, int8x8_t __b)
21776 {
21777   return __builtin_aarch64_sminv8qi (__a, __b);
21778 }
21779 
21780 __extension__ extern __inline int16x4_t
21781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s16(int16x4_t __a,int16x4_t __b)21782 vmin_s16 (int16x4_t __a, int16x4_t __b)
21783 {
21784   return __builtin_aarch64_sminv4hi (__a, __b);
21785 }
21786 
21787 __extension__ extern __inline int32x2_t
21788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s32(int32x2_t __a,int32x2_t __b)21789 vmin_s32 (int32x2_t __a, int32x2_t __b)
21790 {
21791   return __builtin_aarch64_sminv2si (__a, __b);
21792 }
21793 
21794 __extension__ extern __inline uint8x8_t
21795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u8(uint8x8_t __a,uint8x8_t __b)21796 vmin_u8 (uint8x8_t __a, uint8x8_t __b)
21797 {
21798   return (uint8x8_t) __builtin_aarch64_uminv8qi ((int8x8_t) __a,
21799 						 (int8x8_t) __b);
21800 }
21801 
21802 __extension__ extern __inline uint16x4_t
21803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u16(uint16x4_t __a,uint16x4_t __b)21804 vmin_u16 (uint16x4_t __a, uint16x4_t __b)
21805 {
21806   return (uint16x4_t) __builtin_aarch64_uminv4hi ((int16x4_t) __a,
21807 						  (int16x4_t) __b);
21808 }
21809 
21810 __extension__ extern __inline uint32x2_t
21811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u32(uint32x2_t __a,uint32x2_t __b)21812 vmin_u32 (uint32x2_t __a, uint32x2_t __b)
21813 {
21814   return (uint32x2_t) __builtin_aarch64_uminv2si ((int32x2_t) __a,
21815 						  (int32x2_t) __b);
21816 }
21817 
21818 __extension__ extern __inline float32x4_t
21819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_f32(float32x4_t __a,float32x4_t __b)21820 vminq_f32 (float32x4_t __a, float32x4_t __b)
21821 {
21822   return __builtin_aarch64_smin_nanv4sf (__a, __b);
21823 }
21824 
21825 __extension__ extern __inline float64x2_t
21826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_f64(float64x2_t __a,float64x2_t __b)21827 vminq_f64 (float64x2_t __a, float64x2_t __b)
21828 {
21829   return __builtin_aarch64_smin_nanv2df (__a, __b);
21830 }
21831 
21832 __extension__ extern __inline int8x16_t
21833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s8(int8x16_t __a,int8x16_t __b)21834 vminq_s8 (int8x16_t __a, int8x16_t __b)
21835 {
21836   return __builtin_aarch64_sminv16qi (__a, __b);
21837 }
21838 
21839 __extension__ extern __inline int16x8_t
21840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s16(int16x8_t __a,int16x8_t __b)21841 vminq_s16 (int16x8_t __a, int16x8_t __b)
21842 {
21843   return __builtin_aarch64_sminv8hi (__a, __b);
21844 }
21845 
21846 __extension__ extern __inline int32x4_t
21847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s32(int32x4_t __a,int32x4_t __b)21848 vminq_s32 (int32x4_t __a, int32x4_t __b)
21849 {
21850   return __builtin_aarch64_sminv4si (__a, __b);
21851 }
21852 
21853 __extension__ extern __inline uint8x16_t
21854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u8(uint8x16_t __a,uint8x16_t __b)21855 vminq_u8 (uint8x16_t __a, uint8x16_t __b)
21856 {
21857   return (uint8x16_t) __builtin_aarch64_uminv16qi ((int8x16_t) __a,
21858 						   (int8x16_t) __b);
21859 }
21860 
21861 __extension__ extern __inline uint16x8_t
21862 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u16(uint16x8_t __a,uint16x8_t __b)21863 vminq_u16 (uint16x8_t __a, uint16x8_t __b)
21864 {
21865   return (uint16x8_t) __builtin_aarch64_uminv8hi ((int16x8_t) __a,
21866 						  (int16x8_t) __b);
21867 }
21868 
21869 __extension__ extern __inline uint32x4_t
21870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u32(uint32x4_t __a,uint32x4_t __b)21871 vminq_u32 (uint32x4_t __a, uint32x4_t __b)
21872 {
21873   return (uint32x4_t) __builtin_aarch64_uminv4si ((int32x4_t) __a,
21874 						  (int32x4_t) __b);
21875 }
21876 
21877 /* vminnm  */
21878 
21879 __extension__ extern __inline float32x2_t
21880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnm_f32(float32x2_t __a,float32x2_t __b)21881 vminnm_f32 (float32x2_t __a, float32x2_t __b)
21882 {
21883   return __builtin_aarch64_fminv2sf (__a, __b);
21884 }
21885 
21886 __extension__ extern __inline float64x1_t
21887 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnm_f64(float64x1_t __a,float64x1_t __b)21888 vminnm_f64 (float64x1_t __a, float64x1_t __b)
21889 {
21890   return (float64x1_t)
21891     { __builtin_aarch64_fmindf (vget_lane_f64 (__a, 0),
21892 				vget_lane_f64 (__b, 0)) };
21893 }
21894 
21895 __extension__ extern __inline float32x4_t
21896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmq_f32(float32x4_t __a,float32x4_t __b)21897 vminnmq_f32 (float32x4_t __a, float32x4_t __b)
21898 {
21899   return __builtin_aarch64_fminv4sf (__a, __b);
21900 }
21901 
21902 __extension__ extern __inline float64x2_t
21903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmq_f64(float64x2_t __a,float64x2_t __b)21904 vminnmq_f64 (float64x2_t __a, float64x2_t __b)
21905 {
21906   return __builtin_aarch64_fminv2df (__a, __b);
21907 }
21908 
21909 /* vminv  */
21910 
21911 __extension__ extern __inline float32_t
21912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_f32(float32x2_t __a)21913 vminv_f32 (float32x2_t __a)
21914 {
21915   return __builtin_aarch64_reduc_smin_nan_scal_v2sf (__a);
21916 }
21917 
21918 __extension__ extern __inline int8_t
21919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_s8(int8x8_t __a)21920 vminv_s8 (int8x8_t __a)
21921 {
21922   return __builtin_aarch64_reduc_smin_scal_v8qi (__a);
21923 }
21924 
21925 __extension__ extern __inline int16_t
21926 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_s16(int16x4_t __a)21927 vminv_s16 (int16x4_t __a)
21928 {
21929   return __builtin_aarch64_reduc_smin_scal_v4hi (__a);
21930 }
21931 
21932 __extension__ extern __inline int32_t
21933 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_s32(int32x2_t __a)21934 vminv_s32 (int32x2_t __a)
21935 {
21936   return __builtin_aarch64_reduc_smin_scal_v2si (__a);
21937 }
21938 
21939 __extension__ extern __inline uint8_t
21940 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_u8(uint8x8_t __a)21941 vminv_u8 (uint8x8_t __a)
21942 {
21943   return __builtin_aarch64_reduc_umin_scal_v8qi_uu (__a);
21944 }
21945 
21946 __extension__ extern __inline uint16_t
21947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_u16(uint16x4_t __a)21948 vminv_u16 (uint16x4_t __a)
21949 {
21950   return __builtin_aarch64_reduc_umin_scal_v4hi_uu (__a);
21951 }
21952 
21953 __extension__ extern __inline uint32_t
21954 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_u32(uint32x2_t __a)21955 vminv_u32 (uint32x2_t __a)
21956 {
21957   return __builtin_aarch64_reduc_umin_scal_v2si_uu (__a);
21958 }
21959 
21960 __extension__ extern __inline float32_t
21961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_f32(float32x4_t __a)21962 vminvq_f32 (float32x4_t __a)
21963 {
21964   return __builtin_aarch64_reduc_smin_nan_scal_v4sf (__a);
21965 }
21966 
21967 __extension__ extern __inline float64_t
21968 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_f64(float64x2_t __a)21969 vminvq_f64 (float64x2_t __a)
21970 {
21971   return __builtin_aarch64_reduc_smin_nan_scal_v2df (__a);
21972 }
21973 
21974 __extension__ extern __inline int8_t
21975 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_s8(int8x16_t __a)21976 vminvq_s8 (int8x16_t __a)
21977 {
21978   return __builtin_aarch64_reduc_smin_scal_v16qi (__a);
21979 }
21980 
21981 __extension__ extern __inline int16_t
21982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_s16(int16x8_t __a)21983 vminvq_s16 (int16x8_t __a)
21984 {
21985   return __builtin_aarch64_reduc_smin_scal_v8hi (__a);
21986 }
21987 
21988 __extension__ extern __inline int32_t
21989 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_s32(int32x4_t __a)21990 vminvq_s32 (int32x4_t __a)
21991 {
21992   return __builtin_aarch64_reduc_smin_scal_v4si (__a);
21993 }
21994 
21995 __extension__ extern __inline uint8_t
21996 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_u8(uint8x16_t __a)21997 vminvq_u8 (uint8x16_t __a)
21998 {
21999   return __builtin_aarch64_reduc_umin_scal_v16qi_uu (__a);
22000 }
22001 
22002 __extension__ extern __inline uint16_t
22003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_u16(uint16x8_t __a)22004 vminvq_u16 (uint16x8_t __a)
22005 {
22006   return __builtin_aarch64_reduc_umin_scal_v8hi_uu (__a);
22007 }
22008 
22009 __extension__ extern __inline uint32_t
22010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_u32(uint32x4_t __a)22011 vminvq_u32 (uint32x4_t __a)
22012 {
22013   return __builtin_aarch64_reduc_umin_scal_v4si_uu (__a);
22014 }
22015 
22016 /* vminnmv  */
22017 
22018 __extension__ extern __inline float32_t
22019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmv_f32(float32x2_t __a)22020 vminnmv_f32 (float32x2_t __a)
22021 {
22022   return __builtin_aarch64_reduc_smin_scal_v2sf (__a);
22023 }
22024 
22025 __extension__ extern __inline float32_t
22026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmvq_f32(float32x4_t __a)22027 vminnmvq_f32 (float32x4_t __a)
22028 {
22029   return __builtin_aarch64_reduc_smin_scal_v4sf (__a);
22030 }
22031 
22032 __extension__ extern __inline float64_t
22033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmvq_f64(float64x2_t __a)22034 vminnmvq_f64 (float64x2_t __a)
22035 {
22036   return __builtin_aarch64_reduc_smin_scal_v2df (__a);
22037 }
22038 
22039 /* vmla */
22040 
22041 __extension__ extern __inline float32x2_t
22042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)22043 vmla_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
22044 {
22045   return __a + __b * __c;
22046 }
22047 
22048 __extension__ extern __inline float64x1_t
22049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c)22050 vmla_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
22051 {
22052   return __a + __b * __c;
22053 }
22054 
22055 __extension__ extern __inline float32x4_t
22056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)22057 vmlaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
22058 {
22059   return __a + __b * __c;
22060 }
22061 
22062 __extension__ extern __inline float64x2_t
22063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c)22064 vmlaq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
22065 {
22066   return __a + __b * __c;
22067 }
22068 
22069 /* vmla_lane  */
22070 
22071 __extension__ extern __inline float32x2_t
22072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __lane)22073 vmla_lane_f32 (float32x2_t __a, float32x2_t __b,
22074 	       float32x2_t __c, const int __lane)
22075 {
22076   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22077 }
22078 
22079 __extension__ extern __inline int16x4_t
22080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __lane)22081 vmla_lane_s16 (int16x4_t __a, int16x4_t __b,
22082 		int16x4_t __c, const int __lane)
22083 {
22084   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22085 }
22086 
22087 __extension__ extern __inline int32x2_t
22088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __lane)22089 vmla_lane_s32 (int32x2_t __a, int32x2_t __b,
22090 		int32x2_t __c, const int __lane)
22091 {
22092   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22093 }
22094 
22095 __extension__ extern __inline uint16x4_t
22096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __lane)22097 vmla_lane_u16 (uint16x4_t __a, uint16x4_t __b,
22098 		uint16x4_t __c, const int __lane)
22099 {
22100   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22101 }
22102 
22103 __extension__ extern __inline uint32x2_t
22104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __lane)22105 vmla_lane_u32 (uint32x2_t __a, uint32x2_t __b,
22106 	       uint32x2_t __c, const int __lane)
22107 {
22108   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22109 }
22110 
22111 /* vmla_laneq  */
22112 
22113 __extension__ extern __inline float32x2_t
22114 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_f32(float32x2_t __a,float32x2_t __b,float32x4_t __c,const int __lane)22115 vmla_laneq_f32 (float32x2_t __a, float32x2_t __b,
22116 	        float32x4_t __c, const int __lane)
22117 {
22118   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22119 }
22120 
22121 __extension__ extern __inline int16x4_t
22122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_s16(int16x4_t __a,int16x4_t __b,int16x8_t __c,const int __lane)22123 vmla_laneq_s16 (int16x4_t __a, int16x4_t __b,
22124 		int16x8_t __c, const int __lane)
22125 {
22126   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22127 }
22128 
22129 __extension__ extern __inline int32x2_t
22130 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_s32(int32x2_t __a,int32x2_t __b,int32x4_t __c,const int __lane)22131 vmla_laneq_s32 (int32x2_t __a, int32x2_t __b,
22132 		int32x4_t __c, const int __lane)
22133 {
22134   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22135 }
22136 
22137 __extension__ extern __inline uint16x4_t
22138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_u16(uint16x4_t __a,uint16x4_t __b,uint16x8_t __c,const int __lane)22139 vmla_laneq_u16 (uint16x4_t __a, uint16x4_t __b,
22140 		uint16x8_t __c, const int __lane)
22141 {
22142   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22143 }
22144 
22145 __extension__ extern __inline uint32x2_t
22146 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_u32(uint32x2_t __a,uint32x2_t __b,uint32x4_t __c,const int __lane)22147 vmla_laneq_u32 (uint32x2_t __a, uint32x2_t __b,
22148 		uint32x4_t __c, const int __lane)
22149 {
22150   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22151 }
22152 
22153 /* vmlaq_lane  */
22154 
22155 __extension__ extern __inline float32x4_t
22156 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __lane)22157 vmlaq_lane_f32 (float32x4_t __a, float32x4_t __b,
22158 		float32x2_t __c, const int __lane)
22159 {
22160   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22161 }
22162 
22163 __extension__ extern __inline int16x8_t
22164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __lane)22165 vmlaq_lane_s16 (int16x8_t __a, int16x8_t __b,
22166 		int16x4_t __c, const int __lane)
22167 {
22168   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22169 }
22170 
22171 __extension__ extern __inline int32x4_t
22172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __lane)22173 vmlaq_lane_s32 (int32x4_t __a, int32x4_t __b,
22174 		int32x2_t __c, const int __lane)
22175 {
22176   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22177 }
22178 
22179 __extension__ extern __inline uint16x8_t
22180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __lane)22181 vmlaq_lane_u16 (uint16x8_t __a, uint16x8_t __b,
22182 		uint16x4_t __c, const int __lane)
22183 {
22184   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22185 }
22186 
22187 __extension__ extern __inline uint32x4_t
22188 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __lane)22189 vmlaq_lane_u32 (uint32x4_t __a, uint32x4_t __b,
22190 		uint32x2_t __c, const int __lane)
22191 {
22192   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22193 }
22194 
22195   /* vmlaq_laneq  */
22196 
22197 __extension__ extern __inline float32x4_t
22198 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c,const int __lane)22199 vmlaq_laneq_f32 (float32x4_t __a, float32x4_t __b,
22200 		 float32x4_t __c, const int __lane)
22201 {
22202   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22203 }
22204 
22205 __extension__ extern __inline int16x8_t
22206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c,const int __lane)22207 vmlaq_laneq_s16 (int16x8_t __a, int16x8_t __b,
22208 		int16x8_t __c, const int __lane)
22209 {
22210   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22211 }
22212 
22213 __extension__ extern __inline int32x4_t
22214 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c,const int __lane)22215 vmlaq_laneq_s32 (int32x4_t __a, int32x4_t __b,
22216 		int32x4_t __c, const int __lane)
22217 {
22218   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22219 }
22220 
22221 __extension__ extern __inline uint16x8_t
22222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c,const int __lane)22223 vmlaq_laneq_u16 (uint16x8_t __a, uint16x8_t __b,
22224 		uint16x8_t __c, const int __lane)
22225 {
22226   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22227 }
22228 
22229 __extension__ extern __inline uint32x4_t
22230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __lane)22231 vmlaq_laneq_u32 (uint32x4_t __a, uint32x4_t __b,
22232 		uint32x4_t __c, const int __lane)
22233 {
22234   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
22235 }
22236 
22237 /* vmls  */
22238 
22239 __extension__ extern __inline float32x2_t
22240 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)22241 vmls_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
22242 {
22243   return __a - __b * __c;
22244 }
22245 
22246 __extension__ extern __inline float64x1_t
22247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c)22248 vmls_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
22249 {
22250   return __a - __b * __c;
22251 }
22252 
22253 __extension__ extern __inline float32x4_t
22254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)22255 vmlsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
22256 {
22257   return __a - __b * __c;
22258 }
22259 
22260 __extension__ extern __inline float64x2_t
22261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c)22262 vmlsq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
22263 {
22264   return __a - __b * __c;
22265 }
22266 
22267 /* vmls_lane  */
22268 
22269 __extension__ extern __inline float32x2_t
22270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __lane)22271 vmls_lane_f32 (float32x2_t __a, float32x2_t __b,
22272 	       float32x2_t __c, const int __lane)
22273 {
22274   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22275 }
22276 
22277 __extension__ extern __inline int16x4_t
22278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __lane)22279 vmls_lane_s16 (int16x4_t __a, int16x4_t __b,
22280 		int16x4_t __c, const int __lane)
22281 {
22282   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22283 }
22284 
22285 __extension__ extern __inline int32x2_t
22286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __lane)22287 vmls_lane_s32 (int32x2_t __a, int32x2_t __b,
22288 		int32x2_t __c, const int __lane)
22289 {
22290   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22291 }
22292 
22293 __extension__ extern __inline uint16x4_t
22294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __lane)22295 vmls_lane_u16 (uint16x4_t __a, uint16x4_t __b,
22296 		uint16x4_t __c, const int __lane)
22297 {
22298   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22299 }
22300 
22301 __extension__ extern __inline uint32x2_t
22302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __lane)22303 vmls_lane_u32 (uint32x2_t __a, uint32x2_t __b,
22304 	       uint32x2_t __c, const int __lane)
22305 {
22306   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22307 }
22308 
22309 /* vmls_laneq  */
22310 
22311 __extension__ extern __inline float32x2_t
22312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_f32(float32x2_t __a,float32x2_t __b,float32x4_t __c,const int __lane)22313 vmls_laneq_f32 (float32x2_t __a, float32x2_t __b,
22314 	       float32x4_t __c, const int __lane)
22315 {
22316   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22317 }
22318 
22319 __extension__ extern __inline int16x4_t
22320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_s16(int16x4_t __a,int16x4_t __b,int16x8_t __c,const int __lane)22321 vmls_laneq_s16 (int16x4_t __a, int16x4_t __b,
22322 		int16x8_t __c, const int __lane)
22323 {
22324   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22325 }
22326 
22327 __extension__ extern __inline int32x2_t
22328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_s32(int32x2_t __a,int32x2_t __b,int32x4_t __c,const int __lane)22329 vmls_laneq_s32 (int32x2_t __a, int32x2_t __b,
22330 		int32x4_t __c, const int __lane)
22331 {
22332   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22333 }
22334 
22335 __extension__ extern __inline uint16x4_t
22336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_u16(uint16x4_t __a,uint16x4_t __b,uint16x8_t __c,const int __lane)22337 vmls_laneq_u16 (uint16x4_t __a, uint16x4_t __b,
22338 		uint16x8_t __c, const int __lane)
22339 {
22340   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22341 }
22342 
22343 __extension__ extern __inline uint32x2_t
22344 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_u32(uint32x2_t __a,uint32x2_t __b,uint32x4_t __c,const int __lane)22345 vmls_laneq_u32 (uint32x2_t __a, uint32x2_t __b,
22346 		uint32x4_t __c, const int __lane)
22347 {
22348   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22349 }
22350 
22351 /* vmlsq_lane  */
22352 
22353 __extension__ extern __inline float32x4_t
22354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __lane)22355 vmlsq_lane_f32 (float32x4_t __a, float32x4_t __b,
22356 		float32x2_t __c, const int __lane)
22357 {
22358   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22359 }
22360 
22361 __extension__ extern __inline int16x8_t
22362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __lane)22363 vmlsq_lane_s16 (int16x8_t __a, int16x8_t __b,
22364 		int16x4_t __c, const int __lane)
22365 {
22366   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22367 }
22368 
22369 __extension__ extern __inline int32x4_t
22370 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __lane)22371 vmlsq_lane_s32 (int32x4_t __a, int32x4_t __b,
22372 		int32x2_t __c, const int __lane)
22373 {
22374   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22375 }
22376 
22377 __extension__ extern __inline uint16x8_t
22378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __lane)22379 vmlsq_lane_u16 (uint16x8_t __a, uint16x8_t __b,
22380 		uint16x4_t __c, const int __lane)
22381 {
22382   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22383 }
22384 
22385 __extension__ extern __inline uint32x4_t
22386 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __lane)22387 vmlsq_lane_u32 (uint32x4_t __a, uint32x4_t __b,
22388 		uint32x2_t __c, const int __lane)
22389 {
22390   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22391 }
22392 
22393   /* vmlsq_laneq  */
22394 
22395 __extension__ extern __inline float32x4_t
22396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c,const int __lane)22397 vmlsq_laneq_f32 (float32x4_t __a, float32x4_t __b,
22398 		float32x4_t __c, const int __lane)
22399 {
22400   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22401 }
22402 
22403 __extension__ extern __inline int16x8_t
22404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c,const int __lane)22405 vmlsq_laneq_s16 (int16x8_t __a, int16x8_t __b,
22406 		int16x8_t __c, const int __lane)
22407 {
22408   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22409 }
22410 
22411 __extension__ extern __inline int32x4_t
22412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c,const int __lane)22413 vmlsq_laneq_s32 (int32x4_t __a, int32x4_t __b,
22414 		int32x4_t __c, const int __lane)
22415 {
22416   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22417 }
22418 __extension__ extern __inline uint16x8_t
22419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c,const int __lane)22420 vmlsq_laneq_u16 (uint16x8_t __a, uint16x8_t __b,
22421 		uint16x8_t __c, const int __lane)
22422 {
22423   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22424 }
22425 
22426 __extension__ extern __inline uint32x4_t
22427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __lane)22428 vmlsq_laneq_u32 (uint32x4_t __a, uint32x4_t __b,
22429 		uint32x4_t __c, const int __lane)
22430 {
22431   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
22432 }
22433 
22434 /* vmov_n_  */
22435 
22436 __extension__ extern __inline float16x4_t
22437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_f16(float16_t __a)22438 vmov_n_f16 (float16_t __a)
22439 {
22440   return vdup_n_f16 (__a);
22441 }
22442 
22443 __extension__ extern __inline float32x2_t
22444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_f32(float32_t __a)22445 vmov_n_f32 (float32_t __a)
22446 {
22447   return vdup_n_f32 (__a);
22448 }
22449 
22450 __extension__ extern __inline float64x1_t
22451 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_f64(float64_t __a)22452 vmov_n_f64 (float64_t __a)
22453 {
22454   return (float64x1_t) {__a};
22455 }
22456 
22457 __extension__ extern __inline poly8x8_t
22458 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_p8(poly8_t __a)22459 vmov_n_p8 (poly8_t __a)
22460 {
22461   return vdup_n_p8 (__a);
22462 }
22463 
22464 __extension__ extern __inline poly16x4_t
22465 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_p16(poly16_t __a)22466 vmov_n_p16 (poly16_t __a)
22467 {
22468   return vdup_n_p16 (__a);
22469 }
22470 
22471 __extension__ extern __inline poly64x1_t
22472 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_p64(poly64_t __a)22473 vmov_n_p64 (poly64_t __a)
22474 {
22475   return vdup_n_p64 (__a);
22476 }
22477 
22478 __extension__ extern __inline int8x8_t
22479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s8(int8_t __a)22480 vmov_n_s8 (int8_t __a)
22481 {
22482   return vdup_n_s8 (__a);
22483 }
22484 
22485 __extension__ extern __inline int16x4_t
22486 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s16(int16_t __a)22487 vmov_n_s16 (int16_t __a)
22488 {
22489   return vdup_n_s16 (__a);
22490 }
22491 
22492 __extension__ extern __inline int32x2_t
22493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s32(int32_t __a)22494 vmov_n_s32 (int32_t __a)
22495 {
22496   return vdup_n_s32 (__a);
22497 }
22498 
22499 __extension__ extern __inline int64x1_t
22500 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s64(int64_t __a)22501 vmov_n_s64 (int64_t __a)
22502 {
22503   return (int64x1_t) {__a};
22504 }
22505 
22506 __extension__ extern __inline uint8x8_t
22507 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u8(uint8_t __a)22508 vmov_n_u8 (uint8_t __a)
22509 {
22510   return vdup_n_u8 (__a);
22511 }
22512 
22513 __extension__ extern __inline uint16x4_t
22514 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u16(uint16_t __a)22515 vmov_n_u16 (uint16_t __a)
22516 {
22517     return vdup_n_u16 (__a);
22518 }
22519 
22520 __extension__ extern __inline uint32x2_t
22521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u32(uint32_t __a)22522 vmov_n_u32 (uint32_t __a)
22523 {
22524    return vdup_n_u32 (__a);
22525 }
22526 
22527 __extension__ extern __inline uint64x1_t
22528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u64(uint64_t __a)22529 vmov_n_u64 (uint64_t __a)
22530 {
22531   return (uint64x1_t) {__a};
22532 }
22533 
22534 __extension__ extern __inline float16x8_t
22535 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_f16(float16_t __a)22536 vmovq_n_f16 (float16_t __a)
22537 {
22538   return vdupq_n_f16 (__a);
22539 }
22540 
22541 __extension__ extern __inline float32x4_t
22542 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_f32(float32_t __a)22543 vmovq_n_f32 (float32_t __a)
22544 {
22545   return vdupq_n_f32 (__a);
22546 }
22547 
22548 __extension__ extern __inline float64x2_t
22549 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_f64(float64_t __a)22550 vmovq_n_f64 (float64_t __a)
22551 {
22552   return vdupq_n_f64 (__a);
22553 }
22554 
22555 __extension__ extern __inline poly8x16_t
22556 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_p8(poly8_t __a)22557 vmovq_n_p8 (poly8_t __a)
22558 {
22559   return vdupq_n_p8 (__a);
22560 }
22561 
22562 __extension__ extern __inline poly16x8_t
22563 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_p16(poly16_t __a)22564 vmovq_n_p16 (poly16_t __a)
22565 {
22566   return vdupq_n_p16 (__a);
22567 }
22568 
22569 __extension__ extern __inline poly64x2_t
22570 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_p64(poly64_t __a)22571 vmovq_n_p64 (poly64_t __a)
22572 {
22573   return vdupq_n_p64 (__a);
22574 }
22575 
22576 __extension__ extern __inline int8x16_t
22577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s8(int8_t __a)22578 vmovq_n_s8 (int8_t __a)
22579 {
22580   return vdupq_n_s8 (__a);
22581 }
22582 
22583 __extension__ extern __inline int16x8_t
22584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s16(int16_t __a)22585 vmovq_n_s16 (int16_t __a)
22586 {
22587   return vdupq_n_s16 (__a);
22588 }
22589 
22590 __extension__ extern __inline int32x4_t
22591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s32(int32_t __a)22592 vmovq_n_s32 (int32_t __a)
22593 {
22594   return vdupq_n_s32 (__a);
22595 }
22596 
22597 __extension__ extern __inline int64x2_t
22598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s64(int64_t __a)22599 vmovq_n_s64 (int64_t __a)
22600 {
22601   return vdupq_n_s64 (__a);
22602 }
22603 
22604 __extension__ extern __inline uint8x16_t
22605 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u8(uint8_t __a)22606 vmovq_n_u8 (uint8_t __a)
22607 {
22608   return vdupq_n_u8 (__a);
22609 }
22610 
22611 __extension__ extern __inline uint16x8_t
22612 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u16(uint16_t __a)22613 vmovq_n_u16 (uint16_t __a)
22614 {
22615   return vdupq_n_u16 (__a);
22616 }
22617 
22618 __extension__ extern __inline uint32x4_t
22619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u32(uint32_t __a)22620 vmovq_n_u32 (uint32_t __a)
22621 {
22622   return vdupq_n_u32 (__a);
22623 }
22624 
22625 __extension__ extern __inline uint64x2_t
22626 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u64(uint64_t __a)22627 vmovq_n_u64 (uint64_t __a)
22628 {
22629   return vdupq_n_u64 (__a);
22630 }
22631 
22632 /* vmul_lane  */
22633 
22634 __extension__ extern __inline float32x2_t
22635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_f32(float32x2_t __a,float32x2_t __b,const int __lane)22636 vmul_lane_f32 (float32x2_t __a, float32x2_t __b, const int __lane)
22637 {
22638   return __a * __aarch64_vget_lane_any (__b, __lane);
22639 }
22640 
22641 __extension__ extern __inline float64x1_t
22642 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_f64(float64x1_t __a,float64x1_t __b,const int __lane)22643 vmul_lane_f64 (float64x1_t __a, float64x1_t __b, const int __lane)
22644 {
22645   return __a * __b;
22646 }
22647 
22648 __extension__ extern __inline int16x4_t
22649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_s16(int16x4_t __a,int16x4_t __b,const int __lane)22650 vmul_lane_s16 (int16x4_t __a, int16x4_t __b, const int __lane)
22651 {
22652   return __a * __aarch64_vget_lane_any (__b, __lane);
22653 }
22654 
22655 __extension__ extern __inline int32x2_t
22656 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_s32(int32x2_t __a,int32x2_t __b,const int __lane)22657 vmul_lane_s32 (int32x2_t __a, int32x2_t __b, const int __lane)
22658 {
22659   return __a * __aarch64_vget_lane_any (__b, __lane);
22660 }
22661 
22662 __extension__ extern __inline uint16x4_t
22663 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __lane)22664 vmul_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __lane)
22665 {
22666   return __a * __aarch64_vget_lane_any (__b, __lane);
22667 }
22668 
22669 __extension__ extern __inline uint32x2_t
22670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __lane)22671 vmul_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __lane)
22672 {
22673   return __a * __aarch64_vget_lane_any (__b, __lane);
22674 }
22675 
22676 /* vmuld_lane  */
22677 
22678 __extension__ extern __inline float64_t
22679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmuld_lane_f64(float64_t __a,float64x1_t __b,const int __lane)22680 vmuld_lane_f64 (float64_t __a, float64x1_t __b, const int __lane)
22681 {
22682   return __a * __aarch64_vget_lane_any (__b, __lane);
22683 }
22684 
22685 __extension__ extern __inline float64_t
22686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmuld_laneq_f64(float64_t __a,float64x2_t __b,const int __lane)22687 vmuld_laneq_f64 (float64_t __a, float64x2_t __b, const int __lane)
22688 {
22689   return __a * __aarch64_vget_lane_any (__b, __lane);
22690 }
22691 
22692 /* vmuls_lane  */
22693 
22694 __extension__ extern __inline float32_t
22695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmuls_lane_f32(float32_t __a,float32x2_t __b,const int __lane)22696 vmuls_lane_f32 (float32_t __a, float32x2_t __b, const int __lane)
22697 {
22698   return __a * __aarch64_vget_lane_any (__b, __lane);
22699 }
22700 
22701 __extension__ extern __inline float32_t
22702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmuls_laneq_f32(float32_t __a,float32x4_t __b,const int __lane)22703 vmuls_laneq_f32 (float32_t __a, float32x4_t __b, const int __lane)
22704 {
22705   return __a * __aarch64_vget_lane_any (__b, __lane);
22706 }
22707 
22708 /* vmul_laneq  */
22709 
22710 __extension__ extern __inline float32x2_t
22711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_f32(float32x2_t __a,float32x4_t __b,const int __lane)22712 vmul_laneq_f32 (float32x2_t __a, float32x4_t __b, const int __lane)
22713 {
22714   return __a * __aarch64_vget_lane_any (__b, __lane);
22715 }
22716 
22717 __extension__ extern __inline float64x1_t
22718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_f64(float64x1_t __a,float64x2_t __b,const int __lane)22719 vmul_laneq_f64 (float64x1_t __a, float64x2_t __b, const int __lane)
22720 {
22721   return __a * __aarch64_vget_lane_any (__b, __lane);
22722 }
22723 
22724 __extension__ extern __inline int16x4_t
22725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_s16(int16x4_t __a,int16x8_t __b,const int __lane)22726 vmul_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __lane)
22727 {
22728   return __a * __aarch64_vget_lane_any (__b, __lane);
22729 }
22730 
22731 __extension__ extern __inline int32x2_t
22732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_s32(int32x2_t __a,int32x4_t __b,const int __lane)22733 vmul_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __lane)
22734 {
22735   return __a * __aarch64_vget_lane_any (__b, __lane);
22736 }
22737 
22738 __extension__ extern __inline uint16x4_t
22739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_u16(uint16x4_t __a,uint16x8_t __b,const int __lane)22740 vmul_laneq_u16 (uint16x4_t __a, uint16x8_t __b, const int __lane)
22741 {
22742   return __a * __aarch64_vget_lane_any (__b, __lane);
22743 }
22744 
22745 __extension__ extern __inline uint32x2_t
22746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_u32(uint32x2_t __a,uint32x4_t __b,const int __lane)22747 vmul_laneq_u32 (uint32x2_t __a, uint32x4_t __b, const int __lane)
22748 {
22749   return __a * __aarch64_vget_lane_any (__b, __lane);
22750 }
22751 
22752 /* vmul_n  */
22753 
22754 __extension__ extern __inline float64x1_t
22755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_f64(float64x1_t __a,float64_t __b)22756 vmul_n_f64  (float64x1_t __a, float64_t __b)
22757 {
22758   return (float64x1_t) { vget_lane_f64 (__a, 0) * __b };
22759 }
22760 
22761 /* vmulq_lane  */
22762 
22763 __extension__ extern __inline float32x4_t
22764 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_f32(float32x4_t __a,float32x2_t __b,const int __lane)22765 vmulq_lane_f32 (float32x4_t __a, float32x2_t __b, const int __lane)
22766 {
22767   return __a * __aarch64_vget_lane_any (__b, __lane);
22768 }
22769 
22770 __extension__ extern __inline float64x2_t
22771 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_f64(float64x2_t __a,float64x1_t __b,const int __lane)22772 vmulq_lane_f64 (float64x2_t __a, float64x1_t __b, const int __lane)
22773 {
22774   __AARCH64_LANE_CHECK (__a, __lane);
22775   return __a * __b[0];
22776 }
22777 
22778 __extension__ extern __inline int16x8_t
22779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_s16(int16x8_t __a,int16x4_t __b,const int __lane)22780 vmulq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __lane)
22781 {
22782   return __a * __aarch64_vget_lane_any (__b, __lane);
22783 }
22784 
22785 __extension__ extern __inline int32x4_t
22786 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_s32(int32x4_t __a,int32x2_t __b,const int __lane)22787 vmulq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __lane)
22788 {
22789   return __a * __aarch64_vget_lane_any (__b, __lane);
22790 }
22791 
22792 __extension__ extern __inline uint16x8_t
22793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_u16(uint16x8_t __a,uint16x4_t __b,const int __lane)22794 vmulq_lane_u16 (uint16x8_t __a, uint16x4_t __b, const int __lane)
22795 {
22796   return __a * __aarch64_vget_lane_any (__b, __lane);
22797 }
22798 
22799 __extension__ extern __inline uint32x4_t
22800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_u32(uint32x4_t __a,uint32x2_t __b,const int __lane)22801 vmulq_lane_u32 (uint32x4_t __a, uint32x2_t __b, const int __lane)
22802 {
22803   return __a * __aarch64_vget_lane_any (__b, __lane);
22804 }
22805 
22806 /* vmulq_laneq  */
22807 
22808 __extension__ extern __inline float32x4_t
22809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_f32(float32x4_t __a,float32x4_t __b,const int __lane)22810 vmulq_laneq_f32 (float32x4_t __a, float32x4_t __b, const int __lane)
22811 {
22812   return __a * __aarch64_vget_lane_any (__b, __lane);
22813 }
22814 
22815 __extension__ extern __inline float64x2_t
22816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_f64(float64x2_t __a,float64x2_t __b,const int __lane)22817 vmulq_laneq_f64 (float64x2_t __a, float64x2_t __b, const int __lane)
22818 {
22819   return __a * __aarch64_vget_lane_any (__b, __lane);
22820 }
22821 
22822 __extension__ extern __inline int16x8_t
22823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_s16(int16x8_t __a,int16x8_t __b,const int __lane)22824 vmulq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __lane)
22825 {
22826   return __a * __aarch64_vget_lane_any (__b, __lane);
22827 }
22828 
22829 __extension__ extern __inline int32x4_t
22830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_s32(int32x4_t __a,int32x4_t __b,const int __lane)22831 vmulq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __lane)
22832 {
22833   return __a * __aarch64_vget_lane_any (__b, __lane);
22834 }
22835 
22836 __extension__ extern __inline uint16x8_t
22837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_u16(uint16x8_t __a,uint16x8_t __b,const int __lane)22838 vmulq_laneq_u16 (uint16x8_t __a, uint16x8_t __b, const int __lane)
22839 {
22840   return __a * __aarch64_vget_lane_any (__b, __lane);
22841 }
22842 
22843 __extension__ extern __inline uint32x4_t
22844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_u32(uint32x4_t __a,uint32x4_t __b,const int __lane)22845 vmulq_laneq_u32 (uint32x4_t __a, uint32x4_t __b, const int __lane)
22846 {
22847   return __a * __aarch64_vget_lane_any (__b, __lane);
22848 }
22849 
22850 /* vmul_n.  */
22851 
22852 __extension__ extern __inline float32x2_t
22853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_f32(float32x2_t __a,float32_t __b)22854 vmul_n_f32 (float32x2_t __a, float32_t __b)
22855 {
22856   return __a * __b;
22857 }
22858 
22859 __extension__ extern __inline float32x4_t
22860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_f32(float32x4_t __a,float32_t __b)22861 vmulq_n_f32 (float32x4_t __a, float32_t __b)
22862 {
22863   return __a * __b;
22864 }
22865 
22866 __extension__ extern __inline float64x2_t
22867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_f64(float64x2_t __a,float64_t __b)22868 vmulq_n_f64 (float64x2_t __a, float64_t __b)
22869 {
22870   return __a * __b;
22871 }
22872 
22873 __extension__ extern __inline int16x4_t
22874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_s16(int16x4_t __a,int16_t __b)22875 vmul_n_s16 (int16x4_t __a, int16_t __b)
22876 {
22877   return __a * __b;
22878 }
22879 
22880 __extension__ extern __inline int16x8_t
22881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_s16(int16x8_t __a,int16_t __b)22882 vmulq_n_s16 (int16x8_t __a, int16_t __b)
22883 {
22884   return __a * __b;
22885 }
22886 
22887 __extension__ extern __inline int32x2_t
22888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_s32(int32x2_t __a,int32_t __b)22889 vmul_n_s32 (int32x2_t __a, int32_t __b)
22890 {
22891   return __a * __b;
22892 }
22893 
22894 __extension__ extern __inline int32x4_t
22895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_s32(int32x4_t __a,int32_t __b)22896 vmulq_n_s32 (int32x4_t __a, int32_t __b)
22897 {
22898   return __a * __b;
22899 }
22900 
22901 __extension__ extern __inline uint16x4_t
22902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_u16(uint16x4_t __a,uint16_t __b)22903 vmul_n_u16 (uint16x4_t __a, uint16_t __b)
22904 {
22905   return __a * __b;
22906 }
22907 
22908 __extension__ extern __inline uint16x8_t
22909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_u16(uint16x8_t __a,uint16_t __b)22910 vmulq_n_u16 (uint16x8_t __a, uint16_t __b)
22911 {
22912   return __a * __b;
22913 }
22914 
22915 __extension__ extern __inline uint32x2_t
22916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_u32(uint32x2_t __a,uint32_t __b)22917 vmul_n_u32 (uint32x2_t __a, uint32_t __b)
22918 {
22919   return __a * __b;
22920 }
22921 
22922 __extension__ extern __inline uint32x4_t
22923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_u32(uint32x4_t __a,uint32_t __b)22924 vmulq_n_u32 (uint32x4_t __a, uint32_t __b)
22925 {
22926   return __a * __b;
22927 }
22928 
22929 /* vmvn  */
22930 
22931 __extension__ extern __inline poly8x8_t
22932 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_p8(poly8x8_t __a)22933 vmvn_p8 (poly8x8_t __a)
22934 {
22935   return (poly8x8_t) ~((int8x8_t) __a);
22936 }
22937 
22938 __extension__ extern __inline int8x8_t
22939 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s8(int8x8_t __a)22940 vmvn_s8 (int8x8_t __a)
22941 {
22942   return ~__a;
22943 }
22944 
22945 __extension__ extern __inline int16x4_t
22946 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s16(int16x4_t __a)22947 vmvn_s16 (int16x4_t __a)
22948 {
22949   return ~__a;
22950 }
22951 
22952 __extension__ extern __inline int32x2_t
22953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s32(int32x2_t __a)22954 vmvn_s32 (int32x2_t __a)
22955 {
22956   return ~__a;
22957 }
22958 
22959 __extension__ extern __inline uint8x8_t
22960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u8(uint8x8_t __a)22961 vmvn_u8 (uint8x8_t __a)
22962 {
22963   return ~__a;
22964 }
22965 
22966 __extension__ extern __inline uint16x4_t
22967 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u16(uint16x4_t __a)22968 vmvn_u16 (uint16x4_t __a)
22969 {
22970   return ~__a;
22971 }
22972 
22973 __extension__ extern __inline uint32x2_t
22974 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u32(uint32x2_t __a)22975 vmvn_u32 (uint32x2_t __a)
22976 {
22977   return ~__a;
22978 }
22979 
22980 __extension__ extern __inline poly8x16_t
22981 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_p8(poly8x16_t __a)22982 vmvnq_p8 (poly8x16_t __a)
22983 {
22984   return (poly8x16_t) ~((int8x16_t) __a);
22985 }
22986 
22987 __extension__ extern __inline int8x16_t
22988 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s8(int8x16_t __a)22989 vmvnq_s8 (int8x16_t __a)
22990 {
22991   return ~__a;
22992 }
22993 
22994 __extension__ extern __inline int16x8_t
22995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s16(int16x8_t __a)22996 vmvnq_s16 (int16x8_t __a)
22997 {
22998   return ~__a;
22999 }
23000 
23001 __extension__ extern __inline int32x4_t
23002 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s32(int32x4_t __a)23003 vmvnq_s32 (int32x4_t __a)
23004 {
23005   return ~__a;
23006 }
23007 
23008 __extension__ extern __inline uint8x16_t
23009 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u8(uint8x16_t __a)23010 vmvnq_u8 (uint8x16_t __a)
23011 {
23012   return ~__a;
23013 }
23014 
23015 __extension__ extern __inline uint16x8_t
23016 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u16(uint16x8_t __a)23017 vmvnq_u16 (uint16x8_t __a)
23018 {
23019   return ~__a;
23020 }
23021 
23022 __extension__ extern __inline uint32x4_t
23023 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u32(uint32x4_t __a)23024 vmvnq_u32 (uint32x4_t __a)
23025 {
23026   return ~__a;
23027 }
23028 
23029 /* vneg  */
23030 
23031 __extension__ extern __inline float32x2_t
23032 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_f32(float32x2_t __a)23033 vneg_f32 (float32x2_t __a)
23034 {
23035   return -__a;
23036 }
23037 
23038 __extension__ extern __inline float64x1_t
23039 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_f64(float64x1_t __a)23040 vneg_f64 (float64x1_t __a)
23041 {
23042   return -__a;
23043 }
23044 
23045 __extension__ extern __inline int8x8_t
23046 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s8(int8x8_t __a)23047 vneg_s8 (int8x8_t __a)
23048 {
23049   return -__a;
23050 }
23051 
23052 __extension__ extern __inline int16x4_t
23053 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s16(int16x4_t __a)23054 vneg_s16 (int16x4_t __a)
23055 {
23056   return -__a;
23057 }
23058 
23059 __extension__ extern __inline int32x2_t
23060 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s32(int32x2_t __a)23061 vneg_s32 (int32x2_t __a)
23062 {
23063   return -__a;
23064 }
23065 
23066 __extension__ extern __inline int64x1_t
23067 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s64(int64x1_t __a)23068 vneg_s64 (int64x1_t __a)
23069 {
23070   return -__a;
23071 }
23072 
23073 /* According to the ACLE, the negative of the minimum (signed)
23074    value is itself.  This leads to a semantics mismatch, as this is
23075    undefined behaviour in C.  The value range predictor is not
23076    aware that the negation of a negative number can still be negative
23077    and it may try to fold the expression.  See the test in
23078    gcc.target/aarch64/vnegd_s64.c for an example.
23079 
23080    The cast below tricks the value range predictor to include
23081    INT64_MIN in the range it computes.  So for x in the range
23082    [INT64_MIN, y] the range prediction after vnegd_s64 (x) will
23083    be ~[INT64_MIN + 1, y].  */
23084 
23085 __extension__ extern __inline int64_t
23086 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegd_s64(int64_t __a)23087 vnegd_s64 (int64_t __a)
23088 {
23089   return - (uint64_t) __a;
23090 }
23091 
23092 __extension__ extern __inline float32x4_t
23093 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_f32(float32x4_t __a)23094 vnegq_f32 (float32x4_t __a)
23095 {
23096   return -__a;
23097 }
23098 
23099 __extension__ extern __inline float64x2_t
23100 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_f64(float64x2_t __a)23101 vnegq_f64 (float64x2_t __a)
23102 {
23103   return -__a;
23104 }
23105 
23106 __extension__ extern __inline int8x16_t
23107 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s8(int8x16_t __a)23108 vnegq_s8 (int8x16_t __a)
23109 {
23110   return -__a;
23111 }
23112 
23113 __extension__ extern __inline int16x8_t
23114 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s16(int16x8_t __a)23115 vnegq_s16 (int16x8_t __a)
23116 {
23117   return -__a;
23118 }
23119 
23120 __extension__ extern __inline int32x4_t
23121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s32(int32x4_t __a)23122 vnegq_s32 (int32x4_t __a)
23123 {
23124   return -__a;
23125 }
23126 
23127 __extension__ extern __inline int64x2_t
23128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s64(int64x2_t __a)23129 vnegq_s64 (int64x2_t __a)
23130 {
23131   return -__a;
23132 }
23133 
23134 /* vpadd  */
23135 
23136 __extension__ extern __inline float32x2_t
23137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_f32(float32x2_t __a,float32x2_t __b)23138 vpadd_f32 (float32x2_t __a, float32x2_t __b)
23139 {
23140   return __builtin_aarch64_faddpv2sf (__a, __b);
23141 }
23142 
23143 __extension__ extern __inline float32x4_t
23144 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_f32(float32x4_t __a,float32x4_t __b)23145 vpaddq_f32 (float32x4_t __a, float32x4_t __b)
23146 {
23147   return __builtin_aarch64_faddpv4sf (__a, __b);
23148 }
23149 
23150 __extension__ extern __inline float64x2_t
23151 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_f64(float64x2_t __a,float64x2_t __b)23152 vpaddq_f64 (float64x2_t __a, float64x2_t __b)
23153 {
23154   return __builtin_aarch64_faddpv2df (__a, __b);
23155 }
23156 
23157 __extension__ extern __inline int8x8_t
23158 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s8(int8x8_t __a,int8x8_t __b)23159 vpadd_s8 (int8x8_t __a, int8x8_t __b)
23160 {
23161   return __builtin_aarch64_addpv8qi (__a, __b);
23162 }
23163 
23164 __extension__ extern __inline int16x4_t
23165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s16(int16x4_t __a,int16x4_t __b)23166 vpadd_s16 (int16x4_t __a, int16x4_t __b)
23167 {
23168   return __builtin_aarch64_addpv4hi (__a, __b);
23169 }
23170 
23171 __extension__ extern __inline int32x2_t
23172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s32(int32x2_t __a,int32x2_t __b)23173 vpadd_s32 (int32x2_t __a, int32x2_t __b)
23174 {
23175   return __builtin_aarch64_addpv2si (__a, __b);
23176 }
23177 
23178 __extension__ extern __inline uint8x8_t
23179 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u8(uint8x8_t __a,uint8x8_t __b)23180 vpadd_u8 (uint8x8_t __a, uint8x8_t __b)
23181 {
23182   return (uint8x8_t) __builtin_aarch64_addpv8qi ((int8x8_t) __a,
23183 						 (int8x8_t) __b);
23184 }
23185 
23186 __extension__ extern __inline uint16x4_t
23187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u16(uint16x4_t __a,uint16x4_t __b)23188 vpadd_u16 (uint16x4_t __a, uint16x4_t __b)
23189 {
23190   return (uint16x4_t) __builtin_aarch64_addpv4hi ((int16x4_t) __a,
23191 						  (int16x4_t) __b);
23192 }
23193 
23194 __extension__ extern __inline uint32x2_t
23195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u32(uint32x2_t __a,uint32x2_t __b)23196 vpadd_u32 (uint32x2_t __a, uint32x2_t __b)
23197 {
23198   return (uint32x2_t) __builtin_aarch64_addpv2si ((int32x2_t) __a,
23199 						  (int32x2_t) __b);
23200 }
23201 
23202 __extension__ extern __inline float32_t
23203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadds_f32(float32x2_t __a)23204 vpadds_f32 (float32x2_t __a)
23205 {
23206   return __builtin_aarch64_reduc_plus_scal_v2sf (__a);
23207 }
23208 
23209 __extension__ extern __inline float64_t
23210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddd_f64(float64x2_t __a)23211 vpaddd_f64 (float64x2_t __a)
23212 {
23213   return __builtin_aarch64_reduc_plus_scal_v2df (__a);
23214 }
23215 
23216 __extension__ extern __inline int64_t
23217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddd_s64(int64x2_t __a)23218 vpaddd_s64 (int64x2_t __a)
23219 {
23220   return __builtin_aarch64_addpdi (__a);
23221 }
23222 
23223 __extension__ extern __inline uint64_t
23224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddd_u64(uint64x2_t __a)23225 vpaddd_u64 (uint64x2_t __a)
23226 {
23227   return __builtin_aarch64_addpdi ((int64x2_t) __a);
23228 }
23229 
23230 /* vqabs */
23231 
23232 __extension__ extern __inline int64x2_t
23233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s64(int64x2_t __a)23234 vqabsq_s64 (int64x2_t __a)
23235 {
23236   return (int64x2_t) __builtin_aarch64_sqabsv2di (__a);
23237 }
23238 
23239 __extension__ extern __inline int8_t
23240 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsb_s8(int8_t __a)23241 vqabsb_s8 (int8_t __a)
23242 {
23243   return (int8_t) __builtin_aarch64_sqabsqi (__a);
23244 }
23245 
23246 __extension__ extern __inline int16_t
23247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsh_s16(int16_t __a)23248 vqabsh_s16 (int16_t __a)
23249 {
23250   return (int16_t) __builtin_aarch64_sqabshi (__a);
23251 }
23252 
23253 __extension__ extern __inline int32_t
23254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabss_s32(int32_t __a)23255 vqabss_s32 (int32_t __a)
23256 {
23257   return (int32_t) __builtin_aarch64_sqabssi (__a);
23258 }
23259 
23260 __extension__ extern __inline int64_t
23261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsd_s64(int64_t __a)23262 vqabsd_s64 (int64_t __a)
23263 {
23264   return __builtin_aarch64_sqabsdi (__a);
23265 }
23266 
23267 /* vqadd */
23268 
23269 __extension__ extern __inline int8_t
23270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddb_s8(int8_t __a,int8_t __b)23271 vqaddb_s8 (int8_t __a, int8_t __b)
23272 {
23273   return (int8_t) __builtin_aarch64_sqaddqi (__a, __b);
23274 }
23275 
23276 __extension__ extern __inline int16_t
23277 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddh_s16(int16_t __a,int16_t __b)23278 vqaddh_s16 (int16_t __a, int16_t __b)
23279 {
23280   return (int16_t) __builtin_aarch64_sqaddhi (__a, __b);
23281 }
23282 
23283 __extension__ extern __inline int32_t
23284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadds_s32(int32_t __a,int32_t __b)23285 vqadds_s32 (int32_t __a, int32_t __b)
23286 {
23287   return (int32_t) __builtin_aarch64_sqaddsi (__a, __b);
23288 }
23289 
23290 __extension__ extern __inline int64_t
23291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddd_s64(int64_t __a,int64_t __b)23292 vqaddd_s64 (int64_t __a, int64_t __b)
23293 {
23294   return __builtin_aarch64_sqadddi (__a, __b);
23295 }
23296 
23297 __extension__ extern __inline uint8_t
23298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddb_u8(uint8_t __a,uint8_t __b)23299 vqaddb_u8 (uint8_t __a, uint8_t __b)
23300 {
23301   return (uint8_t) __builtin_aarch64_uqaddqi_uuu (__a, __b);
23302 }
23303 
23304 __extension__ extern __inline uint16_t
23305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddh_u16(uint16_t __a,uint16_t __b)23306 vqaddh_u16 (uint16_t __a, uint16_t __b)
23307 {
23308   return (uint16_t) __builtin_aarch64_uqaddhi_uuu (__a, __b);
23309 }
23310 
23311 __extension__ extern __inline uint32_t
23312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadds_u32(uint32_t __a,uint32_t __b)23313 vqadds_u32 (uint32_t __a, uint32_t __b)
23314 {
23315   return (uint32_t) __builtin_aarch64_uqaddsi_uuu (__a, __b);
23316 }
23317 
23318 __extension__ extern __inline uint64_t
23319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddd_u64(uint64_t __a,uint64_t __b)23320 vqaddd_u64 (uint64_t __a, uint64_t __b)
23321 {
23322   return __builtin_aarch64_uqadddi_uuu (__a, __b);
23323 }
23324 
23325 /* vqdmlal */
23326 
23327 __extension__ extern __inline int32x4_t
23328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)23329 vqdmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
23330 {
23331   return __builtin_aarch64_sqdmlalv4hi (__a, __b, __c);
23332 }
23333 
23334 __extension__ extern __inline int32x4_t
23335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)23336 vqdmlal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
23337 {
23338   return __builtin_aarch64_sqdmlal2v8hi (__a, __b, __c);
23339 }
23340 
23341 __extension__ extern __inline int32x4_t
23342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_lane_s16(int32x4_t __a,int16x8_t __b,int16x4_t __c,int const __d)23343 vqdmlal_high_lane_s16 (int32x4_t __a, int16x8_t __b, int16x4_t __c,
23344 		       int const __d)
23345 {
23346   return __builtin_aarch64_sqdmlal2_lanev8hi (__a, __b, __c, __d);
23347 }
23348 
23349 __extension__ extern __inline int32x4_t
23350 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_laneq_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c,int const __d)23351 vqdmlal_high_laneq_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c,
23352 			int const __d)
23353 {
23354   return __builtin_aarch64_sqdmlal2_laneqv8hi (__a, __b, __c, __d);
23355 }
23356 
23357 __extension__ extern __inline int32x4_t
23358 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_n_s16(int32x4_t __a,int16x8_t __b,int16_t __c)23359 vqdmlal_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
23360 {
23361   return __builtin_aarch64_sqdmlal2_nv8hi (__a, __b, __c);
23362 }
23363 
23364 __extension__ extern __inline int32x4_t
23365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,int const __d)23366 vqdmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, int const __d)
23367 {
23368   return __builtin_aarch64_sqdmlal_lanev4hi (__a, __b, __c, __d);
23369 }
23370 
23371 __extension__ extern __inline int32x4_t
23372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_laneq_s16(int32x4_t __a,int16x4_t __b,int16x8_t __c,int const __d)23373 vqdmlal_laneq_s16 (int32x4_t __a, int16x4_t __b, int16x8_t __c, int const __d)
23374 {
23375   return __builtin_aarch64_sqdmlal_laneqv4hi (__a, __b, __c, __d);
23376 }
23377 
23378 __extension__ extern __inline int32x4_t
23379 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)23380 vqdmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
23381 {
23382   return __builtin_aarch64_sqdmlal_nv4hi (__a, __b, __c);
23383 }
23384 
23385 __extension__ extern __inline int64x2_t
23386 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)23387 vqdmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
23388 {
23389   return __builtin_aarch64_sqdmlalv2si (__a, __b, __c);
23390 }
23391 
23392 __extension__ extern __inline int64x2_t
23393 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)23394 vqdmlal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
23395 {
23396   return __builtin_aarch64_sqdmlal2v4si (__a, __b, __c);
23397 }
23398 
23399 __extension__ extern __inline int64x2_t
23400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_lane_s32(int64x2_t __a,int32x4_t __b,int32x2_t __c,int const __d)23401 vqdmlal_high_lane_s32 (int64x2_t __a, int32x4_t __b, int32x2_t __c,
23402 		       int const __d)
23403 {
23404   return __builtin_aarch64_sqdmlal2_lanev4si (__a, __b, __c, __d);
23405 }
23406 
23407 __extension__ extern __inline int64x2_t
23408 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_laneq_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c,int const __d)23409 vqdmlal_high_laneq_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c,
23410 			int const __d)
23411 {
23412   return __builtin_aarch64_sqdmlal2_laneqv4si (__a, __b, __c, __d);
23413 }
23414 
23415 __extension__ extern __inline int64x2_t
23416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_n_s32(int64x2_t __a,int32x4_t __b,int32_t __c)23417 vqdmlal_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
23418 {
23419   return __builtin_aarch64_sqdmlal2_nv4si (__a, __b, __c);
23420 }
23421 
23422 __extension__ extern __inline int64x2_t
23423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,int const __d)23424 vqdmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, int const __d)
23425 {
23426   return __builtin_aarch64_sqdmlal_lanev2si (__a, __b, __c, __d);
23427 }
23428 
23429 __extension__ extern __inline int64x2_t
23430 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_laneq_s32(int64x2_t __a,int32x2_t __b,int32x4_t __c,int const __d)23431 vqdmlal_laneq_s32 (int64x2_t __a, int32x2_t __b, int32x4_t __c, int const __d)
23432 {
23433   return __builtin_aarch64_sqdmlal_laneqv2si (__a, __b, __c, __d);
23434 }
23435 
23436 __extension__ extern __inline int64x2_t
23437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)23438 vqdmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
23439 {
23440   return __builtin_aarch64_sqdmlal_nv2si (__a, __b, __c);
23441 }
23442 
23443 __extension__ extern __inline int32_t
23444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlalh_s16(int32_t __a,int16_t __b,int16_t __c)23445 vqdmlalh_s16 (int32_t __a, int16_t __b, int16_t __c)
23446 {
23447   return __builtin_aarch64_sqdmlalhi (__a, __b, __c);
23448 }
23449 
23450 __extension__ extern __inline int32_t
23451 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlalh_lane_s16(int32_t __a,int16_t __b,int16x4_t __c,const int __d)23452 vqdmlalh_lane_s16 (int32_t __a, int16_t __b, int16x4_t __c, const int __d)
23453 {
23454   return __builtin_aarch64_sqdmlal_lanehi (__a, __b, __c, __d);
23455 }
23456 
23457 __extension__ extern __inline int32_t
23458 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlalh_laneq_s16(int32_t __a,int16_t __b,int16x8_t __c,const int __d)23459 vqdmlalh_laneq_s16 (int32_t __a, int16_t __b, int16x8_t __c, const int __d)
23460 {
23461   return __builtin_aarch64_sqdmlal_laneqhi (__a, __b, __c, __d);
23462 }
23463 
23464 __extension__ extern __inline int64_t
23465 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlals_s32(int64_t __a,int32_t __b,int32_t __c)23466 vqdmlals_s32 (int64_t __a, int32_t __b, int32_t __c)
23467 {
23468   return __builtin_aarch64_sqdmlalsi (__a, __b, __c);
23469 }
23470 
23471 __extension__ extern __inline int64_t
23472 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlals_lane_s32(int64_t __a,int32_t __b,int32x2_t __c,const int __d)23473 vqdmlals_lane_s32 (int64_t __a, int32_t __b, int32x2_t __c, const int __d)
23474 {
23475   return __builtin_aarch64_sqdmlal_lanesi (__a, __b, __c, __d);
23476 }
23477 
23478 __extension__ extern __inline int64_t
23479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlals_laneq_s32(int64_t __a,int32_t __b,int32x4_t __c,const int __d)23480 vqdmlals_laneq_s32 (int64_t __a, int32_t __b, int32x4_t __c, const int __d)
23481 {
23482   return __builtin_aarch64_sqdmlal_laneqsi (__a, __b, __c, __d);
23483 }
23484 
23485 /* vqdmlsl */
23486 
23487 __extension__ extern __inline int32x4_t
23488 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)23489 vqdmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
23490 {
23491   return __builtin_aarch64_sqdmlslv4hi (__a, __b, __c);
23492 }
23493 
23494 __extension__ extern __inline int32x4_t
23495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)23496 vqdmlsl_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
23497 {
23498   return __builtin_aarch64_sqdmlsl2v8hi (__a, __b, __c);
23499 }
23500 
23501 __extension__ extern __inline int32x4_t
23502 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_lane_s16(int32x4_t __a,int16x8_t __b,int16x4_t __c,int const __d)23503 vqdmlsl_high_lane_s16 (int32x4_t __a, int16x8_t __b, int16x4_t __c,
23504 		       int const __d)
23505 {
23506   return __builtin_aarch64_sqdmlsl2_lanev8hi (__a, __b, __c, __d);
23507 }
23508 
23509 __extension__ extern __inline int32x4_t
23510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_laneq_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c,int const __d)23511 vqdmlsl_high_laneq_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c,
23512 			int const __d)
23513 {
23514   return __builtin_aarch64_sqdmlsl2_laneqv8hi (__a, __b, __c, __d);
23515 }
23516 
23517 __extension__ extern __inline int32x4_t
23518 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_n_s16(int32x4_t __a,int16x8_t __b,int16_t __c)23519 vqdmlsl_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
23520 {
23521   return __builtin_aarch64_sqdmlsl2_nv8hi (__a, __b, __c);
23522 }
23523 
23524 __extension__ extern __inline int32x4_t
23525 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,int const __d)23526 vqdmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, int const __d)
23527 {
23528   return __builtin_aarch64_sqdmlsl_lanev4hi (__a, __b, __c, __d);
23529 }
23530 
23531 __extension__ extern __inline int32x4_t
23532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_laneq_s16(int32x4_t __a,int16x4_t __b,int16x8_t __c,int const __d)23533 vqdmlsl_laneq_s16 (int32x4_t __a, int16x4_t __b, int16x8_t __c, int const __d)
23534 {
23535   return __builtin_aarch64_sqdmlsl_laneqv4hi (__a, __b, __c, __d);
23536 }
23537 
23538 __extension__ extern __inline int32x4_t
23539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)23540 vqdmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
23541 {
23542   return __builtin_aarch64_sqdmlsl_nv4hi (__a, __b, __c);
23543 }
23544 
23545 __extension__ extern __inline int64x2_t
23546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)23547 vqdmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
23548 {
23549   return __builtin_aarch64_sqdmlslv2si (__a, __b, __c);
23550 }
23551 
23552 __extension__ extern __inline int64x2_t
23553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)23554 vqdmlsl_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
23555 {
23556   return __builtin_aarch64_sqdmlsl2v4si (__a, __b, __c);
23557 }
23558 
23559 __extension__ extern __inline int64x2_t
23560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_lane_s32(int64x2_t __a,int32x4_t __b,int32x2_t __c,int const __d)23561 vqdmlsl_high_lane_s32 (int64x2_t __a, int32x4_t __b, int32x2_t __c,
23562 		       int const __d)
23563 {
23564   return __builtin_aarch64_sqdmlsl2_lanev4si (__a, __b, __c, __d);
23565 }
23566 
23567 __extension__ extern __inline int64x2_t
23568 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_laneq_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c,int const __d)23569 vqdmlsl_high_laneq_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c,
23570 			int const __d)
23571 {
23572   return __builtin_aarch64_sqdmlsl2_laneqv4si (__a, __b, __c, __d);
23573 }
23574 
23575 __extension__ extern __inline int64x2_t
23576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_n_s32(int64x2_t __a,int32x4_t __b,int32_t __c)23577 vqdmlsl_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
23578 {
23579   return __builtin_aarch64_sqdmlsl2_nv4si (__a, __b, __c);
23580 }
23581 
23582 __extension__ extern __inline int64x2_t
23583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,int const __d)23584 vqdmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, int const __d)
23585 {
23586   return __builtin_aarch64_sqdmlsl_lanev2si (__a, __b, __c, __d);
23587 }
23588 
23589 __extension__ extern __inline int64x2_t
23590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_laneq_s32(int64x2_t __a,int32x2_t __b,int32x4_t __c,int const __d)23591 vqdmlsl_laneq_s32 (int64x2_t __a, int32x2_t __b, int32x4_t __c, int const __d)
23592 {
23593   return __builtin_aarch64_sqdmlsl_laneqv2si (__a, __b, __c, __d);
23594 }
23595 
23596 __extension__ extern __inline int64x2_t
23597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)23598 vqdmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
23599 {
23600   return __builtin_aarch64_sqdmlsl_nv2si (__a, __b, __c);
23601 }
23602 
23603 __extension__ extern __inline int32_t
23604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlslh_s16(int32_t __a,int16_t __b,int16_t __c)23605 vqdmlslh_s16 (int32_t __a, int16_t __b, int16_t __c)
23606 {
23607   return __builtin_aarch64_sqdmlslhi (__a, __b, __c);
23608 }
23609 
23610 __extension__ extern __inline int32_t
23611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlslh_lane_s16(int32_t __a,int16_t __b,int16x4_t __c,const int __d)23612 vqdmlslh_lane_s16 (int32_t __a, int16_t __b, int16x4_t __c, const int __d)
23613 {
23614   return __builtin_aarch64_sqdmlsl_lanehi (__a, __b, __c, __d);
23615 }
23616 
23617 __extension__ extern __inline int32_t
23618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlslh_laneq_s16(int32_t __a,int16_t __b,int16x8_t __c,const int __d)23619 vqdmlslh_laneq_s16 (int32_t __a, int16_t __b, int16x8_t __c, const int __d)
23620 {
23621   return __builtin_aarch64_sqdmlsl_laneqhi (__a, __b, __c, __d);
23622 }
23623 
23624 __extension__ extern __inline int64_t
23625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsls_s32(int64_t __a,int32_t __b,int32_t __c)23626 vqdmlsls_s32 (int64_t __a, int32_t __b, int32_t __c)
23627 {
23628   return __builtin_aarch64_sqdmlslsi (__a, __b, __c);
23629 }
23630 
23631 __extension__ extern __inline int64_t
23632 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsls_lane_s32(int64_t __a,int32_t __b,int32x2_t __c,const int __d)23633 vqdmlsls_lane_s32 (int64_t __a, int32_t __b, int32x2_t __c, const int __d)
23634 {
23635   return __builtin_aarch64_sqdmlsl_lanesi (__a, __b, __c, __d);
23636 }
23637 
23638 __extension__ extern __inline int64_t
23639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsls_laneq_s32(int64_t __a,int32_t __b,int32x4_t __c,const int __d)23640 vqdmlsls_laneq_s32 (int64_t __a, int32_t __b, int32x4_t __c, const int __d)
23641 {
23642   return __builtin_aarch64_sqdmlsl_laneqsi (__a, __b, __c, __d);
23643 }
23644 
23645 /* vqdmulh */
23646 
23647 __extension__ extern __inline int16x4_t
23648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)23649 vqdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
23650 {
23651   return __builtin_aarch64_sqdmulh_lanev4hi (__a, __b, __c);
23652 }
23653 
23654 __extension__ extern __inline int32x2_t
23655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)23656 vqdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
23657 {
23658   return __builtin_aarch64_sqdmulh_lanev2si (__a, __b, __c);
23659 }
23660 
23661 __extension__ extern __inline int16x8_t
23662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)23663 vqdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
23664 {
23665   return __builtin_aarch64_sqdmulh_lanev8hi (__a, __b, __c);
23666 }
23667 
23668 __extension__ extern __inline int32x4_t
23669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)23670 vqdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
23671 {
23672   return __builtin_aarch64_sqdmulh_lanev4si (__a, __b, __c);
23673 }
23674 
23675 __extension__ extern __inline int16_t
23676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhh_s16(int16_t __a,int16_t __b)23677 vqdmulhh_s16 (int16_t __a, int16_t __b)
23678 {
23679   return (int16_t) __builtin_aarch64_sqdmulhhi (__a, __b);
23680 }
23681 
23682 __extension__ extern __inline int16_t
23683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhh_lane_s16(int16_t __a,int16x4_t __b,const int __c)23684 vqdmulhh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
23685 {
23686   return __builtin_aarch64_sqdmulh_lanehi (__a, __b, __c);
23687 }
23688 
23689 __extension__ extern __inline int16_t
23690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhh_laneq_s16(int16_t __a,int16x8_t __b,const int __c)23691 vqdmulhh_laneq_s16 (int16_t __a, int16x8_t __b, const int __c)
23692 {
23693   return __builtin_aarch64_sqdmulh_laneqhi (__a, __b, __c);
23694 }
23695 
23696 __extension__ extern __inline int32_t
23697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhs_s32(int32_t __a,int32_t __b)23698 vqdmulhs_s32 (int32_t __a, int32_t __b)
23699 {
23700   return (int32_t) __builtin_aarch64_sqdmulhsi (__a, __b);
23701 }
23702 
23703 __extension__ extern __inline int32_t
23704 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhs_lane_s32(int32_t __a,int32x2_t __b,const int __c)23705 vqdmulhs_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
23706 {
23707   return __builtin_aarch64_sqdmulh_lanesi (__a, __b, __c);
23708 }
23709 
23710 __extension__ extern __inline int32_t
23711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhs_laneq_s32(int32_t __a,int32x4_t __b,const int __c)23712 vqdmulhs_laneq_s32 (int32_t __a, int32x4_t __b, const int __c)
23713 {
23714   return __builtin_aarch64_sqdmulh_laneqsi (__a, __b, __c);
23715 }
23716 
23717 /* vqdmull */
23718 
23719 __extension__ extern __inline int32x4_t
23720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_s16(int16x4_t __a,int16x4_t __b)23721 vqdmull_s16 (int16x4_t __a, int16x4_t __b)
23722 {
23723   return __builtin_aarch64_sqdmullv4hi (__a, __b);
23724 }
23725 
23726 __extension__ extern __inline int32x4_t
23727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_s16(int16x8_t __a,int16x8_t __b)23728 vqdmull_high_s16 (int16x8_t __a, int16x8_t __b)
23729 {
23730   return __builtin_aarch64_sqdmull2v8hi (__a, __b);
23731 }
23732 
23733 __extension__ extern __inline int32x4_t
23734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_lane_s16(int16x8_t __a,int16x4_t __b,int const __c)23735 vqdmull_high_lane_s16 (int16x8_t __a, int16x4_t __b, int const __c)
23736 {
23737   return __builtin_aarch64_sqdmull2_lanev8hi (__a, __b,__c);
23738 }
23739 
23740 __extension__ extern __inline int32x4_t
23741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_laneq_s16(int16x8_t __a,int16x8_t __b,int const __c)23742 vqdmull_high_laneq_s16 (int16x8_t __a, int16x8_t __b, int const __c)
23743 {
23744   return __builtin_aarch64_sqdmull2_laneqv8hi (__a, __b,__c);
23745 }
23746 
23747 __extension__ extern __inline int32x4_t
23748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_n_s16(int16x8_t __a,int16_t __b)23749 vqdmull_high_n_s16 (int16x8_t __a, int16_t __b)
23750 {
23751   return __builtin_aarch64_sqdmull2_nv8hi (__a, __b);
23752 }
23753 
23754 __extension__ extern __inline int32x4_t
23755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_lane_s16(int16x4_t __a,int16x4_t __b,int const __c)23756 vqdmull_lane_s16 (int16x4_t __a, int16x4_t __b, int const __c)
23757 {
23758   return __builtin_aarch64_sqdmull_lanev4hi (__a, __b, __c);
23759 }
23760 
23761 __extension__ extern __inline int32x4_t
23762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_laneq_s16(int16x4_t __a,int16x8_t __b,int const __c)23763 vqdmull_laneq_s16 (int16x4_t __a, int16x8_t __b, int const __c)
23764 {
23765   return __builtin_aarch64_sqdmull_laneqv4hi (__a, __b, __c);
23766 }
23767 
23768 __extension__ extern __inline int32x4_t
23769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_n_s16(int16x4_t __a,int16_t __b)23770 vqdmull_n_s16 (int16x4_t __a, int16_t __b)
23771 {
23772   return __builtin_aarch64_sqdmull_nv4hi (__a, __b);
23773 }
23774 
23775 __extension__ extern __inline int64x2_t
23776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_s32(int32x2_t __a,int32x2_t __b)23777 vqdmull_s32 (int32x2_t __a, int32x2_t __b)
23778 {
23779   return __builtin_aarch64_sqdmullv2si (__a, __b);
23780 }
23781 
23782 __extension__ extern __inline int64x2_t
23783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_s32(int32x4_t __a,int32x4_t __b)23784 vqdmull_high_s32 (int32x4_t __a, int32x4_t __b)
23785 {
23786   return __builtin_aarch64_sqdmull2v4si (__a, __b);
23787 }
23788 
23789 __extension__ extern __inline int64x2_t
23790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_lane_s32(int32x4_t __a,int32x2_t __b,int const __c)23791 vqdmull_high_lane_s32 (int32x4_t __a, int32x2_t __b, int const __c)
23792 {
23793   return __builtin_aarch64_sqdmull2_lanev4si (__a, __b, __c);
23794 }
23795 
23796 __extension__ extern __inline int64x2_t
23797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_laneq_s32(int32x4_t __a,int32x4_t __b,int const __c)23798 vqdmull_high_laneq_s32 (int32x4_t __a, int32x4_t __b, int const __c)
23799 {
23800   return __builtin_aarch64_sqdmull2_laneqv4si (__a, __b, __c);
23801 }
23802 
23803 __extension__ extern __inline int64x2_t
23804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_n_s32(int32x4_t __a,int32_t __b)23805 vqdmull_high_n_s32 (int32x4_t __a, int32_t __b)
23806 {
23807   return __builtin_aarch64_sqdmull2_nv4si (__a, __b);
23808 }
23809 
23810 __extension__ extern __inline int64x2_t
23811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_lane_s32(int32x2_t __a,int32x2_t __b,int const __c)23812 vqdmull_lane_s32 (int32x2_t __a, int32x2_t __b, int const __c)
23813 {
23814   return __builtin_aarch64_sqdmull_lanev2si (__a, __b, __c);
23815 }
23816 
23817 __extension__ extern __inline int64x2_t
23818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_laneq_s32(int32x2_t __a,int32x4_t __b,int const __c)23819 vqdmull_laneq_s32 (int32x2_t __a, int32x4_t __b, int const __c)
23820 {
23821   return __builtin_aarch64_sqdmull_laneqv2si (__a, __b, __c);
23822 }
23823 
23824 __extension__ extern __inline int64x2_t
23825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_n_s32(int32x2_t __a,int32_t __b)23826 vqdmull_n_s32 (int32x2_t __a, int32_t __b)
23827 {
23828   return __builtin_aarch64_sqdmull_nv2si (__a, __b);
23829 }
23830 
23831 __extension__ extern __inline int32_t
23832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmullh_s16(int16_t __a,int16_t __b)23833 vqdmullh_s16 (int16_t __a, int16_t __b)
23834 {
23835   return (int32_t) __builtin_aarch64_sqdmullhi (__a, __b);
23836 }
23837 
23838 __extension__ extern __inline int32_t
23839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmullh_lane_s16(int16_t __a,int16x4_t __b,const int __c)23840 vqdmullh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
23841 {
23842   return __builtin_aarch64_sqdmull_lanehi (__a, __b, __c);
23843 }
23844 
23845 __extension__ extern __inline int32_t
23846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmullh_laneq_s16(int16_t __a,int16x8_t __b,const int __c)23847 vqdmullh_laneq_s16 (int16_t __a, int16x8_t __b, const int __c)
23848 {
23849   return __builtin_aarch64_sqdmull_laneqhi (__a, __b, __c);
23850 }
23851 
23852 __extension__ extern __inline int64_t
23853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulls_s32(int32_t __a,int32_t __b)23854 vqdmulls_s32 (int32_t __a, int32_t __b)
23855 {
23856   return __builtin_aarch64_sqdmullsi (__a, __b);
23857 }
23858 
23859 __extension__ extern __inline int64_t
23860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulls_lane_s32(int32_t __a,int32x2_t __b,const int __c)23861 vqdmulls_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
23862 {
23863   return __builtin_aarch64_sqdmull_lanesi (__a, __b, __c);
23864 }
23865 
23866 __extension__ extern __inline int64_t
23867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulls_laneq_s32(int32_t __a,int32x4_t __b,const int __c)23868 vqdmulls_laneq_s32 (int32_t __a, int32x4_t __b, const int __c)
23869 {
23870   return __builtin_aarch64_sqdmull_laneqsi (__a, __b, __c);
23871 }
23872 
23873 /* vqmovn */
23874 
23875 __extension__ extern __inline int8x8_t
23876 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s16(int16x8_t __a)23877 vqmovn_s16 (int16x8_t __a)
23878 {
23879   return (int8x8_t) __builtin_aarch64_sqmovnv8hi (__a);
23880 }
23881 
23882 __extension__ extern __inline int16x4_t
23883 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s32(int32x4_t __a)23884 vqmovn_s32 (int32x4_t __a)
23885 {
23886   return (int16x4_t) __builtin_aarch64_sqmovnv4si (__a);
23887 }
23888 
23889 __extension__ extern __inline int32x2_t
23890 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s64(int64x2_t __a)23891 vqmovn_s64 (int64x2_t __a)
23892 {
23893   return (int32x2_t) __builtin_aarch64_sqmovnv2di (__a);
23894 }
23895 
23896 __extension__ extern __inline uint8x8_t
23897 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u16(uint16x8_t __a)23898 vqmovn_u16 (uint16x8_t __a)
23899 {
23900   return (uint8x8_t) __builtin_aarch64_uqmovnv8hi ((int16x8_t) __a);
23901 }
23902 
23903 __extension__ extern __inline uint16x4_t
23904 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u32(uint32x4_t __a)23905 vqmovn_u32 (uint32x4_t __a)
23906 {
23907   return (uint16x4_t) __builtin_aarch64_uqmovnv4si ((int32x4_t) __a);
23908 }
23909 
23910 __extension__ extern __inline uint32x2_t
23911 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u64(uint64x2_t __a)23912 vqmovn_u64 (uint64x2_t __a)
23913 {
23914   return (uint32x2_t) __builtin_aarch64_uqmovnv2di ((int64x2_t) __a);
23915 }
23916 
23917 __extension__ extern __inline int8_t
23918 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovnh_s16(int16_t __a)23919 vqmovnh_s16 (int16_t __a)
23920 {
23921   return (int8_t) __builtin_aarch64_sqmovnhi (__a);
23922 }
23923 
23924 __extension__ extern __inline int16_t
23925 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovns_s32(int32_t __a)23926 vqmovns_s32 (int32_t __a)
23927 {
23928   return (int16_t) __builtin_aarch64_sqmovnsi (__a);
23929 }
23930 
23931 __extension__ extern __inline int32_t
23932 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovnd_s64(int64_t __a)23933 vqmovnd_s64 (int64_t __a)
23934 {
23935   return (int32_t) __builtin_aarch64_sqmovndi (__a);
23936 }
23937 
23938 __extension__ extern __inline uint8_t
23939 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovnh_u16(uint16_t __a)23940 vqmovnh_u16 (uint16_t __a)
23941 {
23942   return (uint8_t) __builtin_aarch64_uqmovnhi (__a);
23943 }
23944 
23945 __extension__ extern __inline uint16_t
23946 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovns_u32(uint32_t __a)23947 vqmovns_u32 (uint32_t __a)
23948 {
23949   return (uint16_t) __builtin_aarch64_uqmovnsi (__a);
23950 }
23951 
23952 __extension__ extern __inline uint32_t
23953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovnd_u64(uint64_t __a)23954 vqmovnd_u64 (uint64_t __a)
23955 {
23956   return (uint32_t) __builtin_aarch64_uqmovndi (__a);
23957 }
23958 
23959 /* vqmovun */
23960 
23961 __extension__ extern __inline uint8x8_t
23962 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s16(int16x8_t __a)23963 vqmovun_s16 (int16x8_t __a)
23964 {
23965   return (uint8x8_t) __builtin_aarch64_sqmovunv8hi (__a);
23966 }
23967 
23968 __extension__ extern __inline uint16x4_t
23969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s32(int32x4_t __a)23970 vqmovun_s32 (int32x4_t __a)
23971 {
23972   return (uint16x4_t) __builtin_aarch64_sqmovunv4si (__a);
23973 }
23974 
23975 __extension__ extern __inline uint32x2_t
23976 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s64(int64x2_t __a)23977 vqmovun_s64 (int64x2_t __a)
23978 {
23979   return (uint32x2_t) __builtin_aarch64_sqmovunv2di (__a);
23980 }
23981 
23982 __extension__ extern __inline int8_t
23983 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovunh_s16(int16_t __a)23984 vqmovunh_s16 (int16_t __a)
23985 {
23986   return (int8_t) __builtin_aarch64_sqmovunhi (__a);
23987 }
23988 
23989 __extension__ extern __inline int16_t
23990 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovuns_s32(int32_t __a)23991 vqmovuns_s32 (int32_t __a)
23992 {
23993   return (int16_t) __builtin_aarch64_sqmovunsi (__a);
23994 }
23995 
23996 __extension__ extern __inline int32_t
23997 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovund_s64(int64_t __a)23998 vqmovund_s64 (int64_t __a)
23999 {
24000   return (int32_t) __builtin_aarch64_sqmovundi (__a);
24001 }
24002 
24003 /* vqneg */
24004 
24005 __extension__ extern __inline int64x2_t
24006 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s64(int64x2_t __a)24007 vqnegq_s64 (int64x2_t __a)
24008 {
24009   return (int64x2_t) __builtin_aarch64_sqnegv2di (__a);
24010 }
24011 
24012 __extension__ extern __inline int8_t
24013 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegb_s8(int8_t __a)24014 vqnegb_s8 (int8_t __a)
24015 {
24016   return (int8_t) __builtin_aarch64_sqnegqi (__a);
24017 }
24018 
24019 __extension__ extern __inline int16_t
24020 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegh_s16(int16_t __a)24021 vqnegh_s16 (int16_t __a)
24022 {
24023   return (int16_t) __builtin_aarch64_sqneghi (__a);
24024 }
24025 
24026 __extension__ extern __inline int32_t
24027 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegs_s32(int32_t __a)24028 vqnegs_s32 (int32_t __a)
24029 {
24030   return (int32_t) __builtin_aarch64_sqnegsi (__a);
24031 }
24032 
24033 __extension__ extern __inline int64_t
24034 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegd_s64(int64_t __a)24035 vqnegd_s64 (int64_t __a)
24036 {
24037   return __builtin_aarch64_sqnegdi (__a);
24038 }
24039 
24040 /* vqrdmulh */
24041 
24042 __extension__ extern __inline int16x4_t
24043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)24044 vqrdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
24045 {
24046   return  __builtin_aarch64_sqrdmulh_lanev4hi (__a, __b, __c);
24047 }
24048 
24049 __extension__ extern __inline int32x2_t
24050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)24051 vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
24052 {
24053   return __builtin_aarch64_sqrdmulh_lanev2si (__a, __b, __c);
24054 }
24055 
24056 __extension__ extern __inline int16x8_t
24057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)24058 vqrdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
24059 {
24060   return __builtin_aarch64_sqrdmulh_lanev8hi (__a, __b, __c);
24061 }
24062 
24063 __extension__ extern __inline int32x4_t
24064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)24065 vqrdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
24066 {
24067   return __builtin_aarch64_sqrdmulh_lanev4si (__a, __b, __c);
24068 }
24069 
24070 __extension__ extern __inline int16_t
24071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhh_s16(int16_t __a,int16_t __b)24072 vqrdmulhh_s16 (int16_t __a, int16_t __b)
24073 {
24074   return (int16_t) __builtin_aarch64_sqrdmulhhi (__a, __b);
24075 }
24076 
24077 __extension__ extern __inline int16_t
24078 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhh_lane_s16(int16_t __a,int16x4_t __b,const int __c)24079 vqrdmulhh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
24080 {
24081   return __builtin_aarch64_sqrdmulh_lanehi (__a, __b, __c);
24082 }
24083 
24084 __extension__ extern __inline int16_t
24085 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhh_laneq_s16(int16_t __a,int16x8_t __b,const int __c)24086 vqrdmulhh_laneq_s16 (int16_t __a, int16x8_t __b, const int __c)
24087 {
24088   return __builtin_aarch64_sqrdmulh_laneqhi (__a, __b, __c);
24089 }
24090 
24091 __extension__ extern __inline int32_t
24092 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhs_s32(int32_t __a,int32_t __b)24093 vqrdmulhs_s32 (int32_t __a, int32_t __b)
24094 {
24095   return (int32_t) __builtin_aarch64_sqrdmulhsi (__a, __b);
24096 }
24097 
24098 __extension__ extern __inline int32_t
24099 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhs_lane_s32(int32_t __a,int32x2_t __b,const int __c)24100 vqrdmulhs_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
24101 {
24102   return __builtin_aarch64_sqrdmulh_lanesi (__a, __b, __c);
24103 }
24104 
24105 __extension__ extern __inline int32_t
24106 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhs_laneq_s32(int32_t __a,int32x4_t __b,const int __c)24107 vqrdmulhs_laneq_s32 (int32_t __a, int32x4_t __b, const int __c)
24108 {
24109   return __builtin_aarch64_sqrdmulh_laneqsi (__a, __b, __c);
24110 }
24111 
24112 /* vqrshl */
24113 
24114 __extension__ extern __inline int8x8_t
24115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s8(int8x8_t __a,int8x8_t __b)24116 vqrshl_s8 (int8x8_t __a, int8x8_t __b)
24117 {
24118   return __builtin_aarch64_sqrshlv8qi (__a, __b);
24119 }
24120 
24121 __extension__ extern __inline int16x4_t
24122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s16(int16x4_t __a,int16x4_t __b)24123 vqrshl_s16 (int16x4_t __a, int16x4_t __b)
24124 {
24125   return __builtin_aarch64_sqrshlv4hi (__a, __b);
24126 }
24127 
24128 __extension__ extern __inline int32x2_t
24129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s32(int32x2_t __a,int32x2_t __b)24130 vqrshl_s32 (int32x2_t __a, int32x2_t __b)
24131 {
24132   return __builtin_aarch64_sqrshlv2si (__a, __b);
24133 }
24134 
24135 __extension__ extern __inline int64x1_t
24136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s64(int64x1_t __a,int64x1_t __b)24137 vqrshl_s64 (int64x1_t __a, int64x1_t __b)
24138 {
24139   return (int64x1_t) {__builtin_aarch64_sqrshldi (__a[0], __b[0])};
24140 }
24141 
24142 __extension__ extern __inline uint8x8_t
24143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u8(uint8x8_t __a,int8x8_t __b)24144 vqrshl_u8 (uint8x8_t __a, int8x8_t __b)
24145 {
24146   return __builtin_aarch64_uqrshlv8qi_uus ( __a, __b);
24147 }
24148 
24149 __extension__ extern __inline uint16x4_t
24150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u16(uint16x4_t __a,int16x4_t __b)24151 vqrshl_u16 (uint16x4_t __a, int16x4_t __b)
24152 {
24153   return __builtin_aarch64_uqrshlv4hi_uus ( __a, __b);
24154 }
24155 
24156 __extension__ extern __inline uint32x2_t
24157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u32(uint32x2_t __a,int32x2_t __b)24158 vqrshl_u32 (uint32x2_t __a, int32x2_t __b)
24159 {
24160   return __builtin_aarch64_uqrshlv2si_uus ( __a, __b);
24161 }
24162 
24163 __extension__ extern __inline uint64x1_t
24164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u64(uint64x1_t __a,int64x1_t __b)24165 vqrshl_u64 (uint64x1_t __a, int64x1_t __b)
24166 {
24167   return (uint64x1_t) {__builtin_aarch64_uqrshldi_uus (__a[0], __b[0])};
24168 }
24169 
24170 __extension__ extern __inline int8x16_t
24171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s8(int8x16_t __a,int8x16_t __b)24172 vqrshlq_s8 (int8x16_t __a, int8x16_t __b)
24173 {
24174   return __builtin_aarch64_sqrshlv16qi (__a, __b);
24175 }
24176 
24177 __extension__ extern __inline int16x8_t
24178 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s16(int16x8_t __a,int16x8_t __b)24179 vqrshlq_s16 (int16x8_t __a, int16x8_t __b)
24180 {
24181   return __builtin_aarch64_sqrshlv8hi (__a, __b);
24182 }
24183 
24184 __extension__ extern __inline int32x4_t
24185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s32(int32x4_t __a,int32x4_t __b)24186 vqrshlq_s32 (int32x4_t __a, int32x4_t __b)
24187 {
24188   return __builtin_aarch64_sqrshlv4si (__a, __b);
24189 }
24190 
24191 __extension__ extern __inline int64x2_t
24192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s64(int64x2_t __a,int64x2_t __b)24193 vqrshlq_s64 (int64x2_t __a, int64x2_t __b)
24194 {
24195   return __builtin_aarch64_sqrshlv2di (__a, __b);
24196 }
24197 
24198 __extension__ extern __inline uint8x16_t
24199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u8(uint8x16_t __a,int8x16_t __b)24200 vqrshlq_u8 (uint8x16_t __a, int8x16_t __b)
24201 {
24202   return __builtin_aarch64_uqrshlv16qi_uus ( __a, __b);
24203 }
24204 
24205 __extension__ extern __inline uint16x8_t
24206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u16(uint16x8_t __a,int16x8_t __b)24207 vqrshlq_u16 (uint16x8_t __a, int16x8_t __b)
24208 {
24209   return __builtin_aarch64_uqrshlv8hi_uus ( __a, __b);
24210 }
24211 
24212 __extension__ extern __inline uint32x4_t
24213 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u32(uint32x4_t __a,int32x4_t __b)24214 vqrshlq_u32 (uint32x4_t __a, int32x4_t __b)
24215 {
24216   return __builtin_aarch64_uqrshlv4si_uus ( __a, __b);
24217 }
24218 
24219 __extension__ extern __inline uint64x2_t
24220 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u64(uint64x2_t __a,int64x2_t __b)24221 vqrshlq_u64 (uint64x2_t __a, int64x2_t __b)
24222 {
24223   return __builtin_aarch64_uqrshlv2di_uus ( __a, __b);
24224 }
24225 
24226 __extension__ extern __inline int8_t
24227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlb_s8(int8_t __a,int8_t __b)24228 vqrshlb_s8 (int8_t __a, int8_t __b)
24229 {
24230   return __builtin_aarch64_sqrshlqi (__a, __b);
24231 }
24232 
24233 __extension__ extern __inline int16_t
24234 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlh_s16(int16_t __a,int16_t __b)24235 vqrshlh_s16 (int16_t __a, int16_t __b)
24236 {
24237   return __builtin_aarch64_sqrshlhi (__a, __b);
24238 }
24239 
24240 __extension__ extern __inline int32_t
24241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshls_s32(int32_t __a,int32_t __b)24242 vqrshls_s32 (int32_t __a, int32_t __b)
24243 {
24244   return __builtin_aarch64_sqrshlsi (__a, __b);
24245 }
24246 
24247 __extension__ extern __inline int64_t
24248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshld_s64(int64_t __a,int64_t __b)24249 vqrshld_s64 (int64_t __a, int64_t __b)
24250 {
24251   return __builtin_aarch64_sqrshldi (__a, __b);
24252 }
24253 
24254 __extension__ extern __inline uint8_t
24255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlb_u8(uint8_t __a,uint8_t __b)24256 vqrshlb_u8 (uint8_t __a, uint8_t __b)
24257 {
24258   return __builtin_aarch64_uqrshlqi_uus (__a, __b);
24259 }
24260 
24261 __extension__ extern __inline uint16_t
24262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlh_u16(uint16_t __a,uint16_t __b)24263 vqrshlh_u16 (uint16_t __a, uint16_t __b)
24264 {
24265   return __builtin_aarch64_uqrshlhi_uus (__a, __b);
24266 }
24267 
24268 __extension__ extern __inline uint32_t
24269 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshls_u32(uint32_t __a,uint32_t __b)24270 vqrshls_u32 (uint32_t __a, uint32_t __b)
24271 {
24272   return __builtin_aarch64_uqrshlsi_uus (__a, __b);
24273 }
24274 
24275 __extension__ extern __inline uint64_t
24276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshld_u64(uint64_t __a,uint64_t __b)24277 vqrshld_u64 (uint64_t __a, uint64_t __b)
24278 {
24279   return __builtin_aarch64_uqrshldi_uus (__a, __b);
24280 }
24281 
24282 /* vqrshrn */
24283 
24284 __extension__ extern __inline int8x8_t
24285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s16(int16x8_t __a,const int __b)24286 vqrshrn_n_s16 (int16x8_t __a, const int __b)
24287 {
24288   return (int8x8_t) __builtin_aarch64_sqrshrn_nv8hi (__a, __b);
24289 }
24290 
24291 __extension__ extern __inline int16x4_t
24292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s32(int32x4_t __a,const int __b)24293 vqrshrn_n_s32 (int32x4_t __a, const int __b)
24294 {
24295   return (int16x4_t) __builtin_aarch64_sqrshrn_nv4si (__a, __b);
24296 }
24297 
24298 __extension__ extern __inline int32x2_t
24299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s64(int64x2_t __a,const int __b)24300 vqrshrn_n_s64 (int64x2_t __a, const int __b)
24301 {
24302   return (int32x2_t) __builtin_aarch64_sqrshrn_nv2di (__a, __b);
24303 }
24304 
24305 __extension__ extern __inline uint8x8_t
24306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u16(uint16x8_t __a,const int __b)24307 vqrshrn_n_u16 (uint16x8_t __a, const int __b)
24308 {
24309   return __builtin_aarch64_uqrshrn_nv8hi_uus ( __a, __b);
24310 }
24311 
24312 __extension__ extern __inline uint16x4_t
24313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u32(uint32x4_t __a,const int __b)24314 vqrshrn_n_u32 (uint32x4_t __a, const int __b)
24315 {
24316   return __builtin_aarch64_uqrshrn_nv4si_uus ( __a, __b);
24317 }
24318 
24319 __extension__ extern __inline uint32x2_t
24320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u64(uint64x2_t __a,const int __b)24321 vqrshrn_n_u64 (uint64x2_t __a, const int __b)
24322 {
24323   return __builtin_aarch64_uqrshrn_nv2di_uus ( __a, __b);
24324 }
24325 
24326 __extension__ extern __inline int8_t
24327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrnh_n_s16(int16_t __a,const int __b)24328 vqrshrnh_n_s16 (int16_t __a, const int __b)
24329 {
24330   return (int8_t) __builtin_aarch64_sqrshrn_nhi (__a, __b);
24331 }
24332 
24333 __extension__ extern __inline int16_t
24334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrns_n_s32(int32_t __a,const int __b)24335 vqrshrns_n_s32 (int32_t __a, const int __b)
24336 {
24337   return (int16_t) __builtin_aarch64_sqrshrn_nsi (__a, __b);
24338 }
24339 
24340 __extension__ extern __inline int32_t
24341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrnd_n_s64(int64_t __a,const int __b)24342 vqrshrnd_n_s64 (int64_t __a, const int __b)
24343 {
24344   return (int32_t) __builtin_aarch64_sqrshrn_ndi (__a, __b);
24345 }
24346 
24347 __extension__ extern __inline uint8_t
24348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrnh_n_u16(uint16_t __a,const int __b)24349 vqrshrnh_n_u16 (uint16_t __a, const int __b)
24350 {
24351   return __builtin_aarch64_uqrshrn_nhi_uus (__a, __b);
24352 }
24353 
24354 __extension__ extern __inline uint16_t
24355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrns_n_u32(uint32_t __a,const int __b)24356 vqrshrns_n_u32 (uint32_t __a, const int __b)
24357 {
24358   return __builtin_aarch64_uqrshrn_nsi_uus (__a, __b);
24359 }
24360 
24361 __extension__ extern __inline uint32_t
24362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrnd_n_u64(uint64_t __a,const int __b)24363 vqrshrnd_n_u64 (uint64_t __a, const int __b)
24364 {
24365   return __builtin_aarch64_uqrshrn_ndi_uus (__a, __b);
24366 }
24367 
24368 /* vqrshrun */
24369 
24370 __extension__ extern __inline uint8x8_t
24371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s16(int16x8_t __a,const int __b)24372 vqrshrun_n_s16 (int16x8_t __a, const int __b)
24373 {
24374   return (uint8x8_t) __builtin_aarch64_sqrshrun_nv8hi (__a, __b);
24375 }
24376 
24377 __extension__ extern __inline uint16x4_t
24378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s32(int32x4_t __a,const int __b)24379 vqrshrun_n_s32 (int32x4_t __a, const int __b)
24380 {
24381   return (uint16x4_t) __builtin_aarch64_sqrshrun_nv4si (__a, __b);
24382 }
24383 
24384 __extension__ extern __inline uint32x2_t
24385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s64(int64x2_t __a,const int __b)24386 vqrshrun_n_s64 (int64x2_t __a, const int __b)
24387 {
24388   return (uint32x2_t) __builtin_aarch64_sqrshrun_nv2di (__a, __b);
24389 }
24390 
24391 __extension__ extern __inline int8_t
24392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrunh_n_s16(int16_t __a,const int __b)24393 vqrshrunh_n_s16 (int16_t __a, const int __b)
24394 {
24395   return (int8_t) __builtin_aarch64_sqrshrun_nhi (__a, __b);
24396 }
24397 
24398 __extension__ extern __inline int16_t
24399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshruns_n_s32(int32_t __a,const int __b)24400 vqrshruns_n_s32 (int32_t __a, const int __b)
24401 {
24402   return (int16_t) __builtin_aarch64_sqrshrun_nsi (__a, __b);
24403 }
24404 
24405 __extension__ extern __inline int32_t
24406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrund_n_s64(int64_t __a,const int __b)24407 vqrshrund_n_s64 (int64_t __a, const int __b)
24408 {
24409   return (int32_t) __builtin_aarch64_sqrshrun_ndi (__a, __b);
24410 }
24411 
24412 /* vqshl */
24413 
24414 __extension__ extern __inline int8x8_t
24415 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s8(int8x8_t __a,int8x8_t __b)24416 vqshl_s8 (int8x8_t __a, int8x8_t __b)
24417 {
24418   return __builtin_aarch64_sqshlv8qi (__a, __b);
24419 }
24420 
24421 __extension__ extern __inline int16x4_t
24422 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s16(int16x4_t __a,int16x4_t __b)24423 vqshl_s16 (int16x4_t __a, int16x4_t __b)
24424 {
24425   return __builtin_aarch64_sqshlv4hi (__a, __b);
24426 }
24427 
24428 __extension__ extern __inline int32x2_t
24429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s32(int32x2_t __a,int32x2_t __b)24430 vqshl_s32 (int32x2_t __a, int32x2_t __b)
24431 {
24432   return __builtin_aarch64_sqshlv2si (__a, __b);
24433 }
24434 
24435 __extension__ extern __inline int64x1_t
24436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s64(int64x1_t __a,int64x1_t __b)24437 vqshl_s64 (int64x1_t __a, int64x1_t __b)
24438 {
24439   return (int64x1_t) {__builtin_aarch64_sqshldi (__a[0], __b[0])};
24440 }
24441 
24442 __extension__ extern __inline uint8x8_t
24443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u8(uint8x8_t __a,int8x8_t __b)24444 vqshl_u8 (uint8x8_t __a, int8x8_t __b)
24445 {
24446   return __builtin_aarch64_uqshlv8qi_uus ( __a, __b);
24447 }
24448 
24449 __extension__ extern __inline uint16x4_t
24450 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u16(uint16x4_t __a,int16x4_t __b)24451 vqshl_u16 (uint16x4_t __a, int16x4_t __b)
24452 {
24453   return __builtin_aarch64_uqshlv4hi_uus ( __a, __b);
24454 }
24455 
24456 __extension__ extern __inline uint32x2_t
24457 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u32(uint32x2_t __a,int32x2_t __b)24458 vqshl_u32 (uint32x2_t __a, int32x2_t __b)
24459 {
24460   return __builtin_aarch64_uqshlv2si_uus ( __a, __b);
24461 }
24462 
24463 __extension__ extern __inline uint64x1_t
24464 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u64(uint64x1_t __a,int64x1_t __b)24465 vqshl_u64 (uint64x1_t __a, int64x1_t __b)
24466 {
24467   return (uint64x1_t) {__builtin_aarch64_uqshldi_uus (__a[0], __b[0])};
24468 }
24469 
24470 __extension__ extern __inline int8x16_t
24471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s8(int8x16_t __a,int8x16_t __b)24472 vqshlq_s8 (int8x16_t __a, int8x16_t __b)
24473 {
24474   return __builtin_aarch64_sqshlv16qi (__a, __b);
24475 }
24476 
24477 __extension__ extern __inline int16x8_t
24478 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s16(int16x8_t __a,int16x8_t __b)24479 vqshlq_s16 (int16x8_t __a, int16x8_t __b)
24480 {
24481   return __builtin_aarch64_sqshlv8hi (__a, __b);
24482 }
24483 
24484 __extension__ extern __inline int32x4_t
24485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s32(int32x4_t __a,int32x4_t __b)24486 vqshlq_s32 (int32x4_t __a, int32x4_t __b)
24487 {
24488   return __builtin_aarch64_sqshlv4si (__a, __b);
24489 }
24490 
24491 __extension__ extern __inline int64x2_t
24492 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s64(int64x2_t __a,int64x2_t __b)24493 vqshlq_s64 (int64x2_t __a, int64x2_t __b)
24494 {
24495   return __builtin_aarch64_sqshlv2di (__a, __b);
24496 }
24497 
24498 __extension__ extern __inline uint8x16_t
24499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u8(uint8x16_t __a,int8x16_t __b)24500 vqshlq_u8 (uint8x16_t __a, int8x16_t __b)
24501 {
24502   return __builtin_aarch64_uqshlv16qi_uus ( __a, __b);
24503 }
24504 
24505 __extension__ extern __inline uint16x8_t
24506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u16(uint16x8_t __a,int16x8_t __b)24507 vqshlq_u16 (uint16x8_t __a, int16x8_t __b)
24508 {
24509   return __builtin_aarch64_uqshlv8hi_uus ( __a, __b);
24510 }
24511 
24512 __extension__ extern __inline uint32x4_t
24513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u32(uint32x4_t __a,int32x4_t __b)24514 vqshlq_u32 (uint32x4_t __a, int32x4_t __b)
24515 {
24516   return __builtin_aarch64_uqshlv4si_uus ( __a, __b);
24517 }
24518 
24519 __extension__ extern __inline uint64x2_t
24520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u64(uint64x2_t __a,int64x2_t __b)24521 vqshlq_u64 (uint64x2_t __a, int64x2_t __b)
24522 {
24523   return __builtin_aarch64_uqshlv2di_uus ( __a, __b);
24524 }
24525 
24526 __extension__ extern __inline int8_t
24527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlb_s8(int8_t __a,int8_t __b)24528 vqshlb_s8 (int8_t __a, int8_t __b)
24529 {
24530   return __builtin_aarch64_sqshlqi (__a, __b);
24531 }
24532 
24533 __extension__ extern __inline int16_t
24534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlh_s16(int16_t __a,int16_t __b)24535 vqshlh_s16 (int16_t __a, int16_t __b)
24536 {
24537   return __builtin_aarch64_sqshlhi (__a, __b);
24538 }
24539 
24540 __extension__ extern __inline int32_t
24541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshls_s32(int32_t __a,int32_t __b)24542 vqshls_s32 (int32_t __a, int32_t __b)
24543 {
24544   return __builtin_aarch64_sqshlsi (__a, __b);
24545 }
24546 
24547 __extension__ extern __inline int64_t
24548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshld_s64(int64_t __a,int64_t __b)24549 vqshld_s64 (int64_t __a, int64_t __b)
24550 {
24551   return __builtin_aarch64_sqshldi (__a, __b);
24552 }
24553 
24554 __extension__ extern __inline uint8_t
24555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlb_u8(uint8_t __a,uint8_t __b)24556 vqshlb_u8 (uint8_t __a, uint8_t __b)
24557 {
24558   return __builtin_aarch64_uqshlqi_uus (__a, __b);
24559 }
24560 
24561 __extension__ extern __inline uint16_t
24562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlh_u16(uint16_t __a,uint16_t __b)24563 vqshlh_u16 (uint16_t __a, uint16_t __b)
24564 {
24565   return __builtin_aarch64_uqshlhi_uus (__a, __b);
24566 }
24567 
24568 __extension__ extern __inline uint32_t
24569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshls_u32(uint32_t __a,uint32_t __b)24570 vqshls_u32 (uint32_t __a, uint32_t __b)
24571 {
24572   return __builtin_aarch64_uqshlsi_uus (__a, __b);
24573 }
24574 
24575 __extension__ extern __inline uint64_t
24576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshld_u64(uint64_t __a,uint64_t __b)24577 vqshld_u64 (uint64_t __a, uint64_t __b)
24578 {
24579   return __builtin_aarch64_uqshldi_uus (__a, __b);
24580 }
24581 
24582 __extension__ extern __inline int8x8_t
24583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s8(int8x8_t __a,const int __b)24584 vqshl_n_s8 (int8x8_t __a, const int __b)
24585 {
24586   return (int8x8_t) __builtin_aarch64_sqshl_nv8qi (__a, __b);
24587 }
24588 
24589 __extension__ extern __inline int16x4_t
24590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s16(int16x4_t __a,const int __b)24591 vqshl_n_s16 (int16x4_t __a, const int __b)
24592 {
24593   return (int16x4_t) __builtin_aarch64_sqshl_nv4hi (__a, __b);
24594 }
24595 
24596 __extension__ extern __inline int32x2_t
24597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s32(int32x2_t __a,const int __b)24598 vqshl_n_s32 (int32x2_t __a, const int __b)
24599 {
24600   return (int32x2_t) __builtin_aarch64_sqshl_nv2si (__a, __b);
24601 }
24602 
24603 __extension__ extern __inline int64x1_t
24604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s64(int64x1_t __a,const int __b)24605 vqshl_n_s64 (int64x1_t __a, const int __b)
24606 {
24607   return (int64x1_t) {__builtin_aarch64_sqshl_ndi (__a[0], __b)};
24608 }
24609 
24610 __extension__ extern __inline uint8x8_t
24611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u8(uint8x8_t __a,const int __b)24612 vqshl_n_u8 (uint8x8_t __a, const int __b)
24613 {
24614   return __builtin_aarch64_uqshl_nv8qi_uus (__a, __b);
24615 }
24616 
24617 __extension__ extern __inline uint16x4_t
24618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u16(uint16x4_t __a,const int __b)24619 vqshl_n_u16 (uint16x4_t __a, const int __b)
24620 {
24621   return __builtin_aarch64_uqshl_nv4hi_uus (__a, __b);
24622 }
24623 
24624 __extension__ extern __inline uint32x2_t
24625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u32(uint32x2_t __a,const int __b)24626 vqshl_n_u32 (uint32x2_t __a, const int __b)
24627 {
24628   return __builtin_aarch64_uqshl_nv2si_uus (__a, __b);
24629 }
24630 
24631 __extension__ extern __inline uint64x1_t
24632 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u64(uint64x1_t __a,const int __b)24633 vqshl_n_u64 (uint64x1_t __a, const int __b)
24634 {
24635   return (uint64x1_t) {__builtin_aarch64_uqshl_ndi_uus (__a[0], __b)};
24636 }
24637 
24638 __extension__ extern __inline int8x16_t
24639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s8(int8x16_t __a,const int __b)24640 vqshlq_n_s8 (int8x16_t __a, const int __b)
24641 {
24642   return (int8x16_t) __builtin_aarch64_sqshl_nv16qi (__a, __b);
24643 }
24644 
24645 __extension__ extern __inline int16x8_t
24646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s16(int16x8_t __a,const int __b)24647 vqshlq_n_s16 (int16x8_t __a, const int __b)
24648 {
24649   return (int16x8_t) __builtin_aarch64_sqshl_nv8hi (__a, __b);
24650 }
24651 
24652 __extension__ extern __inline int32x4_t
24653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s32(int32x4_t __a,const int __b)24654 vqshlq_n_s32 (int32x4_t __a, const int __b)
24655 {
24656   return (int32x4_t) __builtin_aarch64_sqshl_nv4si (__a, __b);
24657 }
24658 
24659 __extension__ extern __inline int64x2_t
24660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s64(int64x2_t __a,const int __b)24661 vqshlq_n_s64 (int64x2_t __a, const int __b)
24662 {
24663   return (int64x2_t) __builtin_aarch64_sqshl_nv2di (__a, __b);
24664 }
24665 
24666 __extension__ extern __inline uint8x16_t
24667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u8(uint8x16_t __a,const int __b)24668 vqshlq_n_u8 (uint8x16_t __a, const int __b)
24669 {
24670   return __builtin_aarch64_uqshl_nv16qi_uus (__a, __b);
24671 }
24672 
24673 __extension__ extern __inline uint16x8_t
24674 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u16(uint16x8_t __a,const int __b)24675 vqshlq_n_u16 (uint16x8_t __a, const int __b)
24676 {
24677   return __builtin_aarch64_uqshl_nv8hi_uus (__a, __b);
24678 }
24679 
24680 __extension__ extern __inline uint32x4_t
24681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u32(uint32x4_t __a,const int __b)24682 vqshlq_n_u32 (uint32x4_t __a, const int __b)
24683 {
24684   return __builtin_aarch64_uqshl_nv4si_uus (__a, __b);
24685 }
24686 
24687 __extension__ extern __inline uint64x2_t
24688 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u64(uint64x2_t __a,const int __b)24689 vqshlq_n_u64 (uint64x2_t __a, const int __b)
24690 {
24691   return __builtin_aarch64_uqshl_nv2di_uus (__a, __b);
24692 }
24693 
24694 __extension__ extern __inline int8_t
24695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlb_n_s8(int8_t __a,const int __b)24696 vqshlb_n_s8 (int8_t __a, const int __b)
24697 {
24698   return (int8_t) __builtin_aarch64_sqshl_nqi (__a, __b);
24699 }
24700 
24701 __extension__ extern __inline int16_t
24702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlh_n_s16(int16_t __a,const int __b)24703 vqshlh_n_s16 (int16_t __a, const int __b)
24704 {
24705   return (int16_t) __builtin_aarch64_sqshl_nhi (__a, __b);
24706 }
24707 
24708 __extension__ extern __inline int32_t
24709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshls_n_s32(int32_t __a,const int __b)24710 vqshls_n_s32 (int32_t __a, const int __b)
24711 {
24712   return (int32_t) __builtin_aarch64_sqshl_nsi (__a, __b);
24713 }
24714 
24715 __extension__ extern __inline int64_t
24716 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshld_n_s64(int64_t __a,const int __b)24717 vqshld_n_s64 (int64_t __a, const int __b)
24718 {
24719   return __builtin_aarch64_sqshl_ndi (__a, __b);
24720 }
24721 
24722 __extension__ extern __inline uint8_t
24723 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlb_n_u8(uint8_t __a,const int __b)24724 vqshlb_n_u8 (uint8_t __a, const int __b)
24725 {
24726   return __builtin_aarch64_uqshl_nqi_uus (__a, __b);
24727 }
24728 
24729 __extension__ extern __inline uint16_t
24730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlh_n_u16(uint16_t __a,const int __b)24731 vqshlh_n_u16 (uint16_t __a, const int __b)
24732 {
24733   return __builtin_aarch64_uqshl_nhi_uus (__a, __b);
24734 }
24735 
24736 __extension__ extern __inline uint32_t
24737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshls_n_u32(uint32_t __a,const int __b)24738 vqshls_n_u32 (uint32_t __a, const int __b)
24739 {
24740   return __builtin_aarch64_uqshl_nsi_uus (__a, __b);
24741 }
24742 
24743 __extension__ extern __inline uint64_t
24744 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshld_n_u64(uint64_t __a,const int __b)24745 vqshld_n_u64 (uint64_t __a, const int __b)
24746 {
24747   return __builtin_aarch64_uqshl_ndi_uus (__a, __b);
24748 }
24749 
24750 /* vqshlu */
24751 
24752 __extension__ extern __inline uint8x8_t
24753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s8(int8x8_t __a,const int __b)24754 vqshlu_n_s8 (int8x8_t __a, const int __b)
24755 {
24756   return __builtin_aarch64_sqshlu_nv8qi_uss (__a, __b);
24757 }
24758 
24759 __extension__ extern __inline uint16x4_t
24760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s16(int16x4_t __a,const int __b)24761 vqshlu_n_s16 (int16x4_t __a, const int __b)
24762 {
24763   return __builtin_aarch64_sqshlu_nv4hi_uss (__a, __b);
24764 }
24765 
24766 __extension__ extern __inline uint32x2_t
24767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s32(int32x2_t __a,const int __b)24768 vqshlu_n_s32 (int32x2_t __a, const int __b)
24769 {
24770   return __builtin_aarch64_sqshlu_nv2si_uss (__a, __b);
24771 }
24772 
24773 __extension__ extern __inline uint64x1_t
24774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s64(int64x1_t __a,const int __b)24775 vqshlu_n_s64 (int64x1_t __a, const int __b)
24776 {
24777   return (uint64x1_t) {__builtin_aarch64_sqshlu_ndi_uss (__a[0], __b)};
24778 }
24779 
24780 __extension__ extern __inline uint8x16_t
24781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s8(int8x16_t __a,const int __b)24782 vqshluq_n_s8 (int8x16_t __a, const int __b)
24783 {
24784   return __builtin_aarch64_sqshlu_nv16qi_uss (__a, __b);
24785 }
24786 
24787 __extension__ extern __inline uint16x8_t
24788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s16(int16x8_t __a,const int __b)24789 vqshluq_n_s16 (int16x8_t __a, const int __b)
24790 {
24791   return __builtin_aarch64_sqshlu_nv8hi_uss (__a, __b);
24792 }
24793 
24794 __extension__ extern __inline uint32x4_t
24795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s32(int32x4_t __a,const int __b)24796 vqshluq_n_s32 (int32x4_t __a, const int __b)
24797 {
24798   return __builtin_aarch64_sqshlu_nv4si_uss (__a, __b);
24799 }
24800 
24801 __extension__ extern __inline uint64x2_t
24802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s64(int64x2_t __a,const int __b)24803 vqshluq_n_s64 (int64x2_t __a, const int __b)
24804 {
24805   return __builtin_aarch64_sqshlu_nv2di_uss (__a, __b);
24806 }
24807 
24808 __extension__ extern __inline int8_t
24809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlub_n_s8(int8_t __a,const int __b)24810 vqshlub_n_s8 (int8_t __a, const int __b)
24811 {
24812   return (int8_t) __builtin_aarch64_sqshlu_nqi_uss (__a, __b);
24813 }
24814 
24815 __extension__ extern __inline int16_t
24816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluh_n_s16(int16_t __a,const int __b)24817 vqshluh_n_s16 (int16_t __a, const int __b)
24818 {
24819   return (int16_t) __builtin_aarch64_sqshlu_nhi_uss (__a, __b);
24820 }
24821 
24822 __extension__ extern __inline int32_t
24823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlus_n_s32(int32_t __a,const int __b)24824 vqshlus_n_s32 (int32_t __a, const int __b)
24825 {
24826   return (int32_t) __builtin_aarch64_sqshlu_nsi_uss (__a, __b);
24827 }
24828 
24829 __extension__ extern __inline uint64_t
24830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlud_n_s64(int64_t __a,const int __b)24831 vqshlud_n_s64 (int64_t __a, const int __b)
24832 {
24833   return __builtin_aarch64_sqshlu_ndi_uss (__a, __b);
24834 }
24835 
24836 /* vqshrn */
24837 
24838 __extension__ extern __inline int8x8_t
24839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s16(int16x8_t __a,const int __b)24840 vqshrn_n_s16 (int16x8_t __a, const int __b)
24841 {
24842   return (int8x8_t) __builtin_aarch64_sqshrn_nv8hi (__a, __b);
24843 }
24844 
24845 __extension__ extern __inline int16x4_t
24846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s32(int32x4_t __a,const int __b)24847 vqshrn_n_s32 (int32x4_t __a, const int __b)
24848 {
24849   return (int16x4_t) __builtin_aarch64_sqshrn_nv4si (__a, __b);
24850 }
24851 
24852 __extension__ extern __inline int32x2_t
24853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s64(int64x2_t __a,const int __b)24854 vqshrn_n_s64 (int64x2_t __a, const int __b)
24855 {
24856   return (int32x2_t) __builtin_aarch64_sqshrn_nv2di (__a, __b);
24857 }
24858 
24859 __extension__ extern __inline uint8x8_t
24860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u16(uint16x8_t __a,const int __b)24861 vqshrn_n_u16 (uint16x8_t __a, const int __b)
24862 {
24863   return __builtin_aarch64_uqshrn_nv8hi_uus ( __a, __b);
24864 }
24865 
24866 __extension__ extern __inline uint16x4_t
24867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u32(uint32x4_t __a,const int __b)24868 vqshrn_n_u32 (uint32x4_t __a, const int __b)
24869 {
24870   return __builtin_aarch64_uqshrn_nv4si_uus ( __a, __b);
24871 }
24872 
24873 __extension__ extern __inline uint32x2_t
24874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u64(uint64x2_t __a,const int __b)24875 vqshrn_n_u64 (uint64x2_t __a, const int __b)
24876 {
24877   return __builtin_aarch64_uqshrn_nv2di_uus ( __a, __b);
24878 }
24879 
24880 __extension__ extern __inline int8_t
24881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrnh_n_s16(int16_t __a,const int __b)24882 vqshrnh_n_s16 (int16_t __a, const int __b)
24883 {
24884   return (int8_t) __builtin_aarch64_sqshrn_nhi (__a, __b);
24885 }
24886 
24887 __extension__ extern __inline int16_t
24888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrns_n_s32(int32_t __a,const int __b)24889 vqshrns_n_s32 (int32_t __a, const int __b)
24890 {
24891   return (int16_t) __builtin_aarch64_sqshrn_nsi (__a, __b);
24892 }
24893 
24894 __extension__ extern __inline int32_t
24895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrnd_n_s64(int64_t __a,const int __b)24896 vqshrnd_n_s64 (int64_t __a, const int __b)
24897 {
24898   return (int32_t) __builtin_aarch64_sqshrn_ndi (__a, __b);
24899 }
24900 
24901 __extension__ extern __inline uint8_t
24902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrnh_n_u16(uint16_t __a,const int __b)24903 vqshrnh_n_u16 (uint16_t __a, const int __b)
24904 {
24905   return __builtin_aarch64_uqshrn_nhi_uus (__a, __b);
24906 }
24907 
24908 __extension__ extern __inline uint16_t
24909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrns_n_u32(uint32_t __a,const int __b)24910 vqshrns_n_u32 (uint32_t __a, const int __b)
24911 {
24912   return __builtin_aarch64_uqshrn_nsi_uus (__a, __b);
24913 }
24914 
24915 __extension__ extern __inline uint32_t
24916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrnd_n_u64(uint64_t __a,const int __b)24917 vqshrnd_n_u64 (uint64_t __a, const int __b)
24918 {
24919   return __builtin_aarch64_uqshrn_ndi_uus (__a, __b);
24920 }
24921 
24922 /* vqshrun */
24923 
24924 __extension__ extern __inline uint8x8_t
24925 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s16(int16x8_t __a,const int __b)24926 vqshrun_n_s16 (int16x8_t __a, const int __b)
24927 {
24928   return (uint8x8_t) __builtin_aarch64_sqshrun_nv8hi (__a, __b);
24929 }
24930 
24931 __extension__ extern __inline uint16x4_t
24932 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s32(int32x4_t __a,const int __b)24933 vqshrun_n_s32 (int32x4_t __a, const int __b)
24934 {
24935   return (uint16x4_t) __builtin_aarch64_sqshrun_nv4si (__a, __b);
24936 }
24937 
24938 __extension__ extern __inline uint32x2_t
24939 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s64(int64x2_t __a,const int __b)24940 vqshrun_n_s64 (int64x2_t __a, const int __b)
24941 {
24942   return (uint32x2_t) __builtin_aarch64_sqshrun_nv2di (__a, __b);
24943 }
24944 
24945 __extension__ extern __inline int8_t
24946 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrunh_n_s16(int16_t __a,const int __b)24947 vqshrunh_n_s16 (int16_t __a, const int __b)
24948 {
24949   return (int8_t) __builtin_aarch64_sqshrun_nhi (__a, __b);
24950 }
24951 
24952 __extension__ extern __inline int16_t
24953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshruns_n_s32(int32_t __a,const int __b)24954 vqshruns_n_s32 (int32_t __a, const int __b)
24955 {
24956   return (int16_t) __builtin_aarch64_sqshrun_nsi (__a, __b);
24957 }
24958 
24959 __extension__ extern __inline int32_t
24960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrund_n_s64(int64_t __a,const int __b)24961 vqshrund_n_s64 (int64_t __a, const int __b)
24962 {
24963   return (int32_t) __builtin_aarch64_sqshrun_ndi (__a, __b);
24964 }
24965 
24966 /* vqsub */
24967 
24968 __extension__ extern __inline int8_t
24969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubb_s8(int8_t __a,int8_t __b)24970 vqsubb_s8 (int8_t __a, int8_t __b)
24971 {
24972   return (int8_t) __builtin_aarch64_sqsubqi (__a, __b);
24973 }
24974 
24975 __extension__ extern __inline int16_t
24976 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubh_s16(int16_t __a,int16_t __b)24977 vqsubh_s16 (int16_t __a, int16_t __b)
24978 {
24979   return (int16_t) __builtin_aarch64_sqsubhi (__a, __b);
24980 }
24981 
24982 __extension__ extern __inline int32_t
24983 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubs_s32(int32_t __a,int32_t __b)24984 vqsubs_s32 (int32_t __a, int32_t __b)
24985 {
24986   return (int32_t) __builtin_aarch64_sqsubsi (__a, __b);
24987 }
24988 
24989 __extension__ extern __inline int64_t
24990 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubd_s64(int64_t __a,int64_t __b)24991 vqsubd_s64 (int64_t __a, int64_t __b)
24992 {
24993   return __builtin_aarch64_sqsubdi (__a, __b);
24994 }
24995 
24996 __extension__ extern __inline uint8_t
24997 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubb_u8(uint8_t __a,uint8_t __b)24998 vqsubb_u8 (uint8_t __a, uint8_t __b)
24999 {
25000   return (uint8_t) __builtin_aarch64_uqsubqi_uuu (__a, __b);
25001 }
25002 
25003 __extension__ extern __inline uint16_t
25004 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubh_u16(uint16_t __a,uint16_t __b)25005 vqsubh_u16 (uint16_t __a, uint16_t __b)
25006 {
25007   return (uint16_t) __builtin_aarch64_uqsubhi_uuu (__a, __b);
25008 }
25009 
25010 __extension__ extern __inline uint32_t
25011 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubs_u32(uint32_t __a,uint32_t __b)25012 vqsubs_u32 (uint32_t __a, uint32_t __b)
25013 {
25014   return (uint32_t) __builtin_aarch64_uqsubsi_uuu (__a, __b);
25015 }
25016 
25017 __extension__ extern __inline uint64_t
25018 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubd_u64(uint64_t __a,uint64_t __b)25019 vqsubd_u64 (uint64_t __a, uint64_t __b)
25020 {
25021   return __builtin_aarch64_uqsubdi_uuu (__a, __b);
25022 }
25023 
25024 /* vqtbl2 */
25025 
25026 __extension__ extern __inline int8x8_t
25027 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2_s8(int8x16x2_t __tab,uint8x8_t __idx)25028 vqtbl2_s8 (int8x16x2_t __tab, uint8x8_t __idx)
25029 {
25030   __builtin_aarch64_simd_oi __o;
25031   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[0], 0);
25032   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[1], 1);
25033   return __builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
25034 }
25035 
25036 __extension__ extern __inline uint8x8_t
25037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2_u8(uint8x16x2_t __tab,uint8x8_t __idx)25038 vqtbl2_u8 (uint8x16x2_t __tab, uint8x8_t __idx)
25039 {
25040   __builtin_aarch64_simd_oi __o;
25041   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25042   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25043   return (uint8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
25044 }
25045 
25046 __extension__ extern __inline poly8x8_t
25047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2_p8(poly8x16x2_t __tab,uint8x8_t __idx)25048 vqtbl2_p8 (poly8x16x2_t __tab, uint8x8_t __idx)
25049 {
25050   __builtin_aarch64_simd_oi __o;
25051   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25052   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25053   return (poly8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
25054 }
25055 
25056 __extension__ extern __inline int8x16_t
25057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2q_s8(int8x16x2_t __tab,uint8x16_t __idx)25058 vqtbl2q_s8 (int8x16x2_t __tab, uint8x16_t __idx)
25059 {
25060   __builtin_aarch64_simd_oi __o;
25061   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25062   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25063   return __builtin_aarch64_tbl3v16qi (__o, (int8x16_t)__idx);
25064 }
25065 
25066 __extension__ extern __inline uint8x16_t
25067 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2q_u8(uint8x16x2_t __tab,uint8x16_t __idx)25068 vqtbl2q_u8 (uint8x16x2_t __tab, uint8x16_t __idx)
25069 {
25070   __builtin_aarch64_simd_oi __o;
25071   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25072   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25073   return (uint8x16_t)__builtin_aarch64_tbl3v16qi (__o, (int8x16_t)__idx);
25074 }
25075 
25076 __extension__ extern __inline poly8x16_t
25077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2q_p8(poly8x16x2_t __tab,uint8x16_t __idx)25078 vqtbl2q_p8 (poly8x16x2_t __tab, uint8x16_t __idx)
25079 {
25080   __builtin_aarch64_simd_oi __o;
25081   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25082   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25083   return (poly8x16_t)__builtin_aarch64_tbl3v16qi (__o, (int8x16_t)__idx);
25084 }
25085 
25086 /* vqtbl3 */
25087 
25088 __extension__ extern __inline int8x8_t
25089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3_s8(int8x16x3_t __tab,uint8x8_t __idx)25090 vqtbl3_s8 (int8x16x3_t __tab, uint8x8_t __idx)
25091 {
25092   __builtin_aarch64_simd_ci __o;
25093   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25094   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25095   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25096   return __builtin_aarch64_qtbl3v8qi (__o, (int8x8_t)__idx);
25097 }
25098 
25099 __extension__ extern __inline uint8x8_t
25100 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3_u8(uint8x16x3_t __tab,uint8x8_t __idx)25101 vqtbl3_u8 (uint8x16x3_t __tab, uint8x8_t __idx)
25102 {
25103   __builtin_aarch64_simd_ci __o;
25104   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25105   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25106   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25107   return (uint8x8_t)__builtin_aarch64_qtbl3v8qi (__o, (int8x8_t)__idx);
25108 }
25109 
25110 __extension__ extern __inline poly8x8_t
25111 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3_p8(poly8x16x3_t __tab,uint8x8_t __idx)25112 vqtbl3_p8 (poly8x16x3_t __tab, uint8x8_t __idx)
25113 {
25114   __builtin_aarch64_simd_ci __o;
25115   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25116   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25117   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25118   return (poly8x8_t)__builtin_aarch64_qtbl3v8qi (__o, (int8x8_t)__idx);
25119 }
25120 
25121 __extension__ extern __inline int8x16_t
25122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3q_s8(int8x16x3_t __tab,uint8x16_t __idx)25123 vqtbl3q_s8 (int8x16x3_t __tab, uint8x16_t __idx)
25124 {
25125   __builtin_aarch64_simd_ci __o;
25126   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25127   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25128   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25129   return __builtin_aarch64_qtbl3v16qi (__o, (int8x16_t)__idx);
25130 }
25131 
25132 __extension__ extern __inline uint8x16_t
25133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3q_u8(uint8x16x3_t __tab,uint8x16_t __idx)25134 vqtbl3q_u8 (uint8x16x3_t __tab, uint8x16_t __idx)
25135 {
25136   __builtin_aarch64_simd_ci __o;
25137   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25138   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25139   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25140   return (uint8x16_t)__builtin_aarch64_qtbl3v16qi (__o, (int8x16_t)__idx);
25141 }
25142 
25143 __extension__ extern __inline poly8x16_t
25144 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3q_p8(poly8x16x3_t __tab,uint8x16_t __idx)25145 vqtbl3q_p8 (poly8x16x3_t __tab, uint8x16_t __idx)
25146 {
25147   __builtin_aarch64_simd_ci __o;
25148   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25149   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25150   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25151   return (poly8x16_t)__builtin_aarch64_qtbl3v16qi (__o, (int8x16_t)__idx);
25152 }
25153 
25154 /* vqtbl4 */
25155 
25156 __extension__ extern __inline int8x8_t
25157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4_s8(int8x16x4_t __tab,uint8x8_t __idx)25158 vqtbl4_s8 (int8x16x4_t __tab, uint8x8_t __idx)
25159 {
25160   __builtin_aarch64_simd_xi __o;
25161   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25162   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25163   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25164   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25165   return __builtin_aarch64_qtbl4v8qi (__o, (int8x8_t)__idx);
25166 }
25167 
25168 __extension__ extern __inline uint8x8_t
25169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4_u8(uint8x16x4_t __tab,uint8x8_t __idx)25170 vqtbl4_u8 (uint8x16x4_t __tab, uint8x8_t __idx)
25171 {
25172   __builtin_aarch64_simd_xi __o;
25173   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25174   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25175   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25176   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25177   return (uint8x8_t)__builtin_aarch64_qtbl4v8qi (__o, (int8x8_t)__idx);
25178 }
25179 
25180 __extension__ extern __inline poly8x8_t
25181 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4_p8(poly8x16x4_t __tab,uint8x8_t __idx)25182 vqtbl4_p8 (poly8x16x4_t __tab, uint8x8_t __idx)
25183 {
25184   __builtin_aarch64_simd_xi __o;
25185   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25186   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25187   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25188   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25189   return (poly8x8_t)__builtin_aarch64_qtbl4v8qi (__o, (int8x8_t)__idx);
25190 }
25191 
25192 __extension__ extern __inline int8x16_t
25193 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4q_s8(int8x16x4_t __tab,uint8x16_t __idx)25194 vqtbl4q_s8 (int8x16x4_t __tab, uint8x16_t __idx)
25195 {
25196   __builtin_aarch64_simd_xi __o;
25197   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25198   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25199   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25200   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25201   return __builtin_aarch64_qtbl4v16qi (__o, (int8x16_t)__idx);
25202 }
25203 
25204 __extension__ extern __inline uint8x16_t
25205 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4q_u8(uint8x16x4_t __tab,uint8x16_t __idx)25206 vqtbl4q_u8 (uint8x16x4_t __tab, uint8x16_t __idx)
25207 {
25208   __builtin_aarch64_simd_xi __o;
25209   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25210   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25211   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25212   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25213   return (uint8x16_t)__builtin_aarch64_qtbl4v16qi (__o, (int8x16_t)__idx);
25214 }
25215 
25216 __extension__ extern __inline poly8x16_t
25217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4q_p8(poly8x16x4_t __tab,uint8x16_t __idx)25218 vqtbl4q_p8 (poly8x16x4_t __tab, uint8x16_t __idx)
25219 {
25220   __builtin_aarch64_simd_xi __o;
25221   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25222   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25223   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25224   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25225   return (poly8x16_t)__builtin_aarch64_qtbl4v16qi (__o, (int8x16_t)__idx);
25226 }
25227 
25228 
25229 /* vqtbx2 */
25230 __extension__ extern __inline int8x8_t
25231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2_s8(int8x8_t __r,int8x16x2_t __tab,uint8x8_t __idx)25232 vqtbx2_s8 (int8x8_t __r, int8x16x2_t __tab, uint8x8_t __idx)
25233 {
25234   __builtin_aarch64_simd_oi __o;
25235   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[0], 0);
25236   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[1], 1);
25237   return __builtin_aarch64_tbx4v8qi (__r, __o, (int8x8_t)__idx);
25238 }
25239 
25240 __extension__ extern __inline uint8x8_t
25241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2_u8(uint8x8_t __r,uint8x16x2_t __tab,uint8x8_t __idx)25242 vqtbx2_u8 (uint8x8_t __r, uint8x16x2_t __tab, uint8x8_t __idx)
25243 {
25244   __builtin_aarch64_simd_oi __o;
25245   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25246   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25247   return (uint8x8_t)__builtin_aarch64_tbx4v8qi ((int8x8_t)__r, __o,
25248 						(int8x8_t)__idx);
25249 }
25250 
25251 __extension__ extern __inline poly8x8_t
25252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2_p8(poly8x8_t __r,poly8x16x2_t __tab,uint8x8_t __idx)25253 vqtbx2_p8 (poly8x8_t __r, poly8x16x2_t __tab, uint8x8_t __idx)
25254 {
25255   __builtin_aarch64_simd_oi __o;
25256   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25257   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25258   return (poly8x8_t)__builtin_aarch64_tbx4v8qi ((int8x8_t)__r, __o,
25259 						(int8x8_t)__idx);
25260 }
25261 
25262 __extension__ extern __inline int8x16_t
25263 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2q_s8(int8x16_t __r,int8x16x2_t __tab,uint8x16_t __idx)25264 vqtbx2q_s8 (int8x16_t __r, int8x16x2_t __tab, uint8x16_t __idx)
25265 {
25266   __builtin_aarch64_simd_oi __o;
25267   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[0], 0);
25268   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[1], 1);
25269   return __builtin_aarch64_tbx4v16qi (__r, __o, (int8x16_t)__idx);
25270 }
25271 
25272 __extension__ extern __inline uint8x16_t
25273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2q_u8(uint8x16_t __r,uint8x16x2_t __tab,uint8x16_t __idx)25274 vqtbx2q_u8 (uint8x16_t __r, uint8x16x2_t __tab, uint8x16_t __idx)
25275 {
25276   __builtin_aarch64_simd_oi __o;
25277   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25278   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25279   return (uint8x16_t)__builtin_aarch64_tbx4v16qi ((int8x16_t)__r, __o,
25280 						  (int8x16_t)__idx);
25281 }
25282 
25283 __extension__ extern __inline poly8x16_t
25284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2q_p8(poly8x16_t __r,poly8x16x2_t __tab,uint8x16_t __idx)25285 vqtbx2q_p8 (poly8x16_t __r, poly8x16x2_t __tab, uint8x16_t __idx)
25286 {
25287   __builtin_aarch64_simd_oi __o;
25288   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25289   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25290   return (poly8x16_t)__builtin_aarch64_tbx4v16qi ((int8x16_t)__r, __o,
25291 						  (int8x16_t)__idx);
25292 }
25293 
25294 /* vqtbx3 */
25295 __extension__ extern __inline int8x8_t
25296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3_s8(int8x8_t __r,int8x16x3_t __tab,uint8x8_t __idx)25297 vqtbx3_s8 (int8x8_t __r, int8x16x3_t __tab, uint8x8_t __idx)
25298 {
25299   __builtin_aarch64_simd_ci __o;
25300   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[0], 0);
25301   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[1], 1);
25302   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[2], 2);
25303   return __builtin_aarch64_qtbx3v8qi (__r, __o, (int8x8_t)__idx);
25304 }
25305 
25306 __extension__ extern __inline uint8x8_t
25307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3_u8(uint8x8_t __r,uint8x16x3_t __tab,uint8x8_t __idx)25308 vqtbx3_u8 (uint8x8_t __r, uint8x16x3_t __tab, uint8x8_t __idx)
25309 {
25310   __builtin_aarch64_simd_ci __o;
25311   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25312   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25313   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25314   return (uint8x8_t)__builtin_aarch64_qtbx3v8qi ((int8x8_t)__r, __o,
25315 						 (int8x8_t)__idx);
25316 }
25317 
25318 __extension__ extern __inline poly8x8_t
25319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3_p8(poly8x8_t __r,poly8x16x3_t __tab,uint8x8_t __idx)25320 vqtbx3_p8 (poly8x8_t __r, poly8x16x3_t __tab, uint8x8_t __idx)
25321 {
25322   __builtin_aarch64_simd_ci __o;
25323   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25324   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25325   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25326   return (poly8x8_t)__builtin_aarch64_qtbx3v8qi ((int8x8_t)__r, __o,
25327 						 (int8x8_t)__idx);
25328 }
25329 
25330 __extension__ extern __inline int8x16_t
25331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3q_s8(int8x16_t __r,int8x16x3_t __tab,uint8x16_t __idx)25332 vqtbx3q_s8 (int8x16_t __r, int8x16x3_t __tab, uint8x16_t __idx)
25333 {
25334   __builtin_aarch64_simd_ci __o;
25335   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[0], 0);
25336   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[1], 1);
25337   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[2], 2);
25338   return __builtin_aarch64_qtbx3v16qi (__r, __o, (int8x16_t)__idx);
25339 }
25340 
25341 __extension__ extern __inline uint8x16_t
25342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3q_u8(uint8x16_t __r,uint8x16x3_t __tab,uint8x16_t __idx)25343 vqtbx3q_u8 (uint8x16_t __r, uint8x16x3_t __tab, uint8x16_t __idx)
25344 {
25345   __builtin_aarch64_simd_ci __o;
25346   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25347   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25348   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25349   return (uint8x16_t)__builtin_aarch64_qtbx3v16qi ((int8x16_t)__r, __o,
25350 						   (int8x16_t)__idx);
25351 }
25352 
25353 __extension__ extern __inline poly8x16_t
25354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3q_p8(poly8x16_t __r,poly8x16x3_t __tab,uint8x16_t __idx)25355 vqtbx3q_p8 (poly8x16_t __r, poly8x16x3_t __tab, uint8x16_t __idx)
25356 {
25357   __builtin_aarch64_simd_ci __o;
25358   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
25359   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
25360   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
25361   return (poly8x16_t)__builtin_aarch64_qtbx3v16qi ((int8x16_t)__r, __o,
25362 						   (int8x16_t)__idx);
25363 }
25364 
25365 /* vqtbx4 */
25366 
25367 __extension__ extern __inline int8x8_t
25368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4_s8(int8x8_t __r,int8x16x4_t __tab,uint8x8_t __idx)25369 vqtbx4_s8 (int8x8_t __r, int8x16x4_t __tab, uint8x8_t __idx)
25370 {
25371   __builtin_aarch64_simd_xi __o;
25372   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[0], 0);
25373   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[1], 1);
25374   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[2], 2);
25375   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[3], 3);
25376   return __builtin_aarch64_qtbx4v8qi (__r, __o, (int8x8_t)__idx);
25377 }
25378 
25379 __extension__ extern __inline uint8x8_t
25380 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4_u8(uint8x8_t __r,uint8x16x4_t __tab,uint8x8_t __idx)25381 vqtbx4_u8 (uint8x8_t __r, uint8x16x4_t __tab, uint8x8_t __idx)
25382 {
25383   __builtin_aarch64_simd_xi __o;
25384   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25385   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25386   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25387   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25388   return (uint8x8_t)__builtin_aarch64_qtbx4v8qi ((int8x8_t)__r, __o,
25389 						 (int8x8_t)__idx);
25390 }
25391 
25392 __extension__ extern __inline poly8x8_t
25393 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4_p8(poly8x8_t __r,poly8x16x4_t __tab,uint8x8_t __idx)25394 vqtbx4_p8 (poly8x8_t __r, poly8x16x4_t __tab, uint8x8_t __idx)
25395 {
25396   __builtin_aarch64_simd_xi __o;
25397   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25398   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25399   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25400   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25401   return (poly8x8_t)__builtin_aarch64_qtbx4v8qi ((int8x8_t)__r, __o,
25402 						 (int8x8_t)__idx);
25403 }
25404 
25405 __extension__ extern __inline int8x16_t
25406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4q_s8(int8x16_t __r,int8x16x4_t __tab,uint8x16_t __idx)25407 vqtbx4q_s8 (int8x16_t __r, int8x16x4_t __tab, uint8x16_t __idx)
25408 {
25409   __builtin_aarch64_simd_xi __o;
25410   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[0], 0);
25411   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[1], 1);
25412   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[2], 2);
25413   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[3], 3);
25414   return __builtin_aarch64_qtbx4v16qi (__r, __o, (int8x16_t)__idx);
25415 }
25416 
25417 __extension__ extern __inline uint8x16_t
25418 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4q_u8(uint8x16_t __r,uint8x16x4_t __tab,uint8x16_t __idx)25419 vqtbx4q_u8 (uint8x16_t __r, uint8x16x4_t __tab, uint8x16_t __idx)
25420 {
25421   __builtin_aarch64_simd_xi __o;
25422   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25423   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25424   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25425   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25426   return (uint8x16_t)__builtin_aarch64_qtbx4v16qi ((int8x16_t)__r, __o,
25427 						   (int8x16_t)__idx);
25428 }
25429 
25430 __extension__ extern __inline poly8x16_t
25431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4q_p8(poly8x16_t __r,poly8x16x4_t __tab,uint8x16_t __idx)25432 vqtbx4q_p8 (poly8x16_t __r, poly8x16x4_t __tab, uint8x16_t __idx)
25433 {
25434   __builtin_aarch64_simd_xi __o;
25435   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
25436   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
25437   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
25438   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
25439   return (poly8x16_t)__builtin_aarch64_qtbx4v16qi ((int8x16_t)__r, __o,
25440 						   (int8x16_t)__idx);
25441 }
25442 
25443 /* vrbit  */
25444 
25445 __extension__ extern __inline poly8x8_t
25446 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbit_p8(poly8x8_t __a)25447 vrbit_p8 (poly8x8_t __a)
25448 {
25449   return (poly8x8_t) __builtin_aarch64_rbitv8qi ((int8x8_t) __a);
25450 }
25451 
25452 __extension__ extern __inline int8x8_t
25453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbit_s8(int8x8_t __a)25454 vrbit_s8 (int8x8_t __a)
25455 {
25456   return __builtin_aarch64_rbitv8qi (__a);
25457 }
25458 
25459 __extension__ extern __inline uint8x8_t
25460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbit_u8(uint8x8_t __a)25461 vrbit_u8 (uint8x8_t __a)
25462 {
25463   return (uint8x8_t) __builtin_aarch64_rbitv8qi ((int8x8_t) __a);
25464 }
25465 
25466 __extension__ extern __inline poly8x16_t
25467 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbitq_p8(poly8x16_t __a)25468 vrbitq_p8 (poly8x16_t __a)
25469 {
25470   return (poly8x16_t) __builtin_aarch64_rbitv16qi ((int8x16_t)__a);
25471 }
25472 
25473 __extension__ extern __inline int8x16_t
25474 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbitq_s8(int8x16_t __a)25475 vrbitq_s8 (int8x16_t __a)
25476 {
25477   return __builtin_aarch64_rbitv16qi (__a);
25478 }
25479 
25480 __extension__ extern __inline uint8x16_t
25481 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbitq_u8(uint8x16_t __a)25482 vrbitq_u8 (uint8x16_t __a)
25483 {
25484   return (uint8x16_t) __builtin_aarch64_rbitv16qi ((int8x16_t) __a);
25485 }
25486 
25487 /* vrecpe  */
25488 
25489 __extension__ extern __inline uint32x2_t
25490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_u32(uint32x2_t __a)25491 vrecpe_u32 (uint32x2_t __a)
25492 {
25493   return (uint32x2_t) __builtin_aarch64_urecpev2si ((int32x2_t) __a);
25494 }
25495 
25496 __extension__ extern __inline uint32x4_t
25497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_u32(uint32x4_t __a)25498 vrecpeq_u32 (uint32x4_t __a)
25499 {
25500   return (uint32x4_t) __builtin_aarch64_urecpev4si ((int32x4_t) __a);
25501 }
25502 
25503 __extension__ extern __inline float32_t
25504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpes_f32(float32_t __a)25505 vrecpes_f32 (float32_t __a)
25506 {
25507   return __builtin_aarch64_frecpesf (__a);
25508 }
25509 
25510 __extension__ extern __inline float64_t
25511 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecped_f64(float64_t __a)25512 vrecped_f64 (float64_t __a)
25513 {
25514   return __builtin_aarch64_frecpedf (__a);
25515 }
25516 
25517 __extension__ extern __inline float32x2_t
25518 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_f32(float32x2_t __a)25519 vrecpe_f32 (float32x2_t __a)
25520 {
25521   return __builtin_aarch64_frecpev2sf (__a);
25522 }
25523 
25524 __extension__ extern __inline float64x1_t
25525 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_f64(float64x1_t __a)25526 vrecpe_f64 (float64x1_t __a)
25527 {
25528   return (float64x1_t) { vrecped_f64 (vget_lane_f64 (__a, 0)) };
25529 }
25530 
25531 __extension__ extern __inline float32x4_t
25532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_f32(float32x4_t __a)25533 vrecpeq_f32 (float32x4_t __a)
25534 {
25535   return __builtin_aarch64_frecpev4sf (__a);
25536 }
25537 
25538 __extension__ extern __inline float64x2_t
25539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_f64(float64x2_t __a)25540 vrecpeq_f64 (float64x2_t __a)
25541 {
25542   return __builtin_aarch64_frecpev2df (__a);
25543 }
25544 
25545 /* vrecps  */
25546 
25547 __extension__ extern __inline float32_t
25548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpss_f32(float32_t __a,float32_t __b)25549 vrecpss_f32 (float32_t __a, float32_t __b)
25550 {
25551   return __builtin_aarch64_frecpssf (__a, __b);
25552 }
25553 
25554 __extension__ extern __inline float64_t
25555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsd_f64(float64_t __a,float64_t __b)25556 vrecpsd_f64 (float64_t __a, float64_t __b)
25557 {
25558   return __builtin_aarch64_frecpsdf (__a, __b);
25559 }
25560 
25561 __extension__ extern __inline float32x2_t
25562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecps_f32(float32x2_t __a,float32x2_t __b)25563 vrecps_f32 (float32x2_t __a, float32x2_t __b)
25564 {
25565   return __builtin_aarch64_frecpsv2sf (__a, __b);
25566 }
25567 
25568 __extension__ extern __inline float64x1_t
25569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecps_f64(float64x1_t __a,float64x1_t __b)25570 vrecps_f64 (float64x1_t __a, float64x1_t __b)
25571 {
25572   return (float64x1_t) { vrecpsd_f64 (vget_lane_f64 (__a, 0),
25573 				      vget_lane_f64 (__b, 0)) };
25574 }
25575 
25576 __extension__ extern __inline float32x4_t
25577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsq_f32(float32x4_t __a,float32x4_t __b)25578 vrecpsq_f32 (float32x4_t __a, float32x4_t __b)
25579 {
25580   return __builtin_aarch64_frecpsv4sf (__a, __b);
25581 }
25582 
25583 __extension__ extern __inline float64x2_t
25584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsq_f64(float64x2_t __a,float64x2_t __b)25585 vrecpsq_f64 (float64x2_t __a, float64x2_t __b)
25586 {
25587   return __builtin_aarch64_frecpsv2df (__a, __b);
25588 }
25589 
25590 /* vrecpx  */
25591 
25592 __extension__ extern __inline float32_t
25593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpxs_f32(float32_t __a)25594 vrecpxs_f32 (float32_t __a)
25595 {
25596   return __builtin_aarch64_frecpxsf (__a);
25597 }
25598 
25599 __extension__ extern __inline float64_t
25600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpxd_f64(float64_t __a)25601 vrecpxd_f64 (float64_t __a)
25602 {
25603   return __builtin_aarch64_frecpxdf (__a);
25604 }
25605 
25606 
25607 /* vrev  */
25608 
25609 __extension__ extern __inline poly8x8_t
25610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_p8(poly8x8_t __a)25611 vrev16_p8 (poly8x8_t __a)
25612 {
25613   return __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
25614 }
25615 
25616 __extension__ extern __inline int8x8_t
25617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_s8(int8x8_t __a)25618 vrev16_s8 (int8x8_t __a)
25619 {
25620   return __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
25621 }
25622 
25623 __extension__ extern __inline uint8x8_t
25624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_u8(uint8x8_t __a)25625 vrev16_u8 (uint8x8_t __a)
25626 {
25627   return __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
25628 }
25629 
25630 __extension__ extern __inline poly8x16_t
25631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_p8(poly8x16_t __a)25632 vrev16q_p8 (poly8x16_t __a)
25633 {
25634   return __builtin_shuffle (__a,
25635       (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
25636 }
25637 
25638 __extension__ extern __inline int8x16_t
25639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_s8(int8x16_t __a)25640 vrev16q_s8 (int8x16_t __a)
25641 {
25642   return __builtin_shuffle (__a,
25643       (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
25644 }
25645 
25646 __extension__ extern __inline uint8x16_t
25647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_u8(uint8x16_t __a)25648 vrev16q_u8 (uint8x16_t __a)
25649 {
25650   return __builtin_shuffle (__a,
25651       (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
25652 }
25653 
25654 __extension__ extern __inline poly8x8_t
25655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_p8(poly8x8_t __a)25656 vrev32_p8 (poly8x8_t __a)
25657 {
25658   return __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25659 }
25660 
25661 __extension__ extern __inline poly16x4_t
25662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_p16(poly16x4_t __a)25663 vrev32_p16 (poly16x4_t __a)
25664 {
25665   return __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
25666 }
25667 
25668 __extension__ extern __inline int8x8_t
25669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_s8(int8x8_t __a)25670 vrev32_s8 (int8x8_t __a)
25671 {
25672   return __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25673 }
25674 
25675 __extension__ extern __inline int16x4_t
25676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_s16(int16x4_t __a)25677 vrev32_s16 (int16x4_t __a)
25678 {
25679   return __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
25680 }
25681 
25682 __extension__ extern __inline uint8x8_t
25683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_u8(uint8x8_t __a)25684 vrev32_u8 (uint8x8_t __a)
25685 {
25686   return __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25687 }
25688 
25689 __extension__ extern __inline uint16x4_t
25690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_u16(uint16x4_t __a)25691 vrev32_u16 (uint16x4_t __a)
25692 {
25693   return __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
25694 }
25695 
25696 __extension__ extern __inline poly8x16_t
25697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_p8(poly8x16_t __a)25698 vrev32q_p8 (poly8x16_t __a)
25699 {
25700   return __builtin_shuffle (__a,
25701       (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
25702 }
25703 
25704 __extension__ extern __inline poly16x8_t
25705 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_p16(poly16x8_t __a)25706 vrev32q_p16 (poly16x8_t __a)
25707 {
25708   return __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
25709 }
25710 
25711 __extension__ extern __inline int8x16_t
25712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_s8(int8x16_t __a)25713 vrev32q_s8 (int8x16_t __a)
25714 {
25715   return __builtin_shuffle (__a,
25716       (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
25717 }
25718 
25719 __extension__ extern __inline int16x8_t
25720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_s16(int16x8_t __a)25721 vrev32q_s16 (int16x8_t __a)
25722 {
25723   return __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
25724 }
25725 
25726 __extension__ extern __inline uint8x16_t
25727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_u8(uint8x16_t __a)25728 vrev32q_u8 (uint8x16_t __a)
25729 {
25730   return __builtin_shuffle (__a,
25731       (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
25732 }
25733 
25734 __extension__ extern __inline uint16x8_t
25735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_u16(uint16x8_t __a)25736 vrev32q_u16 (uint16x8_t __a)
25737 {
25738   return __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
25739 }
25740 
25741 __extension__ extern __inline float16x4_t
25742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_f16(float16x4_t __a)25743 vrev64_f16 (float16x4_t __a)
25744 {
25745   return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
25746 }
25747 
25748 __extension__ extern __inline float32x2_t
25749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_f32(float32x2_t __a)25750 vrev64_f32 (float32x2_t __a)
25751 {
25752   return __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
25753 }
25754 
25755 __extension__ extern __inline poly8x8_t
25756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_p8(poly8x8_t __a)25757 vrev64_p8 (poly8x8_t __a)
25758 {
25759   return __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
25760 }
25761 
25762 __extension__ extern __inline poly16x4_t
25763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_p16(poly16x4_t __a)25764 vrev64_p16 (poly16x4_t __a)
25765 {
25766   return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
25767 }
25768 
25769 __extension__ extern __inline int8x8_t
25770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s8(int8x8_t __a)25771 vrev64_s8 (int8x8_t __a)
25772 {
25773   return __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
25774 }
25775 
25776 __extension__ extern __inline int16x4_t
25777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s16(int16x4_t __a)25778 vrev64_s16 (int16x4_t __a)
25779 {
25780   return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
25781 }
25782 
25783 __extension__ extern __inline int32x2_t
25784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s32(int32x2_t __a)25785 vrev64_s32 (int32x2_t __a)
25786 {
25787   return __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
25788 }
25789 
25790 __extension__ extern __inline uint8x8_t
25791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u8(uint8x8_t __a)25792 vrev64_u8 (uint8x8_t __a)
25793 {
25794   return __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
25795 }
25796 
25797 __extension__ extern __inline uint16x4_t
25798 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u16(uint16x4_t __a)25799 vrev64_u16 (uint16x4_t __a)
25800 {
25801   return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
25802 }
25803 
25804 __extension__ extern __inline uint32x2_t
25805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u32(uint32x2_t __a)25806 vrev64_u32 (uint32x2_t __a)
25807 {
25808   return __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
25809 }
25810 
25811 __extension__ extern __inline float16x8_t
25812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_f16(float16x8_t __a)25813 vrev64q_f16 (float16x8_t __a)
25814 {
25815   return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25816 }
25817 
25818 __extension__ extern __inline float32x4_t
25819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_f32(float32x4_t __a)25820 vrev64q_f32 (float32x4_t __a)
25821 {
25822   return __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
25823 }
25824 
25825 __extension__ extern __inline poly8x16_t
25826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_p8(poly8x16_t __a)25827 vrev64q_p8 (poly8x16_t __a)
25828 {
25829   return __builtin_shuffle (__a,
25830       (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
25831 }
25832 
25833 __extension__ extern __inline poly16x8_t
25834 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_p16(poly16x8_t __a)25835 vrev64q_p16 (poly16x8_t __a)
25836 {
25837   return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25838 }
25839 
25840 __extension__ extern __inline int8x16_t
25841 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s8(int8x16_t __a)25842 vrev64q_s8 (int8x16_t __a)
25843 {
25844   return __builtin_shuffle (__a,
25845       (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
25846 }
25847 
25848 __extension__ extern __inline int16x8_t
25849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s16(int16x8_t __a)25850 vrev64q_s16 (int16x8_t __a)
25851 {
25852   return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25853 }
25854 
25855 __extension__ extern __inline int32x4_t
25856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s32(int32x4_t __a)25857 vrev64q_s32 (int32x4_t __a)
25858 {
25859   return __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
25860 }
25861 
25862 __extension__ extern __inline uint8x16_t
25863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u8(uint8x16_t __a)25864 vrev64q_u8 (uint8x16_t __a)
25865 {
25866   return __builtin_shuffle (__a,
25867       (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
25868 }
25869 
25870 __extension__ extern __inline uint16x8_t
25871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u16(uint16x8_t __a)25872 vrev64q_u16 (uint16x8_t __a)
25873 {
25874   return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
25875 }
25876 
25877 __extension__ extern __inline uint32x4_t
25878 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u32(uint32x4_t __a)25879 vrev64q_u32 (uint32x4_t __a)
25880 {
25881   return __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
25882 }
25883 
25884 /* vrnd  */
25885 
25886 __extension__ extern __inline float32x2_t
25887 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd_f32(float32x2_t __a)25888 vrnd_f32 (float32x2_t __a)
25889 {
25890   return __builtin_aarch64_btruncv2sf (__a);
25891 }
25892 
25893 __extension__ extern __inline float64x1_t
25894 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd_f64(float64x1_t __a)25895 vrnd_f64 (float64x1_t __a)
25896 {
25897   return vset_lane_f64 (__builtin_trunc (vget_lane_f64 (__a, 0)), __a, 0);
25898 }
25899 
25900 __extension__ extern __inline float32x4_t
25901 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndq_f32(float32x4_t __a)25902 vrndq_f32 (float32x4_t __a)
25903 {
25904   return __builtin_aarch64_btruncv4sf (__a);
25905 }
25906 
25907 __extension__ extern __inline float64x2_t
25908 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndq_f64(float64x2_t __a)25909 vrndq_f64 (float64x2_t __a)
25910 {
25911   return __builtin_aarch64_btruncv2df (__a);
25912 }
25913 
25914 /* vrnda  */
25915 
25916 __extension__ extern __inline float32x2_t
25917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnda_f32(float32x2_t __a)25918 vrnda_f32 (float32x2_t __a)
25919 {
25920   return __builtin_aarch64_roundv2sf (__a);
25921 }
25922 
25923 __extension__ extern __inline float64x1_t
25924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnda_f64(float64x1_t __a)25925 vrnda_f64 (float64x1_t __a)
25926 {
25927   return vset_lane_f64 (__builtin_round (vget_lane_f64 (__a, 0)), __a, 0);
25928 }
25929 
25930 __extension__ extern __inline float32x4_t
25931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndaq_f32(float32x4_t __a)25932 vrndaq_f32 (float32x4_t __a)
25933 {
25934   return __builtin_aarch64_roundv4sf (__a);
25935 }
25936 
25937 __extension__ extern __inline float64x2_t
25938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndaq_f64(float64x2_t __a)25939 vrndaq_f64 (float64x2_t __a)
25940 {
25941   return __builtin_aarch64_roundv2df (__a);
25942 }
25943 
25944 /* vrndi  */
25945 
25946 __extension__ extern __inline float32x2_t
25947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndi_f32(float32x2_t __a)25948 vrndi_f32 (float32x2_t __a)
25949 {
25950   return __builtin_aarch64_nearbyintv2sf (__a);
25951 }
25952 
25953 __extension__ extern __inline float64x1_t
25954 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndi_f64(float64x1_t __a)25955 vrndi_f64 (float64x1_t __a)
25956 {
25957   return vset_lane_f64 (__builtin_nearbyint (vget_lane_f64 (__a, 0)), __a, 0);
25958 }
25959 
25960 __extension__ extern __inline float32x4_t
25961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndiq_f32(float32x4_t __a)25962 vrndiq_f32 (float32x4_t __a)
25963 {
25964   return __builtin_aarch64_nearbyintv4sf (__a);
25965 }
25966 
25967 __extension__ extern __inline float64x2_t
25968 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndiq_f64(float64x2_t __a)25969 vrndiq_f64 (float64x2_t __a)
25970 {
25971   return __builtin_aarch64_nearbyintv2df (__a);
25972 }
25973 
25974 /* vrndm  */
25975 
25976 __extension__ extern __inline float32x2_t
25977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndm_f32(float32x2_t __a)25978 vrndm_f32 (float32x2_t __a)
25979 {
25980   return __builtin_aarch64_floorv2sf (__a);
25981 }
25982 
25983 __extension__ extern __inline float64x1_t
25984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndm_f64(float64x1_t __a)25985 vrndm_f64 (float64x1_t __a)
25986 {
25987   return vset_lane_f64 (__builtin_floor (vget_lane_f64 (__a, 0)), __a, 0);
25988 }
25989 
25990 __extension__ extern __inline float32x4_t
25991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndmq_f32(float32x4_t __a)25992 vrndmq_f32 (float32x4_t __a)
25993 {
25994   return __builtin_aarch64_floorv4sf (__a);
25995 }
25996 
25997 __extension__ extern __inline float64x2_t
25998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndmq_f64(float64x2_t __a)25999 vrndmq_f64 (float64x2_t __a)
26000 {
26001   return __builtin_aarch64_floorv2df (__a);
26002 }
26003 
26004 /* vrndn  */
26005 
26006 __extension__ extern __inline float32x2_t
26007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndn_f32(float32x2_t __a)26008 vrndn_f32 (float32x2_t __a)
26009 {
26010   return __builtin_aarch64_frintnv2sf (__a);
26011 }
26012 
26013 __extension__ extern __inline float64x1_t
26014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndn_f64(float64x1_t __a)26015 vrndn_f64 (float64x1_t __a)
26016 {
26017   return (float64x1_t) {__builtin_aarch64_frintndf (__a[0])};
26018 }
26019 
26020 __extension__ extern __inline float32x4_t
26021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndnq_f32(float32x4_t __a)26022 vrndnq_f32 (float32x4_t __a)
26023 {
26024   return __builtin_aarch64_frintnv4sf (__a);
26025 }
26026 
26027 __extension__ extern __inline float64x2_t
26028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndnq_f64(float64x2_t __a)26029 vrndnq_f64 (float64x2_t __a)
26030 {
26031   return __builtin_aarch64_frintnv2df (__a);
26032 }
26033 
26034 /* vrndp  */
26035 
26036 __extension__ extern __inline float32x2_t
26037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndp_f32(float32x2_t __a)26038 vrndp_f32 (float32x2_t __a)
26039 {
26040   return __builtin_aarch64_ceilv2sf (__a);
26041 }
26042 
26043 __extension__ extern __inline float64x1_t
26044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndp_f64(float64x1_t __a)26045 vrndp_f64 (float64x1_t __a)
26046 {
26047   return vset_lane_f64 (__builtin_ceil (vget_lane_f64 (__a, 0)), __a, 0);
26048 }
26049 
26050 __extension__ extern __inline float32x4_t
26051 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndpq_f32(float32x4_t __a)26052 vrndpq_f32 (float32x4_t __a)
26053 {
26054   return __builtin_aarch64_ceilv4sf (__a);
26055 }
26056 
26057 __extension__ extern __inline float64x2_t
26058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndpq_f64(float64x2_t __a)26059 vrndpq_f64 (float64x2_t __a)
26060 {
26061   return __builtin_aarch64_ceilv2df (__a);
26062 }
26063 
26064 /* vrndx  */
26065 
26066 __extension__ extern __inline float32x2_t
26067 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndx_f32(float32x2_t __a)26068 vrndx_f32 (float32x2_t __a)
26069 {
26070   return __builtin_aarch64_rintv2sf (__a);
26071 }
26072 
26073 __extension__ extern __inline float64x1_t
26074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndx_f64(float64x1_t __a)26075 vrndx_f64 (float64x1_t __a)
26076 {
26077   return vset_lane_f64 (__builtin_rint (vget_lane_f64 (__a, 0)), __a, 0);
26078 }
26079 
26080 __extension__ extern __inline float32x4_t
26081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndxq_f32(float32x4_t __a)26082 vrndxq_f32 (float32x4_t __a)
26083 {
26084   return __builtin_aarch64_rintv4sf (__a);
26085 }
26086 
26087 __extension__ extern __inline float64x2_t
26088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndxq_f64(float64x2_t __a)26089 vrndxq_f64 (float64x2_t __a)
26090 {
26091   return __builtin_aarch64_rintv2df (__a);
26092 }
26093 
26094 /* vrshl */
26095 
26096 __extension__ extern __inline int8x8_t
26097 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s8(int8x8_t __a,int8x8_t __b)26098 vrshl_s8 (int8x8_t __a, int8x8_t __b)
26099 {
26100   return (int8x8_t) __builtin_aarch64_srshlv8qi (__a, __b);
26101 }
26102 
26103 __extension__ extern __inline int16x4_t
26104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s16(int16x4_t __a,int16x4_t __b)26105 vrshl_s16 (int16x4_t __a, int16x4_t __b)
26106 {
26107   return (int16x4_t) __builtin_aarch64_srshlv4hi (__a, __b);
26108 }
26109 
26110 __extension__ extern __inline int32x2_t
26111 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s32(int32x2_t __a,int32x2_t __b)26112 vrshl_s32 (int32x2_t __a, int32x2_t __b)
26113 {
26114   return (int32x2_t) __builtin_aarch64_srshlv2si (__a, __b);
26115 }
26116 
26117 __extension__ extern __inline int64x1_t
26118 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s64(int64x1_t __a,int64x1_t __b)26119 vrshl_s64 (int64x1_t __a, int64x1_t __b)
26120 {
26121   return (int64x1_t) {__builtin_aarch64_srshldi (__a[0], __b[0])};
26122 }
26123 
26124 __extension__ extern __inline uint8x8_t
26125 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u8(uint8x8_t __a,int8x8_t __b)26126 vrshl_u8 (uint8x8_t __a, int8x8_t __b)
26127 {
26128   return __builtin_aarch64_urshlv8qi_uus (__a, __b);
26129 }
26130 
26131 __extension__ extern __inline uint16x4_t
26132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u16(uint16x4_t __a,int16x4_t __b)26133 vrshl_u16 (uint16x4_t __a, int16x4_t __b)
26134 {
26135   return __builtin_aarch64_urshlv4hi_uus (__a, __b);
26136 }
26137 
26138 __extension__ extern __inline uint32x2_t
26139 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u32(uint32x2_t __a,int32x2_t __b)26140 vrshl_u32 (uint32x2_t __a, int32x2_t __b)
26141 {
26142   return __builtin_aarch64_urshlv2si_uus (__a, __b);
26143 }
26144 
26145 __extension__ extern __inline uint64x1_t
26146 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u64(uint64x1_t __a,int64x1_t __b)26147 vrshl_u64 (uint64x1_t __a, int64x1_t __b)
26148 {
26149   return (uint64x1_t) {__builtin_aarch64_urshldi_uus (__a[0], __b[0])};
26150 }
26151 
26152 __extension__ extern __inline int8x16_t
26153 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s8(int8x16_t __a,int8x16_t __b)26154 vrshlq_s8 (int8x16_t __a, int8x16_t __b)
26155 {
26156   return (int8x16_t) __builtin_aarch64_srshlv16qi (__a, __b);
26157 }
26158 
26159 __extension__ extern __inline int16x8_t
26160 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s16(int16x8_t __a,int16x8_t __b)26161 vrshlq_s16 (int16x8_t __a, int16x8_t __b)
26162 {
26163   return (int16x8_t) __builtin_aarch64_srshlv8hi (__a, __b);
26164 }
26165 
26166 __extension__ extern __inline int32x4_t
26167 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s32(int32x4_t __a,int32x4_t __b)26168 vrshlq_s32 (int32x4_t __a, int32x4_t __b)
26169 {
26170   return (int32x4_t) __builtin_aarch64_srshlv4si (__a, __b);
26171 }
26172 
26173 __extension__ extern __inline int64x2_t
26174 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s64(int64x2_t __a,int64x2_t __b)26175 vrshlq_s64 (int64x2_t __a, int64x2_t __b)
26176 {
26177   return (int64x2_t) __builtin_aarch64_srshlv2di (__a, __b);
26178 }
26179 
26180 __extension__ extern __inline uint8x16_t
26181 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u8(uint8x16_t __a,int8x16_t __b)26182 vrshlq_u8 (uint8x16_t __a, int8x16_t __b)
26183 {
26184   return __builtin_aarch64_urshlv16qi_uus (__a, __b);
26185 }
26186 
26187 __extension__ extern __inline uint16x8_t
26188 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u16(uint16x8_t __a,int16x8_t __b)26189 vrshlq_u16 (uint16x8_t __a, int16x8_t __b)
26190 {
26191   return __builtin_aarch64_urshlv8hi_uus (__a, __b);
26192 }
26193 
26194 __extension__ extern __inline uint32x4_t
26195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u32(uint32x4_t __a,int32x4_t __b)26196 vrshlq_u32 (uint32x4_t __a, int32x4_t __b)
26197 {
26198   return __builtin_aarch64_urshlv4si_uus (__a, __b);
26199 }
26200 
26201 __extension__ extern __inline uint64x2_t
26202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u64(uint64x2_t __a,int64x2_t __b)26203 vrshlq_u64 (uint64x2_t __a, int64x2_t __b)
26204 {
26205   return __builtin_aarch64_urshlv2di_uus (__a, __b);
26206 }
26207 
26208 __extension__ extern __inline int64_t
26209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshld_s64(int64_t __a,int64_t __b)26210 vrshld_s64 (int64_t __a, int64_t __b)
26211 {
26212   return __builtin_aarch64_srshldi (__a, __b);
26213 }
26214 
26215 __extension__ extern __inline uint64_t
26216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshld_u64(uint64_t __a,int64_t __b)26217 vrshld_u64 (uint64_t __a, int64_t __b)
26218 {
26219   return __builtin_aarch64_urshldi_uus (__a, __b);
26220 }
26221 
26222 /* vrshr */
26223 
26224 __extension__ extern __inline int8x8_t
26225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s8(int8x8_t __a,const int __b)26226 vrshr_n_s8 (int8x8_t __a, const int __b)
26227 {
26228   return (int8x8_t) __builtin_aarch64_srshr_nv8qi (__a, __b);
26229 }
26230 
26231 __extension__ extern __inline int16x4_t
26232 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s16(int16x4_t __a,const int __b)26233 vrshr_n_s16 (int16x4_t __a, const int __b)
26234 {
26235   return (int16x4_t) __builtin_aarch64_srshr_nv4hi (__a, __b);
26236 }
26237 
26238 __extension__ extern __inline int32x2_t
26239 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s32(int32x2_t __a,const int __b)26240 vrshr_n_s32 (int32x2_t __a, const int __b)
26241 {
26242   return (int32x2_t) __builtin_aarch64_srshr_nv2si (__a, __b);
26243 }
26244 
26245 __extension__ extern __inline int64x1_t
26246 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s64(int64x1_t __a,const int __b)26247 vrshr_n_s64 (int64x1_t __a, const int __b)
26248 {
26249   return (int64x1_t) {__builtin_aarch64_srshr_ndi (__a[0], __b)};
26250 }
26251 
26252 __extension__ extern __inline uint8x8_t
26253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u8(uint8x8_t __a,const int __b)26254 vrshr_n_u8 (uint8x8_t __a, const int __b)
26255 {
26256   return __builtin_aarch64_urshr_nv8qi_uus (__a, __b);
26257 }
26258 
26259 __extension__ extern __inline uint16x4_t
26260 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u16(uint16x4_t __a,const int __b)26261 vrshr_n_u16 (uint16x4_t __a, const int __b)
26262 {
26263   return __builtin_aarch64_urshr_nv4hi_uus (__a, __b);
26264 }
26265 
26266 __extension__ extern __inline uint32x2_t
26267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u32(uint32x2_t __a,const int __b)26268 vrshr_n_u32 (uint32x2_t __a, const int __b)
26269 {
26270   return __builtin_aarch64_urshr_nv2si_uus (__a, __b);
26271 }
26272 
26273 __extension__ extern __inline uint64x1_t
26274 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u64(uint64x1_t __a,const int __b)26275 vrshr_n_u64 (uint64x1_t __a, const int __b)
26276 {
26277   return (uint64x1_t) {__builtin_aarch64_urshr_ndi_uus (__a[0], __b)};
26278 }
26279 
26280 __extension__ extern __inline int8x16_t
26281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s8(int8x16_t __a,const int __b)26282 vrshrq_n_s8 (int8x16_t __a, const int __b)
26283 {
26284   return (int8x16_t) __builtin_aarch64_srshr_nv16qi (__a, __b);
26285 }
26286 
26287 __extension__ extern __inline int16x8_t
26288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s16(int16x8_t __a,const int __b)26289 vrshrq_n_s16 (int16x8_t __a, const int __b)
26290 {
26291   return (int16x8_t) __builtin_aarch64_srshr_nv8hi (__a, __b);
26292 }
26293 
26294 __extension__ extern __inline int32x4_t
26295 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s32(int32x4_t __a,const int __b)26296 vrshrq_n_s32 (int32x4_t __a, const int __b)
26297 {
26298   return (int32x4_t) __builtin_aarch64_srshr_nv4si (__a, __b);
26299 }
26300 
26301 __extension__ extern __inline int64x2_t
26302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s64(int64x2_t __a,const int __b)26303 vrshrq_n_s64 (int64x2_t __a, const int __b)
26304 {
26305   return (int64x2_t) __builtin_aarch64_srshr_nv2di (__a, __b);
26306 }
26307 
26308 __extension__ extern __inline uint8x16_t
26309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u8(uint8x16_t __a,const int __b)26310 vrshrq_n_u8 (uint8x16_t __a, const int __b)
26311 {
26312   return __builtin_aarch64_urshr_nv16qi_uus (__a, __b);
26313 }
26314 
26315 __extension__ extern __inline uint16x8_t
26316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u16(uint16x8_t __a,const int __b)26317 vrshrq_n_u16 (uint16x8_t __a, const int __b)
26318 {
26319   return __builtin_aarch64_urshr_nv8hi_uus (__a, __b);
26320 }
26321 
26322 __extension__ extern __inline uint32x4_t
26323 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u32(uint32x4_t __a,const int __b)26324 vrshrq_n_u32 (uint32x4_t __a, const int __b)
26325 {
26326   return __builtin_aarch64_urshr_nv4si_uus (__a, __b);
26327 }
26328 
26329 __extension__ extern __inline uint64x2_t
26330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u64(uint64x2_t __a,const int __b)26331 vrshrq_n_u64 (uint64x2_t __a, const int __b)
26332 {
26333   return __builtin_aarch64_urshr_nv2di_uus (__a, __b);
26334 }
26335 
26336 __extension__ extern __inline int64_t
26337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrd_n_s64(int64_t __a,const int __b)26338 vrshrd_n_s64 (int64_t __a, const int __b)
26339 {
26340   return __builtin_aarch64_srshr_ndi (__a, __b);
26341 }
26342 
26343 __extension__ extern __inline uint64_t
26344 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrd_n_u64(uint64_t __a,const int __b)26345 vrshrd_n_u64 (uint64_t __a, const int __b)
26346 {
26347   return __builtin_aarch64_urshr_ndi_uus (__a, __b);
26348 }
26349 
26350 /* vrsqrte.  */
26351 
26352 __extension__ extern __inline float32_t
26353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtes_f32(float32_t __a)26354 vrsqrtes_f32 (float32_t __a)
26355 {
26356   return __builtin_aarch64_rsqrtesf (__a);
26357 }
26358 
26359 __extension__ extern __inline float64_t
26360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrted_f64(float64_t __a)26361 vrsqrted_f64 (float64_t __a)
26362 {
26363   return __builtin_aarch64_rsqrtedf (__a);
26364 }
26365 
26366 __extension__ extern __inline float32x2_t
26367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_f32(float32x2_t __a)26368 vrsqrte_f32 (float32x2_t __a)
26369 {
26370   return __builtin_aarch64_rsqrtev2sf (__a);
26371 }
26372 
26373 __extension__ extern __inline float64x1_t
26374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_f64(float64x1_t __a)26375 vrsqrte_f64 (float64x1_t __a)
26376 {
26377   return (float64x1_t) {vrsqrted_f64 (vget_lane_f64 (__a, 0))};
26378 }
26379 
26380 __extension__ extern __inline float32x4_t
26381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_f32(float32x4_t __a)26382 vrsqrteq_f32 (float32x4_t __a)
26383 {
26384   return __builtin_aarch64_rsqrtev4sf (__a);
26385 }
26386 
26387 __extension__ extern __inline float64x2_t
26388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_f64(float64x2_t __a)26389 vrsqrteq_f64 (float64x2_t __a)
26390 {
26391   return __builtin_aarch64_rsqrtev2df (__a);
26392 }
26393 
26394 /* vrsqrts.  */
26395 
26396 __extension__ extern __inline float32_t
26397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtss_f32(float32_t __a,float32_t __b)26398 vrsqrtss_f32 (float32_t __a, float32_t __b)
26399 {
26400   return __builtin_aarch64_rsqrtssf (__a, __b);
26401 }
26402 
26403 __extension__ extern __inline float64_t
26404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsd_f64(float64_t __a,float64_t __b)26405 vrsqrtsd_f64 (float64_t __a, float64_t __b)
26406 {
26407   return __builtin_aarch64_rsqrtsdf (__a, __b);
26408 }
26409 
26410 __extension__ extern __inline float32x2_t
26411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrts_f32(float32x2_t __a,float32x2_t __b)26412 vrsqrts_f32 (float32x2_t __a, float32x2_t __b)
26413 {
26414   return __builtin_aarch64_rsqrtsv2sf (__a, __b);
26415 }
26416 
26417 __extension__ extern __inline float64x1_t
26418 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrts_f64(float64x1_t __a,float64x1_t __b)26419 vrsqrts_f64 (float64x1_t __a, float64x1_t __b)
26420 {
26421   return (float64x1_t) {vrsqrtsd_f64 (vget_lane_f64 (__a, 0),
26422 				      vget_lane_f64 (__b, 0))};
26423 }
26424 
26425 __extension__ extern __inline float32x4_t
26426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsq_f32(float32x4_t __a,float32x4_t __b)26427 vrsqrtsq_f32 (float32x4_t __a, float32x4_t __b)
26428 {
26429   return __builtin_aarch64_rsqrtsv4sf (__a, __b);
26430 }
26431 
26432 __extension__ extern __inline float64x2_t
26433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsq_f64(float64x2_t __a,float64x2_t __b)26434 vrsqrtsq_f64 (float64x2_t __a, float64x2_t __b)
26435 {
26436   return __builtin_aarch64_rsqrtsv2df (__a, __b);
26437 }
26438 
26439 /* vrsra */
26440 
26441 __extension__ extern __inline int8x8_t
26442 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)26443 vrsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
26444 {
26445   return (int8x8_t) __builtin_aarch64_srsra_nv8qi (__a, __b, __c);
26446 }
26447 
26448 __extension__ extern __inline int16x4_t
26449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)26450 vrsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
26451 {
26452   return (int16x4_t) __builtin_aarch64_srsra_nv4hi (__a, __b, __c);
26453 }
26454 
26455 __extension__ extern __inline int32x2_t
26456 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)26457 vrsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
26458 {
26459   return (int32x2_t) __builtin_aarch64_srsra_nv2si (__a, __b, __c);
26460 }
26461 
26462 __extension__ extern __inline int64x1_t
26463 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)26464 vrsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
26465 {
26466   return (int64x1_t) {__builtin_aarch64_srsra_ndi (__a[0], __b[0], __c)};
26467 }
26468 
26469 __extension__ extern __inline uint8x8_t
26470 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)26471 vrsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
26472 {
26473   return __builtin_aarch64_ursra_nv8qi_uuus (__a, __b, __c);
26474 }
26475 
26476 __extension__ extern __inline uint16x4_t
26477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)26478 vrsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
26479 {
26480   return __builtin_aarch64_ursra_nv4hi_uuus (__a, __b, __c);
26481 }
26482 
26483 __extension__ extern __inline uint32x2_t
26484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)26485 vrsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
26486 {
26487   return __builtin_aarch64_ursra_nv2si_uuus (__a, __b, __c);
26488 }
26489 
26490 __extension__ extern __inline uint64x1_t
26491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)26492 vrsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
26493 {
26494   return (uint64x1_t) {__builtin_aarch64_ursra_ndi_uuus (__a[0], __b[0], __c)};
26495 }
26496 
26497 __extension__ extern __inline int8x16_t
26498 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)26499 vrsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
26500 {
26501   return (int8x16_t) __builtin_aarch64_srsra_nv16qi (__a, __b, __c);
26502 }
26503 
26504 __extension__ extern __inline int16x8_t
26505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)26506 vrsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
26507 {
26508   return (int16x8_t) __builtin_aarch64_srsra_nv8hi (__a, __b, __c);
26509 }
26510 
26511 __extension__ extern __inline int32x4_t
26512 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)26513 vrsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
26514 {
26515   return (int32x4_t) __builtin_aarch64_srsra_nv4si (__a, __b, __c);
26516 }
26517 
26518 __extension__ extern __inline int64x2_t
26519 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)26520 vrsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
26521 {
26522   return (int64x2_t) __builtin_aarch64_srsra_nv2di (__a, __b, __c);
26523 }
26524 
26525 __extension__ extern __inline uint8x16_t
26526 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)26527 vrsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
26528 {
26529   return __builtin_aarch64_ursra_nv16qi_uuus (__a, __b, __c);
26530 }
26531 
26532 __extension__ extern __inline uint16x8_t
26533 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)26534 vrsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
26535 {
26536   return __builtin_aarch64_ursra_nv8hi_uuus (__a, __b, __c);
26537 }
26538 
26539 __extension__ extern __inline uint32x4_t
26540 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)26541 vrsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
26542 {
26543   return __builtin_aarch64_ursra_nv4si_uuus (__a, __b, __c);
26544 }
26545 
26546 __extension__ extern __inline uint64x2_t
26547 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)26548 vrsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
26549 {
26550   return __builtin_aarch64_ursra_nv2di_uuus (__a, __b, __c);
26551 }
26552 
26553 __extension__ extern __inline int64_t
26554 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsrad_n_s64(int64_t __a,int64_t __b,const int __c)26555 vrsrad_n_s64 (int64_t __a, int64_t __b, const int __c)
26556 {
26557   return __builtin_aarch64_srsra_ndi (__a, __b, __c);
26558 }
26559 
26560 __extension__ extern __inline uint64_t
26561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsrad_n_u64(uint64_t __a,uint64_t __b,const int __c)26562 vrsrad_n_u64 (uint64_t __a, uint64_t __b, const int __c)
26563 {
26564   return __builtin_aarch64_ursra_ndi_uuus (__a, __b, __c);
26565 }
26566 
26567 #pragma GCC push_options
26568 #pragma GCC target ("+nothing+crypto")
26569 
26570 /* vsha1  */
26571 
26572 __extension__ extern __inline uint32x4_t
26573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1cq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)26574 vsha1cq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
26575 {
26576   return __builtin_aarch64_crypto_sha1cv4si_uuuu (__hash_abcd, __hash_e, __wk);
26577 }
26578 
26579 __extension__ extern __inline uint32x4_t
26580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1mq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)26581 vsha1mq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
26582 {
26583   return __builtin_aarch64_crypto_sha1mv4si_uuuu (__hash_abcd, __hash_e, __wk);
26584 }
26585 
26586 __extension__ extern __inline uint32x4_t
26587 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1pq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)26588 vsha1pq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
26589 {
26590   return __builtin_aarch64_crypto_sha1pv4si_uuuu (__hash_abcd, __hash_e, __wk);
26591 }
26592 
26593 __extension__ extern __inline uint32_t
26594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1h_u32(uint32_t __hash_e)26595 vsha1h_u32 (uint32_t __hash_e)
26596 {
26597   return __builtin_aarch64_crypto_sha1hsi_uu (__hash_e);
26598 }
26599 
26600 __extension__ extern __inline uint32x4_t
26601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1su0q_u32(uint32x4_t __w0_3,uint32x4_t __w4_7,uint32x4_t __w8_11)26602 vsha1su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7, uint32x4_t __w8_11)
26603 {
26604   return __builtin_aarch64_crypto_sha1su0v4si_uuuu (__w0_3, __w4_7, __w8_11);
26605 }
26606 
26607 __extension__ extern __inline uint32x4_t
26608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1su1q_u32(uint32x4_t __tw0_3,uint32x4_t __w12_15)26609 vsha1su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w12_15)
26610 {
26611   return __builtin_aarch64_crypto_sha1su1v4si_uuu (__tw0_3, __w12_15);
26612 }
26613 
26614 __extension__ extern __inline uint32x4_t
26615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha256hq_u32(uint32x4_t __hash_abcd,uint32x4_t __hash_efgh,uint32x4_t __wk)26616 vsha256hq_u32 (uint32x4_t __hash_abcd, uint32x4_t __hash_efgh, uint32x4_t __wk)
26617 {
26618   return __builtin_aarch64_crypto_sha256hv4si_uuuu (__hash_abcd, __hash_efgh,
26619 						     __wk);
26620 }
26621 
26622 __extension__ extern __inline uint32x4_t
26623 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha256h2q_u32(uint32x4_t __hash_efgh,uint32x4_t __hash_abcd,uint32x4_t __wk)26624 vsha256h2q_u32 (uint32x4_t __hash_efgh, uint32x4_t __hash_abcd, uint32x4_t __wk)
26625 {
26626   return __builtin_aarch64_crypto_sha256h2v4si_uuuu (__hash_efgh, __hash_abcd,
26627 						      __wk);
26628 }
26629 
26630 __extension__ extern __inline uint32x4_t
26631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha256su0q_u32(uint32x4_t __w0_3,uint32x4_t __w4_7)26632 vsha256su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7)
26633 {
26634   return __builtin_aarch64_crypto_sha256su0v4si_uuu (__w0_3, __w4_7);
26635 }
26636 
26637 __extension__ extern __inline uint32x4_t
26638 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha256su1q_u32(uint32x4_t __tw0_3,uint32x4_t __w8_11,uint32x4_t __w12_15)26639 vsha256su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w8_11, uint32x4_t __w12_15)
26640 {
26641   return __builtin_aarch64_crypto_sha256su1v4si_uuuu (__tw0_3, __w8_11,
26642 						       __w12_15);
26643 }
26644 
26645 __extension__ extern __inline poly128_t
26646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_p64(poly64_t __a,poly64_t __b)26647 vmull_p64 (poly64_t __a, poly64_t __b)
26648 {
26649   return
26650     __builtin_aarch64_crypto_pmulldi_ppp (__a, __b);
26651 }
26652 
26653 __extension__ extern __inline poly128_t
26654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_p64(poly64x2_t __a,poly64x2_t __b)26655 vmull_high_p64 (poly64x2_t __a, poly64x2_t __b)
26656 {
26657   return __builtin_aarch64_crypto_pmullv2di_ppp (__a, __b);
26658 }
26659 
26660 #pragma GCC pop_options
26661 
26662 /* vshl */
26663 
26664 __extension__ extern __inline int8x8_t
26665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s8(int8x8_t __a,const int __b)26666 vshl_n_s8 (int8x8_t __a, const int __b)
26667 {
26668   return (int8x8_t) __builtin_aarch64_ashlv8qi (__a, __b);
26669 }
26670 
26671 __extension__ extern __inline int16x4_t
26672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s16(int16x4_t __a,const int __b)26673 vshl_n_s16 (int16x4_t __a, const int __b)
26674 {
26675   return (int16x4_t) __builtin_aarch64_ashlv4hi (__a, __b);
26676 }
26677 
26678 __extension__ extern __inline int32x2_t
26679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s32(int32x2_t __a,const int __b)26680 vshl_n_s32 (int32x2_t __a, const int __b)
26681 {
26682   return (int32x2_t) __builtin_aarch64_ashlv2si (__a, __b);
26683 }
26684 
26685 __extension__ extern __inline int64x1_t
26686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s64(int64x1_t __a,const int __b)26687 vshl_n_s64 (int64x1_t __a, const int __b)
26688 {
26689   return (int64x1_t) {__builtin_aarch64_ashldi (__a[0], __b)};
26690 }
26691 
26692 __extension__ extern __inline uint8x8_t
26693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u8(uint8x8_t __a,const int __b)26694 vshl_n_u8 (uint8x8_t __a, const int __b)
26695 {
26696   return (uint8x8_t) __builtin_aarch64_ashlv8qi ((int8x8_t) __a, __b);
26697 }
26698 
26699 __extension__ extern __inline uint16x4_t
26700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u16(uint16x4_t __a,const int __b)26701 vshl_n_u16 (uint16x4_t __a, const int __b)
26702 {
26703   return (uint16x4_t) __builtin_aarch64_ashlv4hi ((int16x4_t) __a, __b);
26704 }
26705 
26706 __extension__ extern __inline uint32x2_t
26707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u32(uint32x2_t __a,const int __b)26708 vshl_n_u32 (uint32x2_t __a, const int __b)
26709 {
26710   return (uint32x2_t) __builtin_aarch64_ashlv2si ((int32x2_t) __a, __b);
26711 }
26712 
26713 __extension__ extern __inline uint64x1_t
26714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u64(uint64x1_t __a,const int __b)26715 vshl_n_u64 (uint64x1_t __a, const int __b)
26716 {
26717   return (uint64x1_t) {__builtin_aarch64_ashldi ((int64_t) __a[0], __b)};
26718 }
26719 
26720 __extension__ extern __inline int8x16_t
26721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s8(int8x16_t __a,const int __b)26722 vshlq_n_s8 (int8x16_t __a, const int __b)
26723 {
26724   return (int8x16_t) __builtin_aarch64_ashlv16qi (__a, __b);
26725 }
26726 
26727 __extension__ extern __inline int16x8_t
26728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s16(int16x8_t __a,const int __b)26729 vshlq_n_s16 (int16x8_t __a, const int __b)
26730 {
26731   return (int16x8_t) __builtin_aarch64_ashlv8hi (__a, __b);
26732 }
26733 
26734 __extension__ extern __inline int32x4_t
26735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s32(int32x4_t __a,const int __b)26736 vshlq_n_s32 (int32x4_t __a, const int __b)
26737 {
26738   return (int32x4_t) __builtin_aarch64_ashlv4si (__a, __b);
26739 }
26740 
26741 __extension__ extern __inline int64x2_t
26742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s64(int64x2_t __a,const int __b)26743 vshlq_n_s64 (int64x2_t __a, const int __b)
26744 {
26745   return (int64x2_t) __builtin_aarch64_ashlv2di (__a, __b);
26746 }
26747 
26748 __extension__ extern __inline uint8x16_t
26749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u8(uint8x16_t __a,const int __b)26750 vshlq_n_u8 (uint8x16_t __a, const int __b)
26751 {
26752   return (uint8x16_t) __builtin_aarch64_ashlv16qi ((int8x16_t) __a, __b);
26753 }
26754 
26755 __extension__ extern __inline uint16x8_t
26756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u16(uint16x8_t __a,const int __b)26757 vshlq_n_u16 (uint16x8_t __a, const int __b)
26758 {
26759   return (uint16x8_t) __builtin_aarch64_ashlv8hi ((int16x8_t) __a, __b);
26760 }
26761 
26762 __extension__ extern __inline uint32x4_t
26763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u32(uint32x4_t __a,const int __b)26764 vshlq_n_u32 (uint32x4_t __a, const int __b)
26765 {
26766   return (uint32x4_t) __builtin_aarch64_ashlv4si ((int32x4_t) __a, __b);
26767 }
26768 
26769 __extension__ extern __inline uint64x2_t
26770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u64(uint64x2_t __a,const int __b)26771 vshlq_n_u64 (uint64x2_t __a, const int __b)
26772 {
26773   return (uint64x2_t) __builtin_aarch64_ashlv2di ((int64x2_t) __a, __b);
26774 }
26775 
26776 __extension__ extern __inline int64_t
26777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshld_n_s64(int64_t __a,const int __b)26778 vshld_n_s64 (int64_t __a, const int __b)
26779 {
26780   return __builtin_aarch64_ashldi (__a, __b);
26781 }
26782 
26783 __extension__ extern __inline uint64_t
26784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshld_n_u64(uint64_t __a,const int __b)26785 vshld_n_u64 (uint64_t __a, const int __b)
26786 {
26787   return (uint64_t) __builtin_aarch64_ashldi (__a, __b);
26788 }
26789 
26790 __extension__ extern __inline int8x8_t
26791 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s8(int8x8_t __a,int8x8_t __b)26792 vshl_s8 (int8x8_t __a, int8x8_t __b)
26793 {
26794   return __builtin_aarch64_sshlv8qi (__a, __b);
26795 }
26796 
26797 __extension__ extern __inline int16x4_t
26798 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s16(int16x4_t __a,int16x4_t __b)26799 vshl_s16 (int16x4_t __a, int16x4_t __b)
26800 {
26801   return __builtin_aarch64_sshlv4hi (__a, __b);
26802 }
26803 
26804 __extension__ extern __inline int32x2_t
26805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s32(int32x2_t __a,int32x2_t __b)26806 vshl_s32 (int32x2_t __a, int32x2_t __b)
26807 {
26808   return __builtin_aarch64_sshlv2si (__a, __b);
26809 }
26810 
26811 __extension__ extern __inline int64x1_t
26812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s64(int64x1_t __a,int64x1_t __b)26813 vshl_s64 (int64x1_t __a, int64x1_t __b)
26814 {
26815   return (int64x1_t) {__builtin_aarch64_sshldi (__a[0], __b[0])};
26816 }
26817 
26818 __extension__ extern __inline uint8x8_t
26819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u8(uint8x8_t __a,int8x8_t __b)26820 vshl_u8 (uint8x8_t __a, int8x8_t __b)
26821 {
26822   return __builtin_aarch64_ushlv8qi_uus (__a, __b);
26823 }
26824 
26825 __extension__ extern __inline uint16x4_t
26826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u16(uint16x4_t __a,int16x4_t __b)26827 vshl_u16 (uint16x4_t __a, int16x4_t __b)
26828 {
26829   return __builtin_aarch64_ushlv4hi_uus (__a, __b);
26830 }
26831 
26832 __extension__ extern __inline uint32x2_t
26833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u32(uint32x2_t __a,int32x2_t __b)26834 vshl_u32 (uint32x2_t __a, int32x2_t __b)
26835 {
26836   return __builtin_aarch64_ushlv2si_uus (__a, __b);
26837 }
26838 
26839 __extension__ extern __inline uint64x1_t
26840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u64(uint64x1_t __a,int64x1_t __b)26841 vshl_u64 (uint64x1_t __a, int64x1_t __b)
26842 {
26843   return (uint64x1_t) {__builtin_aarch64_ushldi_uus (__a[0], __b[0])};
26844 }
26845 
26846 __extension__ extern __inline int8x16_t
26847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s8(int8x16_t __a,int8x16_t __b)26848 vshlq_s8 (int8x16_t __a, int8x16_t __b)
26849 {
26850   return __builtin_aarch64_sshlv16qi (__a, __b);
26851 }
26852 
26853 __extension__ extern __inline int16x8_t
26854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s16(int16x8_t __a,int16x8_t __b)26855 vshlq_s16 (int16x8_t __a, int16x8_t __b)
26856 {
26857   return __builtin_aarch64_sshlv8hi (__a, __b);
26858 }
26859 
26860 __extension__ extern __inline int32x4_t
26861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s32(int32x4_t __a,int32x4_t __b)26862 vshlq_s32 (int32x4_t __a, int32x4_t __b)
26863 {
26864   return __builtin_aarch64_sshlv4si (__a, __b);
26865 }
26866 
26867 __extension__ extern __inline int64x2_t
26868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s64(int64x2_t __a,int64x2_t __b)26869 vshlq_s64 (int64x2_t __a, int64x2_t __b)
26870 {
26871   return __builtin_aarch64_sshlv2di (__a, __b);
26872 }
26873 
26874 __extension__ extern __inline uint8x16_t
26875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u8(uint8x16_t __a,int8x16_t __b)26876 vshlq_u8 (uint8x16_t __a, int8x16_t __b)
26877 {
26878   return __builtin_aarch64_ushlv16qi_uus (__a, __b);
26879 }
26880 
26881 __extension__ extern __inline uint16x8_t
26882 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u16(uint16x8_t __a,int16x8_t __b)26883 vshlq_u16 (uint16x8_t __a, int16x8_t __b)
26884 {
26885   return __builtin_aarch64_ushlv8hi_uus (__a, __b);
26886 }
26887 
26888 __extension__ extern __inline uint32x4_t
26889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u32(uint32x4_t __a,int32x4_t __b)26890 vshlq_u32 (uint32x4_t __a, int32x4_t __b)
26891 {
26892   return __builtin_aarch64_ushlv4si_uus (__a, __b);
26893 }
26894 
26895 __extension__ extern __inline uint64x2_t
26896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u64(uint64x2_t __a,int64x2_t __b)26897 vshlq_u64 (uint64x2_t __a, int64x2_t __b)
26898 {
26899   return __builtin_aarch64_ushlv2di_uus (__a, __b);
26900 }
26901 
26902 __extension__ extern __inline int64_t
26903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshld_s64(int64_t __a,int64_t __b)26904 vshld_s64 (int64_t __a, int64_t __b)
26905 {
26906   return __builtin_aarch64_sshldi (__a, __b);
26907 }
26908 
26909 __extension__ extern __inline uint64_t
26910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshld_u64(uint64_t __a,uint64_t __b)26911 vshld_u64 (uint64_t __a, uint64_t __b)
26912 {
26913   return __builtin_aarch64_ushldi_uus (__a, __b);
26914 }
26915 
26916 __extension__ extern __inline int16x8_t
26917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_s8(int8x16_t __a,const int __b)26918 vshll_high_n_s8 (int8x16_t __a, const int __b)
26919 {
26920   return __builtin_aarch64_sshll2_nv16qi (__a, __b);
26921 }
26922 
26923 __extension__ extern __inline int32x4_t
26924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_s16(int16x8_t __a,const int __b)26925 vshll_high_n_s16 (int16x8_t __a, const int __b)
26926 {
26927   return __builtin_aarch64_sshll2_nv8hi (__a, __b);
26928 }
26929 
26930 __extension__ extern __inline int64x2_t
26931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_s32(int32x4_t __a,const int __b)26932 vshll_high_n_s32 (int32x4_t __a, const int __b)
26933 {
26934   return __builtin_aarch64_sshll2_nv4si (__a, __b);
26935 }
26936 
26937 __extension__ extern __inline uint16x8_t
26938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_u8(uint8x16_t __a,const int __b)26939 vshll_high_n_u8 (uint8x16_t __a, const int __b)
26940 {
26941   return (uint16x8_t) __builtin_aarch64_ushll2_nv16qi ((int8x16_t) __a, __b);
26942 }
26943 
26944 __extension__ extern __inline uint32x4_t
26945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_u16(uint16x8_t __a,const int __b)26946 vshll_high_n_u16 (uint16x8_t __a, const int __b)
26947 {
26948   return (uint32x4_t) __builtin_aarch64_ushll2_nv8hi ((int16x8_t) __a, __b);
26949 }
26950 
26951 __extension__ extern __inline uint64x2_t
26952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_u32(uint32x4_t __a,const int __b)26953 vshll_high_n_u32 (uint32x4_t __a, const int __b)
26954 {
26955   return (uint64x2_t) __builtin_aarch64_ushll2_nv4si ((int32x4_t) __a, __b);
26956 }
26957 
26958 __extension__ extern __inline int16x8_t
26959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s8(int8x8_t __a,const int __b)26960 vshll_n_s8 (int8x8_t __a, const int __b)
26961 {
26962   return __builtin_aarch64_sshll_nv8qi (__a, __b);
26963 }
26964 
26965 __extension__ extern __inline int32x4_t
26966 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s16(int16x4_t __a,const int __b)26967 vshll_n_s16 (int16x4_t __a, const int __b)
26968 {
26969   return __builtin_aarch64_sshll_nv4hi (__a, __b);
26970 }
26971 
26972 __extension__ extern __inline int64x2_t
26973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s32(int32x2_t __a,const int __b)26974 vshll_n_s32 (int32x2_t __a, const int __b)
26975 {
26976   return __builtin_aarch64_sshll_nv2si (__a, __b);
26977 }
26978 
26979 __extension__ extern __inline uint16x8_t
26980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u8(uint8x8_t __a,const int __b)26981 vshll_n_u8 (uint8x8_t __a, const int __b)
26982 {
26983   return __builtin_aarch64_ushll_nv8qi_uus (__a, __b);
26984 }
26985 
26986 __extension__ extern __inline uint32x4_t
26987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u16(uint16x4_t __a,const int __b)26988 vshll_n_u16 (uint16x4_t __a, const int __b)
26989 {
26990   return __builtin_aarch64_ushll_nv4hi_uus (__a, __b);
26991 }
26992 
26993 __extension__ extern __inline uint64x2_t
26994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u32(uint32x2_t __a,const int __b)26995 vshll_n_u32 (uint32x2_t __a, const int __b)
26996 {
26997   return __builtin_aarch64_ushll_nv2si_uus (__a, __b);
26998 }
26999 
27000 /* vshr */
27001 
27002 __extension__ extern __inline int8x8_t
27003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s8(int8x8_t __a,const int __b)27004 vshr_n_s8 (int8x8_t __a, const int __b)
27005 {
27006   return (int8x8_t) __builtin_aarch64_ashrv8qi (__a, __b);
27007 }
27008 
27009 __extension__ extern __inline int16x4_t
27010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s16(int16x4_t __a,const int __b)27011 vshr_n_s16 (int16x4_t __a, const int __b)
27012 {
27013   return (int16x4_t) __builtin_aarch64_ashrv4hi (__a, __b);
27014 }
27015 
27016 __extension__ extern __inline int32x2_t
27017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s32(int32x2_t __a,const int __b)27018 vshr_n_s32 (int32x2_t __a, const int __b)
27019 {
27020   return (int32x2_t) __builtin_aarch64_ashrv2si (__a, __b);
27021 }
27022 
27023 __extension__ extern __inline int64x1_t
27024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s64(int64x1_t __a,const int __b)27025 vshr_n_s64 (int64x1_t __a, const int __b)
27026 {
27027   return (int64x1_t) {__builtin_aarch64_ashr_simddi (__a[0], __b)};
27028 }
27029 
27030 __extension__ extern __inline uint8x8_t
27031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u8(uint8x8_t __a,const int __b)27032 vshr_n_u8 (uint8x8_t __a, const int __b)
27033 {
27034   return (uint8x8_t) __builtin_aarch64_lshrv8qi ((int8x8_t) __a, __b);
27035 }
27036 
27037 __extension__ extern __inline uint16x4_t
27038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u16(uint16x4_t __a,const int __b)27039 vshr_n_u16 (uint16x4_t __a, const int __b)
27040 {
27041   return (uint16x4_t) __builtin_aarch64_lshrv4hi ((int16x4_t) __a, __b);
27042 }
27043 
27044 __extension__ extern __inline uint32x2_t
27045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u32(uint32x2_t __a,const int __b)27046 vshr_n_u32 (uint32x2_t __a, const int __b)
27047 {
27048   return (uint32x2_t) __builtin_aarch64_lshrv2si ((int32x2_t) __a, __b);
27049 }
27050 
27051 __extension__ extern __inline uint64x1_t
27052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u64(uint64x1_t __a,const int __b)27053 vshr_n_u64 (uint64x1_t __a, const int __b)
27054 {
27055   return (uint64x1_t) {__builtin_aarch64_lshr_simddi_uus ( __a[0], __b)};
27056 }
27057 
27058 __extension__ extern __inline int8x16_t
27059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s8(int8x16_t __a,const int __b)27060 vshrq_n_s8 (int8x16_t __a, const int __b)
27061 {
27062   return (int8x16_t) __builtin_aarch64_ashrv16qi (__a, __b);
27063 }
27064 
27065 __extension__ extern __inline int16x8_t
27066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s16(int16x8_t __a,const int __b)27067 vshrq_n_s16 (int16x8_t __a, const int __b)
27068 {
27069   return (int16x8_t) __builtin_aarch64_ashrv8hi (__a, __b);
27070 }
27071 
27072 __extension__ extern __inline int32x4_t
27073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s32(int32x4_t __a,const int __b)27074 vshrq_n_s32 (int32x4_t __a, const int __b)
27075 {
27076   return (int32x4_t) __builtin_aarch64_ashrv4si (__a, __b);
27077 }
27078 
27079 __extension__ extern __inline int64x2_t
27080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s64(int64x2_t __a,const int __b)27081 vshrq_n_s64 (int64x2_t __a, const int __b)
27082 {
27083   return (int64x2_t) __builtin_aarch64_ashrv2di (__a, __b);
27084 }
27085 
27086 __extension__ extern __inline uint8x16_t
27087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u8(uint8x16_t __a,const int __b)27088 vshrq_n_u8 (uint8x16_t __a, const int __b)
27089 {
27090   return (uint8x16_t) __builtin_aarch64_lshrv16qi ((int8x16_t) __a, __b);
27091 }
27092 
27093 __extension__ extern __inline uint16x8_t
27094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u16(uint16x8_t __a,const int __b)27095 vshrq_n_u16 (uint16x8_t __a, const int __b)
27096 {
27097   return (uint16x8_t) __builtin_aarch64_lshrv8hi ((int16x8_t) __a, __b);
27098 }
27099 
27100 __extension__ extern __inline uint32x4_t
27101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u32(uint32x4_t __a,const int __b)27102 vshrq_n_u32 (uint32x4_t __a, const int __b)
27103 {
27104   return (uint32x4_t) __builtin_aarch64_lshrv4si ((int32x4_t) __a, __b);
27105 }
27106 
27107 __extension__ extern __inline uint64x2_t
27108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u64(uint64x2_t __a,const int __b)27109 vshrq_n_u64 (uint64x2_t __a, const int __b)
27110 {
27111   return (uint64x2_t) __builtin_aarch64_lshrv2di ((int64x2_t) __a, __b);
27112 }
27113 
27114 __extension__ extern __inline int64_t
27115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrd_n_s64(int64_t __a,const int __b)27116 vshrd_n_s64 (int64_t __a, const int __b)
27117 {
27118   return __builtin_aarch64_ashr_simddi (__a, __b);
27119 }
27120 
27121 __extension__ extern __inline uint64_t
27122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrd_n_u64(uint64_t __a,const int __b)27123 vshrd_n_u64 (uint64_t __a, const int __b)
27124 {
27125   return __builtin_aarch64_lshr_simddi_uus (__a, __b);
27126 }
27127 
27128 /* vsli */
27129 
27130 __extension__ extern __inline int8x8_t
27131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s8(int8x8_t __a,int8x8_t __b,const int __c)27132 vsli_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
27133 {
27134   return (int8x8_t) __builtin_aarch64_ssli_nv8qi (__a, __b, __c);
27135 }
27136 
27137 __extension__ extern __inline int16x4_t
27138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s16(int16x4_t __a,int16x4_t __b,const int __c)27139 vsli_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
27140 {
27141   return (int16x4_t) __builtin_aarch64_ssli_nv4hi (__a, __b, __c);
27142 }
27143 
27144 __extension__ extern __inline int32x2_t
27145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s32(int32x2_t __a,int32x2_t __b,const int __c)27146 vsli_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
27147 {
27148   return (int32x2_t) __builtin_aarch64_ssli_nv2si (__a, __b, __c);
27149 }
27150 
27151 __extension__ extern __inline int64x1_t
27152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s64(int64x1_t __a,int64x1_t __b,const int __c)27153 vsli_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
27154 {
27155   return (int64x1_t) {__builtin_aarch64_ssli_ndi (__a[0], __b[0], __c)};
27156 }
27157 
27158 __extension__ extern __inline uint8x8_t
27159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)27160 vsli_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
27161 {
27162   return __builtin_aarch64_usli_nv8qi_uuus (__a, __b, __c);
27163 }
27164 
27165 __extension__ extern __inline uint16x4_t
27166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)27167 vsli_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
27168 {
27169   return __builtin_aarch64_usli_nv4hi_uuus (__a, __b, __c);
27170 }
27171 
27172 __extension__ extern __inline uint32x2_t
27173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)27174 vsli_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
27175 {
27176   return __builtin_aarch64_usli_nv2si_uuus (__a, __b, __c);
27177 }
27178 
27179 __extension__ extern __inline uint64x1_t
27180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)27181 vsli_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
27182 {
27183   return (uint64x1_t) {__builtin_aarch64_usli_ndi_uuus (__a[0], __b[0], __c)};
27184 }
27185 
27186 __extension__ extern __inline poly64x1_t
27187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_p64(poly64x1_t __a,poly64x1_t __b,const int __c)27188 vsli_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
27189 {
27190   return (poly64x1_t) {__builtin_aarch64_ssli_ndi_ppps (__a[0], __b[0], __c)};
27191 }
27192 
27193 __extension__ extern __inline int8x16_t
27194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)27195 vsliq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
27196 {
27197   return (int8x16_t) __builtin_aarch64_ssli_nv16qi (__a, __b, __c);
27198 }
27199 
27200 __extension__ extern __inline int16x8_t
27201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)27202 vsliq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
27203 {
27204   return (int16x8_t) __builtin_aarch64_ssli_nv8hi (__a, __b, __c);
27205 }
27206 
27207 __extension__ extern __inline int32x4_t
27208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)27209 vsliq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
27210 {
27211   return (int32x4_t) __builtin_aarch64_ssli_nv4si (__a, __b, __c);
27212 }
27213 
27214 __extension__ extern __inline int64x2_t
27215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)27216 vsliq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
27217 {
27218   return (int64x2_t) __builtin_aarch64_ssli_nv2di (__a, __b, __c);
27219 }
27220 
27221 __extension__ extern __inline uint8x16_t
27222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)27223 vsliq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
27224 {
27225   return __builtin_aarch64_usli_nv16qi_uuus (__a, __b, __c);
27226 }
27227 
27228 __extension__ extern __inline uint16x8_t
27229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)27230 vsliq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
27231 {
27232   return __builtin_aarch64_usli_nv8hi_uuus (__a, __b, __c);
27233 }
27234 
27235 __extension__ extern __inline uint32x4_t
27236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)27237 vsliq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
27238 {
27239   return __builtin_aarch64_usli_nv4si_uuus (__a, __b, __c);
27240 }
27241 
27242 __extension__ extern __inline uint64x2_t
27243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)27244 vsliq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
27245 {
27246   return __builtin_aarch64_usli_nv2di_uuus (__a, __b, __c);
27247 }
27248 
27249 __extension__ extern __inline poly64x2_t
27250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_p64(poly64x2_t __a,poly64x2_t __b,const int __c)27251 vsliq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
27252 {
27253   return __builtin_aarch64_ssli_nv2di_ppps (__a, __b, __c);
27254 }
27255 
27256 __extension__ extern __inline int64_t
27257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vslid_n_s64(int64_t __a,int64_t __b,const int __c)27258 vslid_n_s64 (int64_t __a, int64_t __b, const int __c)
27259 {
27260   return __builtin_aarch64_ssli_ndi (__a, __b, __c);
27261 }
27262 
27263 __extension__ extern __inline uint64_t
27264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vslid_n_u64(uint64_t __a,uint64_t __b,const int __c)27265 vslid_n_u64 (uint64_t __a, uint64_t __b, const int __c)
27266 {
27267   return __builtin_aarch64_usli_ndi_uuus (__a, __b, __c);
27268 }
27269 
27270 /* vsqadd */
27271 
27272 __extension__ extern __inline uint8x8_t
27273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadd_u8(uint8x8_t __a,int8x8_t __b)27274 vsqadd_u8 (uint8x8_t __a, int8x8_t __b)
27275 {
27276   return __builtin_aarch64_usqaddv8qi_uus (__a, __b);
27277 }
27278 
27279 __extension__ extern __inline uint16x4_t
27280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadd_u16(uint16x4_t __a,int16x4_t __b)27281 vsqadd_u16 (uint16x4_t __a, int16x4_t __b)
27282 {
27283   return __builtin_aarch64_usqaddv4hi_uus (__a, __b);
27284 }
27285 
27286 __extension__ extern __inline uint32x2_t
27287 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadd_u32(uint32x2_t __a,int32x2_t __b)27288 vsqadd_u32 (uint32x2_t __a, int32x2_t __b)
27289 {
27290   return __builtin_aarch64_usqaddv2si_uus (__a, __b);
27291 }
27292 
27293 __extension__ extern __inline uint64x1_t
27294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadd_u64(uint64x1_t __a,int64x1_t __b)27295 vsqadd_u64 (uint64x1_t __a, int64x1_t __b)
27296 {
27297   return (uint64x1_t) {__builtin_aarch64_usqadddi_uus (__a[0], __b[0])};
27298 }
27299 
27300 __extension__ extern __inline uint8x16_t
27301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddq_u8(uint8x16_t __a,int8x16_t __b)27302 vsqaddq_u8 (uint8x16_t __a, int8x16_t __b)
27303 {
27304   return __builtin_aarch64_usqaddv16qi_uus (__a, __b);
27305 }
27306 
27307 __extension__ extern __inline uint16x8_t
27308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddq_u16(uint16x8_t __a,int16x8_t __b)27309 vsqaddq_u16 (uint16x8_t __a, int16x8_t __b)
27310 {
27311   return __builtin_aarch64_usqaddv8hi_uus (__a, __b);
27312 }
27313 
27314 __extension__ extern __inline uint32x4_t
27315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddq_u32(uint32x4_t __a,int32x4_t __b)27316 vsqaddq_u32 (uint32x4_t __a, int32x4_t __b)
27317 {
27318   return __builtin_aarch64_usqaddv4si_uus (__a, __b);
27319 }
27320 
27321 __extension__ extern __inline uint64x2_t
27322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddq_u64(uint64x2_t __a,int64x2_t __b)27323 vsqaddq_u64 (uint64x2_t __a, int64x2_t __b)
27324 {
27325   return __builtin_aarch64_usqaddv2di_uus (__a, __b);
27326 }
27327 
27328 __extension__ extern __inline uint8_t
27329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddb_u8(uint8_t __a,int8_t __b)27330 vsqaddb_u8 (uint8_t __a, int8_t __b)
27331 {
27332   return __builtin_aarch64_usqaddqi_uus (__a, __b);
27333 }
27334 
27335 __extension__ extern __inline uint16_t
27336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddh_u16(uint16_t __a,int16_t __b)27337 vsqaddh_u16 (uint16_t __a, int16_t __b)
27338 {
27339   return __builtin_aarch64_usqaddhi_uus (__a, __b);
27340 }
27341 
27342 __extension__ extern __inline uint32_t
27343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadds_u32(uint32_t __a,int32_t __b)27344 vsqadds_u32 (uint32_t __a, int32_t __b)
27345 {
27346   return __builtin_aarch64_usqaddsi_uus (__a, __b);
27347 }
27348 
27349 __extension__ extern __inline uint64_t
27350 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddd_u64(uint64_t __a,int64_t __b)27351 vsqaddd_u64 (uint64_t __a, int64_t __b)
27352 {
27353   return __builtin_aarch64_usqadddi_uus (__a, __b);
27354 }
27355 
27356 /* vsqrt */
27357 __extension__ extern __inline float32x2_t
27358 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrt_f32(float32x2_t __a)27359 vsqrt_f32 (float32x2_t __a)
27360 {
27361   return __builtin_aarch64_sqrtv2sf (__a);
27362 }
27363 
27364 __extension__ extern __inline float32x4_t
27365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrtq_f32(float32x4_t __a)27366 vsqrtq_f32 (float32x4_t __a)
27367 {
27368   return __builtin_aarch64_sqrtv4sf (__a);
27369 }
27370 
27371 __extension__ extern __inline float64x1_t
27372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrt_f64(float64x1_t __a)27373 vsqrt_f64 (float64x1_t __a)
27374 {
27375   return (float64x1_t) { __builtin_aarch64_sqrtdf (__a[0]) };
27376 }
27377 
27378 __extension__ extern __inline float64x2_t
27379 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrtq_f64(float64x2_t __a)27380 vsqrtq_f64 (float64x2_t __a)
27381 {
27382   return __builtin_aarch64_sqrtv2df (__a);
27383 }
27384 
27385 /* vsra */
27386 
27387 __extension__ extern __inline int8x8_t
27388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)27389 vsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
27390 {
27391   return (int8x8_t) __builtin_aarch64_ssra_nv8qi (__a, __b, __c);
27392 }
27393 
27394 __extension__ extern __inline int16x4_t
27395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)27396 vsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
27397 {
27398   return (int16x4_t) __builtin_aarch64_ssra_nv4hi (__a, __b, __c);
27399 }
27400 
27401 __extension__ extern __inline int32x2_t
27402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)27403 vsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
27404 {
27405   return (int32x2_t) __builtin_aarch64_ssra_nv2si (__a, __b, __c);
27406 }
27407 
27408 __extension__ extern __inline int64x1_t
27409 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)27410 vsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
27411 {
27412   return (int64x1_t) {__builtin_aarch64_ssra_ndi (__a[0], __b[0], __c)};
27413 }
27414 
27415 __extension__ extern __inline uint8x8_t
27416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)27417 vsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
27418 {
27419   return __builtin_aarch64_usra_nv8qi_uuus (__a, __b, __c);
27420 }
27421 
27422 __extension__ extern __inline uint16x4_t
27423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)27424 vsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
27425 {
27426   return __builtin_aarch64_usra_nv4hi_uuus (__a, __b, __c);
27427 }
27428 
27429 __extension__ extern __inline uint32x2_t
27430 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)27431 vsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
27432 {
27433   return __builtin_aarch64_usra_nv2si_uuus (__a, __b, __c);
27434 }
27435 
27436 __extension__ extern __inline uint64x1_t
27437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)27438 vsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
27439 {
27440   return (uint64x1_t) {__builtin_aarch64_usra_ndi_uuus (__a[0], __b[0], __c)};
27441 }
27442 
27443 __extension__ extern __inline int8x16_t
27444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)27445 vsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
27446 {
27447   return (int8x16_t) __builtin_aarch64_ssra_nv16qi (__a, __b, __c);
27448 }
27449 
27450 __extension__ extern __inline int16x8_t
27451 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)27452 vsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
27453 {
27454   return (int16x8_t) __builtin_aarch64_ssra_nv8hi (__a, __b, __c);
27455 }
27456 
27457 __extension__ extern __inline int32x4_t
27458 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)27459 vsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
27460 {
27461   return (int32x4_t) __builtin_aarch64_ssra_nv4si (__a, __b, __c);
27462 }
27463 
27464 __extension__ extern __inline int64x2_t
27465 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)27466 vsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
27467 {
27468   return (int64x2_t) __builtin_aarch64_ssra_nv2di (__a, __b, __c);
27469 }
27470 
27471 __extension__ extern __inline uint8x16_t
27472 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)27473 vsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
27474 {
27475   return __builtin_aarch64_usra_nv16qi_uuus (__a, __b, __c);
27476 }
27477 
27478 __extension__ extern __inline uint16x8_t
27479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)27480 vsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
27481 {
27482   return __builtin_aarch64_usra_nv8hi_uuus (__a, __b, __c);
27483 }
27484 
27485 __extension__ extern __inline uint32x4_t
27486 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)27487 vsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
27488 {
27489   return __builtin_aarch64_usra_nv4si_uuus (__a, __b, __c);
27490 }
27491 
27492 __extension__ extern __inline uint64x2_t
27493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)27494 vsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
27495 {
27496   return __builtin_aarch64_usra_nv2di_uuus (__a, __b, __c);
27497 }
27498 
27499 __extension__ extern __inline int64_t
27500 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsrad_n_s64(int64_t __a,int64_t __b,const int __c)27501 vsrad_n_s64 (int64_t __a, int64_t __b, const int __c)
27502 {
27503   return __builtin_aarch64_ssra_ndi (__a, __b, __c);
27504 }
27505 
27506 __extension__ extern __inline uint64_t
27507 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsrad_n_u64(uint64_t __a,uint64_t __b,const int __c)27508 vsrad_n_u64 (uint64_t __a, uint64_t __b, const int __c)
27509 {
27510   return __builtin_aarch64_usra_ndi_uuus (__a, __b, __c);
27511 }
27512 
27513 /* vsri */
27514 
27515 __extension__ extern __inline int8x8_t
27516 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s8(int8x8_t __a,int8x8_t __b,const int __c)27517 vsri_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
27518 {
27519   return (int8x8_t) __builtin_aarch64_ssri_nv8qi (__a, __b, __c);
27520 }
27521 
27522 __extension__ extern __inline int16x4_t
27523 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s16(int16x4_t __a,int16x4_t __b,const int __c)27524 vsri_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
27525 {
27526   return (int16x4_t) __builtin_aarch64_ssri_nv4hi (__a, __b, __c);
27527 }
27528 
27529 __extension__ extern __inline int32x2_t
27530 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s32(int32x2_t __a,int32x2_t __b,const int __c)27531 vsri_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
27532 {
27533   return (int32x2_t) __builtin_aarch64_ssri_nv2si (__a, __b, __c);
27534 }
27535 
27536 __extension__ extern __inline int64x1_t
27537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s64(int64x1_t __a,int64x1_t __b,const int __c)27538 vsri_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
27539 {
27540   return (int64x1_t) {__builtin_aarch64_ssri_ndi (__a[0], __b[0], __c)};
27541 }
27542 
27543 __extension__ extern __inline uint8x8_t
27544 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)27545 vsri_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
27546 {
27547   return __builtin_aarch64_usri_nv8qi_uuus (__a, __b, __c);
27548 }
27549 
27550 __extension__ extern __inline uint16x4_t
27551 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)27552 vsri_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
27553 {
27554   return __builtin_aarch64_usri_nv4hi_uuus (__a, __b, __c);
27555 }
27556 
27557 __extension__ extern __inline uint32x2_t
27558 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)27559 vsri_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
27560 {
27561   return __builtin_aarch64_usri_nv2si_uuus (__a, __b, __c);
27562 }
27563 
27564 __extension__ extern __inline uint64x1_t
27565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)27566 vsri_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
27567 {
27568   return (uint64x1_t) {__builtin_aarch64_usri_ndi_uuus (__a[0], __b[0], __c)};
27569 }
27570 
27571 __extension__ extern __inline int8x16_t
27572 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)27573 vsriq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
27574 {
27575   return (int8x16_t) __builtin_aarch64_ssri_nv16qi (__a, __b, __c);
27576 }
27577 
27578 __extension__ extern __inline int16x8_t
27579 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)27580 vsriq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
27581 {
27582   return (int16x8_t) __builtin_aarch64_ssri_nv8hi (__a, __b, __c);
27583 }
27584 
27585 __extension__ extern __inline int32x4_t
27586 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)27587 vsriq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
27588 {
27589   return (int32x4_t) __builtin_aarch64_ssri_nv4si (__a, __b, __c);
27590 }
27591 
27592 __extension__ extern __inline int64x2_t
27593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)27594 vsriq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
27595 {
27596   return (int64x2_t) __builtin_aarch64_ssri_nv2di (__a, __b, __c);
27597 }
27598 
27599 __extension__ extern __inline uint8x16_t
27600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)27601 vsriq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
27602 {
27603   return __builtin_aarch64_usri_nv16qi_uuus (__a, __b, __c);
27604 }
27605 
27606 __extension__ extern __inline uint16x8_t
27607 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)27608 vsriq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
27609 {
27610   return __builtin_aarch64_usri_nv8hi_uuus (__a, __b, __c);
27611 }
27612 
27613 __extension__ extern __inline uint32x4_t
27614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)27615 vsriq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
27616 {
27617   return __builtin_aarch64_usri_nv4si_uuus (__a, __b, __c);
27618 }
27619 
27620 __extension__ extern __inline uint64x2_t
27621 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)27622 vsriq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
27623 {
27624   return __builtin_aarch64_usri_nv2di_uuus (__a, __b, __c);
27625 }
27626 
27627 __extension__ extern __inline int64_t
27628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsrid_n_s64(int64_t __a,int64_t __b,const int __c)27629 vsrid_n_s64 (int64_t __a, int64_t __b, const int __c)
27630 {
27631   return __builtin_aarch64_ssri_ndi (__a, __b, __c);
27632 }
27633 
27634 __extension__ extern __inline uint64_t
27635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsrid_n_u64(uint64_t __a,uint64_t __b,const int __c)27636 vsrid_n_u64 (uint64_t __a, uint64_t __b, const int __c)
27637 {
27638   return __builtin_aarch64_usri_ndi_uuus (__a, __b, __c);
27639 }
27640 
27641 /* vst1 */
27642 
27643 __extension__ extern __inline void
27644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16(float16_t * __a,float16x4_t __b)27645 vst1_f16 (float16_t *__a, float16x4_t __b)
27646 {
27647   __builtin_aarch64_st1v4hf (__a, __b);
27648 }
27649 
27650 __extension__ extern __inline void
27651 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32(float32_t * __a,float32x2_t __b)27652 vst1_f32 (float32_t *__a, float32x2_t __b)
27653 {
27654   __builtin_aarch64_st1v2sf ((__builtin_aarch64_simd_sf *) __a, __b);
27655 }
27656 
27657 __extension__ extern __inline void
27658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f64(float64_t * __a,float64x1_t __b)27659 vst1_f64 (float64_t *__a, float64x1_t __b)
27660 {
27661   *__a = __b[0];
27662 }
27663 
27664 __extension__ extern __inline void
27665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8(poly8_t * __a,poly8x8_t __b)27666 vst1_p8 (poly8_t *__a, poly8x8_t __b)
27667 {
27668   __builtin_aarch64_st1v8qi ((__builtin_aarch64_simd_qi *) __a,
27669 			     (int8x8_t) __b);
27670 }
27671 
27672 __extension__ extern __inline void
27673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16(poly16_t * __a,poly16x4_t __b)27674 vst1_p16 (poly16_t *__a, poly16x4_t __b)
27675 {
27676   __builtin_aarch64_st1v4hi ((__builtin_aarch64_simd_hi *) __a,
27677 			     (int16x4_t) __b);
27678 }
27679 
27680 __extension__ extern __inline void
27681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64(poly64_t * __a,poly64x1_t __b)27682 vst1_p64 (poly64_t *__a, poly64x1_t __b)
27683 {
27684   *__a = __b[0];
27685 }
27686 
27687 __extension__ extern __inline void
27688 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8(int8_t * __a,int8x8_t __b)27689 vst1_s8 (int8_t *__a, int8x8_t __b)
27690 {
27691   __builtin_aarch64_st1v8qi ((__builtin_aarch64_simd_qi *) __a, __b);
27692 }
27693 
27694 __extension__ extern __inline void
27695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16(int16_t * __a,int16x4_t __b)27696 vst1_s16 (int16_t *__a, int16x4_t __b)
27697 {
27698   __builtin_aarch64_st1v4hi ((__builtin_aarch64_simd_hi *) __a, __b);
27699 }
27700 
27701 __extension__ extern __inline void
27702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32(int32_t * __a,int32x2_t __b)27703 vst1_s32 (int32_t *__a, int32x2_t __b)
27704 {
27705   __builtin_aarch64_st1v2si ((__builtin_aarch64_simd_si *) __a, __b);
27706 }
27707 
27708 __extension__ extern __inline void
27709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64(int64_t * __a,int64x1_t __b)27710 vst1_s64 (int64_t *__a, int64x1_t __b)
27711 {
27712   *__a = __b[0];
27713 }
27714 
27715 __extension__ extern __inline void
27716 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8(uint8_t * __a,uint8x8_t __b)27717 vst1_u8 (uint8_t *__a, uint8x8_t __b)
27718 {
27719   __builtin_aarch64_st1v8qi ((__builtin_aarch64_simd_qi *) __a,
27720 			     (int8x8_t) __b);
27721 }
27722 
27723 __extension__ extern __inline void
27724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16(uint16_t * __a,uint16x4_t __b)27725 vst1_u16 (uint16_t *__a, uint16x4_t __b)
27726 {
27727   __builtin_aarch64_st1v4hi ((__builtin_aarch64_simd_hi *) __a,
27728 			     (int16x4_t) __b);
27729 }
27730 
27731 __extension__ extern __inline void
27732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32(uint32_t * __a,uint32x2_t __b)27733 vst1_u32 (uint32_t *__a, uint32x2_t __b)
27734 {
27735   __builtin_aarch64_st1v2si ((__builtin_aarch64_simd_si *) __a,
27736 			     (int32x2_t) __b);
27737 }
27738 
27739 __extension__ extern __inline void
27740 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64(uint64_t * __a,uint64x1_t __b)27741 vst1_u64 (uint64_t *__a, uint64x1_t __b)
27742 {
27743   *__a = __b[0];
27744 }
27745 
27746 /* vst1q */
27747 
27748 __extension__ extern __inline void
27749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16(float16_t * __a,float16x8_t __b)27750 vst1q_f16 (float16_t *__a, float16x8_t __b)
27751 {
27752   __builtin_aarch64_st1v8hf (__a, __b);
27753 }
27754 
27755 __extension__ extern __inline void
27756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32(float32_t * __a,float32x4_t __b)27757 vst1q_f32 (float32_t *__a, float32x4_t __b)
27758 {
27759   __builtin_aarch64_st1v4sf ((__builtin_aarch64_simd_sf *) __a, __b);
27760 }
27761 
27762 __extension__ extern __inline void
27763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f64(float64_t * __a,float64x2_t __b)27764 vst1q_f64 (float64_t *__a, float64x2_t __b)
27765 {
27766   __builtin_aarch64_st1v2df ((__builtin_aarch64_simd_df *) __a, __b);
27767 }
27768 
27769 __extension__ extern __inline void
27770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8(poly8_t * __a,poly8x16_t __b)27771 vst1q_p8 (poly8_t *__a, poly8x16_t __b)
27772 {
27773   __builtin_aarch64_st1v16qi ((__builtin_aarch64_simd_qi *) __a,
27774 			      (int8x16_t) __b);
27775 }
27776 
27777 __extension__ extern __inline void
27778 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16(poly16_t * __a,poly16x8_t __b)27779 vst1q_p16 (poly16_t *__a, poly16x8_t __b)
27780 {
27781   __builtin_aarch64_st1v8hi ((__builtin_aarch64_simd_hi *) __a,
27782 			     (int16x8_t) __b);
27783 }
27784 
27785 __extension__ extern __inline void
27786 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64(poly64_t * __a,poly64x2_t __b)27787 vst1q_p64 (poly64_t *__a, poly64x2_t __b)
27788 {
27789   __builtin_aarch64_st1v2di_sp ((__builtin_aarch64_simd_di *) __a,
27790 				(poly64x2_t) __b);
27791 }
27792 
27793 __extension__ extern __inline void
27794 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8(int8_t * __a,int8x16_t __b)27795 vst1q_s8 (int8_t *__a, int8x16_t __b)
27796 {
27797   __builtin_aarch64_st1v16qi ((__builtin_aarch64_simd_qi *) __a, __b);
27798 }
27799 
27800 __extension__ extern __inline void
27801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16(int16_t * __a,int16x8_t __b)27802 vst1q_s16 (int16_t *__a, int16x8_t __b)
27803 {
27804   __builtin_aarch64_st1v8hi ((__builtin_aarch64_simd_hi *) __a, __b);
27805 }
27806 
27807 __extension__ extern __inline void
27808 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32(int32_t * __a,int32x4_t __b)27809 vst1q_s32 (int32_t *__a, int32x4_t __b)
27810 {
27811   __builtin_aarch64_st1v4si ((__builtin_aarch64_simd_si *) __a, __b);
27812 }
27813 
27814 __extension__ extern __inline void
27815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64(int64_t * __a,int64x2_t __b)27816 vst1q_s64 (int64_t *__a, int64x2_t __b)
27817 {
27818   __builtin_aarch64_st1v2di ((__builtin_aarch64_simd_di *) __a, __b);
27819 }
27820 
27821 __extension__ extern __inline void
27822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8(uint8_t * __a,uint8x16_t __b)27823 vst1q_u8 (uint8_t *__a, uint8x16_t __b)
27824 {
27825   __builtin_aarch64_st1v16qi ((__builtin_aarch64_simd_qi *) __a,
27826 			      (int8x16_t) __b);
27827 }
27828 
27829 __extension__ extern __inline void
27830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16(uint16_t * __a,uint16x8_t __b)27831 vst1q_u16 (uint16_t *__a, uint16x8_t __b)
27832 {
27833   __builtin_aarch64_st1v8hi ((__builtin_aarch64_simd_hi *) __a,
27834 			     (int16x8_t) __b);
27835 }
27836 
27837 __extension__ extern __inline void
27838 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32(uint32_t * __a,uint32x4_t __b)27839 vst1q_u32 (uint32_t *__a, uint32x4_t __b)
27840 {
27841   __builtin_aarch64_st1v4si ((__builtin_aarch64_simd_si *) __a,
27842 			     (int32x4_t) __b);
27843 }
27844 
27845 __extension__ extern __inline void
27846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64(uint64_t * __a,uint64x2_t __b)27847 vst1q_u64 (uint64_t *__a, uint64x2_t __b)
27848 {
27849   __builtin_aarch64_st1v2di ((__builtin_aarch64_simd_di *) __a,
27850 			     (int64x2_t) __b);
27851 }
27852 
27853 /* vst1_lane */
27854 
27855 __extension__ extern __inline void
27856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_f16(float16_t * __a,float16x4_t __b,const int __lane)27857 vst1_lane_f16 (float16_t *__a, float16x4_t __b, const int __lane)
27858 {
27859   *__a = __aarch64_vget_lane_any (__b, __lane);
27860 }
27861 
27862 __extension__ extern __inline void
27863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_f32(float32_t * __a,float32x2_t __b,const int __lane)27864 vst1_lane_f32 (float32_t *__a, float32x2_t __b, const int __lane)
27865 {
27866   *__a = __aarch64_vget_lane_any (__b, __lane);
27867 }
27868 
27869 __extension__ extern __inline void
27870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_f64(float64_t * __a,float64x1_t __b,const int __lane)27871 vst1_lane_f64 (float64_t *__a, float64x1_t __b, const int __lane)
27872 {
27873   *__a = __aarch64_vget_lane_any (__b, __lane);
27874 }
27875 
27876 __extension__ extern __inline void
27877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p8(poly8_t * __a,poly8x8_t __b,const int __lane)27878 vst1_lane_p8 (poly8_t *__a, poly8x8_t __b, const int __lane)
27879 {
27880   *__a = __aarch64_vget_lane_any (__b, __lane);
27881 }
27882 
27883 __extension__ extern __inline void
27884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p16(poly16_t * __a,poly16x4_t __b,const int __lane)27885 vst1_lane_p16 (poly16_t *__a, poly16x4_t __b, const int __lane)
27886 {
27887   *__a = __aarch64_vget_lane_any (__b, __lane);
27888 }
27889 
27890 __extension__ extern __inline void
27891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p64(poly64_t * __a,poly64x1_t __b,const int __lane)27892 vst1_lane_p64 (poly64_t *__a, poly64x1_t __b, const int __lane)
27893 {
27894   *__a = __aarch64_vget_lane_any (__b, __lane);
27895 }
27896 
27897 __extension__ extern __inline void
27898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s8(int8_t * __a,int8x8_t __b,const int __lane)27899 vst1_lane_s8 (int8_t *__a, int8x8_t __b, const int __lane)
27900 {
27901   *__a = __aarch64_vget_lane_any (__b, __lane);
27902 }
27903 
27904 __extension__ extern __inline void
27905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s16(int16_t * __a,int16x4_t __b,const int __lane)27906 vst1_lane_s16 (int16_t *__a, int16x4_t __b, const int __lane)
27907 {
27908   *__a = __aarch64_vget_lane_any (__b, __lane);
27909 }
27910 
27911 __extension__ extern __inline void
27912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s32(int32_t * __a,int32x2_t __b,const int __lane)27913 vst1_lane_s32 (int32_t *__a, int32x2_t __b, const int __lane)
27914 {
27915   *__a = __aarch64_vget_lane_any (__b, __lane);
27916 }
27917 
27918 __extension__ extern __inline void
27919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s64(int64_t * __a,int64x1_t __b,const int __lane)27920 vst1_lane_s64 (int64_t *__a, int64x1_t __b, const int __lane)
27921 {
27922   *__a = __aarch64_vget_lane_any (__b, __lane);
27923 }
27924 
27925 __extension__ extern __inline void
27926 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u8(uint8_t * __a,uint8x8_t __b,const int __lane)27927 vst1_lane_u8 (uint8_t *__a, uint8x8_t __b, const int __lane)
27928 {
27929   *__a = __aarch64_vget_lane_any (__b, __lane);
27930 }
27931 
27932 __extension__ extern __inline void
27933 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u16(uint16_t * __a,uint16x4_t __b,const int __lane)27934 vst1_lane_u16 (uint16_t *__a, uint16x4_t __b, const int __lane)
27935 {
27936   *__a = __aarch64_vget_lane_any (__b, __lane);
27937 }
27938 
27939 __extension__ extern __inline void
27940 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u32(uint32_t * __a,uint32x2_t __b,const int __lane)27941 vst1_lane_u32 (uint32_t *__a, uint32x2_t __b, const int __lane)
27942 {
27943   *__a = __aarch64_vget_lane_any (__b, __lane);
27944 }
27945 
27946 __extension__ extern __inline void
27947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u64(uint64_t * __a,uint64x1_t __b,const int __lane)27948 vst1_lane_u64 (uint64_t *__a, uint64x1_t __b, const int __lane)
27949 {
27950   *__a = __aarch64_vget_lane_any (__b, __lane);
27951 }
27952 
27953 /* vst1q_lane */
27954 
27955 __extension__ extern __inline void
27956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_f16(float16_t * __a,float16x8_t __b,const int __lane)27957 vst1q_lane_f16 (float16_t *__a, float16x8_t __b, const int __lane)
27958 {
27959   *__a = __aarch64_vget_lane_any (__b, __lane);
27960 }
27961 
27962 __extension__ extern __inline void
27963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_f32(float32_t * __a,float32x4_t __b,const int __lane)27964 vst1q_lane_f32 (float32_t *__a, float32x4_t __b, const int __lane)
27965 {
27966   *__a = __aarch64_vget_lane_any (__b, __lane);
27967 }
27968 
27969 __extension__ extern __inline void
27970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_f64(float64_t * __a,float64x2_t __b,const int __lane)27971 vst1q_lane_f64 (float64_t *__a, float64x2_t __b, const int __lane)
27972 {
27973   *__a = __aarch64_vget_lane_any (__b, __lane);
27974 }
27975 
27976 __extension__ extern __inline void
27977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p8(poly8_t * __a,poly8x16_t __b,const int __lane)27978 vst1q_lane_p8 (poly8_t *__a, poly8x16_t __b, const int __lane)
27979 {
27980   *__a = __aarch64_vget_lane_any (__b, __lane);
27981 }
27982 
27983 __extension__ extern __inline void
27984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p16(poly16_t * __a,poly16x8_t __b,const int __lane)27985 vst1q_lane_p16 (poly16_t *__a, poly16x8_t __b, const int __lane)
27986 {
27987   *__a = __aarch64_vget_lane_any (__b, __lane);
27988 }
27989 
27990 __extension__ extern __inline void
27991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p64(poly64_t * __a,poly64x2_t __b,const int __lane)27992 vst1q_lane_p64 (poly64_t *__a, poly64x2_t __b, const int __lane)
27993 {
27994   *__a = __aarch64_vget_lane_any (__b, __lane);
27995 }
27996 
27997 __extension__ extern __inline void
27998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s8(int8_t * __a,int8x16_t __b,const int __lane)27999 vst1q_lane_s8 (int8_t *__a, int8x16_t __b, const int __lane)
28000 {
28001   *__a = __aarch64_vget_lane_any (__b, __lane);
28002 }
28003 
28004 __extension__ extern __inline void
28005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s16(int16_t * __a,int16x8_t __b,const int __lane)28006 vst1q_lane_s16 (int16_t *__a, int16x8_t __b, const int __lane)
28007 {
28008   *__a = __aarch64_vget_lane_any (__b, __lane);
28009 }
28010 
28011 __extension__ extern __inline void
28012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s32(int32_t * __a,int32x4_t __b,const int __lane)28013 vst1q_lane_s32 (int32_t *__a, int32x4_t __b, const int __lane)
28014 {
28015   *__a = __aarch64_vget_lane_any (__b, __lane);
28016 }
28017 
28018 __extension__ extern __inline void
28019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s64(int64_t * __a,int64x2_t __b,const int __lane)28020 vst1q_lane_s64 (int64_t *__a, int64x2_t __b, const int __lane)
28021 {
28022   *__a = __aarch64_vget_lane_any (__b, __lane);
28023 }
28024 
28025 __extension__ extern __inline void
28026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u8(uint8_t * __a,uint8x16_t __b,const int __lane)28027 vst1q_lane_u8 (uint8_t *__a, uint8x16_t __b, const int __lane)
28028 {
28029   *__a = __aarch64_vget_lane_any (__b, __lane);
28030 }
28031 
28032 __extension__ extern __inline void
28033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u16(uint16_t * __a,uint16x8_t __b,const int __lane)28034 vst1q_lane_u16 (uint16_t *__a, uint16x8_t __b, const int __lane)
28035 {
28036   *__a = __aarch64_vget_lane_any (__b, __lane);
28037 }
28038 
28039 __extension__ extern __inline void
28040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u32(uint32_t * __a,uint32x4_t __b,const int __lane)28041 vst1q_lane_u32 (uint32_t *__a, uint32x4_t __b, const int __lane)
28042 {
28043   *__a = __aarch64_vget_lane_any (__b, __lane);
28044 }
28045 
28046 __extension__ extern __inline void
28047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u64(uint64_t * __a,uint64x2_t __b,const int __lane)28048 vst1q_lane_u64 (uint64_t *__a, uint64x2_t __b, const int __lane)
28049 {
28050   *__a = __aarch64_vget_lane_any (__b, __lane);
28051 }
28052 
28053 /* vst1x2 */
28054 
28055 __extension__ extern __inline void
28056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64_x2(int64_t * __a,int64x1x2_t __val)28057 vst1_s64_x2 (int64_t * __a, int64x1x2_t __val)
28058 {
28059   __builtin_aarch64_simd_oi __o;
28060   int64x2x2_t __temp;
28061   __temp.val[0]
28062     = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
28063   __temp.val[1]
28064     = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
28065   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[0], 0);
28066   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[1], 1);
28067   __builtin_aarch64_st1x2di ((__builtin_aarch64_simd_di *) __a, __o);
28068 }
28069 
28070 __extension__ extern __inline void
28071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64_x2(uint64_t * __a,uint64x1x2_t __val)28072 vst1_u64_x2 (uint64_t * __a, uint64x1x2_t __val)
28073 {
28074   __builtin_aarch64_simd_oi __o;
28075   uint64x2x2_t __temp;
28076   __temp.val[0]
28077     = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
28078   __temp.val[1]
28079     = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
28080   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[0], 0);
28081   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[1], 1);
28082   __builtin_aarch64_st1x2di ((__builtin_aarch64_simd_di *) __a, __o);
28083 }
28084 
28085 __extension__ extern __inline void
28086 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f64_x2(float64_t * __a,float64x1x2_t __val)28087 vst1_f64_x2 (float64_t * __a, float64x1x2_t __val)
28088 {
28089   __builtin_aarch64_simd_oi __o;
28090   float64x2x2_t __temp;
28091   __temp.val[0]
28092     = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
28093   __temp.val[1]
28094     = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
28095   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __temp.val[0], 0);
28096   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __temp.val[1], 1);
28097   __builtin_aarch64_st1x2df ((__builtin_aarch64_simd_df *) __a, __o);
28098 }
28099 
28100 __extension__ extern __inline void
28101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8_x2(int8_t * __a,int8x8x2_t __val)28102 vst1_s8_x2 (int8_t * __a, int8x8x2_t __val)
28103 {
28104   __builtin_aarch64_simd_oi __o;
28105   int8x16x2_t __temp;
28106   __temp.val[0]
28107     = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
28108   __temp.val[1]
28109     = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
28110   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
28111   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
28112   __builtin_aarch64_st1x2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28113 }
28114 
28115 __extension__ extern __inline void
28116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8_x2(poly8_t * __a,poly8x8x2_t __val)28117 vst1_p8_x2 (poly8_t * __a, poly8x8x2_t __val)
28118 {
28119   __builtin_aarch64_simd_oi __o;
28120   poly8x16x2_t __temp;
28121   __temp.val[0]
28122     = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
28123   __temp.val[1]
28124     = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
28125   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
28126   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
28127   __builtin_aarch64_st1x2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28128 }
28129 
28130 __extension__ extern __inline void
28131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16_x2(int16_t * __a,int16x4x2_t __val)28132 vst1_s16_x2 (int16_t * __a, int16x4x2_t __val)
28133 {
28134   __builtin_aarch64_simd_oi __o;
28135   int16x8x2_t __temp;
28136   __temp.val[0]
28137     = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
28138   __temp.val[1]
28139     = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
28140   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
28141   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
28142   __builtin_aarch64_st1x2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28143 }
28144 
28145 __extension__ extern __inline void
28146 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16_x2(poly16_t * __a,poly16x4x2_t __val)28147 vst1_p16_x2 (poly16_t * __a, poly16x4x2_t __val)
28148 {
28149   __builtin_aarch64_simd_oi __o;
28150   poly16x8x2_t __temp;
28151   __temp.val[0]
28152     = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
28153   __temp.val[1]
28154     = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
28155   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
28156   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
28157   __builtin_aarch64_st1x2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28158 }
28159 
28160 __extension__ extern __inline void
28161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32_x2(int32_t * __a,int32x2x2_t __val)28162 vst1_s32_x2 (int32_t * __a, int32x2x2_t __val)
28163 {
28164   __builtin_aarch64_simd_oi __o;
28165   int32x4x2_t __temp;
28166   __temp.val[0]
28167     = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
28168   __temp.val[1]
28169     = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
28170   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[0], 0);
28171   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[1], 1);
28172   __builtin_aarch64_st1x2v2si ((__builtin_aarch64_simd_si *) __a, __o);
28173 }
28174 
28175 __extension__ extern __inline void
28176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8_x2(uint8_t * __a,uint8x8x2_t __val)28177 vst1_u8_x2 (uint8_t * __a, uint8x8x2_t __val)
28178 {
28179   __builtin_aarch64_simd_oi __o;
28180   uint8x16x2_t __temp;
28181   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
28182   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
28183   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
28184   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
28185   __builtin_aarch64_st1x2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28186 }
28187 
28188 __extension__ extern __inline void
28189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16_x2(uint16_t * __a,uint16x4x2_t __val)28190 vst1_u16_x2 (uint16_t * __a, uint16x4x2_t __val)
28191 {
28192   __builtin_aarch64_simd_oi __o;
28193   uint16x8x2_t __temp;
28194   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
28195   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
28196   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
28197   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
28198   __builtin_aarch64_st1x2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28199 }
28200 
28201 __extension__ extern __inline void
28202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32_x2(uint32_t * __a,uint32x2x2_t __val)28203 vst1_u32_x2 (uint32_t * __a, uint32x2x2_t __val)
28204 {
28205   __builtin_aarch64_simd_oi __o;
28206   uint32x4x2_t __temp;
28207   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
28208   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
28209   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[0], 0);
28210   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[1], 1);
28211   __builtin_aarch64_st1x2v2si ((__builtin_aarch64_simd_si *) __a, __o);
28212 }
28213 
28214 __extension__ extern __inline void
28215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16_x2(float16_t * __a,float16x4x2_t __val)28216 vst1_f16_x2 (float16_t * __a, float16x4x2_t __val)
28217 {
28218   __builtin_aarch64_simd_oi __o;
28219   float16x8x2_t __temp;
28220   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
28221   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
28222   __o = __builtin_aarch64_set_qregoiv8hf (__o, __temp.val[0], 0);
28223   __o = __builtin_aarch64_set_qregoiv8hf (__o, __temp.val[1], 1);
28224   __builtin_aarch64_st1x2v4hf (__a, __o);
28225 }
28226 
28227 __extension__ extern __inline void
28228 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32_x2(float32_t * __a,float32x2x2_t __val)28229 vst1_f32_x2 (float32_t * __a, float32x2x2_t __val)
28230 {
28231   __builtin_aarch64_simd_oi __o;
28232   float32x4x2_t __temp;
28233   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
28234   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
28235   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __temp.val[0], 0);
28236   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __temp.val[1], 1);
28237   __builtin_aarch64_st1x2v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
28238 }
28239 
28240 __extension__ extern __inline void
28241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64_x2(poly64_t * __a,poly64x1x2_t __val)28242 vst1_p64_x2 (poly64_t * __a, poly64x1x2_t __val)
28243 {
28244   __builtin_aarch64_simd_oi __o;
28245   poly64x2x2_t __temp;
28246   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
28247   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
28248   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
28249 					       (poly64x2_t) __temp.val[0], 0);
28250   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
28251 					       (poly64x2_t) __temp.val[1], 1);
28252   __builtin_aarch64_st1x2di ((__builtin_aarch64_simd_di *) __a, __o);
28253 }
28254 
28255 __extension__ extern __inline void
28256 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8_x2(int8_t * __a,int8x16x2_t __val)28257 vst1q_s8_x2 (int8_t * __a, int8x16x2_t __val)
28258 {
28259   __builtin_aarch64_simd_oi __o;
28260   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
28261   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
28262   __builtin_aarch64_st1x2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28263 }
28264 
28265 __extension__ extern __inline void
28266 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8_x2(poly8_t * __a,poly8x16x2_t __val)28267 vst1q_p8_x2 (poly8_t * __a, poly8x16x2_t __val)
28268 {
28269   __builtin_aarch64_simd_oi __o;
28270   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
28271   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
28272   __builtin_aarch64_st1x2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28273 }
28274 
28275 __extension__ extern __inline void
28276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16_x2(int16_t * __a,int16x8x2_t __val)28277 vst1q_s16_x2 (int16_t * __a, int16x8x2_t __val)
28278 {
28279   __builtin_aarch64_simd_oi __o;
28280   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
28281   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
28282   __builtin_aarch64_st1x2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28283 }
28284 
28285 __extension__ extern __inline void
28286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16_x2(poly16_t * __a,poly16x8x2_t __val)28287 vst1q_p16_x2 (poly16_t * __a, poly16x8x2_t __val)
28288 {
28289   __builtin_aarch64_simd_oi __o;
28290   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
28291   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
28292   __builtin_aarch64_st1x2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28293 }
28294 
28295 __extension__ extern __inline void
28296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32_x2(int32_t * __a,int32x4x2_t __val)28297 vst1q_s32_x2 (int32_t * __a, int32x4x2_t __val)
28298 {
28299   __builtin_aarch64_simd_oi __o;
28300   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[0], 0);
28301   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[1], 1);
28302   __builtin_aarch64_st1x2v4si ((__builtin_aarch64_simd_si *) __a, __o);
28303 }
28304 
28305 __extension__ extern __inline void
28306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64_x2(int64_t * __a,int64x2x2_t __val)28307 vst1q_s64_x2 (int64_t * __a, int64x2x2_t __val)
28308 {
28309   __builtin_aarch64_simd_oi __o;
28310   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[0], 0);
28311   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[1], 1);
28312   __builtin_aarch64_st1x2v2di ((__builtin_aarch64_simd_di *) __a, __o);
28313 }
28314 
28315 __extension__ extern __inline void
28316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8_x2(uint8_t * __a,uint8x16x2_t __val)28317 vst1q_u8_x2 (uint8_t * __a, uint8x16x2_t __val)
28318 {
28319   __builtin_aarch64_simd_oi __o;
28320   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
28321   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
28322   __builtin_aarch64_st1x2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28323 }
28324 
28325 __extension__ extern __inline void
28326 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16_x2(uint16_t * __a,uint16x8x2_t __val)28327 vst1q_u16_x2 (uint16_t * __a, uint16x8x2_t __val)
28328 {
28329   __builtin_aarch64_simd_oi __o;
28330   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
28331   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
28332   __builtin_aarch64_st1x2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28333 }
28334 
28335 __extension__ extern __inline void
28336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32_x2(uint32_t * __a,uint32x4x2_t __val)28337 vst1q_u32_x2 (uint32_t * __a, uint32x4x2_t __val)
28338 {
28339   __builtin_aarch64_simd_oi __o;
28340   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[0], 0);
28341   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[1], 1);
28342   __builtin_aarch64_st1x2v4si ((__builtin_aarch64_simd_si *) __a, __o);
28343 }
28344 
28345 __extension__ extern __inline void
28346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64_x2(uint64_t * __a,uint64x2x2_t __val)28347 vst1q_u64_x2 (uint64_t * __a, uint64x2x2_t __val)
28348 {
28349   __builtin_aarch64_simd_oi __o;
28350   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[0], 0);
28351   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[1], 1);
28352   __builtin_aarch64_st1x2v2di ((__builtin_aarch64_simd_di *) __a, __o);
28353 }
28354 
28355 __extension__ extern __inline void
28356 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16_x2(float16_t * __a,float16x8x2_t __val)28357 vst1q_f16_x2 (float16_t * __a, float16x8x2_t __val)
28358 {
28359   __builtin_aarch64_simd_oi __o;
28360   __o = __builtin_aarch64_set_qregoiv8hf (__o, __val.val[0], 0);
28361   __o = __builtin_aarch64_set_qregoiv8hf (__o, __val.val[1], 1);
28362   __builtin_aarch64_st1x2v8hf (__a, __o);
28363 }
28364 
28365 __extension__ extern __inline void
28366 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32_x2(float32_t * __a,float32x4x2_t __val)28367 vst1q_f32_x2 (float32_t * __a, float32x4x2_t __val)
28368 {
28369   __builtin_aarch64_simd_oi __o;
28370   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __val.val[0], 0);
28371   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __val.val[1], 1);
28372   __builtin_aarch64_st1x2v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
28373 }
28374 
28375 __extension__ extern __inline void
28376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f64_x2(float64_t * __a,float64x2x2_t __val)28377 vst1q_f64_x2 (float64_t * __a, float64x2x2_t __val)
28378 {
28379   __builtin_aarch64_simd_oi __o;
28380   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __val.val[0], 0);
28381   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __val.val[1], 1);
28382   __builtin_aarch64_st1x2v2df ((__builtin_aarch64_simd_df *) __a, __o);
28383 }
28384 
28385 __extension__ extern __inline void
28386 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64_x2(poly64_t * __a,poly64x2x2_t __val)28387 vst1q_p64_x2 (poly64_t * __a, poly64x2x2_t __val)
28388 {
28389   __builtin_aarch64_simd_oi __o;
28390   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
28391 					       (poly64x2_t) __val.val[0], 0);
28392   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
28393 					       (poly64x2_t) __val.val[1], 1);
28394   __builtin_aarch64_st1x2v2di ((__builtin_aarch64_simd_di *) __a, __o);
28395 }
28396 
28397 /* vst1x3 */
28398 
28399 __extension__ extern __inline void
28400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64_x3(int64_t * __a,int64x1x3_t __val)28401 vst1_s64_x3 (int64_t * __a, int64x1x3_t __val)
28402 {
28403   __builtin_aarch64_simd_ci __o;
28404   int64x2x3_t __temp;
28405   __temp.val[0] = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
28406   __temp.val[1] = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
28407   __temp.val[2] = vcombine_s64 (__val.val[2], vcreate_s64 (__AARCH64_INT64_C (0)));
28408   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[0], 0);
28409   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[1], 1);
28410   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[2], 2);
28411   __builtin_aarch64_st1x3di ((__builtin_aarch64_simd_di *) __a, __o);
28412 }
28413 
28414 __extension__ extern __inline void
28415 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64_x3(uint64_t * __a,uint64x1x3_t __val)28416 vst1_u64_x3 (uint64_t * __a, uint64x1x3_t __val)
28417 {
28418   __builtin_aarch64_simd_ci __o;
28419   uint64x2x3_t __temp;
28420   __temp.val[0] = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
28421   __temp.val[1] = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
28422   __temp.val[2] = vcombine_u64 (__val.val[2], vcreate_u64 (__AARCH64_UINT64_C (0)));
28423   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[0], 0);
28424   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[1], 1);
28425   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[2], 2);
28426   __builtin_aarch64_st1x3di ((__builtin_aarch64_simd_di *) __a, __o);
28427 }
28428 
28429 __extension__ extern __inline void
28430 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f64_x3(float64_t * __a,float64x1x3_t __val)28431 vst1_f64_x3 (float64_t * __a, float64x1x3_t __val)
28432 {
28433   __builtin_aarch64_simd_ci __o;
28434   float64x2x3_t __temp;
28435   __temp.val[0] = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
28436   __temp.val[1] = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
28437   __temp.val[2] = vcombine_f64 (__val.val[2], vcreate_f64 (__AARCH64_UINT64_C (0)));
28438   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[0], 0);
28439   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[1], 1);
28440   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[2], 2);
28441   __builtin_aarch64_st1x3df ((__builtin_aarch64_simd_df *) __a, __o);
28442 }
28443 
28444 __extension__ extern __inline void
28445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8_x3(int8_t * __a,int8x8x3_t __val)28446 vst1_s8_x3 (int8_t * __a, int8x8x3_t __val)
28447 {
28448   __builtin_aarch64_simd_ci __o;
28449   int8x16x3_t __temp;
28450   __temp.val[0] = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
28451   __temp.val[1] = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
28452   __temp.val[2] = vcombine_s8 (__val.val[2], vcreate_s8 (__AARCH64_INT64_C (0)));
28453   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
28454   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
28455   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
28456   __builtin_aarch64_st1x3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28457 }
28458 
28459 __extension__ extern __inline void
28460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8_x3(poly8_t * __a,poly8x8x3_t __val)28461 vst1_p8_x3 (poly8_t * __a, poly8x8x3_t __val)
28462 {
28463   __builtin_aarch64_simd_ci __o;
28464   poly8x16x3_t __temp;
28465   __temp.val[0] = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
28466   __temp.val[1] = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
28467   __temp.val[2] = vcombine_p8 (__val.val[2], vcreate_p8 (__AARCH64_UINT64_C (0)));
28468   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
28469   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
28470   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
28471   __builtin_aarch64_st1x3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28472 }
28473 
28474 __extension__ extern __inline void
28475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16_x3(int16_t * __a,int16x4x3_t __val)28476 vst1_s16_x3 (int16_t * __a, int16x4x3_t __val)
28477 {
28478   __builtin_aarch64_simd_ci __o;
28479   int16x8x3_t __temp;
28480   __temp.val[0] = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
28481   __temp.val[1] = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
28482   __temp.val[2] = vcombine_s16 (__val.val[2], vcreate_s16 (__AARCH64_INT64_C (0)));
28483   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
28484   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
28485   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
28486   __builtin_aarch64_st1x3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28487 }
28488 
28489 __extension__ extern __inline void
28490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16_x3(poly16_t * __a,poly16x4x3_t __val)28491 vst1_p16_x3 (poly16_t * __a, poly16x4x3_t __val)
28492 {
28493   __builtin_aarch64_simd_ci __o;
28494   poly16x8x3_t __temp;
28495   __temp.val[0] = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
28496   __temp.val[1] = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
28497   __temp.val[2] = vcombine_p16 (__val.val[2], vcreate_p16 (__AARCH64_UINT64_C (0)));
28498   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
28499   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
28500   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
28501   __builtin_aarch64_st1x3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28502 }
28503 
28504 __extension__ extern __inline void
28505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32_x3(int32_t * __a,int32x2x3_t __val)28506 vst1_s32_x3 (int32_t * __a, int32x2x3_t __val)
28507 {
28508   __builtin_aarch64_simd_ci __o;
28509   int32x4x3_t __temp;
28510   __temp.val[0] = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
28511   __temp.val[1] = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
28512   __temp.val[2] = vcombine_s32 (__val.val[2], vcreate_s32 (__AARCH64_INT64_C (0)));
28513   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[0], 0);
28514   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[1], 1);
28515   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[2], 2);
28516   __builtin_aarch64_st1x3v2si ((__builtin_aarch64_simd_si *) __a, __o);
28517 }
28518 
28519 __extension__ extern __inline void
28520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8_x3(uint8_t * __a,uint8x8x3_t __val)28521 vst1_u8_x3 (uint8_t * __a, uint8x8x3_t __val)
28522 {
28523   __builtin_aarch64_simd_ci __o;
28524   uint8x16x3_t __temp;
28525   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
28526   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
28527   __temp.val[2] = vcombine_u8 (__val.val[2], vcreate_u8 (__AARCH64_UINT64_C (0)));
28528   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
28529   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
28530   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
28531   __builtin_aarch64_st1x3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28532 }
28533 
28534 __extension__ extern __inline void
28535 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16_x3(uint16_t * __a,uint16x4x3_t __val)28536 vst1_u16_x3 (uint16_t * __a, uint16x4x3_t __val)
28537 {
28538   __builtin_aarch64_simd_ci __o;
28539   uint16x8x3_t __temp;
28540   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
28541   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
28542   __temp.val[2] = vcombine_u16 (__val.val[2], vcreate_u16 (__AARCH64_UINT64_C (0)));
28543   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
28544   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
28545   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
28546   __builtin_aarch64_st1x3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28547 }
28548 
28549 __extension__ extern __inline void
28550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32_x3(uint32_t * __a,uint32x2x3_t __val)28551 vst1_u32_x3 (uint32_t * __a, uint32x2x3_t __val)
28552 {
28553   __builtin_aarch64_simd_ci __o;
28554   uint32x4x3_t __temp;
28555   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
28556   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
28557   __temp.val[2] = vcombine_u32 (__val.val[2], vcreate_u32 (__AARCH64_UINT64_C (0)));
28558   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[0], 0);
28559   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[1], 1);
28560   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[2], 2);
28561   __builtin_aarch64_st1x3v2si ((__builtin_aarch64_simd_si *) __a, __o);
28562 }
28563 
28564 __extension__ extern __inline void
28565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16_x3(float16_t * __a,float16x4x3_t __val)28566 vst1_f16_x3 (float16_t * __a, float16x4x3_t __val)
28567 {
28568   __builtin_aarch64_simd_ci __o;
28569   float16x8x3_t __temp;
28570   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
28571   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
28572   __temp.val[2] = vcombine_f16 (__val.val[2], vcreate_f16 (__AARCH64_UINT64_C (0)));
28573   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[0], 0);
28574   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[1], 1);
28575   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[2], 2);
28576   __builtin_aarch64_st1x3v4hf ((__builtin_aarch64_simd_hf *) __a, __o);
28577 }
28578 
28579 __extension__ extern __inline void
28580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32_x3(float32_t * __a,float32x2x3_t __val)28581 vst1_f32_x3 (float32_t * __a, float32x2x3_t __val)
28582 {
28583   __builtin_aarch64_simd_ci __o;
28584   float32x4x3_t __temp;
28585   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
28586   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
28587   __temp.val[2] = vcombine_f32 (__val.val[2], vcreate_f32 (__AARCH64_UINT64_C (0)));
28588   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[0], 0);
28589   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[1], 1);
28590   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[2], 2);
28591   __builtin_aarch64_st1x3v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
28592 }
28593 
28594 __extension__ extern __inline void
28595 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64_x3(poly64_t * __a,poly64x1x3_t __val)28596 vst1_p64_x3 (poly64_t * __a, poly64x1x3_t __val)
28597 {
28598   __builtin_aarch64_simd_ci __o;
28599   poly64x2x3_t __temp;
28600   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
28601   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
28602   __temp.val[2] = vcombine_p64 (__val.val[2], vcreate_p64 (__AARCH64_UINT64_C (0)));
28603   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28604 					       (poly64x2_t) __temp.val[0], 0);
28605   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28606 					       (poly64x2_t) __temp.val[1], 1);
28607   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28608 					       (poly64x2_t) __temp.val[2], 2);
28609   __builtin_aarch64_st1x3di ((__builtin_aarch64_simd_di *) __a, __o);
28610 }
28611 
28612 __extension__ extern __inline void
28613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8_x3(int8_t * __a,int8x16x3_t __val)28614 vst1q_s8_x3 (int8_t * __a, int8x16x3_t __val)
28615 {
28616   __builtin_aarch64_simd_ci __o;
28617   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
28618   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
28619   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
28620   __builtin_aarch64_st1x3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28621 }
28622 
28623 __extension__ extern __inline void
28624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8_x3(poly8_t * __a,poly8x16x3_t __val)28625 vst1q_p8_x3 (poly8_t * __a, poly8x16x3_t __val)
28626 {
28627   __builtin_aarch64_simd_ci __o;
28628   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
28629   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
28630   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
28631   __builtin_aarch64_st1x3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28632 }
28633 
28634 __extension__ extern __inline void
28635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16_x3(int16_t * __a,int16x8x3_t __val)28636 vst1q_s16_x3 (int16_t * __a, int16x8x3_t __val)
28637 {
28638   __builtin_aarch64_simd_ci __o;
28639   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
28640   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
28641   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
28642   __builtin_aarch64_st1x3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28643 }
28644 
28645 __extension__ extern __inline void
28646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16_x3(poly16_t * __a,poly16x8x3_t __val)28647 vst1q_p16_x3 (poly16_t * __a, poly16x8x3_t __val)
28648 {
28649   __builtin_aarch64_simd_ci __o;
28650   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
28651   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
28652   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
28653   __builtin_aarch64_st1x3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28654 }
28655 
28656 __extension__ extern __inline void
28657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32_x3(int32_t * __a,int32x4x3_t __val)28658 vst1q_s32_x3 (int32_t * __a, int32x4x3_t __val)
28659 {
28660   __builtin_aarch64_simd_ci __o;
28661   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[0], 0);
28662   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[1], 1);
28663   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[2], 2);
28664   __builtin_aarch64_st1x3v4si ((__builtin_aarch64_simd_si *) __a, __o);
28665 }
28666 
28667 __extension__ extern __inline void
28668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64_x3(int64_t * __a,int64x2x3_t __val)28669 vst1q_s64_x3 (int64_t * __a, int64x2x3_t __val)
28670 {
28671   __builtin_aarch64_simd_ci __o;
28672   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[0], 0);
28673   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[1], 1);
28674   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[2], 2);
28675   __builtin_aarch64_st1x3v2di ((__builtin_aarch64_simd_di *) __a, __o);
28676 }
28677 
28678 __extension__ extern __inline void
28679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8_x3(uint8_t * __a,uint8x16x3_t __val)28680 vst1q_u8_x3 (uint8_t * __a, uint8x16x3_t __val)
28681 {
28682   __builtin_aarch64_simd_ci __o;
28683   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
28684   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
28685   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
28686   __builtin_aarch64_st1x3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28687 }
28688 
28689 __extension__ extern __inline void
28690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16_x3(uint16_t * __a,uint16x8x3_t __val)28691 vst1q_u16_x3 (uint16_t * __a, uint16x8x3_t __val)
28692 {
28693   __builtin_aarch64_simd_ci __o;
28694   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
28695   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
28696   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
28697   __builtin_aarch64_st1x3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28698 }
28699 
28700 __extension__ extern __inline void
28701 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32_x3(uint32_t * __a,uint32x4x3_t __val)28702 vst1q_u32_x3 (uint32_t * __a, uint32x4x3_t __val)
28703 {
28704   __builtin_aarch64_simd_ci __o;
28705   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[0], 0);
28706   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[1], 1);
28707   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[2], 2);
28708   __builtin_aarch64_st1x3v4si ((__builtin_aarch64_simd_si *) __a, __o);
28709 }
28710 
28711 __extension__ extern __inline void
28712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64_x3(uint64_t * __a,uint64x2x3_t __val)28713 vst1q_u64_x3 (uint64_t * __a, uint64x2x3_t __val)
28714 {
28715   __builtin_aarch64_simd_ci __o;
28716   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[0], 0);
28717   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[1], 1);
28718   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[2], 2);
28719   __builtin_aarch64_st1x3v2di ((__builtin_aarch64_simd_di *) __a, __o);
28720 }
28721 
28722 __extension__ extern __inline void
28723 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16_x3(float16_t * __a,float16x8x3_t __val)28724 vst1q_f16_x3 (float16_t * __a, float16x8x3_t __val)
28725 {
28726   __builtin_aarch64_simd_ci __o;
28727   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[0], 0);
28728   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[1], 1);
28729   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[2], 2);
28730   __builtin_aarch64_st1x3v8hf ((__builtin_aarch64_simd_hf *) __a, __o);
28731 }
28732 
28733 __extension__ extern __inline void
28734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32_x3(float32_t * __a,float32x4x3_t __val)28735 vst1q_f32_x3 (float32_t * __a, float32x4x3_t __val)
28736 {
28737   __builtin_aarch64_simd_ci __o;
28738   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[0], 0);
28739   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[1], 1);
28740   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[2], 2);
28741   __builtin_aarch64_st1x3v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
28742 }
28743 
28744 __extension__ extern __inline void
28745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f64_x3(float64_t * __a,float64x2x3_t __val)28746 vst1q_f64_x3 (float64_t * __a, float64x2x3_t __val)
28747 {
28748   __builtin_aarch64_simd_ci __o;
28749   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[0], 0);
28750   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[1], 1);
28751   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[2], 2);
28752   __builtin_aarch64_st1x3v2df ((__builtin_aarch64_simd_df *) __a, __o);
28753 }
28754 
28755 __extension__ extern __inline void
28756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64_x3(poly64_t * __a,poly64x2x3_t __val)28757 vst1q_p64_x3 (poly64_t * __a, poly64x2x3_t __val)
28758 {
28759   __builtin_aarch64_simd_ci __o;
28760   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28761 					       (poly64x2_t) __val.val[0], 0);
28762   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28763 					       (poly64x2_t) __val.val[1], 1);
28764   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28765 					       (poly64x2_t) __val.val[2], 2);
28766   __builtin_aarch64_st1x3v2di ((__builtin_aarch64_simd_di *) __a, __o);
28767 }
28768 
28769 /* vst1(q)_x4.  */
28770 
28771 __extension__ extern __inline void
28772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8_x4(int8_t * __a,int8x8x4_t val)28773 vst1_s8_x4 (int8_t * __a, int8x8x4_t val)
28774 {
28775   union { int8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28776   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
28777 }
28778 
28779 __extension__ extern __inline void
28780 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8_x4(int8_t * __a,int8x16x4_t val)28781 vst1q_s8_x4 (int8_t * __a, int8x16x4_t val)
28782 {
28783   union { int8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28784   __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
28785 }
28786 
28787 __extension__ extern __inline void
28788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16_x4(int16_t * __a,int16x4x4_t val)28789 vst1_s16_x4 (int16_t * __a, int16x4x4_t val)
28790 {
28791   union { int16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28792   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
28793 }
28794 
28795 __extension__ extern __inline void
28796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16_x4(int16_t * __a,int16x8x4_t val)28797 vst1q_s16_x4 (int16_t * __a, int16x8x4_t val)
28798 {
28799   union { int16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28800   __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
28801 }
28802 
28803 __extension__ extern __inline void
28804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32_x4(int32_t * __a,int32x2x4_t val)28805 vst1_s32_x4 (int32_t * __a, int32x2x4_t val)
28806 {
28807   union { int32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28808   __builtin_aarch64_st1x4v2si ((__builtin_aarch64_simd_si *) __a, __u.__o);
28809 }
28810 
28811 __extension__ extern __inline void
28812 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32_x4(int32_t * __a,int32x4x4_t val)28813 vst1q_s32_x4 (int32_t * __a, int32x4x4_t val)
28814 {
28815   union { int32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28816   __builtin_aarch64_st1x4v4si ((__builtin_aarch64_simd_si *) __a, __u.__o);
28817 }
28818 
28819 __extension__ extern __inline void
28820 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8_x4(uint8_t * __a,uint8x8x4_t val)28821 vst1_u8_x4 (uint8_t * __a, uint8x8x4_t val)
28822 {
28823   union { uint8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28824   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
28825 }
28826 
28827 __extension__ extern __inline void
28828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8_x4(uint8_t * __a,uint8x16x4_t val)28829 vst1q_u8_x4 (uint8_t * __a, uint8x16x4_t val)
28830 {
28831   union { uint8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28832   __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
28833 }
28834 
28835 __extension__ extern __inline void
28836 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16_x4(uint16_t * __a,uint16x4x4_t val)28837 vst1_u16_x4 (uint16_t * __a, uint16x4x4_t val)
28838 {
28839   union { uint16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28840   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
28841 }
28842 
28843 __extension__ extern __inline void
28844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16_x4(uint16_t * __a,uint16x8x4_t val)28845 vst1q_u16_x4 (uint16_t * __a, uint16x8x4_t val)
28846 {
28847   union { uint16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28848   __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
28849 }
28850 
28851 __extension__ extern __inline void
28852 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32_x4(uint32_t * __a,uint32x2x4_t val)28853 vst1_u32_x4 (uint32_t * __a, uint32x2x4_t val)
28854 {
28855   union { uint32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28856   __builtin_aarch64_st1x4v2si ((__builtin_aarch64_simd_si *) __a, __u.__o);
28857 }
28858 
28859 __extension__ extern __inline void
28860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32_x4(uint32_t * __a,uint32x4x4_t val)28861 vst1q_u32_x4 (uint32_t * __a, uint32x4x4_t val)
28862 {
28863   union { uint32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28864   __builtin_aarch64_st1x4v4si ((__builtin_aarch64_simd_si *) __a, __u.__o);
28865 }
28866 
28867 __extension__ extern __inline void
28868 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16_x4(float16_t * __a,float16x4x4_t val)28869 vst1_f16_x4 (float16_t * __a, float16x4x4_t val)
28870 {
28871   union { float16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28872   __builtin_aarch64_st1x4v4hf ((__builtin_aarch64_simd_hf *) __a, __u.__o);
28873 }
28874 
28875 __extension__ extern __inline void
28876 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16_x4(float16_t * __a,float16x8x4_t val)28877 vst1q_f16_x4 (float16_t * __a, float16x8x4_t val)
28878 {
28879   union { float16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28880   __builtin_aarch64_st1x4v8hf ((__builtin_aarch64_simd_hf *) __a, __u.__o);
28881 }
28882 
28883 __extension__ extern __inline void
28884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32_x4(float32_t * __a,float32x2x4_t val)28885 vst1_f32_x4 (float32_t * __a, float32x2x4_t val)
28886 {
28887   union { float32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28888   __builtin_aarch64_st1x4v2sf ((__builtin_aarch64_simd_sf *) __a, __u.__o);
28889 }
28890 
28891 __extension__ extern __inline void
28892 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32_x4(float32_t * __a,float32x4x4_t val)28893 vst1q_f32_x4 (float32_t * __a, float32x4x4_t val)
28894 {
28895   union { float32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28896   __builtin_aarch64_st1x4v4sf ((__builtin_aarch64_simd_sf *) __a, __u.__o);
28897 }
28898 
28899 __extension__ extern __inline void
28900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8_x4(poly8_t * __a,poly8x8x4_t val)28901 vst1_p8_x4 (poly8_t * __a, poly8x8x4_t val)
28902 {
28903   union { poly8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28904   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
28905 }
28906 
28907 __extension__ extern __inline void
28908 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8_x4(poly8_t * __a,poly8x16x4_t val)28909 vst1q_p8_x4 (poly8_t * __a, poly8x16x4_t val)
28910 {
28911   union { poly8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28912   __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
28913 }
28914 
28915 __extension__ extern __inline void
28916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16_x4(poly16_t * __a,poly16x4x4_t val)28917 vst1_p16_x4 (poly16_t * __a, poly16x4x4_t val)
28918 {
28919   union { poly16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28920   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
28921 }
28922 
28923 __extension__ extern __inline void
28924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16_x4(poly16_t * __a,poly16x8x4_t val)28925 vst1q_p16_x4 (poly16_t * __a, poly16x8x4_t val)
28926 {
28927   union { poly16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28928   __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
28929 }
28930 
28931 __extension__ extern __inline void
28932 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64_x4(int64_t * __a,int64x1x4_t val)28933 vst1_s64_x4 (int64_t * __a, int64x1x4_t val)
28934 {
28935   union { int64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28936   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __u.__o);
28937 }
28938 
28939 __extension__ extern __inline void
28940 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64_x4(uint64_t * __a,uint64x1x4_t val)28941 vst1_u64_x4 (uint64_t * __a, uint64x1x4_t val)
28942 {
28943   union { uint64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28944   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __u.__o);
28945 }
28946 
28947 __extension__ extern __inline void
28948 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64_x4(poly64_t * __a,poly64x1x4_t val)28949 vst1_p64_x4 (poly64_t * __a, poly64x1x4_t val)
28950 {
28951   union { poly64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28952   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __u.__o);
28953 }
28954 
28955 __extension__ extern __inline void
28956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64_x4(int64_t * __a,int64x2x4_t val)28957 vst1q_s64_x4 (int64_t * __a, int64x2x4_t val)
28958 {
28959   union { int64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28960   __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
28961 }
28962 
28963 __extension__ extern __inline void
28964 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64_x4(uint64_t * __a,uint64x2x4_t val)28965 vst1q_u64_x4 (uint64_t * __a, uint64x2x4_t val)
28966 {
28967   union { uint64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28968   __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
28969 }
28970 
28971 __extension__ extern __inline void
28972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64_x4(poly64_t * __a,poly64x2x4_t val)28973 vst1q_p64_x4 (poly64_t * __a, poly64x2x4_t val)
28974 {
28975   union { poly64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28976   __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
28977 }
28978 
28979 __extension__ extern __inline void
28980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f64_x4(float64_t * __a,float64x1x4_t val)28981 vst1_f64_x4 (float64_t * __a, float64x1x4_t val)
28982 {
28983   union { float64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28984   __builtin_aarch64_st1x4df ((__builtin_aarch64_simd_df *) __a, __u.__o);
28985 }
28986 
28987 __extension__ extern __inline void
28988 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f64_x4(float64_t * __a,float64x2x4_t val)28989 vst1q_f64_x4 (float64_t * __a, float64x2x4_t val)
28990 {
28991   union { float64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
28992   __builtin_aarch64_st1x4v2df ((__builtin_aarch64_simd_df *) __a, __u.__o);
28993 }
28994 
28995 /* vstn */
28996 
28997 __extension__ extern __inline void
28998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s64(int64_t * __a,int64x1x2_t __val)28999 vst2_s64 (int64_t * __a, int64x1x2_t __val)
29000 {
29001   __builtin_aarch64_simd_oi __o;
29002   int64x2x2_t __temp;
29003   __temp.val[0] = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
29004   __temp.val[1] = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
29005   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[0], 0);
29006   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[1], 1);
29007   __builtin_aarch64_st2di ((__builtin_aarch64_simd_di *) __a, __o);
29008 }
29009 
29010 __extension__ extern __inline void
29011 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u64(uint64_t * __a,uint64x1x2_t __val)29012 vst2_u64 (uint64_t * __a, uint64x1x2_t __val)
29013 {
29014   __builtin_aarch64_simd_oi __o;
29015   uint64x2x2_t __temp;
29016   __temp.val[0] = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
29017   __temp.val[1] = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
29018   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[0], 0);
29019   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[1], 1);
29020   __builtin_aarch64_st2di ((__builtin_aarch64_simd_di *) __a, __o);
29021 }
29022 
29023 __extension__ extern __inline void
29024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_f64(float64_t * __a,float64x1x2_t __val)29025 vst2_f64 (float64_t * __a, float64x1x2_t __val)
29026 {
29027   __builtin_aarch64_simd_oi __o;
29028   float64x2x2_t __temp;
29029   __temp.val[0] = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
29030   __temp.val[1] = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
29031   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __temp.val[0], 0);
29032   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __temp.val[1], 1);
29033   __builtin_aarch64_st2df ((__builtin_aarch64_simd_df *) __a, __o);
29034 }
29035 
29036 __extension__ extern __inline void
29037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s8(int8_t * __a,int8x8x2_t __val)29038 vst2_s8 (int8_t * __a, int8x8x2_t __val)
29039 {
29040   __builtin_aarch64_simd_oi __o;
29041   int8x16x2_t __temp;
29042   __temp.val[0] = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
29043   __temp.val[1] = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
29044   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
29045   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
29046   __builtin_aarch64_st2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29047 }
29048 
29049 __extension__ extern __inline void
29050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p8(poly8_t * __a,poly8x8x2_t __val)29051 vst2_p8 (poly8_t * __a, poly8x8x2_t __val)
29052 {
29053   __builtin_aarch64_simd_oi __o;
29054   poly8x16x2_t __temp;
29055   __temp.val[0] = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
29056   __temp.val[1] = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
29057   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
29058   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
29059   __builtin_aarch64_st2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29060 }
29061 
29062 __extension__ extern __inline void
29063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s16(int16_t * __a,int16x4x2_t __val)29064 vst2_s16 (int16_t * __a, int16x4x2_t __val)
29065 {
29066   __builtin_aarch64_simd_oi __o;
29067   int16x8x2_t __temp;
29068   __temp.val[0] = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
29069   __temp.val[1] = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
29070   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
29071   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
29072   __builtin_aarch64_st2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29073 }
29074 
29075 __extension__ extern __inline void
29076 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p16(poly16_t * __a,poly16x4x2_t __val)29077 vst2_p16 (poly16_t * __a, poly16x4x2_t __val)
29078 {
29079   __builtin_aarch64_simd_oi __o;
29080   poly16x8x2_t __temp;
29081   __temp.val[0] = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
29082   __temp.val[1] = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
29083   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
29084   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
29085   __builtin_aarch64_st2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29086 }
29087 
29088 __extension__ extern __inline void
29089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s32(int32_t * __a,int32x2x2_t __val)29090 vst2_s32 (int32_t * __a, int32x2x2_t __val)
29091 {
29092   __builtin_aarch64_simd_oi __o;
29093   int32x4x2_t __temp;
29094   __temp.val[0] = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
29095   __temp.val[1] = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
29096   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[0], 0);
29097   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[1], 1);
29098   __builtin_aarch64_st2v2si ((__builtin_aarch64_simd_si *) __a, __o);
29099 }
29100 
29101 __extension__ extern __inline void
29102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u8(uint8_t * __a,uint8x8x2_t __val)29103 vst2_u8 (uint8_t * __a, uint8x8x2_t __val)
29104 {
29105   __builtin_aarch64_simd_oi __o;
29106   uint8x16x2_t __temp;
29107   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
29108   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
29109   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
29110   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
29111   __builtin_aarch64_st2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29112 }
29113 
29114 __extension__ extern __inline void
29115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u16(uint16_t * __a,uint16x4x2_t __val)29116 vst2_u16 (uint16_t * __a, uint16x4x2_t __val)
29117 {
29118   __builtin_aarch64_simd_oi __o;
29119   uint16x8x2_t __temp;
29120   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
29121   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
29122   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
29123   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
29124   __builtin_aarch64_st2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29125 }
29126 
29127 __extension__ extern __inline void
29128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u32(uint32_t * __a,uint32x2x2_t __val)29129 vst2_u32 (uint32_t * __a, uint32x2x2_t __val)
29130 {
29131   __builtin_aarch64_simd_oi __o;
29132   uint32x4x2_t __temp;
29133   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
29134   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
29135   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[0], 0);
29136   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[1], 1);
29137   __builtin_aarch64_st2v2si ((__builtin_aarch64_simd_si *) __a, __o);
29138 }
29139 
29140 __extension__ extern __inline void
29141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_f16(float16_t * __a,float16x4x2_t __val)29142 vst2_f16 (float16_t * __a, float16x4x2_t __val)
29143 {
29144   __builtin_aarch64_simd_oi __o;
29145   float16x8x2_t __temp;
29146   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
29147   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
29148   __o = __builtin_aarch64_set_qregoiv8hf (__o, __temp.val[0], 0);
29149   __o = __builtin_aarch64_set_qregoiv8hf (__o, __temp.val[1], 1);
29150   __builtin_aarch64_st2v4hf (__a, __o);
29151 }
29152 
29153 __extension__ extern __inline void
29154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_f32(float32_t * __a,float32x2x2_t __val)29155 vst2_f32 (float32_t * __a, float32x2x2_t __val)
29156 {
29157   __builtin_aarch64_simd_oi __o;
29158   float32x4x2_t __temp;
29159   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
29160   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
29161   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __temp.val[0], 0);
29162   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __temp.val[1], 1);
29163   __builtin_aarch64_st2v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
29164 }
29165 
29166 __extension__ extern __inline void
29167 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p64(poly64_t * __a,poly64x1x2_t __val)29168 vst2_p64 (poly64_t * __a, poly64x1x2_t __val)
29169 {
29170   __builtin_aarch64_simd_oi __o;
29171   poly64x2x2_t __temp;
29172   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
29173   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
29174   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
29175 					       (poly64x2_t) __temp.val[0], 0);
29176   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
29177 					       (poly64x2_t) __temp.val[1], 1);
29178   __builtin_aarch64_st2di ((__builtin_aarch64_simd_di *) __a, __o);
29179 }
29180 
29181 __extension__ extern __inline void
29182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s8(int8_t * __a,int8x16x2_t __val)29183 vst2q_s8 (int8_t * __a, int8x16x2_t __val)
29184 {
29185   __builtin_aarch64_simd_oi __o;
29186   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
29187   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
29188   __builtin_aarch64_st2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29189 }
29190 
29191 __extension__ extern __inline void
29192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_p8(poly8_t * __a,poly8x16x2_t __val)29193 vst2q_p8 (poly8_t * __a, poly8x16x2_t __val)
29194 {
29195   __builtin_aarch64_simd_oi __o;
29196   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
29197   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
29198   __builtin_aarch64_st2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29199 }
29200 
29201 __extension__ extern __inline void
29202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s16(int16_t * __a,int16x8x2_t __val)29203 vst2q_s16 (int16_t * __a, int16x8x2_t __val)
29204 {
29205   __builtin_aarch64_simd_oi __o;
29206   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
29207   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
29208   __builtin_aarch64_st2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29209 }
29210 
29211 __extension__ extern __inline void
29212 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_p16(poly16_t * __a,poly16x8x2_t __val)29213 vst2q_p16 (poly16_t * __a, poly16x8x2_t __val)
29214 {
29215   __builtin_aarch64_simd_oi __o;
29216   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
29217   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
29218   __builtin_aarch64_st2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29219 }
29220 
29221 __extension__ extern __inline void
29222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s32(int32_t * __a,int32x4x2_t __val)29223 vst2q_s32 (int32_t * __a, int32x4x2_t __val)
29224 {
29225   __builtin_aarch64_simd_oi __o;
29226   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[0], 0);
29227   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[1], 1);
29228   __builtin_aarch64_st2v4si ((__builtin_aarch64_simd_si *) __a, __o);
29229 }
29230 
29231 __extension__ extern __inline void
29232 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s64(int64_t * __a,int64x2x2_t __val)29233 vst2q_s64 (int64_t * __a, int64x2x2_t __val)
29234 {
29235   __builtin_aarch64_simd_oi __o;
29236   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[0], 0);
29237   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[1], 1);
29238   __builtin_aarch64_st2v2di ((__builtin_aarch64_simd_di *) __a, __o);
29239 }
29240 
29241 __extension__ extern __inline void
29242 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u8(uint8_t * __a,uint8x16x2_t __val)29243 vst2q_u8 (uint8_t * __a, uint8x16x2_t __val)
29244 {
29245   __builtin_aarch64_simd_oi __o;
29246   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
29247   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
29248   __builtin_aarch64_st2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29249 }
29250 
29251 __extension__ extern __inline void
29252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u16(uint16_t * __a,uint16x8x2_t __val)29253 vst2q_u16 (uint16_t * __a, uint16x8x2_t __val)
29254 {
29255   __builtin_aarch64_simd_oi __o;
29256   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
29257   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
29258   __builtin_aarch64_st2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29259 }
29260 
29261 __extension__ extern __inline void
29262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u32(uint32_t * __a,uint32x4x2_t __val)29263 vst2q_u32 (uint32_t * __a, uint32x4x2_t __val)
29264 {
29265   __builtin_aarch64_simd_oi __o;
29266   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[0], 0);
29267   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[1], 1);
29268   __builtin_aarch64_st2v4si ((__builtin_aarch64_simd_si *) __a, __o);
29269 }
29270 
29271 __extension__ extern __inline void
29272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u64(uint64_t * __a,uint64x2x2_t __val)29273 vst2q_u64 (uint64_t * __a, uint64x2x2_t __val)
29274 {
29275   __builtin_aarch64_simd_oi __o;
29276   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[0], 0);
29277   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[1], 1);
29278   __builtin_aarch64_st2v2di ((__builtin_aarch64_simd_di *) __a, __o);
29279 }
29280 
29281 __extension__ extern __inline void
29282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_f16(float16_t * __a,float16x8x2_t __val)29283 vst2q_f16 (float16_t * __a, float16x8x2_t __val)
29284 {
29285   __builtin_aarch64_simd_oi __o;
29286   __o = __builtin_aarch64_set_qregoiv8hf (__o, __val.val[0], 0);
29287   __o = __builtin_aarch64_set_qregoiv8hf (__o, __val.val[1], 1);
29288   __builtin_aarch64_st2v8hf (__a, __o);
29289 }
29290 
29291 __extension__ extern __inline void
29292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_f32(float32_t * __a,float32x4x2_t __val)29293 vst2q_f32 (float32_t * __a, float32x4x2_t __val)
29294 {
29295   __builtin_aarch64_simd_oi __o;
29296   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __val.val[0], 0);
29297   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __val.val[1], 1);
29298   __builtin_aarch64_st2v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
29299 }
29300 
29301 __extension__ extern __inline void
29302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_f64(float64_t * __a,float64x2x2_t __val)29303 vst2q_f64 (float64_t * __a, float64x2x2_t __val)
29304 {
29305   __builtin_aarch64_simd_oi __o;
29306   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __val.val[0], 0);
29307   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __val.val[1], 1);
29308   __builtin_aarch64_st2v2df ((__builtin_aarch64_simd_df *) __a, __o);
29309 }
29310 
29311 __extension__ extern __inline void
29312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_p64(poly64_t * __a,poly64x2x2_t __val)29313 vst2q_p64 (poly64_t * __a, poly64x2x2_t __val)
29314 {
29315   __builtin_aarch64_simd_oi __o;
29316   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
29317 					       (poly64x2_t) __val.val[0], 0);
29318   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
29319 					       (poly64x2_t) __val.val[1], 1);
29320   __builtin_aarch64_st2v2di ((__builtin_aarch64_simd_di *) __a, __o);
29321 }
29322 
29323 __extension__ extern __inline void
29324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s64(int64_t * __a,int64x1x3_t __val)29325 vst3_s64 (int64_t * __a, int64x1x3_t __val)
29326 {
29327   __builtin_aarch64_simd_ci __o;
29328   int64x2x3_t __temp;
29329   __temp.val[0] = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
29330   __temp.val[1] = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
29331   __temp.val[2] = vcombine_s64 (__val.val[2], vcreate_s64 (__AARCH64_INT64_C (0)));
29332   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[0], 0);
29333   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[1], 1);
29334   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[2], 2);
29335   __builtin_aarch64_st3di ((__builtin_aarch64_simd_di *) __a, __o);
29336 }
29337 
29338 __extension__ extern __inline void
29339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u64(uint64_t * __a,uint64x1x3_t __val)29340 vst3_u64 (uint64_t * __a, uint64x1x3_t __val)
29341 {
29342   __builtin_aarch64_simd_ci __o;
29343   uint64x2x3_t __temp;
29344   __temp.val[0] = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
29345   __temp.val[1] = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
29346   __temp.val[2] = vcombine_u64 (__val.val[2], vcreate_u64 (__AARCH64_UINT64_C (0)));
29347   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[0], 0);
29348   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[1], 1);
29349   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[2], 2);
29350   __builtin_aarch64_st3di ((__builtin_aarch64_simd_di *) __a, __o);
29351 }
29352 
29353 __extension__ extern __inline void
29354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_f64(float64_t * __a,float64x1x3_t __val)29355 vst3_f64 (float64_t * __a, float64x1x3_t __val)
29356 {
29357   __builtin_aarch64_simd_ci __o;
29358   float64x2x3_t __temp;
29359   __temp.val[0] = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
29360   __temp.val[1] = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
29361   __temp.val[2] = vcombine_f64 (__val.val[2], vcreate_f64 (__AARCH64_UINT64_C (0)));
29362   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[0], 0);
29363   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[1], 1);
29364   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[2], 2);
29365   __builtin_aarch64_st3df ((__builtin_aarch64_simd_df *) __a, __o);
29366 }
29367 
29368 __extension__ extern __inline void
29369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s8(int8_t * __a,int8x8x3_t __val)29370 vst3_s8 (int8_t * __a, int8x8x3_t __val)
29371 {
29372   __builtin_aarch64_simd_ci __o;
29373   int8x16x3_t __temp;
29374   __temp.val[0] = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
29375   __temp.val[1] = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
29376   __temp.val[2] = vcombine_s8 (__val.val[2], vcreate_s8 (__AARCH64_INT64_C (0)));
29377   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
29378   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
29379   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
29380   __builtin_aarch64_st3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29381 }
29382 
29383 __extension__ extern __inline void
29384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p8(poly8_t * __a,poly8x8x3_t __val)29385 vst3_p8 (poly8_t * __a, poly8x8x3_t __val)
29386 {
29387   __builtin_aarch64_simd_ci __o;
29388   poly8x16x3_t __temp;
29389   __temp.val[0] = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
29390   __temp.val[1] = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
29391   __temp.val[2] = vcombine_p8 (__val.val[2], vcreate_p8 (__AARCH64_UINT64_C (0)));
29392   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
29393   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
29394   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
29395   __builtin_aarch64_st3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29396 }
29397 
29398 __extension__ extern __inline void
29399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s16(int16_t * __a,int16x4x3_t __val)29400 vst3_s16 (int16_t * __a, int16x4x3_t __val)
29401 {
29402   __builtin_aarch64_simd_ci __o;
29403   int16x8x3_t __temp;
29404   __temp.val[0] = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
29405   __temp.val[1] = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
29406   __temp.val[2] = vcombine_s16 (__val.val[2], vcreate_s16 (__AARCH64_INT64_C (0)));
29407   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
29408   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
29409   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
29410   __builtin_aarch64_st3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29411 }
29412 
29413 __extension__ extern __inline void
29414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p16(poly16_t * __a,poly16x4x3_t __val)29415 vst3_p16 (poly16_t * __a, poly16x4x3_t __val)
29416 {
29417   __builtin_aarch64_simd_ci __o;
29418   poly16x8x3_t __temp;
29419   __temp.val[0] = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
29420   __temp.val[1] = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
29421   __temp.val[2] = vcombine_p16 (__val.val[2], vcreate_p16 (__AARCH64_UINT64_C (0)));
29422   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
29423   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
29424   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
29425   __builtin_aarch64_st3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29426 }
29427 
29428 __extension__ extern __inline void
29429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s32(int32_t * __a,int32x2x3_t __val)29430 vst3_s32 (int32_t * __a, int32x2x3_t __val)
29431 {
29432   __builtin_aarch64_simd_ci __o;
29433   int32x4x3_t __temp;
29434   __temp.val[0] = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
29435   __temp.val[1] = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
29436   __temp.val[2] = vcombine_s32 (__val.val[2], vcreate_s32 (__AARCH64_INT64_C (0)));
29437   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[0], 0);
29438   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[1], 1);
29439   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[2], 2);
29440   __builtin_aarch64_st3v2si ((__builtin_aarch64_simd_si *) __a, __o);
29441 }
29442 
29443 __extension__ extern __inline void
29444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u8(uint8_t * __a,uint8x8x3_t __val)29445 vst3_u8 (uint8_t * __a, uint8x8x3_t __val)
29446 {
29447   __builtin_aarch64_simd_ci __o;
29448   uint8x16x3_t __temp;
29449   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
29450   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
29451   __temp.val[2] = vcombine_u8 (__val.val[2], vcreate_u8 (__AARCH64_UINT64_C (0)));
29452   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
29453   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
29454   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
29455   __builtin_aarch64_st3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29456 }
29457 
29458 __extension__ extern __inline void
29459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u16(uint16_t * __a,uint16x4x3_t __val)29460 vst3_u16 (uint16_t * __a, uint16x4x3_t __val)
29461 {
29462   __builtin_aarch64_simd_ci __o;
29463   uint16x8x3_t __temp;
29464   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
29465   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
29466   __temp.val[2] = vcombine_u16 (__val.val[2], vcreate_u16 (__AARCH64_UINT64_C (0)));
29467   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
29468   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
29469   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
29470   __builtin_aarch64_st3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29471 }
29472 
29473 __extension__ extern __inline void
29474 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u32(uint32_t * __a,uint32x2x3_t __val)29475 vst3_u32 (uint32_t * __a, uint32x2x3_t __val)
29476 {
29477   __builtin_aarch64_simd_ci __o;
29478   uint32x4x3_t __temp;
29479   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
29480   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
29481   __temp.val[2] = vcombine_u32 (__val.val[2], vcreate_u32 (__AARCH64_UINT64_C (0)));
29482   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[0], 0);
29483   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[1], 1);
29484   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[2], 2);
29485   __builtin_aarch64_st3v2si ((__builtin_aarch64_simd_si *) __a, __o);
29486 }
29487 
29488 __extension__ extern __inline void
29489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_f16(float16_t * __a,float16x4x3_t __val)29490 vst3_f16 (float16_t * __a, float16x4x3_t __val)
29491 {
29492   __builtin_aarch64_simd_ci __o;
29493   float16x8x3_t __temp;
29494   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
29495   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
29496   __temp.val[2] = vcombine_f16 (__val.val[2], vcreate_f16 (__AARCH64_UINT64_C (0)));
29497   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[0], 0);
29498   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[1], 1);
29499   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[2], 2);
29500   __builtin_aarch64_st3v4hf ((__builtin_aarch64_simd_hf *) __a, __o);
29501 }
29502 
29503 __extension__ extern __inline void
29504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_f32(float32_t * __a,float32x2x3_t __val)29505 vst3_f32 (float32_t * __a, float32x2x3_t __val)
29506 {
29507   __builtin_aarch64_simd_ci __o;
29508   float32x4x3_t __temp;
29509   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
29510   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
29511   __temp.val[2] = vcombine_f32 (__val.val[2], vcreate_f32 (__AARCH64_UINT64_C (0)));
29512   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[0], 0);
29513   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[1], 1);
29514   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[2], 2);
29515   __builtin_aarch64_st3v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
29516 }
29517 
29518 __extension__ extern __inline void
29519 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p64(poly64_t * __a,poly64x1x3_t __val)29520 vst3_p64 (poly64_t * __a, poly64x1x3_t __val)
29521 {
29522   __builtin_aarch64_simd_ci __o;
29523   poly64x2x3_t __temp;
29524   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
29525   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
29526   __temp.val[2] = vcombine_p64 (__val.val[2], vcreate_p64 (__AARCH64_UINT64_C (0)));
29527   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
29528 					       (poly64x2_t) __temp.val[0], 0);
29529   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
29530 					       (poly64x2_t) __temp.val[1], 1);
29531   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
29532 					       (poly64x2_t) __temp.val[2], 2);
29533   __builtin_aarch64_st3di ((__builtin_aarch64_simd_di *) __a, __o);
29534 }
29535 
29536 __extension__ extern __inline void
29537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s8(int8_t * __a,int8x16x3_t __val)29538 vst3q_s8 (int8_t * __a, int8x16x3_t __val)
29539 {
29540   __builtin_aarch64_simd_ci __o;
29541   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
29542   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
29543   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
29544   __builtin_aarch64_st3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29545 }
29546 
29547 __extension__ extern __inline void
29548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_p8(poly8_t * __a,poly8x16x3_t __val)29549 vst3q_p8 (poly8_t * __a, poly8x16x3_t __val)
29550 {
29551   __builtin_aarch64_simd_ci __o;
29552   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
29553   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
29554   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
29555   __builtin_aarch64_st3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29556 }
29557 
29558 __extension__ extern __inline void
29559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s16(int16_t * __a,int16x8x3_t __val)29560 vst3q_s16 (int16_t * __a, int16x8x3_t __val)
29561 {
29562   __builtin_aarch64_simd_ci __o;
29563   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
29564   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
29565   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
29566   __builtin_aarch64_st3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29567 }
29568 
29569 __extension__ extern __inline void
29570 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_p16(poly16_t * __a,poly16x8x3_t __val)29571 vst3q_p16 (poly16_t * __a, poly16x8x3_t __val)
29572 {
29573   __builtin_aarch64_simd_ci __o;
29574   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
29575   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
29576   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
29577   __builtin_aarch64_st3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29578 }
29579 
29580 __extension__ extern __inline void
29581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s32(int32_t * __a,int32x4x3_t __val)29582 vst3q_s32 (int32_t * __a, int32x4x3_t __val)
29583 {
29584   __builtin_aarch64_simd_ci __o;
29585   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[0], 0);
29586   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[1], 1);
29587   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[2], 2);
29588   __builtin_aarch64_st3v4si ((__builtin_aarch64_simd_si *) __a, __o);
29589 }
29590 
29591 __extension__ extern __inline void
29592 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s64(int64_t * __a,int64x2x3_t __val)29593 vst3q_s64 (int64_t * __a, int64x2x3_t __val)
29594 {
29595   __builtin_aarch64_simd_ci __o;
29596   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[0], 0);
29597   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[1], 1);
29598   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[2], 2);
29599   __builtin_aarch64_st3v2di ((__builtin_aarch64_simd_di *) __a, __o);
29600 }
29601 
29602 __extension__ extern __inline void
29603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u8(uint8_t * __a,uint8x16x3_t __val)29604 vst3q_u8 (uint8_t * __a, uint8x16x3_t __val)
29605 {
29606   __builtin_aarch64_simd_ci __o;
29607   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
29608   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
29609   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
29610   __builtin_aarch64_st3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29611 }
29612 
29613 __extension__ extern __inline void
29614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u16(uint16_t * __a,uint16x8x3_t __val)29615 vst3q_u16 (uint16_t * __a, uint16x8x3_t __val)
29616 {
29617   __builtin_aarch64_simd_ci __o;
29618   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
29619   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
29620   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
29621   __builtin_aarch64_st3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29622 }
29623 
29624 __extension__ extern __inline void
29625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u32(uint32_t * __a,uint32x4x3_t __val)29626 vst3q_u32 (uint32_t * __a, uint32x4x3_t __val)
29627 {
29628   __builtin_aarch64_simd_ci __o;
29629   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[0], 0);
29630   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[1], 1);
29631   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[2], 2);
29632   __builtin_aarch64_st3v4si ((__builtin_aarch64_simd_si *) __a, __o);
29633 }
29634 
29635 __extension__ extern __inline void
29636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u64(uint64_t * __a,uint64x2x3_t __val)29637 vst3q_u64 (uint64_t * __a, uint64x2x3_t __val)
29638 {
29639   __builtin_aarch64_simd_ci __o;
29640   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[0], 0);
29641   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[1], 1);
29642   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[2], 2);
29643   __builtin_aarch64_st3v2di ((__builtin_aarch64_simd_di *) __a, __o);
29644 }
29645 
29646 __extension__ extern __inline void
29647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_f16(float16_t * __a,float16x8x3_t __val)29648 vst3q_f16 (float16_t * __a, float16x8x3_t __val)
29649 {
29650   __builtin_aarch64_simd_ci __o;
29651   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[0], 0);
29652   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[1], 1);
29653   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[2], 2);
29654   __builtin_aarch64_st3v8hf ((__builtin_aarch64_simd_hf *) __a, __o);
29655 }
29656 
29657 __extension__ extern __inline void
29658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_f32(float32_t * __a,float32x4x3_t __val)29659 vst3q_f32 (float32_t * __a, float32x4x3_t __val)
29660 {
29661   __builtin_aarch64_simd_ci __o;
29662   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[0], 0);
29663   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[1], 1);
29664   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[2], 2);
29665   __builtin_aarch64_st3v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
29666 }
29667 
29668 __extension__ extern __inline void
29669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_f64(float64_t * __a,float64x2x3_t __val)29670 vst3q_f64 (float64_t * __a, float64x2x3_t __val)
29671 {
29672   __builtin_aarch64_simd_ci __o;
29673   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[0], 0);
29674   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[1], 1);
29675   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[2], 2);
29676   __builtin_aarch64_st3v2df ((__builtin_aarch64_simd_df *) __a, __o);
29677 }
29678 
29679 __extension__ extern __inline void
29680 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_p64(poly64_t * __a,poly64x2x3_t __val)29681 vst3q_p64 (poly64_t * __a, poly64x2x3_t __val)
29682 {
29683   __builtin_aarch64_simd_ci __o;
29684   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
29685 					       (poly64x2_t) __val.val[0], 0);
29686   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
29687 					       (poly64x2_t) __val.val[1], 1);
29688   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
29689 					       (poly64x2_t) __val.val[2], 2);
29690   __builtin_aarch64_st3v2di ((__builtin_aarch64_simd_di *) __a, __o);
29691 }
29692 
29693 __extension__ extern __inline void
29694 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s64(int64_t * __a,int64x1x4_t __val)29695 vst4_s64 (int64_t * __a, int64x1x4_t __val)
29696 {
29697   __builtin_aarch64_simd_xi __o;
29698   int64x2x4_t __temp;
29699   __temp.val[0] = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
29700   __temp.val[1] = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
29701   __temp.val[2] = vcombine_s64 (__val.val[2], vcreate_s64 (__AARCH64_INT64_C (0)));
29702   __temp.val[3] = vcombine_s64 (__val.val[3], vcreate_s64 (__AARCH64_INT64_C (0)));
29703   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[0], 0);
29704   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[1], 1);
29705   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[2], 2);
29706   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[3], 3);
29707   __builtin_aarch64_st4di ((__builtin_aarch64_simd_di *) __a, __o);
29708 }
29709 
29710 __extension__ extern __inline void
29711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u64(uint64_t * __a,uint64x1x4_t __val)29712 vst4_u64 (uint64_t * __a, uint64x1x4_t __val)
29713 {
29714   __builtin_aarch64_simd_xi __o;
29715   uint64x2x4_t __temp;
29716   __temp.val[0] = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
29717   __temp.val[1] = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
29718   __temp.val[2] = vcombine_u64 (__val.val[2], vcreate_u64 (__AARCH64_UINT64_C (0)));
29719   __temp.val[3] = vcombine_u64 (__val.val[3], vcreate_u64 (__AARCH64_UINT64_C (0)));
29720   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[0], 0);
29721   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[1], 1);
29722   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[2], 2);
29723   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[3], 3);
29724   __builtin_aarch64_st4di ((__builtin_aarch64_simd_di *) __a, __o);
29725 }
29726 
29727 __extension__ extern __inline void
29728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_f64(float64_t * __a,float64x1x4_t __val)29729 vst4_f64 (float64_t * __a, float64x1x4_t __val)
29730 {
29731   __builtin_aarch64_simd_xi __o;
29732   float64x2x4_t __temp;
29733   __temp.val[0] = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
29734   __temp.val[1] = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
29735   __temp.val[2] = vcombine_f64 (__val.val[2], vcreate_f64 (__AARCH64_UINT64_C (0)));
29736   __temp.val[3] = vcombine_f64 (__val.val[3], vcreate_f64 (__AARCH64_UINT64_C (0)));
29737   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[0], 0);
29738   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[1], 1);
29739   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[2], 2);
29740   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[3], 3);
29741   __builtin_aarch64_st4df ((__builtin_aarch64_simd_df *) __a, __o);
29742 }
29743 
29744 __extension__ extern __inline void
29745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s8(int8_t * __a,int8x8x4_t __val)29746 vst4_s8 (int8_t * __a, int8x8x4_t __val)
29747 {
29748   __builtin_aarch64_simd_xi __o;
29749   int8x16x4_t __temp;
29750   __temp.val[0] = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
29751   __temp.val[1] = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
29752   __temp.val[2] = vcombine_s8 (__val.val[2], vcreate_s8 (__AARCH64_INT64_C (0)));
29753   __temp.val[3] = vcombine_s8 (__val.val[3], vcreate_s8 (__AARCH64_INT64_C (0)));
29754   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[0], 0);
29755   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[1], 1);
29756   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[2], 2);
29757   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[3], 3);
29758   __builtin_aarch64_st4v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29759 }
29760 
29761 __extension__ extern __inline void
29762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p8(poly8_t * __a,poly8x8x4_t __val)29763 vst4_p8 (poly8_t * __a, poly8x8x4_t __val)
29764 {
29765   __builtin_aarch64_simd_xi __o;
29766   poly8x16x4_t __temp;
29767   __temp.val[0] = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
29768   __temp.val[1] = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
29769   __temp.val[2] = vcombine_p8 (__val.val[2], vcreate_p8 (__AARCH64_UINT64_C (0)));
29770   __temp.val[3] = vcombine_p8 (__val.val[3], vcreate_p8 (__AARCH64_UINT64_C (0)));
29771   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[0], 0);
29772   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[1], 1);
29773   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[2], 2);
29774   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[3], 3);
29775   __builtin_aarch64_st4v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29776 }
29777 
29778 __extension__ extern __inline void
29779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s16(int16_t * __a,int16x4x4_t __val)29780 vst4_s16 (int16_t * __a, int16x4x4_t __val)
29781 {
29782   __builtin_aarch64_simd_xi __o;
29783   int16x8x4_t __temp;
29784   __temp.val[0] = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
29785   __temp.val[1] = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
29786   __temp.val[2] = vcombine_s16 (__val.val[2], vcreate_s16 (__AARCH64_INT64_C (0)));
29787   __temp.val[3] = vcombine_s16 (__val.val[3], vcreate_s16 (__AARCH64_INT64_C (0)));
29788   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[0], 0);
29789   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[1], 1);
29790   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[2], 2);
29791   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[3], 3);
29792   __builtin_aarch64_st4v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29793 }
29794 
29795 __extension__ extern __inline void
29796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p16(poly16_t * __a,poly16x4x4_t __val)29797 vst4_p16 (poly16_t * __a, poly16x4x4_t __val)
29798 {
29799   __builtin_aarch64_simd_xi __o;
29800   poly16x8x4_t __temp;
29801   __temp.val[0] = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
29802   __temp.val[1] = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
29803   __temp.val[2] = vcombine_p16 (__val.val[2], vcreate_p16 (__AARCH64_UINT64_C (0)));
29804   __temp.val[3] = vcombine_p16 (__val.val[3], vcreate_p16 (__AARCH64_UINT64_C (0)));
29805   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[0], 0);
29806   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[1], 1);
29807   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[2], 2);
29808   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[3], 3);
29809   __builtin_aarch64_st4v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29810 }
29811 
29812 __extension__ extern __inline void
29813 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s32(int32_t * __a,int32x2x4_t __val)29814 vst4_s32 (int32_t * __a, int32x2x4_t __val)
29815 {
29816   __builtin_aarch64_simd_xi __o;
29817   int32x4x4_t __temp;
29818   __temp.val[0] = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
29819   __temp.val[1] = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
29820   __temp.val[2] = vcombine_s32 (__val.val[2], vcreate_s32 (__AARCH64_INT64_C (0)));
29821   __temp.val[3] = vcombine_s32 (__val.val[3], vcreate_s32 (__AARCH64_INT64_C (0)));
29822   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[0], 0);
29823   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[1], 1);
29824   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[2], 2);
29825   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[3], 3);
29826   __builtin_aarch64_st4v2si ((__builtin_aarch64_simd_si *) __a, __o);
29827 }
29828 
29829 __extension__ extern __inline void
29830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u8(uint8_t * __a,uint8x8x4_t __val)29831 vst4_u8 (uint8_t * __a, uint8x8x4_t __val)
29832 {
29833   __builtin_aarch64_simd_xi __o;
29834   uint8x16x4_t __temp;
29835   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
29836   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
29837   __temp.val[2] = vcombine_u8 (__val.val[2], vcreate_u8 (__AARCH64_UINT64_C (0)));
29838   __temp.val[3] = vcombine_u8 (__val.val[3], vcreate_u8 (__AARCH64_UINT64_C (0)));
29839   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[0], 0);
29840   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[1], 1);
29841   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[2], 2);
29842   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[3], 3);
29843   __builtin_aarch64_st4v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
29844 }
29845 
29846 __extension__ extern __inline void
29847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u16(uint16_t * __a,uint16x4x4_t __val)29848 vst4_u16 (uint16_t * __a, uint16x4x4_t __val)
29849 {
29850   __builtin_aarch64_simd_xi __o;
29851   uint16x8x4_t __temp;
29852   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
29853   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
29854   __temp.val[2] = vcombine_u16 (__val.val[2], vcreate_u16 (__AARCH64_UINT64_C (0)));
29855   __temp.val[3] = vcombine_u16 (__val.val[3], vcreate_u16 (__AARCH64_UINT64_C (0)));
29856   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[0], 0);
29857   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[1], 1);
29858   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[2], 2);
29859   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[3], 3);
29860   __builtin_aarch64_st4v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
29861 }
29862 
29863 __extension__ extern __inline void
29864 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u32(uint32_t * __a,uint32x2x4_t __val)29865 vst4_u32 (uint32_t * __a, uint32x2x4_t __val)
29866 {
29867   __builtin_aarch64_simd_xi __o;
29868   uint32x4x4_t __temp;
29869   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
29870   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
29871   __temp.val[2] = vcombine_u32 (__val.val[2], vcreate_u32 (__AARCH64_UINT64_C (0)));
29872   __temp.val[3] = vcombine_u32 (__val.val[3], vcreate_u32 (__AARCH64_UINT64_C (0)));
29873   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[0], 0);
29874   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[1], 1);
29875   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[2], 2);
29876   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[3], 3);
29877   __builtin_aarch64_st4v2si ((__builtin_aarch64_simd_si *) __a, __o);
29878 }
29879 
29880 __extension__ extern __inline void
29881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_f16(float16_t * __a,float16x4x4_t __val)29882 vst4_f16 (float16_t * __a, float16x4x4_t __val)
29883 {
29884   __builtin_aarch64_simd_xi __o;
29885   float16x8x4_t __temp;
29886   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
29887   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
29888   __temp.val[2] = vcombine_f16 (__val.val[2], vcreate_f16 (__AARCH64_UINT64_C (0)));
29889   __temp.val[3] = vcombine_f16 (__val.val[3], vcreate_f16 (__AARCH64_UINT64_C (0)));
29890   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[0], 0);
29891   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[1], 1);
29892   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[2], 2);
29893   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[3], 3);
29894   __builtin_aarch64_st4v4hf ((__builtin_aarch64_simd_hf *) __a, __o);
29895 }
29896 
29897 __extension__ extern __inline void
29898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_f32(float32_t * __a,float32x2x4_t __val)29899 vst4_f32 (float32_t * __a, float32x2x4_t __val)
29900 {
29901   __builtin_aarch64_simd_xi __o;
29902   float32x4x4_t __temp;
29903   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
29904   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
29905   __temp.val[2] = vcombine_f32 (__val.val[2], vcreate_f32 (__AARCH64_UINT64_C (0)));
29906   __temp.val[3] = vcombine_f32 (__val.val[3], vcreate_f32 (__AARCH64_UINT64_C (0)));
29907   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[0], 0);
29908   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[1], 1);
29909   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[2], 2);
29910   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[3], 3);
29911   __builtin_aarch64_st4v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
29912 }
29913 
29914 __extension__ extern __inline void
29915 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p64(poly64_t * __a,poly64x1x4_t __val)29916 vst4_p64 (poly64_t * __a, poly64x1x4_t __val)
29917 {
29918   __builtin_aarch64_simd_xi __o;
29919   poly64x2x4_t __temp;
29920   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
29921   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
29922   __temp.val[2] = vcombine_p64 (__val.val[2], vcreate_p64 (__AARCH64_UINT64_C (0)));
29923   __temp.val[3] = vcombine_p64 (__val.val[3], vcreate_p64 (__AARCH64_UINT64_C (0)));
29924   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
29925 					       (poly64x2_t) __temp.val[0], 0);
29926   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
29927 					       (poly64x2_t) __temp.val[1], 1);
29928   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
29929 					       (poly64x2_t) __temp.val[2], 2);
29930   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
29931 					       (poly64x2_t) __temp.val[3], 3);
29932   __builtin_aarch64_st4di ((__builtin_aarch64_simd_di *) __a, __o);
29933 }
29934 
29935 __extension__ extern __inline void
29936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s8(int8_t * __a,int8x16x4_t __val)29937 vst4q_s8 (int8_t * __a, int8x16x4_t __val)
29938 {
29939   __builtin_aarch64_simd_xi __o;
29940   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[0], 0);
29941   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[1], 1);
29942   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[2], 2);
29943   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[3], 3);
29944   __builtin_aarch64_st4v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29945 }
29946 
29947 __extension__ extern __inline void
29948 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_p8(poly8_t * __a,poly8x16x4_t __val)29949 vst4q_p8 (poly8_t * __a, poly8x16x4_t __val)
29950 {
29951   __builtin_aarch64_simd_xi __o;
29952   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[0], 0);
29953   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[1], 1);
29954   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[2], 2);
29955   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[3], 3);
29956   __builtin_aarch64_st4v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
29957 }
29958 
29959 __extension__ extern __inline void
29960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s16(int16_t * __a,int16x8x4_t __val)29961 vst4q_s16 (int16_t * __a, int16x8x4_t __val)
29962 {
29963   __builtin_aarch64_simd_xi __o;
29964   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[0], 0);
29965   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[1], 1);
29966   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[2], 2);
29967   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[3], 3);
29968   __builtin_aarch64_st4v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29969 }
29970 
29971 __extension__ extern __inline void
29972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_p16(poly16_t * __a,poly16x8x4_t __val)29973 vst4q_p16 (poly16_t * __a, poly16x8x4_t __val)
29974 {
29975   __builtin_aarch64_simd_xi __o;
29976   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[0], 0);
29977   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[1], 1);
29978   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[2], 2);
29979   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[3], 3);
29980   __builtin_aarch64_st4v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
29981 }
29982 
29983 __extension__ extern __inline void
29984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s32(int32_t * __a,int32x4x4_t __val)29985 vst4q_s32 (int32_t * __a, int32x4x4_t __val)
29986 {
29987   __builtin_aarch64_simd_xi __o;
29988   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[0], 0);
29989   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[1], 1);
29990   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[2], 2);
29991   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[3], 3);
29992   __builtin_aarch64_st4v4si ((__builtin_aarch64_simd_si *) __a, __o);
29993 }
29994 
29995 __extension__ extern __inline void
29996 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s64(int64_t * __a,int64x2x4_t __val)29997 vst4q_s64 (int64_t * __a, int64x2x4_t __val)
29998 {
29999   __builtin_aarch64_simd_xi __o;
30000   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[0], 0);
30001   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[1], 1);
30002   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[2], 2);
30003   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[3], 3);
30004   __builtin_aarch64_st4v2di ((__builtin_aarch64_simd_di *) __a, __o);
30005 }
30006 
30007 __extension__ extern __inline void
30008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u8(uint8_t * __a,uint8x16x4_t __val)30009 vst4q_u8 (uint8_t * __a, uint8x16x4_t __val)
30010 {
30011   __builtin_aarch64_simd_xi __o;
30012   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[0], 0);
30013   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[1], 1);
30014   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[2], 2);
30015   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[3], 3);
30016   __builtin_aarch64_st4v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
30017 }
30018 
30019 __extension__ extern __inline void
30020 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u16(uint16_t * __a,uint16x8x4_t __val)30021 vst4q_u16 (uint16_t * __a, uint16x8x4_t __val)
30022 {
30023   __builtin_aarch64_simd_xi __o;
30024   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[0], 0);
30025   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[1], 1);
30026   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[2], 2);
30027   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[3], 3);
30028   __builtin_aarch64_st4v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
30029 }
30030 
30031 __extension__ extern __inline void
30032 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u32(uint32_t * __a,uint32x4x4_t __val)30033 vst4q_u32 (uint32_t * __a, uint32x4x4_t __val)
30034 {
30035   __builtin_aarch64_simd_xi __o;
30036   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[0], 0);
30037   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[1], 1);
30038   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[2], 2);
30039   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[3], 3);
30040   __builtin_aarch64_st4v4si ((__builtin_aarch64_simd_si *) __a, __o);
30041 }
30042 
30043 __extension__ extern __inline void
30044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u64(uint64_t * __a,uint64x2x4_t __val)30045 vst4q_u64 (uint64_t * __a, uint64x2x4_t __val)
30046 {
30047   __builtin_aarch64_simd_xi __o;
30048   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[0], 0);
30049   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[1], 1);
30050   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[2], 2);
30051   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[3], 3);
30052   __builtin_aarch64_st4v2di ((__builtin_aarch64_simd_di *) __a, __o);
30053 }
30054 
30055 __extension__ extern __inline void
30056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_f16(float16_t * __a,float16x8x4_t __val)30057 vst4q_f16 (float16_t * __a, float16x8x4_t __val)
30058 {
30059   __builtin_aarch64_simd_xi __o;
30060   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __val.val[0], 0);
30061   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __val.val[1], 1);
30062   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __val.val[2], 2);
30063   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __val.val[3], 3);
30064   __builtin_aarch64_st4v8hf ((__builtin_aarch64_simd_hf *) __a, __o);
30065 }
30066 
30067 __extension__ extern __inline void
30068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_f32(float32_t * __a,float32x4x4_t __val)30069 vst4q_f32 (float32_t * __a, float32x4x4_t __val)
30070 {
30071   __builtin_aarch64_simd_xi __o;
30072   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __val.val[0], 0);
30073   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __val.val[1], 1);
30074   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __val.val[2], 2);
30075   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __val.val[3], 3);
30076   __builtin_aarch64_st4v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
30077 }
30078 
30079 __extension__ extern __inline void
30080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_f64(float64_t * __a,float64x2x4_t __val)30081 vst4q_f64 (float64_t * __a, float64x2x4_t __val)
30082 {
30083   __builtin_aarch64_simd_xi __o;
30084   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __val.val[0], 0);
30085   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __val.val[1], 1);
30086   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __val.val[2], 2);
30087   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __val.val[3], 3);
30088   __builtin_aarch64_st4v2df ((__builtin_aarch64_simd_df *) __a, __o);
30089 }
30090 
30091 __extension__ extern __inline void
30092 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_p64(poly64_t * __a,poly64x2x4_t __val)30093 vst4q_p64 (poly64_t * __a, poly64x2x4_t __val)
30094 {
30095   __builtin_aarch64_simd_xi __o;
30096   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
30097 					       (poly64x2_t) __val.val[0], 0);
30098   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
30099 					       (poly64x2_t) __val.val[1], 1);
30100   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
30101 					       (poly64x2_t) __val.val[2], 2);
30102   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
30103 					       (poly64x2_t) __val.val[3], 3);
30104   __builtin_aarch64_st4v2di ((__builtin_aarch64_simd_di *) __a, __o);
30105 }
30106 
30107 /* vsub */
30108 
30109 __extension__ extern __inline int64_t
30110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubd_s64(int64_t __a,int64_t __b)30111 vsubd_s64 (int64_t __a, int64_t __b)
30112 {
30113   return __a - __b;
30114 }
30115 
30116 __extension__ extern __inline uint64_t
30117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubd_u64(uint64_t __a,uint64_t __b)30118 vsubd_u64 (uint64_t __a, uint64_t __b)
30119 {
30120   return __a - __b;
30121 }
30122 
30123 /* vtbx1  */
30124 
30125 __extension__ extern __inline int8x8_t
30126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_s8(int8x8_t __r,int8x8_t __tab,int8x8_t __idx)30127 vtbx1_s8 (int8x8_t __r, int8x8_t __tab, int8x8_t __idx)
30128 {
30129   uint8x8_t __mask = vclt_u8 (vreinterpret_u8_s8 (__idx),
30130 			      vmov_n_u8 (8));
30131   int8x8_t __tbl = vtbl1_s8 (__tab, __idx);
30132 
30133   return vbsl_s8 (__mask, __tbl, __r);
30134 }
30135 
30136 __extension__ extern __inline uint8x8_t
30137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_u8(uint8x8_t __r,uint8x8_t __tab,uint8x8_t __idx)30138 vtbx1_u8 (uint8x8_t __r, uint8x8_t __tab, uint8x8_t __idx)
30139 {
30140   uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (8));
30141   uint8x8_t __tbl = vtbl1_u8 (__tab, __idx);
30142 
30143   return vbsl_u8 (__mask, __tbl, __r);
30144 }
30145 
30146 __extension__ extern __inline poly8x8_t
30147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_p8(poly8x8_t __r,poly8x8_t __tab,uint8x8_t __idx)30148 vtbx1_p8 (poly8x8_t __r, poly8x8_t __tab, uint8x8_t __idx)
30149 {
30150   uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (8));
30151   poly8x8_t __tbl = vtbl1_p8 (__tab, __idx);
30152 
30153   return vbsl_p8 (__mask, __tbl, __r);
30154 }
30155 
30156 /* vtbx3  */
30157 
30158 __extension__ extern __inline int8x8_t
30159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_s8(int8x8_t __r,int8x8x3_t __tab,int8x8_t __idx)30160 vtbx3_s8 (int8x8_t __r, int8x8x3_t __tab, int8x8_t __idx)
30161 {
30162   uint8x8_t __mask = vclt_u8 (vreinterpret_u8_s8 (__idx),
30163 			      vmov_n_u8 (24));
30164   int8x8_t __tbl = vtbl3_s8 (__tab, __idx);
30165 
30166   return vbsl_s8 (__mask, __tbl, __r);
30167 }
30168 
30169 __extension__ extern __inline uint8x8_t
30170 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_u8(uint8x8_t __r,uint8x8x3_t __tab,uint8x8_t __idx)30171 vtbx3_u8 (uint8x8_t __r, uint8x8x3_t __tab, uint8x8_t __idx)
30172 {
30173   uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (24));
30174   uint8x8_t __tbl = vtbl3_u8 (__tab, __idx);
30175 
30176   return vbsl_u8 (__mask, __tbl, __r);
30177 }
30178 
30179 __extension__ extern __inline poly8x8_t
30180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_p8(poly8x8_t __r,poly8x8x3_t __tab,uint8x8_t __idx)30181 vtbx3_p8 (poly8x8_t __r, poly8x8x3_t __tab, uint8x8_t __idx)
30182 {
30183   uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (24));
30184   poly8x8_t __tbl = vtbl3_p8 (__tab, __idx);
30185 
30186   return vbsl_p8 (__mask, __tbl, __r);
30187 }
30188 
30189 /* vtbx4  */
30190 
30191 __extension__ extern __inline int8x8_t
30192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_s8(int8x8_t __r,int8x8x4_t __tab,int8x8_t __idx)30193 vtbx4_s8 (int8x8_t __r, int8x8x4_t __tab, int8x8_t __idx)
30194 {
30195   int8x8_t __result;
30196   int8x16x2_t __temp;
30197   __builtin_aarch64_simd_oi __o;
30198   __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
30199   __temp.val[1] = vcombine_s8 (__tab.val[2], __tab.val[3]);
30200   __o = __builtin_aarch64_set_qregoiv16qi (__o,
30201 					   (int8x16_t) __temp.val[0], 0);
30202   __o = __builtin_aarch64_set_qregoiv16qi (__o,
30203 					   (int8x16_t) __temp.val[1], 1);
30204   __result = __builtin_aarch64_tbx4v8qi (__r, __o, __idx);
30205   return __result;
30206 }
30207 
30208 __extension__ extern __inline uint8x8_t
30209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_u8(uint8x8_t __r,uint8x8x4_t __tab,uint8x8_t __idx)30210 vtbx4_u8 (uint8x8_t __r, uint8x8x4_t __tab, uint8x8_t __idx)
30211 {
30212   uint8x8_t __result;
30213   uint8x16x2_t __temp;
30214   __builtin_aarch64_simd_oi __o;
30215   __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
30216   __temp.val[1] = vcombine_u8 (__tab.val[2], __tab.val[3]);
30217   __o = __builtin_aarch64_set_qregoiv16qi (__o,
30218 					   (int8x16_t) __temp.val[0], 0);
30219   __o = __builtin_aarch64_set_qregoiv16qi (__o,
30220 					   (int8x16_t) __temp.val[1], 1);
30221   __result = (uint8x8_t)__builtin_aarch64_tbx4v8qi ((int8x8_t)__r, __o,
30222 						  (int8x8_t)__idx);
30223   return __result;
30224 }
30225 
30226 __extension__ extern __inline poly8x8_t
30227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_p8(poly8x8_t __r,poly8x8x4_t __tab,uint8x8_t __idx)30228 vtbx4_p8 (poly8x8_t __r, poly8x8x4_t __tab, uint8x8_t __idx)
30229 {
30230   poly8x8_t __result;
30231   poly8x16x2_t __temp;
30232   __builtin_aarch64_simd_oi __o;
30233   __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
30234   __temp.val[1] = vcombine_p8 (__tab.val[2], __tab.val[3]);
30235   __o = __builtin_aarch64_set_qregoiv16qi (__o,
30236 					   (int8x16_t) __temp.val[0], 0);
30237   __o = __builtin_aarch64_set_qregoiv16qi (__o,
30238 					   (int8x16_t) __temp.val[1], 1);
30239   __result = (poly8x8_t)__builtin_aarch64_tbx4v8qi ((int8x8_t)__r, __o,
30240 						  (int8x8_t)__idx);
30241   return __result;
30242 }
30243 
30244 /* vtrn */
30245 
30246 __extension__ extern __inline float16x4_t
30247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_f16(float16x4_t __a,float16x4_t __b)30248 vtrn1_f16 (float16x4_t __a, float16x4_t __b)
30249 {
30250 #ifdef __AARCH64EB__
30251   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
30252 #else
30253   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
30254 #endif
30255 }
30256 
30257 __extension__ extern __inline float32x2_t
30258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_f32(float32x2_t __a,float32x2_t __b)30259 vtrn1_f32 (float32x2_t __a, float32x2_t __b)
30260 {
30261 #ifdef __AARCH64EB__
30262   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
30263 #else
30264   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
30265 #endif
30266 }
30267 
30268 __extension__ extern __inline poly8x8_t
30269 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_p8(poly8x8_t __a,poly8x8_t __b)30270 vtrn1_p8 (poly8x8_t __a, poly8x8_t __b)
30271 {
30272 #ifdef __AARCH64EB__
30273   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30274 #else
30275   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30276 #endif
30277 }
30278 
30279 __extension__ extern __inline poly16x4_t
30280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_p16(poly16x4_t __a,poly16x4_t __b)30281 vtrn1_p16 (poly16x4_t __a, poly16x4_t __b)
30282 {
30283 #ifdef __AARCH64EB__
30284   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
30285 #else
30286   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
30287 #endif
30288 }
30289 
30290 __extension__ extern __inline int8x8_t
30291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_s8(int8x8_t __a,int8x8_t __b)30292 vtrn1_s8 (int8x8_t __a, int8x8_t __b)
30293 {
30294 #ifdef __AARCH64EB__
30295   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30296 #else
30297   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30298 #endif
30299 }
30300 
30301 __extension__ extern __inline int16x4_t
30302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_s16(int16x4_t __a,int16x4_t __b)30303 vtrn1_s16 (int16x4_t __a, int16x4_t __b)
30304 {
30305 #ifdef __AARCH64EB__
30306   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
30307 #else
30308   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
30309 #endif
30310 }
30311 
30312 __extension__ extern __inline int32x2_t
30313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_s32(int32x2_t __a,int32x2_t __b)30314 vtrn1_s32 (int32x2_t __a, int32x2_t __b)
30315 {
30316 #ifdef __AARCH64EB__
30317   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
30318 #else
30319   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
30320 #endif
30321 }
30322 
30323 __extension__ extern __inline uint8x8_t
30324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_u8(uint8x8_t __a,uint8x8_t __b)30325 vtrn1_u8 (uint8x8_t __a, uint8x8_t __b)
30326 {
30327 #ifdef __AARCH64EB__
30328   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30329 #else
30330   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30331 #endif
30332 }
30333 
30334 __extension__ extern __inline uint16x4_t
30335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_u16(uint16x4_t __a,uint16x4_t __b)30336 vtrn1_u16 (uint16x4_t __a, uint16x4_t __b)
30337 {
30338 #ifdef __AARCH64EB__
30339   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
30340 #else
30341   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
30342 #endif
30343 }
30344 
30345 __extension__ extern __inline uint32x2_t
30346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_u32(uint32x2_t __a,uint32x2_t __b)30347 vtrn1_u32 (uint32x2_t __a, uint32x2_t __b)
30348 {
30349 #ifdef __AARCH64EB__
30350   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
30351 #else
30352   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
30353 #endif
30354 }
30355 
30356 __extension__ extern __inline float16x8_t
30357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_f16(float16x8_t __a,float16x8_t __b)30358 vtrn1q_f16 (float16x8_t __a, float16x8_t __b)
30359 {
30360 #ifdef __AARCH64EB__
30361   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30362 #else
30363   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30364 #endif
30365 }
30366 
30367 __extension__ extern __inline float32x4_t
30368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_f32(float32x4_t __a,float32x4_t __b)30369 vtrn1q_f32 (float32x4_t __a, float32x4_t __b)
30370 {
30371 #ifdef __AARCH64EB__
30372   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 1, 7, 3});
30373 #else
30374   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 2, 6});
30375 #endif
30376 }
30377 
30378 __extension__ extern __inline float64x2_t
30379 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_f64(float64x2_t __a,float64x2_t __b)30380 vtrn1q_f64 (float64x2_t __a, float64x2_t __b)
30381 {
30382 #ifdef __AARCH64EB__
30383   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
30384 #else
30385   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
30386 #endif
30387 }
30388 
30389 __extension__ extern __inline poly8x16_t
30390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_p8(poly8x16_t __a,poly8x16_t __b)30391 vtrn1q_p8 (poly8x16_t __a, poly8x16_t __b)
30392 {
30393 #ifdef __AARCH64EB__
30394   return __builtin_shuffle (__a, __b,
30395       (uint8x16_t) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
30396 #else
30397   return __builtin_shuffle (__a, __b,
30398       (uint8x16_t) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
30399 #endif
30400 }
30401 
30402 __extension__ extern __inline poly16x8_t
30403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_p16(poly16x8_t __a,poly16x8_t __b)30404 vtrn1q_p16 (poly16x8_t __a, poly16x8_t __b)
30405 {
30406 #ifdef __AARCH64EB__
30407   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30408 #else
30409   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30410 #endif
30411 }
30412 
30413 __extension__ extern __inline int8x16_t
30414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_s8(int8x16_t __a,int8x16_t __b)30415 vtrn1q_s8 (int8x16_t __a, int8x16_t __b)
30416 {
30417 #ifdef __AARCH64EB__
30418   return __builtin_shuffle (__a, __b,
30419       (uint8x16_t) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
30420 #else
30421   return __builtin_shuffle (__a, __b,
30422       (uint8x16_t) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
30423 #endif
30424 }
30425 
30426 __extension__ extern __inline int16x8_t
30427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_s16(int16x8_t __a,int16x8_t __b)30428 vtrn1q_s16 (int16x8_t __a, int16x8_t __b)
30429 {
30430 #ifdef __AARCH64EB__
30431   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30432 #else
30433   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30434 #endif
30435 }
30436 
30437 __extension__ extern __inline int32x4_t
30438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_s32(int32x4_t __a,int32x4_t __b)30439 vtrn1q_s32 (int32x4_t __a, int32x4_t __b)
30440 {
30441 #ifdef __AARCH64EB__
30442   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 1, 7, 3});
30443 #else
30444   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 2, 6});
30445 #endif
30446 }
30447 
30448 __extension__ extern __inline int64x2_t
30449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_s64(int64x2_t __a,int64x2_t __b)30450 vtrn1q_s64 (int64x2_t __a, int64x2_t __b)
30451 {
30452 #ifdef __AARCH64EB__
30453   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
30454 #else
30455   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
30456 #endif
30457 }
30458 
30459 __extension__ extern __inline uint8x16_t
30460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_u8(uint8x16_t __a,uint8x16_t __b)30461 vtrn1q_u8 (uint8x16_t __a, uint8x16_t __b)
30462 {
30463 #ifdef __AARCH64EB__
30464   return __builtin_shuffle (__a, __b,
30465       (uint8x16_t) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
30466 #else
30467   return __builtin_shuffle (__a, __b,
30468       (uint8x16_t) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
30469 #endif
30470 }
30471 
30472 __extension__ extern __inline uint16x8_t
30473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_u16(uint16x8_t __a,uint16x8_t __b)30474 vtrn1q_u16 (uint16x8_t __a, uint16x8_t __b)
30475 {
30476 #ifdef __AARCH64EB__
30477   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
30478 #else
30479   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
30480 #endif
30481 }
30482 
30483 __extension__ extern __inline uint32x4_t
30484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_u32(uint32x4_t __a,uint32x4_t __b)30485 vtrn1q_u32 (uint32x4_t __a, uint32x4_t __b)
30486 {
30487 #ifdef __AARCH64EB__
30488   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 1, 7, 3});
30489 #else
30490   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 2, 6});
30491 #endif
30492 }
30493 
30494 __extension__ extern __inline uint64x2_t
30495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_u64(uint64x2_t __a,uint64x2_t __b)30496 vtrn1q_u64 (uint64x2_t __a, uint64x2_t __b)
30497 {
30498 #ifdef __AARCH64EB__
30499   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
30500 #else
30501   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
30502 #endif
30503 }
30504 
30505 __extension__ extern __inline float16x4_t
30506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_f16(float16x4_t __a,float16x4_t __b)30507 vtrn2_f16 (float16x4_t __a, float16x4_t __b)
30508 {
30509 #ifdef __AARCH64EB__
30510   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
30511 #else
30512   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
30513 #endif
30514 }
30515 
30516 __extension__ extern __inline float32x2_t
30517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_f32(float32x2_t __a,float32x2_t __b)30518 vtrn2_f32 (float32x2_t __a, float32x2_t __b)
30519 {
30520 #ifdef __AARCH64EB__
30521   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
30522 #else
30523   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
30524 #endif
30525 }
30526 
30527 __extension__ extern __inline poly8x8_t
30528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_p8(poly8x8_t __a,poly8x8_t __b)30529 vtrn2_p8 (poly8x8_t __a, poly8x8_t __b)
30530 {
30531 #ifdef __AARCH64EB__
30532   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30533 #else
30534   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30535 #endif
30536 }
30537 
30538 __extension__ extern __inline poly16x4_t
30539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_p16(poly16x4_t __a,poly16x4_t __b)30540 vtrn2_p16 (poly16x4_t __a, poly16x4_t __b)
30541 {
30542 #ifdef __AARCH64EB__
30543   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
30544 #else
30545   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
30546 #endif
30547 }
30548 
30549 __extension__ extern __inline int8x8_t
30550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_s8(int8x8_t __a,int8x8_t __b)30551 vtrn2_s8 (int8x8_t __a, int8x8_t __b)
30552 {
30553 #ifdef __AARCH64EB__
30554   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30555 #else
30556   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30557 #endif
30558 }
30559 
30560 __extension__ extern __inline int16x4_t
30561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_s16(int16x4_t __a,int16x4_t __b)30562 vtrn2_s16 (int16x4_t __a, int16x4_t __b)
30563 {
30564 #ifdef __AARCH64EB__
30565   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
30566 #else
30567   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
30568 #endif
30569 }
30570 
30571 __extension__ extern __inline int32x2_t
30572 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_s32(int32x2_t __a,int32x2_t __b)30573 vtrn2_s32 (int32x2_t __a, int32x2_t __b)
30574 {
30575 #ifdef __AARCH64EB__
30576   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
30577 #else
30578   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
30579 #endif
30580 }
30581 
30582 __extension__ extern __inline uint8x8_t
30583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_u8(uint8x8_t __a,uint8x8_t __b)30584 vtrn2_u8 (uint8x8_t __a, uint8x8_t __b)
30585 {
30586 #ifdef __AARCH64EB__
30587   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30588 #else
30589   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30590 #endif
30591 }
30592 
30593 __extension__ extern __inline uint16x4_t
30594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_u16(uint16x4_t __a,uint16x4_t __b)30595 vtrn2_u16 (uint16x4_t __a, uint16x4_t __b)
30596 {
30597 #ifdef __AARCH64EB__
30598   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
30599 #else
30600   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
30601 #endif
30602 }
30603 
30604 __extension__ extern __inline uint32x2_t
30605 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_u32(uint32x2_t __a,uint32x2_t __b)30606 vtrn2_u32 (uint32x2_t __a, uint32x2_t __b)
30607 {
30608 #ifdef __AARCH64EB__
30609   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
30610 #else
30611   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
30612 #endif
30613 }
30614 
30615 __extension__ extern __inline float16x8_t
30616 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_f16(float16x8_t __a,float16x8_t __b)30617 vtrn2q_f16 (float16x8_t __a, float16x8_t __b)
30618 {
30619 #ifdef __AARCH64EB__
30620   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30621 #else
30622   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30623 #endif
30624 }
30625 
30626 __extension__ extern __inline float32x4_t
30627 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_f32(float32x4_t __a,float32x4_t __b)30628 vtrn2q_f32 (float32x4_t __a, float32x4_t __b)
30629 {
30630 #ifdef __AARCH64EB__
30631   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 6, 2});
30632 #else
30633   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 5, 3, 7});
30634 #endif
30635 }
30636 
30637 __extension__ extern __inline float64x2_t
30638 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_f64(float64x2_t __a,float64x2_t __b)30639 vtrn2q_f64 (float64x2_t __a, float64x2_t __b)
30640 {
30641 #ifdef __AARCH64EB__
30642   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
30643 #else
30644   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
30645 #endif
30646 }
30647 
30648 __extension__ extern __inline poly8x16_t
30649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_p8(poly8x16_t __a,poly8x16_t __b)30650 vtrn2q_p8 (poly8x16_t __a, poly8x16_t __b)
30651 {
30652 #ifdef __AARCH64EB__
30653   return __builtin_shuffle (__a, __b,
30654       (uint8x16_t) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
30655 #else
30656   return __builtin_shuffle (__a, __b,
30657       (uint8x16_t) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
30658 #endif
30659 }
30660 
30661 __extension__ extern __inline poly16x8_t
30662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_p16(poly16x8_t __a,poly16x8_t __b)30663 vtrn2q_p16 (poly16x8_t __a, poly16x8_t __b)
30664 {
30665 #ifdef __AARCH64EB__
30666   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30667 #else
30668   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30669 #endif
30670 }
30671 
30672 __extension__ extern __inline int8x16_t
30673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_s8(int8x16_t __a,int8x16_t __b)30674 vtrn2q_s8 (int8x16_t __a, int8x16_t __b)
30675 {
30676 #ifdef __AARCH64EB__
30677   return __builtin_shuffle (__a, __b,
30678       (uint8x16_t) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
30679 #else
30680   return __builtin_shuffle (__a, __b,
30681       (uint8x16_t) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
30682 #endif
30683 }
30684 
30685 __extension__ extern __inline int16x8_t
30686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_s16(int16x8_t __a,int16x8_t __b)30687 vtrn2q_s16 (int16x8_t __a, int16x8_t __b)
30688 {
30689 #ifdef __AARCH64EB__
30690   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30691 #else
30692   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30693 #endif
30694 }
30695 
30696 __extension__ extern __inline int32x4_t
30697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_s32(int32x4_t __a,int32x4_t __b)30698 vtrn2q_s32 (int32x4_t __a, int32x4_t __b)
30699 {
30700 #ifdef __AARCH64EB__
30701   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 6, 2});
30702 #else
30703   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 5, 3, 7});
30704 #endif
30705 }
30706 
30707 __extension__ extern __inline int64x2_t
30708 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_s64(int64x2_t __a,int64x2_t __b)30709 vtrn2q_s64 (int64x2_t __a, int64x2_t __b)
30710 {
30711 #ifdef __AARCH64EB__
30712   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
30713 #else
30714   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
30715 #endif
30716 }
30717 
30718 __extension__ extern __inline uint8x16_t
30719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_u8(uint8x16_t __a,uint8x16_t __b)30720 vtrn2q_u8 (uint8x16_t __a, uint8x16_t __b)
30721 {
30722 #ifdef __AARCH64EB__
30723   return __builtin_shuffle (__a, __b,
30724       (uint8x16_t) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
30725 #else
30726   return __builtin_shuffle (__a, __b,
30727       (uint8x16_t) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
30728 #endif
30729 }
30730 
30731 __extension__ extern __inline uint16x8_t
30732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_u16(uint16x8_t __a,uint16x8_t __b)30733 vtrn2q_u16 (uint16x8_t __a, uint16x8_t __b)
30734 {
30735 #ifdef __AARCH64EB__
30736   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
30737 #else
30738   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
30739 #endif
30740 }
30741 
30742 __extension__ extern __inline uint32x4_t
30743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_u32(uint32x4_t __a,uint32x4_t __b)30744 vtrn2q_u32 (uint32x4_t __a, uint32x4_t __b)
30745 {
30746 #ifdef __AARCH64EB__
30747   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 6, 2});
30748 #else
30749   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 5, 3, 7});
30750 #endif
30751 }
30752 
30753 __extension__ extern __inline uint64x2_t
30754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_u64(uint64x2_t __a,uint64x2_t __b)30755 vtrn2q_u64 (uint64x2_t __a, uint64x2_t __b)
30756 {
30757 #ifdef __AARCH64EB__
30758   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
30759 #else
30760   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
30761 #endif
30762 }
30763 
30764 __extension__ extern __inline float16x4x2_t
30765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_f16(float16x4_t __a,float16x4_t __b)30766 vtrn_f16 (float16x4_t __a, float16x4_t __b)
30767 {
30768   return (float16x4x2_t) {vtrn1_f16 (__a, __b), vtrn2_f16 (__a, __b)};
30769 }
30770 
30771 __extension__ extern __inline float32x2x2_t
30772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_f32(float32x2_t __a,float32x2_t __b)30773 vtrn_f32 (float32x2_t __a, float32x2_t __b)
30774 {
30775   return (float32x2x2_t) {vtrn1_f32 (__a, __b), vtrn2_f32 (__a, __b)};
30776 }
30777 
30778 __extension__ extern __inline poly8x8x2_t
30779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_p8(poly8x8_t __a,poly8x8_t __b)30780 vtrn_p8 (poly8x8_t __a, poly8x8_t __b)
30781 {
30782   return (poly8x8x2_t) {vtrn1_p8 (__a, __b), vtrn2_p8 (__a, __b)};
30783 }
30784 
30785 __extension__ extern __inline poly16x4x2_t
30786 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_p16(poly16x4_t __a,poly16x4_t __b)30787 vtrn_p16 (poly16x4_t __a, poly16x4_t __b)
30788 {
30789   return (poly16x4x2_t) {vtrn1_p16 (__a, __b), vtrn2_p16 (__a, __b)};
30790 }
30791 
30792 __extension__ extern __inline int8x8x2_t
30793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s8(int8x8_t __a,int8x8_t __b)30794 vtrn_s8 (int8x8_t __a, int8x8_t __b)
30795 {
30796   return (int8x8x2_t) {vtrn1_s8 (__a, __b), vtrn2_s8 (__a, __b)};
30797 }
30798 
30799 __extension__ extern __inline int16x4x2_t
30800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s16(int16x4_t __a,int16x4_t __b)30801 vtrn_s16 (int16x4_t __a, int16x4_t __b)
30802 {
30803   return (int16x4x2_t) {vtrn1_s16 (__a, __b), vtrn2_s16 (__a, __b)};
30804 }
30805 
30806 __extension__ extern __inline int32x2x2_t
30807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s32(int32x2_t __a,int32x2_t __b)30808 vtrn_s32 (int32x2_t __a, int32x2_t __b)
30809 {
30810   return (int32x2x2_t) {vtrn1_s32 (__a, __b), vtrn2_s32 (__a, __b)};
30811 }
30812 
30813 __extension__ extern __inline uint8x8x2_t
30814 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u8(uint8x8_t __a,uint8x8_t __b)30815 vtrn_u8 (uint8x8_t __a, uint8x8_t __b)
30816 {
30817   return (uint8x8x2_t) {vtrn1_u8 (__a, __b), vtrn2_u8 (__a, __b)};
30818 }
30819 
30820 __extension__ extern __inline uint16x4x2_t
30821 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u16(uint16x4_t __a,uint16x4_t __b)30822 vtrn_u16 (uint16x4_t __a, uint16x4_t __b)
30823 {
30824   return (uint16x4x2_t) {vtrn1_u16 (__a, __b), vtrn2_u16 (__a, __b)};
30825 }
30826 
30827 __extension__ extern __inline uint32x2x2_t
30828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u32(uint32x2_t __a,uint32x2_t __b)30829 vtrn_u32 (uint32x2_t __a, uint32x2_t __b)
30830 {
30831   return (uint32x2x2_t) {vtrn1_u32 (__a, __b), vtrn2_u32 (__a, __b)};
30832 }
30833 
30834 __extension__ extern __inline float16x8x2_t
30835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_f16(float16x8_t __a,float16x8_t __b)30836 vtrnq_f16 (float16x8_t __a, float16x8_t __b)
30837 {
30838   return (float16x8x2_t) {vtrn1q_f16 (__a, __b), vtrn2q_f16 (__a, __b)};
30839 }
30840 
30841 __extension__ extern __inline float32x4x2_t
30842 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_f32(float32x4_t __a,float32x4_t __b)30843 vtrnq_f32 (float32x4_t __a, float32x4_t __b)
30844 {
30845   return (float32x4x2_t) {vtrn1q_f32 (__a, __b), vtrn2q_f32 (__a, __b)};
30846 }
30847 
30848 __extension__ extern __inline poly8x16x2_t
30849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_p8(poly8x16_t __a,poly8x16_t __b)30850 vtrnq_p8 (poly8x16_t __a, poly8x16_t __b)
30851 {
30852   return (poly8x16x2_t) {vtrn1q_p8 (__a, __b), vtrn2q_p8 (__a, __b)};
30853 }
30854 
30855 __extension__ extern __inline poly16x8x2_t
30856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_p16(poly16x8_t __a,poly16x8_t __b)30857 vtrnq_p16 (poly16x8_t __a, poly16x8_t __b)
30858 {
30859   return (poly16x8x2_t) {vtrn1q_p16 (__a, __b), vtrn2q_p16 (__a, __b)};
30860 }
30861 
30862 __extension__ extern __inline int8x16x2_t
30863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s8(int8x16_t __a,int8x16_t __b)30864 vtrnq_s8 (int8x16_t __a, int8x16_t __b)
30865 {
30866   return (int8x16x2_t) {vtrn1q_s8 (__a, __b), vtrn2q_s8 (__a, __b)};
30867 }
30868 
30869 __extension__ extern __inline int16x8x2_t
30870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s16(int16x8_t __a,int16x8_t __b)30871 vtrnq_s16 (int16x8_t __a, int16x8_t __b)
30872 {
30873   return (int16x8x2_t) {vtrn1q_s16 (__a, __b), vtrn2q_s16 (__a, __b)};
30874 }
30875 
30876 __extension__ extern __inline int32x4x2_t
30877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s32(int32x4_t __a,int32x4_t __b)30878 vtrnq_s32 (int32x4_t __a, int32x4_t __b)
30879 {
30880   return (int32x4x2_t) {vtrn1q_s32 (__a, __b), vtrn2q_s32 (__a, __b)};
30881 }
30882 
30883 __extension__ extern __inline uint8x16x2_t
30884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u8(uint8x16_t __a,uint8x16_t __b)30885 vtrnq_u8 (uint8x16_t __a, uint8x16_t __b)
30886 {
30887   return (uint8x16x2_t) {vtrn1q_u8 (__a, __b), vtrn2q_u8 (__a, __b)};
30888 }
30889 
30890 __extension__ extern __inline uint16x8x2_t
30891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u16(uint16x8_t __a,uint16x8_t __b)30892 vtrnq_u16 (uint16x8_t __a, uint16x8_t __b)
30893 {
30894   return (uint16x8x2_t) {vtrn1q_u16 (__a, __b), vtrn2q_u16 (__a, __b)};
30895 }
30896 
30897 __extension__ extern __inline uint32x4x2_t
30898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u32(uint32x4_t __a,uint32x4_t __b)30899 vtrnq_u32 (uint32x4_t __a, uint32x4_t __b)
30900 {
30901   return (uint32x4x2_t) {vtrn1q_u32 (__a, __b), vtrn2q_u32 (__a, __b)};
30902 }
30903 
30904 /* vtst */
30905 
30906 __extension__ extern __inline uint8x8_t
30907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s8(int8x8_t __a,int8x8_t __b)30908 vtst_s8 (int8x8_t __a, int8x8_t __b)
30909 {
30910   return (uint8x8_t) ((__a & __b) != 0);
30911 }
30912 
30913 __extension__ extern __inline uint16x4_t
30914 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s16(int16x4_t __a,int16x4_t __b)30915 vtst_s16 (int16x4_t __a, int16x4_t __b)
30916 {
30917   return (uint16x4_t) ((__a & __b) != 0);
30918 }
30919 
30920 __extension__ extern __inline uint32x2_t
30921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s32(int32x2_t __a,int32x2_t __b)30922 vtst_s32 (int32x2_t __a, int32x2_t __b)
30923 {
30924   return (uint32x2_t) ((__a & __b) != 0);
30925 }
30926 
30927 __extension__ extern __inline uint64x1_t
30928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s64(int64x1_t __a,int64x1_t __b)30929 vtst_s64 (int64x1_t __a, int64x1_t __b)
30930 {
30931   return (uint64x1_t) ((__a & __b) != __AARCH64_INT64_C (0));
30932 }
30933 
30934 __extension__ extern __inline uint8x8_t
30935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u8(uint8x8_t __a,uint8x8_t __b)30936 vtst_u8 (uint8x8_t __a, uint8x8_t __b)
30937 {
30938   return ((__a & __b) != 0);
30939 }
30940 
30941 __extension__ extern __inline uint16x4_t
30942 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u16(uint16x4_t __a,uint16x4_t __b)30943 vtst_u16 (uint16x4_t __a, uint16x4_t __b)
30944 {
30945   return ((__a & __b) != 0);
30946 }
30947 
30948 __extension__ extern __inline uint32x2_t
30949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u32(uint32x2_t __a,uint32x2_t __b)30950 vtst_u32 (uint32x2_t __a, uint32x2_t __b)
30951 {
30952   return ((__a & __b) != 0);
30953 }
30954 
30955 __extension__ extern __inline uint64x1_t
30956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u64(uint64x1_t __a,uint64x1_t __b)30957 vtst_u64 (uint64x1_t __a, uint64x1_t __b)
30958 {
30959   return ((__a & __b) != __AARCH64_UINT64_C (0));
30960 }
30961 
30962 __extension__ extern __inline uint8x16_t
30963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s8(int8x16_t __a,int8x16_t __b)30964 vtstq_s8 (int8x16_t __a, int8x16_t __b)
30965 {
30966   return (uint8x16_t) ((__a & __b) != 0);
30967 }
30968 
30969 __extension__ extern __inline uint16x8_t
30970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s16(int16x8_t __a,int16x8_t __b)30971 vtstq_s16 (int16x8_t __a, int16x8_t __b)
30972 {
30973   return (uint16x8_t) ((__a & __b) != 0);
30974 }
30975 
30976 __extension__ extern __inline uint32x4_t
30977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s32(int32x4_t __a,int32x4_t __b)30978 vtstq_s32 (int32x4_t __a, int32x4_t __b)
30979 {
30980   return (uint32x4_t) ((__a & __b) != 0);
30981 }
30982 
30983 __extension__ extern __inline uint64x2_t
30984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s64(int64x2_t __a,int64x2_t __b)30985 vtstq_s64 (int64x2_t __a, int64x2_t __b)
30986 {
30987   return (uint64x2_t) ((__a & __b) != __AARCH64_INT64_C (0));
30988 }
30989 
30990 __extension__ extern __inline uint8x16_t
30991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u8(uint8x16_t __a,uint8x16_t __b)30992 vtstq_u8 (uint8x16_t __a, uint8x16_t __b)
30993 {
30994   return ((__a & __b) != 0);
30995 }
30996 
30997 __extension__ extern __inline uint16x8_t
30998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u16(uint16x8_t __a,uint16x8_t __b)30999 vtstq_u16 (uint16x8_t __a, uint16x8_t __b)
31000 {
31001   return ((__a & __b) != 0);
31002 }
31003 
31004 __extension__ extern __inline uint32x4_t
31005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u32(uint32x4_t __a,uint32x4_t __b)31006 vtstq_u32 (uint32x4_t __a, uint32x4_t __b)
31007 {
31008   return ((__a & __b) != 0);
31009 }
31010 
31011 __extension__ extern __inline uint64x2_t
31012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u64(uint64x2_t __a,uint64x2_t __b)31013 vtstq_u64 (uint64x2_t __a, uint64x2_t __b)
31014 {
31015   return ((__a & __b) != __AARCH64_UINT64_C (0));
31016 }
31017 
31018 __extension__ extern __inline uint64_t
31019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstd_s64(int64_t __a,int64_t __b)31020 vtstd_s64 (int64_t __a, int64_t __b)
31021 {
31022   return (__a & __b) ? -1ll : 0ll;
31023 }
31024 
31025 __extension__ extern __inline uint64_t
31026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstd_u64(uint64_t __a,uint64_t __b)31027 vtstd_u64 (uint64_t __a, uint64_t __b)
31028 {
31029   return (__a & __b) ? -1ll : 0ll;
31030 }
31031 
31032 /* vuqadd */
31033 
31034 __extension__ extern __inline int8x8_t
31035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadd_s8(int8x8_t __a,uint8x8_t __b)31036 vuqadd_s8 (int8x8_t __a, uint8x8_t __b)
31037 {
31038   return __builtin_aarch64_suqaddv8qi_ssu (__a,  __b);
31039 }
31040 
31041 __extension__ extern __inline int16x4_t
31042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadd_s16(int16x4_t __a,uint16x4_t __b)31043 vuqadd_s16 (int16x4_t __a, uint16x4_t __b)
31044 {
31045   return __builtin_aarch64_suqaddv4hi_ssu (__a,  __b);
31046 }
31047 
31048 __extension__ extern __inline int32x2_t
31049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadd_s32(int32x2_t __a,uint32x2_t __b)31050 vuqadd_s32 (int32x2_t __a, uint32x2_t __b)
31051 {
31052   return __builtin_aarch64_suqaddv2si_ssu (__a,  __b);
31053 }
31054 
31055 __extension__ extern __inline int64x1_t
31056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadd_s64(int64x1_t __a,uint64x1_t __b)31057 vuqadd_s64 (int64x1_t __a, uint64x1_t __b)
31058 {
31059   return (int64x1_t) {__builtin_aarch64_suqadddi_ssu (__a[0], __b[0])};
31060 }
31061 
31062 __extension__ extern __inline int8x16_t
31063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddq_s8(int8x16_t __a,uint8x16_t __b)31064 vuqaddq_s8 (int8x16_t __a, uint8x16_t __b)
31065 {
31066   return __builtin_aarch64_suqaddv16qi_ssu (__a,  __b);
31067 }
31068 
31069 __extension__ extern __inline int16x8_t
31070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddq_s16(int16x8_t __a,uint16x8_t __b)31071 vuqaddq_s16 (int16x8_t __a, uint16x8_t __b)
31072 {
31073   return __builtin_aarch64_suqaddv8hi_ssu (__a,  __b);
31074 }
31075 
31076 __extension__ extern __inline int32x4_t
31077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddq_s32(int32x4_t __a,uint32x4_t __b)31078 vuqaddq_s32 (int32x4_t __a, uint32x4_t __b)
31079 {
31080   return __builtin_aarch64_suqaddv4si_ssu (__a,  __b);
31081 }
31082 
31083 __extension__ extern __inline int64x2_t
31084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddq_s64(int64x2_t __a,uint64x2_t __b)31085 vuqaddq_s64 (int64x2_t __a, uint64x2_t __b)
31086 {
31087   return __builtin_aarch64_suqaddv2di_ssu (__a,  __b);
31088 }
31089 
31090 __extension__ extern __inline int8_t
31091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddb_s8(int8_t __a,uint8_t __b)31092 vuqaddb_s8 (int8_t __a, uint8_t __b)
31093 {
31094   return __builtin_aarch64_suqaddqi_ssu (__a,  __b);
31095 }
31096 
31097 __extension__ extern __inline int16_t
31098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddh_s16(int16_t __a,uint16_t __b)31099 vuqaddh_s16 (int16_t __a, uint16_t __b)
31100 {
31101   return __builtin_aarch64_suqaddhi_ssu (__a,  __b);
31102 }
31103 
31104 __extension__ extern __inline int32_t
31105 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadds_s32(int32_t __a,uint32_t __b)31106 vuqadds_s32 (int32_t __a, uint32_t __b)
31107 {
31108   return __builtin_aarch64_suqaddsi_ssu (__a,  __b);
31109 }
31110 
31111 __extension__ extern __inline int64_t
31112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddd_s64(int64_t __a,uint64_t __b)31113 vuqaddd_s64 (int64_t __a, uint64_t __b)
31114 {
31115   return __builtin_aarch64_suqadddi_ssu (__a,  __b);
31116 }
31117 
31118 #define __DEFINTERLEAVE(op, rettype, intype, funcsuffix, Q) 		\
31119   __extension__ extern __inline rettype					\
31120   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
31121   v ## op ## Q ## _ ## funcsuffix (intype a, intype b)			\
31122   {									\
31123     return (rettype) {v ## op ## 1 ## Q ## _ ## funcsuffix (a, b),	\
31124 		      v ## op ## 2 ## Q ## _ ## funcsuffix (a, b)};	\
31125   }
31126 
31127 #define __INTERLEAVE_LIST(op)					\
31128   __DEFINTERLEAVE (op, float16x4x2_t, float16x4_t, f16,)	\
31129   __DEFINTERLEAVE (op, float32x2x2_t, float32x2_t, f32,)	\
31130   __DEFINTERLEAVE (op, poly8x8x2_t, poly8x8_t, p8,)		\
31131   __DEFINTERLEAVE (op, poly16x4x2_t, poly16x4_t, p16,)		\
31132   __DEFINTERLEAVE (op, int8x8x2_t, int8x8_t, s8,)		\
31133   __DEFINTERLEAVE (op, int16x4x2_t, int16x4_t, s16,)		\
31134   __DEFINTERLEAVE (op, int32x2x2_t, int32x2_t, s32,)		\
31135   __DEFINTERLEAVE (op, uint8x8x2_t, uint8x8_t, u8,)		\
31136   __DEFINTERLEAVE (op, uint16x4x2_t, uint16x4_t, u16,)		\
31137   __DEFINTERLEAVE (op, uint32x2x2_t, uint32x2_t, u32,)		\
31138   __DEFINTERLEAVE (op, float16x8x2_t, float16x8_t, f16, q)	\
31139   __DEFINTERLEAVE (op, float32x4x2_t, float32x4_t, f32, q)	\
31140   __DEFINTERLEAVE (op, poly8x16x2_t, poly8x16_t, p8, q)		\
31141   __DEFINTERLEAVE (op, poly16x8x2_t, poly16x8_t, p16, q)	\
31142   __DEFINTERLEAVE (op, int8x16x2_t, int8x16_t, s8, q)		\
31143   __DEFINTERLEAVE (op, int16x8x2_t, int16x8_t, s16, q)		\
31144   __DEFINTERLEAVE (op, int32x4x2_t, int32x4_t, s32, q)		\
31145   __DEFINTERLEAVE (op, uint8x16x2_t, uint8x16_t, u8, q)		\
31146   __DEFINTERLEAVE (op, uint16x8x2_t, uint16x8_t, u16, q)	\
31147   __DEFINTERLEAVE (op, uint32x4x2_t, uint32x4_t, u32, q)
31148 
31149 /* vuzp */
31150 
31151 __extension__ extern __inline float16x4_t
31152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_f16(float16x4_t __a,float16x4_t __b)31153 vuzp1_f16 (float16x4_t __a, float16x4_t __b)
31154 {
31155 #ifdef __AARCH64EB__
31156   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
31157 #else
31158   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
31159 #endif
31160 }
31161 
31162 __extension__ extern __inline float32x2_t
31163 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_f32(float32x2_t __a,float32x2_t __b)31164 vuzp1_f32 (float32x2_t __a, float32x2_t __b)
31165 {
31166 #ifdef __AARCH64EB__
31167   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
31168 #else
31169   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
31170 #endif
31171 }
31172 
31173 __extension__ extern __inline poly8x8_t
31174 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_p8(poly8x8_t __a,poly8x8_t __b)31175 vuzp1_p8 (poly8x8_t __a, poly8x8_t __b)
31176 {
31177 #ifdef __AARCH64EB__
31178   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31179 #else
31180   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31181 #endif
31182 }
31183 
31184 __extension__ extern __inline poly16x4_t
31185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_p16(poly16x4_t __a,poly16x4_t __b)31186 vuzp1_p16 (poly16x4_t __a, poly16x4_t __b)
31187 {
31188 #ifdef __AARCH64EB__
31189   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
31190 #else
31191   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
31192 #endif
31193 }
31194 
31195 __extension__ extern __inline int8x8_t
31196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_s8(int8x8_t __a,int8x8_t __b)31197 vuzp1_s8 (int8x8_t __a, int8x8_t __b)
31198 {
31199 #ifdef __AARCH64EB__
31200   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31201 #else
31202   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31203 #endif
31204 }
31205 
31206 __extension__ extern __inline int16x4_t
31207 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_s16(int16x4_t __a,int16x4_t __b)31208 vuzp1_s16 (int16x4_t __a, int16x4_t __b)
31209 {
31210 #ifdef __AARCH64EB__
31211   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
31212 #else
31213   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
31214 #endif
31215 }
31216 
31217 __extension__ extern __inline int32x2_t
31218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_s32(int32x2_t __a,int32x2_t __b)31219 vuzp1_s32 (int32x2_t __a, int32x2_t __b)
31220 {
31221 #ifdef __AARCH64EB__
31222   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
31223 #else
31224   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
31225 #endif
31226 }
31227 
31228 __extension__ extern __inline uint8x8_t
31229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_u8(uint8x8_t __a,uint8x8_t __b)31230 vuzp1_u8 (uint8x8_t __a, uint8x8_t __b)
31231 {
31232 #ifdef __AARCH64EB__
31233   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31234 #else
31235   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31236 #endif
31237 }
31238 
31239 __extension__ extern __inline uint16x4_t
31240 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_u16(uint16x4_t __a,uint16x4_t __b)31241 vuzp1_u16 (uint16x4_t __a, uint16x4_t __b)
31242 {
31243 #ifdef __AARCH64EB__
31244   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
31245 #else
31246   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
31247 #endif
31248 }
31249 
31250 __extension__ extern __inline uint32x2_t
31251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_u32(uint32x2_t __a,uint32x2_t __b)31252 vuzp1_u32 (uint32x2_t __a, uint32x2_t __b)
31253 {
31254 #ifdef __AARCH64EB__
31255   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
31256 #else
31257   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
31258 #endif
31259 }
31260 
31261 __extension__ extern __inline float16x8_t
31262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_f16(float16x8_t __a,float16x8_t __b)31263 vuzp1q_f16 (float16x8_t __a, float16x8_t __b)
31264 {
31265 #ifdef __AARCH64EB__
31266   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31267 #else
31268   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31269 #endif
31270 }
31271 
31272 __extension__ extern __inline float32x4_t
31273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_f32(float32x4_t __a,float32x4_t __b)31274 vuzp1q_f32 (float32x4_t __a, float32x4_t __b)
31275 {
31276 #ifdef __AARCH64EB__
31277   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 7, 1, 3});
31278 #else
31279   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 2, 4, 6});
31280 #endif
31281 }
31282 
31283 __extension__ extern __inline float64x2_t
31284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_f64(float64x2_t __a,float64x2_t __b)31285 vuzp1q_f64 (float64x2_t __a, float64x2_t __b)
31286 {
31287 #ifdef __AARCH64EB__
31288   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
31289 #else
31290   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
31291 #endif
31292 }
31293 
31294 __extension__ extern __inline poly8x16_t
31295 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_p8(poly8x16_t __a,poly8x16_t __b)31296 vuzp1q_p8 (poly8x16_t __a, poly8x16_t __b)
31297 {
31298 #ifdef __AARCH64EB__
31299   return __builtin_shuffle (__a, __b, (uint8x16_t)
31300       {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
31301 #else
31302   return __builtin_shuffle (__a, __b, (uint8x16_t)
31303       {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
31304 #endif
31305 }
31306 
31307 __extension__ extern __inline poly16x8_t
31308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_p16(poly16x8_t __a,poly16x8_t __b)31309 vuzp1q_p16 (poly16x8_t __a, poly16x8_t __b)
31310 {
31311 #ifdef __AARCH64EB__
31312   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31313 #else
31314   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31315 #endif
31316 }
31317 
31318 __extension__ extern __inline int8x16_t
31319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_s8(int8x16_t __a,int8x16_t __b)31320 vuzp1q_s8 (int8x16_t __a, int8x16_t __b)
31321 {
31322 #ifdef __AARCH64EB__
31323   return __builtin_shuffle (__a, __b,
31324       (uint8x16_t) {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
31325 #else
31326   return __builtin_shuffle (__a, __b,
31327       (uint8x16_t) {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
31328 #endif
31329 }
31330 
31331 __extension__ extern __inline int16x8_t
31332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_s16(int16x8_t __a,int16x8_t __b)31333 vuzp1q_s16 (int16x8_t __a, int16x8_t __b)
31334 {
31335 #ifdef __AARCH64EB__
31336   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31337 #else
31338   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31339 #endif
31340 }
31341 
31342 __extension__ extern __inline int32x4_t
31343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_s32(int32x4_t __a,int32x4_t __b)31344 vuzp1q_s32 (int32x4_t __a, int32x4_t __b)
31345 {
31346 #ifdef __AARCH64EB__
31347   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 7, 1, 3});
31348 #else
31349   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 2, 4, 6});
31350 #endif
31351 }
31352 
31353 __extension__ extern __inline int64x2_t
31354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_s64(int64x2_t __a,int64x2_t __b)31355 vuzp1q_s64 (int64x2_t __a, int64x2_t __b)
31356 {
31357 #ifdef __AARCH64EB__
31358   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
31359 #else
31360   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
31361 #endif
31362 }
31363 
31364 __extension__ extern __inline uint8x16_t
31365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_u8(uint8x16_t __a,uint8x16_t __b)31366 vuzp1q_u8 (uint8x16_t __a, uint8x16_t __b)
31367 {
31368 #ifdef __AARCH64EB__
31369   return __builtin_shuffle (__a, __b,
31370       (uint8x16_t) {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
31371 #else
31372   return __builtin_shuffle (__a, __b,
31373       (uint8x16_t) {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
31374 #endif
31375 }
31376 
31377 __extension__ extern __inline uint16x8_t
31378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_u16(uint16x8_t __a,uint16x8_t __b)31379 vuzp1q_u16 (uint16x8_t __a, uint16x8_t __b)
31380 {
31381 #ifdef __AARCH64EB__
31382   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
31383 #else
31384   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
31385 #endif
31386 }
31387 
31388 __extension__ extern __inline uint32x4_t
31389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_u32(uint32x4_t __a,uint32x4_t __b)31390 vuzp1q_u32 (uint32x4_t __a, uint32x4_t __b)
31391 {
31392 #ifdef __AARCH64EB__
31393   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 7, 1, 3});
31394 #else
31395   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 2, 4, 6});
31396 #endif
31397 }
31398 
31399 __extension__ extern __inline uint64x2_t
31400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_u64(uint64x2_t __a,uint64x2_t __b)31401 vuzp1q_u64 (uint64x2_t __a, uint64x2_t __b)
31402 {
31403 #ifdef __AARCH64EB__
31404   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
31405 #else
31406   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
31407 #endif
31408 }
31409 
31410 __extension__ extern __inline float16x4_t
31411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_f16(float16x4_t __a,float16x4_t __b)31412 vuzp2_f16 (float16x4_t __a, float16x4_t __b)
31413 {
31414 #ifdef __AARCH64EB__
31415   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
31416 #else
31417   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
31418 #endif
31419 }
31420 
31421 __extension__ extern __inline float32x2_t
31422 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_f32(float32x2_t __a,float32x2_t __b)31423 vuzp2_f32 (float32x2_t __a, float32x2_t __b)
31424 {
31425 #ifdef __AARCH64EB__
31426   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
31427 #else
31428   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
31429 #endif
31430 }
31431 
31432 __extension__ extern __inline poly8x8_t
31433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_p8(poly8x8_t __a,poly8x8_t __b)31434 vuzp2_p8 (poly8x8_t __a, poly8x8_t __b)
31435 {
31436 #ifdef __AARCH64EB__
31437   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31438 #else
31439   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31440 #endif
31441 }
31442 
31443 __extension__ extern __inline poly16x4_t
31444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_p16(poly16x4_t __a,poly16x4_t __b)31445 vuzp2_p16 (poly16x4_t __a, poly16x4_t __b)
31446 {
31447 #ifdef __AARCH64EB__
31448   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
31449 #else
31450   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
31451 #endif
31452 }
31453 
31454 __extension__ extern __inline int8x8_t
31455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_s8(int8x8_t __a,int8x8_t __b)31456 vuzp2_s8 (int8x8_t __a, int8x8_t __b)
31457 {
31458 #ifdef __AARCH64EB__
31459   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31460 #else
31461   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31462 #endif
31463 }
31464 
31465 __extension__ extern __inline int16x4_t
31466 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_s16(int16x4_t __a,int16x4_t __b)31467 vuzp2_s16 (int16x4_t __a, int16x4_t __b)
31468 {
31469 #ifdef __AARCH64EB__
31470   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
31471 #else
31472   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
31473 #endif
31474 }
31475 
31476 __extension__ extern __inline int32x2_t
31477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_s32(int32x2_t __a,int32x2_t __b)31478 vuzp2_s32 (int32x2_t __a, int32x2_t __b)
31479 {
31480 #ifdef __AARCH64EB__
31481   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
31482 #else
31483   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
31484 #endif
31485 }
31486 
31487 __extension__ extern __inline uint8x8_t
31488 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_u8(uint8x8_t __a,uint8x8_t __b)31489 vuzp2_u8 (uint8x8_t __a, uint8x8_t __b)
31490 {
31491 #ifdef __AARCH64EB__
31492   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31493 #else
31494   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31495 #endif
31496 }
31497 
31498 __extension__ extern __inline uint16x4_t
31499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_u16(uint16x4_t __a,uint16x4_t __b)31500 vuzp2_u16 (uint16x4_t __a, uint16x4_t __b)
31501 {
31502 #ifdef __AARCH64EB__
31503   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
31504 #else
31505   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
31506 #endif
31507 }
31508 
31509 __extension__ extern __inline uint32x2_t
31510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_u32(uint32x2_t __a,uint32x2_t __b)31511 vuzp2_u32 (uint32x2_t __a, uint32x2_t __b)
31512 {
31513 #ifdef __AARCH64EB__
31514   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
31515 #else
31516   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
31517 #endif
31518 }
31519 
31520 __extension__ extern __inline float16x8_t
31521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_f16(float16x8_t __a,float16x8_t __b)31522 vuzp2q_f16 (float16x8_t __a, float16x8_t __b)
31523 {
31524 #ifdef __AARCH64EB__
31525   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31526 #else
31527   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31528 #endif
31529 }
31530 
31531 __extension__ extern __inline float32x4_t
31532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_f32(float32x4_t __a,float32x4_t __b)31533 vuzp2q_f32 (float32x4_t __a, float32x4_t __b)
31534 {
31535 #ifdef __AARCH64EB__
31536   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 6, 0, 2});
31537 #else
31538   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 3, 5, 7});
31539 #endif
31540 }
31541 
31542 __extension__ extern __inline float64x2_t
31543 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_f64(float64x2_t __a,float64x2_t __b)31544 vuzp2q_f64 (float64x2_t __a, float64x2_t __b)
31545 {
31546 #ifdef __AARCH64EB__
31547   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
31548 #else
31549   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
31550 #endif
31551 }
31552 
31553 __extension__ extern __inline poly8x16_t
31554 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_p8(poly8x16_t __a,poly8x16_t __b)31555 vuzp2q_p8 (poly8x16_t __a, poly8x16_t __b)
31556 {
31557 #ifdef __AARCH64EB__
31558   return __builtin_shuffle (__a, __b,
31559       (uint8x16_t) {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
31560 #else
31561   return __builtin_shuffle (__a, __b,
31562       (uint8x16_t) {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
31563 #endif
31564 }
31565 
31566 __extension__ extern __inline poly16x8_t
31567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_p16(poly16x8_t __a,poly16x8_t __b)31568 vuzp2q_p16 (poly16x8_t __a, poly16x8_t __b)
31569 {
31570 #ifdef __AARCH64EB__
31571   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31572 #else
31573   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31574 #endif
31575 }
31576 
31577 __extension__ extern __inline int8x16_t
31578 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_s8(int8x16_t __a,int8x16_t __b)31579 vuzp2q_s8 (int8x16_t __a, int8x16_t __b)
31580 {
31581 #ifdef __AARCH64EB__
31582   return __builtin_shuffle (__a, __b,
31583       (uint8x16_t) {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
31584 #else
31585   return __builtin_shuffle (__a, __b,
31586       (uint8x16_t) {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
31587 #endif
31588 }
31589 
31590 __extension__ extern __inline int16x8_t
31591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_s16(int16x8_t __a,int16x8_t __b)31592 vuzp2q_s16 (int16x8_t __a, int16x8_t __b)
31593 {
31594 #ifdef __AARCH64EB__
31595   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31596 #else
31597   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31598 #endif
31599 }
31600 
31601 __extension__ extern __inline int32x4_t
31602 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_s32(int32x4_t __a,int32x4_t __b)31603 vuzp2q_s32 (int32x4_t __a, int32x4_t __b)
31604 {
31605 #ifdef __AARCH64EB__
31606   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 6, 0, 2});
31607 #else
31608   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 3, 5, 7});
31609 #endif
31610 }
31611 
31612 __extension__ extern __inline int64x2_t
31613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_s64(int64x2_t __a,int64x2_t __b)31614 vuzp2q_s64 (int64x2_t __a, int64x2_t __b)
31615 {
31616 #ifdef __AARCH64EB__
31617   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
31618 #else
31619   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
31620 #endif
31621 }
31622 
31623 __extension__ extern __inline uint8x16_t
31624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_u8(uint8x16_t __a,uint8x16_t __b)31625 vuzp2q_u8 (uint8x16_t __a, uint8x16_t __b)
31626 {
31627 #ifdef __AARCH64EB__
31628   return __builtin_shuffle (__a, __b, (uint8x16_t)
31629       {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
31630 #else
31631   return __builtin_shuffle (__a, __b, (uint8x16_t)
31632       {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
31633 #endif
31634 }
31635 
31636 __extension__ extern __inline uint16x8_t
31637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_u16(uint16x8_t __a,uint16x8_t __b)31638 vuzp2q_u16 (uint16x8_t __a, uint16x8_t __b)
31639 {
31640 #ifdef __AARCH64EB__
31641   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
31642 #else
31643   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
31644 #endif
31645 }
31646 
31647 __extension__ extern __inline uint32x4_t
31648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_u32(uint32x4_t __a,uint32x4_t __b)31649 vuzp2q_u32 (uint32x4_t __a, uint32x4_t __b)
31650 {
31651 #ifdef __AARCH64EB__
31652   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 6, 0, 2});
31653 #else
31654   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 3, 5, 7});
31655 #endif
31656 }
31657 
31658 __extension__ extern __inline uint64x2_t
31659 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_u64(uint64x2_t __a,uint64x2_t __b)31660 vuzp2q_u64 (uint64x2_t __a, uint64x2_t __b)
31661 {
31662 #ifdef __AARCH64EB__
31663   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
31664 #else
31665   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
31666 #endif
31667 }
31668 
__INTERLEAVE_LIST(uzp)31669 __INTERLEAVE_LIST (uzp)
31670 
31671 /* vzip */
31672 
31673 __extension__ extern __inline float16x4_t
31674 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
31675 vzip1_f16 (float16x4_t __a, float16x4_t __b)
31676 {
31677 #ifdef __AARCH64EB__
31678   return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
31679 #else
31680   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
31681 #endif
31682 }
31683 
31684 __extension__ extern __inline float32x2_t
31685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_f32(float32x2_t __a,float32x2_t __b)31686 vzip1_f32 (float32x2_t __a, float32x2_t __b)
31687 {
31688 #ifdef __AARCH64EB__
31689   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
31690 #else
31691   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
31692 #endif
31693 }
31694 
31695 __extension__ extern __inline poly8x8_t
31696 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_p8(poly8x8_t __a,poly8x8_t __b)31697 vzip1_p8 (poly8x8_t __a, poly8x8_t __b)
31698 {
31699 #ifdef __AARCH64EB__
31700   return __builtin_shuffle (__a, __b, (uint8x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
31701 #else
31702   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
31703 #endif
31704 }
31705 
31706 __extension__ extern __inline poly16x4_t
31707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_p16(poly16x4_t __a,poly16x4_t __b)31708 vzip1_p16 (poly16x4_t __a, poly16x4_t __b)
31709 {
31710 #ifdef __AARCH64EB__
31711   return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
31712 #else
31713   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
31714 #endif
31715 }
31716 
31717 __extension__ extern __inline int8x8_t
31718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_s8(int8x8_t __a,int8x8_t __b)31719 vzip1_s8 (int8x8_t __a, int8x8_t __b)
31720 {
31721 #ifdef __AARCH64EB__
31722   return __builtin_shuffle (__a, __b, (uint8x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
31723 #else
31724   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
31725 #endif
31726 }
31727 
31728 __extension__ extern __inline int16x4_t
31729 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_s16(int16x4_t __a,int16x4_t __b)31730 vzip1_s16 (int16x4_t __a, int16x4_t __b)
31731 {
31732 #ifdef __AARCH64EB__
31733   return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
31734 #else
31735   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
31736 #endif
31737 }
31738 
31739 __extension__ extern __inline int32x2_t
31740 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_s32(int32x2_t __a,int32x2_t __b)31741 vzip1_s32 (int32x2_t __a, int32x2_t __b)
31742 {
31743 #ifdef __AARCH64EB__
31744   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
31745 #else
31746   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
31747 #endif
31748 }
31749 
31750 __extension__ extern __inline uint8x8_t
31751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_u8(uint8x8_t __a,uint8x8_t __b)31752 vzip1_u8 (uint8x8_t __a, uint8x8_t __b)
31753 {
31754 #ifdef __AARCH64EB__
31755   return __builtin_shuffle (__a, __b, (uint8x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
31756 #else
31757   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
31758 #endif
31759 }
31760 
31761 __extension__ extern __inline uint16x4_t
31762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_u16(uint16x4_t __a,uint16x4_t __b)31763 vzip1_u16 (uint16x4_t __a, uint16x4_t __b)
31764 {
31765 #ifdef __AARCH64EB__
31766   return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
31767 #else
31768   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
31769 #endif
31770 }
31771 
31772 __extension__ extern __inline uint32x2_t
31773 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_u32(uint32x2_t __a,uint32x2_t __b)31774 vzip1_u32 (uint32x2_t __a, uint32x2_t __b)
31775 {
31776 #ifdef __AARCH64EB__
31777   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
31778 #else
31779   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
31780 #endif
31781 }
31782 
31783 __extension__ extern __inline float16x8_t
31784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_f16(float16x8_t __a,float16x8_t __b)31785 vzip1q_f16 (float16x8_t __a, float16x8_t __b)
31786 {
31787 #ifdef __AARCH64EB__
31788   return __builtin_shuffle (__a, __b,
31789 			    (uint16x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
31790 #else
31791   return __builtin_shuffle (__a, __b,
31792 			    (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
31793 #endif
31794 }
31795 
31796 __extension__ extern __inline float32x4_t
31797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_f32(float32x4_t __a,float32x4_t __b)31798 vzip1q_f32 (float32x4_t __a, float32x4_t __b)
31799 {
31800 #ifdef __AARCH64EB__
31801   return __builtin_shuffle (__a, __b, (uint32x4_t) {6, 2, 7, 3});
31802 #else
31803   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 1, 5});
31804 #endif
31805 }
31806 
31807 __extension__ extern __inline float64x2_t
31808 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_f64(float64x2_t __a,float64x2_t __b)31809 vzip1q_f64 (float64x2_t __a, float64x2_t __b)
31810 {
31811 #ifdef __AARCH64EB__
31812   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
31813 #else
31814   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
31815 #endif
31816 }
31817 
31818 __extension__ extern __inline poly8x16_t
31819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_p8(poly8x16_t __a,poly8x16_t __b)31820 vzip1q_p8 (poly8x16_t __a, poly8x16_t __b)
31821 {
31822 #ifdef __AARCH64EB__
31823   return __builtin_shuffle (__a, __b, (uint8x16_t)
31824       {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
31825 #else
31826   return __builtin_shuffle (__a, __b, (uint8x16_t)
31827       {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
31828 #endif
31829 }
31830 
31831 __extension__ extern __inline poly16x8_t
31832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_p16(poly16x8_t __a,poly16x8_t __b)31833 vzip1q_p16 (poly16x8_t __a, poly16x8_t __b)
31834 {
31835 #ifdef __AARCH64EB__
31836   return __builtin_shuffle (__a, __b, (uint16x8_t)
31837       {12, 4, 13, 5, 14, 6, 15, 7});
31838 #else
31839   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
31840 #endif
31841 }
31842 
31843 __extension__ extern __inline int8x16_t
31844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_s8(int8x16_t __a,int8x16_t __b)31845 vzip1q_s8 (int8x16_t __a, int8x16_t __b)
31846 {
31847 #ifdef __AARCH64EB__
31848   return __builtin_shuffle (__a, __b, (uint8x16_t)
31849       {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
31850 #else
31851   return __builtin_shuffle (__a, __b, (uint8x16_t)
31852       {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
31853 #endif
31854 }
31855 
31856 __extension__ extern __inline int16x8_t
31857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_s16(int16x8_t __a,int16x8_t __b)31858 vzip1q_s16 (int16x8_t __a, int16x8_t __b)
31859 {
31860 #ifdef __AARCH64EB__
31861   return __builtin_shuffle (__a, __b, (uint16x8_t)
31862       {12, 4, 13, 5, 14, 6, 15, 7});
31863 #else
31864   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
31865 #endif
31866 }
31867 
31868 __extension__ extern __inline int32x4_t
31869 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_s32(int32x4_t __a,int32x4_t __b)31870 vzip1q_s32 (int32x4_t __a, int32x4_t __b)
31871 {
31872 #ifdef __AARCH64EB__
31873   return __builtin_shuffle (__a, __b, (uint32x4_t) {6, 2, 7, 3});
31874 #else
31875   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 1, 5});
31876 #endif
31877 }
31878 
31879 __extension__ extern __inline int64x2_t
31880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_s64(int64x2_t __a,int64x2_t __b)31881 vzip1q_s64 (int64x2_t __a, int64x2_t __b)
31882 {
31883 #ifdef __AARCH64EB__
31884   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
31885 #else
31886   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
31887 #endif
31888 }
31889 
31890 __extension__ extern __inline uint8x16_t
31891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_u8(uint8x16_t __a,uint8x16_t __b)31892 vzip1q_u8 (uint8x16_t __a, uint8x16_t __b)
31893 {
31894 #ifdef __AARCH64EB__
31895   return __builtin_shuffle (__a, __b, (uint8x16_t)
31896       {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
31897 #else
31898   return __builtin_shuffle (__a, __b, (uint8x16_t)
31899       {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
31900 #endif
31901 }
31902 
31903 __extension__ extern __inline uint16x8_t
31904 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_u16(uint16x8_t __a,uint16x8_t __b)31905 vzip1q_u16 (uint16x8_t __a, uint16x8_t __b)
31906 {
31907 #ifdef __AARCH64EB__
31908   return __builtin_shuffle (__a, __b, (uint16x8_t)
31909       {12, 4, 13, 5, 14, 6, 15, 7});
31910 #else
31911   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
31912 #endif
31913 }
31914 
31915 __extension__ extern __inline uint32x4_t
31916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_u32(uint32x4_t __a,uint32x4_t __b)31917 vzip1q_u32 (uint32x4_t __a, uint32x4_t __b)
31918 {
31919 #ifdef __AARCH64EB__
31920   return __builtin_shuffle (__a, __b, (uint32x4_t) {6, 2, 7, 3});
31921 #else
31922   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 1, 5});
31923 #endif
31924 }
31925 
31926 __extension__ extern __inline uint64x2_t
31927 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_u64(uint64x2_t __a,uint64x2_t __b)31928 vzip1q_u64 (uint64x2_t __a, uint64x2_t __b)
31929 {
31930 #ifdef __AARCH64EB__
31931   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
31932 #else
31933   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
31934 #endif
31935 }
31936 
31937 __extension__ extern __inline float16x4_t
31938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_f16(float16x4_t __a,float16x4_t __b)31939 vzip2_f16 (float16x4_t __a, float16x4_t __b)
31940 {
31941 #ifdef __AARCH64EB__
31942   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
31943 #else
31944   return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
31945 #endif
31946 }
31947 
31948 __extension__ extern __inline float32x2_t
31949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_f32(float32x2_t __a,float32x2_t __b)31950 vzip2_f32 (float32x2_t __a, float32x2_t __b)
31951 {
31952 #ifdef __AARCH64EB__
31953   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
31954 #else
31955   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
31956 #endif
31957 }
31958 
31959 __extension__ extern __inline poly8x8_t
31960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_p8(poly8x8_t __a,poly8x8_t __b)31961 vzip2_p8 (poly8x8_t __a, poly8x8_t __b)
31962 {
31963 #ifdef __AARCH64EB__
31964   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
31965 #else
31966   return __builtin_shuffle (__a, __b, (uint8x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
31967 #endif
31968 }
31969 
31970 __extension__ extern __inline poly16x4_t
31971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_p16(poly16x4_t __a,poly16x4_t __b)31972 vzip2_p16 (poly16x4_t __a, poly16x4_t __b)
31973 {
31974 #ifdef __AARCH64EB__
31975   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
31976 #else
31977   return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
31978 #endif
31979 }
31980 
31981 __extension__ extern __inline int8x8_t
31982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_s8(int8x8_t __a,int8x8_t __b)31983 vzip2_s8 (int8x8_t __a, int8x8_t __b)
31984 {
31985 #ifdef __AARCH64EB__
31986   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
31987 #else
31988   return __builtin_shuffle (__a, __b, (uint8x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
31989 #endif
31990 }
31991 
31992 __extension__ extern __inline int16x4_t
31993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_s16(int16x4_t __a,int16x4_t __b)31994 vzip2_s16 (int16x4_t __a, int16x4_t __b)
31995 {
31996 #ifdef __AARCH64EB__
31997   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
31998 #else
31999   return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
32000 #endif
32001 }
32002 
32003 __extension__ extern __inline int32x2_t
32004 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_s32(int32x2_t __a,int32x2_t __b)32005 vzip2_s32 (int32x2_t __a, int32x2_t __b)
32006 {
32007 #ifdef __AARCH64EB__
32008   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
32009 #else
32010   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
32011 #endif
32012 }
32013 
32014 __extension__ extern __inline uint8x8_t
32015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_u8(uint8x8_t __a,uint8x8_t __b)32016 vzip2_u8 (uint8x8_t __a, uint8x8_t __b)
32017 {
32018 #ifdef __AARCH64EB__
32019   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
32020 #else
32021   return __builtin_shuffle (__a, __b, (uint8x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
32022 #endif
32023 }
32024 
32025 __extension__ extern __inline uint16x4_t
32026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_u16(uint16x4_t __a,uint16x4_t __b)32027 vzip2_u16 (uint16x4_t __a, uint16x4_t __b)
32028 {
32029 #ifdef __AARCH64EB__
32030   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
32031 #else
32032   return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
32033 #endif
32034 }
32035 
32036 __extension__ extern __inline uint32x2_t
32037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_u32(uint32x2_t __a,uint32x2_t __b)32038 vzip2_u32 (uint32x2_t __a, uint32x2_t __b)
32039 {
32040 #ifdef __AARCH64EB__
32041   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
32042 #else
32043   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
32044 #endif
32045 }
32046 
32047 __extension__ extern __inline float16x8_t
32048 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_f16(float16x8_t __a,float16x8_t __b)32049 vzip2q_f16 (float16x8_t __a, float16x8_t __b)
32050 {
32051 #ifdef __AARCH64EB__
32052   return __builtin_shuffle (__a, __b,
32053 			    (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
32054 #else
32055   return __builtin_shuffle (__a, __b,
32056 			    (uint16x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
32057 #endif
32058 }
32059 
32060 __extension__ extern __inline float32x4_t
32061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_f32(float32x4_t __a,float32x4_t __b)32062 vzip2q_f32 (float32x4_t __a, float32x4_t __b)
32063 {
32064 #ifdef __AARCH64EB__
32065   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 5, 1});
32066 #else
32067   return __builtin_shuffle (__a, __b, (uint32x4_t) {2, 6, 3, 7});
32068 #endif
32069 }
32070 
32071 __extension__ extern __inline float64x2_t
32072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_f64(float64x2_t __a,float64x2_t __b)32073 vzip2q_f64 (float64x2_t __a, float64x2_t __b)
32074 {
32075 #ifdef __AARCH64EB__
32076   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
32077 #else
32078   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
32079 #endif
32080 }
32081 
32082 __extension__ extern __inline poly8x16_t
32083 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_p8(poly8x16_t __a,poly8x16_t __b)32084 vzip2q_p8 (poly8x16_t __a, poly8x16_t __b)
32085 {
32086 #ifdef __AARCH64EB__
32087   return __builtin_shuffle (__a, __b, (uint8x16_t)
32088       {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
32089 #else
32090   return __builtin_shuffle (__a, __b, (uint8x16_t)
32091       {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
32092 #endif
32093 }
32094 
32095 __extension__ extern __inline poly16x8_t
32096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_p16(poly16x8_t __a,poly16x8_t __b)32097 vzip2q_p16 (poly16x8_t __a, poly16x8_t __b)
32098 {
32099 #ifdef __AARCH64EB__
32100   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
32101 #else
32102   return __builtin_shuffle (__a, __b, (uint16x8_t)
32103       {4, 12, 5, 13, 6, 14, 7, 15});
32104 #endif
32105 }
32106 
32107 __extension__ extern __inline int8x16_t
32108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_s8(int8x16_t __a,int8x16_t __b)32109 vzip2q_s8 (int8x16_t __a, int8x16_t __b)
32110 {
32111 #ifdef __AARCH64EB__
32112   return __builtin_shuffle (__a, __b, (uint8x16_t)
32113       {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
32114 #else
32115   return __builtin_shuffle (__a, __b, (uint8x16_t)
32116       {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
32117 #endif
32118 }
32119 
32120 __extension__ extern __inline int16x8_t
32121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_s16(int16x8_t __a,int16x8_t __b)32122 vzip2q_s16 (int16x8_t __a, int16x8_t __b)
32123 {
32124 #ifdef __AARCH64EB__
32125   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
32126 #else
32127   return __builtin_shuffle (__a, __b, (uint16x8_t)
32128       {4, 12, 5, 13, 6, 14, 7, 15});
32129 #endif
32130 }
32131 
32132 __extension__ extern __inline int32x4_t
32133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_s32(int32x4_t __a,int32x4_t __b)32134 vzip2q_s32 (int32x4_t __a, int32x4_t __b)
32135 {
32136 #ifdef __AARCH64EB__
32137   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 5, 1});
32138 #else
32139   return __builtin_shuffle (__a, __b, (uint32x4_t) {2, 6, 3, 7});
32140 #endif
32141 }
32142 
32143 __extension__ extern __inline int64x2_t
32144 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_s64(int64x2_t __a,int64x2_t __b)32145 vzip2q_s64 (int64x2_t __a, int64x2_t __b)
32146 {
32147 #ifdef __AARCH64EB__
32148   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
32149 #else
32150   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
32151 #endif
32152 }
32153 
32154 __extension__ extern __inline uint8x16_t
32155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_u8(uint8x16_t __a,uint8x16_t __b)32156 vzip2q_u8 (uint8x16_t __a, uint8x16_t __b)
32157 {
32158 #ifdef __AARCH64EB__
32159   return __builtin_shuffle (__a, __b, (uint8x16_t)
32160       {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
32161 #else
32162   return __builtin_shuffle (__a, __b, (uint8x16_t)
32163       {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
32164 #endif
32165 }
32166 
32167 __extension__ extern __inline uint16x8_t
32168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_u16(uint16x8_t __a,uint16x8_t __b)32169 vzip2q_u16 (uint16x8_t __a, uint16x8_t __b)
32170 {
32171 #ifdef __AARCH64EB__
32172   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
32173 #else
32174   return __builtin_shuffle (__a, __b, (uint16x8_t)
32175       {4, 12, 5, 13, 6, 14, 7, 15});
32176 #endif
32177 }
32178 
32179 __extension__ extern __inline uint32x4_t
32180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_u32(uint32x4_t __a,uint32x4_t __b)32181 vzip2q_u32 (uint32x4_t __a, uint32x4_t __b)
32182 {
32183 #ifdef __AARCH64EB__
32184   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 5, 1});
32185 #else
32186   return __builtin_shuffle (__a, __b, (uint32x4_t) {2, 6, 3, 7});
32187 #endif
32188 }
32189 
32190 __extension__ extern __inline uint64x2_t
32191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_u64(uint64x2_t __a,uint64x2_t __b)32192 vzip2q_u64 (uint64x2_t __a, uint64x2_t __b)
32193 {
32194 #ifdef __AARCH64EB__
32195   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
32196 #else
32197   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
32198 #endif
32199 }
32200 
__INTERLEAVE_LIST(zip)32201 __INTERLEAVE_LIST (zip)
32202 
32203 #undef __INTERLEAVE_LIST
32204 #undef __DEFINTERLEAVE
32205 
32206 /* End of optimal implementations in approved order.  */
32207 
32208 #pragma GCC pop_options
32209 
32210 /* ARMv8.2-A FP16 intrinsics.  */
32211 
32212 #include "arm_fp16.h"
32213 
32214 #pragma GCC push_options
32215 #pragma GCC target ("arch=armv8.2-a+fp16")
32216 
32217 /* ARMv8.2-A FP16 one operand vector intrinsics.  */
32218 
32219 __extension__ extern __inline float16x4_t
32220 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
32221 vabs_f16 (float16x4_t __a)
32222 {
32223   return __builtin_aarch64_absv4hf (__a);
32224 }
32225 
32226 __extension__ extern __inline float16x8_t
32227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_f16(float16x8_t __a)32228 vabsq_f16 (float16x8_t __a)
32229 {
32230   return __builtin_aarch64_absv8hf (__a);
32231 }
32232 
32233 __extension__ extern __inline uint16x4_t
32234 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_f16(float16x4_t __a)32235 vceqz_f16 (float16x4_t __a)
32236 {
32237   return __builtin_aarch64_cmeqv4hf_uss (__a, vdup_n_f16 (0.0f));
32238 }
32239 
32240 __extension__ extern __inline uint16x8_t
32241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_f16(float16x8_t __a)32242 vceqzq_f16 (float16x8_t __a)
32243 {
32244   return __builtin_aarch64_cmeqv8hf_uss (__a, vdupq_n_f16 (0.0f));
32245 }
32246 
32247 __extension__ extern __inline uint16x4_t
32248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_f16(float16x4_t __a)32249 vcgez_f16 (float16x4_t __a)
32250 {
32251   return __builtin_aarch64_cmgev4hf_uss (__a, vdup_n_f16 (0.0f));
32252 }
32253 
32254 __extension__ extern __inline uint16x8_t
32255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_f16(float16x8_t __a)32256 vcgezq_f16 (float16x8_t __a)
32257 {
32258   return __builtin_aarch64_cmgev8hf_uss (__a, vdupq_n_f16 (0.0f));
32259 }
32260 
32261 __extension__ extern __inline uint16x4_t
32262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_f16(float16x4_t __a)32263 vcgtz_f16 (float16x4_t __a)
32264 {
32265   return __builtin_aarch64_cmgtv4hf_uss (__a, vdup_n_f16 (0.0f));
32266 }
32267 
32268 __extension__ extern __inline uint16x8_t
32269 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_f16(float16x8_t __a)32270 vcgtzq_f16 (float16x8_t __a)
32271 {
32272   return __builtin_aarch64_cmgtv8hf_uss (__a, vdupq_n_f16 (0.0f));
32273 }
32274 
32275 __extension__ extern __inline uint16x4_t
32276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_f16(float16x4_t __a)32277 vclez_f16 (float16x4_t __a)
32278 {
32279   return __builtin_aarch64_cmlev4hf_uss (__a, vdup_n_f16 (0.0f));
32280 }
32281 
32282 __extension__ extern __inline uint16x8_t
32283 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_f16(float16x8_t __a)32284 vclezq_f16 (float16x8_t __a)
32285 {
32286   return __builtin_aarch64_cmlev8hf_uss (__a, vdupq_n_f16 (0.0f));
32287 }
32288 
32289 __extension__ extern __inline uint16x4_t
32290 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_f16(float16x4_t __a)32291 vcltz_f16 (float16x4_t __a)
32292 {
32293   return __builtin_aarch64_cmltv4hf_uss (__a, vdup_n_f16 (0.0f));
32294 }
32295 
32296 __extension__ extern __inline uint16x8_t
32297 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_f16(float16x8_t __a)32298 vcltzq_f16 (float16x8_t __a)
32299 {
32300   return __builtin_aarch64_cmltv8hf_uss (__a, vdupq_n_f16 (0.0f));
32301 }
32302 
32303 __extension__ extern __inline float16x4_t
32304 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_s16(int16x4_t __a)32305 vcvt_f16_s16 (int16x4_t __a)
32306 {
32307   return __builtin_aarch64_floatv4hiv4hf (__a);
32308 }
32309 
32310 __extension__ extern __inline float16x8_t
32311 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f16_s16(int16x8_t __a)32312 vcvtq_f16_s16 (int16x8_t __a)
32313 {
32314   return __builtin_aarch64_floatv8hiv8hf (__a);
32315 }
32316 
32317 __extension__ extern __inline float16x4_t
32318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_u16(uint16x4_t __a)32319 vcvt_f16_u16 (uint16x4_t __a)
32320 {
32321   return __builtin_aarch64_floatunsv4hiv4hf ((int16x4_t) __a);
32322 }
32323 
32324 __extension__ extern __inline float16x8_t
32325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f16_u16(uint16x8_t __a)32326 vcvtq_f16_u16 (uint16x8_t __a)
32327 {
32328   return __builtin_aarch64_floatunsv8hiv8hf ((int16x8_t) __a);
32329 }
32330 
32331 __extension__ extern __inline int16x4_t
32332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_s16_f16(float16x4_t __a)32333 vcvt_s16_f16 (float16x4_t __a)
32334 {
32335   return __builtin_aarch64_lbtruncv4hfv4hi (__a);
32336 }
32337 
32338 __extension__ extern __inline int16x8_t
32339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_s16_f16(float16x8_t __a)32340 vcvtq_s16_f16 (float16x8_t __a)
32341 {
32342   return __builtin_aarch64_lbtruncv8hfv8hi (__a);
32343 }
32344 
32345 __extension__ extern __inline uint16x4_t
32346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_u16_f16(float16x4_t __a)32347 vcvt_u16_f16 (float16x4_t __a)
32348 {
32349   return __builtin_aarch64_lbtruncuv4hfv4hi_us (__a);
32350 }
32351 
32352 __extension__ extern __inline uint16x8_t
32353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_u16_f16(float16x8_t __a)32354 vcvtq_u16_f16 (float16x8_t __a)
32355 {
32356   return __builtin_aarch64_lbtruncuv8hfv8hi_us (__a);
32357 }
32358 
32359 __extension__ extern __inline int16x4_t
32360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_s16_f16(float16x4_t __a)32361 vcvta_s16_f16 (float16x4_t __a)
32362 {
32363   return __builtin_aarch64_lroundv4hfv4hi (__a);
32364 }
32365 
32366 __extension__ extern __inline int16x8_t
32367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_s16_f16(float16x8_t __a)32368 vcvtaq_s16_f16 (float16x8_t __a)
32369 {
32370   return __builtin_aarch64_lroundv8hfv8hi (__a);
32371 }
32372 
32373 __extension__ extern __inline uint16x4_t
32374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_u16_f16(float16x4_t __a)32375 vcvta_u16_f16 (float16x4_t __a)
32376 {
32377   return __builtin_aarch64_lrounduv4hfv4hi_us (__a);
32378 }
32379 
32380 __extension__ extern __inline uint16x8_t
32381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_u16_f16(float16x8_t __a)32382 vcvtaq_u16_f16 (float16x8_t __a)
32383 {
32384   return __builtin_aarch64_lrounduv8hfv8hi_us (__a);
32385 }
32386 
32387 __extension__ extern __inline int16x4_t
32388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_s16_f16(float16x4_t __a)32389 vcvtm_s16_f16 (float16x4_t __a)
32390 {
32391   return __builtin_aarch64_lfloorv4hfv4hi (__a);
32392 }
32393 
32394 __extension__ extern __inline int16x8_t
32395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_s16_f16(float16x8_t __a)32396 vcvtmq_s16_f16 (float16x8_t __a)
32397 {
32398   return __builtin_aarch64_lfloorv8hfv8hi (__a);
32399 }
32400 
32401 __extension__ extern __inline uint16x4_t
32402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_u16_f16(float16x4_t __a)32403 vcvtm_u16_f16 (float16x4_t __a)
32404 {
32405   return __builtin_aarch64_lflooruv4hfv4hi_us (__a);
32406 }
32407 
32408 __extension__ extern __inline uint16x8_t
32409 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_u16_f16(float16x8_t __a)32410 vcvtmq_u16_f16 (float16x8_t __a)
32411 {
32412   return __builtin_aarch64_lflooruv8hfv8hi_us (__a);
32413 }
32414 
32415 __extension__ extern __inline int16x4_t
32416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_s16_f16(float16x4_t __a)32417 vcvtn_s16_f16 (float16x4_t __a)
32418 {
32419   return __builtin_aarch64_lfrintnv4hfv4hi (__a);
32420 }
32421 
32422 __extension__ extern __inline int16x8_t
32423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_s16_f16(float16x8_t __a)32424 vcvtnq_s16_f16 (float16x8_t __a)
32425 {
32426   return __builtin_aarch64_lfrintnv8hfv8hi (__a);
32427 }
32428 
32429 __extension__ extern __inline uint16x4_t
32430 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_u16_f16(float16x4_t __a)32431 vcvtn_u16_f16 (float16x4_t __a)
32432 {
32433   return __builtin_aarch64_lfrintnuv4hfv4hi_us (__a);
32434 }
32435 
32436 __extension__ extern __inline uint16x8_t
32437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_u16_f16(float16x8_t __a)32438 vcvtnq_u16_f16 (float16x8_t __a)
32439 {
32440   return __builtin_aarch64_lfrintnuv8hfv8hi_us (__a);
32441 }
32442 
32443 __extension__ extern __inline int16x4_t
32444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_s16_f16(float16x4_t __a)32445 vcvtp_s16_f16 (float16x4_t __a)
32446 {
32447   return __builtin_aarch64_lceilv4hfv4hi (__a);
32448 }
32449 
32450 __extension__ extern __inline int16x8_t
32451 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_s16_f16(float16x8_t __a)32452 vcvtpq_s16_f16 (float16x8_t __a)
32453 {
32454   return __builtin_aarch64_lceilv8hfv8hi (__a);
32455 }
32456 
32457 __extension__ extern __inline uint16x4_t
32458 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_u16_f16(float16x4_t __a)32459 vcvtp_u16_f16 (float16x4_t __a)
32460 {
32461   return __builtin_aarch64_lceiluv4hfv4hi_us (__a);
32462 }
32463 
32464 __extension__ extern __inline uint16x8_t
32465 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_u16_f16(float16x8_t __a)32466 vcvtpq_u16_f16 (float16x8_t __a)
32467 {
32468   return __builtin_aarch64_lceiluv8hfv8hi_us (__a);
32469 }
32470 
32471 __extension__ extern __inline float16x4_t
32472 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_f16(float16x4_t __a)32473 vneg_f16 (float16x4_t __a)
32474 {
32475   return -__a;
32476 }
32477 
32478 __extension__ extern __inline float16x8_t
32479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_f16(float16x8_t __a)32480 vnegq_f16 (float16x8_t __a)
32481 {
32482   return -__a;
32483 }
32484 
32485 __extension__ extern __inline float16x4_t
32486 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_f16(float16x4_t __a)32487 vrecpe_f16 (float16x4_t __a)
32488 {
32489   return __builtin_aarch64_frecpev4hf (__a);
32490 }
32491 
32492 __extension__ extern __inline float16x8_t
32493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_f16(float16x8_t __a)32494 vrecpeq_f16 (float16x8_t __a)
32495 {
32496   return __builtin_aarch64_frecpev8hf (__a);
32497 }
32498 
32499 __extension__ extern __inline float16x4_t
32500 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd_f16(float16x4_t __a)32501 vrnd_f16 (float16x4_t __a)
32502 {
32503   return __builtin_aarch64_btruncv4hf (__a);
32504 }
32505 
32506 __extension__ extern __inline float16x8_t
32507 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndq_f16(float16x8_t __a)32508 vrndq_f16 (float16x8_t __a)
32509 {
32510   return __builtin_aarch64_btruncv8hf (__a);
32511 }
32512 
32513 __extension__ extern __inline float16x4_t
32514 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnda_f16(float16x4_t __a)32515 vrnda_f16 (float16x4_t __a)
32516 {
32517   return __builtin_aarch64_roundv4hf (__a);
32518 }
32519 
32520 __extension__ extern __inline float16x8_t
32521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndaq_f16(float16x8_t __a)32522 vrndaq_f16 (float16x8_t __a)
32523 {
32524   return __builtin_aarch64_roundv8hf (__a);
32525 }
32526 
32527 __extension__ extern __inline float16x4_t
32528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndi_f16(float16x4_t __a)32529 vrndi_f16 (float16x4_t __a)
32530 {
32531   return __builtin_aarch64_nearbyintv4hf (__a);
32532 }
32533 
32534 __extension__ extern __inline float16x8_t
32535 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndiq_f16(float16x8_t __a)32536 vrndiq_f16 (float16x8_t __a)
32537 {
32538   return __builtin_aarch64_nearbyintv8hf (__a);
32539 }
32540 
32541 __extension__ extern __inline float16x4_t
32542 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndm_f16(float16x4_t __a)32543 vrndm_f16 (float16x4_t __a)
32544 {
32545   return __builtin_aarch64_floorv4hf (__a);
32546 }
32547 
32548 __extension__ extern __inline float16x8_t
32549 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndmq_f16(float16x8_t __a)32550 vrndmq_f16 (float16x8_t __a)
32551 {
32552   return __builtin_aarch64_floorv8hf (__a);
32553 }
32554 
32555 __extension__ extern __inline float16x4_t
32556 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndn_f16(float16x4_t __a)32557 vrndn_f16 (float16x4_t __a)
32558 {
32559   return __builtin_aarch64_frintnv4hf (__a);
32560 }
32561 
32562 __extension__ extern __inline float16x8_t
32563 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndnq_f16(float16x8_t __a)32564 vrndnq_f16 (float16x8_t __a)
32565 {
32566   return __builtin_aarch64_frintnv8hf (__a);
32567 }
32568 
32569 __extension__ extern __inline float16x4_t
32570 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndp_f16(float16x4_t __a)32571 vrndp_f16 (float16x4_t __a)
32572 {
32573   return __builtin_aarch64_ceilv4hf (__a);
32574 }
32575 
32576 __extension__ extern __inline float16x8_t
32577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndpq_f16(float16x8_t __a)32578 vrndpq_f16 (float16x8_t __a)
32579 {
32580   return __builtin_aarch64_ceilv8hf (__a);
32581 }
32582 
32583 __extension__ extern __inline float16x4_t
32584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndx_f16(float16x4_t __a)32585 vrndx_f16 (float16x4_t __a)
32586 {
32587   return __builtin_aarch64_rintv4hf (__a);
32588 }
32589 
32590 __extension__ extern __inline float16x8_t
32591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndxq_f16(float16x8_t __a)32592 vrndxq_f16 (float16x8_t __a)
32593 {
32594   return __builtin_aarch64_rintv8hf (__a);
32595 }
32596 
32597 __extension__ extern __inline float16x4_t
32598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_f16(float16x4_t __a)32599 vrsqrte_f16 (float16x4_t __a)
32600 {
32601   return __builtin_aarch64_rsqrtev4hf (__a);
32602 }
32603 
32604 __extension__ extern __inline float16x8_t
32605 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_f16(float16x8_t __a)32606 vrsqrteq_f16 (float16x8_t __a)
32607 {
32608   return __builtin_aarch64_rsqrtev8hf (__a);
32609 }
32610 
32611 __extension__ extern __inline float16x4_t
32612 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrt_f16(float16x4_t __a)32613 vsqrt_f16 (float16x4_t __a)
32614 {
32615   return __builtin_aarch64_sqrtv4hf (__a);
32616 }
32617 
32618 __extension__ extern __inline float16x8_t
32619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrtq_f16(float16x8_t __a)32620 vsqrtq_f16 (float16x8_t __a)
32621 {
32622   return __builtin_aarch64_sqrtv8hf (__a);
32623 }
32624 
32625 /* ARMv8.2-A FP16 two operands vector intrinsics.  */
32626 
32627 __extension__ extern __inline float16x4_t
32628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_f16(float16x4_t __a,float16x4_t __b)32629 vadd_f16 (float16x4_t __a, float16x4_t __b)
32630 {
32631   return __a + __b;
32632 }
32633 
32634 __extension__ extern __inline float16x8_t
32635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_f16(float16x8_t __a,float16x8_t __b)32636 vaddq_f16 (float16x8_t __a, float16x8_t __b)
32637 {
32638   return __a + __b;
32639 }
32640 
32641 __extension__ extern __inline float16x4_t
32642 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_f16(float16x4_t __a,float16x4_t __b)32643 vabd_f16 (float16x4_t __a, float16x4_t __b)
32644 {
32645   return __builtin_aarch64_fabdv4hf (__a, __b);
32646 }
32647 
32648 __extension__ extern __inline float16x8_t
32649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_f16(float16x8_t __a,float16x8_t __b)32650 vabdq_f16 (float16x8_t __a, float16x8_t __b)
32651 {
32652   return __builtin_aarch64_fabdv8hf (__a, __b);
32653 }
32654 
32655 __extension__ extern __inline uint16x4_t
32656 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcage_f16(float16x4_t __a,float16x4_t __b)32657 vcage_f16 (float16x4_t __a, float16x4_t __b)
32658 {
32659   return __builtin_aarch64_facgev4hf_uss (__a, __b);
32660 }
32661 
32662 __extension__ extern __inline uint16x8_t
32663 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcageq_f16(float16x8_t __a,float16x8_t __b)32664 vcageq_f16 (float16x8_t __a, float16x8_t __b)
32665 {
32666   return __builtin_aarch64_facgev8hf_uss (__a, __b);
32667 }
32668 
32669 __extension__ extern __inline uint16x4_t
32670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagt_f16(float16x4_t __a,float16x4_t __b)32671 vcagt_f16 (float16x4_t __a, float16x4_t __b)
32672 {
32673   return __builtin_aarch64_facgtv4hf_uss (__a, __b);
32674 }
32675 
32676 __extension__ extern __inline uint16x8_t
32677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagtq_f16(float16x8_t __a,float16x8_t __b)32678 vcagtq_f16 (float16x8_t __a, float16x8_t __b)
32679 {
32680   return __builtin_aarch64_facgtv8hf_uss (__a, __b);
32681 }
32682 
32683 __extension__ extern __inline uint16x4_t
32684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcale_f16(float16x4_t __a,float16x4_t __b)32685 vcale_f16 (float16x4_t __a, float16x4_t __b)
32686 {
32687   return __builtin_aarch64_faclev4hf_uss (__a, __b);
32688 }
32689 
32690 __extension__ extern __inline uint16x8_t
32691 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaleq_f16(float16x8_t __a,float16x8_t __b)32692 vcaleq_f16 (float16x8_t __a, float16x8_t __b)
32693 {
32694   return __builtin_aarch64_faclev8hf_uss (__a, __b);
32695 }
32696 
32697 __extension__ extern __inline uint16x4_t
32698 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcalt_f16(float16x4_t __a,float16x4_t __b)32699 vcalt_f16 (float16x4_t __a, float16x4_t __b)
32700 {
32701   return __builtin_aarch64_facltv4hf_uss (__a, __b);
32702 }
32703 
32704 __extension__ extern __inline uint16x8_t
32705 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaltq_f16(float16x8_t __a,float16x8_t __b)32706 vcaltq_f16 (float16x8_t __a, float16x8_t __b)
32707 {
32708   return __builtin_aarch64_facltv8hf_uss (__a, __b);
32709 }
32710 
32711 __extension__ extern __inline uint16x4_t
32712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_f16(float16x4_t __a,float16x4_t __b)32713 vceq_f16 (float16x4_t __a, float16x4_t __b)
32714 {
32715   return __builtin_aarch64_cmeqv4hf_uss (__a, __b);
32716 }
32717 
32718 __extension__ extern __inline uint16x8_t
32719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_f16(float16x8_t __a,float16x8_t __b)32720 vceqq_f16 (float16x8_t __a, float16x8_t __b)
32721 {
32722   return __builtin_aarch64_cmeqv8hf_uss (__a, __b);
32723 }
32724 
32725 __extension__ extern __inline uint16x4_t
32726 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_f16(float16x4_t __a,float16x4_t __b)32727 vcge_f16 (float16x4_t __a, float16x4_t __b)
32728 {
32729   return __builtin_aarch64_cmgev4hf_uss (__a, __b);
32730 }
32731 
32732 __extension__ extern __inline uint16x8_t
32733 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_f16(float16x8_t __a,float16x8_t __b)32734 vcgeq_f16 (float16x8_t __a, float16x8_t __b)
32735 {
32736   return __builtin_aarch64_cmgev8hf_uss (__a, __b);
32737 }
32738 
32739 __extension__ extern __inline uint16x4_t
32740 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_f16(float16x4_t __a,float16x4_t __b)32741 vcgt_f16 (float16x4_t __a, float16x4_t __b)
32742 {
32743   return __builtin_aarch64_cmgtv4hf_uss (__a, __b);
32744 }
32745 
32746 __extension__ extern __inline uint16x8_t
32747 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_f16(float16x8_t __a,float16x8_t __b)32748 vcgtq_f16 (float16x8_t __a, float16x8_t __b)
32749 {
32750   return __builtin_aarch64_cmgtv8hf_uss (__a, __b);
32751 }
32752 
32753 __extension__ extern __inline uint16x4_t
32754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_f16(float16x4_t __a,float16x4_t __b)32755 vcle_f16 (float16x4_t __a, float16x4_t __b)
32756 {
32757   return __builtin_aarch64_cmlev4hf_uss (__a, __b);
32758 }
32759 
32760 __extension__ extern __inline uint16x8_t
32761 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_f16(float16x8_t __a,float16x8_t __b)32762 vcleq_f16 (float16x8_t __a, float16x8_t __b)
32763 {
32764   return __builtin_aarch64_cmlev8hf_uss (__a, __b);
32765 }
32766 
32767 __extension__ extern __inline uint16x4_t
32768 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_f16(float16x4_t __a,float16x4_t __b)32769 vclt_f16 (float16x4_t __a, float16x4_t __b)
32770 {
32771   return __builtin_aarch64_cmltv4hf_uss (__a, __b);
32772 }
32773 
32774 __extension__ extern __inline uint16x8_t
32775 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_f16(float16x8_t __a,float16x8_t __b)32776 vcltq_f16 (float16x8_t __a, float16x8_t __b)
32777 {
32778   return __builtin_aarch64_cmltv8hf_uss (__a, __b);
32779 }
32780 
32781 __extension__ extern __inline float16x4_t
32782 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f16_s16(int16x4_t __a,const int __b)32783 vcvt_n_f16_s16 (int16x4_t __a, const int __b)
32784 {
32785   return __builtin_aarch64_scvtfv4hi (__a, __b);
32786 }
32787 
32788 __extension__ extern __inline float16x8_t
32789 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f16_s16(int16x8_t __a,const int __b)32790 vcvtq_n_f16_s16 (int16x8_t __a, const int __b)
32791 {
32792   return __builtin_aarch64_scvtfv8hi (__a, __b);
32793 }
32794 
32795 __extension__ extern __inline float16x4_t
32796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f16_u16(uint16x4_t __a,const int __b)32797 vcvt_n_f16_u16 (uint16x4_t __a, const int __b)
32798 {
32799   return __builtin_aarch64_ucvtfv4hi_sus (__a, __b);
32800 }
32801 
32802 __extension__ extern __inline float16x8_t
32803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f16_u16(uint16x8_t __a,const int __b)32804 vcvtq_n_f16_u16 (uint16x8_t __a, const int __b)
32805 {
32806   return __builtin_aarch64_ucvtfv8hi_sus (__a, __b);
32807 }
32808 
32809 __extension__ extern __inline int16x4_t
32810 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_s16_f16(float16x4_t __a,const int __b)32811 vcvt_n_s16_f16 (float16x4_t __a, const int __b)
32812 {
32813   return __builtin_aarch64_fcvtzsv4hf (__a, __b);
32814 }
32815 
32816 __extension__ extern __inline int16x8_t
32817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_s16_f16(float16x8_t __a,const int __b)32818 vcvtq_n_s16_f16 (float16x8_t __a, const int __b)
32819 {
32820   return __builtin_aarch64_fcvtzsv8hf (__a, __b);
32821 }
32822 
32823 __extension__ extern __inline uint16x4_t
32824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_u16_f16(float16x4_t __a,const int __b)32825 vcvt_n_u16_f16 (float16x4_t __a, const int __b)
32826 {
32827   return __builtin_aarch64_fcvtzuv4hf_uss (__a, __b);
32828 }
32829 
32830 __extension__ extern __inline uint16x8_t
32831 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_u16_f16(float16x8_t __a,const int __b)32832 vcvtq_n_u16_f16 (float16x8_t __a, const int __b)
32833 {
32834   return __builtin_aarch64_fcvtzuv8hf_uss (__a, __b);
32835 }
32836 
32837 __extension__ extern __inline float16x4_t
32838 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdiv_f16(float16x4_t __a,float16x4_t __b)32839 vdiv_f16 (float16x4_t __a, float16x4_t __b)
32840 {
32841   return __a / __b;
32842 }
32843 
32844 __extension__ extern __inline float16x8_t
32845 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdivq_f16(float16x8_t __a,float16x8_t __b)32846 vdivq_f16 (float16x8_t __a, float16x8_t __b)
32847 {
32848   return __a / __b;
32849 }
32850 
32851 __extension__ extern __inline float16x4_t
32852 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_f16(float16x4_t __a,float16x4_t __b)32853 vmax_f16 (float16x4_t __a, float16x4_t __b)
32854 {
32855   return __builtin_aarch64_smax_nanv4hf (__a, __b);
32856 }
32857 
32858 __extension__ extern __inline float16x8_t
32859 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_f16(float16x8_t __a,float16x8_t __b)32860 vmaxq_f16 (float16x8_t __a, float16x8_t __b)
32861 {
32862   return __builtin_aarch64_smax_nanv8hf (__a, __b);
32863 }
32864 
32865 __extension__ extern __inline float16x4_t
32866 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnm_f16(float16x4_t __a,float16x4_t __b)32867 vmaxnm_f16 (float16x4_t __a, float16x4_t __b)
32868 {
32869   return __builtin_aarch64_fmaxv4hf (__a, __b);
32870 }
32871 
32872 __extension__ extern __inline float16x8_t
32873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmq_f16(float16x8_t __a,float16x8_t __b)32874 vmaxnmq_f16 (float16x8_t __a, float16x8_t __b)
32875 {
32876   return __builtin_aarch64_fmaxv8hf (__a, __b);
32877 }
32878 
32879 __extension__ extern __inline float16x4_t
32880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_f16(float16x4_t __a,float16x4_t __b)32881 vmin_f16 (float16x4_t __a, float16x4_t __b)
32882 {
32883   return __builtin_aarch64_smin_nanv4hf (__a, __b);
32884 }
32885 
32886 __extension__ extern __inline float16x8_t
32887 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_f16(float16x8_t __a,float16x8_t __b)32888 vminq_f16 (float16x8_t __a, float16x8_t __b)
32889 {
32890   return __builtin_aarch64_smin_nanv8hf (__a, __b);
32891 }
32892 
32893 __extension__ extern __inline float16x4_t
32894 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnm_f16(float16x4_t __a,float16x4_t __b)32895 vminnm_f16 (float16x4_t __a, float16x4_t __b)
32896 {
32897   return __builtin_aarch64_fminv4hf (__a, __b);
32898 }
32899 
32900 __extension__ extern __inline float16x8_t
32901 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmq_f16(float16x8_t __a,float16x8_t __b)32902 vminnmq_f16 (float16x8_t __a, float16x8_t __b)
32903 {
32904   return __builtin_aarch64_fminv8hf (__a, __b);
32905 }
32906 
32907 __extension__ extern __inline float16x4_t
32908 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_f16(float16x4_t __a,float16x4_t __b)32909 vmul_f16 (float16x4_t __a, float16x4_t __b)
32910 {
32911   return __a * __b;
32912 }
32913 
32914 __extension__ extern __inline float16x8_t
32915 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_f16(float16x8_t __a,float16x8_t __b)32916 vmulq_f16 (float16x8_t __a, float16x8_t __b)
32917 {
32918   return __a * __b;
32919 }
32920 
32921 __extension__ extern __inline float16x4_t
32922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_f16(float16x4_t __a,float16x4_t __b)32923 vmulx_f16 (float16x4_t __a, float16x4_t __b)
32924 {
32925   return __builtin_aarch64_fmulxv4hf (__a, __b);
32926 }
32927 
32928 __extension__ extern __inline float16x8_t
32929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_f16(float16x8_t __a,float16x8_t __b)32930 vmulxq_f16 (float16x8_t __a, float16x8_t __b)
32931 {
32932   return __builtin_aarch64_fmulxv8hf (__a, __b);
32933 }
32934 
32935 __extension__ extern __inline float16x4_t
32936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_f16(float16x4_t __a,float16x4_t __b)32937 vpadd_f16 (float16x4_t __a, float16x4_t __b)
32938 {
32939   return __builtin_aarch64_faddpv4hf (__a, __b);
32940 }
32941 
32942 __extension__ extern __inline float16x8_t
32943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_f16(float16x8_t __a,float16x8_t __b)32944 vpaddq_f16 (float16x8_t __a, float16x8_t __b)
32945 {
32946   return __builtin_aarch64_faddpv8hf (__a, __b);
32947 }
32948 
32949 __extension__ extern __inline float16x4_t
32950 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_f16(float16x4_t __a,float16x4_t __b)32951 vpmax_f16 (float16x4_t __a, float16x4_t __b)
32952 {
32953   return __builtin_aarch64_smax_nanpv4hf (__a, __b);
32954 }
32955 
32956 __extension__ extern __inline float16x8_t
32957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_f16(float16x8_t __a,float16x8_t __b)32958 vpmaxq_f16 (float16x8_t __a, float16x8_t __b)
32959 {
32960   return __builtin_aarch64_smax_nanpv8hf (__a, __b);
32961 }
32962 
32963 __extension__ extern __inline float16x4_t
32964 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnm_f16(float16x4_t __a,float16x4_t __b)32965 vpmaxnm_f16 (float16x4_t __a, float16x4_t __b)
32966 {
32967   return __builtin_aarch64_smaxpv4hf (__a, __b);
32968 }
32969 
32970 __extension__ extern __inline float16x8_t
32971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnmq_f16(float16x8_t __a,float16x8_t __b)32972 vpmaxnmq_f16 (float16x8_t __a, float16x8_t __b)
32973 {
32974   return __builtin_aarch64_smaxpv8hf (__a, __b);
32975 }
32976 
32977 __extension__ extern __inline float16x4_t
32978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_f16(float16x4_t __a,float16x4_t __b)32979 vpmin_f16 (float16x4_t __a, float16x4_t __b)
32980 {
32981   return __builtin_aarch64_smin_nanpv4hf (__a, __b);
32982 }
32983 
32984 __extension__ extern __inline float16x8_t
32985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_f16(float16x8_t __a,float16x8_t __b)32986 vpminq_f16 (float16x8_t __a, float16x8_t __b)
32987 {
32988   return __builtin_aarch64_smin_nanpv8hf (__a, __b);
32989 }
32990 
32991 __extension__ extern __inline float16x4_t
32992 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnm_f16(float16x4_t __a,float16x4_t __b)32993 vpminnm_f16 (float16x4_t __a, float16x4_t __b)
32994 {
32995   return __builtin_aarch64_sminpv4hf (__a, __b);
32996 }
32997 
32998 __extension__ extern __inline float16x8_t
32999 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnmq_f16(float16x8_t __a,float16x8_t __b)33000 vpminnmq_f16 (float16x8_t __a, float16x8_t __b)
33001 {
33002   return __builtin_aarch64_sminpv8hf (__a, __b);
33003 }
33004 
33005 __extension__ extern __inline float16x4_t
33006 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecps_f16(float16x4_t __a,float16x4_t __b)33007 vrecps_f16 (float16x4_t __a, float16x4_t __b)
33008 {
33009   return __builtin_aarch64_frecpsv4hf (__a, __b);
33010 }
33011 
33012 __extension__ extern __inline float16x8_t
33013 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsq_f16(float16x8_t __a,float16x8_t __b)33014 vrecpsq_f16 (float16x8_t __a, float16x8_t __b)
33015 {
33016   return __builtin_aarch64_frecpsv8hf (__a, __b);
33017 }
33018 
33019 __extension__ extern __inline float16x4_t
33020 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrts_f16(float16x4_t __a,float16x4_t __b)33021 vrsqrts_f16 (float16x4_t __a, float16x4_t __b)
33022 {
33023   return __builtin_aarch64_rsqrtsv4hf (__a, __b);
33024 }
33025 
33026 __extension__ extern __inline float16x8_t
33027 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsq_f16(float16x8_t __a,float16x8_t __b)33028 vrsqrtsq_f16 (float16x8_t __a, float16x8_t __b)
33029 {
33030   return __builtin_aarch64_rsqrtsv8hf (__a, __b);
33031 }
33032 
33033 __extension__ extern __inline float16x4_t
33034 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_f16(float16x4_t __a,float16x4_t __b)33035 vsub_f16 (float16x4_t __a, float16x4_t __b)
33036 {
33037   return __a - __b;
33038 }
33039 
33040 __extension__ extern __inline float16x8_t
33041 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_f16(float16x8_t __a,float16x8_t __b)33042 vsubq_f16 (float16x8_t __a, float16x8_t __b)
33043 {
33044   return __a - __b;
33045 }
33046 
33047 /* ARMv8.2-A FP16 three operands vector intrinsics.  */
33048 
33049 __extension__ extern __inline float16x4_t
33050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c)33051 vfma_f16 (float16x4_t __a, float16x4_t __b, float16x4_t __c)
33052 {
33053   return __builtin_aarch64_fmav4hf (__b, __c, __a);
33054 }
33055 
33056 __extension__ extern __inline float16x8_t
33057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c)33058 vfmaq_f16 (float16x8_t __a, float16x8_t __b, float16x8_t __c)
33059 {
33060   return __builtin_aarch64_fmav8hf (__b, __c, __a);
33061 }
33062 
33063 __extension__ extern __inline float16x4_t
33064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c)33065 vfms_f16 (float16x4_t __a, float16x4_t __b, float16x4_t __c)
33066 {
33067   return __builtin_aarch64_fnmav4hf (__b, __c, __a);
33068 }
33069 
33070 __extension__ extern __inline float16x8_t
33071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c)33072 vfmsq_f16 (float16x8_t __a, float16x8_t __b, float16x8_t __c)
33073 {
33074   return __builtin_aarch64_fnmav8hf (__b, __c, __a);
33075 }
33076 
33077 /* ARMv8.2-A FP16 lane vector intrinsics.  */
33078 
33079 __extension__ extern __inline float16_t
33080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmah_lane_f16(float16_t __a,float16_t __b,float16x4_t __c,const int __lane)33081 vfmah_lane_f16 (float16_t __a, float16_t __b,
33082 		float16x4_t __c, const int __lane)
33083 {
33084   return vfmah_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
33085 }
33086 
33087 __extension__ extern __inline float16_t
33088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmah_laneq_f16(float16_t __a,float16_t __b,float16x8_t __c,const int __lane)33089 vfmah_laneq_f16 (float16_t __a, float16_t __b,
33090 		 float16x8_t __c, const int __lane)
33091 {
33092   return vfmah_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
33093 }
33094 
33095 __extension__ extern __inline float16x4_t
33096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_lane_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c,const int __lane)33097 vfma_lane_f16 (float16x4_t __a, float16x4_t __b,
33098 	       float16x4_t __c, const int __lane)
33099 {
33100   return vfma_f16 (__a, __b, __aarch64_vdup_lane_f16 (__c, __lane));
33101 }
33102 
33103 __extension__ extern __inline float16x8_t
33104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_lane_f16(float16x8_t __a,float16x8_t __b,float16x4_t __c,const int __lane)33105 vfmaq_lane_f16 (float16x8_t __a, float16x8_t __b,
33106 		float16x4_t __c, const int __lane)
33107 {
33108   return vfmaq_f16 (__a, __b, __aarch64_vdupq_lane_f16 (__c, __lane));
33109 }
33110 
33111 __extension__ extern __inline float16x4_t
33112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_laneq_f16(float16x4_t __a,float16x4_t __b,float16x8_t __c,const int __lane)33113 vfma_laneq_f16 (float16x4_t __a, float16x4_t __b,
33114 		float16x8_t __c, const int __lane)
33115 {
33116   return vfma_f16 (__a, __b, __aarch64_vdup_laneq_f16 (__c, __lane));
33117 }
33118 
33119 __extension__ extern __inline float16x8_t
33120 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_laneq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c,const int __lane)33121 vfmaq_laneq_f16 (float16x8_t __a, float16x8_t __b,
33122 		 float16x8_t __c, const int __lane)
33123 {
33124   return vfmaq_f16 (__a, __b, __aarch64_vdupq_laneq_f16 (__c, __lane));
33125 }
33126 
33127 __extension__ extern __inline float16x4_t
33128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_n_f16(float16x4_t __a,float16x4_t __b,float16_t __c)33129 vfma_n_f16 (float16x4_t __a, float16x4_t __b, float16_t __c)
33130 {
33131   return vfma_f16 (__a, __b, vdup_n_f16 (__c));
33132 }
33133 
33134 __extension__ extern __inline float16x8_t
33135 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_n_f16(float16x8_t __a,float16x8_t __b,float16_t __c)33136 vfmaq_n_f16 (float16x8_t __a, float16x8_t __b, float16_t __c)
33137 {
33138   return vfmaq_f16 (__a, __b, vdupq_n_f16 (__c));
33139 }
33140 
33141 __extension__ extern __inline float16_t
33142 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsh_lane_f16(float16_t __a,float16_t __b,float16x4_t __c,const int __lane)33143 vfmsh_lane_f16 (float16_t __a, float16_t __b,
33144 		float16x4_t __c, const int __lane)
33145 {
33146   return vfmsh_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
33147 }
33148 
33149 __extension__ extern __inline float16_t
33150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsh_laneq_f16(float16_t __a,float16_t __b,float16x8_t __c,const int __lane)33151 vfmsh_laneq_f16 (float16_t __a, float16_t __b,
33152 		 float16x8_t __c, const int __lane)
33153 {
33154   return vfmsh_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
33155 }
33156 
33157 __extension__ extern __inline float16x4_t
33158 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_lane_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c,const int __lane)33159 vfms_lane_f16 (float16x4_t __a, float16x4_t __b,
33160 	       float16x4_t __c, const int __lane)
33161 {
33162   return vfms_f16 (__a, __b, __aarch64_vdup_lane_f16 (__c, __lane));
33163 }
33164 
33165 __extension__ extern __inline float16x8_t
33166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_lane_f16(float16x8_t __a,float16x8_t __b,float16x4_t __c,const int __lane)33167 vfmsq_lane_f16 (float16x8_t __a, float16x8_t __b,
33168 		float16x4_t __c, const int __lane)
33169 {
33170   return vfmsq_f16 (__a, __b, __aarch64_vdupq_lane_f16 (__c, __lane));
33171 }
33172 
33173 __extension__ extern __inline float16x4_t
33174 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_laneq_f16(float16x4_t __a,float16x4_t __b,float16x8_t __c,const int __lane)33175 vfms_laneq_f16 (float16x4_t __a, float16x4_t __b,
33176 		float16x8_t __c, const int __lane)
33177 {
33178   return vfms_f16 (__a, __b, __aarch64_vdup_laneq_f16 (__c, __lane));
33179 }
33180 
33181 __extension__ extern __inline float16x8_t
33182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_laneq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c,const int __lane)33183 vfmsq_laneq_f16 (float16x8_t __a, float16x8_t __b,
33184 		 float16x8_t __c, const int __lane)
33185 {
33186   return vfmsq_f16 (__a, __b, __aarch64_vdupq_laneq_f16 (__c, __lane));
33187 }
33188 
33189 __extension__ extern __inline float16x4_t
33190 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_n_f16(float16x4_t __a,float16x4_t __b,float16_t __c)33191 vfms_n_f16 (float16x4_t __a, float16x4_t __b, float16_t __c)
33192 {
33193   return vfms_f16 (__a, __b, vdup_n_f16 (__c));
33194 }
33195 
33196 __extension__ extern __inline float16x8_t
33197 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_n_f16(float16x8_t __a,float16x8_t __b,float16_t __c)33198 vfmsq_n_f16 (float16x8_t __a, float16x8_t __b, float16_t __c)
33199 {
33200   return vfmsq_f16 (__a, __b, vdupq_n_f16 (__c));
33201 }
33202 
33203 __extension__ extern __inline float16_t
33204 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulh_lane_f16(float16_t __a,float16x4_t __b,const int __lane)33205 vmulh_lane_f16 (float16_t __a, float16x4_t __b, const int __lane)
33206 {
33207   return __a * __aarch64_vget_lane_any (__b, __lane);
33208 }
33209 
33210 __extension__ extern __inline float16x4_t
33211 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_f16(float16x4_t __a,float16x4_t __b,const int __lane)33212 vmul_lane_f16 (float16x4_t __a, float16x4_t __b, const int __lane)
33213 {
33214   return vmul_f16 (__a, vdup_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
33215 }
33216 
33217 __extension__ extern __inline float16x8_t
33218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_f16(float16x8_t __a,float16x4_t __b,const int __lane)33219 vmulq_lane_f16 (float16x8_t __a, float16x4_t __b, const int __lane)
33220 {
33221   return vmulq_f16 (__a, vdupq_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
33222 }
33223 
33224 __extension__ extern __inline float16_t
33225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulh_laneq_f16(float16_t __a,float16x8_t __b,const int __lane)33226 vmulh_laneq_f16 (float16_t __a, float16x8_t __b, const int __lane)
33227 {
33228   return __a * __aarch64_vget_lane_any (__b, __lane);
33229 }
33230 
33231 __extension__ extern __inline float16x4_t
33232 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_f16(float16x4_t __a,float16x8_t __b,const int __lane)33233 vmul_laneq_f16 (float16x4_t __a, float16x8_t __b, const int __lane)
33234 {
33235   return vmul_f16 (__a, vdup_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
33236 }
33237 
33238 __extension__ extern __inline float16x8_t
33239 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_f16(float16x8_t __a,float16x8_t __b,const int __lane)33240 vmulq_laneq_f16 (float16x8_t __a, float16x8_t __b, const int __lane)
33241 {
33242   return vmulq_f16 (__a, vdupq_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
33243 }
33244 
33245 __extension__ extern __inline float16x4_t
33246 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_f16(float16x4_t __a,float16_t __b)33247 vmul_n_f16 (float16x4_t __a, float16_t __b)
33248 {
33249   return vmul_lane_f16 (__a, vdup_n_f16 (__b), 0);
33250 }
33251 
33252 __extension__ extern __inline float16x8_t
33253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_f16(float16x8_t __a,float16_t __b)33254 vmulq_n_f16 (float16x8_t __a, float16_t __b)
33255 {
33256   return vmulq_laneq_f16 (__a, vdupq_n_f16 (__b), 0);
33257 }
33258 
33259 __extension__ extern __inline float16_t
33260 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxh_lane_f16(float16_t __a,float16x4_t __b,const int __lane)33261 vmulxh_lane_f16 (float16_t __a, float16x4_t __b, const int __lane)
33262 {
33263   return vmulxh_f16 (__a, __aarch64_vget_lane_any (__b, __lane));
33264 }
33265 
33266 __extension__ extern __inline float16x4_t
33267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_lane_f16(float16x4_t __a,float16x4_t __b,const int __lane)33268 vmulx_lane_f16 (float16x4_t __a, float16x4_t __b, const int __lane)
33269 {
33270   return vmulx_f16 (__a, __aarch64_vdup_lane_f16 (__b, __lane));
33271 }
33272 
33273 __extension__ extern __inline float16x8_t
33274 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_lane_f16(float16x8_t __a,float16x4_t __b,const int __lane)33275 vmulxq_lane_f16 (float16x8_t __a, float16x4_t __b, const int __lane)
33276 {
33277   return vmulxq_f16 (__a, __aarch64_vdupq_lane_f16 (__b, __lane));
33278 }
33279 
33280 __extension__ extern __inline float16_t
33281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxh_laneq_f16(float16_t __a,float16x8_t __b,const int __lane)33282 vmulxh_laneq_f16 (float16_t __a, float16x8_t __b, const int __lane)
33283 {
33284   return vmulxh_f16 (__a, __aarch64_vget_lane_any (__b, __lane));
33285 }
33286 
33287 __extension__ extern __inline float16x4_t
33288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_laneq_f16(float16x4_t __a,float16x8_t __b,const int __lane)33289 vmulx_laneq_f16 (float16x4_t __a, float16x8_t __b, const int __lane)
33290 {
33291   return vmulx_f16 (__a, __aarch64_vdup_laneq_f16 (__b, __lane));
33292 }
33293 
33294 __extension__ extern __inline float16x8_t
33295 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_laneq_f16(float16x8_t __a,float16x8_t __b,const int __lane)33296 vmulxq_laneq_f16 (float16x8_t __a, float16x8_t __b, const int __lane)
33297 {
33298   return vmulxq_f16 (__a, __aarch64_vdupq_laneq_f16 (__b, __lane));
33299 }
33300 
33301 __extension__ extern __inline float16x4_t
33302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_n_f16(float16x4_t __a,float16_t __b)33303 vmulx_n_f16 (float16x4_t __a, float16_t __b)
33304 {
33305   return vmulx_f16 (__a, vdup_n_f16 (__b));
33306 }
33307 
33308 __extension__ extern __inline float16x8_t
33309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_n_f16(float16x8_t __a,float16_t __b)33310 vmulxq_n_f16 (float16x8_t __a, float16_t __b)
33311 {
33312   return vmulxq_f16 (__a, vdupq_n_f16 (__b));
33313 }
33314 
33315 /* ARMv8.2-A FP16 reduction vector intrinsics.  */
33316 
33317 __extension__ extern __inline float16_t
33318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_f16(float16x4_t __a)33319 vmaxv_f16 (float16x4_t __a)
33320 {
33321   return __builtin_aarch64_reduc_smax_nan_scal_v4hf (__a);
33322 }
33323 
33324 __extension__ extern __inline float16_t
33325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_f16(float16x8_t __a)33326 vmaxvq_f16 (float16x8_t __a)
33327 {
33328   return __builtin_aarch64_reduc_smax_nan_scal_v8hf (__a);
33329 }
33330 
33331 __extension__ extern __inline float16_t
33332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_f16(float16x4_t __a)33333 vminv_f16 (float16x4_t __a)
33334 {
33335   return __builtin_aarch64_reduc_smin_nan_scal_v4hf (__a);
33336 }
33337 
33338 __extension__ extern __inline float16_t
33339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_f16(float16x8_t __a)33340 vminvq_f16 (float16x8_t __a)
33341 {
33342   return __builtin_aarch64_reduc_smin_nan_scal_v8hf (__a);
33343 }
33344 
33345 __extension__ extern __inline float16_t
33346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmv_f16(float16x4_t __a)33347 vmaxnmv_f16 (float16x4_t __a)
33348 {
33349   return __builtin_aarch64_reduc_smax_scal_v4hf (__a);
33350 }
33351 
33352 __extension__ extern __inline float16_t
33353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmvq_f16(float16x8_t __a)33354 vmaxnmvq_f16 (float16x8_t __a)
33355 {
33356   return __builtin_aarch64_reduc_smax_scal_v8hf (__a);
33357 }
33358 
33359 __extension__ extern __inline float16_t
33360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmv_f16(float16x4_t __a)33361 vminnmv_f16 (float16x4_t __a)
33362 {
33363   return __builtin_aarch64_reduc_smin_scal_v4hf (__a);
33364 }
33365 
33366 __extension__ extern __inline float16_t
33367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmvq_f16(float16x8_t __a)33368 vminnmvq_f16 (float16x8_t __a)
33369 {
33370   return __builtin_aarch64_reduc_smin_scal_v8hf (__a);
33371 }
33372 
33373 #pragma GCC pop_options
33374 
33375 /* AdvSIMD Dot Product intrinsics.  */
33376 
33377 #pragma GCC push_options
33378 #pragma GCC target ("arch=armv8.2-a+dotprod")
33379 
33380 __extension__ extern __inline uint32x2_t
33381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_u32(uint32x2_t __r,uint8x8_t __a,uint8x8_t __b)33382 vdot_u32 (uint32x2_t __r, uint8x8_t __a, uint8x8_t __b)
33383 {
33384   return __builtin_aarch64_udotv8qi_uuuu (__r, __a, __b);
33385 }
33386 
33387 __extension__ extern __inline uint32x4_t
33388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_u32(uint32x4_t __r,uint8x16_t __a,uint8x16_t __b)33389 vdotq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b)
33390 {
33391   return __builtin_aarch64_udotv16qi_uuuu (__r, __a, __b);
33392 }
33393 
33394 __extension__ extern __inline int32x2_t
33395 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_s32(int32x2_t __r,int8x8_t __a,int8x8_t __b)33396 vdot_s32 (int32x2_t __r, int8x8_t __a, int8x8_t __b)
33397 {
33398   return __builtin_aarch64_sdotv8qi (__r, __a, __b);
33399 }
33400 
33401 __extension__ extern __inline int32x4_t
33402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_s32(int32x4_t __r,int8x16_t __a,int8x16_t __b)33403 vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
33404 {
33405   return __builtin_aarch64_sdotv16qi (__r, __a, __b);
33406 }
33407 
33408 __extension__ extern __inline uint32x2_t
33409 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_lane_u32(uint32x2_t __r,uint8x8_t __a,uint8x8_t __b,const int __index)33410 vdot_lane_u32 (uint32x2_t __r, uint8x8_t __a, uint8x8_t __b, const int __index)
33411 {
33412   return __builtin_aarch64_udot_lanev8qi_uuuus (__r, __a, __b, __index);
33413 }
33414 
33415 __extension__ extern __inline uint32x2_t
33416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_laneq_u32(uint32x2_t __r,uint8x8_t __a,uint8x16_t __b,const int __index)33417 vdot_laneq_u32 (uint32x2_t __r, uint8x8_t __a, uint8x16_t __b,
33418 		const int __index)
33419 {
33420   return __builtin_aarch64_udot_laneqv8qi_uuuus (__r, __a, __b, __index);
33421 }
33422 
33423 __extension__ extern __inline uint32x4_t
33424 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_lane_u32(uint32x4_t __r,uint8x16_t __a,uint8x8_t __b,const int __index)33425 vdotq_lane_u32 (uint32x4_t __r, uint8x16_t __a, uint8x8_t __b,
33426 		const int __index)
33427 {
33428   return __builtin_aarch64_udot_lanev16qi_uuuus (__r, __a, __b, __index);
33429 }
33430 
33431 __extension__ extern __inline uint32x4_t
33432 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_laneq_u32(uint32x4_t __r,uint8x16_t __a,uint8x16_t __b,const int __index)33433 vdotq_laneq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b,
33434 		 const int __index)
33435 {
33436   return __builtin_aarch64_udot_laneqv16qi_uuuus (__r, __a, __b, __index);
33437 }
33438 
33439 __extension__ extern __inline int32x2_t
33440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_lane_s32(int32x2_t __r,int8x8_t __a,int8x8_t __b,const int __index)33441 vdot_lane_s32 (int32x2_t __r, int8x8_t __a, int8x8_t __b, const int __index)
33442 {
33443   return __builtin_aarch64_sdot_lanev8qi (__r, __a, __b, __index);
33444 }
33445 
33446 __extension__ extern __inline int32x2_t
33447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_laneq_s32(int32x2_t __r,int8x8_t __a,int8x16_t __b,const int __index)33448 vdot_laneq_s32 (int32x2_t __r, int8x8_t __a, int8x16_t __b, const int __index)
33449 {
33450   return __builtin_aarch64_sdot_laneqv8qi (__r, __a, __b, __index);
33451 }
33452 
33453 __extension__ extern __inline int32x4_t
33454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_lane_s32(int32x4_t __r,int8x16_t __a,int8x8_t __b,const int __index)33455 vdotq_lane_s32 (int32x4_t __r, int8x16_t __a, int8x8_t __b, const int __index)
33456 {
33457   return __builtin_aarch64_sdot_lanev16qi (__r, __a, __b, __index);
33458 }
33459 
33460 __extension__ extern __inline int32x4_t
33461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_laneq_s32(int32x4_t __r,int8x16_t __a,int8x16_t __b,const int __index)33462 vdotq_laneq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b, const int __index)
33463 {
33464   return __builtin_aarch64_sdot_laneqv16qi (__r, __a, __b, __index);
33465 }
33466 #pragma GCC pop_options
33467 
33468 #pragma GCC push_options
33469 #pragma GCC target ("arch=armv8.2-a+sm4")
33470 
33471 __extension__ extern __inline uint32x4_t
33472 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3ss1q_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)33473 vsm3ss1q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
33474 {
33475   return __builtin_aarch64_sm3ss1qv4si_uuuu (__a, __b, __c);
33476 }
33477 
33478 __extension__ extern __inline uint32x4_t
33479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3tt1aq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __imm2)33480 vsm3tt1aq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
33481 {
33482   return __builtin_aarch64_sm3tt1aqv4si_uuuus (__a, __b, __c, __imm2);
33483 }
33484 
33485 __extension__ extern __inline uint32x4_t
33486 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3tt1bq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __imm2)33487 vsm3tt1bq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
33488 {
33489   return __builtin_aarch64_sm3tt1bqv4si_uuuus (__a, __b, __c, __imm2);
33490 }
33491 
33492 __extension__ extern __inline uint32x4_t
33493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3tt2aq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __imm2)33494 vsm3tt2aq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
33495 {
33496   return __builtin_aarch64_sm3tt2aqv4si_uuuus (__a, __b, __c, __imm2);
33497 }
33498 
33499 __extension__ extern __inline uint32x4_t
33500 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3tt2bq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __imm2)33501 vsm3tt2bq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
33502 {
33503   return __builtin_aarch64_sm3tt2bqv4si_uuuus (__a, __b, __c, __imm2);
33504 }
33505 
33506 __extension__ extern __inline uint32x4_t
33507 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3partw1q_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)33508 vsm3partw1q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
33509 {
33510   return __builtin_aarch64_sm3partw1qv4si_uuuu (__a, __b, __c);
33511 }
33512 __extension__ extern __inline uint32x4_t
33513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3partw2q_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)33514 vsm3partw2q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
33515 {
33516   return __builtin_aarch64_sm3partw2qv4si_uuuu (__a, __b, __c);
33517 }
33518 
33519 __extension__ extern __inline uint32x4_t
33520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm4eq_u32(uint32x4_t __a,uint32x4_t __b)33521 vsm4eq_u32 (uint32x4_t __a, uint32x4_t __b)
33522 {
33523   return __builtin_aarch64_sm4eqv4si_uuu (__a, __b);
33524 }
33525 
33526 __extension__ extern __inline uint32x4_t
33527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm4ekeyq_u32(uint32x4_t __a,uint32x4_t __b)33528 vsm4ekeyq_u32 (uint32x4_t __a, uint32x4_t __b)
33529 {
33530   return __builtin_aarch64_sm4ekeyqv4si_uuu (__a, __b);
33531 }
33532 
33533 #pragma GCC pop_options
33534 
33535 #pragma GCC push_options
33536 #pragma GCC target ("arch=armv8.2-a+sha3")
33537 
33538 __extension__ extern __inline uint64x2_t
33539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha512hq_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)33540 vsha512hq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
33541 {
33542   return __builtin_aarch64_crypto_sha512hqv2di_uuuu (__a, __b, __c);
33543 }
33544 
33545 __extension__ extern __inline uint64x2_t
33546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha512h2q_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)33547 vsha512h2q_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
33548 {
33549   return __builtin_aarch64_crypto_sha512h2qv2di_uuuu (__a, __b, __c);
33550 }
33551 
33552 __extension__ extern __inline uint64x2_t
33553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha512su0q_u64(uint64x2_t __a,uint64x2_t __b)33554 vsha512su0q_u64 (uint64x2_t __a, uint64x2_t __b)
33555 {
33556   return __builtin_aarch64_crypto_sha512su0qv2di_uuu (__a, __b);
33557 }
33558 
33559 __extension__ extern __inline uint64x2_t
33560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha512su1q_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)33561 vsha512su1q_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
33562 {
33563   return __builtin_aarch64_crypto_sha512su1qv2di_uuuu (__a, __b, __c);
33564 }
33565 
33566 __extension__ extern __inline uint8x16_t
33567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)33568 veor3q_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
33569 {
33570   return __builtin_aarch64_eor3qv16qi_uuuu (__a, __b, __c);
33571 }
33572 
33573 __extension__ extern __inline uint16x8_t
33574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)33575 veor3q_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
33576 {
33577   return __builtin_aarch64_eor3qv8hi_uuuu (__a, __b, __c);
33578 }
33579 
33580 __extension__ extern __inline uint32x4_t
33581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)33582 veor3q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
33583 {
33584   return __builtin_aarch64_eor3qv4si_uuuu (__a, __b, __c);
33585 }
33586 
33587 __extension__ extern __inline uint64x2_t
33588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)33589 veor3q_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
33590 {
33591   return __builtin_aarch64_eor3qv2di_uuuu (__a, __b, __c);
33592 }
33593 
33594 
33595 __extension__ extern __inline int8x16_t
33596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)33597 veor3q_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
33598 {
33599   return __builtin_aarch64_eor3qv16qi (__a, __b, __c);
33600 }
33601 
33602 __extension__ extern __inline int16x8_t
33603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)33604 veor3q_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
33605 {
33606   return __builtin_aarch64_eor3qv8hi (__a, __b, __c);
33607 }
33608 
33609 __extension__ extern __inline int32x4_t
33610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)33611 veor3q_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
33612 {
33613   return __builtin_aarch64_eor3qv4si (__a, __b, __c);
33614 }
33615 
33616 __extension__ extern __inline int64x2_t
33617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_s64(int64x2_t __a,int64x2_t __b,int64x2_t __c)33618 veor3q_s64 (int64x2_t __a, int64x2_t __b, int64x2_t __c)
33619 {
33620   return __builtin_aarch64_eor3qv2di (__a, __b, __c);
33621 }
33622 
33623 __extension__ extern __inline uint64x2_t
33624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrax1q_u64(uint64x2_t __a,uint64x2_t __b)33625 vrax1q_u64 (uint64x2_t __a, uint64x2_t __b)
33626 {
33627   return __builtin_aarch64_rax1qv2di_uuu (__a, __b);
33628 }
33629 
33630 __extension__ extern __inline uint64x2_t
33631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vxarq_u64(uint64x2_t __a,uint64x2_t __b,const int imm6)33632 vxarq_u64 (uint64x2_t __a, uint64x2_t __b, const int imm6)
33633 {
33634   return __builtin_aarch64_xarqv2di_uuus (__a, __b,imm6);
33635 }
33636 
33637 __extension__ extern __inline uint8x16_t
33638 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)33639 vbcaxq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
33640 {
33641   return __builtin_aarch64_bcaxqv16qi_uuuu (__a, __b, __c);
33642 }
33643 
33644 __extension__ extern __inline uint16x8_t
33645 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)33646 vbcaxq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
33647 {
33648   return __builtin_aarch64_bcaxqv8hi_uuuu (__a, __b, __c);
33649 }
33650 
33651 __extension__ extern __inline uint32x4_t
33652 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)33653 vbcaxq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
33654 {
33655   return __builtin_aarch64_bcaxqv4si_uuuu (__a, __b, __c);
33656 }
33657 
33658 __extension__ extern __inline uint64x2_t
33659 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)33660 vbcaxq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
33661 {
33662   return __builtin_aarch64_bcaxqv2di_uuuu (__a, __b, __c);
33663 }
33664 
33665 __extension__ extern __inline int8x16_t
33666 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)33667 vbcaxq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
33668 {
33669   return __builtin_aarch64_bcaxqv16qi (__a, __b, __c);
33670 }
33671 
33672 __extension__ extern __inline int16x8_t
33673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)33674 vbcaxq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
33675 {
33676   return __builtin_aarch64_bcaxqv8hi (__a, __b, __c);
33677 }
33678 
33679 __extension__ extern __inline int32x4_t
33680 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)33681 vbcaxq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
33682 {
33683   return __builtin_aarch64_bcaxqv4si (__a, __b, __c);
33684 }
33685 
33686 __extension__ extern __inline int64x2_t
33687 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_s64(int64x2_t __a,int64x2_t __b,int64x2_t __c)33688 vbcaxq_s64 (int64x2_t __a, int64x2_t __b, int64x2_t __c)
33689 {
33690   return __builtin_aarch64_bcaxqv2di (__a, __b, __c);
33691 }
33692 
33693 #pragma GCC pop_options
33694 
33695 /* AdvSIMD Complex numbers intrinsics.  */
33696 
33697 #pragma GCC push_options
33698 #pragma GCC target ("arch=armv8.3-a")
33699 
33700 #pragma GCC push_options
33701 #pragma GCC target ("+fp16")
33702 __extension__ extern __inline float16x4_t
33703 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot90_f16(float16x4_t __a,float16x4_t __b)33704 vcadd_rot90_f16 (float16x4_t __a, float16x4_t __b)
33705 {
33706   return __builtin_aarch64_fcadd90v4hf (__a, __b);
33707 }
33708 
33709 __extension__ extern __inline float16x8_t
33710 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot90_f16(float16x8_t __a,float16x8_t __b)33711 vcaddq_rot90_f16 (float16x8_t __a, float16x8_t __b)
33712 {
33713   return __builtin_aarch64_fcadd90v8hf (__a, __b);
33714 }
33715 
33716 __extension__ extern __inline float16x4_t
33717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot270_f16(float16x4_t __a,float16x4_t __b)33718 vcadd_rot270_f16 (float16x4_t __a, float16x4_t __b)
33719 {
33720   return __builtin_aarch64_fcadd270v4hf (__a, __b);
33721 }
33722 
33723 __extension__ extern __inline float16x8_t
33724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot270_f16(float16x8_t __a,float16x8_t __b)33725 vcaddq_rot270_f16 (float16x8_t __a, float16x8_t __b)
33726 {
33727   return __builtin_aarch64_fcadd270v8hf (__a, __b);
33728 }
33729 
33730 __extension__ extern __inline float16x4_t
33731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)33732 vcmla_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
33733 {
33734   return __builtin_aarch64_fcmla0v4hf (__r, __a, __b);
33735 }
33736 
33737 __extension__ extern __inline float16x8_t
33738 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)33739 vcmlaq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
33740 {
33741   return __builtin_aarch64_fcmla0v8hf (__r, __a, __b);
33742 }
33743 
33744 __extension__ extern __inline float16x4_t
33745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)33746 vcmla_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
33747 		const int __index)
33748 {
33749   return __builtin_aarch64_fcmla_lane0v4hf (__r, __a, __b, __index);
33750 }
33751 
33752 __extension__ extern __inline float16x4_t
33753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)33754 vcmla_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
33755 		 const int __index)
33756 {
33757   return __builtin_aarch64_fcmla_laneq0v4hf (__r, __a, __b, __index);
33758 }
33759 
33760 __extension__ extern __inline float16x8_t
33761 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)33762 vcmlaq_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
33763 		 const int __index)
33764 {
33765   return __builtin_aarch64_fcmlaq_lane0v8hf (__r, __a, __b, __index);
33766 }
33767 
33768 __extension__ extern __inline float16x8_t
33769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)33770 vcmlaq_rot90_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
33771 		       const int __index)
33772 {
33773   return __builtin_aarch64_fcmlaq_lane90v8hf (__r, __a, __b, __index);
33774 }
33775 
33776 __extension__ extern __inline float16x4_t
33777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)33778 vcmla_rot90_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
33779 		       const int __index)
33780 {
33781   return __builtin_aarch64_fcmla_laneq90v4hf (__r, __a, __b, __index);
33782 }
33783 
33784 __extension__ extern __inline float16x4_t
33785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)33786 vcmla_rot90_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
33787 		      const int __index)
33788 {
33789   return __builtin_aarch64_fcmla_lane90v4hf (__r, __a, __b, __index);
33790 }
33791 
33792 __extension__ extern __inline float16x8_t
33793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)33794 vcmlaq_rot90_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
33795 {
33796   return __builtin_aarch64_fcmla90v8hf (__r, __a, __b);
33797 }
33798 
33799 __extension__ extern __inline float16x4_t
33800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)33801 vcmla_rot90_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
33802 {
33803   return __builtin_aarch64_fcmla90v4hf (__r, __a, __b);
33804 }
33805 
33806 __extension__ extern __inline float16x8_t
33807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)33808 vcmlaq_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
33809 		  const int __index)
33810 {
33811   return __builtin_aarch64_fcmla_lane0v8hf (__r, __a, __b, __index);
33812 }
33813 
33814 __extension__ extern __inline float16x4_t
33815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)33816 vcmla_rot180_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
33817 			const int __index)
33818 {
33819   return __builtin_aarch64_fcmla_laneq180v4hf (__r, __a, __b, __index);
33820 }
33821 
33822 __extension__ extern __inline float16x4_t
33823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)33824 vcmla_rot180_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
33825 		       const int __index)
33826 {
33827   return __builtin_aarch64_fcmla_lane180v4hf (__r, __a, __b, __index);
33828 }
33829 
33830 __extension__ extern __inline float16x8_t
33831 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)33832 vcmlaq_rot180_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
33833 {
33834   return __builtin_aarch64_fcmla180v8hf (__r, __a, __b);
33835 }
33836 
33837 __extension__ extern __inline float16x4_t
33838 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)33839 vcmla_rot180_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
33840 {
33841   return __builtin_aarch64_fcmla180v4hf (__r, __a, __b);
33842 }
33843 
33844 __extension__ extern __inline float16x8_t
33845 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)33846 vcmlaq_rot90_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
33847 			const int __index)
33848 {
33849   return __builtin_aarch64_fcmla_lane90v8hf (__r, __a, __b, __index);
33850 }
33851 
33852 __extension__ extern __inline float16x8_t
33853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)33854 vcmlaq_rot270_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
33855 			 const int __index)
33856 {
33857   return __builtin_aarch64_fcmla_lane270v8hf (__r, __a, __b, __index);
33858 }
33859 
33860 __extension__ extern __inline float16x8_t
33861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)33862 vcmlaq_rot270_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
33863 			const int __index)
33864 {
33865   return __builtin_aarch64_fcmlaq_lane270v8hf (__r, __a, __b, __index);
33866 }
33867 
33868 __extension__ extern __inline float16x4_t
33869 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)33870 vcmla_rot270_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
33871 			const int __index)
33872 {
33873   return __builtin_aarch64_fcmla_laneq270v4hf (__r, __a, __b, __index);
33874 }
33875 
33876 __extension__ extern __inline float16x8_t
33877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)33878 vcmlaq_rot270_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
33879 {
33880   return __builtin_aarch64_fcmla270v8hf (__r, __a, __b);
33881 }
33882 
33883 __extension__ extern __inline float16x4_t
33884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)33885 vcmla_rot270_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
33886 {
33887   return __builtin_aarch64_fcmla270v4hf (__r, __a, __b);
33888 }
33889 
33890 __extension__ extern __inline float16x8_t
33891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)33892 vcmlaq_rot180_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
33893 			 const int __index)
33894 {
33895   return __builtin_aarch64_fcmla_lane180v8hf (__r, __a, __b, __index);
33896 }
33897 
33898 __extension__ extern __inline float16x8_t
33899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)33900 vcmlaq_rot180_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
33901 			const int __index)
33902 {
33903   return __builtin_aarch64_fcmlaq_lane180v8hf (__r, __a, __b, __index);
33904 }
33905 
33906 __extension__ extern __inline float16x4_t
33907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)33908 vcmla_rot270_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
33909 		       const int __index)
33910 {
33911   return __builtin_aarch64_fcmla_lane270v4hf (__r, __a, __b, __index);
33912 }
33913 #pragma GCC pop_options
33914 
33915 __extension__ extern __inline float32x2_t
33916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot90_f32(float32x2_t __a,float32x2_t __b)33917 vcadd_rot90_f32 (float32x2_t __a, float32x2_t __b)
33918 {
33919   return __builtin_aarch64_fcadd90v2sf (__a, __b);
33920 }
33921 
33922 __extension__ extern __inline float32x4_t
33923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot90_f32(float32x4_t __a,float32x4_t __b)33924 vcaddq_rot90_f32 (float32x4_t __a, float32x4_t __b)
33925 {
33926   return __builtin_aarch64_fcadd90v4sf (__a, __b);
33927 }
33928 
33929 __extension__ extern __inline float64x2_t
33930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot90_f64(float64x2_t __a,float64x2_t __b)33931 vcaddq_rot90_f64 (float64x2_t __a, float64x2_t __b)
33932 {
33933   return __builtin_aarch64_fcadd90v2df (__a, __b);
33934 }
33935 
33936 __extension__ extern __inline float32x2_t
33937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot270_f32(float32x2_t __a,float32x2_t __b)33938 vcadd_rot270_f32 (float32x2_t __a, float32x2_t __b)
33939 {
33940   return __builtin_aarch64_fcadd270v2sf (__a, __b);
33941 }
33942 
33943 __extension__ extern __inline float32x4_t
33944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot270_f32(float32x4_t __a,float32x4_t __b)33945 vcaddq_rot270_f32 (float32x4_t __a, float32x4_t __b)
33946 {
33947   return __builtin_aarch64_fcadd270v4sf (__a, __b);
33948 }
33949 
33950 __extension__ extern __inline float64x2_t
33951 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot270_f64(float64x2_t __a,float64x2_t __b)33952 vcaddq_rot270_f64 (float64x2_t __a, float64x2_t __b)
33953 {
33954   return __builtin_aarch64_fcadd270v2df (__a, __b);
33955 }
33956 
33957 __extension__ extern __inline float32x2_t
33958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)33959 vcmla_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
33960 {
33961   return __builtin_aarch64_fcmla0v2sf (__r, __a, __b);
33962 }
33963 
33964 __extension__ extern __inline float32x4_t
33965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)33966 vcmlaq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
33967 {
33968   return __builtin_aarch64_fcmla0v4sf (__r, __a, __b);
33969 }
33970 
33971 __extension__ extern __inline float64x2_t
33972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_f64(float64x2_t __r,float64x2_t __a,float64x2_t __b)33973 vcmlaq_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
33974 {
33975   return __builtin_aarch64_fcmla0v2df (__r, __a, __b);
33976 }
33977 
33978 __extension__ extern __inline float32x2_t
33979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)33980 vcmla_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
33981 		const int __index)
33982 {
33983   return __builtin_aarch64_fcmla_lane0v2sf (__r, __a, __b, __index);
33984 }
33985 
33986 __extension__ extern __inline float32x2_t
33987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)33988 vcmla_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
33989 		 const int __index)
33990 {
33991   return __builtin_aarch64_fcmla_laneq0v2sf (__r, __a, __b, __index);
33992 }
33993 
33994 __extension__ extern __inline float32x4_t
33995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)33996 vcmlaq_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
33997 		 const int __index)
33998 {
33999   return __builtin_aarch64_fcmlaq_lane0v4sf (__r, __a, __b, __index);
34000 }
34001 
34002 __extension__ extern __inline float32x4_t
34003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)34004 vcmlaq_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
34005 		  const int __index)
34006 {
34007   return __builtin_aarch64_fcmla_lane0v4sf (__r, __a, __b, __index);
34008 }
34009 
34010 __extension__ extern __inline float32x2_t
34011 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)34012 vcmla_rot90_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
34013 {
34014   return __builtin_aarch64_fcmla90v2sf (__r, __a, __b);
34015 }
34016 
34017 __extension__ extern __inline float32x4_t
34018 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)34019 vcmlaq_rot90_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
34020 {
34021   return __builtin_aarch64_fcmla90v4sf (__r, __a, __b);
34022 }
34023 
34024 __extension__ extern __inline float64x2_t
34025 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_f64(float64x2_t __r,float64x2_t __a,float64x2_t __b)34026 vcmlaq_rot90_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
34027 {
34028   return __builtin_aarch64_fcmla90v2df (__r, __a, __b);
34029 }
34030 
34031 __extension__ extern __inline float32x2_t
34032 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)34033 vcmla_rot90_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
34034 		      const int __index)
34035 {
34036   return __builtin_aarch64_fcmla_lane90v2sf (__r, __a, __b, __index);
34037 }
34038 
34039 __extension__ extern __inline float32x2_t
34040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)34041 vcmla_rot90_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
34042 		       const int __index)
34043 {
34044   return __builtin_aarch64_fcmla_laneq90v2sf (__r, __a, __b, __index);
34045 }
34046 
34047 __extension__ extern __inline float32x4_t
34048 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)34049 vcmlaq_rot90_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
34050 		       const int __index)
34051 {
34052   return __builtin_aarch64_fcmlaq_lane90v4sf (__r, __a, __b, __index);
34053 }
34054 
34055 __extension__ extern __inline float32x4_t
34056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)34057 vcmlaq_rot90_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
34058 			const int __index)
34059 {
34060   return __builtin_aarch64_fcmla_lane90v4sf (__r, __a, __b, __index);
34061 }
34062 
34063 __extension__ extern __inline float32x2_t
34064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)34065 vcmla_rot180_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
34066 {
34067   return __builtin_aarch64_fcmla180v2sf (__r, __a, __b);
34068 }
34069 
34070 __extension__ extern __inline float32x4_t
34071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)34072 vcmlaq_rot180_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
34073 {
34074   return __builtin_aarch64_fcmla180v4sf (__r, __a, __b);
34075 }
34076 
34077 __extension__ extern __inline float64x2_t
34078 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_f64(float64x2_t __r,float64x2_t __a,float64x2_t __b)34079 vcmlaq_rot180_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
34080 {
34081   return __builtin_aarch64_fcmla180v2df (__r, __a, __b);
34082 }
34083 
34084 __extension__ extern __inline float32x2_t
34085 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)34086 vcmla_rot180_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
34087 		       const int __index)
34088 {
34089   return __builtin_aarch64_fcmla_lane180v2sf (__r, __a, __b, __index);
34090 }
34091 
34092 __extension__ extern __inline float32x2_t
34093 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)34094 vcmla_rot180_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
34095 			const int __index)
34096 {
34097   return __builtin_aarch64_fcmla_laneq180v2sf (__r, __a, __b, __index);
34098 }
34099 
34100 __extension__ extern __inline float32x4_t
34101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)34102 vcmlaq_rot180_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
34103 			const int __index)
34104 {
34105   return __builtin_aarch64_fcmlaq_lane180v4sf (__r, __a, __b, __index);
34106 }
34107 
34108 __extension__ extern __inline float32x4_t
34109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)34110 vcmlaq_rot180_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
34111 			 const int __index)
34112 {
34113   return __builtin_aarch64_fcmla_lane180v4sf (__r, __a, __b, __index);
34114 }
34115 
34116 __extension__ extern __inline float32x2_t
34117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)34118 vcmla_rot270_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
34119 {
34120   return __builtin_aarch64_fcmla270v2sf (__r, __a, __b);
34121 }
34122 
34123 __extension__ extern __inline float32x4_t
34124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)34125 vcmlaq_rot270_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
34126 {
34127   return __builtin_aarch64_fcmla270v4sf (__r, __a, __b);
34128 }
34129 
34130 __extension__ extern __inline float64x2_t
34131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_f64(float64x2_t __r,float64x2_t __a,float64x2_t __b)34132 vcmlaq_rot270_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
34133 {
34134   return __builtin_aarch64_fcmla270v2df (__r, __a, __b);
34135 }
34136 
34137 __extension__ extern __inline float32x2_t
34138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)34139 vcmla_rot270_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
34140 		       const int __index)
34141 {
34142   return __builtin_aarch64_fcmla_lane270v2sf (__r, __a, __b, __index);
34143 }
34144 
34145 __extension__ extern __inline float32x2_t
34146 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)34147 vcmla_rot270_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
34148 			const int __index)
34149 {
34150   return __builtin_aarch64_fcmla_laneq270v2sf (__r, __a, __b, __index);
34151 }
34152 
34153 __extension__ extern __inline float32x4_t
34154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)34155 vcmlaq_rot270_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
34156 			const int __index)
34157 {
34158   return __builtin_aarch64_fcmlaq_lane270v4sf (__r, __a, __b, __index);
34159 }
34160 
34161 __extension__ extern __inline float32x4_t
34162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)34163 vcmlaq_rot270_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
34164 			 const int __index)
34165 {
34166   return __builtin_aarch64_fcmla_lane270v4sf (__r, __a, __b, __index);
34167 }
34168 
34169 #pragma GCC pop_options
34170 
34171 #pragma GCC push_options
34172 #pragma GCC target ("arch=armv8.2-a+fp16fml")
34173 
34174 __extension__ extern __inline float32x2_t
34175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)34176 vfmlal_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
34177 {
34178   return __builtin_aarch64_fmlal_lowv2sf (__r, __a, __b);
34179 }
34180 
34181 __extension__ extern __inline float32x2_t
34182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)34183 vfmlsl_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
34184 {
34185   return __builtin_aarch64_fmlsl_lowv2sf (__r, __a, __b);
34186 }
34187 
34188 __extension__ extern __inline float32x4_t
34189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)34190 vfmlalq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
34191 {
34192   return __builtin_aarch64_fmlalq_lowv4sf (__r, __a, __b);
34193 }
34194 
34195 __extension__ extern __inline float32x4_t
34196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)34197 vfmlslq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
34198 {
34199   return __builtin_aarch64_fmlslq_lowv4sf (__r, __a, __b);
34200 }
34201 
34202 __extension__ extern __inline float32x2_t
34203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)34204 vfmlal_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
34205 {
34206   return __builtin_aarch64_fmlal_highv2sf (__r, __a, __b);
34207 }
34208 
34209 __extension__ extern __inline float32x2_t
34210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)34211 vfmlsl_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
34212 {
34213   return __builtin_aarch64_fmlsl_highv2sf (__r, __a, __b);
34214 }
34215 
34216 __extension__ extern __inline float32x4_t
34217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)34218 vfmlalq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
34219 {
34220   return __builtin_aarch64_fmlalq_highv4sf (__r, __a, __b);
34221 }
34222 
34223 __extension__ extern __inline float32x4_t
34224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)34225 vfmlslq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
34226 {
34227   return __builtin_aarch64_fmlslq_highv4sf (__r, __a, __b);
34228 }
34229 
34230 __extension__ extern __inline float32x2_t
34231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_lane_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __lane)34232 vfmlal_lane_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
34233 		     const int __lane)
34234 {
34235   return __builtin_aarch64_fmlal_lane_lowv2sf (__r, __a, __b, __lane);
34236 }
34237 
34238 __extension__ extern __inline float32x2_t
34239 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_lane_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __lane)34240 vfmlsl_lane_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
34241 		     const int __lane)
34242 {
34243   return __builtin_aarch64_fmlsl_lane_lowv2sf (__r, __a, __b, __lane);
34244 }
34245 
34246 __extension__ extern __inline float32x2_t
34247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_laneq_low_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __lane)34248 vfmlal_laneq_low_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
34249 		      const int __lane)
34250 {
34251   return __builtin_aarch64_fmlal_laneq_lowv2sf (__r, __a, __b, __lane);
34252 }
34253 
34254 __extension__ extern __inline float32x2_t
34255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_laneq_low_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __lane)34256 vfmlsl_laneq_low_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
34257 		      const int __lane)
34258 {
34259   return __builtin_aarch64_fmlsl_laneq_lowv2sf (__r, __a, __b, __lane);
34260 }
34261 
34262 __extension__ extern __inline float32x4_t
34263 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_lane_low_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __lane)34264 vfmlalq_lane_low_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
34265 		      const int __lane)
34266 {
34267   return __builtin_aarch64_fmlalq_lane_lowv4sf (__r, __a, __b, __lane);
34268 }
34269 
34270 __extension__ extern __inline float32x4_t
34271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_lane_low_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __lane)34272 vfmlslq_lane_low_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
34273 		      const int __lane)
34274 {
34275   return __builtin_aarch64_fmlslq_lane_lowv4sf (__r, __a, __b, __lane);
34276 }
34277 
34278 __extension__ extern __inline float32x4_t
34279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_laneq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __lane)34280 vfmlalq_laneq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
34281 		       const int __lane)
34282 {
34283   return __builtin_aarch64_fmlalq_laneq_lowv4sf (__r, __a, __b, __lane);
34284 }
34285 
34286 __extension__ extern __inline float32x4_t
34287 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_laneq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __lane)34288 vfmlslq_laneq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
34289 		      const int __lane)
34290 {
34291   return __builtin_aarch64_fmlslq_laneq_lowv4sf (__r, __a, __b, __lane);
34292 }
34293 
34294 __extension__ extern __inline float32x2_t
34295 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_lane_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __lane)34296 vfmlal_lane_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
34297 		     const int __lane)
34298 {
34299   return __builtin_aarch64_fmlal_lane_highv2sf (__r, __a, __b, __lane);
34300 }
34301 
34302 __extension__ extern __inline float32x2_t
34303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_lane_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __lane)34304 vfmlsl_lane_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
34305 		     const int __lane)
34306 {
34307   return __builtin_aarch64_fmlsl_lane_highv2sf (__r, __a, __b, __lane);
34308 }
34309 
34310 __extension__ extern __inline float32x2_t
34311 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_laneq_high_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __lane)34312 vfmlal_laneq_high_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
34313 		      const int __lane)
34314 {
34315   return __builtin_aarch64_fmlal_laneq_highv2sf (__r, __a, __b, __lane);
34316 }
34317 
34318 __extension__ extern __inline float32x2_t
34319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_laneq_high_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __lane)34320 vfmlsl_laneq_high_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
34321 		      const int __lane)
34322 {
34323   return __builtin_aarch64_fmlsl_laneq_highv2sf (__r, __a, __b, __lane);
34324 }
34325 
34326 __extension__ extern __inline float32x4_t
34327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_lane_high_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __lane)34328 vfmlalq_lane_high_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
34329 		      const int __lane)
34330 {
34331   return __builtin_aarch64_fmlalq_lane_highv4sf (__r, __a, __b, __lane);
34332 }
34333 
34334 __extension__ extern __inline float32x4_t
34335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_lane_high_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __lane)34336 vfmlslq_lane_high_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
34337 		      const int __lane)
34338 {
34339   return __builtin_aarch64_fmlslq_lane_highv4sf (__r, __a, __b, __lane);
34340 }
34341 
34342 __extension__ extern __inline float32x4_t
34343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_laneq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __lane)34344 vfmlalq_laneq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
34345 		       const int __lane)
34346 {
34347   return __builtin_aarch64_fmlalq_laneq_highv4sf (__r, __a, __b, __lane);
34348 }
34349 
34350 __extension__ extern __inline float32x4_t
34351 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_laneq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __lane)34352 vfmlslq_laneq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
34353 		      const int __lane)
34354 {
34355   return __builtin_aarch64_fmlslq_laneq_highv4sf (__r, __a, __b, __lane);
34356 }
34357 
34358 #pragma GCC pop_options
34359 
34360 #pragma GCC push_options
34361 #pragma GCC target ("arch=armv8.5-a")
34362 
34363 __extension__ extern __inline float32x2_t
34364 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32z_f32(float32x2_t __a)34365 vrnd32z_f32 (float32x2_t __a)
34366 {
34367   return __builtin_aarch64_frint32zv2sf (__a);
34368 }
34369 
34370 __extension__ extern __inline float32x4_t
34371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32zq_f32(float32x4_t __a)34372 vrnd32zq_f32 (float32x4_t __a)
34373 {
34374   return __builtin_aarch64_frint32zv4sf (__a);
34375 }
34376 
34377 __extension__ extern __inline float64x1_t
34378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32z_f64(float64x1_t __a)34379 vrnd32z_f64 (float64x1_t __a)
34380 {
34381   return (float64x1_t)
34382 	   {__builtin_aarch64_frint32zdf (vget_lane_f64 (__a, 0))};
34383 }
34384 
34385 __extension__ extern __inline float64x2_t
34386 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32zq_f64(float64x2_t __a)34387 vrnd32zq_f64 (float64x2_t __a)
34388 {
34389   return __builtin_aarch64_frint32zv2df (__a);
34390 }
34391 
34392 __extension__ extern __inline float32x2_t
34393 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32x_f32(float32x2_t __a)34394 vrnd32x_f32 (float32x2_t __a)
34395 {
34396   return __builtin_aarch64_frint32xv2sf (__a);
34397 }
34398 
34399 __extension__ extern __inline float32x4_t
34400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32xq_f32(float32x4_t __a)34401 vrnd32xq_f32 (float32x4_t __a)
34402 {
34403   return __builtin_aarch64_frint32xv4sf (__a);
34404 }
34405 
34406 __extension__ extern __inline float64x1_t
34407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32x_f64(float64x1_t __a)34408 vrnd32x_f64 (float64x1_t __a)
34409 {
34410   return (float64x1_t) {__builtin_aarch64_frint32xdf (vget_lane_f64 (__a, 0))};
34411 }
34412 
34413 __extension__ extern __inline float64x2_t
34414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32xq_f64(float64x2_t __a)34415 vrnd32xq_f64 (float64x2_t __a)
34416 {
34417   return __builtin_aarch64_frint32xv2df (__a);
34418 }
34419 
34420 __extension__ extern __inline float32x2_t
34421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64z_f32(float32x2_t __a)34422 vrnd64z_f32 (float32x2_t __a)
34423 {
34424   return __builtin_aarch64_frint64zv2sf (__a);
34425 }
34426 
34427 __extension__ extern __inline float32x4_t
34428 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64zq_f32(float32x4_t __a)34429 vrnd64zq_f32 (float32x4_t __a)
34430 {
34431   return __builtin_aarch64_frint64zv4sf (__a);
34432 }
34433 
34434 __extension__ extern __inline float64x1_t
34435 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64z_f64(float64x1_t __a)34436 vrnd64z_f64 (float64x1_t __a)
34437 {
34438   return (float64x1_t) {__builtin_aarch64_frint64zdf (vget_lane_f64 (__a, 0))};
34439 }
34440 
34441 __extension__ extern __inline float64x2_t
34442 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64zq_f64(float64x2_t __a)34443 vrnd64zq_f64 (float64x2_t __a)
34444 {
34445   return __builtin_aarch64_frint64zv2df (__a);
34446 }
34447 
34448 __extension__ extern __inline float32x2_t
34449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64x_f32(float32x2_t __a)34450 vrnd64x_f32 (float32x2_t __a)
34451 {
34452   return __builtin_aarch64_frint64xv2sf (__a);
34453 }
34454 
34455 __extension__ extern __inline float32x4_t
34456 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64xq_f32(float32x4_t __a)34457 vrnd64xq_f32 (float32x4_t __a)
34458 {
34459   return __builtin_aarch64_frint64xv4sf (__a);
34460 }
34461 
34462 __extension__ extern __inline float64x1_t
34463 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64x_f64(float64x1_t __a)34464 vrnd64x_f64 (float64x1_t __a)
34465 {
34466   return (float64x1_t) {__builtin_aarch64_frint64xdf (vget_lane_f64 (__a, 0))};
34467 }
34468 
34469 __extension__ extern __inline float64x2_t
34470 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64xq_f64(float64x2_t __a)34471 vrnd64xq_f64 (float64x2_t __a)
34472 {
34473   return __builtin_aarch64_frint64xv2df (__a);
34474 }
34475 
34476 #pragma GCC pop_options
34477 
34478 #include "arm_bf16.h"
34479 
34480 #pragma GCC push_options
34481 #pragma GCC target ("arch=armv8.2-a+bf16")
34482 
34483 __extension__ extern __inline bfloat16x4_t
34484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_bf16(bfloat16_t __elem,bfloat16x4_t __vec,const int __index)34485 vset_lane_bf16 (bfloat16_t __elem, bfloat16x4_t __vec, const int __index)
34486 {
34487   return __aarch64_vset_lane_any (__elem, __vec, __index);
34488 }
34489 
34490 __extension__ extern __inline bfloat16x8_t
34491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_bf16(bfloat16_t __elem,bfloat16x8_t __vec,const int __index)34492 vsetq_lane_bf16 (bfloat16_t __elem, bfloat16x8_t __vec, const int __index)
34493 {
34494   return __aarch64_vset_lane_any (__elem, __vec, __index);
34495 }
34496 
34497 __extension__ extern __inline bfloat16_t
34498 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_bf16(bfloat16x4_t __a,const int __b)34499 vget_lane_bf16 (bfloat16x4_t __a, const int __b)
34500 {
34501   return __aarch64_vget_lane_any (__a, __b);
34502 }
34503 
34504 __extension__ extern __inline bfloat16_t
34505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_bf16(bfloat16x8_t __a,const int __b)34506 vgetq_lane_bf16 (bfloat16x8_t __a, const int __b)
34507 {
34508   return __aarch64_vget_lane_any (__a, __b);
34509 }
34510 
34511 __extension__ extern __inline bfloat16x4_t
34512 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_bf16(uint64_t __a)34513 vcreate_bf16 (uint64_t __a)
34514 {
34515   return (bfloat16x4_t) __a;
34516 }
34517 
34518 __extension__ extern __inline bfloat16x8_t
34519 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_bf16(bfloat16x4_t __a,bfloat16x4_t __b)34520 vcombine_bf16 (bfloat16x4_t __a, bfloat16x4_t __b)
34521 {
34522   return (bfloat16x8_t)__builtin_aarch64_combinev4bf (__a, __b);
34523 }
34524 
34525 /* vdup */
34526 
34527 __extension__ extern __inline bfloat16x4_t
34528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_bf16(bfloat16_t __a)34529 vdup_n_bf16 (bfloat16_t __a)
34530 {
34531   return (bfloat16x4_t) {__a, __a, __a, __a};
34532 }
34533 
34534 __extension__ extern __inline bfloat16x8_t
34535 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_bf16(bfloat16_t __a)34536 vdupq_n_bf16 (bfloat16_t __a)
34537 {
34538   return (bfloat16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
34539 }
34540 
34541 __extension__ extern __inline bfloat16x4_t
34542 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_bf16(bfloat16x4_t __a,const int __b)34543 vdup_lane_bf16 (bfloat16x4_t __a, const int __b)
34544 {
34545   return vdup_n_bf16 (__aarch64_vget_lane_any (__a, __b));
34546 }
34547 
34548 __extension__ extern __inline bfloat16x4_t
34549 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_bf16(bfloat16x8_t __a,const int __b)34550 vdup_laneq_bf16 (bfloat16x8_t __a, const int __b)
34551 {
34552   return vdup_n_bf16 (__aarch64_vget_lane_any (__a, __b));
34553 }
34554 
34555 __extension__ extern __inline bfloat16x8_t
34556 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_bf16(bfloat16x4_t __a,const int __b)34557 vdupq_lane_bf16 (bfloat16x4_t __a, const int __b)
34558 {
34559   return vdupq_n_bf16 (__aarch64_vget_lane_any (__a, __b));
34560 }
34561 
34562 __extension__ extern __inline bfloat16x8_t
34563 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_bf16(bfloat16x8_t __a,const int __b)34564 vdupq_laneq_bf16 (bfloat16x8_t __a, const int __b)
34565 {
34566   return vdupq_n_bf16 (__aarch64_vget_lane_any (__a, __b));
34567 }
34568 
34569 __extension__ extern __inline bfloat16_t
34570 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_bf16(bfloat16x4_t __a,const int __b)34571 vduph_lane_bf16 (bfloat16x4_t __a, const int __b)
34572 {
34573   return __aarch64_vget_lane_any (__a, __b);
34574 }
34575 
34576 __extension__ extern __inline bfloat16_t
34577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_bf16(bfloat16x8_t __a,const int __b)34578 vduph_laneq_bf16 (bfloat16x8_t __a, const int __b)
34579 {
34580   return __aarch64_vget_lane_any (__a, __b);
34581 }
34582 
34583 /* vld */
34584 
34585 __extension__ extern __inline bfloat16x4_t
34586 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_bf16(const bfloat16_t * __a)34587 vld1_bf16 (const bfloat16_t *__a)
34588 {
34589   return (bfloat16x4_t) __builtin_aarch64_ld1v4bf (__a);
34590 }
34591 
34592 __extension__ extern __inline bfloat16x8_t
34593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_bf16(const bfloat16_t * __a)34594 vld1q_bf16 (const bfloat16_t *__a)
34595 {
34596   return __builtin_aarch64_ld1v8bf (__a);
34597 }
34598 
34599 __extension__ extern __inline bfloat16x4x2_t
34600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_bf16_x2(const bfloat16_t * __a)34601 vld1_bf16_x2 (const bfloat16_t *__a)
34602 {
34603   bfloat16x4x2_t ret;
34604   __builtin_aarch64_simd_oi __o;
34605   __o = __builtin_aarch64_ld1x2v4bf ((const __builtin_aarch64_simd_bf *) __a);
34606   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 0);
34607   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 1);
34608   return ret;
34609 }
34610 
34611 __extension__ extern __inline bfloat16x8x2_t
34612 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_bf16_x2(const bfloat16_t * __a)34613 vld1q_bf16_x2 (const bfloat16_t *__a)
34614 {
34615   bfloat16x8x2_t ret;
34616   __builtin_aarch64_simd_oi __o;
34617   __o = __builtin_aarch64_ld1x2v8bf ((const __builtin_aarch64_simd_bf *) __a);
34618   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 0);
34619   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 1);
34620   return ret;
34621 }
34622 
34623 __extension__ extern __inline bfloat16x4x3_t
34624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_bf16_x3(const bfloat16_t * __a)34625 vld1_bf16_x3 (const bfloat16_t *__a)
34626 {
34627   bfloat16x4x3_t __i;
34628   __builtin_aarch64_simd_ci __o;
34629   __o = __builtin_aarch64_ld1x3v4bf ((const __builtin_aarch64_simd_bf *) __a);
34630   __i.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf  (__o, 0);
34631   __i.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf  (__o, 1);
34632   __i.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf  (__o, 2);
34633   return __i;
34634 }
34635 
34636 __extension__ extern __inline bfloat16x8x3_t
34637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_bf16_x3(const bfloat16_t * __a)34638 vld1q_bf16_x3 (const bfloat16_t *__a)
34639 {
34640   bfloat16x8x3_t __i;
34641   __builtin_aarch64_simd_ci __o;
34642   __o = __builtin_aarch64_ld1x3v8bf ((const __builtin_aarch64_simd_bf *) __a);
34643   __i.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf  (__o, 0);
34644   __i.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf  (__o, 1);
34645   __i.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf  (__o, 2);
34646   return __i;
34647 }
34648 __extension__ extern __inline bfloat16x4x4_t
34649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_bf16_x4(const bfloat16_t * __a)34650 vld1_bf16_x4 (const bfloat16_t *__a)
34651 {
34652   union { bfloat16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
34653   __au.__o
34654     = __builtin_aarch64_ld1x4v4bf ((const __builtin_aarch64_simd_bf *) __a);
34655   return __au.__i;
34656 }
34657 
34658 __extension__ extern __inline bfloat16x8x4_t
34659 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_bf16_x4(const bfloat16_t * __a)34660 vld1q_bf16_x4 (const bfloat16_t *__a)
34661 {
34662   union { bfloat16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
34663   __au.__o
34664     = __builtin_aarch64_ld1x4v8bf ((const __builtin_aarch64_simd_bf *) __a);
34665   return __au.__i;
34666 }
34667 
34668 __extension__ extern __inline bfloat16x4_t
34669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_bf16(const bfloat16_t * __src,bfloat16x4_t __vec,const int __lane)34670 vld1_lane_bf16 (const bfloat16_t *__src, bfloat16x4_t __vec, const int __lane)
34671 {
34672   return __aarch64_vset_lane_any (*__src, __vec, __lane);
34673 }
34674 
34675 __extension__ extern __inline bfloat16x8_t
34676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_bf16(const bfloat16_t * __src,bfloat16x8_t __vec,const int __lane)34677 vld1q_lane_bf16 (const bfloat16_t *__src, bfloat16x8_t __vec, const int __lane)
34678 {
34679   return __aarch64_vset_lane_any (*__src, __vec, __lane);
34680 }
34681 
34682 __extension__ extern __inline bfloat16x4_t
34683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_bf16(const bfloat16_t * __a)34684 vld1_dup_bf16 (const bfloat16_t* __a)
34685 {
34686   return vdup_n_bf16 (*__a);
34687 }
34688 
34689 __extension__ extern __inline bfloat16x8_t
34690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_bf16(const bfloat16_t * __a)34691 vld1q_dup_bf16 (const bfloat16_t* __a)
34692 {
34693   return vdupq_n_bf16 (*__a);
34694 }
34695 
34696 __extension__ extern __inline bfloat16x4x2_t
34697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_bf16(const bfloat16_t * __a)34698 vld2_bf16 (const bfloat16_t * __a)
34699 {
34700   bfloat16x4x2_t ret;
34701   __builtin_aarch64_simd_oi __o;
34702   __o = __builtin_aarch64_ld2v4bf (__a);
34703   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 0);
34704   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 1);
34705   return ret;
34706 }
34707 
34708 __extension__ extern __inline bfloat16x8x2_t
34709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_bf16(const bfloat16_t * __a)34710 vld2q_bf16 (const bfloat16_t * __a)
34711 {
34712   bfloat16x8x2_t ret;
34713   __builtin_aarch64_simd_oi __o;
34714   __o = __builtin_aarch64_ld2v8bf ((const __builtin_aarch64_simd_bf *) __a);
34715   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 0);
34716   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 1);
34717   return ret;
34718 }
34719 
34720 __extension__ extern __inline bfloat16x4x2_t
34721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_bf16(const bfloat16_t * __a)34722 vld2_dup_bf16 (const bfloat16_t * __a)
34723 {
34724   bfloat16x4x2_t ret;
34725   __builtin_aarch64_simd_oi __o;
34726   __o = __builtin_aarch64_ld2rv4bf ((const __builtin_aarch64_simd_bf *) __a);
34727   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 0);
34728   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 1);
34729   return ret;
34730 }
34731 
34732 __extension__ extern __inline bfloat16x8x2_t
34733 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_bf16(const bfloat16_t * __a)34734 vld2q_dup_bf16 (const bfloat16_t * __a)
34735 {
34736   bfloat16x8x2_t ret;
34737   __builtin_aarch64_simd_oi __o;
34738   __o = __builtin_aarch64_ld2rv8bf ((const __builtin_aarch64_simd_bf *) __a);
34739   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 0);
34740   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 1);
34741   return ret;
34742 }
34743 
34744 __extension__ extern __inline bfloat16x4x3_t
34745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_bf16(const bfloat16_t * __a)34746 vld3_bf16 (const bfloat16_t * __a)
34747 {
34748   bfloat16x4x3_t ret;
34749   __builtin_aarch64_simd_ci __o;
34750   __o = __builtin_aarch64_ld3v4bf ((const __builtin_aarch64_simd_bf *) __a);
34751   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 0);
34752   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 1);
34753   ret.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 2);
34754   return ret;
34755 }
34756 
34757 __extension__ extern __inline bfloat16x8x3_t
34758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_bf16(const bfloat16_t * __a)34759 vld3q_bf16 (const bfloat16_t * __a)
34760 {
34761   bfloat16x8x3_t ret;
34762   __builtin_aarch64_simd_ci __o;
34763   __o = __builtin_aarch64_ld3v8bf ((const __builtin_aarch64_simd_bf *) __a);
34764   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 0);
34765   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 1);
34766   ret.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 2);
34767   return ret;
34768 }
34769 
34770 __extension__ extern __inline bfloat16x4x3_t
34771 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_bf16(const bfloat16_t * __a)34772 vld3_dup_bf16 (const bfloat16_t * __a)
34773 {
34774   bfloat16x4x3_t ret;
34775   __builtin_aarch64_simd_ci __o;
34776   __o = __builtin_aarch64_ld3rv4bf ((const __builtin_aarch64_simd_bf *) __a);
34777   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 0);
34778   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 1);
34779   ret.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 2);
34780   return ret;
34781 }
34782 
34783 __extension__ extern __inline bfloat16x8x3_t
34784 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_bf16(const bfloat16_t * __a)34785 vld3q_dup_bf16 (const bfloat16_t * __a)
34786 {
34787   bfloat16x8x3_t ret;
34788   __builtin_aarch64_simd_ci __o;
34789   __o = __builtin_aarch64_ld3rv8bf ((const __builtin_aarch64_simd_bf *) __a);
34790   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 0);
34791   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 1);
34792   ret.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 2);
34793   return ret;
34794 }
34795 
34796 __extension__ extern __inline bfloat16x4x4_t
34797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_bf16(const bfloat16_t * __a)34798 vld4_bf16 (const bfloat16_t * __a)
34799 {
34800   bfloat16x4x4_t ret;
34801   __builtin_aarch64_simd_xi __o;
34802   __o = __builtin_aarch64_ld4v4bf ((const __builtin_aarch64_simd_bf *) __a);
34803   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 0);
34804   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 1);
34805   ret.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 2);
34806   ret.val[3] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 3);
34807   return ret;
34808 }
34809 
34810 __extension__ extern __inline bfloat16x8x4_t
34811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_bf16(const bfloat16_t * __a)34812 vld4q_bf16 (const bfloat16_t * __a)
34813 {
34814   bfloat16x8x4_t ret;
34815   __builtin_aarch64_simd_xi __o;
34816   __o = __builtin_aarch64_ld4v8bf ((const __builtin_aarch64_simd_bf *) __a);
34817   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 0);
34818   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 1);
34819   ret.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 2);
34820   ret.val[3] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 3);
34821   return ret;
34822 }
34823 
34824 __extension__ extern __inline bfloat16x4x4_t
34825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_bf16(const bfloat16_t * __a)34826 vld4_dup_bf16 (const bfloat16_t * __a)
34827 {
34828   bfloat16x4x4_t ret;
34829   __builtin_aarch64_simd_xi __o;
34830   __o = __builtin_aarch64_ld4rv4bf ((const __builtin_aarch64_simd_bf *) __a);
34831   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 0);
34832   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 1);
34833   ret.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 2);
34834   ret.val[3] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 3);
34835   return ret;
34836 }
34837 
34838 __extension__ extern __inline bfloat16x8x4_t
34839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_bf16(const bfloat16_t * __a)34840 vld4q_dup_bf16 (const bfloat16_t * __a)
34841 {
34842   bfloat16x8x4_t ret;
34843   __builtin_aarch64_simd_xi __o;
34844   __o = __builtin_aarch64_ld4rv8bf ((const __builtin_aarch64_simd_bf *) __a);
34845   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 0);
34846   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 1);
34847   ret.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 2);
34848   ret.val[3] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 3);
34849   return ret;
34850 }
34851 
34852 /* vst */
34853 
34854 __extension__ extern __inline void
34855 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_bf16(bfloat16_t * __a,bfloat16x4_t __b)34856 vst1_bf16 (bfloat16_t *__a, bfloat16x4_t __b)
34857 {
34858   __builtin_aarch64_st1v4bf (__a, __b);
34859 }
34860 
34861 __extension__ extern __inline void
34862 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_bf16_x2(bfloat16_t * __a,bfloat16x4x2_t __val)34863 vst1_bf16_x2 (bfloat16_t * __a, bfloat16x4x2_t __val)
34864 {
34865   __builtin_aarch64_simd_oi __o;
34866   bfloat16x8x2_t __temp;
34867   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34868   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34869   __o = __builtin_aarch64_set_qregoiv8bf (__o, __temp.val[0], 0);
34870   __o = __builtin_aarch64_set_qregoiv8bf (__o, __temp.val[1], 1);
34871   __builtin_aarch64_st1x2v4bf (__a, __o);
34872 }
34873 
34874 __extension__ extern __inline void
34875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_bf16_x2(bfloat16_t * __a,bfloat16x8x2_t __val)34876 vst1q_bf16_x2 (bfloat16_t * __a, bfloat16x8x2_t __val)
34877 {
34878   __builtin_aarch64_simd_oi __o;
34879   __o = __builtin_aarch64_set_qregoiv8bf (__o, __val.val[0], 0);
34880   __o = __builtin_aarch64_set_qregoiv8bf (__o, __val.val[1], 1);
34881   __builtin_aarch64_st1x2v8bf (__a, __o);
34882 }
34883 
34884 __extension__ extern __inline void
34885 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_bf16_x3(bfloat16_t * __a,bfloat16x4x3_t __val)34886 vst1_bf16_x3 (bfloat16_t * __a, bfloat16x4x3_t __val)
34887 {
34888   __builtin_aarch64_simd_ci __o;
34889   bfloat16x8x3_t __temp;
34890   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34891   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34892   __temp.val[2] = vcombine_bf16 (__val.val[2], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34893   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[0], 0);
34894   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[1], 1);
34895   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[2], 2);
34896   __builtin_aarch64_st1x3v4bf ((__builtin_aarch64_simd_bf *) __a, __o);
34897 }
34898 
34899 __extension__ extern __inline void
34900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_bf16_x3(bfloat16_t * __a,bfloat16x8x3_t __val)34901 vst1q_bf16_x3 (bfloat16_t * __a, bfloat16x8x3_t __val)
34902 {
34903   __builtin_aarch64_simd_ci __o;
34904   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[0], 0);
34905   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[1], 1);
34906   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[2], 2);
34907   __builtin_aarch64_st1x3v8bf ((__builtin_aarch64_simd_bf *) __a, __o);
34908 }
34909 
34910 __extension__ extern __inline void
34911 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_bf16_x4(bfloat16_t * __a,bfloat16x4x4_t val)34912 vst1_bf16_x4 (bfloat16_t * __a, bfloat16x4x4_t val)
34913 {
34914   union { bfloat16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
34915   __builtin_aarch64_st1x4v4bf ((__builtin_aarch64_simd_bf *) __a, __u.__o);
34916 }
34917 
34918 __extension__ extern __inline void
34919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_bf16_x4(bfloat16_t * __a,bfloat16x8x4_t val)34920 vst1q_bf16_x4 (bfloat16_t * __a, bfloat16x8x4_t val)
34921 {
34922   union { bfloat16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
34923   __builtin_aarch64_st1x4v8bf ((__builtin_aarch64_simd_bf *) __a, __u.__o);
34924 }
34925 
34926 __extension__ extern __inline void
34927 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_bf16(bfloat16_t * __a,bfloat16x8_t __b)34928 vst1q_bf16 (bfloat16_t *__a, bfloat16x8_t __b)
34929 {
34930   __builtin_aarch64_st1v8bf (__a, __b);
34931 }
34932 
34933 __extension__ extern __inline void
34934 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_bf16(bfloat16_t * __a,bfloat16x4_t __b,const int __lane)34935 vst1_lane_bf16 (bfloat16_t *__a, bfloat16x4_t __b, const int __lane)
34936 {
34937   *__a = __aarch64_vget_lane_any (__b, __lane);
34938 }
34939 
34940 __extension__ extern __inline void
34941 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_bf16(bfloat16_t * __a,bfloat16x8_t __b,const int __lane)34942 vst1q_lane_bf16 (bfloat16_t *__a, bfloat16x8_t __b, const int __lane)
34943 {
34944   *__a = __aarch64_vget_lane_any (__b, __lane);
34945 }
34946 
34947 __extension__ extern __inline void
34948 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_bf16(bfloat16_t * __a,bfloat16x4x2_t __val)34949 vst2_bf16 (bfloat16_t * __a, bfloat16x4x2_t __val)
34950 {
34951   __builtin_aarch64_simd_oi __o;
34952   bfloat16x8x2_t __temp;
34953   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34954   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34955   __o = __builtin_aarch64_set_qregoiv8bf (__o, __temp.val[0], 0);
34956   __o = __builtin_aarch64_set_qregoiv8bf (__o, __temp.val[1], 1);
34957   __builtin_aarch64_st2v4bf (__a, __o);
34958 }
34959 
34960 __extension__ extern __inline void
34961 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_bf16(bfloat16_t * __a,bfloat16x8x2_t __val)34962 vst2q_bf16 (bfloat16_t * __a, bfloat16x8x2_t __val)
34963 {
34964   __builtin_aarch64_simd_oi __o;
34965   __o = __builtin_aarch64_set_qregoiv8bf (__o, __val.val[0], 0);
34966   __o = __builtin_aarch64_set_qregoiv8bf (__o, __val.val[1], 1);
34967   __builtin_aarch64_st2v8bf (__a, __o);
34968 }
34969 
34970 __extension__ extern __inline void
34971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_bf16(bfloat16_t * __a,bfloat16x4x3_t __val)34972 vst3_bf16 (bfloat16_t * __a, bfloat16x4x3_t __val)
34973 {
34974   __builtin_aarch64_simd_ci __o;
34975   bfloat16x8x3_t __temp;
34976   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34977   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34978   __temp.val[2] = vcombine_bf16 (__val.val[2], vcreate_bf16 (__AARCH64_UINT64_C (0)));
34979   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[0], 0);
34980   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[1], 1);
34981   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[2], 2);
34982   __builtin_aarch64_st3v4bf ((__builtin_aarch64_simd_bf *) __a, __o);
34983 }
34984 
34985 __extension__ extern __inline void
34986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_bf16(bfloat16_t * __a,bfloat16x8x3_t __val)34987 vst3q_bf16 (bfloat16_t * __a, bfloat16x8x3_t __val)
34988 {
34989   __builtin_aarch64_simd_ci __o;
34990   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[0], 0);
34991   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[1], 1);
34992   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[2], 2);
34993   __builtin_aarch64_st3v8bf ((__builtin_aarch64_simd_bf *) __a, __o);
34994 }
34995 
34996 __extension__ extern __inline void
34997 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_bf16(bfloat16_t * __a,bfloat16x4x4_t __val)34998 vst4_bf16 (bfloat16_t * __a, bfloat16x4x4_t __val)
34999 {
35000   __builtin_aarch64_simd_xi __o;
35001   bfloat16x8x4_t __temp;
35002   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35003   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35004   __temp.val[2] = vcombine_bf16 (__val.val[2], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35005   __temp.val[3] = vcombine_bf16 (__val.val[3], vcreate_bf16 (__AARCH64_UINT64_C (0)));
35006   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[0], 0);
35007   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[1], 1);
35008   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[2], 2);
35009   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[3], 3);
35010   __builtin_aarch64_st4v4bf ((__builtin_aarch64_simd_bf *) __a, __o);
35011 }
35012 
35013 __extension__ extern __inline void
35014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_bf16(bfloat16_t * __a,bfloat16x8x4_t __val)35015 vst4q_bf16 (bfloat16_t * __a, bfloat16x8x4_t __val)
35016 {
35017   __builtin_aarch64_simd_xi __o;
35018   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __val.val[0], 0);
35019   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __val.val[1], 1);
35020   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __val.val[2], 2);
35021   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __val.val[3], 3);
35022   __builtin_aarch64_st4v8bf ((__builtin_aarch64_simd_bf *) __a, __o);
35023 }
35024 
35025 /* vreinterpret */
35026 
35027 __extension__ extern __inline bfloat16x4_t
35028 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u8(uint8x8_t __a)35029 vreinterpret_bf16_u8 (uint8x8_t __a)
35030 {
35031   return (bfloat16x4_t)__a;
35032 }
35033 
35034 __extension__ extern __inline bfloat16x4_t
35035 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u16(uint16x4_t __a)35036 vreinterpret_bf16_u16 (uint16x4_t __a)
35037 {
35038   return (bfloat16x4_t)__a;
35039 }
35040 
35041 __extension__ extern __inline bfloat16x4_t
35042 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u32(uint32x2_t __a)35043 vreinterpret_bf16_u32 (uint32x2_t __a)
35044 {
35045   return (bfloat16x4_t)__a;
35046 }
35047 
35048 __extension__ extern __inline bfloat16x4_t
35049 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u64(uint64x1_t __a)35050 vreinterpret_bf16_u64 (uint64x1_t __a)
35051 {
35052   return (bfloat16x4_t)__a;
35053 }
35054 
35055 __extension__ extern __inline bfloat16x4_t
35056 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s8(int8x8_t __a)35057 vreinterpret_bf16_s8 (int8x8_t __a)
35058 {
35059   return (bfloat16x4_t)__a;
35060 }
35061 
35062 __extension__ extern __inline bfloat16x4_t
35063 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s16(int16x4_t __a)35064 vreinterpret_bf16_s16 (int16x4_t __a)
35065 {
35066   return (bfloat16x4_t)__a;
35067 }
35068 
35069 __extension__ extern __inline bfloat16x4_t
35070 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s32(int32x2_t __a)35071 vreinterpret_bf16_s32 (int32x2_t __a)
35072 {
35073   return (bfloat16x4_t)__a;
35074 }
35075 
35076 __extension__ extern __inline bfloat16x4_t
35077 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s64(int64x1_t __a)35078 vreinterpret_bf16_s64 (int64x1_t __a)
35079 {
35080   return (bfloat16x4_t)__a;
35081 }
35082 
35083 __extension__ extern __inline bfloat16x4_t
35084 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_p8(poly8x8_t __a)35085 vreinterpret_bf16_p8 (poly8x8_t __a)
35086 {
35087   return (bfloat16x4_t)__a;
35088 }
35089 
35090 __extension__ extern __inline bfloat16x4_t
35091 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_p16(poly16x4_t __a)35092 vreinterpret_bf16_p16 (poly16x4_t __a)
35093 {
35094   return (bfloat16x4_t)__a;
35095 }
35096 
35097 __extension__ extern __inline bfloat16x4_t
35098 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_p64(poly64x1_t __a)35099 vreinterpret_bf16_p64 (poly64x1_t __a)
35100 {
35101   return (bfloat16x4_t)__a;
35102 }
35103 
35104 __extension__ extern __inline bfloat16x4_t
35105 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_f16(float16x4_t __a)35106 vreinterpret_bf16_f16 (float16x4_t __a)
35107 {
35108   return (bfloat16x4_t)__a;
35109 }
35110 
35111 __extension__ extern __inline bfloat16x4_t
35112 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_f32(float32x2_t __a)35113 vreinterpret_bf16_f32 (float32x2_t __a)
35114 {
35115   return (bfloat16x4_t)__a;
35116 }
35117 
35118 __extension__ extern __inline bfloat16x4_t
35119 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_f64(float64x1_t __a)35120 vreinterpret_bf16_f64 (float64x1_t __a)
35121 {
35122   return (bfloat16x4_t)__a;
35123 }
35124 
35125 __extension__ extern __inline bfloat16x8_t
35126 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u8(uint8x16_t __a)35127 vreinterpretq_bf16_u8 (uint8x16_t __a)
35128 {
35129   return (bfloat16x8_t)__a;
35130 }
35131 
35132 __extension__ extern __inline bfloat16x8_t
35133 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u16(uint16x8_t __a)35134 vreinterpretq_bf16_u16 (uint16x8_t __a)
35135 {
35136   return (bfloat16x8_t)__a;
35137 }
35138 
35139 __extension__ extern __inline bfloat16x8_t
35140 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u32(uint32x4_t __a)35141 vreinterpretq_bf16_u32 (uint32x4_t __a)
35142 {
35143   return (bfloat16x8_t)__a;
35144 }
35145 
35146 __extension__ extern __inline bfloat16x8_t
35147 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u64(uint64x2_t __a)35148 vreinterpretq_bf16_u64 (uint64x2_t __a)
35149 {
35150   return (bfloat16x8_t)__a;
35151 }
35152 
35153 __extension__ extern __inline bfloat16x8_t
35154 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s8(int8x16_t __a)35155 vreinterpretq_bf16_s8 (int8x16_t __a)
35156 {
35157   return (bfloat16x8_t)__a;
35158 }
35159 
35160 __extension__ extern __inline bfloat16x8_t
35161 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s16(int16x8_t __a)35162 vreinterpretq_bf16_s16 (int16x8_t __a)
35163 {
35164   return (bfloat16x8_t)__a;
35165 }
35166 
35167 __extension__ extern __inline bfloat16x8_t
35168 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s32(int32x4_t __a)35169 vreinterpretq_bf16_s32 (int32x4_t __a)
35170 {
35171   return (bfloat16x8_t)__a;
35172 }
35173 
35174 __extension__ extern __inline bfloat16x8_t
35175 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s64(int64x2_t __a)35176 vreinterpretq_bf16_s64 (int64x2_t __a)
35177 {
35178   return (bfloat16x8_t)__a;
35179 }
35180 
35181 __extension__ extern __inline bfloat16x8_t
35182 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p8(poly8x16_t __a)35183 vreinterpretq_bf16_p8 (poly8x16_t __a)
35184 {
35185   return (bfloat16x8_t)__a;
35186 }
35187 
35188 __extension__ extern __inline bfloat16x8_t
35189 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p16(poly16x8_t __a)35190 vreinterpretq_bf16_p16 (poly16x8_t __a)
35191 {
35192   return (bfloat16x8_t)__a;
35193 }
35194 
35195 __extension__ extern __inline bfloat16x8_t
35196 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p64(poly64x2_t __a)35197 vreinterpretq_bf16_p64 (poly64x2_t __a)
35198 {
35199   return (bfloat16x8_t)__a;
35200 }
35201 
35202 __extension__ extern __inline bfloat16x8_t
35203 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p128(poly128_t __a)35204 vreinterpretq_bf16_p128 (poly128_t __a)
35205 {
35206   return (bfloat16x8_t)__a;
35207 }
35208 
35209 __extension__ extern __inline bfloat16x8_t
35210 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_f16(float16x8_t __a)35211 vreinterpretq_bf16_f16 (float16x8_t __a)
35212 {
35213   return (bfloat16x8_t)__a;
35214 }
35215 
35216 __extension__ extern __inline bfloat16x8_t
35217 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_f32(float32x4_t __a)35218 vreinterpretq_bf16_f32 (float32x4_t __a)
35219 {
35220   return (bfloat16x8_t)__a;
35221 }
35222 
35223 __extension__ extern __inline bfloat16x8_t
35224 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_f64(float64x2_t __a)35225 vreinterpretq_bf16_f64 (float64x2_t __a)
35226 {
35227   return (bfloat16x8_t)__a;
35228 }
35229 
35230 __extension__ extern __inline int8x8_t
35231 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_bf16(bfloat16x4_t __a)35232 vreinterpret_s8_bf16 (bfloat16x4_t __a)
35233 {
35234   return (int8x8_t)__a;
35235 }
35236 
35237 __extension__ extern __inline int16x4_t
35238 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_bf16(bfloat16x4_t __a)35239 vreinterpret_s16_bf16 (bfloat16x4_t __a)
35240 {
35241   return (int16x4_t)__a;
35242 }
35243 
35244 __extension__ extern __inline int32x2_t
35245 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_bf16(bfloat16x4_t __a)35246 vreinterpret_s32_bf16 (bfloat16x4_t __a)
35247 {
35248   return (int32x2_t)__a;
35249 }
35250 
35251 __extension__ extern __inline int64x1_t
35252 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_bf16(bfloat16x4_t __a)35253 vreinterpret_s64_bf16 (bfloat16x4_t __a)
35254 {
35255   return (int64x1_t)__a;
35256 }
35257 
35258 __extension__ extern __inline uint8x8_t
35259 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_bf16(bfloat16x4_t __a)35260 vreinterpret_u8_bf16 (bfloat16x4_t __a)
35261 {
35262   return (uint8x8_t)__a;
35263 }
35264 
35265 __extension__ extern __inline uint16x4_t
35266 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_bf16(bfloat16x4_t __a)35267 vreinterpret_u16_bf16 (bfloat16x4_t __a)
35268 {
35269   return (uint16x4_t)__a;
35270 }
35271 
35272 __extension__ extern __inline uint32x2_t
35273 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_bf16(bfloat16x4_t __a)35274 vreinterpret_u32_bf16 (bfloat16x4_t __a)
35275 {
35276   return (uint32x2_t)__a;
35277 }
35278 
35279 __extension__ extern __inline uint64x1_t
35280 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_bf16(bfloat16x4_t __a)35281 vreinterpret_u64_bf16 (bfloat16x4_t __a)
35282 {
35283   return (uint64x1_t)__a;
35284 }
35285 
35286 __extension__ extern __inline float16x4_t
35287 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_bf16(bfloat16x4_t __a)35288 vreinterpret_f16_bf16 (bfloat16x4_t __a)
35289 {
35290   return (float16x4_t)__a;
35291 }
35292 
35293 __extension__ extern __inline float32x2_t
35294 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_bf16(bfloat16x4_t __a)35295 vreinterpret_f32_bf16 (bfloat16x4_t __a)
35296 {
35297   return (float32x2_t)__a;
35298 }
35299 
35300 __extension__ extern __inline float64x1_t
35301 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_bf16(bfloat16x4_t __a)35302 vreinterpret_f64_bf16 (bfloat16x4_t __a)
35303 {
35304   return (float64x1_t)__a;
35305 }
35306 
35307 __extension__ extern __inline poly8x8_t
35308 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_bf16(bfloat16x4_t __a)35309 vreinterpret_p8_bf16 (bfloat16x4_t __a)
35310 {
35311   return (poly8x8_t)__a;
35312 }
35313 
35314 __extension__ extern __inline poly16x4_t
35315 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_bf16(bfloat16x4_t __a)35316 vreinterpret_p16_bf16 (bfloat16x4_t __a)
35317 {
35318   return (poly16x4_t)__a;
35319 }
35320 
35321 __extension__ extern __inline poly64x1_t
35322 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_bf16(bfloat16x4_t __a)35323 vreinterpret_p64_bf16 (bfloat16x4_t __a)
35324 {
35325   return (poly64x1_t)__a;
35326 }
35327 
35328 __extension__ extern __inline int8x16_t
35329 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_bf16(bfloat16x8_t __a)35330 vreinterpretq_s8_bf16 (bfloat16x8_t __a)
35331 {
35332   return (int8x16_t)__a;
35333 }
35334 
35335 __extension__ extern __inline int16x8_t
35336 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_bf16(bfloat16x8_t __a)35337 vreinterpretq_s16_bf16 (bfloat16x8_t __a)
35338 {
35339   return (int16x8_t)__a;
35340 }
35341 
35342 __extension__ extern __inline int32x4_t
35343 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_bf16(bfloat16x8_t __a)35344 vreinterpretq_s32_bf16 (bfloat16x8_t __a)
35345 {
35346   return (int32x4_t)__a;
35347 }
35348 
35349 __extension__ extern __inline int64x2_t
35350 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_bf16(bfloat16x8_t __a)35351 vreinterpretq_s64_bf16 (bfloat16x8_t __a)
35352 {
35353   return (int64x2_t)__a;
35354 }
35355 
35356 __extension__ extern __inline uint8x16_t
35357 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_bf16(bfloat16x8_t __a)35358 vreinterpretq_u8_bf16 (bfloat16x8_t __a)
35359 {
35360   return (uint8x16_t)__a;
35361 }
35362 
35363 __extension__ extern __inline uint16x8_t
35364 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_bf16(bfloat16x8_t __a)35365 vreinterpretq_u16_bf16 (bfloat16x8_t __a)
35366 {
35367   return (uint16x8_t)__a;
35368 }
35369 
35370 __extension__ extern __inline uint32x4_t
35371 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_bf16(bfloat16x8_t __a)35372 vreinterpretq_u32_bf16 (bfloat16x8_t __a)
35373 {
35374   return (uint32x4_t)__a;
35375 }
35376 
35377 __extension__ extern __inline uint64x2_t
35378 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_bf16(bfloat16x8_t __a)35379 vreinterpretq_u64_bf16 (bfloat16x8_t __a)
35380 {
35381   return (uint64x2_t)__a;
35382 }
35383 
35384 __extension__ extern __inline float16x8_t
35385 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_bf16(bfloat16x8_t __a)35386 vreinterpretq_f16_bf16 (bfloat16x8_t __a)
35387 {
35388   return (float16x8_t)__a;
35389 }
35390 
35391 __extension__ extern __inline float32x4_t
35392 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_bf16(bfloat16x8_t __a)35393 vreinterpretq_f32_bf16 (bfloat16x8_t __a)
35394 {
35395   return (float32x4_t)__a;
35396 }
35397 
35398 __extension__ extern __inline float64x2_t
35399 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_bf16(bfloat16x8_t __a)35400 vreinterpretq_f64_bf16 (bfloat16x8_t __a)
35401 {
35402   return (float64x2_t)__a;
35403 }
35404 
35405 __extension__ extern __inline poly8x16_t
35406 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_bf16(bfloat16x8_t __a)35407 vreinterpretq_p8_bf16 (bfloat16x8_t __a)
35408 {
35409   return (poly8x16_t)__a;
35410 }
35411 
35412 __extension__ extern __inline poly16x8_t
35413 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_bf16(bfloat16x8_t __a)35414 vreinterpretq_p16_bf16 (bfloat16x8_t __a)
35415 {
35416   return (poly16x8_t)__a;
35417 }
35418 
35419 __extension__ extern __inline poly64x2_t
35420 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_bf16(bfloat16x8_t __a)35421 vreinterpretq_p64_bf16 (bfloat16x8_t __a)
35422 {
35423   return (poly64x2_t)__a;
35424 }
35425 
35426 __extension__ extern __inline poly128_t
35427 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_bf16(bfloat16x8_t __a)35428 vreinterpretq_p128_bf16 (bfloat16x8_t __a)
35429 {
35430   return (poly128_t)__a;
35431 }
35432 
35433 __extension__ extern __inline float32x2_t
35434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdot_f32(float32x2_t __r,bfloat16x4_t __a,bfloat16x4_t __b)35435 vbfdot_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x4_t __b)
35436 {
35437   return __builtin_aarch64_bfdotv2sf (__r, __a, __b);
35438 }
35439 
35440 __extension__ extern __inline float32x4_t
35441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdotq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)35442 vbfdotq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
35443 {
35444   return __builtin_aarch64_bfdotv4sf (__r, __a, __b);
35445 }
35446 
35447 __extension__ extern __inline float32x2_t
35448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdot_lane_f32(float32x2_t __r,bfloat16x4_t __a,bfloat16x4_t __b,const int __index)35449 vbfdot_lane_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x4_t __b,
35450 		 const int __index)
35451 {
35452   return __builtin_aarch64_bfdot_lanev2sf (__r, __a, __b, __index);
35453 }
35454 
35455 __extension__ extern __inline float32x4_t
35456 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdotq_lane_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x4_t __b,const int __index)35457 vbfdotq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
35458 		  const int __index)
35459 {
35460   return __builtin_aarch64_bfdot_lanev4sf (__r, __a, __b, __index);
35461 }
35462 
35463 __extension__ extern __inline float32x2_t
35464 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdot_laneq_f32(float32x2_t __r,bfloat16x4_t __a,bfloat16x8_t __b,const int __index)35465 vbfdot_laneq_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x8_t __b,
35466 		  const int __index)
35467 {
35468   return __builtin_aarch64_bfdot_laneqv2sf (__r, __a, __b, __index);
35469 }
35470 
35471 __extension__ extern __inline float32x4_t
35472 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdotq_laneq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b,const int __index)35473 vbfdotq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
35474 		   const int __index)
35475 {
35476   return __builtin_aarch64_bfdot_laneqv4sf (__r, __a, __b, __index);
35477 }
35478 
35479 __extension__ extern __inline float32x4_t
35480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmmlaq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)35481 vbfmmlaq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
35482 
35483 {
35484   return __builtin_aarch64_bfmmlaqv4sf (__r, __a, __b);
35485 }
35486 
35487 __extension__ extern __inline float32x4_t
35488 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlalbq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)35489 vbfmlalbq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
35490 {
35491   return __builtin_aarch64_bfmlalbv4sf (__r, __a, __b);
35492 }
35493 
35494 __extension__ extern __inline float32x4_t
35495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlaltq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)35496 vbfmlaltq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
35497 {
35498   return __builtin_aarch64_bfmlaltv4sf (__r, __a, __b);
35499 }
35500 
35501 __extension__ extern __inline float32x4_t
35502 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlalbq_lane_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x4_t __b,const int __index)35503 vbfmlalbq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
35504 		    const int __index)
35505 {
35506   return __builtin_aarch64_bfmlalb_lanev4sf (__r, __a, __b, __index);
35507 }
35508 
35509 __extension__ extern __inline float32x4_t
35510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlaltq_lane_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x4_t __b,const int __index)35511 vbfmlaltq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
35512 		    const int __index)
35513 {
35514   return __builtin_aarch64_bfmlalt_lanev4sf (__r, __a, __b, __index);
35515 }
35516 
35517 __extension__ extern __inline float32x4_t
35518 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlalbq_laneq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b,const int __index)35519 vbfmlalbq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
35520 		     const int __index)
35521 {
35522   return __builtin_aarch64_bfmlalb_lane_qv4sf (__r, __a, __b, __index);
35523 }
35524 
35525 __extension__ extern __inline float32x4_t
35526 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlaltq_laneq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b,const int __index)35527 vbfmlaltq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
35528 		     const int __index)
35529 {
35530   return __builtin_aarch64_bfmlalt_lane_qv4sf (__r, __a, __b, __index);
35531 }
35532 
35533 __extension__ extern __inline bfloat16x4_t
35534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_bf16_f32(float32x4_t __a)35535 vcvt_bf16_f32 (float32x4_t __a)
35536 {
35537   return __builtin_aarch64_bfcvtnv4bf (__a);
35538 }
35539 
35540 __extension__ extern __inline bfloat16x8_t
35541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_low_bf16_f32(float32x4_t __a)35542 vcvtq_low_bf16_f32 (float32x4_t __a)
35543 {
35544   return __builtin_aarch64_bfcvtn_qv8bf (__a);
35545 }
35546 
35547 __extension__ extern __inline bfloat16x8_t
35548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_high_bf16_f32(bfloat16x8_t __inactive,float32x4_t __a)35549 vcvtq_high_bf16_f32 (bfloat16x8_t __inactive, float32x4_t __a)
35550 {
35551   return __builtin_aarch64_bfcvtn2v8bf (__inactive, __a);
35552 }
35553 
35554 #pragma GCC pop_options
35555 
35556 /* AdvSIMD 8-bit Integer Matrix Multiply (I8MM) intrinsics.  */
35557 
35558 #pragma GCC push_options
35559 #pragma GCC target ("arch=armv8.2-a+i8mm")
35560 
35561 __extension__ extern __inline int32x2_t
35562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdot_s32(int32x2_t __r,uint8x8_t __a,int8x8_t __b)35563 vusdot_s32 (int32x2_t __r, uint8x8_t __a, int8x8_t __b)
35564 {
35565   return __builtin_aarch64_usdotv8qi_ssus (__r, __a, __b);
35566 }
35567 
35568 __extension__ extern __inline int32x4_t
35569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdotq_s32(int32x4_t __r,uint8x16_t __a,int8x16_t __b)35570 vusdotq_s32 (int32x4_t __r, uint8x16_t __a, int8x16_t __b)
35571 {
35572   return __builtin_aarch64_usdotv16qi_ssus (__r, __a, __b);
35573 }
35574 
35575 __extension__ extern __inline int32x2_t
35576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdot_lane_s32(int32x2_t __r,uint8x8_t __a,int8x8_t __b,const int __index)35577 vusdot_lane_s32 (int32x2_t __r, uint8x8_t __a, int8x8_t __b, const int __index)
35578 {
35579   return __builtin_aarch64_usdot_lanev8qi_ssuss (__r, __a, __b, __index);
35580 }
35581 
35582 __extension__ extern __inline int32x2_t
35583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdot_laneq_s32(int32x2_t __r,uint8x8_t __a,int8x16_t __b,const int __index)35584 vusdot_laneq_s32 (int32x2_t __r, uint8x8_t __a, int8x16_t __b,
35585 		  const int __index)
35586 {
35587   return __builtin_aarch64_usdot_laneqv8qi_ssuss (__r, __a, __b, __index);
35588 }
35589 
35590 __extension__ extern __inline int32x4_t
35591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdotq_lane_s32(int32x4_t __r,uint8x16_t __a,int8x8_t __b,const int __index)35592 vusdotq_lane_s32 (int32x4_t __r, uint8x16_t __a, int8x8_t __b,
35593 		  const int __index)
35594 {
35595   return __builtin_aarch64_usdot_lanev16qi_ssuss (__r, __a, __b, __index);
35596 }
35597 
35598 __extension__ extern __inline int32x4_t
35599 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdotq_laneq_s32(int32x4_t __r,uint8x16_t __a,int8x16_t __b,const int __index)35600 vusdotq_laneq_s32 (int32x4_t __r, uint8x16_t __a, int8x16_t __b,
35601 		   const int __index)
35602 {
35603   return __builtin_aarch64_usdot_laneqv16qi_ssuss (__r, __a, __b, __index);
35604 }
35605 
35606 __extension__ extern __inline int32x2_t
35607 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudot_lane_s32(int32x2_t __r,int8x8_t __a,uint8x8_t __b,const int __index)35608 vsudot_lane_s32 (int32x2_t __r, int8x8_t __a, uint8x8_t __b, const int __index)
35609 {
35610   return __builtin_aarch64_sudot_lanev8qi_sssus (__r, __a, __b, __index);
35611 }
35612 
35613 __extension__ extern __inline int32x2_t
35614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudot_laneq_s32(int32x2_t __r,int8x8_t __a,uint8x16_t __b,const int __index)35615 vsudot_laneq_s32 (int32x2_t __r, int8x8_t __a, uint8x16_t __b,
35616 		  const int __index)
35617 {
35618   return __builtin_aarch64_sudot_laneqv8qi_sssus (__r, __a, __b, __index);
35619 }
35620 
35621 __extension__ extern __inline int32x4_t
35622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudotq_lane_s32(int32x4_t __r,int8x16_t __a,uint8x8_t __b,const int __index)35623 vsudotq_lane_s32 (int32x4_t __r, int8x16_t __a, uint8x8_t __b,
35624 		  const int __index)
35625 {
35626   return __builtin_aarch64_sudot_lanev16qi_sssus (__r, __a, __b, __index);
35627 }
35628 
35629 __extension__ extern __inline int32x4_t
35630 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudotq_laneq_s32(int32x4_t __r,int8x16_t __a,uint8x16_t __b,const int __index)35631 vsudotq_laneq_s32 (int32x4_t __r, int8x16_t __a, uint8x16_t __b,
35632 		   const int __index)
35633 {
35634   return __builtin_aarch64_sudot_laneqv16qi_sssus (__r, __a, __b, __index);
35635 }
35636 
35637 /* Matrix Multiply-Accumulate.  */
35638 
35639 __extension__ extern __inline int32x4_t
35640 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmmlaq_s32(int32x4_t __r,int8x16_t __a,int8x16_t __b)35641 vmmlaq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
35642 {
35643   return __builtin_aarch64_simd_smmlav16qi (__r, __a, __b);
35644 }
35645 
35646 __extension__ extern __inline uint32x4_t
35647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmmlaq_u32(uint32x4_t __r,uint8x16_t __a,uint8x16_t __b)35648 vmmlaq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b)
35649 {
35650   return __builtin_aarch64_simd_ummlav16qi_uuuu (__r, __a, __b);
35651 }
35652 
35653 __extension__ extern __inline int32x4_t
35654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusmmlaq_s32(int32x4_t __r,uint8x16_t __a,int8x16_t __b)35655 vusmmlaq_s32 (int32x4_t __r, uint8x16_t __a, int8x16_t __b)
35656 {
35657   return __builtin_aarch64_simd_usmmlav16qi_ssus (__r, __a, __b);
35658 }
35659 
35660 #pragma GCC pop_options
35661 
35662 #undef __aarch64_vget_lane_any
35663 
35664 #undef __aarch64_vdup_lane_any
35665 #undef __aarch64_vdup_lane_f16
35666 #undef __aarch64_vdup_lane_f32
35667 #undef __aarch64_vdup_lane_f64
35668 #undef __aarch64_vdup_lane_p8
35669 #undef __aarch64_vdup_lane_p16
35670 #undef __aarch64_vdup_lane_s8
35671 #undef __aarch64_vdup_lane_s16
35672 #undef __aarch64_vdup_lane_s32
35673 #undef __aarch64_vdup_lane_s64
35674 #undef __aarch64_vdup_lane_u8
35675 #undef __aarch64_vdup_lane_u16
35676 #undef __aarch64_vdup_lane_u32
35677 #undef __aarch64_vdup_lane_u64
35678 #undef __aarch64_vdup_laneq_f16
35679 #undef __aarch64_vdup_laneq_f32
35680 #undef __aarch64_vdup_laneq_f64
35681 #undef __aarch64_vdup_laneq_p8
35682 #undef __aarch64_vdup_laneq_p16
35683 #undef __aarch64_vdup_laneq_s8
35684 #undef __aarch64_vdup_laneq_s16
35685 #undef __aarch64_vdup_laneq_s32
35686 #undef __aarch64_vdup_laneq_s64
35687 #undef __aarch64_vdup_laneq_u8
35688 #undef __aarch64_vdup_laneq_u16
35689 #undef __aarch64_vdup_laneq_u32
35690 #undef __aarch64_vdup_laneq_u64
35691 #undef __aarch64_vdupq_lane_f16
35692 #undef __aarch64_vdupq_lane_f32
35693 #undef __aarch64_vdupq_lane_f64
35694 #undef __aarch64_vdupq_lane_p8
35695 #undef __aarch64_vdupq_lane_p16
35696 #undef __aarch64_vdupq_lane_s8
35697 #undef __aarch64_vdupq_lane_s16
35698 #undef __aarch64_vdupq_lane_s32
35699 #undef __aarch64_vdupq_lane_s64
35700 #undef __aarch64_vdupq_lane_u8
35701 #undef __aarch64_vdupq_lane_u16
35702 #undef __aarch64_vdupq_lane_u32
35703 #undef __aarch64_vdupq_lane_u64
35704 #undef __aarch64_vdupq_laneq_f16
35705 #undef __aarch64_vdupq_laneq_f32
35706 #undef __aarch64_vdupq_laneq_f64
35707 #undef __aarch64_vdupq_laneq_p8
35708 #undef __aarch64_vdupq_laneq_p16
35709 #undef __aarch64_vdupq_laneq_s8
35710 #undef __aarch64_vdupq_laneq_s16
35711 #undef __aarch64_vdupq_laneq_s32
35712 #undef __aarch64_vdupq_laneq_s64
35713 #undef __aarch64_vdupq_laneq_u8
35714 #undef __aarch64_vdupq_laneq_u16
35715 #undef __aarch64_vdupq_laneq_u32
35716 #undef __aarch64_vdupq_laneq_u64
35717 
35718 #endif
35719