1 /* ARM NEON intrinsics include file.
2 
3    Copyright (C) 2011-2021 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 __extension__ extern __inline float64x2_t
6092 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_p128(poly128_t __a)6093 vreinterpretq_f64_p128 (poly128_t __a)
6094 {
6095   return (float64x2_t) __a;
6096 }
6097 
6098 __extension__ extern __inline poly128_t
6099 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_f64(float64x2_t __a)6100 vreinterpretq_p128_f64 (float64x2_t __a)
6101 {
6102   return (poly128_t) __a;
6103 }
6104 
6105 /* vset_lane  */
6106 
6107 __extension__ extern __inline float16x4_t
6108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_f16(float16_t __elem,float16x4_t __vec,const int __index)6109 vset_lane_f16 (float16_t __elem, float16x4_t __vec, const int __index)
6110 {
6111   return __aarch64_vset_lane_any (__elem, __vec, __index);
6112 }
6113 
6114 __extension__ extern __inline float32x2_t
6115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_f32(float32_t __elem,float32x2_t __vec,const int __index)6116 vset_lane_f32 (float32_t __elem, float32x2_t __vec, const int __index)
6117 {
6118   return __aarch64_vset_lane_any (__elem, __vec, __index);
6119 }
6120 
6121 __extension__ extern __inline float64x1_t
6122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_f64(float64_t __elem,float64x1_t __vec,const int __index)6123 vset_lane_f64 (float64_t __elem, float64x1_t __vec, const int __index)
6124 {
6125   return __aarch64_vset_lane_any (__elem, __vec, __index);
6126 }
6127 
6128 __extension__ extern __inline poly8x8_t
6129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_p8(poly8_t __elem,poly8x8_t __vec,const int __index)6130 vset_lane_p8 (poly8_t __elem, poly8x8_t __vec, const int __index)
6131 {
6132   return __aarch64_vset_lane_any (__elem, __vec, __index);
6133 }
6134 
6135 __extension__ extern __inline poly16x4_t
6136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_p16(poly16_t __elem,poly16x4_t __vec,const int __index)6137 vset_lane_p16 (poly16_t __elem, poly16x4_t __vec, const int __index)
6138 {
6139   return __aarch64_vset_lane_any (__elem, __vec, __index);
6140 }
6141 
6142 __extension__ extern __inline poly64x1_t
6143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_p64(poly64_t __elem,poly64x1_t __vec,const int __index)6144 vset_lane_p64 (poly64_t __elem, poly64x1_t __vec, const int __index)
6145 {
6146   return __aarch64_vset_lane_any (__elem, __vec, __index);
6147 }
6148 
6149 __extension__ extern __inline int8x8_t
6150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s8(int8_t __elem,int8x8_t __vec,const int __index)6151 vset_lane_s8 (int8_t __elem, int8x8_t __vec, const int __index)
6152 {
6153   return __aarch64_vset_lane_any (__elem, __vec, __index);
6154 }
6155 
6156 __extension__ extern __inline int16x4_t
6157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s16(int16_t __elem,int16x4_t __vec,const int __index)6158 vset_lane_s16 (int16_t __elem, int16x4_t __vec, const int __index)
6159 {
6160   return __aarch64_vset_lane_any (__elem, __vec, __index);
6161 }
6162 
6163 __extension__ extern __inline int32x2_t
6164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s32(int32_t __elem,int32x2_t __vec,const int __index)6165 vset_lane_s32 (int32_t __elem, int32x2_t __vec, const int __index)
6166 {
6167   return __aarch64_vset_lane_any (__elem, __vec, __index);
6168 }
6169 
6170 __extension__ extern __inline int64x1_t
6171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_s64(int64_t __elem,int64x1_t __vec,const int __index)6172 vset_lane_s64 (int64_t __elem, int64x1_t __vec, const int __index)
6173 {
6174   return __aarch64_vset_lane_any (__elem, __vec, __index);
6175 }
6176 
6177 __extension__ extern __inline uint8x8_t
6178 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u8(uint8_t __elem,uint8x8_t __vec,const int __index)6179 vset_lane_u8 (uint8_t __elem, uint8x8_t __vec, const int __index)
6180 {
6181   return __aarch64_vset_lane_any (__elem, __vec, __index);
6182 }
6183 
6184 __extension__ extern __inline uint16x4_t
6185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u16(uint16_t __elem,uint16x4_t __vec,const int __index)6186 vset_lane_u16 (uint16_t __elem, uint16x4_t __vec, const int __index)
6187 {
6188   return __aarch64_vset_lane_any (__elem, __vec, __index);
6189 }
6190 
6191 __extension__ extern __inline uint32x2_t
6192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u32(uint32_t __elem,uint32x2_t __vec,const int __index)6193 vset_lane_u32 (uint32_t __elem, uint32x2_t __vec, const int __index)
6194 {
6195   return __aarch64_vset_lane_any (__elem, __vec, __index);
6196 }
6197 
6198 __extension__ extern __inline uint64x1_t
6199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_u64(uint64_t __elem,uint64x1_t __vec,const int __index)6200 vset_lane_u64 (uint64_t __elem, uint64x1_t __vec, const int __index)
6201 {
6202   return __aarch64_vset_lane_any (__elem, __vec, __index);
6203 }
6204 
6205 /* vsetq_lane  */
6206 
6207 __extension__ extern __inline float16x8_t
6208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_f16(float16_t __elem,float16x8_t __vec,const int __index)6209 vsetq_lane_f16 (float16_t __elem, float16x8_t __vec, const int __index)
6210 {
6211   return __aarch64_vset_lane_any (__elem, __vec, __index);
6212 }
6213 
6214 __extension__ extern __inline float32x4_t
6215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_f32(float32_t __elem,float32x4_t __vec,const int __index)6216 vsetq_lane_f32 (float32_t __elem, float32x4_t __vec, const int __index)
6217 {
6218   return __aarch64_vset_lane_any (__elem, __vec, __index);
6219 }
6220 
6221 __extension__ extern __inline float64x2_t
6222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_f64(float64_t __elem,float64x2_t __vec,const int __index)6223 vsetq_lane_f64 (float64_t __elem, float64x2_t __vec, const int __index)
6224 {
6225   return __aarch64_vset_lane_any (__elem, __vec, __index);
6226 }
6227 
6228 __extension__ extern __inline poly8x16_t
6229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_p8(poly8_t __elem,poly8x16_t __vec,const int __index)6230 vsetq_lane_p8 (poly8_t __elem, poly8x16_t __vec, const int __index)
6231 {
6232   return __aarch64_vset_lane_any (__elem, __vec, __index);
6233 }
6234 
6235 __extension__ extern __inline poly16x8_t
6236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_p16(poly16_t __elem,poly16x8_t __vec,const int __index)6237 vsetq_lane_p16 (poly16_t __elem, poly16x8_t __vec, const int __index)
6238 {
6239   return __aarch64_vset_lane_any (__elem, __vec, __index);
6240 }
6241 
6242 __extension__ extern __inline poly64x2_t
6243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_p64(poly64_t __elem,poly64x2_t __vec,const int __index)6244 vsetq_lane_p64 (poly64_t __elem, poly64x2_t __vec, const int __index)
6245 {
6246   return __aarch64_vset_lane_any (__elem, __vec, __index);
6247 }
6248 
6249 __extension__ extern __inline int8x16_t
6250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s8(int8_t __elem,int8x16_t __vec,const int __index)6251 vsetq_lane_s8 (int8_t __elem, int8x16_t __vec, const int __index)
6252 {
6253   return __aarch64_vset_lane_any (__elem, __vec, __index);
6254 }
6255 
6256 __extension__ extern __inline int16x8_t
6257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s16(int16_t __elem,int16x8_t __vec,const int __index)6258 vsetq_lane_s16 (int16_t __elem, int16x8_t __vec, const int __index)
6259 {
6260   return __aarch64_vset_lane_any (__elem, __vec, __index);
6261 }
6262 
6263 __extension__ extern __inline int32x4_t
6264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s32(int32_t __elem,int32x4_t __vec,const int __index)6265 vsetq_lane_s32 (int32_t __elem, int32x4_t __vec, const int __index)
6266 {
6267   return __aarch64_vset_lane_any (__elem, __vec, __index);
6268 }
6269 
6270 __extension__ extern __inline int64x2_t
6271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_s64(int64_t __elem,int64x2_t __vec,const int __index)6272 vsetq_lane_s64 (int64_t __elem, int64x2_t __vec, const int __index)
6273 {
6274   return __aarch64_vset_lane_any (__elem, __vec, __index);
6275 }
6276 
6277 __extension__ extern __inline uint8x16_t
6278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u8(uint8_t __elem,uint8x16_t __vec,const int __index)6279 vsetq_lane_u8 (uint8_t __elem, uint8x16_t __vec, const int __index)
6280 {
6281   return __aarch64_vset_lane_any (__elem, __vec, __index);
6282 }
6283 
6284 __extension__ extern __inline uint16x8_t
6285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u16(uint16_t __elem,uint16x8_t __vec,const int __index)6286 vsetq_lane_u16 (uint16_t __elem, uint16x8_t __vec, const int __index)
6287 {
6288   return __aarch64_vset_lane_any (__elem, __vec, __index);
6289 }
6290 
6291 __extension__ extern __inline uint32x4_t
6292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u32(uint32_t __elem,uint32x4_t __vec,const int __index)6293 vsetq_lane_u32 (uint32_t __elem, uint32x4_t __vec, const int __index)
6294 {
6295   return __aarch64_vset_lane_any (__elem, __vec, __index);
6296 }
6297 
6298 __extension__ extern __inline uint64x2_t
6299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_u64(uint64_t __elem,uint64x2_t __vec,const int __index)6300 vsetq_lane_u64 (uint64_t __elem, uint64x2_t __vec, const int __index)
6301 {
6302   return __aarch64_vset_lane_any (__elem, __vec, __index);
6303 }
6304 
6305 __extension__ extern __inline float16x4_t
6306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_f16(float16x8_t __a)6307 vget_low_f16 (float16x8_t __a)
6308 {
6309   return __builtin_aarch64_get_lowv8hf (__a);
6310 }
6311 
6312 __extension__ extern __inline float32x2_t
6313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_f32(float32x4_t __a)6314 vget_low_f32 (float32x4_t __a)
6315 {
6316   return __builtin_aarch64_get_lowv4sf (__a);
6317 }
6318 
6319 __extension__ extern __inline float64x1_t
6320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_f64(float64x2_t __a)6321 vget_low_f64 (float64x2_t __a)
6322 {
6323   return (float64x1_t) {__builtin_aarch64_get_lowv2df (__a)};
6324 }
6325 
6326 __extension__ extern __inline poly8x8_t
6327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p8(poly8x16_t __a)6328 vget_low_p8 (poly8x16_t __a)
6329 {
6330   return (poly8x8_t) __builtin_aarch64_get_lowv16qi ((int8x16_t) __a);
6331 }
6332 
6333 __extension__ extern __inline poly16x4_t
6334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p16(poly16x8_t __a)6335 vget_low_p16 (poly16x8_t __a)
6336 {
6337   return (poly16x4_t) __builtin_aarch64_get_lowv8hi ((int16x8_t) __a);
6338 }
6339 
6340 __extension__ extern __inline poly64x1_t
6341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_p64(poly64x2_t __a)6342 vget_low_p64 (poly64x2_t __a)
6343 {
6344   return (poly64x1_t) __builtin_aarch64_get_lowv2di ((int64x2_t) __a);
6345 }
6346 
6347 __extension__ extern __inline int8x8_t
6348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s8(int8x16_t __a)6349 vget_low_s8 (int8x16_t __a)
6350 {
6351   return  __builtin_aarch64_get_lowv16qi (__a);
6352 }
6353 
6354 __extension__ extern __inline int16x4_t
6355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s16(int16x8_t __a)6356 vget_low_s16 (int16x8_t __a)
6357 {
6358   return  __builtin_aarch64_get_lowv8hi (__a);
6359 }
6360 
6361 __extension__ extern __inline int32x2_t
6362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s32(int32x4_t __a)6363 vget_low_s32 (int32x4_t __a)
6364 {
6365   return  __builtin_aarch64_get_lowv4si (__a);
6366 }
6367 
6368 __extension__ extern __inline int64x1_t
6369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_s64(int64x2_t __a)6370 vget_low_s64 (int64x2_t __a)
6371 {
6372   return  (int64x1_t) {__builtin_aarch64_get_lowv2di (__a)};
6373 }
6374 
6375 __extension__ extern __inline uint8x8_t
6376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u8(uint8x16_t __a)6377 vget_low_u8 (uint8x16_t __a)
6378 {
6379   return (uint8x8_t) __builtin_aarch64_get_lowv16qi ((int8x16_t) __a);
6380 }
6381 
6382 __extension__ extern __inline uint16x4_t
6383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u16(uint16x8_t __a)6384 vget_low_u16 (uint16x8_t __a)
6385 {
6386   return (uint16x4_t) __builtin_aarch64_get_lowv8hi ((int16x8_t) __a);
6387 }
6388 
6389 __extension__ extern __inline uint32x2_t
6390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u32(uint32x4_t __a)6391 vget_low_u32 (uint32x4_t __a)
6392 {
6393   return (uint32x2_t) __builtin_aarch64_get_lowv4si ((int32x4_t) __a);
6394 }
6395 
6396 __extension__ extern __inline uint64x1_t
6397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_u64(uint64x2_t __a)6398 vget_low_u64 (uint64x2_t __a)
6399 {
6400   return (uint64x1_t) {__builtin_aarch64_get_lowv2di ((int64x2_t) __a)};
6401 }
6402 
6403 __extension__ extern __inline float16x4_t
6404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_f16(float16x8_t __a)6405 vget_high_f16 (float16x8_t __a)
6406 {
6407   return __builtin_aarch64_get_highv8hf (__a);
6408 }
6409 
6410 __extension__ extern __inline float32x2_t
6411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_f32(float32x4_t __a)6412 vget_high_f32 (float32x4_t __a)
6413 {
6414   return __builtin_aarch64_get_highv4sf (__a);
6415 }
6416 
6417 __extension__ extern __inline float64x1_t
6418 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_f64(float64x2_t __a)6419 vget_high_f64 (float64x2_t __a)
6420 {
6421   return (float64x1_t) {__builtin_aarch64_get_highv2df (__a)};
6422 }
6423 
6424 __extension__ extern __inline poly8x8_t
6425 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p8(poly8x16_t __a)6426 vget_high_p8 (poly8x16_t __a)
6427 {
6428   return (poly8x8_t) __builtin_aarch64_get_highv16qi ((int8x16_t) __a);
6429 }
6430 
6431 __extension__ extern __inline poly16x4_t
6432 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p16(poly16x8_t __a)6433 vget_high_p16 (poly16x8_t __a)
6434 {
6435   return (poly16x4_t) __builtin_aarch64_get_highv8hi ((int16x8_t) __a);
6436 }
6437 
6438 __extension__ extern __inline poly64x1_t
6439 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_p64(poly64x2_t __a)6440 vget_high_p64 (poly64x2_t __a)
6441 {
6442   return (poly64x1_t) __builtin_aarch64_get_highv2di ((int64x2_t) __a);
6443 }
6444 
6445 __extension__ extern __inline int8x8_t
6446 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s8(int8x16_t __a)6447 vget_high_s8 (int8x16_t __a)
6448 {
6449   return  __builtin_aarch64_get_highv16qi (__a);
6450 }
6451 
6452 __extension__ extern __inline int16x4_t
6453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s16(int16x8_t __a)6454 vget_high_s16 (int16x8_t __a)
6455 {
6456   return  __builtin_aarch64_get_highv8hi (__a);
6457 }
6458 
6459 __extension__ extern __inline int32x2_t
6460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s32(int32x4_t __a)6461 vget_high_s32 (int32x4_t __a)
6462 {
6463   return  __builtin_aarch64_get_highv4si (__a);
6464 }
6465 
6466 __extension__ extern __inline int64x1_t
6467 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_s64(int64x2_t __a)6468 vget_high_s64 (int64x2_t __a)
6469 {
6470   return  (int64x1_t) {__builtin_aarch64_get_highv2di (__a)};
6471 }
6472 
6473 __extension__ extern __inline uint8x8_t
6474 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u8(uint8x16_t __a)6475 vget_high_u8 (uint8x16_t __a)
6476 {
6477   return (uint8x8_t) __builtin_aarch64_get_highv16qi ((int8x16_t) __a);
6478 }
6479 
6480 __extension__ extern __inline uint16x4_t
6481 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u16(uint16x8_t __a)6482 vget_high_u16 (uint16x8_t __a)
6483 {
6484   return (uint16x4_t) __builtin_aarch64_get_highv8hi ((int16x8_t) __a);
6485 }
6486 
6487 __extension__ extern __inline uint32x2_t
6488 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_u32(uint32x4_t __a)6489 vget_high_u32 (uint32x4_t __a)
6490 {
6491   return (uint32x2_t) __builtin_aarch64_get_highv4si ((int32x4_t) __a);
6492 }
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 (uint64x1_t) {__builtin_aarch64_get_highv2di ((int64x2_t) __a)};
6499 }
6500 
6501 
6502 __extension__ extern __inline int8x16_t
6503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s8(int8x8_t __a,int8x8_t __b)6504 vcombine_s8 (int8x8_t __a, int8x8_t __b)
6505 {
6506   return (int8x16_t) __builtin_aarch64_combinev8qi (__a, __b);
6507 }
6508 
6509 __extension__ extern __inline int16x8_t
6510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s16(int16x4_t __a,int16x4_t __b)6511 vcombine_s16 (int16x4_t __a, int16x4_t __b)
6512 {
6513   return (int16x8_t) __builtin_aarch64_combinev4hi (__a, __b);
6514 }
6515 
6516 __extension__ extern __inline int32x4_t
6517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s32(int32x2_t __a,int32x2_t __b)6518 vcombine_s32 (int32x2_t __a, int32x2_t __b)
6519 {
6520   return (int32x4_t) __builtin_aarch64_combinev2si (__a, __b);
6521 }
6522 
6523 __extension__ extern __inline int64x2_t
6524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_s64(int64x1_t __a,int64x1_t __b)6525 vcombine_s64 (int64x1_t __a, int64x1_t __b)
6526 {
6527   return __builtin_aarch64_combinedi (__a[0], __b[0]);
6528 }
6529 
6530 __extension__ extern __inline float16x8_t
6531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_f16(float16x4_t __a,float16x4_t __b)6532 vcombine_f16 (float16x4_t __a, float16x4_t __b)
6533 {
6534   return __builtin_aarch64_combinev4hf (__a, __b);
6535 }
6536 
6537 __extension__ extern __inline float32x4_t
6538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_f32(float32x2_t __a,float32x2_t __b)6539 vcombine_f32 (float32x2_t __a, float32x2_t __b)
6540 {
6541   return (float32x4_t) __builtin_aarch64_combinev2sf (__a, __b);
6542 }
6543 
6544 __extension__ extern __inline uint8x16_t
6545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u8(uint8x8_t __a,uint8x8_t __b)6546 vcombine_u8 (uint8x8_t __a, uint8x8_t __b)
6547 {
6548   return (uint8x16_t) __builtin_aarch64_combinev8qi ((int8x8_t) __a,
6549 						     (int8x8_t) __b);
6550 }
6551 
6552 __extension__ extern __inline uint16x8_t
6553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u16(uint16x4_t __a,uint16x4_t __b)6554 vcombine_u16 (uint16x4_t __a, uint16x4_t __b)
6555 {
6556   return (uint16x8_t) __builtin_aarch64_combinev4hi ((int16x4_t) __a,
6557 						     (int16x4_t) __b);
6558 }
6559 
6560 __extension__ extern __inline uint32x4_t
6561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u32(uint32x2_t __a,uint32x2_t __b)6562 vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
6563 {
6564   return (uint32x4_t) __builtin_aarch64_combinev2si ((int32x2_t) __a,
6565 						     (int32x2_t) __b);
6566 }
6567 
6568 __extension__ extern __inline uint64x2_t
6569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_u64(uint64x1_t __a,uint64x1_t __b)6570 vcombine_u64 (uint64x1_t __a, uint64x1_t __b)
6571 {
6572   return (uint64x2_t) __builtin_aarch64_combinedi (__a[0], __b[0]);
6573 }
6574 
6575 __extension__ extern __inline float64x2_t
6576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_f64(float64x1_t __a,float64x1_t __b)6577 vcombine_f64 (float64x1_t __a, float64x1_t __b)
6578 {
6579   return __builtin_aarch64_combinedf (__a[0], __b[0]);
6580 }
6581 
6582 __extension__ extern __inline poly8x16_t
6583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p8(poly8x8_t __a,poly8x8_t __b)6584 vcombine_p8 (poly8x8_t __a, poly8x8_t __b)
6585 {
6586   return (poly8x16_t) __builtin_aarch64_combinev8qi ((int8x8_t) __a,
6587 						     (int8x8_t) __b);
6588 }
6589 
6590 __extension__ extern __inline poly16x8_t
6591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p16(poly16x4_t __a,poly16x4_t __b)6592 vcombine_p16 (poly16x4_t __a, poly16x4_t __b)
6593 {
6594   return (poly16x8_t) __builtin_aarch64_combinev4hi ((int16x4_t) __a,
6595 						     (int16x4_t) __b);
6596 }
6597 
6598 __extension__ extern __inline poly64x2_t
6599 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_p64(poly64x1_t __a,poly64x1_t __b)6600 vcombine_p64 (poly64x1_t __a, poly64x1_t __b)
6601 {
6602   return (poly64x2_t) __builtin_aarch64_combinedi_ppp (__a[0], __b[0]);
6603 }
6604 
6605 /* Start of temporary inline asm implementations.  */
6606 
6607 __extension__ extern __inline int8x8_t
6608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)6609 vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
6610 {
6611   return __builtin_aarch64_sabav8qi (__a, __b, __c);
6612 }
6613 
6614 __extension__ extern __inline int16x4_t
6615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)6616 vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
6617 {
6618   return __builtin_aarch64_sabav4hi (__a, __b, __c);
6619 }
6620 
6621 __extension__ extern __inline int32x2_t
6622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)6623 vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
6624 {
6625   return __builtin_aarch64_sabav2si (__a, __b, __c);
6626 }
6627 
6628 __extension__ extern __inline uint8x8_t
6629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)6630 vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
6631 {
6632   return __builtin_aarch64_uabav8qi_uuuu (__a, __b, __c);
6633 }
6634 
6635 __extension__ extern __inline uint16x4_t
6636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)6637 vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
6638 {
6639   return __builtin_aarch64_uabav4hi_uuuu (__a, __b, __c);
6640 }
6641 
6642 __extension__ extern __inline uint32x2_t
6643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaba_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)6644 vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
6645 {
6646   return __builtin_aarch64_uabav2si_uuuu (__a, __b, __c);
6647 }
6648 
6649 __extension__ extern __inline int16x8_t
6650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_s8(int16x8_t __a,int8x16_t __b,int8x16_t __c)6651 vabal_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
6652 {
6653   return __builtin_aarch64_sabal2v16qi (__a, __b, __c);
6654 }
6655 
6656 __extension__ extern __inline int32x4_t
6657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)6658 vabal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
6659 {
6660   return __builtin_aarch64_sabal2v8hi (__a, __b, __c);
6661 }
6662 
6663 __extension__ extern __inline int64x2_t
6664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)6665 vabal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
6666 {
6667   return __builtin_aarch64_sabal2v4si (__a, __b, __c);
6668 }
6669 
6670 __extension__ extern __inline uint16x8_t
6671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_u8(uint16x8_t __a,uint8x16_t __b,uint8x16_t __c)6672 vabal_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
6673 {
6674   return __builtin_aarch64_uabal2v16qi_uuuu (__a, __b, __c);
6675 }
6676 
6677 __extension__ extern __inline uint32x4_t
6678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_u16(uint32x4_t __a,uint16x8_t __b,uint16x8_t __c)6679 vabal_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
6680 {
6681   return __builtin_aarch64_uabal2v8hi_uuuu (__a, __b, __c);
6682 }
6683 
6684 __extension__ extern __inline uint64x2_t
6685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_high_u32(uint64x2_t __a,uint32x4_t __b,uint32x4_t __c)6686 vabal_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
6687 {
6688   return __builtin_aarch64_uabal2v4si_uuuu (__a, __b, __c);
6689 }
6690 
6691 __extension__ extern __inline int16x8_t
6692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)6693 vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
6694 {
6695   return __builtin_aarch64_sabalv8qi (__a, __b, __c);
6696 }
6697 
6698 __extension__ extern __inline int32x4_t
6699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)6700 vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
6701 {
6702   return __builtin_aarch64_sabalv4hi (__a, __b, __c);
6703 }
6704 
6705 __extension__ extern __inline int64x2_t
6706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)6707 vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
6708 {
6709   return __builtin_aarch64_sabalv2si (__a, __b, __c);
6710 }
6711 
6712 __extension__ extern __inline uint16x8_t
6713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)6714 vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
6715 {
6716   return __builtin_aarch64_uabalv8qi_uuuu (__a, __b, __c);
6717 }
6718 
6719 __extension__ extern __inline uint32x4_t
6720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)6721 vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
6722 {
6723   return __builtin_aarch64_uabalv4hi_uuuu (__a, __b, __c);
6724 }
6725 
6726 __extension__ extern __inline uint64x2_t
6727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)6728 vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
6729 {
6730   return __builtin_aarch64_uabalv2si_uuuu (__a, __b, __c);
6731 }
6732 
6733 __extension__ extern __inline int8x16_t
6734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)6735 vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
6736 {
6737   return __builtin_aarch64_sabav16qi (__a, __b, __c);
6738 }
6739 
6740 __extension__ extern __inline int16x8_t
6741 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)6742 vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
6743 {
6744   return __builtin_aarch64_sabav8hi (__a, __b, __c);
6745 }
6746 
6747 __extension__ extern __inline int32x4_t
6748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)6749 vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
6750 {
6751   return __builtin_aarch64_sabav4si (__a, __b, __c);
6752 }
6753 
6754 __extension__ extern __inline uint8x16_t
6755 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)6756 vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
6757 {
6758   return __builtin_aarch64_uabav16qi_uuuu (__a, __b, __c);
6759 }
6760 
6761 __extension__ extern __inline uint16x8_t
6762 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)6763 vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
6764 {
6765   return __builtin_aarch64_uabav8hi_uuuu (__a, __b, __c);
6766 }
6767 
6768 __extension__ extern __inline uint32x4_t
6769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)6770 vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
6771 {
6772   return __builtin_aarch64_uabav4si_uuuu (__a, __b, __c);
6773 }
6774 
6775 __extension__ extern __inline int8x8_t
6776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s8(int8x8_t __a,int8x8_t __b)6777 vabd_s8 (int8x8_t __a, int8x8_t __b)
6778 {
6779   return  __builtin_aarch64_sabdv8qi (__a, __b);
6780 }
6781 
6782 __extension__ extern __inline int16x4_t
6783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s16(int16x4_t __a,int16x4_t __b)6784 vabd_s16 (int16x4_t __a, int16x4_t __b)
6785 {
6786   return  __builtin_aarch64_sabdv4hi (__a, __b);
6787 }
6788 
6789 __extension__ extern __inline int32x2_t
6790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_s32(int32x2_t __a,int32x2_t __b)6791 vabd_s32 (int32x2_t __a, int32x2_t __b)
6792 {
6793   return  __builtin_aarch64_sabdv2si (__a, __b);
6794 }
6795 
6796 __extension__ extern __inline uint8x8_t
6797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u8(uint8x8_t __a,uint8x8_t __b)6798 vabd_u8 (uint8x8_t __a, uint8x8_t __b)
6799 {
6800   return  __builtin_aarch64_uabdv8qi_uuu (__a, __b);
6801 }
6802 
6803 __extension__ extern __inline uint16x4_t
6804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u16(uint16x4_t __a,uint16x4_t __b)6805 vabd_u16 (uint16x4_t __a, uint16x4_t __b)
6806 {
6807   return  __builtin_aarch64_uabdv4hi_uuu (__a, __b);
6808 }
6809 
6810 __extension__ extern __inline uint32x2_t
6811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_u32(uint32x2_t __a,uint32x2_t __b)6812 vabd_u32 (uint32x2_t __a, uint32x2_t __b)
6813 {
6814   return  __builtin_aarch64_uabdv2si_uuu (__a, __b);
6815 }
6816 
6817 __extension__ extern __inline int16x8_t
6818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_s8(int8x16_t __a,int8x16_t __b)6819 vabdl_high_s8 (int8x16_t __a, int8x16_t __b)
6820 {
6821   return __builtin_aarch64_sabdl2v16qi (__a, __b);
6822 }
6823 
6824 __extension__ extern __inline int32x4_t
6825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_s16(int16x8_t __a,int16x8_t __b)6826 vabdl_high_s16 (int16x8_t __a, int16x8_t __b)
6827 {
6828   return __builtin_aarch64_sabdl2v8hi (__a, __b);
6829 }
6830 
6831 __extension__ extern __inline int64x2_t
6832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_s32(int32x4_t __a,int32x4_t __b)6833 vabdl_high_s32 (int32x4_t __a, int32x4_t __b)
6834 {
6835   return __builtin_aarch64_sabdl2v4si (__a, __b);
6836 }
6837 
6838 __extension__ extern __inline uint16x8_t
6839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_u8(uint8x16_t __a,uint8x16_t __b)6840 vabdl_high_u8 (uint8x16_t __a, uint8x16_t __b)
6841 {
6842   return __builtin_aarch64_uabdl2v16qi_uuu (__a, __b);
6843 }
6844 
6845 __extension__ extern __inline uint32x4_t
6846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_u16(uint16x8_t __a,uint16x8_t __b)6847 vabdl_high_u16 (uint16x8_t __a, uint16x8_t __b)
6848 {
6849   return __builtin_aarch64_uabdl2v8hi_uuu (__a, __b);
6850 }
6851 
6852 __extension__ extern __inline uint64x2_t
6853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_high_u32(uint32x4_t __a,uint32x4_t __b)6854 vabdl_high_u32 (uint32x4_t __a, uint32x4_t __b)
6855 {
6856   return __builtin_aarch64_uabdl2v4si_uuu (__a, __b);
6857 }
6858 
6859 __extension__ extern __inline int16x8_t
6860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s8(int8x8_t __a,int8x8_t __b)6861 vabdl_s8 (int8x8_t __a, int8x8_t __b)
6862 {
6863   return __builtin_aarch64_sabdlv8qi (__a, __b);
6864 }
6865 
6866 __extension__ extern __inline int32x4_t
6867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s16(int16x4_t __a,int16x4_t __b)6868 vabdl_s16 (int16x4_t __a, int16x4_t __b)
6869 {
6870   return __builtin_aarch64_sabdlv4hi (__a, __b);
6871 }
6872 
6873 __extension__ extern __inline int64x2_t
6874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_s32(int32x2_t __a,int32x2_t __b)6875 vabdl_s32 (int32x2_t __a, int32x2_t __b)
6876 {
6877   return __builtin_aarch64_sabdlv2si (__a, __b);
6878 }
6879 
6880 __extension__ extern __inline uint16x8_t
6881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u8(uint8x8_t __a,uint8x8_t __b)6882 vabdl_u8 (uint8x8_t __a, uint8x8_t __b)
6883 {
6884   return __builtin_aarch64_uabdlv8qi_uuu (__a, __b);
6885 }
6886 
6887 __extension__ extern __inline uint32x4_t
6888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u16(uint16x4_t __a,uint16x4_t __b)6889 vabdl_u16 (uint16x4_t __a, uint16x4_t __b)
6890 {
6891   return __builtin_aarch64_uabdlv4hi_uuu (__a, __b);
6892 }
6893 
6894 __extension__ extern __inline uint64x2_t
6895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdl_u32(uint32x2_t __a,uint32x2_t __b)6896 vabdl_u32 (uint32x2_t __a, uint32x2_t __b)
6897 {
6898   return __builtin_aarch64_uabdlv2si_uuu (__a, __b);
6899 }
6900 
6901 __extension__ extern __inline int8x16_t
6902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s8(int8x16_t __a,int8x16_t __b)6903 vabdq_s8 (int8x16_t __a, int8x16_t __b)
6904 {
6905   return  __builtin_aarch64_sabdv16qi (__a, __b);
6906 }
6907 
6908 __extension__ extern __inline int16x8_t
6909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s16(int16x8_t __a,int16x8_t __b)6910 vabdq_s16 (int16x8_t __a, int16x8_t __b)
6911 {
6912   return  __builtin_aarch64_sabdv8hi (__a, __b);
6913 }
6914 
6915 __extension__ extern __inline int32x4_t
6916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_s32(int32x4_t __a,int32x4_t __b)6917 vabdq_s32 (int32x4_t __a, int32x4_t __b)
6918 {
6919   return  __builtin_aarch64_sabdv4si (__a, __b);
6920 }
6921 
6922 __extension__ extern __inline uint8x16_t
6923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u8(uint8x16_t __a,uint8x16_t __b)6924 vabdq_u8 (uint8x16_t __a, uint8x16_t __b)
6925 {
6926   return  __builtin_aarch64_uabdv16qi_uuu (__a, __b);
6927 }
6928 
6929 __extension__ extern __inline uint16x8_t
6930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u16(uint16x8_t __a,uint16x8_t __b)6931 vabdq_u16 (uint16x8_t __a, uint16x8_t __b)
6932 {
6933   return  __builtin_aarch64_uabdv8hi_uuu (__a, __b);
6934 }
6935 
6936 __extension__ extern __inline uint32x4_t
6937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_u32(uint32x4_t __a,uint32x4_t __b)6938 vabdq_u32 (uint32x4_t __a, uint32x4_t __b)
6939 {
6940   return  __builtin_aarch64_uabdv4si_uuu (__a, __b);
6941 }
6942 
6943 __extension__ extern __inline int16_t
6944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_s8(int8x8_t __a)6945 vaddlv_s8 (int8x8_t __a)
6946 {
6947   return __builtin_aarch64_saddlvv8qi (__a);
6948 }
6949 
6950 __extension__ extern __inline int32_t
6951 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_s16(int16x4_t __a)6952 vaddlv_s16 (int16x4_t __a)
6953 {
6954   return __builtin_aarch64_saddlvv4hi (__a);
6955 }
6956 
6957 __extension__ extern __inline uint16_t
6958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_u8(uint8x8_t __a)6959 vaddlv_u8 (uint8x8_t __a)
6960 {
6961   return __builtin_aarch64_uaddlvv8qi_uu (__a);
6962 }
6963 
6964 __extension__ extern __inline uint32_t
6965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_u16(uint16x4_t __a)6966 vaddlv_u16 (uint16x4_t __a)
6967 {
6968   return __builtin_aarch64_uaddlvv4hi_uu (__a);
6969 }
6970 
6971 __extension__ extern __inline int16_t
6972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_s8(int8x16_t __a)6973 vaddlvq_s8 (int8x16_t __a)
6974 {
6975   return __builtin_aarch64_saddlvv16qi (__a);
6976 }
6977 
6978 __extension__ extern __inline int32_t
6979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_s16(int16x8_t __a)6980 vaddlvq_s16 (int16x8_t __a)
6981 {
6982   return __builtin_aarch64_saddlvv8hi (__a);
6983 }
6984 
6985 __extension__ extern __inline int64_t
6986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_s32(int32x4_t __a)6987 vaddlvq_s32 (int32x4_t __a)
6988 {
6989   return __builtin_aarch64_saddlvv4si (__a);
6990 }
6991 
6992 __extension__ extern __inline uint16_t
6993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_u8(uint8x16_t __a)6994 vaddlvq_u8 (uint8x16_t __a)
6995 {
6996   return __builtin_aarch64_uaddlvv16qi_uu (__a);
6997 }
6998 
6999 __extension__ extern __inline uint32_t
7000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_u16(uint16x8_t __a)7001 vaddlvq_u16 (uint16x8_t __a)
7002 {
7003   return __builtin_aarch64_uaddlvv8hi_uu (__a);
7004 }
7005 
7006 __extension__ extern __inline uint64_t
7007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlvq_u32(uint32x4_t __a)7008 vaddlvq_u32 (uint32x4_t __a)
7009 {
7010   return __builtin_aarch64_uaddlvv4si_uu (__a);
7011 }
7012 
7013 __extension__ extern __inline float32x2_t
7014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtx_f32_f64(float64x2_t __a)7015 vcvtx_f32_f64 (float64x2_t __a)
7016 {
7017   float32x2_t __result;
7018   __asm__ ("fcvtxn %0.2s,%1.2d"
7019            : "=w"(__result)
7020            : "w"(__a)
7021            : /* No clobbers */);
7022   return __result;
7023 }
7024 
7025 __extension__ extern __inline float32x4_t
7026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtx_high_f32_f64(float32x2_t __a,float64x2_t __b)7027 vcvtx_high_f32_f64 (float32x2_t __a, float64x2_t __b)
7028 {
7029   float32x4_t __result;
7030   __asm__ ("fcvtxn2 %0.4s,%1.2d"
7031            : "=w"(__result)
7032            : "w" (__b), "0"(__a)
7033            : /* No clobbers */);
7034   return __result;
7035 }
7036 
7037 __extension__ extern __inline float32_t
7038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtxd_f32_f64(float64_t __a)7039 vcvtxd_f32_f64 (float64_t __a)
7040 {
7041   float32_t __result;
7042   __asm__ ("fcvtxn %s0,%d1"
7043            : "=w"(__result)
7044            : "w"(__a)
7045            : /* No clobbers */);
7046   return __result;
7047 }
7048 
7049 __extension__ extern __inline float32x2_t
7050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)7051 vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
7052 {
7053   float32x2_t __result;
7054   float32x2_t __t1;
7055   __asm__ ("fmul %1.2s, %3.2s, %4.s[0]; fadd %0.2s, %0.2s, %1.2s"
7056            : "=w"(__result), "=w"(__t1)
7057            : "0"(__a), "w"(__b), "w"(__c)
7058            : /* No clobbers */);
7059   return __result;
7060 }
7061 
7062 __extension__ extern __inline int16x4_t
7063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)7064 vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
7065 {
7066   return __builtin_aarch64_mla_nv4hi (__a, __b, __c);
7067 }
7068 
7069 __extension__ extern __inline int32x2_t
7070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)7071 vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
7072 {
7073   return __builtin_aarch64_mla_nv2si (__a, __b, __c);
7074 }
7075 
7076 __extension__ extern __inline uint16x4_t
7077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)7078 vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
7079 {
7080   return (uint16x4_t) __builtin_aarch64_mla_nv4hi ((int16x4_t) __a,
7081                                                    (int16x4_t) __b,
7082                                                    (int16_t) __c);
7083 }
7084 
7085 __extension__ extern __inline uint32x2_t
7086 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)7087 vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
7088 {
7089   return (uint32x2_t) __builtin_aarch64_mla_nv2si ((int32x2_t) __a,
7090                                                    (int32x2_t) __b,
7091                                                    (int32_t) __c);
7092 }
7093 
7094 __extension__ extern __inline int8x8_t
7095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)7096 vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
7097 {
7098   return __builtin_aarch64_mlav8qi (__a, __b, __c);
7099 }
7100 
7101 __extension__ extern __inline int16x4_t
7102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)7103 vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
7104 {
7105   return __builtin_aarch64_mlav4hi (__a, __b, __c);
7106 }
7107 
7108 __extension__ extern __inline int32x2_t
7109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)7110 vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
7111 {
7112   return __builtin_aarch64_mlav2si (__a, __b, __c);
7113 }
7114 
7115 __extension__ extern __inline uint8x8_t
7116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)7117 vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
7118 {
7119   return (uint8x8_t) __builtin_aarch64_mlav8qi ((int8x8_t) __a,
7120                                                 (int8x8_t) __b,
7121                                                 (int8x8_t) __c);
7122 }
7123 
7124 __extension__ extern __inline uint16x4_t
7125 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)7126 vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
7127 {
7128   return (uint16x4_t) __builtin_aarch64_mlav4hi ((int16x4_t) __a,
7129                                                  (int16x4_t) __b,
7130                                                  (int16x4_t) __c);
7131 }
7132 
7133 __extension__ extern __inline uint32x2_t
7134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)7135 vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
7136 {
7137   return (uint32x2_t) __builtin_aarch64_mlav2si ((int32x2_t) __a,
7138                                                  (int32x2_t) __b,
7139                                                  (int32x2_t) __c);
7140 }
7141 
7142 __extension__ extern __inline int32x4_t
7143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_lane_s16(int32x4_t __a,int16x8_t __b,int16x4_t __v,const int __lane)7144 vmlal_high_lane_s16(int32x4_t __a, int16x8_t __b, int16x4_t __v,
7145 		    const int __lane)
7146 {
7147   return __builtin_aarch64_smlal_hi_lanev8hi (__a, __b, __v, __lane);
7148 }
7149 
7150 __extension__ extern __inline int64x2_t
7151 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_lane_s32(int64x2_t __a,int32x4_t __b,int32x2_t __v,const int __lane)7152 vmlal_high_lane_s32(int64x2_t __a, int32x4_t __b, int32x2_t __v,
7153 		    const int __lane)
7154 {
7155   return __builtin_aarch64_smlal_hi_lanev4si (__a, __b, __v, __lane);
7156 }
7157 
7158 __extension__ extern __inline uint32x4_t
7159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_lane_u16(uint32x4_t __a,uint16x8_t __b,uint16x4_t __v,const int __lane)7160 vmlal_high_lane_u16(uint32x4_t __a, uint16x8_t __b, uint16x4_t __v,
7161 		    const int __lane)
7162 {
7163   return __builtin_aarch64_umlal_hi_lanev8hi_uuuus (__a, __b, __v, __lane);
7164 }
7165 
7166 __extension__ extern __inline uint64x2_t
7167 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_lane_u32(uint64x2_t __a,uint32x4_t __b,uint32x2_t __v,const int __lane)7168 vmlal_high_lane_u32(uint64x2_t __a, uint32x4_t __b, uint32x2_t __v,
7169 		    const int __lane)
7170 {
7171   return __builtin_aarch64_umlal_hi_lanev4si_uuuus (__a, __b, __v, __lane);
7172 }
7173 
7174 __extension__ extern __inline int32x4_t
7175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_laneq_s16(int32x4_t __a,int16x8_t __b,int16x8_t __v,const int __lane)7176 vmlal_high_laneq_s16(int32x4_t __a, int16x8_t __b, int16x8_t __v,
7177 		     const int __lane)
7178 {
7179   return __builtin_aarch64_smlal_hi_laneqv8hi (__a, __b, __v, __lane);
7180 }
7181 
7182 __extension__ extern __inline int64x2_t
7183 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_laneq_s32(int64x2_t __a,int32x4_t __b,int32x4_t __v,const int __lane)7184 vmlal_high_laneq_s32(int64x2_t __a, int32x4_t __b, int32x4_t __v,
7185 		     const int __lane)
7186 {
7187   return __builtin_aarch64_smlal_hi_laneqv4si (__a, __b, __v, __lane);
7188 }
7189 
7190 __extension__ extern __inline uint32x4_t
7191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_laneq_u16(uint32x4_t __a,uint16x8_t __b,uint16x8_t __v,const int __lane)7192 vmlal_high_laneq_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __v,
7193 		     const int __lane)
7194 {
7195   return __builtin_aarch64_umlal_hi_laneqv8hi_uuuus (__a, __b, __v, __lane);
7196 }
7197 
7198 __extension__ extern __inline uint64x2_t
7199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_laneq_u32(uint64x2_t __a,uint32x4_t __b,uint32x4_t __v,const int __lane)7200 vmlal_high_laneq_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __v,
7201 		     const int __lane)
7202 {
7203   return __builtin_aarch64_umlal_hi_laneqv4si_uuuus (__a, __b, __v, __lane);
7204 }
7205 
7206 __extension__ extern __inline int32x4_t
7207 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_n_s16(int32x4_t __a,int16x8_t __b,int16_t __c)7208 vmlal_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
7209 {
7210   return __builtin_aarch64_smlal_hi_nv8hi (__a, __b, __c);
7211 }
7212 
7213 __extension__ extern __inline int64x2_t
7214 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_n_s32(int64x2_t __a,int32x4_t __b,int32_t __c)7215 vmlal_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
7216 {
7217   return __builtin_aarch64_smlal_hi_nv4si (__a, __b, __c);
7218 }
7219 
7220 __extension__ extern __inline uint32x4_t
7221 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_n_u16(uint32x4_t __a,uint16x8_t __b,uint16_t __c)7222 vmlal_high_n_u16 (uint32x4_t __a, uint16x8_t __b, uint16_t __c)
7223 {
7224   return __builtin_aarch64_umlal_hi_nv8hi_uuuu (__a, __b, __c);
7225 }
7226 
7227 __extension__ extern __inline uint64x2_t
7228 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_n_u32(uint64x2_t __a,uint32x4_t __b,uint32_t __c)7229 vmlal_high_n_u32 (uint64x2_t __a, uint32x4_t __b, uint32_t __c)
7230 {
7231   return __builtin_aarch64_umlal_hi_nv4si_uuuu (__a, __b, __c);
7232 }
7233 
7234 __extension__ extern __inline int16x8_t
7235 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_s8(int16x8_t __a,int8x16_t __b,int8x16_t __c)7236 vmlal_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
7237 {
7238   return __builtin_aarch64_smlal_hiv16qi (__a, __b, __c);
7239 }
7240 
7241 __extension__ extern __inline int32x4_t
7242 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)7243 vmlal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
7244 {
7245   return __builtin_aarch64_smlal_hiv8hi (__a, __b, __c);
7246 }
7247 
7248 __extension__ extern __inline int64x2_t
7249 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)7250 vmlal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
7251 {
7252   return __builtin_aarch64_smlal_hiv4si (__a, __b, __c);
7253 }
7254 
7255 __extension__ extern __inline uint16x8_t
7256 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_u8(uint16x8_t __a,uint8x16_t __b,uint8x16_t __c)7257 vmlal_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
7258 {
7259   return __builtin_aarch64_umlal_hiv16qi_uuuu (__a, __b, __c);
7260 }
7261 
7262 __extension__ extern __inline uint32x4_t
7263 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_u16(uint32x4_t __a,uint16x8_t __b,uint16x8_t __c)7264 vmlal_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
7265 {
7266   return __builtin_aarch64_umlal_hiv8hi_uuuu (__a, __b, __c);
7267 }
7268 
7269 __extension__ extern __inline uint64x2_t
7270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_high_u32(uint64x2_t __a,uint32x4_t __b,uint32x4_t __c)7271 vmlal_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
7272 {
7273   return __builtin_aarch64_umlal_hiv4si_uuuu (__a, __b, __c);
7274 }
7275 
7276 __extension__ extern __inline int32x4_t
7277 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_s16(int32x4_t __acc,int16x4_t __a,int16x4_t __b,const int __c)7278 vmlal_lane_s16 (int32x4_t __acc, int16x4_t __a, int16x4_t __b, const int __c)
7279 {
7280   return __builtin_aarch64_vec_smlal_lane_v4hi (__acc, __a, __b, __c);
7281 }
7282 
7283 __extension__ extern __inline int64x2_t
7284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_s32(int64x2_t __acc,int32x2_t __a,int32x2_t __b,const int __c)7285 vmlal_lane_s32 (int64x2_t __acc, int32x2_t __a, int32x2_t __b, const int __c)
7286 {
7287   return __builtin_aarch64_vec_smlal_lane_v2si (__acc, __a, __b, __c);
7288 }
7289 
7290 __extension__ extern __inline uint32x4_t
7291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_u16(uint32x4_t __acc,uint16x4_t __a,uint16x4_t __b,const int __c)7292 vmlal_lane_u16 (uint32x4_t __acc, uint16x4_t __a, uint16x4_t __b, const int __c)
7293 {
7294   return __builtin_aarch64_vec_umlal_lane_v4hi_uuuus (__acc, __a, __b, __c);
7295 }
7296 
7297 __extension__ extern __inline uint64x2_t
7298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_lane_u32(uint64x2_t __acc,uint32x2_t __a,uint32x2_t __b,const int __c)7299 vmlal_lane_u32 (uint64x2_t __acc, uint32x2_t __a, uint32x2_t __b, const int __c)
7300 {
7301   return __builtin_aarch64_vec_umlal_lane_v2si_uuuus (__acc, __a, __b, __c);
7302 }
7303 
7304 __extension__ extern __inline int32x4_t
7305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_laneq_s16(int32x4_t __acc,int16x4_t __a,int16x8_t __b,const int __c)7306 vmlal_laneq_s16 (int32x4_t __acc, int16x4_t __a, int16x8_t __b, const int __c)
7307 {
7308   return __builtin_aarch64_vec_smlal_laneq_v4hi (__acc, __a, __b, __c);
7309 }
7310 
7311 __extension__ extern __inline int64x2_t
7312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_laneq_s32(int64x2_t __acc,int32x2_t __a,int32x4_t __b,const int __c)7313 vmlal_laneq_s32 (int64x2_t __acc, int32x2_t __a, int32x4_t __b, const int __c)
7314 {
7315   return __builtin_aarch64_vec_smlal_laneq_v2si (__acc, __a, __b, __c);
7316 }
7317 
7318 __extension__ extern __inline uint32x4_t
7319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_laneq_u16(uint32x4_t __acc,uint16x4_t __a,uint16x8_t __b,const int __c)7320 vmlal_laneq_u16 (uint32x4_t __acc, uint16x4_t __a, uint16x8_t __b, const int __c)
7321 {
7322   return __builtin_aarch64_vec_umlal_laneq_v4hi_uuuus (__acc, __a, __b, __c);
7323 }
7324 
7325 __extension__ extern __inline uint64x2_t
7326 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_laneq_u32(uint64x2_t __acc,uint32x2_t __a,uint32x4_t __b,const int __c)7327 vmlal_laneq_u32 (uint64x2_t __acc, uint32x2_t __a, uint32x4_t __b, const int __c)
7328 {
7329   return __builtin_aarch64_vec_umlal_laneq_v2si_uuuus (__acc, __a, __b, __c);
7330 }
7331 
7332 __extension__ extern __inline int32x4_t
7333 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)7334 vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7335 {
7336   return __builtin_aarch64_smlal_nv4hi (__a, __b, __c);
7337 }
7338 
7339 __extension__ extern __inline int64x2_t
7340 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)7341 vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7342 {
7343   return __builtin_aarch64_smlal_nv2si (__a, __b, __c);
7344 }
7345 
7346 __extension__ extern __inline uint32x4_t
7347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)7348 vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
7349 {
7350   return __builtin_aarch64_umlal_nv4hi_uuuu (__a, __b, __c);
7351 }
7352 
7353 __extension__ extern __inline uint64x2_t
7354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)7355 vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
7356 {
7357   return __builtin_aarch64_umlal_nv2si_uuuu (__a, __b, __c);
7358 }
7359 
7360 __extension__ extern __inline int16x8_t
7361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)7362 vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
7363 {
7364   return __builtin_aarch64_smlalv8qi (__a, __b, __c);
7365 }
7366 
7367 __extension__ extern __inline int32x4_t
7368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)7369 vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
7370 {
7371   return __builtin_aarch64_smlalv4hi (__a, __b, __c);
7372 }
7373 
7374 __extension__ extern __inline int64x2_t
7375 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)7376 vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
7377 {
7378   return __builtin_aarch64_smlalv2si (__a, __b, __c);
7379 }
7380 
7381 __extension__ extern __inline uint16x8_t
7382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)7383 vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
7384 {
7385   return __builtin_aarch64_umlalv8qi_uuuu (__a, __b, __c);
7386 }
7387 
7388 __extension__ extern __inline uint32x4_t
7389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)7390 vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
7391 {
7392   return __builtin_aarch64_umlalv4hi_uuuu (__a, __b, __c);
7393 }
7394 
7395 __extension__ extern __inline uint64x2_t
7396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlal_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)7397 vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
7398 {
7399   return __builtin_aarch64_umlalv2si_uuuu (__a, __b, __c);
7400 }
7401 
7402 __extension__ extern __inline float32x4_t
7403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)7404 vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
7405 {
7406   float32x4_t __result;
7407   float32x4_t __t1;
7408   __asm__ ("fmul %1.4s, %3.4s, %4.s[0]; fadd %0.4s, %0.4s, %1.4s"
7409            : "=w"(__result), "=w"(__t1)
7410            : "0"(__a), "w"(__b), "w"(__c)
7411            : /* No clobbers */);
7412   return __result;
7413 }
7414 
7415 __extension__ extern __inline int16x8_t
7416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)7417 vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
7418 {
7419   return __builtin_aarch64_mla_nv8hi (__a, __b, __c);
7420 }
7421 
7422 __extension__ extern __inline int32x4_t
7423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)7424 vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
7425 {
7426   return __builtin_aarch64_mla_nv4si (__a, __b, __c);
7427 }
7428 
7429 __extension__ extern __inline uint16x8_t
7430 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)7431 vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
7432 {
7433   return (uint16x8_t) __builtin_aarch64_mla_nv8hi ((int16x8_t) __a,
7434                                                    (int16x8_t) __b,
7435                                                    (int16_t) __c);
7436 }
7437 
7438 __extension__ extern __inline uint32x4_t
7439 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)7440 vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
7441 {
7442   return (uint32x4_t) __builtin_aarch64_mla_nv4si ((int32x4_t) __a,
7443                                                    (int32x4_t) __b,
7444                                                    (int32_t) __c);
7445 }
7446 
7447 __extension__ extern __inline int8x16_t
7448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)7449 vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
7450 {
7451   return __builtin_aarch64_mlav16qi (__a, __b, __c);
7452 }
7453 
7454 __extension__ extern __inline int16x8_t
7455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)7456 vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
7457 {
7458   return __builtin_aarch64_mlav8hi (__a, __b, __c);
7459 }
7460 
7461 __extension__ extern __inline int32x4_t
7462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)7463 vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
7464 {
7465   return __builtin_aarch64_mlav4si (__a, __b, __c);
7466 }
7467 
7468 __extension__ extern __inline uint8x16_t
7469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)7470 vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
7471 {
7472   return (uint8x16_t) __builtin_aarch64_mlav16qi ((int8x16_t) __a,
7473                                                   (int8x16_t) __b,
7474                                                   (int8x16_t) __c);
7475 }
7476 
7477 __extension__ extern __inline uint16x8_t
7478 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)7479 vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
7480 {
7481   return (uint16x8_t) __builtin_aarch64_mlav8hi ((int16x8_t) __a,
7482                                                  (int16x8_t) __b,
7483                                                  (int16x8_t) __c);
7484 }
7485 
7486 __extension__ extern __inline uint32x4_t
7487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)7488 vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
7489 {
7490   return (uint32x4_t) __builtin_aarch64_mlav4si ((int32x4_t) __a,
7491                                                  (int32x4_t) __b,
7492                                                  (int32x4_t) __c);
7493 }
7494 
7495 __extension__ extern __inline float32x2_t
7496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)7497 vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
7498 {
7499   float32x2_t __result;
7500   float32x2_t __t1;
7501   __asm__ ("fmul %1.2s, %3.2s, %4.s[0]; fsub %0.2s, %0.2s, %1.2s"
7502            : "=w"(__result), "=w"(__t1)
7503            : "0"(__a), "w"(__b), "w"(__c)
7504            : /* No clobbers */);
7505   return __result;
7506 }
7507 
7508 __extension__ extern __inline int16x4_t
7509 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_s16(int16x4_t __a,int16x4_t __b,int16_t __c)7510 vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
7511 {
7512   return __builtin_aarch64_mls_nv4hi (__a, __b, __c);
7513 }
7514 
7515 __extension__ extern __inline int32x2_t
7516 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_s32(int32x2_t __a,int32x2_t __b,int32_t __c)7517 vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
7518 {
7519   return __builtin_aarch64_mls_nv2si (__a, __b, __c);
7520 }
7521 
7522 __extension__ extern __inline uint16x4_t
7523 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_u16(uint16x4_t __a,uint16x4_t __b,uint16_t __c)7524 vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
7525 {
7526   return (uint16x4_t) __builtin_aarch64_mls_nv4hi ((int16x4_t) __a,
7527                                                    (int16x4_t) __b,
7528                                                    (int16_t) __c);
7529 }
7530 
7531 __extension__ extern __inline uint32x2_t
7532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_n_u32(uint32x2_t __a,uint32x2_t __b,uint32_t __c)7533 vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
7534 {
7535   return (uint32x2_t) __builtin_aarch64_mls_nv2si ((int32x2_t) __a,
7536                                                    (int32x2_t) __b,
7537                                                    (int32_t) __c);
7538 }
7539 
7540 __extension__ extern __inline int8x8_t
7541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s8(int8x8_t __a,int8x8_t __b,int8x8_t __c)7542 vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
7543 {
7544   return __builtin_aarch64_mlsv8qi (__a, __b, __c);
7545 }
7546 
7547 __extension__ extern __inline int16x4_t
7548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)7549 vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
7550 {
7551   return __builtin_aarch64_mlsv4hi (__a, __b, __c);
7552 }
7553 
7554 __extension__ extern __inline int32x2_t
7555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)7556 vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
7557 {
7558   return __builtin_aarch64_mlsv2si (__a, __b, __c);
7559 }
7560 
7561 __extension__ extern __inline uint8x8_t
7562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)7563 vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
7564 {
7565   return (uint8x8_t) __builtin_aarch64_mlsv8qi ((int8x8_t) __a,
7566                                                 (int8x8_t) __b,
7567                                                 (int8x8_t) __c);
7568 }
7569 
7570 __extension__ extern __inline uint16x4_t
7571 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)7572 vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
7573 {
7574   return (uint16x4_t) __builtin_aarch64_mlsv4hi ((int16x4_t) __a,
7575                                                  (int16x4_t) __b,
7576                                                  (int16x4_t) __c);
7577 }
7578 
7579 __extension__ extern __inline uint32x2_t
7580 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)7581 vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
7582 {
7583   return (uint32x2_t) __builtin_aarch64_mlsv2si ((int32x2_t) __a,
7584                                                  (int32x2_t) __b,
7585                                                  (int32x2_t) __c);
7586 }
7587 
7588 __extension__ extern __inline int32x4_t
7589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_lane_s16(int32x4_t __a,int16x8_t __b,int16x4_t __v,const int __lane)7590 vmlsl_high_lane_s16(int32x4_t __a, int16x8_t __b, int16x4_t __v,
7591 		    const int __lane)
7592 {
7593   return __builtin_aarch64_smlsl_hi_lanev8hi (__a, __b, __v, __lane);
7594 }
7595 
7596 __extension__ extern __inline int64x2_t
7597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_lane_s32(int64x2_t __a,int32x4_t __b,int32x2_t __v,const int __lane)7598 vmlsl_high_lane_s32(int64x2_t __a, int32x4_t __b, int32x2_t __v,
7599 		    const int __lane)
7600 {
7601   return __builtin_aarch64_smlsl_hi_lanev4si (__a, __b, __v, __lane);
7602 }
7603 
7604 __extension__ extern __inline uint32x4_t
7605 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_lane_u16(uint32x4_t __a,uint16x8_t __b,uint16x4_t __v,const int __lane)7606 vmlsl_high_lane_u16(uint32x4_t __a, uint16x8_t __b, uint16x4_t __v,
7607 		    const int __lane)
7608 {
7609   return __builtin_aarch64_umlsl_hi_lanev8hi_uuuus (__a, __b, __v, __lane);
7610 }
7611 
7612 __extension__ extern __inline uint64x2_t
7613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_lane_u32(uint64x2_t __a,uint32x4_t __b,uint32x2_t __v,const int __lane)7614 vmlsl_high_lane_u32(uint64x2_t __a, uint32x4_t __b, uint32x2_t __v,
7615 		    const int __lane)
7616 {
7617   return __builtin_aarch64_umlsl_hi_lanev4si_uuuus (__a, __b, __v, __lane);
7618 }
7619 
7620 __extension__ extern __inline int32x4_t
7621 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_laneq_s16(int32x4_t __a,int16x8_t __b,int16x8_t __v,const int __lane)7622 vmlsl_high_laneq_s16(int32x4_t __a, int16x8_t __b, int16x8_t __v,
7623 		     const int __lane)
7624 {
7625   return __builtin_aarch64_smlsl_hi_laneqv8hi (__a, __b, __v, __lane);
7626 }
7627 
7628 __extension__ extern __inline int64x2_t
7629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_laneq_s32(int64x2_t __a,int32x4_t __b,int32x4_t __v,const int __lane)7630 vmlsl_high_laneq_s32(int64x2_t __a, int32x4_t __b, int32x4_t __v,
7631 		     const int __lane)
7632 {
7633   return __builtin_aarch64_smlsl_hi_laneqv4si (__a, __b, __v, __lane);
7634 }
7635 
7636 __extension__ extern __inline uint32x4_t
7637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_laneq_u16(uint32x4_t __a,uint16x8_t __b,uint16x8_t __v,const int __lane)7638 vmlsl_high_laneq_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __v,
7639 		     const int __lane)
7640 {
7641   return __builtin_aarch64_umlsl_hi_laneqv8hi_uuuus (__a, __b, __v, __lane);
7642 }
7643 
7644 __extension__ extern __inline uint64x2_t
7645 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_laneq_u32(uint64x2_t __a,uint32x4_t __b,uint32x4_t __v,const int __lane)7646 vmlsl_high_laneq_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __v,
7647 		     const int __lane)
7648 {
7649   return __builtin_aarch64_umlsl_hi_laneqv4si_uuuus (__a, __b, __v, __lane);
7650 }
7651 
7652 __extension__ extern __inline int32x4_t
7653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_n_s16(int32x4_t __a,int16x8_t __b,int16_t __c)7654 vmlsl_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
7655 {
7656   return __builtin_aarch64_smlsl_hi_nv8hi (__a, __b, __c);
7657 }
7658 
7659 __extension__ extern __inline int64x2_t
7660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_n_s32(int64x2_t __a,int32x4_t __b,int32_t __c)7661 vmlsl_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
7662 {
7663   return __builtin_aarch64_smlsl_hi_nv4si (__a, __b, __c);
7664 }
7665 
7666 __extension__ extern __inline uint32x4_t
7667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_n_u16(uint32x4_t __a,uint16x8_t __b,uint16_t __c)7668 vmlsl_high_n_u16 (uint32x4_t __a, uint16x8_t __b, uint16_t __c)
7669 {
7670   return __builtin_aarch64_umlsl_hi_nv8hi_uuuu (__a, __b, __c);
7671 }
7672 
7673 __extension__ extern __inline uint64x2_t
7674 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_n_u32(uint64x2_t __a,uint32x4_t __b,uint32_t __c)7675 vmlsl_high_n_u32 (uint64x2_t __a, uint32x4_t __b, uint32_t __c)
7676 {
7677   return __builtin_aarch64_umlsl_hi_nv4si_uuuu (__a, __b, __c);
7678 }
7679 
7680 __extension__ extern __inline int16x8_t
7681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_s8(int16x8_t __a,int8x16_t __b,int8x16_t __c)7682 vmlsl_high_s8 (int16x8_t __a, int8x16_t __b, int8x16_t __c)
7683 {
7684   return __builtin_aarch64_smlsl_hiv16qi (__a, __b, __c);
7685 }
7686 
7687 __extension__ extern __inline int32x4_t
7688 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)7689 vmlsl_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
7690 {
7691   return __builtin_aarch64_smlsl_hiv8hi (__a, __b, __c);
7692 }
7693 
7694 __extension__ extern __inline int64x2_t
7695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)7696 vmlsl_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
7697 {
7698   return __builtin_aarch64_smlsl_hiv4si (__a, __b, __c);
7699 }
7700 
7701 __extension__ extern __inline uint16x8_t
7702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_u8(uint16x8_t __a,uint8x16_t __b,uint8x16_t __c)7703 vmlsl_high_u8 (uint16x8_t __a, uint8x16_t __b, uint8x16_t __c)
7704 {
7705   return __builtin_aarch64_umlsl_hiv16qi_uuuu (__a, __b, __c);
7706 }
7707 
7708 __extension__ extern __inline uint32x4_t
7709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_u16(uint32x4_t __a,uint16x8_t __b,uint16x8_t __c)7710 vmlsl_high_u16 (uint32x4_t __a, uint16x8_t __b, uint16x8_t __c)
7711 {
7712   return __builtin_aarch64_umlsl_hiv8hi_uuuu (__a, __b, __c);
7713 }
7714 
7715 __extension__ extern __inline uint64x2_t
7716 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_high_u32(uint64x2_t __a,uint32x4_t __b,uint32x4_t __c)7717 vmlsl_high_u32 (uint64x2_t __a, uint32x4_t __b, uint32x4_t __c)
7718 {
7719   return __builtin_aarch64_umlsl_hiv4si_uuuu (__a, __b, __c);
7720 }
7721 
7722 __extension__ extern __inline int32x4_t
7723 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __v,const int __lane)7724 vmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __v, const int __lane)
7725 {
7726   return __builtin_aarch64_vec_smlsl_lane_v4hi (__a, __b, __v, __lane);
7727 }
7728 
7729 __extension__ extern __inline int64x2_t
7730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __v,const int __lane)7731 vmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __v, const int __lane)
7732 {
7733   return __builtin_aarch64_vec_smlsl_lane_v2si (__a, __b, __v, __lane);
7734 }
7735 
7736 __extension__ extern __inline uint32x4_t
7737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_lane_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __v,const int __lane)7738 vmlsl_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __v,
7739                 const int __lane)
7740 {
7741   return __builtin_aarch64_vec_umlsl_lane_v4hi_uuuus (__a, __b, __v, __lane);
7742 }
7743 
7744 __extension__ extern __inline uint64x2_t
7745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_lane_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __v,const int __lane)7746 vmlsl_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __v,
7747                 const int __lane)
7748 {
7749   return __builtin_aarch64_vec_umlsl_lane_v2si_uuuus (__a, __b, __v, __lane);
7750 }
7751 
7752 __extension__ extern __inline int32x4_t
7753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_laneq_s16(int32x4_t __a,int16x4_t __b,int16x8_t __v,const int __lane)7754 vmlsl_laneq_s16 (int32x4_t __a, int16x4_t __b, int16x8_t __v, const int __lane)
7755 {
7756   return __builtin_aarch64_vec_smlsl_laneq_v4hi (__a, __b, __v, __lane);
7757 }
7758 
7759 __extension__ extern __inline int64x2_t
7760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_laneq_s32(int64x2_t __a,int32x2_t __b,int32x4_t __v,const int __lane)7761 vmlsl_laneq_s32 (int64x2_t __a, int32x2_t __b, int32x4_t __v, const int __lane)
7762 {
7763   return __builtin_aarch64_vec_smlsl_laneq_v2si (__a, __b, __v, __lane);
7764 }
7765 
7766 __extension__ extern __inline uint32x4_t
7767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_laneq_u16(uint32x4_t __a,uint16x4_t __b,uint16x8_t __v,const int __lane)7768 vmlsl_laneq_u16 (uint32x4_t __a, uint16x4_t __b, uint16x8_t __v,
7769                  const int __lane)
7770 {
7771   return __builtin_aarch64_vec_umlsl_laneq_v4hi_uuuus (__a, __b, __v, __lane);
7772 }
7773 
7774 __extension__ extern __inline uint64x2_t
7775 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_laneq_u32(uint64x2_t __a,uint32x2_t __b,uint32x4_t __v,const int __lane)7776 vmlsl_laneq_u32 (uint64x2_t __a, uint32x2_t __b, uint32x4_t __v,
7777                  const int __lane)
7778 {
7779   return __builtin_aarch64_vec_umlsl_laneq_v2si_uuuus (__a, __b, __v, __lane);
7780 }
7781 
7782 __extension__ extern __inline int32x4_t
7783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)7784 vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
7785 {
7786   return __builtin_aarch64_smlsl_nv4hi (__a, __b, __c);
7787 }
7788 
7789 __extension__ extern __inline int64x2_t
7790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)7791 vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
7792 {
7793   return __builtin_aarch64_smlsl_nv2si (__a, __b, __c);
7794 }
7795 
7796 __extension__ extern __inline uint32x4_t
7797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_u16(uint32x4_t __a,uint16x4_t __b,uint16_t __c)7798 vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
7799 {
7800   return __builtin_aarch64_umlsl_nv4hi_uuuu (__a, __b, __c);
7801 }
7802 
7803 __extension__ extern __inline uint64x2_t
7804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_n_u32(uint64x2_t __a,uint32x2_t __b,uint32_t __c)7805 vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
7806 {
7807   return __builtin_aarch64_umlsl_nv2si_uuuu (__a, __b, __c);
7808 }
7809 
7810 __extension__ extern __inline int16x8_t
7811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s8(int16x8_t __a,int8x8_t __b,int8x8_t __c)7812 vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
7813 {
7814   return __builtin_aarch64_smlslv8qi (__a, __b, __c);
7815 }
7816 
7817 __extension__ extern __inline int32x4_t
7818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)7819 vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
7820 {
7821   return __builtin_aarch64_smlslv4hi (__a, __b, __c);
7822 }
7823 
7824 __extension__ extern __inline int64x2_t
7825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)7826 vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
7827 {
7828   return __builtin_aarch64_smlslv2si (__a, __b, __c);
7829 }
7830 
7831 __extension__ extern __inline uint16x8_t
7832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u8(uint16x8_t __a,uint8x8_t __b,uint8x8_t __c)7833 vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
7834 {
7835   return __builtin_aarch64_umlslv8qi_uuuu (__a, __b, __c);
7836 }
7837 
7838 __extension__ extern __inline uint32x4_t
7839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u16(uint32x4_t __a,uint16x4_t __b,uint16x4_t __c)7840 vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
7841 {
7842   return __builtin_aarch64_umlslv4hi_uuuu (__a, __b, __c);
7843 }
7844 
7845 __extension__ extern __inline uint64x2_t
7846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsl_u32(uint64x2_t __a,uint32x2_t __b,uint32x2_t __c)7847 vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
7848 {
7849   return __builtin_aarch64_umlslv2si_uuuu (__a, __b, __c);
7850 }
7851 
7852 __extension__ extern __inline float32x4_t
7853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)7854 vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
7855 {
7856   float32x4_t __result;
7857   float32x4_t __t1;
7858   __asm__ ("fmul %1.4s, %3.4s, %4.s[0]; fsub %0.4s, %0.4s, %1.4s"
7859            : "=w"(__result), "=w"(__t1)
7860            : "0"(__a), "w"(__b), "w"(__c)
7861            : /* No clobbers */);
7862   return __result;
7863 }
7864 
7865 __extension__ extern __inline int16x8_t
7866 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_s16(int16x8_t __a,int16x8_t __b,int16_t __c)7867 vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
7868 {
7869   return __builtin_aarch64_mls_nv8hi (__a, __b, __c);
7870 }
7871 
7872 __extension__ extern __inline int32x4_t
7873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_s32(int32x4_t __a,int32x4_t __b,int32_t __c)7874 vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
7875 {
7876   return __builtin_aarch64_mls_nv4si (__a, __b, __c);
7877 }
7878 
7879 __extension__ extern __inline uint16x8_t
7880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_u16(uint16x8_t __a,uint16x8_t __b,uint16_t __c)7881 vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
7882 {
7883   return (uint16x8_t) __builtin_aarch64_mls_nv8hi ((int16x8_t) __a,
7884                                                    (int16x8_t) __b,
7885                                                    (int16_t) __c);
7886 }
7887 
7888 __extension__ extern __inline uint32x4_t
7889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_n_u32(uint32x4_t __a,uint32x4_t __b,uint32_t __c)7890 vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
7891 {
7892   return (uint32x4_t) __builtin_aarch64_mls_nv4si ((int32x4_t) __a,
7893                                                    (int32x4_t) __b,
7894                                                    (int32_t) __c);
7895 }
7896 
7897 __extension__ extern __inline int8x16_t
7898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)7899 vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
7900 {
7901   return __builtin_aarch64_mlsv16qi (__a, __b, __c);
7902 }
7903 
7904 __extension__ extern __inline int16x8_t
7905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)7906 vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
7907 {
7908   return __builtin_aarch64_mlsv8hi (__a, __b, __c);
7909 }
7910 
7911 __extension__ extern __inline int32x4_t
7912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)7913 vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
7914 {
7915   return __builtin_aarch64_mlsv4si (__a, __b, __c);
7916 }
7917 
7918 __extension__ extern __inline uint8x16_t
7919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)7920 vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
7921 {
7922   return (uint8x16_t) __builtin_aarch64_mlsv16qi ((int8x16_t) __a,
7923                                                   (int8x16_t) __b,
7924                                                   (int8x16_t) __c);
7925 }
7926 
7927 __extension__ extern __inline uint16x8_t
7928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)7929 vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
7930 {
7931   return (uint16x8_t) __builtin_aarch64_mlsv8hi ((int16x8_t) __a,
7932                                                  (int16x8_t) __b,
7933                                                  (int16x8_t) __c);
7934 }
7935 
7936 __extension__ extern __inline uint32x4_t
7937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)7938 vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
7939 {
7940   return (uint32x4_t) __builtin_aarch64_mlsv4si ((int32x4_t) __a,
7941                                                  (int32x4_t) __b,
7942                                                  (int32x4_t) __c);
7943 }
7944 
7945 __extension__ extern __inline int16x8_t
7946 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_s8(int8x16_t __a)7947 vmovl_high_s8 (int8x16_t __a)
7948 {
7949   return __builtin_aarch64_vec_unpacks_hi_v16qi (__a);
7950 }
7951 
7952 __extension__ extern __inline int32x4_t
7953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_s16(int16x8_t __a)7954 vmovl_high_s16 (int16x8_t __a)
7955 {
7956   return __builtin_aarch64_vec_unpacks_hi_v8hi (__a);
7957 }
7958 
7959 __extension__ extern __inline int64x2_t
7960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_s32(int32x4_t __a)7961 vmovl_high_s32 (int32x4_t __a)
7962 {
7963   return __builtin_aarch64_vec_unpacks_hi_v4si (__a);
7964 }
7965 
7966 __extension__ extern __inline uint16x8_t
7967 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_u8(uint8x16_t __a)7968 vmovl_high_u8 (uint8x16_t __a)
7969 {
7970   return __builtin_aarch64_vec_unpacku_hi_v16qi_uu (__a);
7971 }
7972 
7973 __extension__ extern __inline uint32x4_t
7974 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_u16(uint16x8_t __a)7975 vmovl_high_u16 (uint16x8_t __a)
7976 {
7977   return __builtin_aarch64_vec_unpacku_hi_v8hi_uu (__a);
7978 }
7979 
7980 __extension__ extern __inline uint64x2_t
7981 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_high_u32(uint32x4_t __a)7982 vmovl_high_u32 (uint32x4_t __a)
7983 {
7984   return __builtin_aarch64_vec_unpacku_hi_v4si_uu (__a);
7985 }
7986 
7987 __extension__ extern __inline int16x8_t
7988 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s8(int8x8_t __a)7989 vmovl_s8 (int8x8_t __a)
7990 {
7991   return __builtin_aarch64_sxtlv8hi (__a);
7992 }
7993 
7994 __extension__ extern __inline int32x4_t
7995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s16(int16x4_t __a)7996 vmovl_s16 (int16x4_t __a)
7997 {
7998   return __builtin_aarch64_sxtlv4si (__a);
7999 }
8000 
8001 __extension__ extern __inline int64x2_t
8002 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_s32(int32x2_t __a)8003 vmovl_s32 (int32x2_t __a)
8004 {
8005   return __builtin_aarch64_sxtlv2di (__a);
8006 }
8007 
8008 __extension__ extern __inline uint16x8_t
8009 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u8(uint8x8_t __a)8010 vmovl_u8 (uint8x8_t __a)
8011 {
8012   return __builtin_aarch64_uxtlv8hi_uu (__a);
8013 }
8014 
8015 __extension__ extern __inline uint32x4_t
8016 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u16(uint16x4_t __a)8017 vmovl_u16 (uint16x4_t __a)
8018 {
8019   return __builtin_aarch64_uxtlv4si_uu (__a);
8020 }
8021 
8022 __extension__ extern __inline uint64x2_t
8023 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovl_u32(uint32x2_t __a)8024 vmovl_u32 (uint32x2_t __a)
8025 {
8026   return __builtin_aarch64_uxtlv2di_uu (__a);
8027 }
8028 
8029 __extension__ extern __inline int8x16_t
8030 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_s16(int8x8_t __a,int16x8_t __b)8031 vmovn_high_s16 (int8x8_t __a, int16x8_t __b)
8032 {
8033   return __builtin_aarch64_xtn2v8hi (__a, __b);
8034 }
8035 
8036 __extension__ extern __inline int16x8_t
8037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_s32(int16x4_t __a,int32x4_t __b)8038 vmovn_high_s32 (int16x4_t __a, int32x4_t __b)
8039 {
8040   return __builtin_aarch64_xtn2v4si (__a, __b);
8041 }
8042 
8043 __extension__ extern __inline int32x4_t
8044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_s64(int32x2_t __a,int64x2_t __b)8045 vmovn_high_s64 (int32x2_t __a, int64x2_t __b)
8046 {
8047   return __builtin_aarch64_xtn2v2di (__a, __b);
8048 }
8049 
8050 __extension__ extern __inline uint8x16_t
8051 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_u16(uint8x8_t __a,uint16x8_t __b)8052 vmovn_high_u16 (uint8x8_t __a, uint16x8_t __b)
8053 {
8054   return (uint8x16_t)
8055 	   __builtin_aarch64_xtn2v8hi ((int8x8_t) __a, (int16x8_t) __b);
8056 }
8057 
8058 __extension__ extern __inline uint16x8_t
8059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_u32(uint16x4_t __a,uint32x4_t __b)8060 vmovn_high_u32 (uint16x4_t __a, uint32x4_t __b)
8061 {
8062   return (uint16x8_t)
8063 	   __builtin_aarch64_xtn2v4si ((int16x4_t) __a, (int32x4_t) __b);
8064 }
8065 
8066 __extension__ extern __inline uint32x4_t
8067 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_high_u64(uint32x2_t __a,uint64x2_t __b)8068 vmovn_high_u64 (uint32x2_t __a, uint64x2_t __b)
8069 {
8070   return (uint32x4_t)
8071 	   __builtin_aarch64_xtn2v2di ((int32x2_t) __a, (int64x2_t) __b);
8072 }
8073 
8074 __extension__ extern __inline int8x8_t
8075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s16(int16x8_t __a)8076 vmovn_s16 (int16x8_t __a)
8077 {
8078   return __builtin_aarch64_xtnv8hi (__a);
8079 }
8080 
8081 __extension__ extern __inline int16x4_t
8082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s32(int32x4_t __a)8083 vmovn_s32 (int32x4_t __a)
8084 {
8085   return __builtin_aarch64_xtnv4si (__a);
8086 }
8087 
8088 __extension__ extern __inline int32x2_t
8089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_s64(int64x2_t __a)8090 vmovn_s64 (int64x2_t __a)
8091 {
8092   return __builtin_aarch64_xtnv2di (__a);
8093 }
8094 
8095 __extension__ extern __inline uint8x8_t
8096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u16(uint16x8_t __a)8097 vmovn_u16 (uint16x8_t __a)
8098 {
8099   return (uint8x8_t)__builtin_aarch64_xtnv8hi ((int16x8_t) __a);
8100 }
8101 
8102 __extension__ extern __inline uint16x4_t
8103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u32(uint32x4_t __a)8104 vmovn_u32 (uint32x4_t __a)
8105 {
8106   return (uint16x4_t) __builtin_aarch64_xtnv4si ((int32x4_t )__a);
8107 }
8108 
8109 __extension__ extern __inline uint32x2_t
8110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovn_u64(uint64x2_t __a)8111 vmovn_u64 (uint64x2_t __a)
8112 {
8113   return (uint32x2_t) __builtin_aarch64_xtnv2di ((int64x2_t) __a);
8114 }
8115 
8116 __extension__ extern __inline int8x8_t
8117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_s16(int16x8_t __a,const int __b)8118 vshrn_n_s16 (int16x8_t __a, const int __b)
8119 {
8120   return __builtin_aarch64_shrnv8hi (__a, __b);
8121 }
8122 
8123 __extension__ extern __inline int16x4_t
8124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_s32(int32x4_t __a,const int __b)8125 vshrn_n_s32 (int32x4_t __a, const int __b)
8126 {
8127   return __builtin_aarch64_shrnv4si (__a, __b);
8128 }
8129 
8130 __extension__ extern __inline int32x2_t
8131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_s64(int64x2_t __a,const int __b)8132 vshrn_n_s64 (int64x2_t __a, const int __b)
8133 {
8134   return __builtin_aarch64_shrnv2di (__a, __b);
8135 }
8136 
8137 __extension__ extern __inline uint8x8_t
8138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_u16(uint16x8_t __a,const int __b)8139 vshrn_n_u16 (uint16x8_t __a, const int __b)
8140 {
8141   return (uint8x8_t)__builtin_aarch64_shrnv8hi ((int16x8_t)__a, __b);
8142 }
8143 
8144 __extension__ extern __inline uint16x4_t
8145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_u32(uint32x4_t __a,const int __b)8146 vshrn_n_u32 (uint32x4_t __a, const int __b)
8147 {
8148   return (uint16x4_t)__builtin_aarch64_shrnv4si ((int32x4_t)__a, __b);
8149 }
8150 
8151 __extension__ extern __inline uint32x2_t
8152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_n_u64(uint64x2_t __a,const int __b)8153 vshrn_n_u64 (uint64x2_t __a, const int __b)
8154 {
8155   return (uint32x2_t)__builtin_aarch64_shrnv2di ((int64x2_t)__a, __b);
8156 }
8157 
8158 __extension__ extern __inline int32x4_t
8159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_lane_s16(int16x8_t __a,int16x4_t __v,const int __lane)8160 vmull_high_lane_s16 (int16x8_t __a, int16x4_t __v, const int __lane)
8161 {
8162   return __builtin_aarch64_smull_hi_lanev8hi (__a, __v, __lane);
8163 }
8164 
8165 __extension__ extern __inline int64x2_t
8166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_lane_s32(int32x4_t __a,int32x2_t __v,const int __lane)8167 vmull_high_lane_s32 (int32x4_t __a, int32x2_t __v, const int __lane)
8168 {
8169   return __builtin_aarch64_smull_hi_lanev4si (__a, __v, __lane);
8170 }
8171 
8172 __extension__ extern __inline uint32x4_t
8173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_lane_u16(uint16x8_t __a,uint16x4_t __v,const int __lane)8174 vmull_high_lane_u16 (uint16x8_t __a, uint16x4_t __v, const int __lane)
8175 {
8176   return __builtin_aarch64_umull_hi_lanev8hi_uuus (__a, __v, __lane);
8177 }
8178 
8179 __extension__ extern __inline uint64x2_t
8180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_lane_u32(uint32x4_t __a,uint32x2_t __v,const int __lane)8181 vmull_high_lane_u32 (uint32x4_t __a, uint32x2_t __v, const int __lane)
8182 {
8183   return __builtin_aarch64_umull_hi_lanev4si_uuus (__a, __v, __lane);
8184 }
8185 
8186 __extension__ extern __inline int32x4_t
8187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_laneq_s16(int16x8_t __a,int16x8_t __v,const int __lane)8188 vmull_high_laneq_s16 (int16x8_t __a, int16x8_t __v, const int __lane)
8189 {
8190   return __builtin_aarch64_smull_hi_laneqv8hi (__a, __v, __lane);
8191 }
8192 
8193 __extension__ extern __inline int64x2_t
8194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_laneq_s32(int32x4_t __a,int32x4_t __v,const int __lane)8195 vmull_high_laneq_s32 (int32x4_t __a, int32x4_t __v, const int __lane)
8196 {
8197   return __builtin_aarch64_smull_hi_laneqv4si (__a, __v, __lane);
8198 }
8199 
8200 __extension__ extern __inline uint32x4_t
8201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_laneq_u16(uint16x8_t __a,uint16x8_t __v,const int __lane)8202 vmull_high_laneq_u16 (uint16x8_t __a, uint16x8_t __v, const int __lane)
8203 {
8204   return __builtin_aarch64_umull_hi_laneqv8hi_uuus (__a, __v, __lane);
8205 }
8206 
8207 __extension__ extern __inline uint64x2_t
8208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_laneq_u32(uint32x4_t __a,uint32x4_t __v,const int __lane)8209 vmull_high_laneq_u32 (uint32x4_t __a, uint32x4_t __v, const int __lane)
8210 {
8211   return __builtin_aarch64_umull_hi_laneqv4si_uuus (__a, __v, __lane);
8212 }
8213 
8214 __extension__ extern __inline int32x4_t
8215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_n_s16(int16x8_t __a,int16_t __b)8216 vmull_high_n_s16 (int16x8_t __a, int16_t __b)
8217 {
8218   return __builtin_aarch64_smull_hi_nv8hi (__a, __b);
8219 }
8220 
8221 __extension__ extern __inline int64x2_t
8222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_n_s32(int32x4_t __a,int32_t __b)8223 vmull_high_n_s32 (int32x4_t __a, int32_t __b)
8224 {
8225   return __builtin_aarch64_smull_hi_nv4si (__a, __b);
8226 }
8227 
8228 __extension__ extern __inline uint32x4_t
8229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_n_u16(uint16x8_t __a,uint16_t __b)8230 vmull_high_n_u16 (uint16x8_t __a, uint16_t __b)
8231 {
8232   return __builtin_aarch64_umull_hi_nv8hi_uuu (__a, __b);
8233 }
8234 
8235 __extension__ extern __inline uint64x2_t
8236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_n_u32(uint32x4_t __a,uint32_t __b)8237 vmull_high_n_u32 (uint32x4_t __a, uint32_t __b)
8238 {
8239  return __builtin_aarch64_umull_hi_nv4si_uuu (__a, __b);
8240 }
8241 
8242 __extension__ extern __inline poly16x8_t
8243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_p8(poly8x16_t __a,poly8x16_t __b)8244 vmull_high_p8 (poly8x16_t __a, poly8x16_t __b)
8245 {
8246   poly16x8_t __result;
8247   __asm__ ("pmull2 %0.8h,%1.16b,%2.16b"
8248            : "=w"(__result)
8249            : "w"(__a), "w"(__b)
8250            : /* No clobbers */);
8251   return __result;
8252 }
8253 
8254 __extension__ extern __inline int16x8_t
8255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_s8(int8x16_t __a,int8x16_t __b)8256 vmull_high_s8 (int8x16_t __a, int8x16_t __b)
8257 {
8258   return __builtin_aarch64_vec_widen_smult_hi_v16qi (__a, __b);
8259 }
8260 
8261 __extension__ extern __inline int32x4_t
8262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_s16(int16x8_t __a,int16x8_t __b)8263 vmull_high_s16 (int16x8_t __a, int16x8_t __b)
8264 {
8265   return __builtin_aarch64_vec_widen_smult_hi_v8hi (__a, __b);
8266 }
8267 
8268 __extension__ extern __inline int64x2_t
8269 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_s32(int32x4_t __a,int32x4_t __b)8270 vmull_high_s32 (int32x4_t __a, int32x4_t __b)
8271 {
8272   return __builtin_aarch64_vec_widen_smult_hi_v4si (__a, __b);
8273 }
8274 
8275 __extension__ extern __inline uint16x8_t
8276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_u8(uint8x16_t __a,uint8x16_t __b)8277 vmull_high_u8 (uint8x16_t __a, uint8x16_t __b)
8278 {
8279   return __builtin_aarch64_vec_widen_umult_hi_v16qi_uuu (__a, __b);
8280 }
8281 
8282 __extension__ extern __inline uint32x4_t
8283 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_u16(uint16x8_t __a,uint16x8_t __b)8284 vmull_high_u16 (uint16x8_t __a, uint16x8_t __b)
8285 {
8286   return __builtin_aarch64_vec_widen_umult_hi_v8hi_uuu (__a, __b);
8287 }
8288 
8289 __extension__ extern __inline uint64x2_t
8290 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_u32(uint32x4_t __a,uint32x4_t __b)8291 vmull_high_u32 (uint32x4_t __a, uint32x4_t __b)
8292 {
8293   return __builtin_aarch64_vec_widen_umult_hi_v4si_uuu (__a, __b);
8294 }
8295 
8296 __extension__ extern __inline int32x4_t
8297 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)8298 vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
8299 {
8300   return __builtin_aarch64_vec_smult_lane_v4hi (__a, __b, __c);
8301 }
8302 
8303 __extension__ extern __inline int64x2_t
8304 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)8305 vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
8306 {
8307   return __builtin_aarch64_vec_smult_lane_v2si (__a, __b, __c);
8308 }
8309 
8310 __extension__ extern __inline uint32x4_t
8311 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __c)8312 vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
8313 {
8314   return __builtin_aarch64_vec_umult_lane_v4hi_uuus (__a, __b, __c);
8315 }
8316 
8317 __extension__ extern __inline uint64x2_t
8318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __c)8319 vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
8320 {
8321   return __builtin_aarch64_vec_umult_lane_v2si_uuus (__a, __b, __c);
8322 }
8323 
8324 __extension__ extern __inline int32x4_t
8325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_laneq_s16(int16x4_t __a,int16x8_t __b,const int __c)8326 vmull_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
8327 {
8328   return __builtin_aarch64_vec_smult_laneq_v4hi (__a, __b, __c);
8329 }
8330 
8331 __extension__ extern __inline int64x2_t
8332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_laneq_s32(int32x2_t __a,int32x4_t __b,const int __c)8333 vmull_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
8334 {
8335   return __builtin_aarch64_vec_smult_laneq_v2si (__a, __b, __c);
8336 }
8337 
8338 __extension__ extern __inline uint32x4_t
8339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_laneq_u16(uint16x4_t __a,uint16x8_t __b,const int __c)8340 vmull_laneq_u16 (uint16x4_t __a, uint16x8_t __b, const int __c)
8341 {
8342   return __builtin_aarch64_vec_umult_laneq_v4hi_uuus (__a, __b, __c);
8343 }
8344 
8345 __extension__ extern __inline uint64x2_t
8346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_laneq_u32(uint32x2_t __a,uint32x4_t __b,const int __c)8347 vmull_laneq_u32 (uint32x2_t __a, uint32x4_t __b, const int __c)
8348 {
8349   return __builtin_aarch64_vec_umult_laneq_v2si_uuus (__a, __b, __c);
8350 }
8351 
8352 __extension__ extern __inline int32x4_t
8353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_s16(int16x4_t __a,int16_t __b)8354 vmull_n_s16 (int16x4_t __a, int16_t __b)
8355 {
8356   return __builtin_aarch64_smull_nv4hi (__a, __b);
8357 }
8358 
8359 __extension__ extern __inline int64x2_t
8360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_s32(int32x2_t __a,int32_t __b)8361 vmull_n_s32 (int32x2_t __a, int32_t __b)
8362 {
8363   return __builtin_aarch64_smull_nv2si (__a, __b);
8364 }
8365 
8366 __extension__ extern __inline uint32x4_t
8367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_u16(uint16x4_t __a,uint16_t __b)8368 vmull_n_u16 (uint16x4_t __a, uint16_t __b)
8369 {
8370   return __builtin_aarch64_umull_nv4hi_uuu (__a, __b);
8371 }
8372 
8373 __extension__ extern __inline uint64x2_t
8374 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_n_u32(uint32x2_t __a,uint32_t __b)8375 vmull_n_u32 (uint32x2_t __a, uint32_t __b)
8376 {
8377   return __builtin_aarch64_umull_nv2si_uuu (__a, __b);
8378 }
8379 
8380 __extension__ extern __inline poly16x8_t
8381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_p8(poly8x8_t __a,poly8x8_t __b)8382 vmull_p8 (poly8x8_t __a, poly8x8_t __b)
8383 {
8384   poly16x8_t __result;
8385   __asm__ ("pmull %0.8h, %1.8b, %2.8b"
8386            : "=w"(__result)
8387            : "w"(__a), "w"(__b)
8388            : /* No clobbers */);
8389   return __result;
8390 }
8391 
8392 __extension__ extern __inline int16x8_t
8393 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s8(int8x8_t __a,int8x8_t __b)8394 vmull_s8 (int8x8_t __a, int8x8_t __b)
8395 {
8396   return __builtin_aarch64_intrinsic_vec_smult_lo_v8qi (__a, __b);
8397 }
8398 
8399 __extension__ extern __inline int32x4_t
8400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s16(int16x4_t __a,int16x4_t __b)8401 vmull_s16 (int16x4_t __a, int16x4_t __b)
8402 {
8403   return __builtin_aarch64_intrinsic_vec_smult_lo_v4hi (__a, __b);
8404 }
8405 
8406 __extension__ extern __inline int64x2_t
8407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_s32(int32x2_t __a,int32x2_t __b)8408 vmull_s32 (int32x2_t __a, int32x2_t __b)
8409 {
8410   return __builtin_aarch64_intrinsic_vec_smult_lo_v2si (__a, __b);
8411 }
8412 
8413 __extension__ extern __inline uint16x8_t
8414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u8(uint8x8_t __a,uint8x8_t __b)8415 vmull_u8 (uint8x8_t __a, uint8x8_t __b)
8416 {
8417   return __builtin_aarch64_intrinsic_vec_umult_lo_v8qi_uuu (__a, __b);
8418 }
8419 
8420 __extension__ extern __inline uint32x4_t
8421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u16(uint16x4_t __a,uint16x4_t __b)8422 vmull_u16 (uint16x4_t __a, uint16x4_t __b)
8423 {
8424   return __builtin_aarch64_intrinsic_vec_umult_lo_v4hi_uuu (__a, __b);
8425 }
8426 
8427 __extension__ extern __inline uint64x2_t
8428 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_u32(uint32x2_t __a,uint32x2_t __b)8429 vmull_u32 (uint32x2_t __a, uint32x2_t __b)
8430 {
8431   return __builtin_aarch64_intrinsic_vec_umult_lo_v2si_uuu (__a, __b);
8432 }
8433 
8434 __extension__ extern __inline int16x4_t
8435 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s8(int16x4_t __a,int8x8_t __b)8436 vpadal_s8 (int16x4_t __a, int8x8_t __b)
8437 {
8438   return __builtin_aarch64_sadalpv8qi (__a, __b);
8439 }
8440 
8441 __extension__ extern __inline int32x2_t
8442 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s16(int32x2_t __a,int16x4_t __b)8443 vpadal_s16 (int32x2_t __a, int16x4_t __b)
8444 {
8445   return __builtin_aarch64_sadalpv4hi (__a, __b);
8446 }
8447 
8448 __extension__ extern __inline int64x1_t
8449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_s32(int64x1_t __a,int32x2_t __b)8450 vpadal_s32 (int64x1_t __a, int32x2_t __b)
8451 {
8452   int64x1_t __result;
8453   __asm__ ("sadalp %0.1d,%2.2s"
8454            : "=w"(__result)
8455            : "0"(__a), "w"(__b)
8456            : /* No clobbers */);
8457   return __result;
8458 }
8459 
8460 __extension__ extern __inline uint16x4_t
8461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u8(uint16x4_t __a,uint8x8_t __b)8462 vpadal_u8 (uint16x4_t __a, uint8x8_t __b)
8463 {
8464   return __builtin_aarch64_uadalpv8qi_uuu (__a, __b);
8465 }
8466 
8467 __extension__ extern __inline uint32x2_t
8468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u16(uint32x2_t __a,uint16x4_t __b)8469 vpadal_u16 (uint32x2_t __a, uint16x4_t __b)
8470 {
8471   return __builtin_aarch64_uadalpv4hi_uuu (__a, __b);
8472 }
8473 
8474 __extension__ extern __inline uint64x1_t
8475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadal_u32(uint64x1_t __a,uint32x2_t __b)8476 vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
8477 {
8478   uint64x1_t __result;
8479   __asm__ ("uadalp %0.1d,%2.2s"
8480            : "=w"(__result)
8481            : "0"(__a), "w"(__b)
8482            : /* No clobbers */);
8483   return __result;
8484 }
8485 
8486 __extension__ extern __inline int16x8_t
8487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s8(int16x8_t __a,int8x16_t __b)8488 vpadalq_s8 (int16x8_t __a, int8x16_t __b)
8489 {
8490   return __builtin_aarch64_sadalpv16qi (__a, __b);
8491 }
8492 
8493 __extension__ extern __inline int32x4_t
8494 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s16(int32x4_t __a,int16x8_t __b)8495 vpadalq_s16 (int32x4_t __a, int16x8_t __b)
8496 {
8497   return __builtin_aarch64_sadalpv8hi (__a, __b);
8498 }
8499 
8500 __extension__ extern __inline int64x2_t
8501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_s32(int64x2_t __a,int32x4_t __b)8502 vpadalq_s32 (int64x2_t __a, int32x4_t __b)
8503 {
8504   return __builtin_aarch64_sadalpv4si (__a, __b);
8505 }
8506 
8507 __extension__ extern __inline uint16x8_t
8508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u8(uint16x8_t __a,uint8x16_t __b)8509 vpadalq_u8 (uint16x8_t __a, uint8x16_t __b)
8510 {
8511   return __builtin_aarch64_uadalpv16qi_uuu (__a, __b);
8512 }
8513 
8514 __extension__ extern __inline uint32x4_t
8515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u16(uint32x4_t __a,uint16x8_t __b)8516 vpadalq_u16 (uint32x4_t __a, uint16x8_t __b)
8517 {
8518   return __builtin_aarch64_uadalpv8hi_uuu (__a, __b);
8519 }
8520 
8521 __extension__ extern __inline uint64x2_t
8522 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadalq_u32(uint64x2_t __a,uint32x4_t __b)8523 vpadalq_u32 (uint64x2_t __a, uint32x4_t __b)
8524 {
8525   return __builtin_aarch64_uadalpv4si_uuu (__a, __b);
8526 }
8527 
8528 __extension__ extern __inline int16x4_t
8529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s8(int8x8_t __a)8530 vpaddl_s8 (int8x8_t __a)
8531 {
8532   int16x4_t __result;
8533   __asm__ ("saddlp %0.4h,%1.8b"
8534            : "=w"(__result)
8535            : "w"(__a)
8536            : /* No clobbers */);
8537   return __result;
8538 }
8539 
8540 __extension__ extern __inline int32x2_t
8541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s16(int16x4_t __a)8542 vpaddl_s16 (int16x4_t __a)
8543 {
8544   int32x2_t __result;
8545   __asm__ ("saddlp %0.2s,%1.4h"
8546            : "=w"(__result)
8547            : "w"(__a)
8548            : /* No clobbers */);
8549   return __result;
8550 }
8551 
8552 __extension__ extern __inline int64x1_t
8553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_s32(int32x2_t __a)8554 vpaddl_s32 (int32x2_t __a)
8555 {
8556   int64x1_t __result;
8557   __asm__ ("saddlp %0.1d,%1.2s"
8558            : "=w"(__result)
8559            : "w"(__a)
8560            : /* No clobbers */);
8561   return __result;
8562 }
8563 
8564 __extension__ extern __inline uint16x4_t
8565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u8(uint8x8_t __a)8566 vpaddl_u8 (uint8x8_t __a)
8567 {
8568   uint16x4_t __result;
8569   __asm__ ("uaddlp %0.4h,%1.8b"
8570            : "=w"(__result)
8571            : "w"(__a)
8572            : /* No clobbers */);
8573   return __result;
8574 }
8575 
8576 __extension__ extern __inline uint32x2_t
8577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u16(uint16x4_t __a)8578 vpaddl_u16 (uint16x4_t __a)
8579 {
8580   uint32x2_t __result;
8581   __asm__ ("uaddlp %0.2s,%1.4h"
8582            : "=w"(__result)
8583            : "w"(__a)
8584            : /* No clobbers */);
8585   return __result;
8586 }
8587 
8588 __extension__ extern __inline uint64x1_t
8589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddl_u32(uint32x2_t __a)8590 vpaddl_u32 (uint32x2_t __a)
8591 {
8592   uint64x1_t __result;
8593   __asm__ ("uaddlp %0.1d,%1.2s"
8594            : "=w"(__result)
8595            : "w"(__a)
8596            : /* No clobbers */);
8597   return __result;
8598 }
8599 
8600 __extension__ extern __inline int16x8_t
8601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s8(int8x16_t __a)8602 vpaddlq_s8 (int8x16_t __a)
8603 {
8604   int16x8_t __result;
8605   __asm__ ("saddlp %0.8h,%1.16b"
8606            : "=w"(__result)
8607            : "w"(__a)
8608            : /* No clobbers */);
8609   return __result;
8610 }
8611 
8612 __extension__ extern __inline int32x4_t
8613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s16(int16x8_t __a)8614 vpaddlq_s16 (int16x8_t __a)
8615 {
8616   int32x4_t __result;
8617   __asm__ ("saddlp %0.4s,%1.8h"
8618            : "=w"(__result)
8619            : "w"(__a)
8620            : /* No clobbers */);
8621   return __result;
8622 }
8623 
8624 __extension__ extern __inline int64x2_t
8625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_s32(int32x4_t __a)8626 vpaddlq_s32 (int32x4_t __a)
8627 {
8628   int64x2_t __result;
8629   __asm__ ("saddlp %0.2d,%1.4s"
8630            : "=w"(__result)
8631            : "w"(__a)
8632            : /* No clobbers */);
8633   return __result;
8634 }
8635 
8636 __extension__ extern __inline uint16x8_t
8637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u8(uint8x16_t __a)8638 vpaddlq_u8 (uint8x16_t __a)
8639 {
8640   uint16x8_t __result;
8641   __asm__ ("uaddlp %0.8h,%1.16b"
8642            : "=w"(__result)
8643            : "w"(__a)
8644            : /* No clobbers */);
8645   return __result;
8646 }
8647 
8648 __extension__ extern __inline uint32x4_t
8649 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u16(uint16x8_t __a)8650 vpaddlq_u16 (uint16x8_t __a)
8651 {
8652   uint32x4_t __result;
8653   __asm__ ("uaddlp %0.4s,%1.8h"
8654            : "=w"(__result)
8655            : "w"(__a)
8656            : /* No clobbers */);
8657   return __result;
8658 }
8659 
8660 __extension__ extern __inline uint64x2_t
8661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddlq_u32(uint32x4_t __a)8662 vpaddlq_u32 (uint32x4_t __a)
8663 {
8664   uint64x2_t __result;
8665   __asm__ ("uaddlp %0.2d,%1.4s"
8666            : "=w"(__result)
8667            : "w"(__a)
8668            : /* No clobbers */);
8669   return __result;
8670 }
8671 
8672 __extension__ extern __inline int8x16_t
8673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_s8(int8x16_t __a,int8x16_t __b)8674 vpaddq_s8 (int8x16_t __a, int8x16_t __b)
8675 {
8676   int8x16_t __result;
8677   __asm__ ("addp %0.16b,%1.16b,%2.16b"
8678            : "=w"(__result)
8679            : "w"(__a), "w"(__b)
8680            : /* No clobbers */);
8681   return __result;
8682 }
8683 
8684 __extension__ extern __inline int16x8_t
8685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_s16(int16x8_t __a,int16x8_t __b)8686 vpaddq_s16 (int16x8_t __a, int16x8_t __b)
8687 {
8688   int16x8_t __result;
8689   __asm__ ("addp %0.8h,%1.8h,%2.8h"
8690            : "=w"(__result)
8691            : "w"(__a), "w"(__b)
8692            : /* No clobbers */);
8693   return __result;
8694 }
8695 
8696 __extension__ extern __inline int32x4_t
8697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_s32(int32x4_t __a,int32x4_t __b)8698 vpaddq_s32 (int32x4_t __a, int32x4_t __b)
8699 {
8700   int32x4_t __result;
8701   __asm__ ("addp %0.4s,%1.4s,%2.4s"
8702            : "=w"(__result)
8703            : "w"(__a), "w"(__b)
8704            : /* No clobbers */);
8705   return __result;
8706 }
8707 
8708 __extension__ extern __inline int64x2_t
8709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_s64(int64x2_t __a,int64x2_t __b)8710 vpaddq_s64 (int64x2_t __a, int64x2_t __b)
8711 {
8712   int64x2_t __result;
8713   __asm__ ("addp %0.2d,%1.2d,%2.2d"
8714            : "=w"(__result)
8715            : "w"(__a), "w"(__b)
8716            : /* No clobbers */);
8717   return __result;
8718 }
8719 
8720 __extension__ extern __inline uint8x16_t
8721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_u8(uint8x16_t __a,uint8x16_t __b)8722 vpaddq_u8 (uint8x16_t __a, uint8x16_t __b)
8723 {
8724   uint8x16_t __result;
8725   __asm__ ("addp %0.16b,%1.16b,%2.16b"
8726            : "=w"(__result)
8727            : "w"(__a), "w"(__b)
8728            : /* No clobbers */);
8729   return __result;
8730 }
8731 
8732 __extension__ extern __inline uint16x8_t
8733 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_u16(uint16x8_t __a,uint16x8_t __b)8734 vpaddq_u16 (uint16x8_t __a, uint16x8_t __b)
8735 {
8736   uint16x8_t __result;
8737   __asm__ ("addp %0.8h,%1.8h,%2.8h"
8738            : "=w"(__result)
8739            : "w"(__a), "w"(__b)
8740            : /* No clobbers */);
8741   return __result;
8742 }
8743 
8744 __extension__ extern __inline uint32x4_t
8745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_u32(uint32x4_t __a,uint32x4_t __b)8746 vpaddq_u32 (uint32x4_t __a, uint32x4_t __b)
8747 {
8748   uint32x4_t __result;
8749   __asm__ ("addp %0.4s,%1.4s,%2.4s"
8750            : "=w"(__result)
8751            : "w"(__a), "w"(__b)
8752            : /* No clobbers */);
8753   return __result;
8754 }
8755 
8756 __extension__ extern __inline uint64x2_t
8757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_u64(uint64x2_t __a,uint64x2_t __b)8758 vpaddq_u64 (uint64x2_t __a, uint64x2_t __b)
8759 {
8760   uint64x2_t __result;
8761   __asm__ ("addp %0.2d,%1.2d,%2.2d"
8762            : "=w"(__result)
8763            : "w"(__a), "w"(__b)
8764            : /* No clobbers */);
8765   return __result;
8766 }
8767 
8768 __extension__ extern __inline int16x4_t
8769 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_n_s16(int16x4_t __a,int16_t __b)8770 vqdmulh_n_s16 (int16x4_t __a, int16_t __b)
8771 {
8772   int16x4_t __result;
8773   __asm__ ("sqdmulh %0.4h,%1.4h,%2.h[0]"
8774            : "=w"(__result)
8775            : "w"(__a), "x"(__b)
8776            : /* No clobbers */);
8777   return __result;
8778 }
8779 
8780 __extension__ extern __inline int32x2_t
8781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_n_s32(int32x2_t __a,int32_t __b)8782 vqdmulh_n_s32 (int32x2_t __a, int32_t __b)
8783 {
8784   int32x2_t __result;
8785   __asm__ ("sqdmulh %0.2s,%1.2s,%2.s[0]"
8786            : "=w"(__result)
8787            : "w"(__a), "w"(__b)
8788            : /* No clobbers */);
8789   return __result;
8790 }
8791 
8792 __extension__ extern __inline int16x8_t
8793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_n_s16(int16x8_t __a,int16_t __b)8794 vqdmulhq_n_s16 (int16x8_t __a, int16_t __b)
8795 {
8796   int16x8_t __result;
8797   __asm__ ("sqdmulh %0.8h,%1.8h,%2.h[0]"
8798            : "=w"(__result)
8799            : "w"(__a), "x"(__b)
8800            : /* No clobbers */);
8801   return __result;
8802 }
8803 
8804 __extension__ extern __inline int32x4_t
8805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_n_s32(int32x4_t __a,int32_t __b)8806 vqdmulhq_n_s32 (int32x4_t __a, int32_t __b)
8807 {
8808   int32x4_t __result;
8809   __asm__ ("sqdmulh %0.4s,%1.4s,%2.s[0]"
8810            : "=w"(__result)
8811            : "w"(__a), "w"(__b)
8812            : /* No clobbers */);
8813   return __result;
8814 }
8815 
8816 __extension__ extern __inline int8x16_t
8817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_s16(int8x8_t __a,int16x8_t __b)8818 vqmovn_high_s16 (int8x8_t __a, int16x8_t __b)
8819 {
8820   return __builtin_aarch64_sqxtn2v8hi (__a, __b);
8821 }
8822 
8823 __extension__ extern __inline int16x8_t
8824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_s32(int16x4_t __a,int32x4_t __b)8825 vqmovn_high_s32 (int16x4_t __a, int32x4_t __b)
8826 {
8827   return __builtin_aarch64_sqxtn2v4si (__a, __b);
8828 }
8829 
8830 __extension__ extern __inline int32x4_t
8831 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_s64(int32x2_t __a,int64x2_t __b)8832 vqmovn_high_s64 (int32x2_t __a, int64x2_t __b)
8833 {
8834   return __builtin_aarch64_sqxtn2v2di (__a, __b);
8835 }
8836 
8837 __extension__ extern __inline uint8x16_t
8838 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_u16(uint8x8_t __a,uint16x8_t __b)8839 vqmovn_high_u16 (uint8x8_t __a, uint16x8_t __b)
8840 {
8841   return __builtin_aarch64_uqxtn2v8hi_uuu (__a, __b);
8842 }
8843 
8844 __extension__ extern __inline uint16x8_t
8845 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_u32(uint16x4_t __a,uint32x4_t __b)8846 vqmovn_high_u32 (uint16x4_t __a, uint32x4_t __b)
8847 {
8848   return __builtin_aarch64_uqxtn2v4si_uuu (__a, __b);
8849 }
8850 
8851 __extension__ extern __inline uint32x4_t
8852 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_high_u64(uint32x2_t __a,uint64x2_t __b)8853 vqmovn_high_u64 (uint32x2_t __a, uint64x2_t __b)
8854 {
8855   return __builtin_aarch64_uqxtn2v2di_uuu (__a, __b);
8856 }
8857 
8858 __extension__ extern __inline uint8x16_t
8859 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_high_s16(uint8x8_t __a,int16x8_t __b)8860 vqmovun_high_s16 (uint8x8_t __a, int16x8_t __b)
8861 {
8862   return __builtin_aarch64_sqxtun2v8hi_uus (__a, __b);
8863 }
8864 
8865 __extension__ extern __inline uint16x8_t
8866 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_high_s32(uint16x4_t __a,int32x4_t __b)8867 vqmovun_high_s32 (uint16x4_t __a, int32x4_t __b)
8868 {
8869   return __builtin_aarch64_sqxtun2v4si_uus (__a, __b);
8870 }
8871 
8872 __extension__ extern __inline uint32x4_t
8873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_high_s64(uint32x2_t __a,int64x2_t __b)8874 vqmovun_high_s64 (uint32x2_t __a, int64x2_t __b)
8875 {
8876   return __builtin_aarch64_sqxtun2v2di_uus (__a, __b);
8877 }
8878 
8879 __extension__ extern __inline int16x4_t
8880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_n_s16(int16x4_t __a,int16_t __b)8881 vqrdmulh_n_s16 (int16x4_t __a, int16_t __b)
8882 {
8883   int16x4_t __result;
8884   __asm__ ("sqrdmulh %0.4h,%1.4h,%2.h[0]"
8885            : "=w"(__result)
8886            : "w"(__a), "x"(__b)
8887            : /* No clobbers */);
8888   return __result;
8889 }
8890 
8891 __extension__ extern __inline int32x2_t
8892 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_n_s32(int32x2_t __a,int32_t __b)8893 vqrdmulh_n_s32 (int32x2_t __a, int32_t __b)
8894 {
8895   int32x2_t __result;
8896   __asm__ ("sqrdmulh %0.2s,%1.2s,%2.s[0]"
8897            : "=w"(__result)
8898            : "w"(__a), "w"(__b)
8899            : /* No clobbers */);
8900   return __result;
8901 }
8902 
8903 __extension__ extern __inline int16x8_t
8904 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_n_s16(int16x8_t __a,int16_t __b)8905 vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b)
8906 {
8907   int16x8_t __result;
8908   __asm__ ("sqrdmulh %0.8h,%1.8h,%2.h[0]"
8909            : "=w"(__result)
8910            : "w"(__a), "x"(__b)
8911            : /* No clobbers */);
8912   return __result;
8913 }
8914 
8915 __extension__ extern __inline int32x4_t
8916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_n_s32(int32x4_t __a,int32_t __b)8917 vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b)
8918 {
8919   int32x4_t __result;
8920   __asm__ ("sqrdmulh %0.4s,%1.4s,%2.s[0]"
8921            : "=w"(__result)
8922            : "w"(__a), "w"(__b)
8923            : /* No clobbers */);
8924   return __result;
8925 }
8926 
8927 __extension__ extern __inline int8x16_t
8928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_high_n_s16(int8x8_t __a,int16x8_t __b,const int __c)8929 vqrshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
8930 {
8931   return __builtin_aarch64_sqrshrn2_nv8hi (__a, __b, __c);
8932 }
8933 
8934 __extension__ extern __inline int16x8_t
8935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_high_n_s32(int16x4_t __a,int32x4_t __b,const int __c)8936 vqrshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
8937 {
8938   return __builtin_aarch64_sqrshrn2_nv4si (__a, __b, __c);
8939 }
8940 
8941 __extension__ extern __inline int32x4_t
8942 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_high_n_s64(int32x2_t __a,int64x2_t __b,const int __c)8943 vqrshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
8944 {
8945   return __builtin_aarch64_sqrshrn2_nv2di (__a, __b, __c);
8946 }
8947 
8948 __extension__ extern __inline uint8x16_t
8949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_high_n_u16(uint8x8_t __a,uint16x8_t __b,const int __c)8950 vqrshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
8951 {
8952   return __builtin_aarch64_uqrshrn2_nv8hi_uuus (__a, __b, __c);
8953 }
8954 
8955 __extension__ extern __inline uint16x8_t
8956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_high_n_u32(uint16x4_t __a,uint32x4_t __b,const int __c)8957 vqrshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
8958 {
8959   return __builtin_aarch64_uqrshrn2_nv4si_uuus (__a, __b, __c);
8960 }
8961 
8962 __extension__ extern __inline uint32x4_t
8963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_high_n_u64(uint32x2_t __a,uint64x2_t __b,const int __c)8964 vqrshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
8965 {
8966   return __builtin_aarch64_uqrshrn2_nv2di_uuus (__a, __b, __c);
8967 }
8968 
8969 __extension__ extern __inline uint8x16_t
8970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_high_n_s16(uint8x8_t __a,int16x8_t __b,const int __c)8971 vqrshrun_high_n_s16 (uint8x8_t __a, int16x8_t __b, const int __c)
8972 {
8973   return __builtin_aarch64_sqrshrun2_nv8hi_uuss (__a, __b, __c);
8974 }
8975 
8976 __extension__ extern __inline uint16x8_t
8977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_high_n_s32(uint16x4_t __a,int32x4_t __b,const int __c)8978 vqrshrun_high_n_s32 (uint16x4_t __a, int32x4_t __b, const int __c)
8979 {
8980   return __builtin_aarch64_sqrshrun2_nv4si_uuss (__a, __b, __c);
8981 }
8982 
8983 __extension__ extern __inline uint32x4_t
8984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_high_n_s64(uint32x2_t __a,int64x2_t __b,const int __c)8985 vqrshrun_high_n_s64 (uint32x2_t __a, int64x2_t __b, const int __c)
8986 {
8987   return __builtin_aarch64_sqrshrun2_nv2di_uuss (__a, __b, __c);
8988 }
8989 
8990 __extension__ extern __inline int8x16_t
8991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_high_n_s16(int8x8_t __a,int16x8_t __b,const int __c)8992 vqshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
8993 {
8994   return __builtin_aarch64_sqshrn2_nv8hi (__a, __b, __c);
8995 }
8996 
8997 __extension__ extern __inline int16x8_t
8998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_high_n_s32(int16x4_t __a,int32x4_t __b,const int __c)8999 vqshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
9000 {
9001   return __builtin_aarch64_sqshrn2_nv4si (__a, __b, __c);
9002 }
9003 
9004 __extension__ extern __inline int32x4_t
9005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_high_n_s64(int32x2_t __a,int64x2_t __b,const int __c)9006 vqshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
9007 {
9008   return __builtin_aarch64_sqshrn2_nv2di (__a, __b, __c);
9009 }
9010 
9011 __extension__ extern __inline uint8x16_t
9012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_high_n_u16(uint8x8_t __a,uint16x8_t __b,const int __c)9013 vqshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
9014 {
9015   return __builtin_aarch64_uqshrn2_nv8hi_uuus (__a, __b, __c);
9016 }
9017 
9018 __extension__ extern __inline uint16x8_t
9019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_high_n_u32(uint16x4_t __a,uint32x4_t __b,const int __c)9020 vqshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
9021 {
9022   return __builtin_aarch64_uqshrn2_nv4si_uuus (__a, __b, __c);
9023 }
9024 
9025 __extension__ extern __inline uint32x4_t
9026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_high_n_u64(uint32x2_t __a,uint64x2_t __b,const int __c)9027 vqshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
9028 {
9029   return __builtin_aarch64_uqshrn2_nv2di_uuus (__a, __b, __c);
9030 }
9031 
9032 __extension__ extern __inline uint8x16_t
9033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_high_n_s16(uint8x8_t __a,int16x8_t __b,const int __c)9034 vqshrun_high_n_s16 (uint8x8_t __a, int16x8_t __b, const int __c)
9035 {
9036   return __builtin_aarch64_sqshrun2_nv8hi_uuss (__a, __b, __c);
9037 }
9038 
9039 __extension__ extern __inline uint16x8_t
9040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_high_n_s32(uint16x4_t __a,int32x4_t __b,const int __c)9041 vqshrun_high_n_s32 (uint16x4_t __a, int32x4_t __b, const int __c)
9042 {
9043   return __builtin_aarch64_sqshrun2_nv4si_uuss (__a, __b, __c);
9044 }
9045 
9046 __extension__ extern __inline uint32x4_t
9047 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_high_n_s64(uint32x2_t __a,int64x2_t __b,const int __c)9048 vqshrun_high_n_s64 (uint32x2_t __a, int64x2_t __b, const int __c)
9049 {
9050   return __builtin_aarch64_sqshrun2_nv2di_uuss (__a, __b, __c);
9051 }
9052 
9053 __extension__ extern __inline int8x16_t
9054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_high_n_s16(int8x8_t __a,int16x8_t __b,const int __c)9055 vrshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
9056 {
9057   return __builtin_aarch64_rshrn2v8hi (__a, __b, __c);
9058 }
9059 
9060 __extension__ extern __inline int16x8_t
9061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_high_n_s32(int16x4_t __a,int32x4_t __b,const int __c)9062 vrshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
9063 {
9064   return __builtin_aarch64_rshrn2v4si (__a, __b, __c);
9065 }
9066 
9067 __extension__ extern __inline int32x4_t
9068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_high_n_s64(int32x2_t __a,int64x2_t __b,const int __c)9069 vrshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
9070 {
9071   return __builtin_aarch64_rshrn2v2di (__a, __b, __c);
9072 }
9073 
9074 __extension__ extern __inline uint8x16_t
9075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_high_n_u16(uint8x8_t __a,uint16x8_t __b,const int __c)9076 vrshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
9077 {
9078   return (uint8x16_t) __builtin_aarch64_rshrn2v8hi ((int8x8_t) __a,
9079 						    (int16x8_t) __b, __c);
9080 }
9081 
9082 __extension__ extern __inline uint16x8_t
9083 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_high_n_u32(uint16x4_t __a,uint32x4_t __b,const int __c)9084 vrshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
9085 {
9086   return (uint16x8_t) __builtin_aarch64_rshrn2v4si ((int16x4_t) __a,
9087 						    (int32x4_t) __b, __c);
9088 }
9089 
9090 __extension__ extern __inline uint32x4_t
9091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_high_n_u64(uint32x2_t __a,uint64x2_t __b,const int __c)9092 vrshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
9093 {
9094   return (uint32x4_t) __builtin_aarch64_rshrn2v2di ((int32x2_t)__a,
9095 						    (int64x2_t)__b, __c);
9096 }
9097 
9098 __extension__ extern __inline int8x8_t
9099 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_s16(int16x8_t __a,const int __b)9100 vrshrn_n_s16 (int16x8_t __a, const int __b)
9101 {
9102   return __builtin_aarch64_rshrnv8hi (__a, __b);
9103 }
9104 
9105 __extension__ extern __inline int16x4_t
9106 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_s32(int32x4_t __a,const int __b)9107 vrshrn_n_s32 (int32x4_t __a, const int __b)
9108 {
9109   return __builtin_aarch64_rshrnv4si (__a, __b);
9110 }
9111 
9112 __extension__ extern __inline int32x2_t
9113 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_s64(int64x2_t __a,const int __b)9114 vrshrn_n_s64 (int64x2_t __a, const int __b)
9115 {
9116   return __builtin_aarch64_rshrnv2di (__a, __b);
9117 }
9118 
9119 __extension__ extern __inline uint8x8_t
9120 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_u16(uint16x8_t __a,const int __b)9121 vrshrn_n_u16 (uint16x8_t __a, const int __b)
9122 {
9123   return (uint8x8_t) __builtin_aarch64_rshrnv8hi ((int16x8_t) __a, __b);
9124 }
9125 
9126 __extension__ extern __inline uint16x4_t
9127 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_u32(uint32x4_t __a,const int __b)9128 vrshrn_n_u32 (uint32x4_t __a, const int __b)
9129 {
9130   return (uint16x4_t) __builtin_aarch64_rshrnv4si ((int32x4_t) __a, __b);
9131 }
9132 
9133 __extension__ extern __inline uint32x2_t
9134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrn_n_u64(uint64x2_t __a,const int __b)9135 vrshrn_n_u64 (uint64x2_t __a, const int __b)
9136 {
9137   return (uint32x2_t) __builtin_aarch64_rshrnv2di ((int64x2_t) __a, __b);
9138 }
9139 
9140 __extension__ extern __inline uint32x2_t
9141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_u32(uint32x2_t __a)9142 vrsqrte_u32 (uint32x2_t __a)
9143 {
9144   return __builtin_aarch64_ursqrtev2si_uu (__a);
9145 }
9146 
9147 __extension__ extern __inline uint32x4_t
9148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_u32(uint32x4_t __a)9149 vrsqrteq_u32 (uint32x4_t __a)
9150 {
9151   return __builtin_aarch64_ursqrtev4si_uu (__a);
9152 }
9153 
9154 __extension__ extern __inline int8x16_t
9155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_high_n_s16(int8x8_t __a,int16x8_t __b,const int __c)9156 vshrn_high_n_s16 (int8x8_t __a, int16x8_t __b, const int __c)
9157 {
9158   return __builtin_aarch64_shrn2v8hi (__a, __b, __c);
9159 }
9160 
9161 __extension__ extern __inline int16x8_t
9162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_high_n_s32(int16x4_t __a,int32x4_t __b,const int __c)9163 vshrn_high_n_s32 (int16x4_t __a, int32x4_t __b, const int __c)
9164 {
9165   return __builtin_aarch64_shrn2v4si (__a, __b, __c);
9166 }
9167 
9168 __extension__ extern __inline int32x4_t
9169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_high_n_s64(int32x2_t __a,int64x2_t __b,const int __c)9170 vshrn_high_n_s64 (int32x2_t __a, int64x2_t __b, const int __c)
9171 {
9172   return __builtin_aarch64_shrn2v2di (__a, __b, __c);
9173 }
9174 
9175 __extension__ extern __inline uint8x16_t
9176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_high_n_u16(uint8x8_t __a,uint16x8_t __b,const int __c)9177 vshrn_high_n_u16 (uint8x8_t __a, uint16x8_t __b, const int __c)
9178 {
9179   return (uint8x16_t)
9180     __builtin_aarch64_shrn2v8hi ((int8x8_t) __a, (int16x8_t) __b, __c);
9181 }
9182 
9183 __extension__ extern __inline uint16x8_t
9184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_high_n_u32(uint16x4_t __a,uint32x4_t __b,const int __c)9185 vshrn_high_n_u32 (uint16x4_t __a, uint32x4_t __b, const int __c)
9186 {
9187   return (uint16x8_t)
9188     __builtin_aarch64_shrn2v4si ((int16x4_t) __a, (int32x4_t) __b, __c);
9189 }
9190 
9191 __extension__ extern __inline uint32x4_t
9192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrn_high_n_u64(uint32x2_t __a,uint64x2_t __b,const int __c)9193 vshrn_high_n_u64 (uint32x2_t __a, uint64x2_t __b, const int __c)
9194 {
9195   return (uint32x4_t)
9196     __builtin_aarch64_shrn2v2di ((int32x2_t) __a, (int64x2_t) __b, __c);
9197 }
9198 
9199 #define vsli_n_p8(a, b, c)                                              \
9200   __extension__                                                         \
9201     ({                                                                  \
9202        poly8x8_t b_ = (b);                                              \
9203        poly8x8_t a_ = (a);                                              \
9204        poly8x8_t result;                                                \
9205        __asm__ ("sli %0.8b,%2.8b,%3"                                    \
9206                 : "=w"(result)                                          \
9207                 : "0"(a_), "w"(b_), "i"(c)                              \
9208                 : /* No clobbers */);                                   \
9209        result;                                                          \
9210      })
9211 
9212 #define vsli_n_p16(a, b, c)                                             \
9213   __extension__                                                         \
9214     ({                                                                  \
9215        poly16x4_t b_ = (b);                                             \
9216        poly16x4_t a_ = (a);                                             \
9217        poly16x4_t result;                                               \
9218        __asm__ ("sli %0.4h,%2.4h,%3"                                    \
9219                 : "=w"(result)                                          \
9220                 : "0"(a_), "w"(b_), "i"(c)                              \
9221                 : /* No clobbers */);                                   \
9222        result;                                                          \
9223      })
9224 
9225 #define vsliq_n_p8(a, b, c)                                             \
9226   __extension__                                                         \
9227     ({                                                                  \
9228        poly8x16_t b_ = (b);                                             \
9229        poly8x16_t a_ = (a);                                             \
9230        poly8x16_t result;                                               \
9231        __asm__ ("sli %0.16b,%2.16b,%3"                                  \
9232                 : "=w"(result)                                          \
9233                 : "0"(a_), "w"(b_), "i"(c)                              \
9234                 : /* No clobbers */);                                   \
9235        result;                                                          \
9236      })
9237 
9238 #define vsliq_n_p16(a, b, c)                                            \
9239   __extension__                                                         \
9240     ({                                                                  \
9241        poly16x8_t b_ = (b);                                             \
9242        poly16x8_t a_ = (a);                                             \
9243        poly16x8_t result;                                               \
9244        __asm__ ("sli %0.8h,%2.8h,%3"                                    \
9245                 : "=w"(result)                                          \
9246                 : "0"(a_), "w"(b_), "i"(c)                              \
9247                 : /* No clobbers */);                                   \
9248        result;                                                          \
9249      })
9250 
9251 #define vsri_n_p8(a, b, c)                                              \
9252   __extension__                                                         \
9253     ({                                                                  \
9254        poly8x8_t b_ = (b);                                              \
9255        poly8x8_t a_ = (a);                                              \
9256        poly8x8_t result;                                                \
9257        __asm__ ("sri %0.8b,%2.8b,%3"                                    \
9258                 : "=w"(result)                                          \
9259                 : "0"(a_), "w"(b_), "i"(c)                              \
9260                 : /* No clobbers */);                                   \
9261        result;                                                          \
9262      })
9263 
9264 #define vsri_n_p16(a, b, c)                                             \
9265   __extension__                                                         \
9266     ({                                                                  \
9267        poly16x4_t b_ = (b);                                             \
9268        poly16x4_t a_ = (a);                                             \
9269        poly16x4_t result;                                               \
9270        __asm__ ("sri %0.4h,%2.4h,%3"                                    \
9271                 : "=w"(result)                                          \
9272                 : "0"(a_), "w"(b_), "i"(c)                              \
9273                 : /* No clobbers */);                                   \
9274        result;                                                          \
9275      })
9276 
9277 #define vsri_n_p64(a, b, c)						\
9278   __extension__								\
9279     ({									\
9280        poly64x1_t b_ = (b);						\
9281        poly64x1_t a_ = (a);						\
9282        poly64x1_t result;						\
9283        __asm__ ("sri %d0,%d2,%3"					\
9284 		: "=w"(result)						\
9285 		: "0"(a_), "w"(b_), "i"(c)				\
9286 		: /* No clobbers.  */);					\
9287        result;								\
9288      })
9289 
9290 #define vsriq_n_p8(a, b, c)                                             \
9291   __extension__                                                         \
9292     ({                                                                  \
9293        poly8x16_t b_ = (b);                                             \
9294        poly8x16_t a_ = (a);                                             \
9295        poly8x16_t result;                                               \
9296        __asm__ ("sri %0.16b,%2.16b,%3"                                  \
9297                 : "=w"(result)                                          \
9298                 : "0"(a_), "w"(b_), "i"(c)                              \
9299                 : /* No clobbers */);                                   \
9300        result;                                                          \
9301      })
9302 
9303 #define vsriq_n_p16(a, b, c)                                            \
9304   __extension__                                                         \
9305     ({                                                                  \
9306        poly16x8_t b_ = (b);                                             \
9307        poly16x8_t a_ = (a);                                             \
9308        poly16x8_t result;                                               \
9309        __asm__ ("sri %0.8h,%2.8h,%3"                                    \
9310                 : "=w"(result)                                          \
9311                 : "0"(a_), "w"(b_), "i"(c)                              \
9312                 : /* No clobbers */);                                   \
9313        result;                                                          \
9314      })
9315 
9316 #define vsriq_n_p64(a, b, c)						\
9317   __extension__								\
9318     ({									\
9319        poly64x2_t b_ = (b);						\
9320        poly64x2_t a_ = (a);						\
9321        poly64x2_t result;						\
9322        __asm__ ("sri %0.2d,%2.2d,%3"					\
9323 		: "=w"(result)						\
9324 		: "0"(a_), "w"(b_), "i"(c)				\
9325 		: /* No clobbers.  */);					\
9326        result;								\
9327      })
9328 
9329 __extension__ extern __inline uint8x8_t
9330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p8(poly8x8_t __a,poly8x8_t __b)9331 vtst_p8 (poly8x8_t __a, poly8x8_t __b)
9332 {
9333   return (uint8x8_t) ((((uint8x8_t) __a) & ((uint8x8_t) __b))
9334 		       != 0);
9335 }
9336 
9337 __extension__ extern __inline uint16x4_t
9338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p16(poly16x4_t __a,poly16x4_t __b)9339 vtst_p16 (poly16x4_t __a, poly16x4_t __b)
9340 {
9341   return (uint16x4_t) ((((uint16x4_t) __a) & ((uint16x4_t) __b))
9342 		       != 0);
9343 }
9344 
9345 __extension__ extern __inline uint64x1_t
9346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_p64(poly64x1_t __a,poly64x1_t __b)9347 vtst_p64 (poly64x1_t __a, poly64x1_t __b)
9348 {
9349   return (uint64x1_t) ((__a & __b) != __AARCH64_INT64_C (0));
9350 }
9351 
9352 __extension__ extern __inline uint8x16_t
9353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_p8(poly8x16_t __a,poly8x16_t __b)9354 vtstq_p8 (poly8x16_t __a, poly8x16_t __b)
9355 {
9356   return (uint8x16_t) ((((uint8x16_t) __a) & ((uint8x16_t) __b))
9357 		       != 0);
9358 }
9359 
9360 __extension__ extern __inline uint16x8_t
9361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_p16(poly16x8_t __a,poly16x8_t __b)9362 vtstq_p16 (poly16x8_t __a, poly16x8_t __b)
9363 {
9364   return (uint16x8_t) ((((uint16x8_t) __a) & ((uint16x8_t) __b))
9365 		       != 0);
9366 }
9367 
9368 __extension__ extern __inline uint64x2_t
9369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_p64(poly64x2_t __a,poly64x2_t __b)9370 vtstq_p64 (poly64x2_t __a, poly64x2_t __b)
9371 {
9372   return (uint64x2_t) ((((uint64x2_t) __a) & ((uint64x2_t) __b))
9373 		       != __AARCH64_INT64_C (0));
9374 }
9375 
9376 /* End of temporary inline asm implementations.  */
9377 
9378 /* Start of temporary inline asm for vldn, vstn and friends.  */
9379 
9380 /* Create struct element types for duplicating loads.
9381 
9382    Create 2 element structures of:
9383 
9384    +------+----+----+----+----+
9385    |      | 8  | 16 | 32 | 64 |
9386    +------+----+----+----+----+
9387    |int   | Y  | Y  | N  | N  |
9388    +------+----+----+----+----+
9389    |uint  | Y  | Y  | N  | N  |
9390    +------+----+----+----+----+
9391    |float | -  | Y  | N  | N  |
9392    +------+----+----+----+----+
9393    |poly  | Y  | Y  | -  | -  |
9394    +------+----+----+----+----+
9395 
9396    Create 3 element structures of:
9397 
9398    +------+----+----+----+----+
9399    |      | 8  | 16 | 32 | 64 |
9400    +------+----+----+----+----+
9401    |int   | Y  | Y  | Y  | Y  |
9402    +------+----+----+----+----+
9403    |uint  | Y  | Y  | Y  | Y  |
9404    +------+----+----+----+----+
9405    |float | -  | Y  | Y  | Y  |
9406    +------+----+----+----+----+
9407    |poly  | Y  | Y  | -  | -  |
9408    +------+----+----+----+----+
9409 
9410    Create 4 element structures of:
9411 
9412    +------+----+----+----+----+
9413    |      | 8  | 16 | 32 | 64 |
9414    +------+----+----+----+----+
9415    |int   | Y  | N  | N  | Y  |
9416    +------+----+----+----+----+
9417    |uint  | Y  | N  | N  | Y  |
9418    +------+----+----+----+----+
9419    |float | -  | N  | N  | Y  |
9420    +------+----+----+----+----+
9421    |poly  | Y  | N  | -  | -  |
9422    +------+----+----+----+----+
9423 
9424   This is required for casting memory reference.  */
9425 #define __STRUCTN(t, sz, nelem)			\
9426   typedef struct t ## sz ## x ## nelem ## _t {	\
9427     t ## sz ## _t val[nelem];			\
9428   }  t ## sz ## x ## nelem ## _t;
9429 
9430 /* 2-element structs.  */
9431 __STRUCTN (int, 8, 2)
9432 __STRUCTN (int, 16, 2)
9433 __STRUCTN (uint, 8, 2)
9434 __STRUCTN (uint, 16, 2)
9435 __STRUCTN (float, 16, 2)
9436 __STRUCTN (poly, 8, 2)
9437 __STRUCTN (poly, 16, 2)
9438 /* 3-element structs.  */
9439 __STRUCTN (int, 8, 3)
9440 __STRUCTN (int, 16, 3)
9441 __STRUCTN (int, 32, 3)
9442 __STRUCTN (int, 64, 3)
9443 __STRUCTN (uint, 8, 3)
9444 __STRUCTN (uint, 16, 3)
9445 __STRUCTN (uint, 32, 3)
9446 __STRUCTN (uint, 64, 3)
9447 __STRUCTN (float, 16, 3)
9448 __STRUCTN (float, 32, 3)
9449 __STRUCTN (float, 64, 3)
9450 __STRUCTN (poly, 8, 3)
9451 __STRUCTN (poly, 16, 3)
9452 /* 4-element structs.  */
9453 __STRUCTN (int, 8, 4)
9454 __STRUCTN (int, 64, 4)
9455 __STRUCTN (uint, 8, 4)
9456 __STRUCTN (uint, 64, 4)
9457 __STRUCTN (poly, 8, 4)
9458 __STRUCTN (float, 64, 4)
9459 #undef __STRUCTN
9460 
9461 
9462 #define __ST2_LANE_FUNC(intype, largetype, ptrtype, mode,		     \
9463 			qmode, ptr_mode, funcsuffix, signedtype)	     \
9464 __extension__ extern __inline void					     \
9465 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
9466 vst2_lane_ ## funcsuffix (ptrtype *__ptr,				     \
9467 			  intype __b, const int __c)			     \
9468 {									     \
9469   __builtin_aarch64_simd_oi __o;					     \
9470   largetype __temp;							     \
9471   __temp.val[0]								     \
9472     = vcombine_##funcsuffix (__b.val[0],				     \
9473 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
9474   __temp.val[1]								     \
9475     = vcombine_##funcsuffix (__b.val[1],				     \
9476 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
9477   __o = __builtin_aarch64_set_qregoi##qmode (__o,			     \
9478 					     (signedtype) __temp.val[0], 0); \
9479   __o = __builtin_aarch64_set_qregoi##qmode (__o,			     \
9480 					     (signedtype) __temp.val[1], 1); \
9481   __builtin_aarch64_st2_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *)  \
9482 				     __ptr, __o, __c);			     \
9483 }
9484 
__ST2_LANE_FUNC(float16x4x2_t,float16x8x2_t,float16_t,v4hf,v8hf,hf,f16,float16x8_t)9485 __ST2_LANE_FUNC (float16x4x2_t, float16x8x2_t, float16_t, v4hf, v8hf, hf, f16,
9486 		 float16x8_t)
9487 __ST2_LANE_FUNC (float32x2x2_t, float32x4x2_t, float32_t, v2sf, v4sf, sf, f32,
9488 		 float32x4_t)
9489 __ST2_LANE_FUNC (float64x1x2_t, float64x2x2_t, float64_t, df, v2df, df, f64,
9490 		 float64x2_t)
9491 __ST2_LANE_FUNC (poly8x8x2_t, poly8x16x2_t, poly8_t, v8qi, v16qi, qi, p8,
9492 		 int8x16_t)
9493 __ST2_LANE_FUNC (poly16x4x2_t, poly16x8x2_t, poly16_t, v4hi, v8hi, hi, p16,
9494 		 int16x8_t)
9495 __ST2_LANE_FUNC (poly64x1x2_t, poly64x2x2_t, poly64_t, di, v2di_ssps, di, p64,
9496 		 poly64x2_t)
9497 __ST2_LANE_FUNC (int8x8x2_t, int8x16x2_t, int8_t, v8qi, v16qi, qi, s8,
9498 		 int8x16_t)
9499 __ST2_LANE_FUNC (int16x4x2_t, int16x8x2_t, int16_t, v4hi, v8hi, hi, s16,
9500 		 int16x8_t)
9501 __ST2_LANE_FUNC (int32x2x2_t, int32x4x2_t, int32_t, v2si, v4si, si, s32,
9502 		 int32x4_t)
9503 __ST2_LANE_FUNC (int64x1x2_t, int64x2x2_t, int64_t, di, v2di, di, s64,
9504 		 int64x2_t)
9505 __ST2_LANE_FUNC (uint8x8x2_t, uint8x16x2_t, uint8_t, v8qi, v16qi, qi, u8,
9506 		 int8x16_t)
9507 __ST2_LANE_FUNC (uint16x4x2_t, uint16x8x2_t, uint16_t, v4hi, v8hi, hi, u16,
9508 		 int16x8_t)
9509 __ST2_LANE_FUNC (uint32x2x2_t, uint32x4x2_t, uint32_t, v2si, v4si, si, u32,
9510 		 int32x4_t)
9511 __ST2_LANE_FUNC (uint64x1x2_t, uint64x2x2_t, uint64_t, di, v2di, di, u64,
9512 		 int64x2_t)
9513 
9514 #define __ST2Q_LANE_FUNC(intype, ptrtype, mode, ptr_mode, funcsuffix)	    \
9515 __extension__ extern __inline void					    \
9516 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
9517 vst2q_lane_ ## funcsuffix (ptrtype *__ptr,				    \
9518 			   intype __b, const int __c)			    \
9519 {									    \
9520   union { intype __i;							    \
9521 	  __builtin_aarch64_simd_oi __o; } __temp = { __b };		    \
9522   __builtin_aarch64_st2_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
9523 				    __ptr, __temp.__o, __c);		    \
9524 }
9525 
9526 __ST2Q_LANE_FUNC (float16x8x2_t, float16_t, v8hf, hf, f16)
9527 __ST2Q_LANE_FUNC (float32x4x2_t, float32_t, v4sf, sf, f32)
9528 __ST2Q_LANE_FUNC (float64x2x2_t, float64_t, v2df, df, f64)
9529 __ST2Q_LANE_FUNC (poly8x16x2_t, poly8_t, v16qi, qi, p8)
9530 __ST2Q_LANE_FUNC (poly16x8x2_t, poly16_t, v8hi, hi, p16)
9531 __ST2Q_LANE_FUNC (poly64x2x2_t, poly64_t, v2di, di, p64)
9532 __ST2Q_LANE_FUNC (int8x16x2_t, int8_t, v16qi, qi, s8)
9533 __ST2Q_LANE_FUNC (int16x8x2_t, int16_t, v8hi, hi, s16)
9534 __ST2Q_LANE_FUNC (int32x4x2_t, int32_t, v4si, si, s32)
9535 __ST2Q_LANE_FUNC (int64x2x2_t, int64_t, v2di, di, s64)
9536 __ST2Q_LANE_FUNC (uint8x16x2_t, uint8_t, v16qi, qi, u8)
9537 __ST2Q_LANE_FUNC (uint16x8x2_t, uint16_t, v8hi, hi, u16)
9538 __ST2Q_LANE_FUNC (uint32x4x2_t, uint32_t, v4si, si, u32)
9539 __ST2Q_LANE_FUNC (uint64x2x2_t, uint64_t, v2di, di, u64)
9540 
9541 #define __ST3_LANE_FUNC(intype, largetype, ptrtype, mode,		     \
9542 			qmode, ptr_mode, funcsuffix, signedtype)	     \
9543 __extension__ extern __inline void					     \
9544 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
9545 vst3_lane_ ## funcsuffix (ptrtype *__ptr,				     \
9546 			  intype __b, const int __c)			     \
9547 {									     \
9548   __builtin_aarch64_simd_ci __o;					     \
9549   largetype __temp;							     \
9550   __temp.val[0]								     \
9551     = vcombine_##funcsuffix (__b.val[0],				     \
9552 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
9553   __temp.val[1]								     \
9554     = vcombine_##funcsuffix (__b.val[1],				     \
9555 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
9556   __temp.val[2]								     \
9557     = vcombine_##funcsuffix (__b.val[2],				     \
9558 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
9559   __o = __builtin_aarch64_set_qregci##qmode (__o,			     \
9560 					     (signedtype) __temp.val[0], 0); \
9561   __o = __builtin_aarch64_set_qregci##qmode (__o,			     \
9562 					     (signedtype) __temp.val[1], 1); \
9563   __o = __builtin_aarch64_set_qregci##qmode (__o,			     \
9564 					     (signedtype) __temp.val[2], 2); \
9565   __builtin_aarch64_st3_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *)  \
9566 				     __ptr, __o, __c);			     \
9567 }
9568 
9569 __ST3_LANE_FUNC (float16x4x3_t, float16x8x3_t, float16_t, v4hf, v8hf, hf, f16,
9570 		 float16x8_t)
9571 __ST3_LANE_FUNC (float32x2x3_t, float32x4x3_t, float32_t, v2sf, v4sf, sf, f32,
9572 		 float32x4_t)
9573 __ST3_LANE_FUNC (float64x1x3_t, float64x2x3_t, float64_t, df, v2df, df, f64,
9574 		 float64x2_t)
9575 __ST3_LANE_FUNC (poly8x8x3_t, poly8x16x3_t, poly8_t, v8qi, v16qi, qi, p8,
9576 		 int8x16_t)
9577 __ST3_LANE_FUNC (poly16x4x3_t, poly16x8x3_t, poly16_t, v4hi, v8hi, hi, p16,
9578 		 int16x8_t)
9579 __ST3_LANE_FUNC (poly64x1x3_t, poly64x2x3_t, poly64_t, di, v2di_ssps, di, p64,
9580 		 poly64x2_t)
9581 __ST3_LANE_FUNC (int8x8x3_t, int8x16x3_t, int8_t, v8qi, v16qi, qi, s8,
9582 		 int8x16_t)
9583 __ST3_LANE_FUNC (int16x4x3_t, int16x8x3_t, int16_t, v4hi, v8hi, hi, s16,
9584 		 int16x8_t)
9585 __ST3_LANE_FUNC (int32x2x3_t, int32x4x3_t, int32_t, v2si, v4si, si, s32,
9586 		 int32x4_t)
9587 __ST3_LANE_FUNC (int64x1x3_t, int64x2x3_t, int64_t, di, v2di, di, s64,
9588 		 int64x2_t)
9589 __ST3_LANE_FUNC (uint8x8x3_t, uint8x16x3_t, uint8_t, v8qi, v16qi, qi, u8,
9590 		 int8x16_t)
9591 __ST3_LANE_FUNC (uint16x4x3_t, uint16x8x3_t, uint16_t, v4hi, v8hi, hi, u16,
9592 		 int16x8_t)
9593 __ST3_LANE_FUNC (uint32x2x3_t, uint32x4x3_t, uint32_t, v2si, v4si, si, u32,
9594 		 int32x4_t)
9595 __ST3_LANE_FUNC (uint64x1x3_t, uint64x2x3_t, uint64_t, di, v2di, di, u64,
9596 		 int64x2_t)
9597 
9598 #define __ST3Q_LANE_FUNC(intype, ptrtype, mode, ptr_mode, funcsuffix)	    \
9599 __extension__ extern __inline void					    \
9600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
9601 vst3q_lane_ ## funcsuffix (ptrtype *__ptr,				    \
9602 			   intype __b, const int __c)			    \
9603 {									    \
9604   union { intype __i;							    \
9605 	  __builtin_aarch64_simd_ci __o; } __temp = { __b };		    \
9606   __builtin_aarch64_st3_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
9607 				    __ptr, __temp.__o, __c);		    \
9608 }
9609 
9610 __ST3Q_LANE_FUNC (float16x8x3_t, float16_t, v8hf, hf, f16)
9611 __ST3Q_LANE_FUNC (float32x4x3_t, float32_t, v4sf, sf, f32)
9612 __ST3Q_LANE_FUNC (float64x2x3_t, float64_t, v2df, df, f64)
9613 __ST3Q_LANE_FUNC (poly8x16x3_t, poly8_t, v16qi, qi, p8)
9614 __ST3Q_LANE_FUNC (poly16x8x3_t, poly16_t, v8hi, hi, p16)
9615 __ST3Q_LANE_FUNC (poly64x2x3_t, poly64_t, v2di, di, p64)
9616 __ST3Q_LANE_FUNC (int8x16x3_t, int8_t, v16qi, qi, s8)
9617 __ST3Q_LANE_FUNC (int16x8x3_t, int16_t, v8hi, hi, s16)
9618 __ST3Q_LANE_FUNC (int32x4x3_t, int32_t, v4si, si, s32)
9619 __ST3Q_LANE_FUNC (int64x2x3_t, int64_t, v2di, di, s64)
9620 __ST3Q_LANE_FUNC (uint8x16x3_t, uint8_t, v16qi, qi, u8)
9621 __ST3Q_LANE_FUNC (uint16x8x3_t, uint16_t, v8hi, hi, u16)
9622 __ST3Q_LANE_FUNC (uint32x4x3_t, uint32_t, v4si, si, u32)
9623 __ST3Q_LANE_FUNC (uint64x2x3_t, uint64_t, v2di, di, u64)
9624 
9625 #define __ST4_LANE_FUNC(intype, largetype, ptrtype, mode,		     \
9626 			qmode, ptr_mode, funcsuffix, signedtype)	     \
9627 __extension__ extern __inline void					     \
9628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
9629 vst4_lane_ ## funcsuffix (ptrtype *__ptr,				     \
9630 			  intype __b, const int __c)			     \
9631 {									     \
9632   __builtin_aarch64_simd_xi __o;					     \
9633   largetype __temp;							     \
9634   __temp.val[0]								     \
9635     = vcombine_##funcsuffix (__b.val[0],				     \
9636 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
9637   __temp.val[1]								     \
9638     = vcombine_##funcsuffix (__b.val[1],				     \
9639 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
9640   __temp.val[2]								     \
9641     = vcombine_##funcsuffix (__b.val[2],				     \
9642 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
9643   __temp.val[3]								     \
9644     = vcombine_##funcsuffix (__b.val[3],				     \
9645 			     vcreate_##funcsuffix (__AARCH64_UINT64_C (0))); \
9646   __o = __builtin_aarch64_set_qregxi##qmode (__o,			     \
9647 					     (signedtype) __temp.val[0], 0); \
9648   __o = __builtin_aarch64_set_qregxi##qmode (__o,			     \
9649 					     (signedtype) __temp.val[1], 1); \
9650   __o = __builtin_aarch64_set_qregxi##qmode (__o,			     \
9651 					     (signedtype) __temp.val[2], 2); \
9652   __o = __builtin_aarch64_set_qregxi##qmode (__o,			     \
9653 					     (signedtype) __temp.val[3], 3); \
9654   __builtin_aarch64_st4_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *)  \
9655 				     __ptr, __o, __c);			     \
9656 }
9657 
9658 __ST4_LANE_FUNC (float16x4x4_t, float16x8x4_t, float16_t, v4hf, v8hf, hf, f16,
9659 		 float16x8_t)
9660 __ST4_LANE_FUNC (float32x2x4_t, float32x4x4_t, float32_t, v2sf, v4sf, sf, f32,
9661 		 float32x4_t)
9662 __ST4_LANE_FUNC (float64x1x4_t, float64x2x4_t, float64_t, df, v2df, df, f64,
9663 		 float64x2_t)
9664 __ST4_LANE_FUNC (poly8x8x4_t, poly8x16x4_t, poly8_t, v8qi, v16qi, qi, p8,
9665 		 int8x16_t)
9666 __ST4_LANE_FUNC (poly16x4x4_t, poly16x8x4_t, poly16_t, v4hi, v8hi, hi, p16,
9667 		 int16x8_t)
9668 __ST4_LANE_FUNC (poly64x1x4_t, poly64x2x4_t, poly64_t, di, v2di_ssps, di, p64,
9669 		 poly64x2_t)
9670 __ST4_LANE_FUNC (int8x8x4_t, int8x16x4_t, int8_t, v8qi, v16qi, qi, s8,
9671 		 int8x16_t)
9672 __ST4_LANE_FUNC (int16x4x4_t, int16x8x4_t, int16_t, v4hi, v8hi, hi, s16,
9673 		 int16x8_t)
9674 __ST4_LANE_FUNC (int32x2x4_t, int32x4x4_t, int32_t, v2si, v4si, si, s32,
9675 		 int32x4_t)
9676 __ST4_LANE_FUNC (int64x1x4_t, int64x2x4_t, int64_t, di, v2di, di, s64,
9677 		 int64x2_t)
9678 __ST4_LANE_FUNC (uint8x8x4_t, uint8x16x4_t, uint8_t, v8qi, v16qi, qi, u8,
9679 		 int8x16_t)
9680 __ST4_LANE_FUNC (uint16x4x4_t, uint16x8x4_t, uint16_t, v4hi, v8hi, hi, u16,
9681 		 int16x8_t)
9682 __ST4_LANE_FUNC (uint32x2x4_t, uint32x4x4_t, uint32_t, v2si, v4si, si, u32,
9683 		 int32x4_t)
9684 __ST4_LANE_FUNC (uint64x1x4_t, uint64x2x4_t, uint64_t, di, v2di, di, u64,
9685 		 int64x2_t)
9686 
9687 #define __ST4Q_LANE_FUNC(intype, ptrtype, mode, ptr_mode, funcsuffix)	    \
9688 __extension__ extern __inline void					    \
9689 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
9690 vst4q_lane_ ## funcsuffix (ptrtype *__ptr,				    \
9691 			   intype __b, const int __c)			    \
9692 {									    \
9693   union { intype __i;							    \
9694 	  __builtin_aarch64_simd_xi __o; } __temp = { __b };		    \
9695   __builtin_aarch64_st4_lane##mode ((__builtin_aarch64_simd_ ## ptr_mode *) \
9696 				    __ptr, __temp.__o, __c);		    \
9697 }
9698 
9699 __ST4Q_LANE_FUNC (float16x8x4_t, float16_t, v8hf, hf, f16)
9700 __ST4Q_LANE_FUNC (float32x4x4_t, float32_t, v4sf, sf, f32)
9701 __ST4Q_LANE_FUNC (float64x2x4_t, float64_t, v2df, df, f64)
9702 __ST4Q_LANE_FUNC (poly8x16x4_t, poly8_t, v16qi, qi, p8)
9703 __ST4Q_LANE_FUNC (poly16x8x4_t, poly16_t, v8hi, hi, p16)
9704 __ST4Q_LANE_FUNC (poly64x2x4_t, poly64_t, v2di, di, p64)
9705 __ST4Q_LANE_FUNC (int8x16x4_t, int8_t, v16qi, qi, s8)
9706 __ST4Q_LANE_FUNC (int16x8x4_t, int16_t, v8hi, hi, s16)
9707 __ST4Q_LANE_FUNC (int32x4x4_t, int32_t, v4si, si, s32)
9708 __ST4Q_LANE_FUNC (int64x2x4_t, int64_t, v2di, di, s64)
9709 __ST4Q_LANE_FUNC (uint8x16x4_t, uint8_t, v16qi, qi, u8)
9710 __ST4Q_LANE_FUNC (uint16x8x4_t, uint16_t, v8hi, hi, u16)
9711 __ST4Q_LANE_FUNC (uint32x4x4_t, uint32_t, v4si, si, u32)
9712 __ST4Q_LANE_FUNC (uint64x2x4_t, uint64_t, v2di, di, u64)
9713 
9714 __extension__ extern __inline int64_t
9715 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
9716 vaddlv_s32 (int32x2_t __a)
9717 {
9718   return __builtin_aarch64_saddlvv2si (__a);
9719 }
9720 
9721 __extension__ extern __inline uint64_t
9722 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddlv_u32(uint32x2_t __a)9723 vaddlv_u32 (uint32x2_t __a)
9724 {
9725   return __builtin_aarch64_uaddlvv2si_uu (__a);
9726 }
9727 
9728 __extension__ extern __inline int16x4_t
9729 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_laneq_s16(int16x4_t __a,int16x8_t __b,const int __c)9730 vqdmulh_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
9731 {
9732   return __builtin_aarch64_sqdmulh_laneqv4hi (__a, __b, __c);
9733 }
9734 
9735 __extension__ extern __inline int32x2_t
9736 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_laneq_s32(int32x2_t __a,int32x4_t __b,const int __c)9737 vqdmulh_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
9738 {
9739   return __builtin_aarch64_sqdmulh_laneqv2si (__a, __b, __c);
9740 }
9741 
9742 __extension__ extern __inline int16x8_t
9743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_laneq_s16(int16x8_t __a,int16x8_t __b,const int __c)9744 vqdmulhq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
9745 {
9746   return __builtin_aarch64_sqdmulh_laneqv8hi (__a, __b, __c);
9747 }
9748 
9749 __extension__ extern __inline int32x4_t
9750 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_laneq_s32(int32x4_t __a,int32x4_t __b,const int __c)9751 vqdmulhq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
9752 {
9753   return __builtin_aarch64_sqdmulh_laneqv4si (__a, __b, __c);
9754 }
9755 
9756 __extension__ extern __inline int16x4_t
9757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_laneq_s16(int16x4_t __a,int16x8_t __b,const int __c)9758 vqrdmulh_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __c)
9759 {
9760   return  __builtin_aarch64_sqrdmulh_laneqv4hi (__a, __b, __c);
9761 }
9762 
9763 __extension__ extern __inline int32x2_t
9764 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_laneq_s32(int32x2_t __a,int32x4_t __b,const int __c)9765 vqrdmulh_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __c)
9766 {
9767   return __builtin_aarch64_sqrdmulh_laneqv2si (__a, __b, __c);
9768 }
9769 
9770 __extension__ extern __inline int16x8_t
9771 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_laneq_s16(int16x8_t __a,int16x8_t __b,const int __c)9772 vqrdmulhq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
9773 {
9774   return __builtin_aarch64_sqrdmulh_laneqv8hi (__a, __b, __c);
9775 }
9776 
9777 __extension__ extern __inline int32x4_t
9778 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_laneq_s32(int32x4_t __a,int32x4_t __b,const int __c)9779 vqrdmulhq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
9780 {
9781   return __builtin_aarch64_sqrdmulh_laneqv4si (__a, __b, __c);
9782 }
9783 
9784 /* Table intrinsics.  */
9785 
9786 __extension__ extern __inline poly8x8_t
9787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1_p8(poly8x16_t __a,uint8x8_t __b)9788 vqtbl1_p8 (poly8x16_t __a, uint8x8_t __b)
9789 {
9790   poly8x8_t __result;
9791   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
9792            : "=w"(__result)
9793            : "w"(__a), "w"(__b)
9794            : /* No clobbers */);
9795   return __result;
9796 }
9797 
9798 __extension__ extern __inline int8x8_t
9799 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1_s8(int8x16_t __a,uint8x8_t __b)9800 vqtbl1_s8 (int8x16_t __a, uint8x8_t __b)
9801 {
9802   int8x8_t __result;
9803   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
9804            : "=w"(__result)
9805            : "w"(__a), "w"(__b)
9806            : /* No clobbers */);
9807   return __result;
9808 }
9809 
9810 __extension__ extern __inline uint8x8_t
9811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1_u8(uint8x16_t __a,uint8x8_t __b)9812 vqtbl1_u8 (uint8x16_t __a, uint8x8_t __b)
9813 {
9814   uint8x8_t __result;
9815   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
9816            : "=w"(__result)
9817            : "w"(__a), "w"(__b)
9818            : /* No clobbers */);
9819   return __result;
9820 }
9821 
9822 __extension__ extern __inline poly8x16_t
9823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1q_p8(poly8x16_t __a,uint8x16_t __b)9824 vqtbl1q_p8 (poly8x16_t __a, uint8x16_t __b)
9825 {
9826   poly8x16_t __result;
9827   __asm__ ("tbl %0.16b, {%1.16b}, %2.16b"
9828            : "=w"(__result)
9829            : "w"(__a), "w"(__b)
9830            : /* No clobbers */);
9831   return __result;
9832 }
9833 
9834 __extension__ extern __inline int8x16_t
9835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1q_s8(int8x16_t __a,uint8x16_t __b)9836 vqtbl1q_s8 (int8x16_t __a, uint8x16_t __b)
9837 {
9838   int8x16_t __result;
9839   __asm__ ("tbl %0.16b, {%1.16b}, %2.16b"
9840            : "=w"(__result)
9841            : "w"(__a), "w"(__b)
9842            : /* No clobbers */);
9843   return __result;
9844 }
9845 
9846 __extension__ extern __inline uint8x16_t
9847 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl1q_u8(uint8x16_t __a,uint8x16_t __b)9848 vqtbl1q_u8 (uint8x16_t __a, uint8x16_t __b)
9849 {
9850   uint8x16_t __result;
9851   __asm__ ("tbl %0.16b, {%1.16b}, %2.16b"
9852            : "=w"(__result)
9853            : "w"(__a), "w"(__b)
9854            : /* No clobbers */);
9855   return __result;
9856 }
9857 
9858 __extension__ extern __inline int8x8_t
9859 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1_s8(int8x8_t __r,int8x16_t __tab,uint8x8_t __idx)9860 vqtbx1_s8 (int8x8_t __r, int8x16_t __tab, uint8x8_t __idx)
9861 {
9862   int8x8_t __result = __r;
9863   __asm__ ("tbx %0.8b,{%1.16b},%2.8b"
9864            : "+w"(__result)
9865            : "w"(__tab), "w"(__idx)
9866            : /* No clobbers */);
9867   return __result;
9868 }
9869 
9870 __extension__ extern __inline uint8x8_t
9871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1_u8(uint8x8_t __r,uint8x16_t __tab,uint8x8_t __idx)9872 vqtbx1_u8 (uint8x8_t __r, uint8x16_t __tab, uint8x8_t __idx)
9873 {
9874   uint8x8_t __result = __r;
9875   __asm__ ("tbx %0.8b,{%1.16b},%2.8b"
9876            : "+w"(__result)
9877            : "w"(__tab), "w"(__idx)
9878            : /* No clobbers */);
9879   return __result;
9880 }
9881 
9882 __extension__ extern __inline poly8x8_t
9883 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1_p8(poly8x8_t __r,poly8x16_t __tab,uint8x8_t __idx)9884 vqtbx1_p8 (poly8x8_t __r, poly8x16_t __tab, uint8x8_t __idx)
9885 {
9886   poly8x8_t __result = __r;
9887   __asm__ ("tbx %0.8b,{%1.16b},%2.8b"
9888            : "+w"(__result)
9889            : "w"(__tab), "w"(__idx)
9890            : /* No clobbers */);
9891   return __result;
9892 }
9893 
9894 __extension__ extern __inline int8x16_t
9895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1q_s8(int8x16_t __r,int8x16_t __tab,uint8x16_t __idx)9896 vqtbx1q_s8 (int8x16_t __r, int8x16_t __tab, uint8x16_t __idx)
9897 {
9898   int8x16_t __result = __r;
9899   __asm__ ("tbx %0.16b,{%1.16b},%2.16b"
9900            : "+w"(__result)
9901            : "w"(__tab), "w"(__idx)
9902            : /* No clobbers */);
9903   return __result;
9904 }
9905 
9906 __extension__ extern __inline uint8x16_t
9907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1q_u8(uint8x16_t __r,uint8x16_t __tab,uint8x16_t __idx)9908 vqtbx1q_u8 (uint8x16_t __r, uint8x16_t __tab, uint8x16_t __idx)
9909 {
9910   uint8x16_t __result = __r;
9911   __asm__ ("tbx %0.16b,{%1.16b},%2.16b"
9912            : "+w"(__result)
9913            : "w"(__tab), "w"(__idx)
9914            : /* No clobbers */);
9915   return __result;
9916 }
9917 
9918 __extension__ extern __inline poly8x16_t
9919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx1q_p8(poly8x16_t __r,poly8x16_t __tab,uint8x16_t __idx)9920 vqtbx1q_p8 (poly8x16_t __r, poly8x16_t __tab, uint8x16_t __idx)
9921 {
9922   poly8x16_t __result = __r;
9923   __asm__ ("tbx %0.16b,{%1.16b},%2.16b"
9924            : "+w"(__result)
9925            : "w"(__tab), "w"(__idx)
9926            : /* No clobbers */);
9927   return __result;
9928 }
9929 
9930 /* V7 legacy table intrinsics.  */
9931 
9932 __extension__ extern __inline int8x8_t
9933 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_s8(int8x8_t __tab,int8x8_t __idx)9934 vtbl1_s8 (int8x8_t __tab, int8x8_t __idx)
9935 {
9936   int8x8_t __result;
9937   int8x16_t __temp = vcombine_s8 (__tab, vcreate_s8 (__AARCH64_UINT64_C (0x0)));
9938   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
9939            : "=w"(__result)
9940            : "w"(__temp), "w"(__idx)
9941            : /* No clobbers */);
9942   return __result;
9943 }
9944 
9945 __extension__ extern __inline uint8x8_t
9946 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_u8(uint8x8_t __tab,uint8x8_t __idx)9947 vtbl1_u8 (uint8x8_t __tab, uint8x8_t __idx)
9948 {
9949   uint8x8_t __result;
9950   uint8x16_t __temp = vcombine_u8 (__tab, vcreate_u8 (__AARCH64_UINT64_C (0x0)));
9951   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
9952            : "=w"(__result)
9953            : "w"(__temp), "w"(__idx)
9954            : /* No clobbers */);
9955   return __result;
9956 }
9957 
9958 __extension__ extern __inline poly8x8_t
9959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl1_p8(poly8x8_t __tab,uint8x8_t __idx)9960 vtbl1_p8 (poly8x8_t __tab, uint8x8_t __idx)
9961 {
9962   poly8x8_t __result;
9963   poly8x16_t __temp = vcombine_p8 (__tab, vcreate_p8 (__AARCH64_UINT64_C (0x0)));
9964   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
9965            : "=w"(__result)
9966            : "w"(__temp), "w"(__idx)
9967            : /* No clobbers */);
9968   return __result;
9969 }
9970 
9971 __extension__ extern __inline int8x8_t
9972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_s8(int8x8x2_t __tab,int8x8_t __idx)9973 vtbl2_s8 (int8x8x2_t __tab, int8x8_t __idx)
9974 {
9975   int8x8_t __result;
9976   int8x16_t __temp = vcombine_s8 (__tab.val[0], __tab.val[1]);
9977   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
9978            : "=w"(__result)
9979            : "w"(__temp), "w"(__idx)
9980            : /* No clobbers */);
9981   return __result;
9982 }
9983 
9984 __extension__ extern __inline uint8x8_t
9985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_u8(uint8x8x2_t __tab,uint8x8_t __idx)9986 vtbl2_u8 (uint8x8x2_t __tab, uint8x8_t __idx)
9987 {
9988   uint8x8_t __result;
9989   uint8x16_t __temp = vcombine_u8 (__tab.val[0], __tab.val[1]);
9990   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
9991            : "=w"(__result)
9992            : "w"(__temp), "w"(__idx)
9993            : /* No clobbers */);
9994   return __result;
9995 }
9996 
9997 __extension__ extern __inline poly8x8_t
9998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl2_p8(poly8x8x2_t __tab,uint8x8_t __idx)9999 vtbl2_p8 (poly8x8x2_t __tab, uint8x8_t __idx)
10000 {
10001   poly8x8_t __result;
10002   poly8x16_t __temp = vcombine_p8 (__tab.val[0], __tab.val[1]);
10003   __asm__ ("tbl %0.8b, {%1.16b}, %2.8b"
10004            : "=w"(__result)
10005            : "w"(__temp), "w"(__idx)
10006            : /* No clobbers */);
10007   return __result;
10008 }
10009 
10010 __extension__ extern __inline int8x8_t
10011 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_s8(int8x8x3_t __tab,int8x8_t __idx)10012 vtbl3_s8 (int8x8x3_t __tab, int8x8_t __idx)
10013 {
10014   int8x8_t __result;
10015   int8x16x2_t __temp;
10016   __builtin_aarch64_simd_oi __o;
10017   __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
10018   __temp.val[1] = vcombine_s8 (__tab.val[2], vcreate_s8 (__AARCH64_UINT64_C (0x0)));
10019   __o = __builtin_aarch64_set_qregoiv16qi (__o,
10020 					   (int8x16_t) __temp.val[0], 0);
10021   __o = __builtin_aarch64_set_qregoiv16qi (__o,
10022 					   (int8x16_t) __temp.val[1], 1);
10023   __result = __builtin_aarch64_tbl3v8qi (__o, __idx);
10024   return __result;
10025 }
10026 
10027 __extension__ extern __inline uint8x8_t
10028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_u8(uint8x8x3_t __tab,uint8x8_t __idx)10029 vtbl3_u8 (uint8x8x3_t __tab, uint8x8_t __idx)
10030 {
10031   uint8x8_t __result;
10032   uint8x16x2_t __temp;
10033   __builtin_aarch64_simd_oi __o;
10034   __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
10035   __temp.val[1] = vcombine_u8 (__tab.val[2], vcreate_u8 (__AARCH64_UINT64_C (0x0)));
10036   __o = __builtin_aarch64_set_qregoiv16qi (__o,
10037 					   (int8x16_t) __temp.val[0], 0);
10038   __o = __builtin_aarch64_set_qregoiv16qi (__o,
10039 					   (int8x16_t) __temp.val[1], 1);
10040   __result = (uint8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
10041   return __result;
10042 }
10043 
10044 __extension__ extern __inline poly8x8_t
10045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl3_p8(poly8x8x3_t __tab,uint8x8_t __idx)10046 vtbl3_p8 (poly8x8x3_t __tab, uint8x8_t __idx)
10047 {
10048   poly8x8_t __result;
10049   poly8x16x2_t __temp;
10050   __builtin_aarch64_simd_oi __o;
10051   __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
10052   __temp.val[1] = vcombine_p8 (__tab.val[2], vcreate_p8 (__AARCH64_UINT64_C (0x0)));
10053   __o = __builtin_aarch64_set_qregoiv16qi (__o,
10054 					   (int8x16_t) __temp.val[0], 0);
10055   __o = __builtin_aarch64_set_qregoiv16qi (__o,
10056 					   (int8x16_t) __temp.val[1], 1);
10057   __result = (poly8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
10058   return __result;
10059 }
10060 
10061 __extension__ extern __inline int8x8_t
10062 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_s8(int8x8x4_t __tab,int8x8_t __idx)10063 vtbl4_s8 (int8x8x4_t __tab, int8x8_t __idx)
10064 {
10065   int8x8_t __result;
10066   int8x16x2_t __temp;
10067   __builtin_aarch64_simd_oi __o;
10068   __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
10069   __temp.val[1] = vcombine_s8 (__tab.val[2], __tab.val[3]);
10070   __o = __builtin_aarch64_set_qregoiv16qi (__o,
10071 					   (int8x16_t) __temp.val[0], 0);
10072   __o = __builtin_aarch64_set_qregoiv16qi (__o,
10073 					   (int8x16_t) __temp.val[1], 1);
10074   __result = __builtin_aarch64_tbl3v8qi (__o, __idx);
10075   return __result;
10076 }
10077 
10078 __extension__ extern __inline uint8x8_t
10079 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_u8(uint8x8x4_t __tab,uint8x8_t __idx)10080 vtbl4_u8 (uint8x8x4_t __tab, uint8x8_t __idx)
10081 {
10082   uint8x8_t __result;
10083   uint8x16x2_t __temp;
10084   __builtin_aarch64_simd_oi __o;
10085   __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
10086   __temp.val[1] = vcombine_u8 (__tab.val[2], __tab.val[3]);
10087   __o = __builtin_aarch64_set_qregoiv16qi (__o,
10088 					   (int8x16_t) __temp.val[0], 0);
10089   __o = __builtin_aarch64_set_qregoiv16qi (__o,
10090 					   (int8x16_t) __temp.val[1], 1);
10091   __result = (uint8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
10092   return __result;
10093 }
10094 
10095 __extension__ extern __inline poly8x8_t
10096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbl4_p8(poly8x8x4_t __tab,uint8x8_t __idx)10097 vtbl4_p8 (poly8x8x4_t __tab, uint8x8_t __idx)
10098 {
10099   poly8x8_t __result;
10100   poly8x16x2_t __temp;
10101   __builtin_aarch64_simd_oi __o;
10102   __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
10103   __temp.val[1] = vcombine_p8 (__tab.val[2], __tab.val[3]);
10104   __o = __builtin_aarch64_set_qregoiv16qi (__o,
10105 					   (int8x16_t) __temp.val[0], 0);
10106   __o = __builtin_aarch64_set_qregoiv16qi (__o,
10107 					   (int8x16_t) __temp.val[1], 1);
10108   __result = (poly8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
10109   return __result;
10110 }
10111 
10112 __extension__ extern __inline int8x8_t
10113 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_s8(int8x8_t __r,int8x8x2_t __tab,int8x8_t __idx)10114 vtbx2_s8 (int8x8_t __r, int8x8x2_t __tab, int8x8_t __idx)
10115 {
10116   int8x8_t __result = __r;
10117   int8x16_t __temp = vcombine_s8 (__tab.val[0], __tab.val[1]);
10118   __asm__ ("tbx %0.8b, {%1.16b}, %2.8b"
10119            : "+w"(__result)
10120            : "w"(__temp), "w"(__idx)
10121            : /* No clobbers */);
10122   return __result;
10123 }
10124 
10125 __extension__ extern __inline uint8x8_t
10126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_u8(uint8x8_t __r,uint8x8x2_t __tab,uint8x8_t __idx)10127 vtbx2_u8 (uint8x8_t __r, uint8x8x2_t __tab, uint8x8_t __idx)
10128 {
10129   uint8x8_t __result = __r;
10130   uint8x16_t __temp = vcombine_u8 (__tab.val[0], __tab.val[1]);
10131   __asm__ ("tbx %0.8b, {%1.16b}, %2.8b"
10132            : "+w"(__result)
10133            : "w"(__temp), "w"(__idx)
10134            : /* No clobbers */);
10135   return __result;
10136 }
10137 
10138 __extension__ extern __inline poly8x8_t
10139 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx2_p8(poly8x8_t __r,poly8x8x2_t __tab,uint8x8_t __idx)10140 vtbx2_p8 (poly8x8_t __r, poly8x8x2_t __tab, uint8x8_t __idx)
10141 {
10142   poly8x8_t __result = __r;
10143   poly8x16_t __temp = vcombine_p8 (__tab.val[0], __tab.val[1]);
10144   __asm__ ("tbx %0.8b, {%1.16b}, %2.8b"
10145            : "+w"(__result)
10146            : "w"(__temp), "w"(__idx)
10147            : /* No clobbers */);
10148   return __result;
10149 }
10150 
10151 /* End of temporary inline asm.  */
10152 
10153 /* Start of optimal implementations in approved order.  */
10154 
10155 /* vabd.  */
10156 
10157 __extension__ extern __inline float32_t
10158 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabds_f32(float32_t __a,float32_t __b)10159 vabds_f32 (float32_t __a, float32_t __b)
10160 {
10161   return __builtin_aarch64_fabdsf (__a, __b);
10162 }
10163 
10164 __extension__ extern __inline float64_t
10165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdd_f64(float64_t __a,float64_t __b)10166 vabdd_f64 (float64_t __a, float64_t __b)
10167 {
10168   return __builtin_aarch64_fabddf (__a, __b);
10169 }
10170 
10171 __extension__ extern __inline float32x2_t
10172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_f32(float32x2_t __a,float32x2_t __b)10173 vabd_f32 (float32x2_t __a, float32x2_t __b)
10174 {
10175   return __builtin_aarch64_fabdv2sf (__a, __b);
10176 }
10177 
10178 __extension__ extern __inline float64x1_t
10179 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_f64(float64x1_t __a,float64x1_t __b)10180 vabd_f64 (float64x1_t __a, float64x1_t __b)
10181 {
10182   return (float64x1_t) {vabdd_f64 (vget_lane_f64 (__a, 0),
10183 				   vget_lane_f64 (__b, 0))};
10184 }
10185 
10186 __extension__ extern __inline float32x4_t
10187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_f32(float32x4_t __a,float32x4_t __b)10188 vabdq_f32 (float32x4_t __a, float32x4_t __b)
10189 {
10190   return __builtin_aarch64_fabdv4sf (__a, __b);
10191 }
10192 
10193 __extension__ extern __inline float64x2_t
10194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_f64(float64x2_t __a,float64x2_t __b)10195 vabdq_f64 (float64x2_t __a, float64x2_t __b)
10196 {
10197   return __builtin_aarch64_fabdv2df (__a, __b);
10198 }
10199 
10200 /* vabs  */
10201 
10202 __extension__ extern __inline float32x2_t
10203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_f32(float32x2_t __a)10204 vabs_f32 (float32x2_t __a)
10205 {
10206   return __builtin_aarch64_absv2sf (__a);
10207 }
10208 
10209 __extension__ extern __inline float64x1_t
10210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_f64(float64x1_t __a)10211 vabs_f64 (float64x1_t __a)
10212 {
10213   return (float64x1_t) {__builtin_fabs (__a[0])};
10214 }
10215 
10216 __extension__ extern __inline int8x8_t
10217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s8(int8x8_t __a)10218 vabs_s8 (int8x8_t __a)
10219 {
10220   return __builtin_aarch64_absv8qi (__a);
10221 }
10222 
10223 __extension__ extern __inline int16x4_t
10224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s16(int16x4_t __a)10225 vabs_s16 (int16x4_t __a)
10226 {
10227   return __builtin_aarch64_absv4hi (__a);
10228 }
10229 
10230 __extension__ extern __inline int32x2_t
10231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s32(int32x2_t __a)10232 vabs_s32 (int32x2_t __a)
10233 {
10234   return __builtin_aarch64_absv2si (__a);
10235 }
10236 
10237 __extension__ extern __inline int64x1_t
10238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabs_s64(int64x1_t __a)10239 vabs_s64 (int64x1_t __a)
10240 {
10241   return (int64x1_t) {__builtin_aarch64_absdi (__a[0])};
10242 }
10243 
10244 __extension__ extern __inline float32x4_t
10245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_f32(float32x4_t __a)10246 vabsq_f32 (float32x4_t __a)
10247 {
10248   return __builtin_aarch64_absv4sf (__a);
10249 }
10250 
10251 __extension__ extern __inline float64x2_t
10252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_f64(float64x2_t __a)10253 vabsq_f64 (float64x2_t __a)
10254 {
10255   return __builtin_aarch64_absv2df (__a);
10256 }
10257 
10258 __extension__ extern __inline int8x16_t
10259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s8(int8x16_t __a)10260 vabsq_s8 (int8x16_t __a)
10261 {
10262   return __builtin_aarch64_absv16qi (__a);
10263 }
10264 
10265 __extension__ extern __inline int16x8_t
10266 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s16(int16x8_t __a)10267 vabsq_s16 (int16x8_t __a)
10268 {
10269   return __builtin_aarch64_absv8hi (__a);
10270 }
10271 
10272 __extension__ extern __inline int32x4_t
10273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s32(int32x4_t __a)10274 vabsq_s32 (int32x4_t __a)
10275 {
10276   return __builtin_aarch64_absv4si (__a);
10277 }
10278 
10279 __extension__ extern __inline int64x2_t
10280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_s64(int64x2_t __a)10281 vabsq_s64 (int64x2_t __a)
10282 {
10283   return __builtin_aarch64_absv2di (__a);
10284 }
10285 
10286 /* Try to avoid moving between integer and vector registers.
10287    For why the cast to unsigned is needed check the vnegd_s64 intrinsic.
10288    There is a testcase related to this issue:
10289    gcc.target/aarch64/vabsd_s64.c.  */
10290 
10291 __extension__ extern __inline int64_t
10292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsd_s64(int64_t __a)10293 vabsd_s64 (int64_t __a)
10294 {
10295   return __a < 0 ? - (uint64_t) __a : __a;
10296 }
10297 
10298 /* vadd */
10299 
10300 __extension__ extern __inline int64_t
10301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddd_s64(int64_t __a,int64_t __b)10302 vaddd_s64 (int64_t __a, int64_t __b)
10303 {
10304   return __a + __b;
10305 }
10306 
10307 __extension__ extern __inline uint64_t
10308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddd_u64(uint64_t __a,uint64_t __b)10309 vaddd_u64 (uint64_t __a, uint64_t __b)
10310 {
10311   return __a + __b;
10312 }
10313 
10314 /* vaddv */
10315 
10316 __extension__ extern __inline int8_t
10317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_s8(int8x8_t __a)10318 vaddv_s8 (int8x8_t __a)
10319 {
10320   return __builtin_aarch64_reduc_plus_scal_v8qi (__a);
10321 }
10322 
10323 __extension__ extern __inline int16_t
10324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_s16(int16x4_t __a)10325 vaddv_s16 (int16x4_t __a)
10326 {
10327   return __builtin_aarch64_reduc_plus_scal_v4hi (__a);
10328 }
10329 
10330 __extension__ extern __inline int32_t
10331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_s32(int32x2_t __a)10332 vaddv_s32 (int32x2_t __a)
10333 {
10334   return __builtin_aarch64_reduc_plus_scal_v2si (__a);
10335 }
10336 
10337 __extension__ extern __inline uint8_t
10338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_u8(uint8x8_t __a)10339 vaddv_u8 (uint8x8_t __a)
10340 {
10341   return (uint8_t) __builtin_aarch64_reduc_plus_scal_v8qi ((int8x8_t) __a);
10342 }
10343 
10344 __extension__ extern __inline uint16_t
10345 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_u16(uint16x4_t __a)10346 vaddv_u16 (uint16x4_t __a)
10347 {
10348   return (uint16_t) __builtin_aarch64_reduc_plus_scal_v4hi ((int16x4_t) __a);
10349 }
10350 
10351 __extension__ extern __inline uint32_t
10352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_u32(uint32x2_t __a)10353 vaddv_u32 (uint32x2_t __a)
10354 {
10355   return (int32_t) __builtin_aarch64_reduc_plus_scal_v2si ((int32x2_t) __a);
10356 }
10357 
10358 __extension__ extern __inline int8_t
10359 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_s8(int8x16_t __a)10360 vaddvq_s8 (int8x16_t __a)
10361 {
10362   return __builtin_aarch64_reduc_plus_scal_v16qi (__a);
10363 }
10364 
10365 __extension__ extern __inline int16_t
10366 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_s16(int16x8_t __a)10367 vaddvq_s16 (int16x8_t __a)
10368 {
10369   return __builtin_aarch64_reduc_plus_scal_v8hi (__a);
10370 }
10371 
10372 __extension__ extern __inline int32_t
10373 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_s32(int32x4_t __a)10374 vaddvq_s32 (int32x4_t __a)
10375 {
10376   return __builtin_aarch64_reduc_plus_scal_v4si (__a);
10377 }
10378 
10379 __extension__ extern __inline int64_t
10380 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_s64(int64x2_t __a)10381 vaddvq_s64 (int64x2_t __a)
10382 {
10383   return __builtin_aarch64_reduc_plus_scal_v2di (__a);
10384 }
10385 
10386 __extension__ extern __inline uint8_t
10387 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_u8(uint8x16_t __a)10388 vaddvq_u8 (uint8x16_t __a)
10389 {
10390   return (uint8_t) __builtin_aarch64_reduc_plus_scal_v16qi ((int8x16_t) __a);
10391 }
10392 
10393 __extension__ extern __inline uint16_t
10394 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_u16(uint16x8_t __a)10395 vaddvq_u16 (uint16x8_t __a)
10396 {
10397   return (uint16_t) __builtin_aarch64_reduc_plus_scal_v8hi ((int16x8_t) __a);
10398 }
10399 
10400 __extension__ extern __inline uint32_t
10401 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_u32(uint32x4_t __a)10402 vaddvq_u32 (uint32x4_t __a)
10403 {
10404   return (uint32_t) __builtin_aarch64_reduc_plus_scal_v4si ((int32x4_t) __a);
10405 }
10406 
10407 __extension__ extern __inline uint64_t
10408 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_u64(uint64x2_t __a)10409 vaddvq_u64 (uint64x2_t __a)
10410 {
10411   return (uint64_t) __builtin_aarch64_reduc_plus_scal_v2di ((int64x2_t) __a);
10412 }
10413 
10414 __extension__ extern __inline float32_t
10415 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddv_f32(float32x2_t __a)10416 vaddv_f32 (float32x2_t __a)
10417 {
10418   return __builtin_aarch64_reduc_plus_scal_v2sf (__a);
10419 }
10420 
10421 __extension__ extern __inline float32_t
10422 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_f32(float32x4_t __a)10423 vaddvq_f32 (float32x4_t __a)
10424 {
10425   return __builtin_aarch64_reduc_plus_scal_v4sf (__a);
10426 }
10427 
10428 __extension__ extern __inline float64_t
10429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddvq_f64(float64x2_t __a)10430 vaddvq_f64 (float64x2_t __a)
10431 {
10432   return __builtin_aarch64_reduc_plus_scal_v2df (__a);
10433 }
10434 
10435 /* vbsl  */
10436 
10437 __extension__ extern __inline float16x4_t
10438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_f16(uint16x4_t __a,float16x4_t __b,float16x4_t __c)10439 vbsl_f16 (uint16x4_t __a, float16x4_t __b, float16x4_t __c)
10440 {
10441   return __builtin_aarch64_simd_bslv4hf_suss (__a, __b, __c);
10442 }
10443 
10444 __extension__ extern __inline float32x2_t
10445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_f32(uint32x2_t __a,float32x2_t __b,float32x2_t __c)10446 vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c)
10447 {
10448   return __builtin_aarch64_simd_bslv2sf_suss (__a, __b, __c);
10449 }
10450 
10451 __extension__ extern __inline float64x1_t
10452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_f64(uint64x1_t __a,float64x1_t __b,float64x1_t __c)10453 vbsl_f64 (uint64x1_t __a, float64x1_t __b, float64x1_t __c)
10454 {
10455   return (float64x1_t)
10456     { __builtin_aarch64_simd_bsldf_suss (__a[0], __b[0], __c[0]) };
10457 }
10458 
10459 __extension__ extern __inline poly8x8_t
10460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p8(uint8x8_t __a,poly8x8_t __b,poly8x8_t __c)10461 vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c)
10462 {
10463   return __builtin_aarch64_simd_bslv8qi_pupp (__a, __b, __c);
10464 }
10465 
10466 __extension__ extern __inline poly16x4_t
10467 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p16(uint16x4_t __a,poly16x4_t __b,poly16x4_t __c)10468 vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c)
10469 {
10470   return __builtin_aarch64_simd_bslv4hi_pupp (__a, __b, __c);
10471 }
10472 __extension__ extern __inline poly64x1_t
10473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_p64(uint64x1_t __a,poly64x1_t __b,poly64x1_t __c)10474 vbsl_p64 (uint64x1_t __a, poly64x1_t __b, poly64x1_t __c)
10475 {
10476   return (poly64x1_t)
10477       {__builtin_aarch64_simd_bsldi_pupp (__a[0], __b[0], __c[0])};
10478 }
10479 
10480 __extension__ extern __inline int8x8_t
10481 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s8(uint8x8_t __a,int8x8_t __b,int8x8_t __c)10482 vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c)
10483 {
10484   return __builtin_aarch64_simd_bslv8qi_suss (__a, __b, __c);
10485 }
10486 
10487 __extension__ extern __inline int16x4_t
10488 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s16(uint16x4_t __a,int16x4_t __b,int16x4_t __c)10489 vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c)
10490 {
10491   return __builtin_aarch64_simd_bslv4hi_suss (__a, __b, __c);
10492 }
10493 
10494 __extension__ extern __inline int32x2_t
10495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s32(uint32x2_t __a,int32x2_t __b,int32x2_t __c)10496 vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c)
10497 {
10498   return __builtin_aarch64_simd_bslv2si_suss (__a, __b, __c);
10499 }
10500 
10501 __extension__ extern __inline int64x1_t
10502 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_s64(uint64x1_t __a,int64x1_t __b,int64x1_t __c)10503 vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c)
10504 {
10505   return (int64x1_t)
10506       {__builtin_aarch64_simd_bsldi_suss (__a[0], __b[0], __c[0])};
10507 }
10508 
10509 __extension__ extern __inline uint8x8_t
10510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u8(uint8x8_t __a,uint8x8_t __b,uint8x8_t __c)10511 vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
10512 {
10513   return __builtin_aarch64_simd_bslv8qi_uuuu (__a, __b, __c);
10514 }
10515 
10516 __extension__ extern __inline uint16x4_t
10517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c)10518 vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
10519 {
10520   return __builtin_aarch64_simd_bslv4hi_uuuu (__a, __b, __c);
10521 }
10522 
10523 __extension__ extern __inline uint32x2_t
10524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c)10525 vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
10526 {
10527   return __builtin_aarch64_simd_bslv2si_uuuu (__a, __b, __c);
10528 }
10529 
10530 __extension__ extern __inline uint64x1_t
10531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbsl_u64(uint64x1_t __a,uint64x1_t __b,uint64x1_t __c)10532 vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c)
10533 {
10534   return (uint64x1_t)
10535       {__builtin_aarch64_simd_bsldi_uuuu (__a[0], __b[0], __c[0])};
10536 }
10537 
10538 __extension__ extern __inline float16x8_t
10539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_f16(uint16x8_t __a,float16x8_t __b,float16x8_t __c)10540 vbslq_f16 (uint16x8_t __a, float16x8_t __b, float16x8_t __c)
10541 {
10542   return __builtin_aarch64_simd_bslv8hf_suss (__a, __b, __c);
10543 }
10544 
10545 __extension__ extern __inline float32x4_t
10546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_f32(uint32x4_t __a,float32x4_t __b,float32x4_t __c)10547 vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c)
10548 {
10549   return __builtin_aarch64_simd_bslv4sf_suss (__a, __b, __c);
10550 }
10551 
10552 __extension__ extern __inline float64x2_t
10553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_f64(uint64x2_t __a,float64x2_t __b,float64x2_t __c)10554 vbslq_f64 (uint64x2_t __a, float64x2_t __b, float64x2_t __c)
10555 {
10556   return __builtin_aarch64_simd_bslv2df_suss (__a, __b, __c);
10557 }
10558 
10559 __extension__ extern __inline poly8x16_t
10560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p8(uint8x16_t __a,poly8x16_t __b,poly8x16_t __c)10561 vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c)
10562 {
10563   return __builtin_aarch64_simd_bslv16qi_pupp (__a, __b, __c);
10564 }
10565 
10566 __extension__ extern __inline poly16x8_t
10567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p16(uint16x8_t __a,poly16x8_t __b,poly16x8_t __c)10568 vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c)
10569 {
10570   return __builtin_aarch64_simd_bslv8hi_pupp (__a, __b, __c);
10571 }
10572 
10573 __extension__ extern __inline int8x16_t
10574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s8(uint8x16_t __a,int8x16_t __b,int8x16_t __c)10575 vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c)
10576 {
10577   return __builtin_aarch64_simd_bslv16qi_suss (__a, __b, __c);
10578 }
10579 
10580 __extension__ extern __inline int16x8_t
10581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s16(uint16x8_t __a,int16x8_t __b,int16x8_t __c)10582 vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c)
10583 {
10584   return __builtin_aarch64_simd_bslv8hi_suss (__a, __b, __c);
10585 }
10586 
10587 __extension__ extern __inline poly64x2_t
10588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_p64(uint64x2_t __a,poly64x2_t __b,poly64x2_t __c)10589 vbslq_p64 (uint64x2_t __a, poly64x2_t __b, poly64x2_t __c)
10590 {
10591   return __builtin_aarch64_simd_bslv2di_pupp (__a, __b, __c);
10592 }
10593 
10594 __extension__ extern __inline int32x4_t
10595 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s32(uint32x4_t __a,int32x4_t __b,int32x4_t __c)10596 vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c)
10597 {
10598   return __builtin_aarch64_simd_bslv4si_suss (__a, __b, __c);
10599 }
10600 
10601 __extension__ extern __inline int64x2_t
10602 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_s64(uint64x2_t __a,int64x2_t __b,int64x2_t __c)10603 vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c)
10604 {
10605   return __builtin_aarch64_simd_bslv2di_suss (__a, __b, __c);
10606 }
10607 
10608 __extension__ extern __inline uint8x16_t
10609 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)10610 vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
10611 {
10612   return __builtin_aarch64_simd_bslv16qi_uuuu (__a, __b, __c);
10613 }
10614 
10615 __extension__ extern __inline uint16x8_t
10616 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)10617 vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
10618 {
10619   return __builtin_aarch64_simd_bslv8hi_uuuu (__a, __b, __c);
10620 }
10621 
10622 __extension__ extern __inline uint32x4_t
10623 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)10624 vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
10625 {
10626   return __builtin_aarch64_simd_bslv4si_uuuu (__a, __b, __c);
10627 }
10628 
10629 __extension__ extern __inline uint64x2_t
10630 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbslq_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)10631 vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
10632 {
10633   return __builtin_aarch64_simd_bslv2di_uuuu (__a, __b, __c);
10634 }
10635 
10636 /* ARMv8.1-A instrinsics.  */
10637 #pragma GCC push_options
10638 #pragma GCC target ("+nothing+rdma")
10639 
10640 __extension__ extern __inline int16x4_t
10641 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)10642 vqrdmlah_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
10643 {
10644   return __builtin_aarch64_sqrdmlahv4hi (__a, __b, __c);
10645 }
10646 
10647 __extension__ extern __inline int32x2_t
10648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)10649 vqrdmlah_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
10650 {
10651   return __builtin_aarch64_sqrdmlahv2si (__a, __b, __c);
10652 }
10653 
10654 __extension__ extern __inline int16x8_t
10655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)10656 vqrdmlahq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
10657 {
10658   return __builtin_aarch64_sqrdmlahv8hi (__a, __b, __c);
10659 }
10660 
10661 __extension__ extern __inline int32x4_t
10662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)10663 vqrdmlahq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
10664 {
10665   return __builtin_aarch64_sqrdmlahv4si (__a, __b, __c);
10666 }
10667 
10668 __extension__ extern __inline int16x4_t
10669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c)10670 vqrdmlsh_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
10671 {
10672   return __builtin_aarch64_sqrdmlshv4hi (__a, __b, __c);
10673 }
10674 
10675 __extension__ extern __inline int32x2_t
10676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c)10677 vqrdmlsh_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
10678 {
10679   return __builtin_aarch64_sqrdmlshv2si (__a, __b, __c);
10680 }
10681 
10682 __extension__ extern __inline int16x8_t
10683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)10684 vqrdmlshq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
10685 {
10686   return __builtin_aarch64_sqrdmlshv8hi (__a, __b, __c);
10687 }
10688 
10689 __extension__ extern __inline int32x4_t
10690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)10691 vqrdmlshq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
10692 {
10693   return __builtin_aarch64_sqrdmlshv4si (__a, __b, __c);
10694 }
10695 
10696 __extension__ extern __inline int16x4_t
10697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_laneq_s16(int16x4_t __a,int16x4_t __b,int16x8_t __c,const int __d)10698 vqrdmlah_laneq_s16 (int16x4_t __a, int16x4_t __b, int16x8_t __c, const int __d)
10699 {
10700   return  __builtin_aarch64_sqrdmlah_laneqv4hi (__a, __b, __c, __d);
10701 }
10702 
10703 __extension__ extern __inline int32x2_t
10704 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_laneq_s32(int32x2_t __a,int32x2_t __b,int32x4_t __c,const int __d)10705 vqrdmlah_laneq_s32 (int32x2_t __a, int32x2_t __b, int32x4_t __c, const int __d)
10706 {
10707   return __builtin_aarch64_sqrdmlah_laneqv2si (__a, __b, __c, __d);
10708 }
10709 
10710 __extension__ extern __inline int16x8_t
10711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_laneq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c,const int __d)10712 vqrdmlahq_laneq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c, const int __d)
10713 {
10714   return __builtin_aarch64_sqrdmlah_laneqv8hi (__a, __b, __c, __d);
10715 }
10716 
10717 __extension__ extern __inline int32x4_t
10718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_laneq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c,const int __d)10719 vqrdmlahq_laneq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c, const int __d)
10720 {
10721   return __builtin_aarch64_sqrdmlah_laneqv4si (__a, __b, __c, __d);
10722 }
10723 
10724 __extension__ extern __inline int16x4_t
10725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_laneq_s16(int16x4_t __a,int16x4_t __b,int16x8_t __c,const int __d)10726 vqrdmlsh_laneq_s16 (int16x4_t __a, int16x4_t __b, int16x8_t __c, const int __d)
10727 {
10728   return  __builtin_aarch64_sqrdmlsh_laneqv4hi (__a, __b, __c, __d);
10729 }
10730 
10731 __extension__ extern __inline int32x2_t
10732 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_laneq_s32(int32x2_t __a,int32x2_t __b,int32x4_t __c,const int __d)10733 vqrdmlsh_laneq_s32 (int32x2_t __a, int32x2_t __b, int32x4_t __c, const int __d)
10734 {
10735   return __builtin_aarch64_sqrdmlsh_laneqv2si (__a, __b, __c, __d);
10736 }
10737 
10738 __extension__ extern __inline int16x8_t
10739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_laneq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c,const int __d)10740 vqrdmlshq_laneq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c, const int __d)
10741 {
10742   return __builtin_aarch64_sqrdmlsh_laneqv8hi (__a, __b, __c, __d);
10743 }
10744 
10745 __extension__ extern __inline int32x4_t
10746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_laneq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c,const int __d)10747 vqrdmlshq_laneq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c, const int __d)
10748 {
10749   return __builtin_aarch64_sqrdmlsh_laneqv4si (__a, __b, __c, __d);
10750 }
10751 
10752 __extension__ extern __inline int16x4_t
10753 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)10754 vqrdmlah_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
10755 {
10756   return  __builtin_aarch64_sqrdmlah_lanev4hi (__a, __b, __c, __d);
10757 }
10758 
10759 __extension__ extern __inline int32x2_t
10760 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlah_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)10761 vqrdmlah_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
10762 {
10763   return __builtin_aarch64_sqrdmlah_lanev2si (__a, __b, __c, __d);
10764 }
10765 
10766 __extension__ extern __inline int16x8_t
10767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)10768 vqrdmlahq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
10769 {
10770   return __builtin_aarch64_sqrdmlah_lanev8hi (__a, __b, __c, __d);
10771 }
10772 
10773 __extension__ extern __inline int32x4_t
10774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)10775 vqrdmlahq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
10776 {
10777   return __builtin_aarch64_sqrdmlah_lanev4si (__a, __b, __c, __d);
10778 }
10779 
10780 __extension__ extern __inline int16_t
10781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahh_s16(int16_t __a,int16_t __b,int16_t __c)10782 vqrdmlahh_s16 (int16_t __a, int16_t __b, int16_t __c)
10783 {
10784   return (int16_t) __builtin_aarch64_sqrdmlahhi (__a, __b, __c);
10785 }
10786 
10787 __extension__ extern __inline int16_t
10788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahh_lane_s16(int16_t __a,int16_t __b,int16x4_t __c,const int __d)10789 vqrdmlahh_lane_s16 (int16_t __a, int16_t __b, int16x4_t __c, const int __d)
10790 {
10791   return __builtin_aarch64_sqrdmlah_lanehi (__a, __b, __c, __d);
10792 }
10793 
10794 __extension__ extern __inline int16_t
10795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahh_laneq_s16(int16_t __a,int16_t __b,int16x8_t __c,const int __d)10796 vqrdmlahh_laneq_s16 (int16_t __a, int16_t __b, int16x8_t __c, const int __d)
10797 {
10798   return __builtin_aarch64_sqrdmlah_laneqhi (__a, __b, __c, __d);
10799 }
10800 
10801 __extension__ extern __inline int32_t
10802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahs_s32(int32_t __a,int32_t __b,int32_t __c)10803 vqrdmlahs_s32 (int32_t __a, int32_t __b, int32_t __c)
10804 {
10805   return (int32_t) __builtin_aarch64_sqrdmlahsi (__a, __b, __c);
10806 }
10807 
10808 __extension__ extern __inline int32_t
10809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahs_lane_s32(int32_t __a,int32_t __b,int32x2_t __c,const int __d)10810 vqrdmlahs_lane_s32 (int32_t __a, int32_t __b, int32x2_t __c, const int __d)
10811 {
10812   return __builtin_aarch64_sqrdmlah_lanesi (__a, __b, __c, __d);
10813 }
10814 
10815 __extension__ extern __inline int32_t
10816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlahs_laneq_s32(int32_t __a,int32_t __b,int32x4_t __c,const int __d)10817 vqrdmlahs_laneq_s32 (int32_t __a, int32_t __b, int32x4_t __c, const int __d)
10818 {
10819   return __builtin_aarch64_sqrdmlah_laneqsi (__a, __b, __c, __d);
10820 }
10821 
10822 __extension__ extern __inline int16x4_t
10823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __d)10824 vqrdmlsh_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
10825 {
10826   return  __builtin_aarch64_sqrdmlsh_lanev4hi (__a, __b, __c, __d);
10827 }
10828 
10829 __extension__ extern __inline int32x2_t
10830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlsh_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __d)10831 vqrdmlsh_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
10832 {
10833   return __builtin_aarch64_sqrdmlsh_lanev2si (__a, __b, __c, __d);
10834 }
10835 
10836 __extension__ extern __inline int16x8_t
10837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __d)10838 vqrdmlshq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
10839 {
10840   return __builtin_aarch64_sqrdmlsh_lanev8hi (__a, __b, __c, __d);
10841 }
10842 
10843 __extension__ extern __inline int32x4_t
10844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __d)10845 vqrdmlshq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
10846 {
10847   return __builtin_aarch64_sqrdmlsh_lanev4si (__a, __b, __c, __d);
10848 }
10849 
10850 __extension__ extern __inline int16_t
10851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshh_s16(int16_t __a,int16_t __b,int16_t __c)10852 vqrdmlshh_s16 (int16_t __a, int16_t __b, int16_t __c)
10853 {
10854   return (int16_t) __builtin_aarch64_sqrdmlshhi (__a, __b, __c);
10855 }
10856 
10857 __extension__ extern __inline int16_t
10858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshh_lane_s16(int16_t __a,int16_t __b,int16x4_t __c,const int __d)10859 vqrdmlshh_lane_s16 (int16_t __a, int16_t __b, int16x4_t __c, const int __d)
10860 {
10861   return __builtin_aarch64_sqrdmlsh_lanehi (__a, __b, __c, __d);
10862 }
10863 
10864 __extension__ extern __inline int16_t
10865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshh_laneq_s16(int16_t __a,int16_t __b,int16x8_t __c,const int __d)10866 vqrdmlshh_laneq_s16 (int16_t __a, int16_t __b, int16x8_t __c, const int __d)
10867 {
10868   return __builtin_aarch64_sqrdmlsh_laneqhi (__a, __b, __c, __d);
10869 }
10870 
10871 __extension__ extern __inline int32_t
10872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshs_s32(int32_t __a,int32_t __b,int32_t __c)10873 vqrdmlshs_s32 (int32_t __a, int32_t __b, int32_t __c)
10874 {
10875   return (int32_t) __builtin_aarch64_sqrdmlshsi (__a, __b, __c);
10876 }
10877 
10878 __extension__ extern __inline int32_t
10879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshs_lane_s32(int32_t __a,int32_t __b,int32x2_t __c,const int __d)10880 vqrdmlshs_lane_s32 (int32_t __a, int32_t __b, int32x2_t __c, const int __d)
10881 {
10882   return __builtin_aarch64_sqrdmlsh_lanesi (__a, __b, __c, __d);
10883 }
10884 
10885 __extension__ extern __inline int32_t
10886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmlshs_laneq_s32(int32_t __a,int32_t __b,int32x4_t __c,const int __d)10887 vqrdmlshs_laneq_s32 (int32_t __a, int32_t __b, int32x4_t __c, const int __d)
10888 {
10889   return __builtin_aarch64_sqrdmlsh_laneqsi (__a, __b, __c, __d);
10890 }
10891 #pragma GCC pop_options
10892 
10893 #pragma GCC push_options
10894 #pragma GCC target ("+nothing+crypto")
10895 /* vaes  */
10896 
10897 __extension__ extern __inline uint8x16_t
10898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaeseq_u8(uint8x16_t data,uint8x16_t key)10899 vaeseq_u8 (uint8x16_t data, uint8x16_t key)
10900 {
10901   return __builtin_aarch64_crypto_aesev16qi_uuu (data, key);
10902 }
10903 
10904 __extension__ extern __inline uint8x16_t
10905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaesdq_u8(uint8x16_t data,uint8x16_t key)10906 vaesdq_u8 (uint8x16_t data, uint8x16_t key)
10907 {
10908   return __builtin_aarch64_crypto_aesdv16qi_uuu (data, key);
10909 }
10910 
10911 __extension__ extern __inline uint8x16_t
10912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaesmcq_u8(uint8x16_t data)10913 vaesmcq_u8 (uint8x16_t data)
10914 {
10915   return __builtin_aarch64_crypto_aesmcv16qi_uu (data);
10916 }
10917 
10918 __extension__ extern __inline uint8x16_t
10919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaesimcq_u8(uint8x16_t data)10920 vaesimcq_u8 (uint8x16_t data)
10921 {
10922   return __builtin_aarch64_crypto_aesimcv16qi_uu (data);
10923 }
10924 #pragma GCC pop_options
10925 
10926 /* vcage  */
10927 
10928 __extension__ extern __inline uint64x1_t
10929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcage_f64(float64x1_t __a,float64x1_t __b)10930 vcage_f64 (float64x1_t __a, float64x1_t __b)
10931 {
10932   return vabs_f64 (__a) >= vabs_f64 (__b);
10933 }
10934 
10935 __extension__ extern __inline uint32_t
10936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcages_f32(float32_t __a,float32_t __b)10937 vcages_f32 (float32_t __a, float32_t __b)
10938 {
10939   return __builtin_fabsf (__a) >= __builtin_fabsf (__b) ? -1 : 0;
10940 }
10941 
10942 __extension__ extern __inline uint32x2_t
10943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcage_f32(float32x2_t __a,float32x2_t __b)10944 vcage_f32 (float32x2_t __a, float32x2_t __b)
10945 {
10946   return vabs_f32 (__a) >= vabs_f32 (__b);
10947 }
10948 
10949 __extension__ extern __inline uint32x4_t
10950 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcageq_f32(float32x4_t __a,float32x4_t __b)10951 vcageq_f32 (float32x4_t __a, float32x4_t __b)
10952 {
10953   return vabsq_f32 (__a) >= vabsq_f32 (__b);
10954 }
10955 
10956 __extension__ extern __inline uint64_t
10957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaged_f64(float64_t __a,float64_t __b)10958 vcaged_f64 (float64_t __a, float64_t __b)
10959 {
10960   return __builtin_fabs (__a) >= __builtin_fabs (__b) ? -1 : 0;
10961 }
10962 
10963 __extension__ extern __inline uint64x2_t
10964 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcageq_f64(float64x2_t __a,float64x2_t __b)10965 vcageq_f64 (float64x2_t __a, float64x2_t __b)
10966 {
10967   return vabsq_f64 (__a) >= vabsq_f64 (__b);
10968 }
10969 
10970 /* vcagt  */
10971 
10972 __extension__ extern __inline uint32_t
10973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagts_f32(float32_t __a,float32_t __b)10974 vcagts_f32 (float32_t __a, float32_t __b)
10975 {
10976   return __builtin_fabsf (__a) > __builtin_fabsf (__b) ? -1 : 0;
10977 }
10978 
10979 __extension__ extern __inline uint32x2_t
10980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagt_f32(float32x2_t __a,float32x2_t __b)10981 vcagt_f32 (float32x2_t __a, float32x2_t __b)
10982 {
10983   return vabs_f32 (__a) > vabs_f32 (__b);
10984 }
10985 
10986 __extension__ extern __inline uint64x1_t
10987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagt_f64(float64x1_t __a,float64x1_t __b)10988 vcagt_f64 (float64x1_t __a, float64x1_t __b)
10989 {
10990   return vabs_f64 (__a) > vabs_f64 (__b);
10991 }
10992 
10993 __extension__ extern __inline uint32x4_t
10994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagtq_f32(float32x4_t __a,float32x4_t __b)10995 vcagtq_f32 (float32x4_t __a, float32x4_t __b)
10996 {
10997   return vabsq_f32 (__a) > vabsq_f32 (__b);
10998 }
10999 
11000 __extension__ extern __inline uint64_t
11001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagtd_f64(float64_t __a,float64_t __b)11002 vcagtd_f64 (float64_t __a, float64_t __b)
11003 {
11004   return __builtin_fabs (__a) > __builtin_fabs (__b) ? -1 : 0;
11005 }
11006 
11007 __extension__ extern __inline uint64x2_t
11008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagtq_f64(float64x2_t __a,float64x2_t __b)11009 vcagtq_f64 (float64x2_t __a, float64x2_t __b)
11010 {
11011   return vabsq_f64 (__a) > vabsq_f64 (__b);
11012 }
11013 
11014 /* vcale  */
11015 
11016 __extension__ extern __inline uint32x2_t
11017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcale_f32(float32x2_t __a,float32x2_t __b)11018 vcale_f32 (float32x2_t __a, float32x2_t __b)
11019 {
11020   return vabs_f32 (__a) <= vabs_f32 (__b);
11021 }
11022 
11023 __extension__ extern __inline uint64x1_t
11024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcale_f64(float64x1_t __a,float64x1_t __b)11025 vcale_f64 (float64x1_t __a, float64x1_t __b)
11026 {
11027   return vabs_f64 (__a) <= vabs_f64 (__b);
11028 }
11029 
11030 __extension__ extern __inline uint64_t
11031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaled_f64(float64_t __a,float64_t __b)11032 vcaled_f64 (float64_t __a, float64_t __b)
11033 {
11034   return __builtin_fabs (__a) <= __builtin_fabs (__b) ? -1 : 0;
11035 }
11036 
11037 __extension__ extern __inline uint32_t
11038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcales_f32(float32_t __a,float32_t __b)11039 vcales_f32 (float32_t __a, float32_t __b)
11040 {
11041   return __builtin_fabsf (__a) <= __builtin_fabsf (__b) ? -1 : 0;
11042 }
11043 
11044 __extension__ extern __inline uint32x4_t
11045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaleq_f32(float32x4_t __a,float32x4_t __b)11046 vcaleq_f32 (float32x4_t __a, float32x4_t __b)
11047 {
11048   return vabsq_f32 (__a) <= vabsq_f32 (__b);
11049 }
11050 
11051 __extension__ extern __inline uint64x2_t
11052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaleq_f64(float64x2_t __a,float64x2_t __b)11053 vcaleq_f64 (float64x2_t __a, float64x2_t __b)
11054 {
11055   return vabsq_f64 (__a) <= vabsq_f64 (__b);
11056 }
11057 
11058 /* vcalt  */
11059 
11060 __extension__ extern __inline uint32x2_t
11061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcalt_f32(float32x2_t __a,float32x2_t __b)11062 vcalt_f32 (float32x2_t __a, float32x2_t __b)
11063 {
11064   return vabs_f32 (__a) < vabs_f32 (__b);
11065 }
11066 
11067 __extension__ extern __inline uint64x1_t
11068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcalt_f64(float64x1_t __a,float64x1_t __b)11069 vcalt_f64 (float64x1_t __a, float64x1_t __b)
11070 {
11071   return vabs_f64 (__a) < vabs_f64 (__b);
11072 }
11073 
11074 __extension__ extern __inline uint64_t
11075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaltd_f64(float64_t __a,float64_t __b)11076 vcaltd_f64 (float64_t __a, float64_t __b)
11077 {
11078   return __builtin_fabs (__a) < __builtin_fabs (__b) ? -1 : 0;
11079 }
11080 
11081 __extension__ extern __inline uint32x4_t
11082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaltq_f32(float32x4_t __a,float32x4_t __b)11083 vcaltq_f32 (float32x4_t __a, float32x4_t __b)
11084 {
11085   return vabsq_f32 (__a) < vabsq_f32 (__b);
11086 }
11087 
11088 __extension__ extern __inline uint64x2_t
11089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaltq_f64(float64x2_t __a,float64x2_t __b)11090 vcaltq_f64 (float64x2_t __a, float64x2_t __b)
11091 {
11092   return vabsq_f64 (__a) < vabsq_f64 (__b);
11093 }
11094 
11095 __extension__ extern __inline uint32_t
11096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcalts_f32(float32_t __a,float32_t __b)11097 vcalts_f32 (float32_t __a, float32_t __b)
11098 {
11099   return __builtin_fabsf (__a) < __builtin_fabsf (__b) ? -1 : 0;
11100 }
11101 
11102 /* vceq - vector.  */
11103 
11104 __extension__ extern __inline uint32x2_t
11105 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_f32(float32x2_t __a,float32x2_t __b)11106 vceq_f32 (float32x2_t __a, float32x2_t __b)
11107 {
11108   return (uint32x2_t) (__a == __b);
11109 }
11110 
11111 __extension__ extern __inline uint64x1_t
11112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_f64(float64x1_t __a,float64x1_t __b)11113 vceq_f64 (float64x1_t __a, float64x1_t __b)
11114 {
11115   return (uint64x1_t) (__a == __b);
11116 }
11117 
11118 __extension__ extern __inline uint8x8_t
11119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_p8(poly8x8_t __a,poly8x8_t __b)11120 vceq_p8 (poly8x8_t __a, poly8x8_t __b)
11121 {
11122   return (uint8x8_t) (__a == __b);
11123 }
11124 
11125 __extension__ extern __inline uint64x1_t
11126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_p64(poly64x1_t __a,poly64x1_t __b)11127 vceq_p64 (poly64x1_t __a, poly64x1_t __b)
11128 {
11129   return (uint64x1_t) (__a == __b);
11130 }
11131 
11132 __extension__ extern __inline uint8x8_t
11133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s8(int8x8_t __a,int8x8_t __b)11134 vceq_s8 (int8x8_t __a, int8x8_t __b)
11135 {
11136   return (uint8x8_t) (__a == __b);
11137 }
11138 
11139 __extension__ extern __inline uint16x4_t
11140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s16(int16x4_t __a,int16x4_t __b)11141 vceq_s16 (int16x4_t __a, int16x4_t __b)
11142 {
11143   return (uint16x4_t) (__a == __b);
11144 }
11145 
11146 __extension__ extern __inline uint32x2_t
11147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s32(int32x2_t __a,int32x2_t __b)11148 vceq_s32 (int32x2_t __a, int32x2_t __b)
11149 {
11150   return (uint32x2_t) (__a == __b);
11151 }
11152 
11153 __extension__ extern __inline uint64x1_t
11154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_s64(int64x1_t __a,int64x1_t __b)11155 vceq_s64 (int64x1_t __a, int64x1_t __b)
11156 {
11157   return (uint64x1_t) (__a == __b);
11158 }
11159 
11160 __extension__ extern __inline uint8x8_t
11161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u8(uint8x8_t __a,uint8x8_t __b)11162 vceq_u8 (uint8x8_t __a, uint8x8_t __b)
11163 {
11164   return (__a == __b);
11165 }
11166 
11167 __extension__ extern __inline uint16x4_t
11168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u16(uint16x4_t __a,uint16x4_t __b)11169 vceq_u16 (uint16x4_t __a, uint16x4_t __b)
11170 {
11171   return (__a == __b);
11172 }
11173 
11174 __extension__ extern __inline uint32x2_t
11175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u32(uint32x2_t __a,uint32x2_t __b)11176 vceq_u32 (uint32x2_t __a, uint32x2_t __b)
11177 {
11178   return (__a == __b);
11179 }
11180 
11181 __extension__ extern __inline uint64x1_t
11182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_u64(uint64x1_t __a,uint64x1_t __b)11183 vceq_u64 (uint64x1_t __a, uint64x1_t __b)
11184 {
11185   return (__a == __b);
11186 }
11187 
11188 __extension__ extern __inline uint32x4_t
11189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_f32(float32x4_t __a,float32x4_t __b)11190 vceqq_f32 (float32x4_t __a, float32x4_t __b)
11191 {
11192   return (uint32x4_t) (__a == __b);
11193 }
11194 
11195 __extension__ extern __inline uint64x2_t
11196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_f64(float64x2_t __a,float64x2_t __b)11197 vceqq_f64 (float64x2_t __a, float64x2_t __b)
11198 {
11199   return (uint64x2_t) (__a == __b);
11200 }
11201 
11202 __extension__ extern __inline uint8x16_t
11203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_p8(poly8x16_t __a,poly8x16_t __b)11204 vceqq_p8 (poly8x16_t __a, poly8x16_t __b)
11205 {
11206   return (uint8x16_t) (__a == __b);
11207 }
11208 
11209 __extension__ extern __inline uint8x16_t
11210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s8(int8x16_t __a,int8x16_t __b)11211 vceqq_s8 (int8x16_t __a, int8x16_t __b)
11212 {
11213   return (uint8x16_t) (__a == __b);
11214 }
11215 
11216 __extension__ extern __inline uint16x8_t
11217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s16(int16x8_t __a,int16x8_t __b)11218 vceqq_s16 (int16x8_t __a, int16x8_t __b)
11219 {
11220   return (uint16x8_t) (__a == __b);
11221 }
11222 
11223 __extension__ extern __inline uint32x4_t
11224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s32(int32x4_t __a,int32x4_t __b)11225 vceqq_s32 (int32x4_t __a, int32x4_t __b)
11226 {
11227   return (uint32x4_t) (__a == __b);
11228 }
11229 
11230 __extension__ extern __inline uint64x2_t
11231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_s64(int64x2_t __a,int64x2_t __b)11232 vceqq_s64 (int64x2_t __a, int64x2_t __b)
11233 {
11234   return (uint64x2_t) (__a == __b);
11235 }
11236 
11237 __extension__ extern __inline uint8x16_t
11238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u8(uint8x16_t __a,uint8x16_t __b)11239 vceqq_u8 (uint8x16_t __a, uint8x16_t __b)
11240 {
11241   return (__a == __b);
11242 }
11243 
11244 __extension__ extern __inline uint16x8_t
11245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u16(uint16x8_t __a,uint16x8_t __b)11246 vceqq_u16 (uint16x8_t __a, uint16x8_t __b)
11247 {
11248   return (__a == __b);
11249 }
11250 
11251 __extension__ extern __inline uint32x4_t
11252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u32(uint32x4_t __a,uint32x4_t __b)11253 vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
11254 {
11255   return (__a == __b);
11256 }
11257 
11258 __extension__ extern __inline uint64x2_t
11259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_u64(uint64x2_t __a,uint64x2_t __b)11260 vceqq_u64 (uint64x2_t __a, uint64x2_t __b)
11261 {
11262   return (__a == __b);
11263 }
11264 
11265 __extension__ extern __inline uint64x2_t
11266 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_p64(poly64x2_t __a,poly64x2_t __b)11267 vceqq_p64 (poly64x2_t __a, poly64x2_t __b)
11268 {
11269   return (__a == __b);
11270 }
11271 
11272 /* vceq - scalar.  */
11273 
11274 __extension__ extern __inline uint32_t
11275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqs_f32(float32_t __a,float32_t __b)11276 vceqs_f32 (float32_t __a, float32_t __b)
11277 {
11278   return __a == __b ? -1 : 0;
11279 }
11280 
11281 __extension__ extern __inline uint64_t
11282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqd_s64(int64_t __a,int64_t __b)11283 vceqd_s64 (int64_t __a, int64_t __b)
11284 {
11285   return __a == __b ? -1ll : 0ll;
11286 }
11287 
11288 __extension__ extern __inline uint64_t
11289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqd_u64(uint64_t __a,uint64_t __b)11290 vceqd_u64 (uint64_t __a, uint64_t __b)
11291 {
11292   return __a == __b ? -1ll : 0ll;
11293 }
11294 
11295 __extension__ extern __inline uint64_t
11296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqd_f64(float64_t __a,float64_t __b)11297 vceqd_f64 (float64_t __a, float64_t __b)
11298 {
11299   return __a == __b ? -1ll : 0ll;
11300 }
11301 
11302 /* vceqz - vector.  */
11303 
11304 __extension__ extern __inline uint32x2_t
11305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_f32(float32x2_t __a)11306 vceqz_f32 (float32x2_t __a)
11307 {
11308   return (uint32x2_t) (__a == 0.0f);
11309 }
11310 
11311 __extension__ extern __inline uint64x1_t
11312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_f64(float64x1_t __a)11313 vceqz_f64 (float64x1_t __a)
11314 {
11315   return (uint64x1_t) (__a == (float64x1_t) {0.0});
11316 }
11317 
11318 __extension__ extern __inline uint8x8_t
11319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_p8(poly8x8_t __a)11320 vceqz_p8 (poly8x8_t __a)
11321 {
11322   return (uint8x8_t) (__a == 0);
11323 }
11324 
11325 __extension__ extern __inline uint8x8_t
11326 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_s8(int8x8_t __a)11327 vceqz_s8 (int8x8_t __a)
11328 {
11329   return (uint8x8_t) (__a == 0);
11330 }
11331 
11332 __extension__ extern __inline uint16x4_t
11333 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_s16(int16x4_t __a)11334 vceqz_s16 (int16x4_t __a)
11335 {
11336   return (uint16x4_t) (__a == 0);
11337 }
11338 
11339 __extension__ extern __inline uint32x2_t
11340 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_s32(int32x2_t __a)11341 vceqz_s32 (int32x2_t __a)
11342 {
11343   return (uint32x2_t) (__a == 0);
11344 }
11345 
11346 __extension__ extern __inline uint64x1_t
11347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_s64(int64x1_t __a)11348 vceqz_s64 (int64x1_t __a)
11349 {
11350   return (uint64x1_t) (__a == __AARCH64_INT64_C (0));
11351 }
11352 
11353 __extension__ extern __inline uint8x8_t
11354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_u8(uint8x8_t __a)11355 vceqz_u8 (uint8x8_t __a)
11356 {
11357   return (__a == 0);
11358 }
11359 
11360 __extension__ extern __inline uint16x4_t
11361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_u16(uint16x4_t __a)11362 vceqz_u16 (uint16x4_t __a)
11363 {
11364   return (__a == 0);
11365 }
11366 
11367 __extension__ extern __inline uint32x2_t
11368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_u32(uint32x2_t __a)11369 vceqz_u32 (uint32x2_t __a)
11370 {
11371   return (__a == 0);
11372 }
11373 
11374 __extension__ extern __inline uint64x1_t
11375 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_u64(uint64x1_t __a)11376 vceqz_u64 (uint64x1_t __a)
11377 {
11378   return (__a == __AARCH64_UINT64_C (0));
11379 }
11380 
11381 __extension__ extern __inline uint64x1_t
11382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_p64(poly64x1_t __a)11383 vceqz_p64 (poly64x1_t __a)
11384 {
11385   return (__a == __AARCH64_UINT64_C (0));
11386 }
11387 
11388 __extension__ extern __inline uint32x4_t
11389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_f32(float32x4_t __a)11390 vceqzq_f32 (float32x4_t __a)
11391 {
11392   return (uint32x4_t) (__a == 0.0f);
11393 }
11394 
11395 __extension__ extern __inline uint64x2_t
11396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_f64(float64x2_t __a)11397 vceqzq_f64 (float64x2_t __a)
11398 {
11399   return (uint64x2_t) (__a == 0.0f);
11400 }
11401 
11402 __extension__ extern __inline uint8x16_t
11403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_p8(poly8x16_t __a)11404 vceqzq_p8 (poly8x16_t __a)
11405 {
11406   return (uint8x16_t) (__a == 0);
11407 }
11408 
11409 __extension__ extern __inline uint8x16_t
11410 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_s8(int8x16_t __a)11411 vceqzq_s8 (int8x16_t __a)
11412 {
11413   return (uint8x16_t) (__a == 0);
11414 }
11415 
11416 __extension__ extern __inline uint16x8_t
11417 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_s16(int16x8_t __a)11418 vceqzq_s16 (int16x8_t __a)
11419 {
11420   return (uint16x8_t) (__a == 0);
11421 }
11422 
11423 __extension__ extern __inline uint32x4_t
11424 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_s32(int32x4_t __a)11425 vceqzq_s32 (int32x4_t __a)
11426 {
11427   return (uint32x4_t) (__a == 0);
11428 }
11429 
11430 __extension__ extern __inline uint64x2_t
11431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_s64(int64x2_t __a)11432 vceqzq_s64 (int64x2_t __a)
11433 {
11434   return (uint64x2_t) (__a == __AARCH64_INT64_C (0));
11435 }
11436 
11437 __extension__ extern __inline uint8x16_t
11438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_u8(uint8x16_t __a)11439 vceqzq_u8 (uint8x16_t __a)
11440 {
11441   return (__a == 0);
11442 }
11443 
11444 __extension__ extern __inline uint16x8_t
11445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_u16(uint16x8_t __a)11446 vceqzq_u16 (uint16x8_t __a)
11447 {
11448   return (__a == 0);
11449 }
11450 
11451 __extension__ extern __inline uint32x4_t
11452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_u32(uint32x4_t __a)11453 vceqzq_u32 (uint32x4_t __a)
11454 {
11455   return (__a == 0);
11456 }
11457 
11458 __extension__ extern __inline uint64x2_t
11459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_u64(uint64x2_t __a)11460 vceqzq_u64 (uint64x2_t __a)
11461 {
11462   return (__a == __AARCH64_UINT64_C (0));
11463 }
11464 
11465 __extension__ extern __inline uint64x2_t
11466 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_p64(poly64x2_t __a)11467 vceqzq_p64 (poly64x2_t __a)
11468 {
11469   return (__a == __AARCH64_UINT64_C (0));
11470 }
11471 
11472 /* vceqz - scalar.  */
11473 
11474 __extension__ extern __inline uint32_t
11475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzs_f32(float32_t __a)11476 vceqzs_f32 (float32_t __a)
11477 {
11478   return __a == 0.0f ? -1 : 0;
11479 }
11480 
11481 __extension__ extern __inline uint64_t
11482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzd_s64(int64_t __a)11483 vceqzd_s64 (int64_t __a)
11484 {
11485   return __a == 0 ? -1ll : 0ll;
11486 }
11487 
11488 __extension__ extern __inline uint64_t
11489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzd_u64(uint64_t __a)11490 vceqzd_u64 (uint64_t __a)
11491 {
11492   return __a == 0 ? -1ll : 0ll;
11493 }
11494 
11495 __extension__ extern __inline uint64_t
11496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzd_f64(float64_t __a)11497 vceqzd_f64 (float64_t __a)
11498 {
11499   return __a == 0.0 ? -1ll : 0ll;
11500 }
11501 
11502 /* vcge - vector.  */
11503 
11504 __extension__ extern __inline uint32x2_t
11505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_f32(float32x2_t __a,float32x2_t __b)11506 vcge_f32 (float32x2_t __a, float32x2_t __b)
11507 {
11508   return (uint32x2_t) (__a >= __b);
11509 }
11510 
11511 __extension__ extern __inline uint64x1_t
11512 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_f64(float64x1_t __a,float64x1_t __b)11513 vcge_f64 (float64x1_t __a, float64x1_t __b)
11514 {
11515   return (uint64x1_t) (__a >= __b);
11516 }
11517 
11518 __extension__ extern __inline uint8x8_t
11519 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s8(int8x8_t __a,int8x8_t __b)11520 vcge_s8 (int8x8_t __a, int8x8_t __b)
11521 {
11522   return (uint8x8_t) (__a >= __b);
11523 }
11524 
11525 __extension__ extern __inline uint16x4_t
11526 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s16(int16x4_t __a,int16x4_t __b)11527 vcge_s16 (int16x4_t __a, int16x4_t __b)
11528 {
11529   return (uint16x4_t) (__a >= __b);
11530 }
11531 
11532 __extension__ extern __inline uint32x2_t
11533 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s32(int32x2_t __a,int32x2_t __b)11534 vcge_s32 (int32x2_t __a, int32x2_t __b)
11535 {
11536   return (uint32x2_t) (__a >= __b);
11537 }
11538 
11539 __extension__ extern __inline uint64x1_t
11540 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_s64(int64x1_t __a,int64x1_t __b)11541 vcge_s64 (int64x1_t __a, int64x1_t __b)
11542 {
11543   return (uint64x1_t) (__a >= __b);
11544 }
11545 
11546 __extension__ extern __inline uint8x8_t
11547 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u8(uint8x8_t __a,uint8x8_t __b)11548 vcge_u8 (uint8x8_t __a, uint8x8_t __b)
11549 {
11550   return (__a >= __b);
11551 }
11552 
11553 __extension__ extern __inline uint16x4_t
11554 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u16(uint16x4_t __a,uint16x4_t __b)11555 vcge_u16 (uint16x4_t __a, uint16x4_t __b)
11556 {
11557   return (__a >= __b);
11558 }
11559 
11560 __extension__ extern __inline uint32x2_t
11561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u32(uint32x2_t __a,uint32x2_t __b)11562 vcge_u32 (uint32x2_t __a, uint32x2_t __b)
11563 {
11564   return (__a >= __b);
11565 }
11566 
11567 __extension__ extern __inline uint64x1_t
11568 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_u64(uint64x1_t __a,uint64x1_t __b)11569 vcge_u64 (uint64x1_t __a, uint64x1_t __b)
11570 {
11571   return (__a >= __b);
11572 }
11573 
11574 __extension__ extern __inline uint32x4_t
11575 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_f32(float32x4_t __a,float32x4_t __b)11576 vcgeq_f32 (float32x4_t __a, float32x4_t __b)
11577 {
11578   return (uint32x4_t) (__a >= __b);
11579 }
11580 
11581 __extension__ extern __inline uint64x2_t
11582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_f64(float64x2_t __a,float64x2_t __b)11583 vcgeq_f64 (float64x2_t __a, float64x2_t __b)
11584 {
11585   return (uint64x2_t) (__a >= __b);
11586 }
11587 
11588 __extension__ extern __inline uint8x16_t
11589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s8(int8x16_t __a,int8x16_t __b)11590 vcgeq_s8 (int8x16_t __a, int8x16_t __b)
11591 {
11592   return (uint8x16_t) (__a >= __b);
11593 }
11594 
11595 __extension__ extern __inline uint16x8_t
11596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s16(int16x8_t __a,int16x8_t __b)11597 vcgeq_s16 (int16x8_t __a, int16x8_t __b)
11598 {
11599   return (uint16x8_t) (__a >= __b);
11600 }
11601 
11602 __extension__ extern __inline uint32x4_t
11603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s32(int32x4_t __a,int32x4_t __b)11604 vcgeq_s32 (int32x4_t __a, int32x4_t __b)
11605 {
11606   return (uint32x4_t) (__a >= __b);
11607 }
11608 
11609 __extension__ extern __inline uint64x2_t
11610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_s64(int64x2_t __a,int64x2_t __b)11611 vcgeq_s64 (int64x2_t __a, int64x2_t __b)
11612 {
11613   return (uint64x2_t) (__a >= __b);
11614 }
11615 
11616 __extension__ extern __inline uint8x16_t
11617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u8(uint8x16_t __a,uint8x16_t __b)11618 vcgeq_u8 (uint8x16_t __a, uint8x16_t __b)
11619 {
11620   return (__a >= __b);
11621 }
11622 
11623 __extension__ extern __inline uint16x8_t
11624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u16(uint16x8_t __a,uint16x8_t __b)11625 vcgeq_u16 (uint16x8_t __a, uint16x8_t __b)
11626 {
11627   return (__a >= __b);
11628 }
11629 
11630 __extension__ extern __inline uint32x4_t
11631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u32(uint32x4_t __a,uint32x4_t __b)11632 vcgeq_u32 (uint32x4_t __a, uint32x4_t __b)
11633 {
11634   return (__a >= __b);
11635 }
11636 
11637 __extension__ extern __inline uint64x2_t
11638 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_u64(uint64x2_t __a,uint64x2_t __b)11639 vcgeq_u64 (uint64x2_t __a, uint64x2_t __b)
11640 {
11641   return (__a >= __b);
11642 }
11643 
11644 /* vcge - scalar.  */
11645 
11646 __extension__ extern __inline uint32_t
11647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcges_f32(float32_t __a,float32_t __b)11648 vcges_f32 (float32_t __a, float32_t __b)
11649 {
11650   return __a >= __b ? -1 : 0;
11651 }
11652 
11653 __extension__ extern __inline uint64_t
11654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcged_s64(int64_t __a,int64_t __b)11655 vcged_s64 (int64_t __a, int64_t __b)
11656 {
11657   return __a >= __b ? -1ll : 0ll;
11658 }
11659 
11660 __extension__ extern __inline uint64_t
11661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcged_u64(uint64_t __a,uint64_t __b)11662 vcged_u64 (uint64_t __a, uint64_t __b)
11663 {
11664   return __a >= __b ? -1ll : 0ll;
11665 }
11666 
11667 __extension__ extern __inline uint64_t
11668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcged_f64(float64_t __a,float64_t __b)11669 vcged_f64 (float64_t __a, float64_t __b)
11670 {
11671   return __a >= __b ? -1ll : 0ll;
11672 }
11673 
11674 /* vcgez - vector.  */
11675 
11676 __extension__ extern __inline uint32x2_t
11677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_f32(float32x2_t __a)11678 vcgez_f32 (float32x2_t __a)
11679 {
11680   return (uint32x2_t) (__a >= 0.0f);
11681 }
11682 
11683 __extension__ extern __inline uint64x1_t
11684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_f64(float64x1_t __a)11685 vcgez_f64 (float64x1_t __a)
11686 {
11687   return (uint64x1_t) (__a[0] >= (float64x1_t) {0.0});
11688 }
11689 
11690 __extension__ extern __inline uint8x8_t
11691 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_s8(int8x8_t __a)11692 vcgez_s8 (int8x8_t __a)
11693 {
11694   return (uint8x8_t) (__a >= 0);
11695 }
11696 
11697 __extension__ extern __inline uint16x4_t
11698 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_s16(int16x4_t __a)11699 vcgez_s16 (int16x4_t __a)
11700 {
11701   return (uint16x4_t) (__a >= 0);
11702 }
11703 
11704 __extension__ extern __inline uint32x2_t
11705 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_s32(int32x2_t __a)11706 vcgez_s32 (int32x2_t __a)
11707 {
11708   return (uint32x2_t) (__a >= 0);
11709 }
11710 
11711 __extension__ extern __inline uint64x1_t
11712 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_s64(int64x1_t __a)11713 vcgez_s64 (int64x1_t __a)
11714 {
11715   return (uint64x1_t) (__a >= __AARCH64_INT64_C (0));
11716 }
11717 
11718 __extension__ extern __inline uint32x4_t
11719 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_f32(float32x4_t __a)11720 vcgezq_f32 (float32x4_t __a)
11721 {
11722   return (uint32x4_t) (__a >= 0.0f);
11723 }
11724 
11725 __extension__ extern __inline uint64x2_t
11726 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_f64(float64x2_t __a)11727 vcgezq_f64 (float64x2_t __a)
11728 {
11729   return (uint64x2_t) (__a >= 0.0);
11730 }
11731 
11732 __extension__ extern __inline uint8x16_t
11733 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_s8(int8x16_t __a)11734 vcgezq_s8 (int8x16_t __a)
11735 {
11736   return (uint8x16_t) (__a >= 0);
11737 }
11738 
11739 __extension__ extern __inline uint16x8_t
11740 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_s16(int16x8_t __a)11741 vcgezq_s16 (int16x8_t __a)
11742 {
11743   return (uint16x8_t) (__a >= 0);
11744 }
11745 
11746 __extension__ extern __inline uint32x4_t
11747 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_s32(int32x4_t __a)11748 vcgezq_s32 (int32x4_t __a)
11749 {
11750   return (uint32x4_t) (__a >= 0);
11751 }
11752 
11753 __extension__ extern __inline uint64x2_t
11754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_s64(int64x2_t __a)11755 vcgezq_s64 (int64x2_t __a)
11756 {
11757   return (uint64x2_t) (__a >= __AARCH64_INT64_C (0));
11758 }
11759 
11760 /* vcgez - scalar.  */
11761 
11762 __extension__ extern __inline uint32_t
11763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezs_f32(float32_t __a)11764 vcgezs_f32 (float32_t __a)
11765 {
11766   return __a >= 0.0f ? -1 : 0;
11767 }
11768 
11769 __extension__ extern __inline uint64_t
11770 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezd_s64(int64_t __a)11771 vcgezd_s64 (int64_t __a)
11772 {
11773   return __a >= 0 ? -1ll : 0ll;
11774 }
11775 
11776 __extension__ extern __inline uint64_t
11777 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezd_f64(float64_t __a)11778 vcgezd_f64 (float64_t __a)
11779 {
11780   return __a >= 0.0 ? -1ll : 0ll;
11781 }
11782 
11783 /* vcgt - vector.  */
11784 
11785 __extension__ extern __inline uint32x2_t
11786 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_f32(float32x2_t __a,float32x2_t __b)11787 vcgt_f32 (float32x2_t __a, float32x2_t __b)
11788 {
11789   return (uint32x2_t) (__a > __b);
11790 }
11791 
11792 __extension__ extern __inline uint64x1_t
11793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_f64(float64x1_t __a,float64x1_t __b)11794 vcgt_f64 (float64x1_t __a, float64x1_t __b)
11795 {
11796   return (uint64x1_t) (__a > __b);
11797 }
11798 
11799 __extension__ extern __inline uint8x8_t
11800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s8(int8x8_t __a,int8x8_t __b)11801 vcgt_s8 (int8x8_t __a, int8x8_t __b)
11802 {
11803   return (uint8x8_t) (__a > __b);
11804 }
11805 
11806 __extension__ extern __inline uint16x4_t
11807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s16(int16x4_t __a,int16x4_t __b)11808 vcgt_s16 (int16x4_t __a, int16x4_t __b)
11809 {
11810   return (uint16x4_t) (__a > __b);
11811 }
11812 
11813 __extension__ extern __inline uint32x2_t
11814 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s32(int32x2_t __a,int32x2_t __b)11815 vcgt_s32 (int32x2_t __a, int32x2_t __b)
11816 {
11817   return (uint32x2_t) (__a > __b);
11818 }
11819 
11820 __extension__ extern __inline uint64x1_t
11821 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_s64(int64x1_t __a,int64x1_t __b)11822 vcgt_s64 (int64x1_t __a, int64x1_t __b)
11823 {
11824   return (uint64x1_t) (__a > __b);
11825 }
11826 
11827 __extension__ extern __inline uint8x8_t
11828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u8(uint8x8_t __a,uint8x8_t __b)11829 vcgt_u8 (uint8x8_t __a, uint8x8_t __b)
11830 {
11831   return (__a > __b);
11832 }
11833 
11834 __extension__ extern __inline uint16x4_t
11835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u16(uint16x4_t __a,uint16x4_t __b)11836 vcgt_u16 (uint16x4_t __a, uint16x4_t __b)
11837 {
11838   return (__a > __b);
11839 }
11840 
11841 __extension__ extern __inline uint32x2_t
11842 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u32(uint32x2_t __a,uint32x2_t __b)11843 vcgt_u32 (uint32x2_t __a, uint32x2_t __b)
11844 {
11845   return (__a > __b);
11846 }
11847 
11848 __extension__ extern __inline uint64x1_t
11849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_u64(uint64x1_t __a,uint64x1_t __b)11850 vcgt_u64 (uint64x1_t __a, uint64x1_t __b)
11851 {
11852   return (__a > __b);
11853 }
11854 
11855 __extension__ extern __inline uint32x4_t
11856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_f32(float32x4_t __a,float32x4_t __b)11857 vcgtq_f32 (float32x4_t __a, float32x4_t __b)
11858 {
11859   return (uint32x4_t) (__a > __b);
11860 }
11861 
11862 __extension__ extern __inline uint64x2_t
11863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_f64(float64x2_t __a,float64x2_t __b)11864 vcgtq_f64 (float64x2_t __a, float64x2_t __b)
11865 {
11866   return (uint64x2_t) (__a > __b);
11867 }
11868 
11869 __extension__ extern __inline uint8x16_t
11870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s8(int8x16_t __a,int8x16_t __b)11871 vcgtq_s8 (int8x16_t __a, int8x16_t __b)
11872 {
11873   return (uint8x16_t) (__a > __b);
11874 }
11875 
11876 __extension__ extern __inline uint16x8_t
11877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s16(int16x8_t __a,int16x8_t __b)11878 vcgtq_s16 (int16x8_t __a, int16x8_t __b)
11879 {
11880   return (uint16x8_t) (__a > __b);
11881 }
11882 
11883 __extension__ extern __inline uint32x4_t
11884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s32(int32x4_t __a,int32x4_t __b)11885 vcgtq_s32 (int32x4_t __a, int32x4_t __b)
11886 {
11887   return (uint32x4_t) (__a > __b);
11888 }
11889 
11890 __extension__ extern __inline uint64x2_t
11891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_s64(int64x2_t __a,int64x2_t __b)11892 vcgtq_s64 (int64x2_t __a, int64x2_t __b)
11893 {
11894   return (uint64x2_t) (__a > __b);
11895 }
11896 
11897 __extension__ extern __inline uint8x16_t
11898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u8(uint8x16_t __a,uint8x16_t __b)11899 vcgtq_u8 (uint8x16_t __a, uint8x16_t __b)
11900 {
11901   return (__a > __b);
11902 }
11903 
11904 __extension__ extern __inline uint16x8_t
11905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u16(uint16x8_t __a,uint16x8_t __b)11906 vcgtq_u16 (uint16x8_t __a, uint16x8_t __b)
11907 {
11908   return (__a > __b);
11909 }
11910 
11911 __extension__ extern __inline uint32x4_t
11912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u32(uint32x4_t __a,uint32x4_t __b)11913 vcgtq_u32 (uint32x4_t __a, uint32x4_t __b)
11914 {
11915   return (__a > __b);
11916 }
11917 
11918 __extension__ extern __inline uint64x2_t
11919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_u64(uint64x2_t __a,uint64x2_t __b)11920 vcgtq_u64 (uint64x2_t __a, uint64x2_t __b)
11921 {
11922   return (__a > __b);
11923 }
11924 
11925 /* vcgt - scalar.  */
11926 
11927 __extension__ extern __inline uint32_t
11928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgts_f32(float32_t __a,float32_t __b)11929 vcgts_f32 (float32_t __a, float32_t __b)
11930 {
11931   return __a > __b ? -1 : 0;
11932 }
11933 
11934 __extension__ extern __inline uint64_t
11935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtd_s64(int64_t __a,int64_t __b)11936 vcgtd_s64 (int64_t __a, int64_t __b)
11937 {
11938   return __a > __b ? -1ll : 0ll;
11939 }
11940 
11941 __extension__ extern __inline uint64_t
11942 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtd_u64(uint64_t __a,uint64_t __b)11943 vcgtd_u64 (uint64_t __a, uint64_t __b)
11944 {
11945   return __a > __b ? -1ll : 0ll;
11946 }
11947 
11948 __extension__ extern __inline uint64_t
11949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtd_f64(float64_t __a,float64_t __b)11950 vcgtd_f64 (float64_t __a, float64_t __b)
11951 {
11952   return __a > __b ? -1ll : 0ll;
11953 }
11954 
11955 /* vcgtz - vector.  */
11956 
11957 __extension__ extern __inline uint32x2_t
11958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_f32(float32x2_t __a)11959 vcgtz_f32 (float32x2_t __a)
11960 {
11961   return (uint32x2_t) (__a > 0.0f);
11962 }
11963 
11964 __extension__ extern __inline uint64x1_t
11965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_f64(float64x1_t __a)11966 vcgtz_f64 (float64x1_t __a)
11967 {
11968   return (uint64x1_t) (__a > (float64x1_t) {0.0});
11969 }
11970 
11971 __extension__ extern __inline uint8x8_t
11972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_s8(int8x8_t __a)11973 vcgtz_s8 (int8x8_t __a)
11974 {
11975   return (uint8x8_t) (__a > 0);
11976 }
11977 
11978 __extension__ extern __inline uint16x4_t
11979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_s16(int16x4_t __a)11980 vcgtz_s16 (int16x4_t __a)
11981 {
11982   return (uint16x4_t) (__a > 0);
11983 }
11984 
11985 __extension__ extern __inline uint32x2_t
11986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_s32(int32x2_t __a)11987 vcgtz_s32 (int32x2_t __a)
11988 {
11989   return (uint32x2_t) (__a > 0);
11990 }
11991 
11992 __extension__ extern __inline uint64x1_t
11993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_s64(int64x1_t __a)11994 vcgtz_s64 (int64x1_t __a)
11995 {
11996   return (uint64x1_t) (__a > __AARCH64_INT64_C (0));
11997 }
11998 
11999 __extension__ extern __inline uint32x4_t
12000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_f32(float32x4_t __a)12001 vcgtzq_f32 (float32x4_t __a)
12002 {
12003   return (uint32x4_t) (__a > 0.0f);
12004 }
12005 
12006 __extension__ extern __inline uint64x2_t
12007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_f64(float64x2_t __a)12008 vcgtzq_f64 (float64x2_t __a)
12009 {
12010     return (uint64x2_t) (__a > 0.0);
12011 }
12012 
12013 __extension__ extern __inline uint8x16_t
12014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_s8(int8x16_t __a)12015 vcgtzq_s8 (int8x16_t __a)
12016 {
12017   return (uint8x16_t) (__a > 0);
12018 }
12019 
12020 __extension__ extern __inline uint16x8_t
12021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_s16(int16x8_t __a)12022 vcgtzq_s16 (int16x8_t __a)
12023 {
12024   return (uint16x8_t) (__a > 0);
12025 }
12026 
12027 __extension__ extern __inline uint32x4_t
12028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_s32(int32x4_t __a)12029 vcgtzq_s32 (int32x4_t __a)
12030 {
12031   return (uint32x4_t) (__a > 0);
12032 }
12033 
12034 __extension__ extern __inline uint64x2_t
12035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_s64(int64x2_t __a)12036 vcgtzq_s64 (int64x2_t __a)
12037 {
12038   return (uint64x2_t) (__a > __AARCH64_INT64_C (0));
12039 }
12040 
12041 /* vcgtz - scalar.  */
12042 
12043 __extension__ extern __inline uint32_t
12044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzs_f32(float32_t __a)12045 vcgtzs_f32 (float32_t __a)
12046 {
12047   return __a > 0.0f ? -1 : 0;
12048 }
12049 
12050 __extension__ extern __inline uint64_t
12051 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzd_s64(int64_t __a)12052 vcgtzd_s64 (int64_t __a)
12053 {
12054   return __a > 0 ? -1ll : 0ll;
12055 }
12056 
12057 __extension__ extern __inline uint64_t
12058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzd_f64(float64_t __a)12059 vcgtzd_f64 (float64_t __a)
12060 {
12061   return __a > 0.0 ? -1ll : 0ll;
12062 }
12063 
12064 /* vcle - vector.  */
12065 
12066 __extension__ extern __inline uint32x2_t
12067 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_f32(float32x2_t __a,float32x2_t __b)12068 vcle_f32 (float32x2_t __a, float32x2_t __b)
12069 {
12070   return (uint32x2_t) (__a <= __b);
12071 }
12072 
12073 __extension__ extern __inline uint64x1_t
12074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_f64(float64x1_t __a,float64x1_t __b)12075 vcle_f64 (float64x1_t __a, float64x1_t __b)
12076 {
12077   return (uint64x1_t) (__a <= __b);
12078 }
12079 
12080 __extension__ extern __inline uint8x8_t
12081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s8(int8x8_t __a,int8x8_t __b)12082 vcle_s8 (int8x8_t __a, int8x8_t __b)
12083 {
12084   return (uint8x8_t) (__a <= __b);
12085 }
12086 
12087 __extension__ extern __inline uint16x4_t
12088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s16(int16x4_t __a,int16x4_t __b)12089 vcle_s16 (int16x4_t __a, int16x4_t __b)
12090 {
12091   return (uint16x4_t) (__a <= __b);
12092 }
12093 
12094 __extension__ extern __inline uint32x2_t
12095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s32(int32x2_t __a,int32x2_t __b)12096 vcle_s32 (int32x2_t __a, int32x2_t __b)
12097 {
12098   return (uint32x2_t) (__a <= __b);
12099 }
12100 
12101 __extension__ extern __inline uint64x1_t
12102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_s64(int64x1_t __a,int64x1_t __b)12103 vcle_s64 (int64x1_t __a, int64x1_t __b)
12104 {
12105   return (uint64x1_t) (__a <= __b);
12106 }
12107 
12108 __extension__ extern __inline uint8x8_t
12109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u8(uint8x8_t __a,uint8x8_t __b)12110 vcle_u8 (uint8x8_t __a, uint8x8_t __b)
12111 {
12112   return (__a <= __b);
12113 }
12114 
12115 __extension__ extern __inline uint16x4_t
12116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u16(uint16x4_t __a,uint16x4_t __b)12117 vcle_u16 (uint16x4_t __a, uint16x4_t __b)
12118 {
12119   return (__a <= __b);
12120 }
12121 
12122 __extension__ extern __inline uint32x2_t
12123 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u32(uint32x2_t __a,uint32x2_t __b)12124 vcle_u32 (uint32x2_t __a, uint32x2_t __b)
12125 {
12126   return (__a <= __b);
12127 }
12128 
12129 __extension__ extern __inline uint64x1_t
12130 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_u64(uint64x1_t __a,uint64x1_t __b)12131 vcle_u64 (uint64x1_t __a, uint64x1_t __b)
12132 {
12133   return (__a <= __b);
12134 }
12135 
12136 __extension__ extern __inline uint32x4_t
12137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_f32(float32x4_t __a,float32x4_t __b)12138 vcleq_f32 (float32x4_t __a, float32x4_t __b)
12139 {
12140   return (uint32x4_t) (__a <= __b);
12141 }
12142 
12143 __extension__ extern __inline uint64x2_t
12144 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_f64(float64x2_t __a,float64x2_t __b)12145 vcleq_f64 (float64x2_t __a, float64x2_t __b)
12146 {
12147   return (uint64x2_t) (__a <= __b);
12148 }
12149 
12150 __extension__ extern __inline uint8x16_t
12151 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s8(int8x16_t __a,int8x16_t __b)12152 vcleq_s8 (int8x16_t __a, int8x16_t __b)
12153 {
12154   return (uint8x16_t) (__a <= __b);
12155 }
12156 
12157 __extension__ extern __inline uint16x8_t
12158 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s16(int16x8_t __a,int16x8_t __b)12159 vcleq_s16 (int16x8_t __a, int16x8_t __b)
12160 {
12161   return (uint16x8_t) (__a <= __b);
12162 }
12163 
12164 __extension__ extern __inline uint32x4_t
12165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s32(int32x4_t __a,int32x4_t __b)12166 vcleq_s32 (int32x4_t __a, int32x4_t __b)
12167 {
12168   return (uint32x4_t) (__a <= __b);
12169 }
12170 
12171 __extension__ extern __inline uint64x2_t
12172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_s64(int64x2_t __a,int64x2_t __b)12173 vcleq_s64 (int64x2_t __a, int64x2_t __b)
12174 {
12175   return (uint64x2_t) (__a <= __b);
12176 }
12177 
12178 __extension__ extern __inline uint8x16_t
12179 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u8(uint8x16_t __a,uint8x16_t __b)12180 vcleq_u8 (uint8x16_t __a, uint8x16_t __b)
12181 {
12182   return (__a <= __b);
12183 }
12184 
12185 __extension__ extern __inline uint16x8_t
12186 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u16(uint16x8_t __a,uint16x8_t __b)12187 vcleq_u16 (uint16x8_t __a, uint16x8_t __b)
12188 {
12189   return (__a <= __b);
12190 }
12191 
12192 __extension__ extern __inline uint32x4_t
12193 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u32(uint32x4_t __a,uint32x4_t __b)12194 vcleq_u32 (uint32x4_t __a, uint32x4_t __b)
12195 {
12196   return (__a <= __b);
12197 }
12198 
12199 __extension__ extern __inline uint64x2_t
12200 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_u64(uint64x2_t __a,uint64x2_t __b)12201 vcleq_u64 (uint64x2_t __a, uint64x2_t __b)
12202 {
12203   return (__a <= __b);
12204 }
12205 
12206 /* vcle - scalar.  */
12207 
12208 __extension__ extern __inline uint32_t
12209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcles_f32(float32_t __a,float32_t __b)12210 vcles_f32 (float32_t __a, float32_t __b)
12211 {
12212   return __a <= __b ? -1 : 0;
12213 }
12214 
12215 __extension__ extern __inline uint64_t
12216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcled_s64(int64_t __a,int64_t __b)12217 vcled_s64 (int64_t __a, int64_t __b)
12218 {
12219   return __a <= __b ? -1ll : 0ll;
12220 }
12221 
12222 __extension__ extern __inline uint64_t
12223 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcled_u64(uint64_t __a,uint64_t __b)12224 vcled_u64 (uint64_t __a, uint64_t __b)
12225 {
12226   return __a <= __b ? -1ll : 0ll;
12227 }
12228 
12229 __extension__ extern __inline uint64_t
12230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcled_f64(float64_t __a,float64_t __b)12231 vcled_f64 (float64_t __a, float64_t __b)
12232 {
12233   return __a <= __b ? -1ll : 0ll;
12234 }
12235 
12236 /* vclez - vector.  */
12237 
12238 __extension__ extern __inline uint32x2_t
12239 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_f32(float32x2_t __a)12240 vclez_f32 (float32x2_t __a)
12241 {
12242   return (uint32x2_t) (__a <= 0.0f);
12243 }
12244 
12245 __extension__ extern __inline uint64x1_t
12246 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_f64(float64x1_t __a)12247 vclez_f64 (float64x1_t __a)
12248 {
12249   return (uint64x1_t) (__a <= (float64x1_t) {0.0});
12250 }
12251 
12252 __extension__ extern __inline uint8x8_t
12253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_s8(int8x8_t __a)12254 vclez_s8 (int8x8_t __a)
12255 {
12256   return (uint8x8_t) (__a <= 0);
12257 }
12258 
12259 __extension__ extern __inline uint16x4_t
12260 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_s16(int16x4_t __a)12261 vclez_s16 (int16x4_t __a)
12262 {
12263   return (uint16x4_t) (__a <= 0);
12264 }
12265 
12266 __extension__ extern __inline uint32x2_t
12267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_s32(int32x2_t __a)12268 vclez_s32 (int32x2_t __a)
12269 {
12270   return (uint32x2_t) (__a <= 0);
12271 }
12272 
12273 __extension__ extern __inline uint64x1_t
12274 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_s64(int64x1_t __a)12275 vclez_s64 (int64x1_t __a)
12276 {
12277   return (uint64x1_t) (__a <= __AARCH64_INT64_C (0));
12278 }
12279 
12280 __extension__ extern __inline uint32x4_t
12281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_f32(float32x4_t __a)12282 vclezq_f32 (float32x4_t __a)
12283 {
12284   return (uint32x4_t) (__a <= 0.0f);
12285 }
12286 
12287 __extension__ extern __inline uint64x2_t
12288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_f64(float64x2_t __a)12289 vclezq_f64 (float64x2_t __a)
12290 {
12291   return (uint64x2_t) (__a <= 0.0);
12292 }
12293 
12294 __extension__ extern __inline uint8x16_t
12295 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_s8(int8x16_t __a)12296 vclezq_s8 (int8x16_t __a)
12297 {
12298   return (uint8x16_t) (__a <= 0);
12299 }
12300 
12301 __extension__ extern __inline uint16x8_t
12302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_s16(int16x8_t __a)12303 vclezq_s16 (int16x8_t __a)
12304 {
12305   return (uint16x8_t) (__a <= 0);
12306 }
12307 
12308 __extension__ extern __inline uint32x4_t
12309 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_s32(int32x4_t __a)12310 vclezq_s32 (int32x4_t __a)
12311 {
12312   return (uint32x4_t) (__a <= 0);
12313 }
12314 
12315 __extension__ extern __inline uint64x2_t
12316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_s64(int64x2_t __a)12317 vclezq_s64 (int64x2_t __a)
12318 {
12319   return (uint64x2_t) (__a <= __AARCH64_INT64_C (0));
12320 }
12321 
12322 /* vclez - scalar.  */
12323 
12324 __extension__ extern __inline uint32_t
12325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezs_f32(float32_t __a)12326 vclezs_f32 (float32_t __a)
12327 {
12328   return __a <= 0.0f ? -1 : 0;
12329 }
12330 
12331 __extension__ extern __inline uint64_t
12332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezd_s64(int64_t __a)12333 vclezd_s64 (int64_t __a)
12334 {
12335   return __a <= 0 ? -1ll : 0ll;
12336 }
12337 
12338 __extension__ extern __inline uint64_t
12339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezd_f64(float64_t __a)12340 vclezd_f64 (float64_t __a)
12341 {
12342   return __a <= 0.0 ? -1ll : 0ll;
12343 }
12344 
12345 /* vclt - vector.  */
12346 
12347 __extension__ extern __inline uint32x2_t
12348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_f32(float32x2_t __a,float32x2_t __b)12349 vclt_f32 (float32x2_t __a, float32x2_t __b)
12350 {
12351   return (uint32x2_t) (__a < __b);
12352 }
12353 
12354 __extension__ extern __inline uint64x1_t
12355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_f64(float64x1_t __a,float64x1_t __b)12356 vclt_f64 (float64x1_t __a, float64x1_t __b)
12357 {
12358   return (uint64x1_t) (__a < __b);
12359 }
12360 
12361 __extension__ extern __inline uint8x8_t
12362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s8(int8x8_t __a,int8x8_t __b)12363 vclt_s8 (int8x8_t __a, int8x8_t __b)
12364 {
12365   return (uint8x8_t) (__a < __b);
12366 }
12367 
12368 __extension__ extern __inline uint16x4_t
12369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s16(int16x4_t __a,int16x4_t __b)12370 vclt_s16 (int16x4_t __a, int16x4_t __b)
12371 {
12372   return (uint16x4_t) (__a < __b);
12373 }
12374 
12375 __extension__ extern __inline uint32x2_t
12376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s32(int32x2_t __a,int32x2_t __b)12377 vclt_s32 (int32x2_t __a, int32x2_t __b)
12378 {
12379   return (uint32x2_t) (__a < __b);
12380 }
12381 
12382 __extension__ extern __inline uint64x1_t
12383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_s64(int64x1_t __a,int64x1_t __b)12384 vclt_s64 (int64x1_t __a, int64x1_t __b)
12385 {
12386   return (uint64x1_t) (__a < __b);
12387 }
12388 
12389 __extension__ extern __inline uint8x8_t
12390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u8(uint8x8_t __a,uint8x8_t __b)12391 vclt_u8 (uint8x8_t __a, uint8x8_t __b)
12392 {
12393   return (__a < __b);
12394 }
12395 
12396 __extension__ extern __inline uint16x4_t
12397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u16(uint16x4_t __a,uint16x4_t __b)12398 vclt_u16 (uint16x4_t __a, uint16x4_t __b)
12399 {
12400   return (__a < __b);
12401 }
12402 
12403 __extension__ extern __inline uint32x2_t
12404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u32(uint32x2_t __a,uint32x2_t __b)12405 vclt_u32 (uint32x2_t __a, uint32x2_t __b)
12406 {
12407   return (__a < __b);
12408 }
12409 
12410 __extension__ extern __inline uint64x1_t
12411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_u64(uint64x1_t __a,uint64x1_t __b)12412 vclt_u64 (uint64x1_t __a, uint64x1_t __b)
12413 {
12414   return (__a < __b);
12415 }
12416 
12417 __extension__ extern __inline uint32x4_t
12418 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_f32(float32x4_t __a,float32x4_t __b)12419 vcltq_f32 (float32x4_t __a, float32x4_t __b)
12420 {
12421   return (uint32x4_t) (__a < __b);
12422 }
12423 
12424 __extension__ extern __inline uint64x2_t
12425 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_f64(float64x2_t __a,float64x2_t __b)12426 vcltq_f64 (float64x2_t __a, float64x2_t __b)
12427 {
12428   return (uint64x2_t) (__a < __b);
12429 }
12430 
12431 __extension__ extern __inline uint8x16_t
12432 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s8(int8x16_t __a,int8x16_t __b)12433 vcltq_s8 (int8x16_t __a, int8x16_t __b)
12434 {
12435   return (uint8x16_t) (__a < __b);
12436 }
12437 
12438 __extension__ extern __inline uint16x8_t
12439 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s16(int16x8_t __a,int16x8_t __b)12440 vcltq_s16 (int16x8_t __a, int16x8_t __b)
12441 {
12442   return (uint16x8_t) (__a < __b);
12443 }
12444 
12445 __extension__ extern __inline uint32x4_t
12446 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s32(int32x4_t __a,int32x4_t __b)12447 vcltq_s32 (int32x4_t __a, int32x4_t __b)
12448 {
12449   return (uint32x4_t) (__a < __b);
12450 }
12451 
12452 __extension__ extern __inline uint64x2_t
12453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_s64(int64x2_t __a,int64x2_t __b)12454 vcltq_s64 (int64x2_t __a, int64x2_t __b)
12455 {
12456   return (uint64x2_t) (__a < __b);
12457 }
12458 
12459 __extension__ extern __inline uint8x16_t
12460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u8(uint8x16_t __a,uint8x16_t __b)12461 vcltq_u8 (uint8x16_t __a, uint8x16_t __b)
12462 {
12463   return (__a < __b);
12464 }
12465 
12466 __extension__ extern __inline uint16x8_t
12467 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u16(uint16x8_t __a,uint16x8_t __b)12468 vcltq_u16 (uint16x8_t __a, uint16x8_t __b)
12469 {
12470   return (__a < __b);
12471 }
12472 
12473 __extension__ extern __inline uint32x4_t
12474 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u32(uint32x4_t __a,uint32x4_t __b)12475 vcltq_u32 (uint32x4_t __a, uint32x4_t __b)
12476 {
12477   return (__a < __b);
12478 }
12479 
12480 __extension__ extern __inline uint64x2_t
12481 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_u64(uint64x2_t __a,uint64x2_t __b)12482 vcltq_u64 (uint64x2_t __a, uint64x2_t __b)
12483 {
12484   return (__a < __b);
12485 }
12486 
12487 /* vclt - scalar.  */
12488 
12489 __extension__ extern __inline uint32_t
12490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclts_f32(float32_t __a,float32_t __b)12491 vclts_f32 (float32_t __a, float32_t __b)
12492 {
12493   return __a < __b ? -1 : 0;
12494 }
12495 
12496 __extension__ extern __inline uint64_t
12497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltd_s64(int64_t __a,int64_t __b)12498 vcltd_s64 (int64_t __a, int64_t __b)
12499 {
12500   return __a < __b ? -1ll : 0ll;
12501 }
12502 
12503 __extension__ extern __inline uint64_t
12504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltd_u64(uint64_t __a,uint64_t __b)12505 vcltd_u64 (uint64_t __a, uint64_t __b)
12506 {
12507   return __a < __b ? -1ll : 0ll;
12508 }
12509 
12510 __extension__ extern __inline uint64_t
12511 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltd_f64(float64_t __a,float64_t __b)12512 vcltd_f64 (float64_t __a, float64_t __b)
12513 {
12514   return __a < __b ? -1ll : 0ll;
12515 }
12516 
12517 /* vcltz - vector.  */
12518 
12519 __extension__ extern __inline uint32x2_t
12520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_f32(float32x2_t __a)12521 vcltz_f32 (float32x2_t __a)
12522 {
12523   return (uint32x2_t) (__a < 0.0f);
12524 }
12525 
12526 __extension__ extern __inline uint64x1_t
12527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_f64(float64x1_t __a)12528 vcltz_f64 (float64x1_t __a)
12529 {
12530   return (uint64x1_t) (__a < (float64x1_t) {0.0});
12531 }
12532 
12533 __extension__ extern __inline uint8x8_t
12534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_s8(int8x8_t __a)12535 vcltz_s8 (int8x8_t __a)
12536 {
12537   return (uint8x8_t) (__a < 0);
12538 }
12539 
12540 __extension__ extern __inline uint16x4_t
12541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_s16(int16x4_t __a)12542 vcltz_s16 (int16x4_t __a)
12543 {
12544   return (uint16x4_t) (__a < 0);
12545 }
12546 
12547 __extension__ extern __inline uint32x2_t
12548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_s32(int32x2_t __a)12549 vcltz_s32 (int32x2_t __a)
12550 {
12551   return (uint32x2_t) (__a < 0);
12552 }
12553 
12554 __extension__ extern __inline uint64x1_t
12555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_s64(int64x1_t __a)12556 vcltz_s64 (int64x1_t __a)
12557 {
12558   return (uint64x1_t) (__a < __AARCH64_INT64_C (0));
12559 }
12560 
12561 __extension__ extern __inline uint32x4_t
12562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_f32(float32x4_t __a)12563 vcltzq_f32 (float32x4_t __a)
12564 {
12565   return (uint32x4_t) (__a < 0.0f);
12566 }
12567 
12568 __extension__ extern __inline uint64x2_t
12569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_f64(float64x2_t __a)12570 vcltzq_f64 (float64x2_t __a)
12571 {
12572   return (uint64x2_t) (__a < 0.0);
12573 }
12574 
12575 __extension__ extern __inline uint8x16_t
12576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_s8(int8x16_t __a)12577 vcltzq_s8 (int8x16_t __a)
12578 {
12579   return (uint8x16_t) (__a < 0);
12580 }
12581 
12582 __extension__ extern __inline uint16x8_t
12583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_s16(int16x8_t __a)12584 vcltzq_s16 (int16x8_t __a)
12585 {
12586   return (uint16x8_t) (__a < 0);
12587 }
12588 
12589 __extension__ extern __inline uint32x4_t
12590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_s32(int32x4_t __a)12591 vcltzq_s32 (int32x4_t __a)
12592 {
12593   return (uint32x4_t) (__a < 0);
12594 }
12595 
12596 __extension__ extern __inline uint64x2_t
12597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_s64(int64x2_t __a)12598 vcltzq_s64 (int64x2_t __a)
12599 {
12600   return (uint64x2_t) (__a < __AARCH64_INT64_C (0));
12601 }
12602 
12603 /* vcltz - scalar.  */
12604 
12605 __extension__ extern __inline uint32_t
12606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzs_f32(float32_t __a)12607 vcltzs_f32 (float32_t __a)
12608 {
12609   return __a < 0.0f ? -1 : 0;
12610 }
12611 
12612 __extension__ extern __inline uint64_t
12613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzd_s64(int64_t __a)12614 vcltzd_s64 (int64_t __a)
12615 {
12616   return __a < 0 ? -1ll : 0ll;
12617 }
12618 
12619 __extension__ extern __inline uint64_t
12620 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzd_f64(float64_t __a)12621 vcltzd_f64 (float64_t __a)
12622 {
12623   return __a < 0.0 ? -1ll : 0ll;
12624 }
12625 
12626 /* vcls.  */
12627 
12628 __extension__ extern __inline int8x8_t
12629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s8(int8x8_t __a)12630 vcls_s8 (int8x8_t __a)
12631 {
12632   return __builtin_aarch64_clrsbv8qi (__a);
12633 }
12634 
12635 __extension__ extern __inline int16x4_t
12636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s16(int16x4_t __a)12637 vcls_s16 (int16x4_t __a)
12638 {
12639   return __builtin_aarch64_clrsbv4hi (__a);
12640 }
12641 
12642 __extension__ extern __inline int32x2_t
12643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_s32(int32x2_t __a)12644 vcls_s32 (int32x2_t __a)
12645 {
12646   return __builtin_aarch64_clrsbv2si (__a);
12647 }
12648 
12649 __extension__ extern __inline int8x16_t
12650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s8(int8x16_t __a)12651 vclsq_s8 (int8x16_t __a)
12652 {
12653   return __builtin_aarch64_clrsbv16qi (__a);
12654 }
12655 
12656 __extension__ extern __inline int16x8_t
12657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s16(int16x8_t __a)12658 vclsq_s16 (int16x8_t __a)
12659 {
12660   return __builtin_aarch64_clrsbv8hi (__a);
12661 }
12662 
12663 __extension__ extern __inline int32x4_t
12664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_s32(int32x4_t __a)12665 vclsq_s32 (int32x4_t __a)
12666 {
12667   return __builtin_aarch64_clrsbv4si (__a);
12668 }
12669 
12670 __extension__ extern __inline int8x8_t
12671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_u8(uint8x8_t __a)12672 vcls_u8 (uint8x8_t __a)
12673 {
12674   return __builtin_aarch64_clrsbv8qi ((int8x8_t) __a);
12675 }
12676 
12677 __extension__ extern __inline int16x4_t
12678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_u16(uint16x4_t __a)12679 vcls_u16 (uint16x4_t __a)
12680 {
12681   return __builtin_aarch64_clrsbv4hi ((int16x4_t) __a);
12682 }
12683 
12684 __extension__ extern __inline int32x2_t
12685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcls_u32(uint32x2_t __a)12686 vcls_u32 (uint32x2_t __a)
12687 {
12688   return __builtin_aarch64_clrsbv2si ((int32x2_t) __a);
12689 }
12690 
12691 __extension__ extern __inline int8x16_t
12692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_u8(uint8x16_t __a)12693 vclsq_u8 (uint8x16_t __a)
12694 {
12695   return __builtin_aarch64_clrsbv16qi ((int8x16_t) __a);
12696 }
12697 
12698 __extension__ extern __inline int16x8_t
12699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_u16(uint16x8_t __a)12700 vclsq_u16 (uint16x8_t __a)
12701 {
12702   return __builtin_aarch64_clrsbv8hi ((int16x8_t) __a);
12703 }
12704 
12705 __extension__ extern __inline int32x4_t
12706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclsq_u32(uint32x4_t __a)12707 vclsq_u32 (uint32x4_t __a)
12708 {
12709   return __builtin_aarch64_clrsbv4si ((int32x4_t) __a);
12710 }
12711 
12712 /* vclz.  */
12713 
12714 __extension__ extern __inline int8x8_t
12715 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s8(int8x8_t __a)12716 vclz_s8 (int8x8_t __a)
12717 {
12718   return __builtin_aarch64_clzv8qi (__a);
12719 }
12720 
12721 __extension__ extern __inline int16x4_t
12722 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s16(int16x4_t __a)12723 vclz_s16 (int16x4_t __a)
12724 {
12725   return __builtin_aarch64_clzv4hi (__a);
12726 }
12727 
12728 __extension__ extern __inline int32x2_t
12729 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_s32(int32x2_t __a)12730 vclz_s32 (int32x2_t __a)
12731 {
12732   return __builtin_aarch64_clzv2si (__a);
12733 }
12734 
12735 __extension__ extern __inline uint8x8_t
12736 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u8(uint8x8_t __a)12737 vclz_u8 (uint8x8_t __a)
12738 {
12739   return (uint8x8_t)__builtin_aarch64_clzv8qi ((int8x8_t)__a);
12740 }
12741 
12742 __extension__ extern __inline uint16x4_t
12743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u16(uint16x4_t __a)12744 vclz_u16 (uint16x4_t __a)
12745 {
12746   return (uint16x4_t)__builtin_aarch64_clzv4hi ((int16x4_t)__a);
12747 }
12748 
12749 __extension__ extern __inline uint32x2_t
12750 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclz_u32(uint32x2_t __a)12751 vclz_u32 (uint32x2_t __a)
12752 {
12753   return (uint32x2_t)__builtin_aarch64_clzv2si ((int32x2_t)__a);
12754 }
12755 
12756 __extension__ extern __inline int8x16_t
12757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s8(int8x16_t __a)12758 vclzq_s8 (int8x16_t __a)
12759 {
12760   return __builtin_aarch64_clzv16qi (__a);
12761 }
12762 
12763 __extension__ extern __inline int16x8_t
12764 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s16(int16x8_t __a)12765 vclzq_s16 (int16x8_t __a)
12766 {
12767   return __builtin_aarch64_clzv8hi (__a);
12768 }
12769 
12770 __extension__ extern __inline int32x4_t
12771 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_s32(int32x4_t __a)12772 vclzq_s32 (int32x4_t __a)
12773 {
12774   return __builtin_aarch64_clzv4si (__a);
12775 }
12776 
12777 __extension__ extern __inline uint8x16_t
12778 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u8(uint8x16_t __a)12779 vclzq_u8 (uint8x16_t __a)
12780 {
12781   return (uint8x16_t)__builtin_aarch64_clzv16qi ((int8x16_t)__a);
12782 }
12783 
12784 __extension__ extern __inline uint16x8_t
12785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u16(uint16x8_t __a)12786 vclzq_u16 (uint16x8_t __a)
12787 {
12788   return (uint16x8_t)__builtin_aarch64_clzv8hi ((int16x8_t)__a);
12789 }
12790 
12791 __extension__ extern __inline uint32x4_t
12792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclzq_u32(uint32x4_t __a)12793 vclzq_u32 (uint32x4_t __a)
12794 {
12795   return (uint32x4_t)__builtin_aarch64_clzv4si ((int32x4_t)__a);
12796 }
12797 
12798 /* vcnt.  */
12799 
12800 __extension__ extern __inline poly8x8_t
12801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_p8(poly8x8_t __a)12802 vcnt_p8 (poly8x8_t __a)
12803 {
12804   return (poly8x8_t) __builtin_aarch64_popcountv8qi ((int8x8_t) __a);
12805 }
12806 
12807 __extension__ extern __inline int8x8_t
12808 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_s8(int8x8_t __a)12809 vcnt_s8 (int8x8_t __a)
12810 {
12811   return __builtin_aarch64_popcountv8qi (__a);
12812 }
12813 
12814 __extension__ extern __inline uint8x8_t
12815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcnt_u8(uint8x8_t __a)12816 vcnt_u8 (uint8x8_t __a)
12817 {
12818   return (uint8x8_t) __builtin_aarch64_popcountv8qi ((int8x8_t) __a);
12819 }
12820 
12821 __extension__ extern __inline poly8x16_t
12822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_p8(poly8x16_t __a)12823 vcntq_p8 (poly8x16_t __a)
12824 {
12825   return (poly8x16_t) __builtin_aarch64_popcountv16qi ((int8x16_t) __a);
12826 }
12827 
12828 __extension__ extern __inline int8x16_t
12829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_s8(int8x16_t __a)12830 vcntq_s8 (int8x16_t __a)
12831 {
12832   return __builtin_aarch64_popcountv16qi (__a);
12833 }
12834 
12835 __extension__ extern __inline uint8x16_t
12836 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcntq_u8(uint8x16_t __a)12837 vcntq_u8 (uint8x16_t __a)
12838 {
12839   return (uint8x16_t) __builtin_aarch64_popcountv16qi ((int8x16_t) __a);
12840 }
12841 
12842 /* vcopy_lane.  */
12843 
12844 __extension__ extern __inline float32x2_t
12845 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_f32(float32x2_t __a,const int __lane1,float32x2_t __b,const int __lane2)12846 vcopy_lane_f32 (float32x2_t __a, const int __lane1,
12847 		float32x2_t __b, const int __lane2)
12848 {
12849   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12850 				  __a, __lane1);
12851 }
12852 
12853 __extension__ extern __inline float64x1_t
12854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_f64(float64x1_t __a,const int __lane1,float64x1_t __b,const int __lane2)12855 vcopy_lane_f64 (float64x1_t __a, const int __lane1,
12856 		float64x1_t __b, const int __lane2)
12857 {
12858   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12859 				  __a, __lane1);
12860 }
12861 
12862 __extension__ extern __inline poly8x8_t
12863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_p8(poly8x8_t __a,const int __lane1,poly8x8_t __b,const int __lane2)12864 vcopy_lane_p8 (poly8x8_t __a, const int __lane1,
12865 	       poly8x8_t __b, const int __lane2)
12866 {
12867   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12868 				 __a, __lane1);
12869 }
12870 
12871 __extension__ extern __inline poly16x4_t
12872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_p16(poly16x4_t __a,const int __lane1,poly16x4_t __b,const int __lane2)12873 vcopy_lane_p16 (poly16x4_t __a, const int __lane1,
12874 		poly16x4_t __b, const int __lane2)
12875 {
12876   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12877 				  __a, __lane1);
12878 }
12879 
12880 __extension__ extern __inline poly64x1_t
12881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_p64(poly64x1_t __a,const int __lane1,poly64x1_t __b,const int __lane2)12882 vcopy_lane_p64 (poly64x1_t __a, const int __lane1,
12883 		poly64x1_t __b, const int __lane2)
12884 {
12885   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12886 				  __a, __lane1);
12887 }
12888 
12889 __extension__ extern __inline int8x8_t
12890 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_s8(int8x8_t __a,const int __lane1,int8x8_t __b,const int __lane2)12891 vcopy_lane_s8 (int8x8_t __a, const int __lane1,
12892 	       int8x8_t __b, const int __lane2)
12893 {
12894   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12895 				 __a, __lane1);
12896 }
12897 
12898 __extension__ extern __inline int16x4_t
12899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_s16(int16x4_t __a,const int __lane1,int16x4_t __b,const int __lane2)12900 vcopy_lane_s16 (int16x4_t __a, const int __lane1,
12901 		int16x4_t __b, const int __lane2)
12902 {
12903   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12904 				  __a, __lane1);
12905 }
12906 
12907 __extension__ extern __inline int32x2_t
12908 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_s32(int32x2_t __a,const int __lane1,int32x2_t __b,const int __lane2)12909 vcopy_lane_s32 (int32x2_t __a, const int __lane1,
12910 		int32x2_t __b, const int __lane2)
12911 {
12912   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12913 				  __a, __lane1);
12914 }
12915 
12916 __extension__ extern __inline int64x1_t
12917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_s64(int64x1_t __a,const int __lane1,int64x1_t __b,const int __lane2)12918 vcopy_lane_s64 (int64x1_t __a, const int __lane1,
12919 		int64x1_t __b, const int __lane2)
12920 {
12921   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12922 				  __a, __lane1);
12923 }
12924 
12925 __extension__ extern __inline uint8x8_t
12926 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_u8(uint8x8_t __a,const int __lane1,uint8x8_t __b,const int __lane2)12927 vcopy_lane_u8 (uint8x8_t __a, const int __lane1,
12928 	       uint8x8_t __b, const int __lane2)
12929 {
12930   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12931 				 __a, __lane1);
12932 }
12933 
12934 __extension__ extern __inline uint16x4_t
12935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_u16(uint16x4_t __a,const int __lane1,uint16x4_t __b,const int __lane2)12936 vcopy_lane_u16 (uint16x4_t __a, const int __lane1,
12937 		uint16x4_t __b, const int __lane2)
12938 {
12939   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12940 				  __a, __lane1);
12941 }
12942 
12943 __extension__ extern __inline uint32x2_t
12944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_u32(uint32x2_t __a,const int __lane1,uint32x2_t __b,const int __lane2)12945 vcopy_lane_u32 (uint32x2_t __a, const int __lane1,
12946 		uint32x2_t __b, const int __lane2)
12947 {
12948   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12949 				  __a, __lane1);
12950 }
12951 
12952 __extension__ extern __inline uint64x1_t
12953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_u64(uint64x1_t __a,const int __lane1,uint64x1_t __b,const int __lane2)12954 vcopy_lane_u64 (uint64x1_t __a, const int __lane1,
12955 		uint64x1_t __b, const int __lane2)
12956 {
12957   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12958 				  __a, __lane1);
12959 }
12960 
12961 /* vcopy_laneq.  */
12962 
12963 __extension__ extern __inline float32x2_t
12964 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_f32(float32x2_t __a,const int __lane1,float32x4_t __b,const int __lane2)12965 vcopy_laneq_f32 (float32x2_t __a, const int __lane1,
12966 		 float32x4_t __b, const int __lane2)
12967 {
12968   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12969 				  __a, __lane1);
12970 }
12971 
12972 __extension__ extern __inline float64x1_t
12973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_f64(float64x1_t __a,const int __lane1,float64x2_t __b,const int __lane2)12974 vcopy_laneq_f64 (float64x1_t __a, const int __lane1,
12975 		 float64x2_t __b, const int __lane2)
12976 {
12977   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12978 				  __a, __lane1);
12979 }
12980 
12981 __extension__ extern __inline poly8x8_t
12982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_p8(poly8x8_t __a,const int __lane1,poly8x16_t __b,const int __lane2)12983 vcopy_laneq_p8 (poly8x8_t __a, const int __lane1,
12984 		poly8x16_t __b, const int __lane2)
12985 {
12986   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12987 				 __a, __lane1);
12988 }
12989 
12990 __extension__ extern __inline poly16x4_t
12991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_p16(poly16x4_t __a,const int __lane1,poly16x8_t __b,const int __lane2)12992 vcopy_laneq_p16 (poly16x4_t __a, const int __lane1,
12993 		 poly16x8_t __b, const int __lane2)
12994 {
12995   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
12996 				  __a, __lane1);
12997 }
12998 
12999 __extension__ extern __inline poly64x1_t
13000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_p64(poly64x1_t __a,const int __lane1,poly64x2_t __b,const int __lane2)13001 vcopy_laneq_p64 (poly64x1_t __a, const int __lane1,
13002 		 poly64x2_t __b, const int __lane2)
13003 {
13004   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13005 				  __a, __lane1);
13006 }
13007 
13008 __extension__ extern __inline int8x8_t
13009 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_s8(int8x8_t __a,const int __lane1,int8x16_t __b,const int __lane2)13010 vcopy_laneq_s8 (int8x8_t __a, const int __lane1,
13011 		int8x16_t __b, const int __lane2)
13012 {
13013   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13014 				 __a, __lane1);
13015 }
13016 
13017 __extension__ extern __inline int16x4_t
13018 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_s16(int16x4_t __a,const int __lane1,int16x8_t __b,const int __lane2)13019 vcopy_laneq_s16 (int16x4_t __a, const int __lane1,
13020 		 int16x8_t __b, const int __lane2)
13021 {
13022   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13023 				  __a, __lane1);
13024 }
13025 
13026 __extension__ extern __inline int32x2_t
13027 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_s32(int32x2_t __a,const int __lane1,int32x4_t __b,const int __lane2)13028 vcopy_laneq_s32 (int32x2_t __a, const int __lane1,
13029 		 int32x4_t __b, const int __lane2)
13030 {
13031   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13032 				  __a, __lane1);
13033 }
13034 
13035 __extension__ extern __inline int64x1_t
13036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_s64(int64x1_t __a,const int __lane1,int64x2_t __b,const int __lane2)13037 vcopy_laneq_s64 (int64x1_t __a, const int __lane1,
13038 		 int64x2_t __b, const int __lane2)
13039 {
13040   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13041 				  __a, __lane1);
13042 }
13043 
13044 __extension__ extern __inline uint8x8_t
13045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_u8(uint8x8_t __a,const int __lane1,uint8x16_t __b,const int __lane2)13046 vcopy_laneq_u8 (uint8x8_t __a, const int __lane1,
13047 		uint8x16_t __b, const int __lane2)
13048 {
13049   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13050 				 __a, __lane1);
13051 }
13052 
13053 __extension__ extern __inline uint16x4_t
13054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_u16(uint16x4_t __a,const int __lane1,uint16x8_t __b,const int __lane2)13055 vcopy_laneq_u16 (uint16x4_t __a, const int __lane1,
13056 		 uint16x8_t __b, const int __lane2)
13057 {
13058   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13059 				  __a, __lane1);
13060 }
13061 
13062 __extension__ extern __inline uint32x2_t
13063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_u32(uint32x2_t __a,const int __lane1,uint32x4_t __b,const int __lane2)13064 vcopy_laneq_u32 (uint32x2_t __a, const int __lane1,
13065 		 uint32x4_t __b, const int __lane2)
13066 {
13067   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13068 				  __a, __lane1);
13069 }
13070 
13071 __extension__ extern __inline uint64x1_t
13072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_u64(uint64x1_t __a,const int __lane1,uint64x2_t __b,const int __lane2)13073 vcopy_laneq_u64 (uint64x1_t __a, const int __lane1,
13074 		 uint64x2_t __b, const int __lane2)
13075 {
13076   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13077 				  __a, __lane1);
13078 }
13079 
13080 /* vcopyq_lane.  */
13081 
13082 __extension__ extern __inline float32x4_t
13083 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_f32(float32x4_t __a,const int __lane1,float32x2_t __b,const int __lane2)13084 vcopyq_lane_f32 (float32x4_t __a, const int __lane1,
13085 		 float32x2_t __b, const int __lane2)
13086 {
13087   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13088 				   __a, __lane1);
13089 }
13090 
13091 __extension__ extern __inline float64x2_t
13092 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_f64(float64x2_t __a,const int __lane1,float64x1_t __b,const int __lane2)13093 vcopyq_lane_f64 (float64x2_t __a, const int __lane1,
13094 		 float64x1_t __b, const int __lane2)
13095 {
13096   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13097 				   __a, __lane1);
13098 }
13099 
13100 __extension__ extern __inline poly8x16_t
13101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_p8(poly8x16_t __a,const int __lane1,poly8x8_t __b,const int __lane2)13102 vcopyq_lane_p8 (poly8x16_t __a, const int __lane1,
13103 		poly8x8_t __b, const int __lane2)
13104 {
13105   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13106 				  __a, __lane1);
13107 }
13108 
13109 __extension__ extern __inline poly16x8_t
13110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_p16(poly16x8_t __a,const int __lane1,poly16x4_t __b,const int __lane2)13111 vcopyq_lane_p16 (poly16x8_t __a, const int __lane1,
13112 		 poly16x4_t __b, const int __lane2)
13113 {
13114   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13115 				   __a, __lane1);
13116 }
13117 
13118 __extension__ extern __inline poly64x2_t
13119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_p64(poly64x2_t __a,const int __lane1,poly64x1_t __b,const int __lane2)13120 vcopyq_lane_p64 (poly64x2_t __a, const int __lane1,
13121 		 poly64x1_t __b, const int __lane2)
13122 {
13123   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13124 				   __a, __lane1);
13125 }
13126 
13127 __extension__ extern __inline int8x16_t
13128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_s8(int8x16_t __a,const int __lane1,int8x8_t __b,const int __lane2)13129 vcopyq_lane_s8 (int8x16_t __a, const int __lane1,
13130 		int8x8_t __b, const int __lane2)
13131 {
13132   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13133 				  __a, __lane1);
13134 }
13135 
13136 __extension__ extern __inline int16x8_t
13137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_s16(int16x8_t __a,const int __lane1,int16x4_t __b,const int __lane2)13138 vcopyq_lane_s16 (int16x8_t __a, const int __lane1,
13139 		 int16x4_t __b, const int __lane2)
13140 {
13141   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13142 				   __a, __lane1);
13143 }
13144 
13145 __extension__ extern __inline int32x4_t
13146 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_s32(int32x4_t __a,const int __lane1,int32x2_t __b,const int __lane2)13147 vcopyq_lane_s32 (int32x4_t __a, const int __lane1,
13148 		 int32x2_t __b, const int __lane2)
13149 {
13150   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13151 				   __a, __lane1);
13152 }
13153 
13154 __extension__ extern __inline int64x2_t
13155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_s64(int64x2_t __a,const int __lane1,int64x1_t __b,const int __lane2)13156 vcopyq_lane_s64 (int64x2_t __a, const int __lane1,
13157 		 int64x1_t __b, const int __lane2)
13158 {
13159   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13160 				   __a, __lane1);
13161 }
13162 
13163 __extension__ extern __inline uint8x16_t
13164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_u8(uint8x16_t __a,const int __lane1,uint8x8_t __b,const int __lane2)13165 vcopyq_lane_u8 (uint8x16_t __a, const int __lane1,
13166 		uint8x8_t __b, const int __lane2)
13167 {
13168   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13169 				  __a, __lane1);
13170 }
13171 
13172 __extension__ extern __inline uint16x8_t
13173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_u16(uint16x8_t __a,const int __lane1,uint16x4_t __b,const int __lane2)13174 vcopyq_lane_u16 (uint16x8_t __a, const int __lane1,
13175 		 uint16x4_t __b, const int __lane2)
13176 {
13177   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13178 				   __a, __lane1);
13179 }
13180 
13181 __extension__ extern __inline uint32x4_t
13182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_u32(uint32x4_t __a,const int __lane1,uint32x2_t __b,const int __lane2)13183 vcopyq_lane_u32 (uint32x4_t __a, const int __lane1,
13184 		 uint32x2_t __b, const int __lane2)
13185 {
13186   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13187 				   __a, __lane1);
13188 }
13189 
13190 __extension__ extern __inline uint64x2_t
13191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_u64(uint64x2_t __a,const int __lane1,uint64x1_t __b,const int __lane2)13192 vcopyq_lane_u64 (uint64x2_t __a, const int __lane1,
13193 		 uint64x1_t __b, const int __lane2)
13194 {
13195   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13196 				   __a, __lane1);
13197 }
13198 
13199 /* vcopyq_laneq.  */
13200 
13201 __extension__ extern __inline float32x4_t
13202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_f32(float32x4_t __a,const int __lane1,float32x4_t __b,const int __lane2)13203 vcopyq_laneq_f32 (float32x4_t __a, const int __lane1,
13204 		  float32x4_t __b, const int __lane2)
13205 {
13206   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13207 				   __a, __lane1);
13208 }
13209 
13210 __extension__ extern __inline float64x2_t
13211 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_f64(float64x2_t __a,const int __lane1,float64x2_t __b,const int __lane2)13212 vcopyq_laneq_f64 (float64x2_t __a, const int __lane1,
13213 		  float64x2_t __b, const int __lane2)
13214 {
13215   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13216 				   __a, __lane1);
13217 }
13218 
13219 __extension__ extern __inline poly8x16_t
13220 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_p8(poly8x16_t __a,const int __lane1,poly8x16_t __b,const int __lane2)13221 vcopyq_laneq_p8 (poly8x16_t __a, const int __lane1,
13222 		 poly8x16_t __b, const int __lane2)
13223 {
13224   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13225 				  __a, __lane1);
13226 }
13227 
13228 __extension__ extern __inline poly16x8_t
13229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_p16(poly16x8_t __a,const int __lane1,poly16x8_t __b,const int __lane2)13230 vcopyq_laneq_p16 (poly16x8_t __a, const int __lane1,
13231 		  poly16x8_t __b, const int __lane2)
13232 {
13233   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13234 				   __a, __lane1);
13235 }
13236 
13237 __extension__ extern __inline poly64x2_t
13238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_p64(poly64x2_t __a,const int __lane1,poly64x2_t __b,const int __lane2)13239 vcopyq_laneq_p64 (poly64x2_t __a, const int __lane1,
13240 		  poly64x2_t __b, const int __lane2)
13241 {
13242   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13243 				   __a, __lane1);
13244 }
13245 
13246 __extension__ extern __inline int8x16_t
13247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_s8(int8x16_t __a,const int __lane1,int8x16_t __b,const int __lane2)13248 vcopyq_laneq_s8 (int8x16_t __a, const int __lane1,
13249 		 int8x16_t __b, const int __lane2)
13250 {
13251   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13252 				  __a, __lane1);
13253 }
13254 
13255 __extension__ extern __inline int16x8_t
13256 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_s16(int16x8_t __a,const int __lane1,int16x8_t __b,const int __lane2)13257 vcopyq_laneq_s16 (int16x8_t __a, const int __lane1,
13258 		  int16x8_t __b, const int __lane2)
13259 {
13260   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13261 				   __a, __lane1);
13262 }
13263 
13264 __extension__ extern __inline int32x4_t
13265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_s32(int32x4_t __a,const int __lane1,int32x4_t __b,const int __lane2)13266 vcopyq_laneq_s32 (int32x4_t __a, const int __lane1,
13267 		  int32x4_t __b, const int __lane2)
13268 {
13269   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13270 				   __a, __lane1);
13271 }
13272 
13273 __extension__ extern __inline int64x2_t
13274 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_s64(int64x2_t __a,const int __lane1,int64x2_t __b,const int __lane2)13275 vcopyq_laneq_s64 (int64x2_t __a, const int __lane1,
13276 		  int64x2_t __b, const int __lane2)
13277 {
13278   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13279 				   __a, __lane1);
13280 }
13281 
13282 __extension__ extern __inline uint8x16_t
13283 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_u8(uint8x16_t __a,const int __lane1,uint8x16_t __b,const int __lane2)13284 vcopyq_laneq_u8 (uint8x16_t __a, const int __lane1,
13285 		 uint8x16_t __b, const int __lane2)
13286 {
13287   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13288 				  __a, __lane1);
13289 }
13290 
13291 __extension__ extern __inline uint16x8_t
13292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_u16(uint16x8_t __a,const int __lane1,uint16x8_t __b,const int __lane2)13293 vcopyq_laneq_u16 (uint16x8_t __a, const int __lane1,
13294 		  uint16x8_t __b, const int __lane2)
13295 {
13296   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13297 				   __a, __lane1);
13298 }
13299 
13300 __extension__ extern __inline uint32x4_t
13301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_u32(uint32x4_t __a,const int __lane1,uint32x4_t __b,const int __lane2)13302 vcopyq_laneq_u32 (uint32x4_t __a, const int __lane1,
13303 		  uint32x4_t __b, const int __lane2)
13304 {
13305   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13306 				   __a, __lane1);
13307 }
13308 
13309 __extension__ extern __inline uint64x2_t
13310 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_u64(uint64x2_t __a,const int __lane1,uint64x2_t __b,const int __lane2)13311 vcopyq_laneq_u64 (uint64x2_t __a, const int __lane1,
13312 		  uint64x2_t __b, const int __lane2)
13313 {
13314   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
13315 				   __a, __lane1);
13316 }
13317 
13318 /* vcvt (double -> float).  */
13319 
13320 __extension__ extern __inline float16x4_t
13321 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_f32(float32x4_t __a)13322 vcvt_f16_f32 (float32x4_t __a)
13323 {
13324   return __builtin_aarch64_float_truncate_lo_v4hf (__a);
13325 }
13326 
13327 __extension__ extern __inline float16x8_t
13328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_high_f16_f32(float16x4_t __a,float32x4_t __b)13329 vcvt_high_f16_f32 (float16x4_t __a, float32x4_t __b)
13330 {
13331   return __builtin_aarch64_float_truncate_hi_v8hf (__a, __b);
13332 }
13333 
13334 __extension__ extern __inline float32x2_t
13335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_f64(float64x2_t __a)13336 vcvt_f32_f64 (float64x2_t __a)
13337 {
13338   return __builtin_aarch64_float_truncate_lo_v2sf (__a);
13339 }
13340 
13341 __extension__ extern __inline float32x4_t
13342 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_high_f32_f64(float32x2_t __a,float64x2_t __b)13343 vcvt_high_f32_f64 (float32x2_t __a, float64x2_t __b)
13344 {
13345   return __builtin_aarch64_float_truncate_hi_v4sf (__a, __b);
13346 }
13347 
13348 /* vcvt (float -> double).  */
13349 
13350 __extension__ extern __inline float32x4_t
13351 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_f16(float16x4_t __a)13352 vcvt_f32_f16 (float16x4_t __a)
13353 {
13354   return __builtin_aarch64_float_extend_lo_v4sf (__a);
13355 }
13356 
13357 __extension__ extern __inline float64x2_t
13358 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f64_f32(float32x2_t __a)13359 vcvt_f64_f32 (float32x2_t __a)
13360 {
13361 
13362   return __builtin_aarch64_float_extend_lo_v2df (__a);
13363 }
13364 
13365 __extension__ extern __inline float32x4_t
13366 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_high_f32_f16(float16x8_t __a)13367 vcvt_high_f32_f16 (float16x8_t __a)
13368 {
13369   return __builtin_aarch64_vec_unpacks_hi_v8hf (__a);
13370 }
13371 
13372 __extension__ extern __inline float64x2_t
13373 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_high_f64_f32(float32x4_t __a)13374 vcvt_high_f64_f32 (float32x4_t __a)
13375 {
13376   return __builtin_aarch64_vec_unpacks_hi_v4sf (__a);
13377 }
13378 
13379 /* vcvt (<u>fixed-point -> float).  */
13380 
13381 __extension__ extern __inline float64_t
13382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_n_f64_s64(int64_t __a,const int __b)13383 vcvtd_n_f64_s64 (int64_t __a, const int __b)
13384 {
13385   return __builtin_aarch64_scvtfdi (__a, __b);
13386 }
13387 
13388 __extension__ extern __inline float64_t
13389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_n_f64_u64(uint64_t __a,const int __b)13390 vcvtd_n_f64_u64 (uint64_t __a, const int __b)
13391 {
13392   return __builtin_aarch64_ucvtfdi_sus (__a, __b);
13393 }
13394 
13395 __extension__ extern __inline float32_t
13396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_n_f32_s32(int32_t __a,const int __b)13397 vcvts_n_f32_s32 (int32_t __a, const int __b)
13398 {
13399   return __builtin_aarch64_scvtfsi (__a, __b);
13400 }
13401 
13402 __extension__ extern __inline float32_t
13403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_n_f32_u32(uint32_t __a,const int __b)13404 vcvts_n_f32_u32 (uint32_t __a, const int __b)
13405 {
13406   return __builtin_aarch64_ucvtfsi_sus (__a, __b);
13407 }
13408 
13409 __extension__ extern __inline float32x2_t
13410 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f32_s32(int32x2_t __a,const int __b)13411 vcvt_n_f32_s32 (int32x2_t __a, const int __b)
13412 {
13413   return __builtin_aarch64_scvtfv2si (__a, __b);
13414 }
13415 
13416 __extension__ extern __inline float32x2_t
13417 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f32_u32(uint32x2_t __a,const int __b)13418 vcvt_n_f32_u32 (uint32x2_t __a, const int __b)
13419 {
13420   return __builtin_aarch64_ucvtfv2si_sus (__a, __b);
13421 }
13422 
13423 __extension__ extern __inline float64x1_t
13424 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f64_s64(int64x1_t __a,const int __b)13425 vcvt_n_f64_s64 (int64x1_t __a, const int __b)
13426 {
13427   return (float64x1_t)
13428     { __builtin_aarch64_scvtfdi (vget_lane_s64 (__a, 0), __b) };
13429 }
13430 
13431 __extension__ extern __inline float64x1_t
13432 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f64_u64(uint64x1_t __a,const int __b)13433 vcvt_n_f64_u64 (uint64x1_t __a, const int __b)
13434 {
13435   return (float64x1_t)
13436     { __builtin_aarch64_ucvtfdi_sus (vget_lane_u64 (__a, 0), __b) };
13437 }
13438 
13439 __extension__ extern __inline float32x4_t
13440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f32_s32(int32x4_t __a,const int __b)13441 vcvtq_n_f32_s32 (int32x4_t __a, const int __b)
13442 {
13443   return __builtin_aarch64_scvtfv4si (__a, __b);
13444 }
13445 
13446 __extension__ extern __inline float32x4_t
13447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f32_u32(uint32x4_t __a,const int __b)13448 vcvtq_n_f32_u32 (uint32x4_t __a, const int __b)
13449 {
13450   return __builtin_aarch64_ucvtfv4si_sus (__a, __b);
13451 }
13452 
13453 __extension__ extern __inline float64x2_t
13454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f64_s64(int64x2_t __a,const int __b)13455 vcvtq_n_f64_s64 (int64x2_t __a, const int __b)
13456 {
13457   return __builtin_aarch64_scvtfv2di (__a, __b);
13458 }
13459 
13460 __extension__ extern __inline float64x2_t
13461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f64_u64(uint64x2_t __a,const int __b)13462 vcvtq_n_f64_u64 (uint64x2_t __a, const int __b)
13463 {
13464   return __builtin_aarch64_ucvtfv2di_sus (__a, __b);
13465 }
13466 
13467 /* vcvt (float -> <u>fixed-point).  */
13468 
13469 __extension__ extern __inline int64_t
13470 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_n_s64_f64(float64_t __a,const int __b)13471 vcvtd_n_s64_f64 (float64_t __a, const int __b)
13472 {
13473   return __builtin_aarch64_fcvtzsdf (__a, __b);
13474 }
13475 
13476 __extension__ extern __inline uint64_t
13477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_n_u64_f64(float64_t __a,const int __b)13478 vcvtd_n_u64_f64 (float64_t __a, const int __b)
13479 {
13480   return __builtin_aarch64_fcvtzudf_uss (__a, __b);
13481 }
13482 
13483 __extension__ extern __inline int32_t
13484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_n_s32_f32(float32_t __a,const int __b)13485 vcvts_n_s32_f32 (float32_t __a, const int __b)
13486 {
13487   return __builtin_aarch64_fcvtzssf (__a, __b);
13488 }
13489 
13490 __extension__ extern __inline uint32_t
13491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_n_u32_f32(float32_t __a,const int __b)13492 vcvts_n_u32_f32 (float32_t __a, const int __b)
13493 {
13494   return __builtin_aarch64_fcvtzusf_uss (__a, __b);
13495 }
13496 
13497 __extension__ extern __inline int32x2_t
13498 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_s32_f32(float32x2_t __a,const int __b)13499 vcvt_n_s32_f32 (float32x2_t __a, const int __b)
13500 {
13501   return __builtin_aarch64_fcvtzsv2sf (__a, __b);
13502 }
13503 
13504 __extension__ extern __inline uint32x2_t
13505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_u32_f32(float32x2_t __a,const int __b)13506 vcvt_n_u32_f32 (float32x2_t __a, const int __b)
13507 {
13508   return __builtin_aarch64_fcvtzuv2sf_uss (__a, __b);
13509 }
13510 
13511 __extension__ extern __inline int64x1_t
13512 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_s64_f64(float64x1_t __a,const int __b)13513 vcvt_n_s64_f64 (float64x1_t __a, const int __b)
13514 {
13515   return (int64x1_t)
13516     { __builtin_aarch64_fcvtzsdf (vget_lane_f64 (__a, 0), __b) };
13517 }
13518 
13519 __extension__ extern __inline uint64x1_t
13520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_u64_f64(float64x1_t __a,const int __b)13521 vcvt_n_u64_f64 (float64x1_t __a, const int __b)
13522 {
13523   return (uint64x1_t)
13524     { __builtin_aarch64_fcvtzudf_uss (vget_lane_f64 (__a, 0), __b) };
13525 }
13526 
13527 __extension__ extern __inline int32x4_t
13528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_s32_f32(float32x4_t __a,const int __b)13529 vcvtq_n_s32_f32 (float32x4_t __a, const int __b)
13530 {
13531   return __builtin_aarch64_fcvtzsv4sf (__a, __b);
13532 }
13533 
13534 __extension__ extern __inline uint32x4_t
13535 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_u32_f32(float32x4_t __a,const int __b)13536 vcvtq_n_u32_f32 (float32x4_t __a, const int __b)
13537 {
13538   return __builtin_aarch64_fcvtzuv4sf_uss (__a, __b);
13539 }
13540 
13541 __extension__ extern __inline int64x2_t
13542 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_s64_f64(float64x2_t __a,const int __b)13543 vcvtq_n_s64_f64 (float64x2_t __a, const int __b)
13544 {
13545   return __builtin_aarch64_fcvtzsv2df (__a, __b);
13546 }
13547 
13548 __extension__ extern __inline uint64x2_t
13549 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_u64_f64(float64x2_t __a,const int __b)13550 vcvtq_n_u64_f64 (float64x2_t __a, const int __b)
13551 {
13552   return __builtin_aarch64_fcvtzuv2df_uss (__a, __b);
13553 }
13554 
13555 /* vcvt  (<u>int -> float)  */
13556 
13557 __extension__ extern __inline float64_t
13558 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_f64_s64(int64_t __a)13559 vcvtd_f64_s64 (int64_t __a)
13560 {
13561   return (float64_t) __a;
13562 }
13563 
13564 __extension__ extern __inline float64_t
13565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_f64_u64(uint64_t __a)13566 vcvtd_f64_u64 (uint64_t __a)
13567 {
13568   return (float64_t) __a;
13569 }
13570 
13571 __extension__ extern __inline float32_t
13572 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_f32_s32(int32_t __a)13573 vcvts_f32_s32 (int32_t __a)
13574 {
13575   return (float32_t) __a;
13576 }
13577 
13578 __extension__ extern __inline float32_t
13579 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_f32_u32(uint32_t __a)13580 vcvts_f32_u32 (uint32_t __a)
13581 {
13582   return (float32_t) __a;
13583 }
13584 
13585 __extension__ extern __inline float32x2_t
13586 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_s32(int32x2_t __a)13587 vcvt_f32_s32 (int32x2_t __a)
13588 {
13589   return __builtin_aarch64_floatv2siv2sf (__a);
13590 }
13591 
13592 __extension__ extern __inline float32x2_t
13593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_u32(uint32x2_t __a)13594 vcvt_f32_u32 (uint32x2_t __a)
13595 {
13596   return __builtin_aarch64_floatunsv2siv2sf ((int32x2_t) __a);
13597 }
13598 
13599 __extension__ extern __inline float64x1_t
13600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f64_s64(int64x1_t __a)13601 vcvt_f64_s64 (int64x1_t __a)
13602 {
13603   return (float64x1_t) { vget_lane_s64 (__a, 0) };
13604 }
13605 
13606 __extension__ extern __inline float64x1_t
13607 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f64_u64(uint64x1_t __a)13608 vcvt_f64_u64 (uint64x1_t __a)
13609 {
13610   return (float64x1_t) { vget_lane_u64 (__a, 0) };
13611 }
13612 
13613 __extension__ extern __inline float32x4_t
13614 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f32_s32(int32x4_t __a)13615 vcvtq_f32_s32 (int32x4_t __a)
13616 {
13617   return __builtin_aarch64_floatv4siv4sf (__a);
13618 }
13619 
13620 __extension__ extern __inline float32x4_t
13621 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f32_u32(uint32x4_t __a)13622 vcvtq_f32_u32 (uint32x4_t __a)
13623 {
13624   return __builtin_aarch64_floatunsv4siv4sf ((int32x4_t) __a);
13625 }
13626 
13627 __extension__ extern __inline float64x2_t
13628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f64_s64(int64x2_t __a)13629 vcvtq_f64_s64 (int64x2_t __a)
13630 {
13631   return __builtin_aarch64_floatv2div2df (__a);
13632 }
13633 
13634 __extension__ extern __inline float64x2_t
13635 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f64_u64(uint64x2_t __a)13636 vcvtq_f64_u64 (uint64x2_t __a)
13637 {
13638   return __builtin_aarch64_floatunsv2div2df ((int64x2_t) __a);
13639 }
13640 
13641 /* vcvt (float -> <u>int)  */
13642 
13643 __extension__ extern __inline int64_t
13644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_s64_f64(float64_t __a)13645 vcvtd_s64_f64 (float64_t __a)
13646 {
13647   return (int64_t) __a;
13648 }
13649 
13650 __extension__ extern __inline uint64_t
13651 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtd_u64_f64(float64_t __a)13652 vcvtd_u64_f64 (float64_t __a)
13653 {
13654   return (uint64_t) __a;
13655 }
13656 
13657 __extension__ extern __inline int32_t
13658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_s32_f32(float32_t __a)13659 vcvts_s32_f32 (float32_t __a)
13660 {
13661   return (int32_t) __a;
13662 }
13663 
13664 __extension__ extern __inline uint32_t
13665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvts_u32_f32(float32_t __a)13666 vcvts_u32_f32 (float32_t __a)
13667 {
13668   return (uint32_t) __a;
13669 }
13670 
13671 __extension__ extern __inline int32x2_t
13672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_s32_f32(float32x2_t __a)13673 vcvt_s32_f32 (float32x2_t __a)
13674 {
13675   return __builtin_aarch64_lbtruncv2sfv2si (__a);
13676 }
13677 
13678 __extension__ extern __inline uint32x2_t
13679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_u32_f32(float32x2_t __a)13680 vcvt_u32_f32 (float32x2_t __a)
13681 {
13682   return __builtin_aarch64_lbtruncuv2sfv2si_us (__a);
13683 }
13684 
13685 __extension__ extern __inline int32x4_t
13686 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_s32_f32(float32x4_t __a)13687 vcvtq_s32_f32 (float32x4_t __a)
13688 {
13689   return __builtin_aarch64_lbtruncv4sfv4si (__a);
13690 }
13691 
13692 __extension__ extern __inline uint32x4_t
13693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_u32_f32(float32x4_t __a)13694 vcvtq_u32_f32 (float32x4_t __a)
13695 {
13696   return __builtin_aarch64_lbtruncuv4sfv4si_us (__a);
13697 }
13698 
13699 __extension__ extern __inline int64x1_t
13700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_s64_f64(float64x1_t __a)13701 vcvt_s64_f64 (float64x1_t __a)
13702 {
13703   return (int64x1_t) {vcvtd_s64_f64 (__a[0])};
13704 }
13705 
13706 __extension__ extern __inline uint64x1_t
13707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_u64_f64(float64x1_t __a)13708 vcvt_u64_f64 (float64x1_t __a)
13709 {
13710   return (uint64x1_t) {vcvtd_u64_f64 (__a[0])};
13711 }
13712 
13713 __extension__ extern __inline int64x2_t
13714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_s64_f64(float64x2_t __a)13715 vcvtq_s64_f64 (float64x2_t __a)
13716 {
13717   return __builtin_aarch64_lbtruncv2dfv2di (__a);
13718 }
13719 
13720 __extension__ extern __inline uint64x2_t
13721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_u64_f64(float64x2_t __a)13722 vcvtq_u64_f64 (float64x2_t __a)
13723 {
13724   return __builtin_aarch64_lbtruncuv2dfv2di_us (__a);
13725 }
13726 
13727 /* vcvta  */
13728 
13729 __extension__ extern __inline int64_t
13730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtad_s64_f64(float64_t __a)13731 vcvtad_s64_f64 (float64_t __a)
13732 {
13733   return __builtin_aarch64_lrounddfdi (__a);
13734 }
13735 
13736 __extension__ extern __inline uint64_t
13737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtad_u64_f64(float64_t __a)13738 vcvtad_u64_f64 (float64_t __a)
13739 {
13740   return __builtin_aarch64_lroundudfdi_us (__a);
13741 }
13742 
13743 __extension__ extern __inline int32_t
13744 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtas_s32_f32(float32_t __a)13745 vcvtas_s32_f32 (float32_t __a)
13746 {
13747   return __builtin_aarch64_lroundsfsi (__a);
13748 }
13749 
13750 __extension__ extern __inline uint32_t
13751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtas_u32_f32(float32_t __a)13752 vcvtas_u32_f32 (float32_t __a)
13753 {
13754   return __builtin_aarch64_lroundusfsi_us (__a);
13755 }
13756 
13757 __extension__ extern __inline int32x2_t
13758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_s32_f32(float32x2_t __a)13759 vcvta_s32_f32 (float32x2_t __a)
13760 {
13761   return __builtin_aarch64_lroundv2sfv2si (__a);
13762 }
13763 
13764 __extension__ extern __inline uint32x2_t
13765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_u32_f32(float32x2_t __a)13766 vcvta_u32_f32 (float32x2_t __a)
13767 {
13768   return __builtin_aarch64_lrounduv2sfv2si_us (__a);
13769 }
13770 
13771 __extension__ extern __inline int32x4_t
13772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_s32_f32(float32x4_t __a)13773 vcvtaq_s32_f32 (float32x4_t __a)
13774 {
13775   return __builtin_aarch64_lroundv4sfv4si (__a);
13776 }
13777 
13778 __extension__ extern __inline uint32x4_t
13779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_u32_f32(float32x4_t __a)13780 vcvtaq_u32_f32 (float32x4_t __a)
13781 {
13782   return __builtin_aarch64_lrounduv4sfv4si_us (__a);
13783 }
13784 
13785 __extension__ extern __inline int64x1_t
13786 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_s64_f64(float64x1_t __a)13787 vcvta_s64_f64 (float64x1_t __a)
13788 {
13789   return (int64x1_t) {vcvtad_s64_f64 (__a[0])};
13790 }
13791 
13792 __extension__ extern __inline uint64x1_t
13793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_u64_f64(float64x1_t __a)13794 vcvta_u64_f64 (float64x1_t __a)
13795 {
13796   return (uint64x1_t) {vcvtad_u64_f64 (__a[0])};
13797 }
13798 
13799 __extension__ extern __inline int64x2_t
13800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_s64_f64(float64x2_t __a)13801 vcvtaq_s64_f64 (float64x2_t __a)
13802 {
13803   return __builtin_aarch64_lroundv2dfv2di (__a);
13804 }
13805 
13806 __extension__ extern __inline uint64x2_t
13807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_u64_f64(float64x2_t __a)13808 vcvtaq_u64_f64 (float64x2_t __a)
13809 {
13810   return __builtin_aarch64_lrounduv2dfv2di_us (__a);
13811 }
13812 
13813 /* vcvtm  */
13814 
13815 __extension__ extern __inline int64_t
13816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmd_s64_f64(float64_t __a)13817 vcvtmd_s64_f64 (float64_t __a)
13818 {
13819   return __builtin_llfloor (__a);
13820 }
13821 
13822 __extension__ extern __inline uint64_t
13823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmd_u64_f64(float64_t __a)13824 vcvtmd_u64_f64 (float64_t __a)
13825 {
13826   return __builtin_aarch64_lfloorudfdi_us (__a);
13827 }
13828 
13829 __extension__ extern __inline int32_t
13830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtms_s32_f32(float32_t __a)13831 vcvtms_s32_f32 (float32_t __a)
13832 {
13833   return __builtin_ifloorf (__a);
13834 }
13835 
13836 __extension__ extern __inline uint32_t
13837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtms_u32_f32(float32_t __a)13838 vcvtms_u32_f32 (float32_t __a)
13839 {
13840   return __builtin_aarch64_lfloorusfsi_us (__a);
13841 }
13842 
13843 __extension__ extern __inline int32x2_t
13844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_s32_f32(float32x2_t __a)13845 vcvtm_s32_f32 (float32x2_t __a)
13846 {
13847   return __builtin_aarch64_lfloorv2sfv2si (__a);
13848 }
13849 
13850 __extension__ extern __inline uint32x2_t
13851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_u32_f32(float32x2_t __a)13852 vcvtm_u32_f32 (float32x2_t __a)
13853 {
13854   return __builtin_aarch64_lflooruv2sfv2si_us (__a);
13855 }
13856 
13857 __extension__ extern __inline int32x4_t
13858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_s32_f32(float32x4_t __a)13859 vcvtmq_s32_f32 (float32x4_t __a)
13860 {
13861   return __builtin_aarch64_lfloorv4sfv4si (__a);
13862 }
13863 
13864 __extension__ extern __inline uint32x4_t
13865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_u32_f32(float32x4_t __a)13866 vcvtmq_u32_f32 (float32x4_t __a)
13867 {
13868   return __builtin_aarch64_lflooruv4sfv4si_us (__a);
13869 }
13870 
13871 __extension__ extern __inline int64x1_t
13872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_s64_f64(float64x1_t __a)13873 vcvtm_s64_f64 (float64x1_t __a)
13874 {
13875   return (int64x1_t) {vcvtmd_s64_f64 (__a[0])};
13876 }
13877 
13878 __extension__ extern __inline uint64x1_t
13879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_u64_f64(float64x1_t __a)13880 vcvtm_u64_f64 (float64x1_t __a)
13881 {
13882   return (uint64x1_t) {vcvtmd_u64_f64 (__a[0])};
13883 }
13884 
13885 __extension__ extern __inline int64x2_t
13886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_s64_f64(float64x2_t __a)13887 vcvtmq_s64_f64 (float64x2_t __a)
13888 {
13889   return __builtin_aarch64_lfloorv2dfv2di (__a);
13890 }
13891 
13892 __extension__ extern __inline uint64x2_t
13893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_u64_f64(float64x2_t __a)13894 vcvtmq_u64_f64 (float64x2_t __a)
13895 {
13896   return __builtin_aarch64_lflooruv2dfv2di_us (__a);
13897 }
13898 
13899 /* vcvtn  */
13900 
13901 __extension__ extern __inline int64_t
13902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnd_s64_f64(float64_t __a)13903 vcvtnd_s64_f64 (float64_t __a)
13904 {
13905   return __builtin_aarch64_lfrintndfdi (__a);
13906 }
13907 
13908 __extension__ extern __inline uint64_t
13909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnd_u64_f64(float64_t __a)13910 vcvtnd_u64_f64 (float64_t __a)
13911 {
13912   return __builtin_aarch64_lfrintnudfdi_us (__a);
13913 }
13914 
13915 __extension__ extern __inline int32_t
13916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtns_s32_f32(float32_t __a)13917 vcvtns_s32_f32 (float32_t __a)
13918 {
13919   return __builtin_aarch64_lfrintnsfsi (__a);
13920 }
13921 
13922 __extension__ extern __inline uint32_t
13923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtns_u32_f32(float32_t __a)13924 vcvtns_u32_f32 (float32_t __a)
13925 {
13926   return __builtin_aarch64_lfrintnusfsi_us (__a);
13927 }
13928 
13929 __extension__ extern __inline int32x2_t
13930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_s32_f32(float32x2_t __a)13931 vcvtn_s32_f32 (float32x2_t __a)
13932 {
13933   return __builtin_aarch64_lfrintnv2sfv2si (__a);
13934 }
13935 
13936 __extension__ extern __inline uint32x2_t
13937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_u32_f32(float32x2_t __a)13938 vcvtn_u32_f32 (float32x2_t __a)
13939 {
13940   return __builtin_aarch64_lfrintnuv2sfv2si_us (__a);
13941 }
13942 
13943 __extension__ extern __inline int32x4_t
13944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_s32_f32(float32x4_t __a)13945 vcvtnq_s32_f32 (float32x4_t __a)
13946 {
13947   return __builtin_aarch64_lfrintnv4sfv4si (__a);
13948 }
13949 
13950 __extension__ extern __inline uint32x4_t
13951 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_u32_f32(float32x4_t __a)13952 vcvtnq_u32_f32 (float32x4_t __a)
13953 {
13954   return __builtin_aarch64_lfrintnuv4sfv4si_us (__a);
13955 }
13956 
13957 __extension__ extern __inline int64x1_t
13958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_s64_f64(float64x1_t __a)13959 vcvtn_s64_f64 (float64x1_t __a)
13960 {
13961   return (int64x1_t) {vcvtnd_s64_f64 (__a[0])};
13962 }
13963 
13964 __extension__ extern __inline uint64x1_t
13965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_u64_f64(float64x1_t __a)13966 vcvtn_u64_f64 (float64x1_t __a)
13967 {
13968   return (uint64x1_t) {vcvtnd_u64_f64 (__a[0])};
13969 }
13970 
13971 __extension__ extern __inline int64x2_t
13972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_s64_f64(float64x2_t __a)13973 vcvtnq_s64_f64 (float64x2_t __a)
13974 {
13975   return __builtin_aarch64_lfrintnv2dfv2di (__a);
13976 }
13977 
13978 __extension__ extern __inline uint64x2_t
13979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_u64_f64(float64x2_t __a)13980 vcvtnq_u64_f64 (float64x2_t __a)
13981 {
13982   return __builtin_aarch64_lfrintnuv2dfv2di_us (__a);
13983 }
13984 
13985 /* vcvtp  */
13986 
13987 __extension__ extern __inline int64_t
13988 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpd_s64_f64(float64_t __a)13989 vcvtpd_s64_f64 (float64_t __a)
13990 {
13991   return __builtin_llceil (__a);
13992 }
13993 
13994 __extension__ extern __inline uint64_t
13995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpd_u64_f64(float64_t __a)13996 vcvtpd_u64_f64 (float64_t __a)
13997 {
13998   return __builtin_aarch64_lceiludfdi_us (__a);
13999 }
14000 
14001 __extension__ extern __inline int32_t
14002 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtps_s32_f32(float32_t __a)14003 vcvtps_s32_f32 (float32_t __a)
14004 {
14005   return __builtin_iceilf (__a);
14006 }
14007 
14008 __extension__ extern __inline uint32_t
14009 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtps_u32_f32(float32_t __a)14010 vcvtps_u32_f32 (float32_t __a)
14011 {
14012   return __builtin_aarch64_lceilusfsi_us (__a);
14013 }
14014 
14015 __extension__ extern __inline int32x2_t
14016 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_s32_f32(float32x2_t __a)14017 vcvtp_s32_f32 (float32x2_t __a)
14018 {
14019   return __builtin_aarch64_lceilv2sfv2si (__a);
14020 }
14021 
14022 __extension__ extern __inline uint32x2_t
14023 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_u32_f32(float32x2_t __a)14024 vcvtp_u32_f32 (float32x2_t __a)
14025 {
14026   return __builtin_aarch64_lceiluv2sfv2si_us (__a);
14027 }
14028 
14029 __extension__ extern __inline int32x4_t
14030 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_s32_f32(float32x4_t __a)14031 vcvtpq_s32_f32 (float32x4_t __a)
14032 {
14033   return __builtin_aarch64_lceilv4sfv4si (__a);
14034 }
14035 
14036 __extension__ extern __inline uint32x4_t
14037 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_u32_f32(float32x4_t __a)14038 vcvtpq_u32_f32 (float32x4_t __a)
14039 {
14040   return __builtin_aarch64_lceiluv4sfv4si_us (__a);
14041 }
14042 
14043 __extension__ extern __inline int64x1_t
14044 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_s64_f64(float64x1_t __a)14045 vcvtp_s64_f64 (float64x1_t __a)
14046 {
14047   return (int64x1_t) {vcvtpd_s64_f64 (__a[0])};
14048 }
14049 
14050 __extension__ extern __inline uint64x1_t
14051 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_u64_f64(float64x1_t __a)14052 vcvtp_u64_f64 (float64x1_t __a)
14053 {
14054   return (uint64x1_t) {vcvtpd_u64_f64 (__a[0])};
14055 }
14056 
14057 __extension__ extern __inline int64x2_t
14058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_s64_f64(float64x2_t __a)14059 vcvtpq_s64_f64 (float64x2_t __a)
14060 {
14061   return __builtin_aarch64_lceilv2dfv2di (__a);
14062 }
14063 
14064 __extension__ extern __inline uint64x2_t
14065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_u64_f64(float64x2_t __a)14066 vcvtpq_u64_f64 (float64x2_t __a)
14067 {
14068   return __builtin_aarch64_lceiluv2dfv2di_us (__a);
14069 }
14070 
14071 /* vdup_n  */
14072 
14073 __extension__ extern __inline float16x4_t
14074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_f16(float16_t __a)14075 vdup_n_f16 (float16_t __a)
14076 {
14077   return (float16x4_t) {__a, __a, __a, __a};
14078 }
14079 
14080 __extension__ extern __inline float32x2_t
14081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_f32(float32_t __a)14082 vdup_n_f32 (float32_t __a)
14083 {
14084   return (float32x2_t) {__a, __a};
14085 }
14086 
14087 __extension__ extern __inline float64x1_t
14088 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_f64(float64_t __a)14089 vdup_n_f64 (float64_t __a)
14090 {
14091   return (float64x1_t) {__a};
14092 }
14093 
14094 __extension__ extern __inline poly8x8_t
14095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p8(poly8_t __a)14096 vdup_n_p8 (poly8_t __a)
14097 {
14098   return (poly8x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
14099 }
14100 
14101 __extension__ extern __inline poly16x4_t
14102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p16(poly16_t __a)14103 vdup_n_p16 (poly16_t __a)
14104 {
14105   return (poly16x4_t) {__a, __a, __a, __a};
14106 }
14107 
14108 __extension__ extern __inline poly64x1_t
14109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_p64(poly64_t __a)14110 vdup_n_p64 (poly64_t __a)
14111 {
14112   return (poly64x1_t) {__a};
14113 }
14114 
14115 __extension__ extern __inline int8x8_t
14116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s8(int8_t __a)14117 vdup_n_s8 (int8_t __a)
14118 {
14119   return (int8x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
14120 }
14121 
14122 __extension__ extern __inline int16x4_t
14123 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s16(int16_t __a)14124 vdup_n_s16 (int16_t __a)
14125 {
14126   return (int16x4_t) {__a, __a, __a, __a};
14127 }
14128 
14129 __extension__ extern __inline int32x2_t
14130 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s32(int32_t __a)14131 vdup_n_s32 (int32_t __a)
14132 {
14133   return (int32x2_t) {__a, __a};
14134 }
14135 
14136 __extension__ extern __inline int64x1_t
14137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_s64(int64_t __a)14138 vdup_n_s64 (int64_t __a)
14139 {
14140   return (int64x1_t) {__a};
14141 }
14142 
14143 __extension__ extern __inline uint8x8_t
14144 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u8(uint8_t __a)14145 vdup_n_u8 (uint8_t __a)
14146 {
14147   return (uint8x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
14148 }
14149 
14150 __extension__ extern __inline uint16x4_t
14151 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u16(uint16_t __a)14152 vdup_n_u16 (uint16_t __a)
14153 {
14154   return (uint16x4_t) {__a, __a, __a, __a};
14155 }
14156 
14157 __extension__ extern __inline uint32x2_t
14158 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u32(uint32_t __a)14159 vdup_n_u32 (uint32_t __a)
14160 {
14161   return (uint32x2_t) {__a, __a};
14162 }
14163 
14164 __extension__ extern __inline uint64x1_t
14165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_u64(uint64_t __a)14166 vdup_n_u64 (uint64_t __a)
14167 {
14168   return (uint64x1_t) {__a};
14169 }
14170 
14171 /* vdupq_n  */
14172 
14173 __extension__ extern __inline float16x8_t
14174 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_f16(float16_t __a)14175 vdupq_n_f16 (float16_t __a)
14176 {
14177   return (float16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
14178 }
14179 
14180 __extension__ extern __inline float32x4_t
14181 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_f32(float32_t __a)14182 vdupq_n_f32 (float32_t __a)
14183 {
14184   return (float32x4_t) {__a, __a, __a, __a};
14185 }
14186 
14187 __extension__ extern __inline float64x2_t
14188 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_f64(float64_t __a)14189 vdupq_n_f64 (float64_t __a)
14190 {
14191   return (float64x2_t) {__a, __a};
14192 }
14193 
14194 __extension__ extern __inline poly8x16_t
14195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p8(poly8_t __a)14196 vdupq_n_p8 (poly8_t __a)
14197 {
14198   return (poly8x16_t) {__a, __a, __a, __a, __a, __a, __a, __a,
14199 		       __a, __a, __a, __a, __a, __a, __a, __a};
14200 }
14201 
14202 __extension__ extern __inline poly16x8_t
14203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p16(poly16_t __a)14204 vdupq_n_p16 (poly16_t __a)
14205 {
14206   return (poly16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
14207 }
14208 
14209 __extension__ extern __inline poly64x2_t
14210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_p64(poly64_t __a)14211 vdupq_n_p64 (poly64_t __a)
14212 {
14213   return (poly64x2_t) {__a, __a};
14214 }
14215 
14216 __extension__ extern __inline int8x16_t
14217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s8(int8_t __a)14218 vdupq_n_s8 (int8_t __a)
14219 {
14220   return (int8x16_t) {__a, __a, __a, __a, __a, __a, __a, __a,
14221 		      __a, __a, __a, __a, __a, __a, __a, __a};
14222 }
14223 
14224 __extension__ extern __inline int16x8_t
14225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s16(int16_t __a)14226 vdupq_n_s16 (int16_t __a)
14227 {
14228   return (int16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
14229 }
14230 
14231 __extension__ extern __inline int32x4_t
14232 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s32(int32_t __a)14233 vdupq_n_s32 (int32_t __a)
14234 {
14235   return (int32x4_t) {__a, __a, __a, __a};
14236 }
14237 
14238 __extension__ extern __inline int64x2_t
14239 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_s64(int64_t __a)14240 vdupq_n_s64 (int64_t __a)
14241 {
14242   return (int64x2_t) {__a, __a};
14243 }
14244 
14245 __extension__ extern __inline uint8x16_t
14246 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u8(uint8_t __a)14247 vdupq_n_u8 (uint8_t __a)
14248 {
14249   return (uint8x16_t) {__a, __a, __a, __a, __a, __a, __a, __a,
14250 		       __a, __a, __a, __a, __a, __a, __a, __a};
14251 }
14252 
14253 __extension__ extern __inline uint16x8_t
14254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u16(uint16_t __a)14255 vdupq_n_u16 (uint16_t __a)
14256 {
14257   return (uint16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
14258 }
14259 
14260 __extension__ extern __inline uint32x4_t
14261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u32(uint32_t __a)14262 vdupq_n_u32 (uint32_t __a)
14263 {
14264   return (uint32x4_t) {__a, __a, __a, __a};
14265 }
14266 
14267 __extension__ extern __inline uint64x2_t
14268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_u64(uint64_t __a)14269 vdupq_n_u64 (uint64_t __a)
14270 {
14271   return (uint64x2_t) {__a, __a};
14272 }
14273 
14274 /* vdup_lane  */
14275 
14276 __extension__ extern __inline float16x4_t
14277 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_f16(float16x4_t __a,const int __b)14278 vdup_lane_f16 (float16x4_t __a, const int __b)
14279 {
14280   return __aarch64_vdup_lane_f16 (__a, __b);
14281 }
14282 
14283 __extension__ extern __inline float32x2_t
14284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_f32(float32x2_t __a,const int __b)14285 vdup_lane_f32 (float32x2_t __a, const int __b)
14286 {
14287   return __aarch64_vdup_lane_f32 (__a, __b);
14288 }
14289 
14290 __extension__ extern __inline float64x1_t
14291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_f64(float64x1_t __a,const int __b)14292 vdup_lane_f64 (float64x1_t __a, const int __b)
14293 {
14294   return __aarch64_vdup_lane_f64 (__a, __b);
14295 }
14296 
14297 __extension__ extern __inline poly8x8_t
14298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p8(poly8x8_t __a,const int __b)14299 vdup_lane_p8 (poly8x8_t __a, const int __b)
14300 {
14301   return __aarch64_vdup_lane_p8 (__a, __b);
14302 }
14303 
14304 __extension__ extern __inline poly16x4_t
14305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p16(poly16x4_t __a,const int __b)14306 vdup_lane_p16 (poly16x4_t __a, const int __b)
14307 {
14308   return __aarch64_vdup_lane_p16 (__a, __b);
14309 }
14310 
14311 __extension__ extern __inline poly64x1_t
14312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_p64(poly64x1_t __a,const int __b)14313 vdup_lane_p64 (poly64x1_t __a, const int __b)
14314 {
14315   return __aarch64_vdup_lane_p64 (__a, __b);
14316 }
14317 
14318 __extension__ extern __inline int8x8_t
14319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s8(int8x8_t __a,const int __b)14320 vdup_lane_s8 (int8x8_t __a, const int __b)
14321 {
14322   return __aarch64_vdup_lane_s8 (__a, __b);
14323 }
14324 
14325 __extension__ extern __inline int16x4_t
14326 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s16(int16x4_t __a,const int __b)14327 vdup_lane_s16 (int16x4_t __a, const int __b)
14328 {
14329   return __aarch64_vdup_lane_s16 (__a, __b);
14330 }
14331 
14332 __extension__ extern __inline int32x2_t
14333 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s32(int32x2_t __a,const int __b)14334 vdup_lane_s32 (int32x2_t __a, const int __b)
14335 {
14336   return __aarch64_vdup_lane_s32 (__a, __b);
14337 }
14338 
14339 __extension__ extern __inline int64x1_t
14340 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_s64(int64x1_t __a,const int __b)14341 vdup_lane_s64 (int64x1_t __a, const int __b)
14342 {
14343   return __aarch64_vdup_lane_s64 (__a, __b);
14344 }
14345 
14346 __extension__ extern __inline uint8x8_t
14347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u8(uint8x8_t __a,const int __b)14348 vdup_lane_u8 (uint8x8_t __a, const int __b)
14349 {
14350   return __aarch64_vdup_lane_u8 (__a, __b);
14351 }
14352 
14353 __extension__ extern __inline uint16x4_t
14354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u16(uint16x4_t __a,const int __b)14355 vdup_lane_u16 (uint16x4_t __a, const int __b)
14356 {
14357   return __aarch64_vdup_lane_u16 (__a, __b);
14358 }
14359 
14360 __extension__ extern __inline uint32x2_t
14361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u32(uint32x2_t __a,const int __b)14362 vdup_lane_u32 (uint32x2_t __a, const int __b)
14363 {
14364   return __aarch64_vdup_lane_u32 (__a, __b);
14365 }
14366 
14367 __extension__ extern __inline uint64x1_t
14368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_u64(uint64x1_t __a,const int __b)14369 vdup_lane_u64 (uint64x1_t __a, const int __b)
14370 {
14371   return __aarch64_vdup_lane_u64 (__a, __b);
14372 }
14373 
14374 /* vdup_laneq  */
14375 
14376 __extension__ extern __inline float16x4_t
14377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_f16(float16x8_t __a,const int __b)14378 vdup_laneq_f16 (float16x8_t __a, const int __b)
14379 {
14380   return __aarch64_vdup_laneq_f16 (__a, __b);
14381 }
14382 
14383 __extension__ extern __inline float32x2_t
14384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_f32(float32x4_t __a,const int __b)14385 vdup_laneq_f32 (float32x4_t __a, const int __b)
14386 {
14387   return __aarch64_vdup_laneq_f32 (__a, __b);
14388 }
14389 
14390 __extension__ extern __inline float64x1_t
14391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_f64(float64x2_t __a,const int __b)14392 vdup_laneq_f64 (float64x2_t __a, const int __b)
14393 {
14394   return __aarch64_vdup_laneq_f64 (__a, __b);
14395 }
14396 
14397 __extension__ extern __inline poly8x8_t
14398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_p8(poly8x16_t __a,const int __b)14399 vdup_laneq_p8 (poly8x16_t __a, const int __b)
14400 {
14401   return __aarch64_vdup_laneq_p8 (__a, __b);
14402 }
14403 
14404 __extension__ extern __inline poly16x4_t
14405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_p16(poly16x8_t __a,const int __b)14406 vdup_laneq_p16 (poly16x8_t __a, const int __b)
14407 {
14408   return __aarch64_vdup_laneq_p16 (__a, __b);
14409 }
14410 
14411 __extension__ extern __inline poly64x1_t
14412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_p64(poly64x2_t __a,const int __b)14413 vdup_laneq_p64 (poly64x2_t __a, const int __b)
14414 {
14415   return __aarch64_vdup_laneq_p64 (__a, __b);
14416 }
14417 
14418 __extension__ extern __inline int8x8_t
14419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_s8(int8x16_t __a,const int __b)14420 vdup_laneq_s8 (int8x16_t __a, const int __b)
14421 {
14422   return __aarch64_vdup_laneq_s8 (__a, __b);
14423 }
14424 
14425 __extension__ extern __inline int16x4_t
14426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_s16(int16x8_t __a,const int __b)14427 vdup_laneq_s16 (int16x8_t __a, const int __b)
14428 {
14429   return __aarch64_vdup_laneq_s16 (__a, __b);
14430 }
14431 
14432 __extension__ extern __inline int32x2_t
14433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_s32(int32x4_t __a,const int __b)14434 vdup_laneq_s32 (int32x4_t __a, const int __b)
14435 {
14436   return __aarch64_vdup_laneq_s32 (__a, __b);
14437 }
14438 
14439 __extension__ extern __inline int64x1_t
14440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_s64(int64x2_t __a,const int __b)14441 vdup_laneq_s64 (int64x2_t __a, const int __b)
14442 {
14443   return __aarch64_vdup_laneq_s64 (__a, __b);
14444 }
14445 
14446 __extension__ extern __inline uint8x8_t
14447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_u8(uint8x16_t __a,const int __b)14448 vdup_laneq_u8 (uint8x16_t __a, const int __b)
14449 {
14450   return __aarch64_vdup_laneq_u8 (__a, __b);
14451 }
14452 
14453 __extension__ extern __inline uint16x4_t
14454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_u16(uint16x8_t __a,const int __b)14455 vdup_laneq_u16 (uint16x8_t __a, const int __b)
14456 {
14457   return __aarch64_vdup_laneq_u16 (__a, __b);
14458 }
14459 
14460 __extension__ extern __inline uint32x2_t
14461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_u32(uint32x4_t __a,const int __b)14462 vdup_laneq_u32 (uint32x4_t __a, const int __b)
14463 {
14464   return __aarch64_vdup_laneq_u32 (__a, __b);
14465 }
14466 
14467 __extension__ extern __inline uint64x1_t
14468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_u64(uint64x2_t __a,const int __b)14469 vdup_laneq_u64 (uint64x2_t __a, const int __b)
14470 {
14471   return __aarch64_vdup_laneq_u64 (__a, __b);
14472 }
14473 
14474 /* vdupq_lane  */
14475 
14476 __extension__ extern __inline float16x8_t
14477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_f16(float16x4_t __a,const int __b)14478 vdupq_lane_f16 (float16x4_t __a, const int __b)
14479 {
14480   return __aarch64_vdupq_lane_f16 (__a, __b);
14481 }
14482 
14483 __extension__ extern __inline float32x4_t
14484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_f32(float32x2_t __a,const int __b)14485 vdupq_lane_f32 (float32x2_t __a, const int __b)
14486 {
14487   return __aarch64_vdupq_lane_f32 (__a, __b);
14488 }
14489 
14490 __extension__ extern __inline float64x2_t
14491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_f64(float64x1_t __a,const int __b)14492 vdupq_lane_f64 (float64x1_t __a, const int __b)
14493 {
14494   return __aarch64_vdupq_lane_f64 (__a, __b);
14495 }
14496 
14497 __extension__ extern __inline poly8x16_t
14498 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p8(poly8x8_t __a,const int __b)14499 vdupq_lane_p8 (poly8x8_t __a, const int __b)
14500 {
14501   return __aarch64_vdupq_lane_p8 (__a, __b);
14502 }
14503 
14504 __extension__ extern __inline poly16x8_t
14505 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p16(poly16x4_t __a,const int __b)14506 vdupq_lane_p16 (poly16x4_t __a, const int __b)
14507 {
14508   return __aarch64_vdupq_lane_p16 (__a, __b);
14509 }
14510 
14511 __extension__ extern __inline poly64x2_t
14512 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_p64(poly64x1_t __a,const int __b)14513 vdupq_lane_p64 (poly64x1_t __a, const int __b)
14514 {
14515   return __aarch64_vdupq_lane_p64 (__a, __b);
14516 }
14517 
14518 __extension__ extern __inline int8x16_t
14519 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s8(int8x8_t __a,const int __b)14520 vdupq_lane_s8 (int8x8_t __a, const int __b)
14521 {
14522   return __aarch64_vdupq_lane_s8 (__a, __b);
14523 }
14524 
14525 __extension__ extern __inline int16x8_t
14526 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s16(int16x4_t __a,const int __b)14527 vdupq_lane_s16 (int16x4_t __a, const int __b)
14528 {
14529   return __aarch64_vdupq_lane_s16 (__a, __b);
14530 }
14531 
14532 __extension__ extern __inline int32x4_t
14533 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s32(int32x2_t __a,const int __b)14534 vdupq_lane_s32 (int32x2_t __a, const int __b)
14535 {
14536   return __aarch64_vdupq_lane_s32 (__a, __b);
14537 }
14538 
14539 __extension__ extern __inline int64x2_t
14540 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_s64(int64x1_t __a,const int __b)14541 vdupq_lane_s64 (int64x1_t __a, const int __b)
14542 {
14543   return __aarch64_vdupq_lane_s64 (__a, __b);
14544 }
14545 
14546 __extension__ extern __inline uint8x16_t
14547 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u8(uint8x8_t __a,const int __b)14548 vdupq_lane_u8 (uint8x8_t __a, const int __b)
14549 {
14550   return __aarch64_vdupq_lane_u8 (__a, __b);
14551 }
14552 
14553 __extension__ extern __inline uint16x8_t
14554 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u16(uint16x4_t __a,const int __b)14555 vdupq_lane_u16 (uint16x4_t __a, const int __b)
14556 {
14557   return __aarch64_vdupq_lane_u16 (__a, __b);
14558 }
14559 
14560 __extension__ extern __inline uint32x4_t
14561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u32(uint32x2_t __a,const int __b)14562 vdupq_lane_u32 (uint32x2_t __a, const int __b)
14563 {
14564   return __aarch64_vdupq_lane_u32 (__a, __b);
14565 }
14566 
14567 __extension__ extern __inline uint64x2_t
14568 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_u64(uint64x1_t __a,const int __b)14569 vdupq_lane_u64 (uint64x1_t __a, const int __b)
14570 {
14571   return __aarch64_vdupq_lane_u64 (__a, __b);
14572 }
14573 
14574 /* vdupq_laneq  */
14575 
14576 __extension__ extern __inline float16x8_t
14577 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_f16(float16x8_t __a,const int __b)14578 vdupq_laneq_f16 (float16x8_t __a, const int __b)
14579 {
14580   return __aarch64_vdupq_laneq_f16 (__a, __b);
14581 }
14582 
14583 __extension__ extern __inline float32x4_t
14584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_f32(float32x4_t __a,const int __b)14585 vdupq_laneq_f32 (float32x4_t __a, const int __b)
14586 {
14587   return __aarch64_vdupq_laneq_f32 (__a, __b);
14588 }
14589 
14590 __extension__ extern __inline float64x2_t
14591 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_f64(float64x2_t __a,const int __b)14592 vdupq_laneq_f64 (float64x2_t __a, const int __b)
14593 {
14594   return __aarch64_vdupq_laneq_f64 (__a, __b);
14595 }
14596 
14597 __extension__ extern __inline poly8x16_t
14598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_p8(poly8x16_t __a,const int __b)14599 vdupq_laneq_p8 (poly8x16_t __a, const int __b)
14600 {
14601   return __aarch64_vdupq_laneq_p8 (__a, __b);
14602 }
14603 
14604 __extension__ extern __inline poly16x8_t
14605 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_p16(poly16x8_t __a,const int __b)14606 vdupq_laneq_p16 (poly16x8_t __a, const int __b)
14607 {
14608   return __aarch64_vdupq_laneq_p16 (__a, __b);
14609 }
14610 
14611 __extension__ extern __inline poly64x2_t
14612 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_p64(poly64x2_t __a,const int __b)14613 vdupq_laneq_p64 (poly64x2_t __a, const int __b)
14614 {
14615   return __aarch64_vdupq_laneq_p64 (__a, __b);
14616 }
14617 
14618 __extension__ extern __inline int8x16_t
14619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_s8(int8x16_t __a,const int __b)14620 vdupq_laneq_s8 (int8x16_t __a, const int __b)
14621 {
14622   return __aarch64_vdupq_laneq_s8 (__a, __b);
14623 }
14624 
14625 __extension__ extern __inline int16x8_t
14626 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_s16(int16x8_t __a,const int __b)14627 vdupq_laneq_s16 (int16x8_t __a, const int __b)
14628 {
14629   return __aarch64_vdupq_laneq_s16 (__a, __b);
14630 }
14631 
14632 __extension__ extern __inline int32x4_t
14633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_s32(int32x4_t __a,const int __b)14634 vdupq_laneq_s32 (int32x4_t __a, const int __b)
14635 {
14636   return __aarch64_vdupq_laneq_s32 (__a, __b);
14637 }
14638 
14639 __extension__ extern __inline int64x2_t
14640 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_s64(int64x2_t __a,const int __b)14641 vdupq_laneq_s64 (int64x2_t __a, const int __b)
14642 {
14643   return __aarch64_vdupq_laneq_s64 (__a, __b);
14644 }
14645 
14646 __extension__ extern __inline uint8x16_t
14647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_u8(uint8x16_t __a,const int __b)14648 vdupq_laneq_u8 (uint8x16_t __a, const int __b)
14649 {
14650   return __aarch64_vdupq_laneq_u8 (__a, __b);
14651 }
14652 
14653 __extension__ extern __inline uint16x8_t
14654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_u16(uint16x8_t __a,const int __b)14655 vdupq_laneq_u16 (uint16x8_t __a, const int __b)
14656 {
14657   return __aarch64_vdupq_laneq_u16 (__a, __b);
14658 }
14659 
14660 __extension__ extern __inline uint32x4_t
14661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_u32(uint32x4_t __a,const int __b)14662 vdupq_laneq_u32 (uint32x4_t __a, const int __b)
14663 {
14664   return __aarch64_vdupq_laneq_u32 (__a, __b);
14665 }
14666 
14667 __extension__ extern __inline uint64x2_t
14668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_u64(uint64x2_t __a,const int __b)14669 vdupq_laneq_u64 (uint64x2_t __a, const int __b)
14670 {
14671   return __aarch64_vdupq_laneq_u64 (__a, __b);
14672 }
14673 
14674 /* vdupb_lane  */
14675 __extension__ extern __inline poly8_t
14676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_lane_p8(poly8x8_t __a,const int __b)14677 vdupb_lane_p8 (poly8x8_t __a, const int __b)
14678 {
14679   return __aarch64_vget_lane_any (__a, __b);
14680 }
14681 
14682 __extension__ extern __inline int8_t
14683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_lane_s8(int8x8_t __a,const int __b)14684 vdupb_lane_s8 (int8x8_t __a, const int __b)
14685 {
14686   return __aarch64_vget_lane_any (__a, __b);
14687 }
14688 
14689 __extension__ extern __inline uint8_t
14690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_lane_u8(uint8x8_t __a,const int __b)14691 vdupb_lane_u8 (uint8x8_t __a, const int __b)
14692 {
14693   return __aarch64_vget_lane_any (__a, __b);
14694 }
14695 
14696 /* vduph_lane  */
14697 
14698 __extension__ extern __inline float16_t
14699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_f16(float16x4_t __a,const int __b)14700 vduph_lane_f16 (float16x4_t __a, const int __b)
14701 {
14702   return __aarch64_vget_lane_any (__a, __b);
14703 }
14704 
14705 __extension__ extern __inline poly16_t
14706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_p16(poly16x4_t __a,const int __b)14707 vduph_lane_p16 (poly16x4_t __a, const int __b)
14708 {
14709   return __aarch64_vget_lane_any (__a, __b);
14710 }
14711 
14712 __extension__ extern __inline int16_t
14713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_s16(int16x4_t __a,const int __b)14714 vduph_lane_s16 (int16x4_t __a, const int __b)
14715 {
14716   return __aarch64_vget_lane_any (__a, __b);
14717 }
14718 
14719 __extension__ extern __inline uint16_t
14720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_u16(uint16x4_t __a,const int __b)14721 vduph_lane_u16 (uint16x4_t __a, const int __b)
14722 {
14723   return __aarch64_vget_lane_any (__a, __b);
14724 }
14725 
14726 /* vdups_lane  */
14727 
14728 __extension__ extern __inline float32_t
14729 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_lane_f32(float32x2_t __a,const int __b)14730 vdups_lane_f32 (float32x2_t __a, const int __b)
14731 {
14732   return __aarch64_vget_lane_any (__a, __b);
14733 }
14734 
14735 __extension__ extern __inline int32_t
14736 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_lane_s32(int32x2_t __a,const int __b)14737 vdups_lane_s32 (int32x2_t __a, const int __b)
14738 {
14739   return __aarch64_vget_lane_any (__a, __b);
14740 }
14741 
14742 __extension__ extern __inline uint32_t
14743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_lane_u32(uint32x2_t __a,const int __b)14744 vdups_lane_u32 (uint32x2_t __a, const int __b)
14745 {
14746   return __aarch64_vget_lane_any (__a, __b);
14747 }
14748 
14749 /* vdupd_lane  */
14750 __extension__ extern __inline float64_t
14751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_lane_f64(float64x1_t __a,const int __b)14752 vdupd_lane_f64 (float64x1_t __a, const int __b)
14753 {
14754   __AARCH64_LANE_CHECK (__a, __b);
14755   return __a[0];
14756 }
14757 
14758 __extension__ extern __inline int64_t
14759 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_lane_s64(int64x1_t __a,const int __b)14760 vdupd_lane_s64 (int64x1_t __a, const int __b)
14761 {
14762   __AARCH64_LANE_CHECK (__a, __b);
14763   return __a[0];
14764 }
14765 
14766 __extension__ extern __inline uint64_t
14767 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_lane_u64(uint64x1_t __a,const int __b)14768 vdupd_lane_u64 (uint64x1_t __a, const int __b)
14769 {
14770   __AARCH64_LANE_CHECK (__a, __b);
14771   return __a[0];
14772 }
14773 
14774 /* vdupb_laneq  */
14775 __extension__ extern __inline poly8_t
14776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_laneq_p8(poly8x16_t __a,const int __b)14777 vdupb_laneq_p8 (poly8x16_t __a, const int __b)
14778 {
14779   return __aarch64_vget_lane_any (__a, __b);
14780 }
14781 
14782 __extension__ extern __inline int8_t
14783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_laneq_s8(int8x16_t __a,const int __b)14784 vdupb_laneq_s8 (int8x16_t __a, const int __b)
14785 {
14786   return __aarch64_vget_lane_any (__a, __b);
14787 }
14788 
14789 __extension__ extern __inline uint8_t
14790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupb_laneq_u8(uint8x16_t __a,const int __b)14791 vdupb_laneq_u8 (uint8x16_t __a, const int __b)
14792 {
14793   return __aarch64_vget_lane_any (__a, __b);
14794 }
14795 
14796 /* vduph_laneq  */
14797 
14798 __extension__ extern __inline float16_t
14799 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_f16(float16x8_t __a,const int __b)14800 vduph_laneq_f16 (float16x8_t __a, const int __b)
14801 {
14802   return __aarch64_vget_lane_any (__a, __b);
14803 }
14804 
14805 __extension__ extern __inline poly16_t
14806 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_p16(poly16x8_t __a,const int __b)14807 vduph_laneq_p16 (poly16x8_t __a, const int __b)
14808 {
14809   return __aarch64_vget_lane_any (__a, __b);
14810 }
14811 
14812 __extension__ extern __inline int16_t
14813 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_s16(int16x8_t __a,const int __b)14814 vduph_laneq_s16 (int16x8_t __a, const int __b)
14815 {
14816   return __aarch64_vget_lane_any (__a, __b);
14817 }
14818 
14819 __extension__ extern __inline uint16_t
14820 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_u16(uint16x8_t __a,const int __b)14821 vduph_laneq_u16 (uint16x8_t __a, const int __b)
14822 {
14823   return __aarch64_vget_lane_any (__a, __b);
14824 }
14825 
14826 /* vdups_laneq  */
14827 
14828 __extension__ extern __inline float32_t
14829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_laneq_f32(float32x4_t __a,const int __b)14830 vdups_laneq_f32 (float32x4_t __a, const int __b)
14831 {
14832   return __aarch64_vget_lane_any (__a, __b);
14833 }
14834 
14835 __extension__ extern __inline int32_t
14836 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_laneq_s32(int32x4_t __a,const int __b)14837 vdups_laneq_s32 (int32x4_t __a, const int __b)
14838 {
14839   return __aarch64_vget_lane_any (__a, __b);
14840 }
14841 
14842 __extension__ extern __inline uint32_t
14843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdups_laneq_u32(uint32x4_t __a,const int __b)14844 vdups_laneq_u32 (uint32x4_t __a, const int __b)
14845 {
14846   return __aarch64_vget_lane_any (__a, __b);
14847 }
14848 
14849 /* vdupd_laneq  */
14850 __extension__ extern __inline float64_t
14851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_laneq_f64(float64x2_t __a,const int __b)14852 vdupd_laneq_f64 (float64x2_t __a, const int __b)
14853 {
14854   return __aarch64_vget_lane_any (__a, __b);
14855 }
14856 
14857 __extension__ extern __inline int64_t
14858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_laneq_s64(int64x2_t __a,const int __b)14859 vdupd_laneq_s64 (int64x2_t __a, const int __b)
14860 {
14861   return __aarch64_vget_lane_any (__a, __b);
14862 }
14863 
14864 __extension__ extern __inline uint64_t
14865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupd_laneq_u64(uint64x2_t __a,const int __b)14866 vdupd_laneq_u64 (uint64x2_t __a, const int __b)
14867 {
14868   return __aarch64_vget_lane_any (__a, __b);
14869 }
14870 
14871 /* vext  */
14872 
14873 __extension__ extern __inline float16x4_t
14874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_f16(float16x4_t __a,float16x4_t __b,__const int __c)14875 vext_f16 (float16x4_t __a, float16x4_t __b, __const int __c)
14876 {
14877   __AARCH64_LANE_CHECK (__a, __c);
14878 #ifdef __AARCH64EB__
14879   return __builtin_shuffle (__b, __a,
14880 			    (uint16x4_t) {4 - __c, 5 - __c, 6 - __c, 7 - __c});
14881 #else
14882   return __builtin_shuffle (__a, __b,
14883 			    (uint16x4_t) {__c, __c + 1, __c + 2, __c + 3});
14884 #endif
14885 }
14886 
14887 __extension__ extern __inline float32x2_t
14888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_f32(float32x2_t __a,float32x2_t __b,__const int __c)14889 vext_f32 (float32x2_t __a, float32x2_t __b, __const int __c)
14890 {
14891   __AARCH64_LANE_CHECK (__a, __c);
14892 #ifdef __AARCH64EB__
14893   return __builtin_shuffle (__b, __a, (uint32x2_t) {2-__c, 3-__c});
14894 #else
14895   return __builtin_shuffle (__a, __b, (uint32x2_t) {__c, __c+1});
14896 #endif
14897 }
14898 
14899 __extension__ extern __inline float64x1_t
14900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_f64(float64x1_t __a,float64x1_t __b,__const int __c)14901 vext_f64 (float64x1_t __a, float64x1_t __b, __const int __c)
14902 {
14903   __AARCH64_LANE_CHECK (__a, __c);
14904   /* The only possible index to the assembler instruction returns element 0.  */
14905   return __a;
14906 }
14907 __extension__ extern __inline poly8x8_t
14908 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_p8(poly8x8_t __a,poly8x8_t __b,__const int __c)14909 vext_p8 (poly8x8_t __a, poly8x8_t __b, __const int __c)
14910 {
14911   __AARCH64_LANE_CHECK (__a, __c);
14912 #ifdef __AARCH64EB__
14913   return __builtin_shuffle (__b, __a, (uint8x8_t)
14914       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
14915 #else
14916   return __builtin_shuffle (__a, __b,
14917       (uint8x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
14918 #endif
14919 }
14920 
14921 __extension__ extern __inline poly16x4_t
14922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_p16(poly16x4_t __a,poly16x4_t __b,__const int __c)14923 vext_p16 (poly16x4_t __a, poly16x4_t __b, __const int __c)
14924 {
14925   __AARCH64_LANE_CHECK (__a, __c);
14926 #ifdef __AARCH64EB__
14927   return __builtin_shuffle (__b, __a,
14928       (uint16x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
14929 #else
14930   return __builtin_shuffle (__a, __b, (uint16x4_t) {__c, __c+1, __c+2, __c+3});
14931 #endif
14932 }
14933 
14934 __extension__ extern __inline poly64x1_t
14935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_p64(poly64x1_t __a,poly64x1_t __b,__const int __c)14936 vext_p64 (poly64x1_t __a, poly64x1_t __b, __const int __c)
14937 {
14938   __AARCH64_LANE_CHECK (__a, __c);
14939   /* The only possible index to the assembler instruction returns element 0.  */
14940   return __a;
14941 }
14942 
14943 __extension__ extern __inline int8x8_t
14944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_s8(int8x8_t __a,int8x8_t __b,__const int __c)14945 vext_s8 (int8x8_t __a, int8x8_t __b, __const int __c)
14946 {
14947   __AARCH64_LANE_CHECK (__a, __c);
14948 #ifdef __AARCH64EB__
14949   return __builtin_shuffle (__b, __a, (uint8x8_t)
14950       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
14951 #else
14952   return __builtin_shuffle (__a, __b,
14953       (uint8x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
14954 #endif
14955 }
14956 
14957 __extension__ extern __inline int16x4_t
14958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_s16(int16x4_t __a,int16x4_t __b,__const int __c)14959 vext_s16 (int16x4_t __a, int16x4_t __b, __const int __c)
14960 {
14961   __AARCH64_LANE_CHECK (__a, __c);
14962 #ifdef __AARCH64EB__
14963   return __builtin_shuffle (__b, __a,
14964       (uint16x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
14965 #else
14966   return __builtin_shuffle (__a, __b, (uint16x4_t) {__c, __c+1, __c+2, __c+3});
14967 #endif
14968 }
14969 
14970 __extension__ extern __inline int32x2_t
14971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_s32(int32x2_t __a,int32x2_t __b,__const int __c)14972 vext_s32 (int32x2_t __a, int32x2_t __b, __const int __c)
14973 {
14974   __AARCH64_LANE_CHECK (__a, __c);
14975 #ifdef __AARCH64EB__
14976   return __builtin_shuffle (__b, __a, (uint32x2_t) {2-__c, 3-__c});
14977 #else
14978   return __builtin_shuffle (__a, __b, (uint32x2_t) {__c, __c+1});
14979 #endif
14980 }
14981 
14982 __extension__ extern __inline int64x1_t
14983 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_s64(int64x1_t __a,int64x1_t __b,__const int __c)14984 vext_s64 (int64x1_t __a, int64x1_t __b, __const int __c)
14985 {
14986   __AARCH64_LANE_CHECK (__a, __c);
14987   /* The only possible index to the assembler instruction returns element 0.  */
14988   return __a;
14989 }
14990 
14991 __extension__ extern __inline uint8x8_t
14992 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_u8(uint8x8_t __a,uint8x8_t __b,__const int __c)14993 vext_u8 (uint8x8_t __a, uint8x8_t __b, __const int __c)
14994 {
14995   __AARCH64_LANE_CHECK (__a, __c);
14996 #ifdef __AARCH64EB__
14997   return __builtin_shuffle (__b, __a, (uint8x8_t)
14998       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
14999 #else
15000   return __builtin_shuffle (__a, __b,
15001       (uint8x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
15002 #endif
15003 }
15004 
15005 __extension__ extern __inline uint16x4_t
15006 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_u16(uint16x4_t __a,uint16x4_t __b,__const int __c)15007 vext_u16 (uint16x4_t __a, uint16x4_t __b, __const int __c)
15008 {
15009   __AARCH64_LANE_CHECK (__a, __c);
15010 #ifdef __AARCH64EB__
15011   return __builtin_shuffle (__b, __a,
15012       (uint16x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
15013 #else
15014   return __builtin_shuffle (__a, __b, (uint16x4_t) {__c, __c+1, __c+2, __c+3});
15015 #endif
15016 }
15017 
15018 __extension__ extern __inline uint32x2_t
15019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_u32(uint32x2_t __a,uint32x2_t __b,__const int __c)15020 vext_u32 (uint32x2_t __a, uint32x2_t __b, __const int __c)
15021 {
15022   __AARCH64_LANE_CHECK (__a, __c);
15023 #ifdef __AARCH64EB__
15024   return __builtin_shuffle (__b, __a, (uint32x2_t) {2-__c, 3-__c});
15025 #else
15026   return __builtin_shuffle (__a, __b, (uint32x2_t) {__c, __c+1});
15027 #endif
15028 }
15029 
15030 __extension__ extern __inline uint64x1_t
15031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vext_u64(uint64x1_t __a,uint64x1_t __b,__const int __c)15032 vext_u64 (uint64x1_t __a, uint64x1_t __b, __const int __c)
15033 {
15034   __AARCH64_LANE_CHECK (__a, __c);
15035   /* The only possible index to the assembler instruction returns element 0.  */
15036   return __a;
15037 }
15038 
15039 __extension__ extern __inline float16x8_t
15040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_f16(float16x8_t __a,float16x8_t __b,__const int __c)15041 vextq_f16 (float16x8_t __a, float16x8_t __b, __const int __c)
15042 {
15043   __AARCH64_LANE_CHECK (__a, __c);
15044 #ifdef __AARCH64EB__
15045   return __builtin_shuffle (__b, __a,
15046 			    (uint16x8_t) {8 - __c, 9 - __c, 10 - __c, 11 - __c,
15047 					  12 - __c, 13 - __c, 14 - __c,
15048 					  15 - __c});
15049 #else
15050   return __builtin_shuffle (__a, __b,
15051 			    (uint16x8_t) {__c, __c + 1, __c + 2, __c + 3,
15052 					  __c + 4, __c + 5, __c + 6, __c + 7});
15053 #endif
15054 }
15055 
15056 __extension__ extern __inline float32x4_t
15057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_f32(float32x4_t __a,float32x4_t __b,__const int __c)15058 vextq_f32 (float32x4_t __a, float32x4_t __b, __const int __c)
15059 {
15060   __AARCH64_LANE_CHECK (__a, __c);
15061 #ifdef __AARCH64EB__
15062   return __builtin_shuffle (__b, __a,
15063       (uint32x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
15064 #else
15065   return __builtin_shuffle (__a, __b, (uint32x4_t) {__c, __c+1, __c+2, __c+3});
15066 #endif
15067 }
15068 
15069 __extension__ extern __inline float64x2_t
15070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_f64(float64x2_t __a,float64x2_t __b,__const int __c)15071 vextq_f64 (float64x2_t __a, float64x2_t __b, __const int __c)
15072 {
15073   __AARCH64_LANE_CHECK (__a, __c);
15074 #ifdef __AARCH64EB__
15075   return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
15076 #else
15077   return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
15078 #endif
15079 }
15080 
15081 __extension__ extern __inline poly8x16_t
15082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p8(poly8x16_t __a,poly8x16_t __b,__const int __c)15083 vextq_p8 (poly8x16_t __a, poly8x16_t __b, __const int __c)
15084 {
15085   __AARCH64_LANE_CHECK (__a, __c);
15086 #ifdef __AARCH64EB__
15087   return __builtin_shuffle (__b, __a, (uint8x16_t)
15088       {16-__c, 17-__c, 18-__c, 19-__c, 20-__c, 21-__c, 22-__c, 23-__c,
15089        24-__c, 25-__c, 26-__c, 27-__c, 28-__c, 29-__c, 30-__c, 31-__c});
15090 #else
15091   return __builtin_shuffle (__a, __b, (uint8x16_t)
15092       {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
15093        __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15});
15094 #endif
15095 }
15096 
15097 __extension__ extern __inline poly16x8_t
15098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p16(poly16x8_t __a,poly16x8_t __b,__const int __c)15099 vextq_p16 (poly16x8_t __a, poly16x8_t __b, __const int __c)
15100 {
15101   __AARCH64_LANE_CHECK (__a, __c);
15102 #ifdef __AARCH64EB__
15103   return __builtin_shuffle (__b, __a, (uint16x8_t)
15104       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
15105 #else
15106   return __builtin_shuffle (__a, __b,
15107       (uint16x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
15108 #endif
15109 }
15110 
15111 __extension__ extern __inline poly64x2_t
15112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_p64(poly64x2_t __a,poly64x2_t __b,__const int __c)15113 vextq_p64 (poly64x2_t __a, poly64x2_t __b, __const int __c)
15114 {
15115   __AARCH64_LANE_CHECK (__a, __c);
15116 #ifdef __AARCH64EB__
15117   return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
15118 #else
15119   return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
15120 #endif
15121 }
15122 
15123 __extension__ extern __inline int8x16_t
15124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s8(int8x16_t __a,int8x16_t __b,__const int __c)15125 vextq_s8 (int8x16_t __a, int8x16_t __b, __const int __c)
15126 {
15127   __AARCH64_LANE_CHECK (__a, __c);
15128 #ifdef __AARCH64EB__
15129   return __builtin_shuffle (__b, __a, (uint8x16_t)
15130       {16-__c, 17-__c, 18-__c, 19-__c, 20-__c, 21-__c, 22-__c, 23-__c,
15131        24-__c, 25-__c, 26-__c, 27-__c, 28-__c, 29-__c, 30-__c, 31-__c});
15132 #else
15133   return __builtin_shuffle (__a, __b, (uint8x16_t)
15134       {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
15135        __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15});
15136 #endif
15137 }
15138 
15139 __extension__ extern __inline int16x8_t
15140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s16(int16x8_t __a,int16x8_t __b,__const int __c)15141 vextq_s16 (int16x8_t __a, int16x8_t __b, __const int __c)
15142 {
15143   __AARCH64_LANE_CHECK (__a, __c);
15144 #ifdef __AARCH64EB__
15145   return __builtin_shuffle (__b, __a, (uint16x8_t)
15146       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
15147 #else
15148   return __builtin_shuffle (__a, __b,
15149       (uint16x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
15150 #endif
15151 }
15152 
15153 __extension__ extern __inline int32x4_t
15154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s32(int32x4_t __a,int32x4_t __b,__const int __c)15155 vextq_s32 (int32x4_t __a, int32x4_t __b, __const int __c)
15156 {
15157   __AARCH64_LANE_CHECK (__a, __c);
15158 #ifdef __AARCH64EB__
15159   return __builtin_shuffle (__b, __a,
15160       (uint32x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
15161 #else
15162   return __builtin_shuffle (__a, __b, (uint32x4_t) {__c, __c+1, __c+2, __c+3});
15163 #endif
15164 }
15165 
15166 __extension__ extern __inline int64x2_t
15167 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_s64(int64x2_t __a,int64x2_t __b,__const int __c)15168 vextq_s64 (int64x2_t __a, int64x2_t __b, __const int __c)
15169 {
15170   __AARCH64_LANE_CHECK (__a, __c);
15171 #ifdef __AARCH64EB__
15172   return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
15173 #else
15174   return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
15175 #endif
15176 }
15177 
15178 __extension__ extern __inline uint8x16_t
15179 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u8(uint8x16_t __a,uint8x16_t __b,__const int __c)15180 vextq_u8 (uint8x16_t __a, uint8x16_t __b, __const int __c)
15181 {
15182   __AARCH64_LANE_CHECK (__a, __c);
15183 #ifdef __AARCH64EB__
15184   return __builtin_shuffle (__b, __a, (uint8x16_t)
15185       {16-__c, 17-__c, 18-__c, 19-__c, 20-__c, 21-__c, 22-__c, 23-__c,
15186        24-__c, 25-__c, 26-__c, 27-__c, 28-__c, 29-__c, 30-__c, 31-__c});
15187 #else
15188   return __builtin_shuffle (__a, __b, (uint8x16_t)
15189       {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7,
15190        __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15});
15191 #endif
15192 }
15193 
15194 __extension__ extern __inline uint16x8_t
15195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u16(uint16x8_t __a,uint16x8_t __b,__const int __c)15196 vextq_u16 (uint16x8_t __a, uint16x8_t __b, __const int __c)
15197 {
15198   __AARCH64_LANE_CHECK (__a, __c);
15199 #ifdef __AARCH64EB__
15200   return __builtin_shuffle (__b, __a, (uint16x8_t)
15201       {8-__c, 9-__c, 10-__c, 11-__c, 12-__c, 13-__c, 14-__c, 15-__c});
15202 #else
15203   return __builtin_shuffle (__a, __b,
15204       (uint16x8_t) {__c, __c+1, __c+2, __c+3, __c+4, __c+5, __c+6, __c+7});
15205 #endif
15206 }
15207 
15208 __extension__ extern __inline uint32x4_t
15209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u32(uint32x4_t __a,uint32x4_t __b,__const int __c)15210 vextq_u32 (uint32x4_t __a, uint32x4_t __b, __const int __c)
15211 {
15212   __AARCH64_LANE_CHECK (__a, __c);
15213 #ifdef __AARCH64EB__
15214   return __builtin_shuffle (__b, __a,
15215       (uint32x4_t) {4-__c, 5-__c, 6-__c, 7-__c});
15216 #else
15217   return __builtin_shuffle (__a, __b, (uint32x4_t) {__c, __c+1, __c+2, __c+3});
15218 #endif
15219 }
15220 
15221 __extension__ extern __inline uint64x2_t
15222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vextq_u64(uint64x2_t __a,uint64x2_t __b,__const int __c)15223 vextq_u64 (uint64x2_t __a, uint64x2_t __b, __const int __c)
15224 {
15225   __AARCH64_LANE_CHECK (__a, __c);
15226 #ifdef __AARCH64EB__
15227   return __builtin_shuffle (__b, __a, (uint64x2_t) {2-__c, 3-__c});
15228 #else
15229   return __builtin_shuffle (__a, __b, (uint64x2_t) {__c, __c+1});
15230 #endif
15231 }
15232 
15233 /* vfma  */
15234 
15235 __extension__ extern __inline float64x1_t
15236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c)15237 vfma_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
15238 {
15239   return (float64x1_t) {__builtin_fma (__b[0], __c[0], __a[0])};
15240 }
15241 
15242 __extension__ extern __inline float32x2_t
15243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)15244 vfma_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
15245 {
15246   return __builtin_aarch64_fmav2sf (__b, __c, __a);
15247 }
15248 
15249 __extension__ extern __inline float32x4_t
15250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)15251 vfmaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
15252 {
15253   return __builtin_aarch64_fmav4sf (__b, __c, __a);
15254 }
15255 
15256 __extension__ extern __inline float64x2_t
15257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c)15258 vfmaq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
15259 {
15260   return __builtin_aarch64_fmav2df (__b, __c, __a);
15261 }
15262 
15263 __extension__ extern __inline float32x2_t
15264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)15265 vfma_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
15266 {
15267   return __builtin_aarch64_fmav2sf (__b, vdup_n_f32 (__c), __a);
15268 }
15269 
15270 __extension__ extern __inline float64x1_t
15271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_n_f64(float64x1_t __a,float64x1_t __b,float64_t __c)15272 vfma_n_f64 (float64x1_t __a, float64x1_t __b, float64_t __c)
15273 {
15274   return (float64x1_t) {__b[0] * __c + __a[0]};
15275 }
15276 
15277 __extension__ extern __inline float32x4_t
15278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)15279 vfmaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
15280 {
15281   return __builtin_aarch64_fmav4sf (__b, vdupq_n_f32 (__c), __a);
15282 }
15283 
15284 __extension__ extern __inline float64x2_t
15285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_n_f64(float64x2_t __a,float64x2_t __b,float64_t __c)15286 vfmaq_n_f64 (float64x2_t __a, float64x2_t __b, float64_t __c)
15287 {
15288   return __builtin_aarch64_fmav2df (__b, vdupq_n_f64 (__c), __a);
15289 }
15290 
15291 /* vfma_lane  */
15292 
15293 __extension__ extern __inline float32x2_t
15294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __lane)15295 vfma_lane_f32 (float32x2_t __a, float32x2_t __b,
15296 	       float32x2_t __c, const int __lane)
15297 {
15298   return __builtin_aarch64_fmav2sf (__b,
15299 				    __aarch64_vdup_lane_f32 (__c, __lane),
15300 				    __a);
15301 }
15302 
15303 __extension__ extern __inline float64x1_t
15304 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_lane_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c,const int __lane)15305 vfma_lane_f64 (float64x1_t __a, float64x1_t __b,
15306 	       float64x1_t __c, const int __lane)
15307 {
15308   return (float64x1_t) {__builtin_fma (__b[0], __c[0], __a[0])};
15309 }
15310 
15311 __extension__ extern __inline float64_t
15312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmad_lane_f64(float64_t __a,float64_t __b,float64x1_t __c,const int __lane)15313 vfmad_lane_f64 (float64_t __a, float64_t __b,
15314 	        float64x1_t __c, const int __lane)
15315 {
15316   return __builtin_fma (__b, __c[0], __a);
15317 }
15318 
15319 __extension__ extern __inline float32_t
15320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmas_lane_f32(float32_t __a,float32_t __b,float32x2_t __c,const int __lane)15321 vfmas_lane_f32 (float32_t __a, float32_t __b,
15322 	        float32x2_t __c, const int __lane)
15323 {
15324   return __builtin_fmaf (__b, __aarch64_vget_lane_any (__c, __lane), __a);
15325 }
15326 
15327 /* vfma_laneq  */
15328 
15329 __extension__ extern __inline float32x2_t
15330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_laneq_f32(float32x2_t __a,float32x2_t __b,float32x4_t __c,const int __lane)15331 vfma_laneq_f32 (float32x2_t __a, float32x2_t __b,
15332 	        float32x4_t __c, const int __lane)
15333 {
15334   return __builtin_aarch64_fmav2sf (__b,
15335 				    __aarch64_vdup_laneq_f32 (__c, __lane),
15336 				    __a);
15337 }
15338 
15339 __extension__ extern __inline float64x1_t
15340 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_laneq_f64(float64x1_t __a,float64x1_t __b,float64x2_t __c,const int __lane)15341 vfma_laneq_f64 (float64x1_t __a, float64x1_t __b,
15342 	        float64x2_t __c, const int __lane)
15343 {
15344   float64_t __c0 = __aarch64_vget_lane_any (__c, __lane);
15345   return (float64x1_t) {__builtin_fma (__b[0], __c0, __a[0])};
15346 }
15347 
15348 __extension__ extern __inline float64_t
15349 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmad_laneq_f64(float64_t __a,float64_t __b,float64x2_t __c,const int __lane)15350 vfmad_laneq_f64 (float64_t __a, float64_t __b,
15351 	         float64x2_t __c, const int __lane)
15352 {
15353   return __builtin_fma (__b, __aarch64_vget_lane_any (__c, __lane), __a);
15354 }
15355 
15356 __extension__ extern __inline float32_t
15357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmas_laneq_f32(float32_t __a,float32_t __b,float32x4_t __c,const int __lane)15358 vfmas_laneq_f32 (float32_t __a, float32_t __b,
15359 		 float32x4_t __c, const int __lane)
15360 {
15361   return __builtin_fmaf (__b, __aarch64_vget_lane_any (__c, __lane), __a);
15362 }
15363 
15364 /* vfmaq_lane  */
15365 
15366 __extension__ extern __inline float32x4_t
15367 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __lane)15368 vfmaq_lane_f32 (float32x4_t __a, float32x4_t __b,
15369 	        float32x2_t __c, const int __lane)
15370 {
15371   return __builtin_aarch64_fmav4sf (__b,
15372 				    __aarch64_vdupq_lane_f32 (__c, __lane),
15373 				    __a);
15374 }
15375 
15376 __extension__ extern __inline float64x2_t
15377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_lane_f64(float64x2_t __a,float64x2_t __b,float64x1_t __c,const int __lane)15378 vfmaq_lane_f64 (float64x2_t __a, float64x2_t __b,
15379 	        float64x1_t __c, const int __lane)
15380 {
15381   return __builtin_aarch64_fmav2df (__b, vdupq_n_f64 (__c[0]), __a);
15382 }
15383 
15384 /* vfmaq_laneq  */
15385 
15386 __extension__ extern __inline float32x4_t
15387 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_laneq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c,const int __lane)15388 vfmaq_laneq_f32 (float32x4_t __a, float32x4_t __b,
15389 	         float32x4_t __c, const int __lane)
15390 {
15391   return __builtin_aarch64_fmav4sf (__b,
15392 				    __aarch64_vdupq_laneq_f32 (__c, __lane),
15393 				    __a);
15394 }
15395 
15396 __extension__ extern __inline float64x2_t
15397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_laneq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c,const int __lane)15398 vfmaq_laneq_f64 (float64x2_t __a, float64x2_t __b,
15399 	         float64x2_t __c, const int __lane)
15400 {
15401   return __builtin_aarch64_fmav2df (__b,
15402 				    __aarch64_vdupq_laneq_f64 (__c, __lane),
15403 				    __a);
15404 }
15405 
15406 /* vfms  */
15407 
15408 __extension__ extern __inline float64x1_t
15409 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c)15410 vfms_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
15411 {
15412   return (float64x1_t) {__builtin_fma (-__b[0], __c[0], __a[0])};
15413 }
15414 
15415 __extension__ extern __inline float32x2_t
15416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)15417 vfms_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
15418 {
15419   return __builtin_aarch64_fmav2sf (-__b, __c, __a);
15420 }
15421 
15422 __extension__ extern __inline float32x4_t
15423 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)15424 vfmsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
15425 {
15426   return __builtin_aarch64_fmav4sf (-__b, __c, __a);
15427 }
15428 
15429 __extension__ extern __inline float64x2_t
15430 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c)15431 vfmsq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
15432 {
15433   return __builtin_aarch64_fmav2df (-__b, __c, __a);
15434 }
15435 
15436 __extension__ extern __inline float32x2_t
15437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_n_f32(float32x2_t __a,float32x2_t __b,float32_t __c)15438 vfms_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
15439 {
15440   return __builtin_aarch64_fmav2sf (-__b, vdup_n_f32 (__c), __a);
15441 }
15442 
15443 __extension__ extern __inline float64x1_t
15444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_n_f64(float64x1_t __a,float64x1_t __b,float64_t __c)15445 vfms_n_f64 (float64x1_t __a, float64x1_t __b, float64_t __c)
15446 {
15447   return (float64x1_t) {-__b[0] * __c + __a[0]};
15448 }
15449 
15450 __extension__ extern __inline float32x4_t
15451 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_n_f32(float32x4_t __a,float32x4_t __b,float32_t __c)15452 vfmsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
15453 {
15454   return __builtin_aarch64_fmav4sf (-__b, vdupq_n_f32 (__c), __a);
15455 }
15456 
15457 __extension__ extern __inline float64x2_t
15458 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_n_f64(float64x2_t __a,float64x2_t __b,float64_t __c)15459 vfmsq_n_f64 (float64x2_t __a, float64x2_t __b, float64_t __c)
15460 {
15461   return __builtin_aarch64_fmav2df (-__b, vdupq_n_f64 (__c), __a);
15462 }
15463 
15464 /* vfms_lane  */
15465 
15466 __extension__ extern __inline float32x2_t
15467 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __lane)15468 vfms_lane_f32 (float32x2_t __a, float32x2_t __b,
15469 	       float32x2_t __c, const int __lane)
15470 {
15471   return __builtin_aarch64_fmav2sf (-__b,
15472 				    __aarch64_vdup_lane_f32 (__c, __lane),
15473 				    __a);
15474 }
15475 
15476 __extension__ extern __inline float64x1_t
15477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_lane_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c,const int __lane)15478 vfms_lane_f64 (float64x1_t __a, float64x1_t __b,
15479 	       float64x1_t __c, const int __lane)
15480 {
15481   return (float64x1_t) {__builtin_fma (-__b[0], __c[0], __a[0])};
15482 }
15483 
15484 __extension__ extern __inline float64_t
15485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsd_lane_f64(float64_t __a,float64_t __b,float64x1_t __c,const int __lane)15486 vfmsd_lane_f64 (float64_t __a, float64_t __b,
15487 	        float64x1_t __c, const int __lane)
15488 {
15489   return __builtin_fma (-__b, __c[0], __a);
15490 }
15491 
15492 __extension__ extern __inline float32_t
15493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmss_lane_f32(float32_t __a,float32_t __b,float32x2_t __c,const int __lane)15494 vfmss_lane_f32 (float32_t __a, float32_t __b,
15495 	        float32x2_t __c, const int __lane)
15496 {
15497   return __builtin_fmaf (-__b, __aarch64_vget_lane_any (__c, __lane), __a);
15498 }
15499 
15500 /* vfms_laneq  */
15501 
15502 __extension__ extern __inline float32x2_t
15503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_laneq_f32(float32x2_t __a,float32x2_t __b,float32x4_t __c,const int __lane)15504 vfms_laneq_f32 (float32x2_t __a, float32x2_t __b,
15505 	        float32x4_t __c, const int __lane)
15506 {
15507   return __builtin_aarch64_fmav2sf (-__b,
15508 				    __aarch64_vdup_laneq_f32 (__c, __lane),
15509 				    __a);
15510 }
15511 
15512 __extension__ extern __inline float64x1_t
15513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_laneq_f64(float64x1_t __a,float64x1_t __b,float64x2_t __c,const int __lane)15514 vfms_laneq_f64 (float64x1_t __a, float64x1_t __b,
15515 	        float64x2_t __c, const int __lane)
15516 {
15517   float64_t __c0 = __aarch64_vget_lane_any (__c, __lane);
15518   return (float64x1_t) {__builtin_fma (-__b[0], __c0, __a[0])};
15519 }
15520 
15521 __extension__ extern __inline float64_t
15522 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsd_laneq_f64(float64_t __a,float64_t __b,float64x2_t __c,const int __lane)15523 vfmsd_laneq_f64 (float64_t __a, float64_t __b,
15524 	         float64x2_t __c, const int __lane)
15525 {
15526   return __builtin_fma (-__b, __aarch64_vget_lane_any (__c, __lane), __a);
15527 }
15528 
15529 __extension__ extern __inline float32_t
15530 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmss_laneq_f32(float32_t __a,float32_t __b,float32x4_t __c,const int __lane)15531 vfmss_laneq_f32 (float32_t __a, float32_t __b,
15532 		 float32x4_t __c, const int __lane)
15533 {
15534   return __builtin_fmaf (-__b, __aarch64_vget_lane_any (__c, __lane), __a);
15535 }
15536 
15537 /* vfmsq_lane  */
15538 
15539 __extension__ extern __inline float32x4_t
15540 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __lane)15541 vfmsq_lane_f32 (float32x4_t __a, float32x4_t __b,
15542 	        float32x2_t __c, const int __lane)
15543 {
15544   return __builtin_aarch64_fmav4sf (-__b,
15545 				    __aarch64_vdupq_lane_f32 (__c, __lane),
15546 				    __a);
15547 }
15548 
15549 __extension__ extern __inline float64x2_t
15550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_lane_f64(float64x2_t __a,float64x2_t __b,float64x1_t __c,const int __lane)15551 vfmsq_lane_f64 (float64x2_t __a, float64x2_t __b,
15552 	        float64x1_t __c, const int __lane)
15553 {
15554   return __builtin_aarch64_fmav2df (-__b, vdupq_n_f64 (__c[0]), __a);
15555 }
15556 
15557 /* vfmsq_laneq  */
15558 
15559 __extension__ extern __inline float32x4_t
15560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_laneq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c,const int __lane)15561 vfmsq_laneq_f32 (float32x4_t __a, float32x4_t __b,
15562 	         float32x4_t __c, const int __lane)
15563 {
15564   return __builtin_aarch64_fmav4sf (-__b,
15565 				    __aarch64_vdupq_laneq_f32 (__c, __lane),
15566 				    __a);
15567 }
15568 
15569 __extension__ extern __inline float64x2_t
15570 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_laneq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c,const int __lane)15571 vfmsq_laneq_f64 (float64x2_t __a, float64x2_t __b,
15572 	         float64x2_t __c, const int __lane)
15573 {
15574   return __builtin_aarch64_fmav2df (-__b,
15575 				    __aarch64_vdupq_laneq_f64 (__c, __lane),
15576 				    __a);
15577 }
15578 
15579 /* vld1 */
15580 
15581 __extension__ extern __inline float16x4_t
15582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16(const float16_t * __a)15583 vld1_f16 (const float16_t *__a)
15584 {
15585   return __builtin_aarch64_ld1v4hf (__a);
15586 }
15587 
15588 __extension__ extern __inline float32x2_t
15589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32(const float32_t * __a)15590 vld1_f32 (const float32_t *__a)
15591 {
15592   return __builtin_aarch64_ld1v2sf ((const __builtin_aarch64_simd_sf *) __a);
15593 }
15594 
15595 __extension__ extern __inline float64x1_t
15596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f64(const float64_t * __a)15597 vld1_f64 (const float64_t *__a)
15598 {
15599   return (float64x1_t) {*__a};
15600 }
15601 
15602 __extension__ extern __inline poly8x8_t
15603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8(const poly8_t * __a)15604 vld1_p8 (const poly8_t *__a)
15605 {
15606   return (poly8x8_t)
15607     __builtin_aarch64_ld1v8qi ((const __builtin_aarch64_simd_qi *) __a);
15608 }
15609 
15610 __extension__ extern __inline poly16x4_t
15611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16(const poly16_t * __a)15612 vld1_p16 (const poly16_t *__a)
15613 {
15614   return (poly16x4_t)
15615     __builtin_aarch64_ld1v4hi ((const __builtin_aarch64_simd_hi *) __a);
15616 }
15617 
15618 __extension__ extern __inline poly64x1_t
15619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64(const poly64_t * __a)15620 vld1_p64 (const poly64_t *__a)
15621 {
15622   return (poly64x1_t) {*__a};
15623 }
15624 
15625 __extension__ extern __inline int8x8_t
15626 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8(const int8_t * __a)15627 vld1_s8 (const int8_t *__a)
15628 {
15629   return __builtin_aarch64_ld1v8qi ((const __builtin_aarch64_simd_qi *) __a);
15630 }
15631 
15632 __extension__ extern __inline int16x4_t
15633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16(const int16_t * __a)15634 vld1_s16 (const int16_t *__a)
15635 {
15636   return __builtin_aarch64_ld1v4hi ((const __builtin_aarch64_simd_hi *) __a);
15637 }
15638 
15639 __extension__ extern __inline int32x2_t
15640 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32(const int32_t * __a)15641 vld1_s32 (const int32_t *__a)
15642 {
15643   return __builtin_aarch64_ld1v2si ((const __builtin_aarch64_simd_si *) __a);
15644 }
15645 
15646 __extension__ extern __inline int64x1_t
15647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64(const int64_t * __a)15648 vld1_s64 (const int64_t *__a)
15649 {
15650   return (int64x1_t) {*__a};
15651 }
15652 
15653 __extension__ extern __inline uint8x8_t
15654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8(const uint8_t * __a)15655 vld1_u8 (const uint8_t *__a)
15656 {
15657   return (uint8x8_t)
15658     __builtin_aarch64_ld1v8qi ((const __builtin_aarch64_simd_qi *) __a);
15659 }
15660 
15661 __extension__ extern __inline uint16x4_t
15662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16(const uint16_t * __a)15663 vld1_u16 (const uint16_t *__a)
15664 {
15665   return (uint16x4_t)
15666     __builtin_aarch64_ld1v4hi ((const __builtin_aarch64_simd_hi *) __a);
15667 }
15668 
15669 __extension__ extern __inline uint32x2_t
15670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32(const uint32_t * __a)15671 vld1_u32 (const uint32_t *__a)
15672 {
15673   return (uint32x2_t)
15674     __builtin_aarch64_ld1v2si ((const __builtin_aarch64_simd_si *) __a);
15675 }
15676 
15677 __extension__ extern __inline uint64x1_t
15678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64(const uint64_t * __a)15679 vld1_u64 (const uint64_t *__a)
15680 {
15681   return (uint64x1_t) {*__a};
15682 }
15683 
15684 /* vld1x3  */
15685 
15686 __extension__ extern __inline uint8x8x3_t
15687 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8_x3(const uint8_t * __a)15688 vld1_u8_x3 (const uint8_t *__a)
15689 {
15690   uint8x8x3_t __i;
15691   __builtin_aarch64_simd_ci __o;
15692   __o = (__builtin_aarch64_simd_ci)__builtin_aarch64_ld1x3v8qi ((const __builtin_aarch64_simd_qi *) __a);
15693   __i.val[0] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 0);
15694   __i.val[1] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 1);
15695   __i.val[2] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 2);
15696   return __i;
15697 }
15698 
15699 __extension__ extern __inline int8x8x3_t
15700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8_x3(const uint8_t * __a)15701 vld1_s8_x3 (const uint8_t *__a)
15702 {
15703   int8x8x3_t __i;
15704   __builtin_aarch64_simd_ci __o;
15705   __o = __builtin_aarch64_ld1x3v8qi ((const __builtin_aarch64_simd_qi *) __a);
15706   __i.val[0] = (int8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 0);
15707   __i.val[1] = (int8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 1);
15708   __i.val[2] = (int8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 2);
15709   return __i;
15710 }
15711 
15712 __extension__ extern __inline uint16x4x3_t
15713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16_x3(const uint16_t * __a)15714 vld1_u16_x3 (const uint16_t *__a)
15715 {
15716   uint16x4x3_t __i;
15717   __builtin_aarch64_simd_ci __o;
15718   __o = __builtin_aarch64_ld1x3v4hi ((const __builtin_aarch64_simd_hi *) __a);
15719   __i.val[0] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 0);
15720   __i.val[1] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 1);
15721   __i.val[2] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 2);
15722   return __i;
15723 }
15724 
15725 __extension__ extern __inline int16x4x3_t
15726 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16_x3(const int16_t * __a)15727 vld1_s16_x3 (const int16_t *__a)
15728 {
15729   int16x4x3_t __i;
15730   __builtin_aarch64_simd_ci __o;
15731   __o = __builtin_aarch64_ld1x3v4hi ((const __builtin_aarch64_simd_hi *) __a);
15732   __i.val[0] = (int16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 0);
15733   __i.val[1] = (int16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 1);
15734   __i.val[2] = (int16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 2);
15735   return __i;
15736 }
15737 
15738 __extension__ extern __inline uint32x2x3_t
15739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32_x3(const uint32_t * __a)15740 vld1_u32_x3 (const uint32_t *__a)
15741 {
15742   uint32x2x3_t __i;
15743   __builtin_aarch64_simd_ci __o;
15744   __o = __builtin_aarch64_ld1x3v2si ((const __builtin_aarch64_simd_si *) __a);
15745   __i.val[0] = (uint32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 0);
15746   __i.val[1] = (uint32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 1);
15747   __i.val[2] = (uint32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 2);
15748   return __i;
15749 }
15750 
15751 __extension__ extern __inline int32x2x3_t
15752 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32_x3(const uint32_t * __a)15753 vld1_s32_x3 (const uint32_t *__a)
15754 {
15755   int32x2x3_t __i;
15756   __builtin_aarch64_simd_ci __o;
15757   __o = __builtin_aarch64_ld1x3v2si ((const __builtin_aarch64_simd_si *) __a);
15758   __i.val[0] = (int32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 0);
15759   __i.val[1] = (int32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 1);
15760   __i.val[2] = (int32x2_t) __builtin_aarch64_get_dregciv2si  (__o, 2);
15761   return __i;
15762 }
15763 
15764 __extension__ extern __inline uint64x1x3_t
15765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64_x3(const uint64_t * __a)15766 vld1_u64_x3 (const uint64_t *__a)
15767 {
15768   uint64x1x3_t __i;
15769   __builtin_aarch64_simd_ci __o;
15770   __o = __builtin_aarch64_ld1x3di ((const __builtin_aarch64_simd_di *) __a);
15771   __i.val[0] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
15772   __i.val[1] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
15773   __i.val[2] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
15774   return __i;
15775 }
15776 
15777 __extension__ extern __inline int64x1x3_t
15778 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64_x3(const int64_t * __a)15779 vld1_s64_x3 (const int64_t *__a)
15780 {
15781   int64x1x3_t __i;
15782   __builtin_aarch64_simd_ci __o;
15783   __o = __builtin_aarch64_ld1x3di ((const __builtin_aarch64_simd_di *) __a);
15784   __i.val[0] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
15785   __i.val[1] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
15786   __i.val[2] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
15787 
15788   return __i;
15789 }
15790 
15791 __extension__ extern __inline float16x4x3_t
15792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16_x3(const float16_t * __a)15793 vld1_f16_x3 (const float16_t *__a)
15794 {
15795   float16x4x3_t __i;
15796   __builtin_aarch64_simd_ci __o;
15797   __o = __builtin_aarch64_ld1x3v4hf ((const __builtin_aarch64_simd_hf *) __a);
15798   __i.val[0] = (float16x4_t) __builtin_aarch64_get_dregciv4hf  (__o, 0);
15799   __i.val[1] = (float16x4_t) __builtin_aarch64_get_dregciv4hf  (__o, 1);
15800   __i.val[2] = (float16x4_t) __builtin_aarch64_get_dregciv4hf  (__o, 2);
15801   return __i;
15802 }
15803 
15804 __extension__ extern __inline float32x2x3_t
15805 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32_x3(const float32_t * __a)15806 vld1_f32_x3 (const float32_t *__a)
15807 {
15808   float32x2x3_t __i;
15809   __builtin_aarch64_simd_ci __o;
15810   __o = __builtin_aarch64_ld1x3v2sf ((const __builtin_aarch64_simd_sf *) __a);
15811   __i.val[0] = (float32x2_t) __builtin_aarch64_get_dregciv2sf  (__o, 0);
15812   __i.val[1] = (float32x2_t) __builtin_aarch64_get_dregciv2sf  (__o, 1);
15813   __i.val[2] = (float32x2_t) __builtin_aarch64_get_dregciv2sf  (__o, 2);
15814   return __i;
15815 }
15816 
15817 __extension__ extern __inline float64x1x3_t
15818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f64_x3(const float64_t * __a)15819 vld1_f64_x3 (const float64_t *__a)
15820 {
15821   float64x1x3_t __i;
15822   __builtin_aarch64_simd_ci __o;
15823   __o = __builtin_aarch64_ld1x3df ((const __builtin_aarch64_simd_df *) __a);
15824   __i.val[0] = (float64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
15825   __i.val[1] = (float64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
15826   __i.val[2] = (float64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
15827   return __i;
15828 }
15829 
15830 __extension__ extern __inline poly8x8x3_t
15831 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8_x3(const poly8_t * __a)15832 vld1_p8_x3 (const poly8_t *__a)
15833 {
15834   poly8x8x3_t __i;
15835   __builtin_aarch64_simd_ci __o;
15836   __o = __builtin_aarch64_ld1x3v8qi ((const __builtin_aarch64_simd_qi *) __a);
15837   __i.val[0] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 0);
15838   __i.val[1] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 1);
15839   __i.val[2] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi  (__o, 2);
15840   return __i;
15841 }
15842 
15843 __extension__ extern __inline poly16x4x3_t
15844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16_x3(const poly16_t * __a)15845 vld1_p16_x3 (const poly16_t *__a)
15846 {
15847   poly16x4x3_t __i;
15848   __builtin_aarch64_simd_ci __o;
15849   __o = __builtin_aarch64_ld1x3v4hi ((const __builtin_aarch64_simd_hi *) __a);
15850   __i.val[0] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 0);
15851   __i.val[1] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 1);
15852   __i.val[2] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi  (__o, 2);
15853   return __i;
15854 }
15855 
15856 __extension__ extern __inline poly64x1x3_t
15857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64_x3(const poly64_t * __a)15858 vld1_p64_x3 (const poly64_t *__a)
15859 {
15860   poly64x1x3_t __i;
15861   __builtin_aarch64_simd_ci __o;
15862   __o = __builtin_aarch64_ld1x3di ((const __builtin_aarch64_simd_di *) __a);
15863   __i.val[0] = (poly64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
15864   __i.val[1] = (poly64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
15865   __i.val[2] = (poly64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
15866 
15867 return __i;
15868 }
15869 
15870 __extension__ extern __inline uint8x16x3_t
15871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8_x3(const uint8_t * __a)15872 vld1q_u8_x3 (const uint8_t *__a)
15873 {
15874   uint8x16x3_t __i;
15875   __builtin_aarch64_simd_ci __o;
15876   __o = __builtin_aarch64_ld1x3v16qi ((const __builtin_aarch64_simd_qi *) __a);
15877   __i.val[0] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 0);
15878   __i.val[1] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 1);
15879   __i.val[2] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 2);
15880   return __i;
15881 }
15882 
15883 __extension__ extern __inline int8x16x3_t
15884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8_x3(const int8_t * __a)15885 vld1q_s8_x3 (const int8_t *__a)
15886 {
15887   int8x16x3_t __i;
15888   __builtin_aarch64_simd_ci __o;
15889   __o = __builtin_aarch64_ld1x3v16qi ((const __builtin_aarch64_simd_qi *) __a);
15890   __i.val[0] = (int8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 0);
15891   __i.val[1] = (int8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 1);
15892   __i.val[2] = (int8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 2);
15893   return __i;
15894 }
15895 
15896 __extension__ extern __inline uint16x8x3_t
15897 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16_x3(const uint16_t * __a)15898 vld1q_u16_x3 (const uint16_t *__a)
15899 {
15900   uint16x8x3_t __i;
15901   __builtin_aarch64_simd_ci __o;
15902   __o = __builtin_aarch64_ld1x3v8hi ((const __builtin_aarch64_simd_hi *) __a);
15903   __i.val[0] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 0);
15904   __i.val[1] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 1);
15905   __i.val[2] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 2);
15906   return __i;
15907 }
15908 
15909 __extension__ extern __inline int16x8x3_t
15910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16_x3(const int16_t * __a)15911 vld1q_s16_x3 (const int16_t *__a)
15912 {
15913   int16x8x3_t __i;
15914   __builtin_aarch64_simd_ci __o;
15915   __o = __builtin_aarch64_ld1x3v8hi ((const __builtin_aarch64_simd_hi *) __a);
15916   __i.val[0] = (int16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 0);
15917   __i.val[1] = (int16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 1);
15918   __i.val[2] = (int16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 2);
15919   return __i;
15920 }
15921 
15922 __extension__ extern __inline uint32x4x3_t
15923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32_x3(const uint32_t * __a)15924 vld1q_u32_x3 (const uint32_t *__a)
15925 {
15926   uint32x4x3_t __i;
15927   __builtin_aarch64_simd_ci __o;
15928   __o = __builtin_aarch64_ld1x3v4si ((const __builtin_aarch64_simd_si *) __a);
15929   __i.val[0] = (uint32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 0);
15930   __i.val[1] = (uint32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 1);
15931   __i.val[2] = (uint32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 2);
15932   return __i;
15933 }
15934 
15935 __extension__ extern __inline int32x4x3_t
15936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32_x3(const int32_t * __a)15937 vld1q_s32_x3 (const int32_t *__a)
15938 {
15939   int32x4x3_t __i;
15940   __builtin_aarch64_simd_ci __o;
15941   __o = __builtin_aarch64_ld1x3v4si ((const __builtin_aarch64_simd_si *) __a);
15942   __i.val[0] = (int32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 0);
15943   __i.val[1] = (int32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 1);
15944   __i.val[2] = (int32x4_t) __builtin_aarch64_get_qregciv4si  (__o, 2);
15945   return __i;
15946 }
15947 
15948 __extension__ extern __inline uint64x2x3_t
15949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64_x3(const uint64_t * __a)15950 vld1q_u64_x3 (const uint64_t *__a)
15951 {
15952   uint64x2x3_t __i;
15953   __builtin_aarch64_simd_ci __o;
15954   __o = __builtin_aarch64_ld1x3v2di ((const __builtin_aarch64_simd_di *) __a);
15955   __i.val[0] = (uint64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 0);
15956   __i.val[1] = (uint64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 1);
15957   __i.val[2] = (uint64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 2);
15958   return __i;
15959 }
15960 
15961 __extension__ extern __inline int64x2x3_t
15962 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64_x3(const int64_t * __a)15963 vld1q_s64_x3 (const int64_t *__a)
15964 {
15965   int64x2x3_t __i;
15966   __builtin_aarch64_simd_ci __o;
15967   __o = __builtin_aarch64_ld1x3v2di ((const __builtin_aarch64_simd_di *) __a);
15968   __i.val[0] = (int64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 0);
15969   __i.val[1] = (int64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 1);
15970   __i.val[2] = (int64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 2);
15971   return __i;
15972 }
15973 
15974 __extension__ extern __inline float16x8x3_t
15975 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16_x3(const float16_t * __a)15976 vld1q_f16_x3 (const float16_t *__a)
15977 {
15978   float16x8x3_t __i;
15979   __builtin_aarch64_simd_ci __o;
15980   __o = __builtin_aarch64_ld1x3v8hf ((const __builtin_aarch64_simd_hf *) __a);
15981   __i.val[0] = (float16x8_t) __builtin_aarch64_get_qregciv8hf  (__o, 0);
15982   __i.val[1] = (float16x8_t) __builtin_aarch64_get_qregciv8hf  (__o, 1);
15983   __i.val[2] = (float16x8_t) __builtin_aarch64_get_qregciv8hf  (__o, 2);
15984   return __i;
15985 }
15986 
15987 __extension__ extern __inline float32x4x3_t
15988 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32_x3(const float32_t * __a)15989 vld1q_f32_x3 (const float32_t *__a)
15990 {
15991   float32x4x3_t __i;
15992   __builtin_aarch64_simd_ci __o;
15993   __o = __builtin_aarch64_ld1x3v4sf ((const __builtin_aarch64_simd_sf *) __a);
15994   __i.val[0] = (float32x4_t) __builtin_aarch64_get_qregciv4sf  (__o, 0);
15995   __i.val[1] = (float32x4_t) __builtin_aarch64_get_qregciv4sf  (__o, 1);
15996   __i.val[2] = (float32x4_t) __builtin_aarch64_get_qregciv4sf  (__o, 2);
15997   return __i;
15998 }
15999 
16000 __extension__ extern __inline float64x2x3_t
16001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f64_x3(const float64_t * __a)16002 vld1q_f64_x3 (const float64_t *__a)
16003 {
16004   float64x2x3_t __i;
16005   __builtin_aarch64_simd_ci __o;
16006   __o = __builtin_aarch64_ld1x3v2df ((const __builtin_aarch64_simd_df *) __a);
16007   __i.val[0] = (float64x2_t) __builtin_aarch64_get_qregciv2df  (__o, 0);
16008   __i.val[1] = (float64x2_t) __builtin_aarch64_get_qregciv2df  (__o, 1);
16009   __i.val[2] = (float64x2_t) __builtin_aarch64_get_qregciv2df  (__o, 2);
16010   return __i;
16011 }
16012 
16013 __extension__ extern __inline poly8x16x3_t
16014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8_x3(const poly8_t * __a)16015 vld1q_p8_x3 (const poly8_t *__a)
16016 {
16017   poly8x16x3_t __i;
16018   __builtin_aarch64_simd_ci __o;
16019   __o = __builtin_aarch64_ld1x3v16qi ((const __builtin_aarch64_simd_qi *) __a);
16020   __i.val[0] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 0);
16021   __i.val[1] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 1);
16022   __i.val[2] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi  (__o, 2);
16023   return __i;
16024 }
16025 
16026 __extension__ extern __inline poly16x8x3_t
16027 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16_x3(const poly16_t * __a)16028 vld1q_p16_x3 (const poly16_t *__a)
16029 {
16030   poly16x8x3_t __i;
16031   __builtin_aarch64_simd_ci __o;
16032   __o = __builtin_aarch64_ld1x3v8hi ((const __builtin_aarch64_simd_hi *) __a);
16033   __i.val[0] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 0);
16034   __i.val[1] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 1);
16035   __i.val[2] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi  (__o, 2);
16036   return __i;
16037 }
16038 
16039 __extension__ extern __inline poly64x2x3_t
16040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64_x3(const poly64_t * __a)16041 vld1q_p64_x3 (const poly64_t *__a)
16042 {
16043   poly64x2x3_t __i;
16044   __builtin_aarch64_simd_ci __o;
16045   __o = __builtin_aarch64_ld1x3v2di ((const __builtin_aarch64_simd_di *) __a);
16046   __i.val[0] = (poly64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 0);
16047   __i.val[1] = (poly64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 1);
16048   __i.val[2] = (poly64x2_t) __builtin_aarch64_get_qregciv2di  (__o, 2);
16049   return __i;
16050 }
16051 
16052 /* vld1q */
16053 
16054 __extension__ extern __inline float16x8_t
16055 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16(const float16_t * __a)16056 vld1q_f16 (const float16_t *__a)
16057 {
16058   return __builtin_aarch64_ld1v8hf (__a);
16059 }
16060 
16061 __extension__ extern __inline float32x4_t
16062 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32(const float32_t * __a)16063 vld1q_f32 (const float32_t *__a)
16064 {
16065   return __builtin_aarch64_ld1v4sf ((const __builtin_aarch64_simd_sf *) __a);
16066 }
16067 
16068 __extension__ extern __inline float64x2_t
16069 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f64(const float64_t * __a)16070 vld1q_f64 (const float64_t *__a)
16071 {
16072   return __builtin_aarch64_ld1v2df ((const __builtin_aarch64_simd_df *) __a);
16073 }
16074 
16075 __extension__ extern __inline poly8x16_t
16076 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8(const poly8_t * __a)16077 vld1q_p8 (const poly8_t *__a)
16078 {
16079   return (poly8x16_t)
16080     __builtin_aarch64_ld1v16qi ((const __builtin_aarch64_simd_qi *) __a);
16081 }
16082 
16083 __extension__ extern __inline poly16x8_t
16084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16(const poly16_t * __a)16085 vld1q_p16 (const poly16_t *__a)
16086 {
16087   return (poly16x8_t)
16088     __builtin_aarch64_ld1v8hi ((const __builtin_aarch64_simd_hi *) __a);
16089 }
16090 
16091 __extension__ extern __inline poly64x2_t
16092 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64(const poly64_t * __a)16093 vld1q_p64 (const poly64_t *__a)
16094 {
16095   return (poly64x2_t)
16096     __builtin_aarch64_ld1v2di ((const __builtin_aarch64_simd_di *) __a);
16097 }
16098 
16099 __extension__ extern __inline int8x16_t
16100 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8(const int8_t * __a)16101 vld1q_s8 (const int8_t *__a)
16102 {
16103   return __builtin_aarch64_ld1v16qi ((const __builtin_aarch64_simd_qi *) __a);
16104 }
16105 
16106 __extension__ extern __inline int16x8_t
16107 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16(const int16_t * __a)16108 vld1q_s16 (const int16_t *__a)
16109 {
16110   return __builtin_aarch64_ld1v8hi ((const __builtin_aarch64_simd_hi *) __a);
16111 }
16112 
16113 __extension__ extern __inline int32x4_t
16114 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32(const int32_t * __a)16115 vld1q_s32 (const int32_t *__a)
16116 {
16117   return __builtin_aarch64_ld1v4si ((const __builtin_aarch64_simd_si *) __a);
16118 }
16119 
16120 __extension__ extern __inline int64x2_t
16121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64(const int64_t * __a)16122 vld1q_s64 (const int64_t *__a)
16123 {
16124   return __builtin_aarch64_ld1v2di ((const __builtin_aarch64_simd_di *) __a);
16125 }
16126 
16127 __extension__ extern __inline uint8x16_t
16128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8(const uint8_t * __a)16129 vld1q_u8 (const uint8_t *__a)
16130 {
16131   return (uint8x16_t)
16132     __builtin_aarch64_ld1v16qi ((const __builtin_aarch64_simd_qi *) __a);
16133 }
16134 
16135 __extension__ extern __inline uint8x8x2_t
16136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8_x2(const uint8_t * __a)16137 vld1_u8_x2 (const uint8_t *__a)
16138 {
16139   uint8x8x2_t ret;
16140   __builtin_aarch64_simd_oi __o;
16141   __o = __builtin_aarch64_ld1x2v8qi ((const __builtin_aarch64_simd_qi *) __a);
16142   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
16143   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
16144   return ret;
16145 }
16146 
16147 __extension__ extern __inline int8x8x2_t
16148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8_x2(const int8_t * __a)16149 vld1_s8_x2 (const int8_t *__a)
16150 {
16151   int8x8x2_t ret;
16152   __builtin_aarch64_simd_oi __o;
16153   __o = __builtin_aarch64_ld1x2v8qi ((const __builtin_aarch64_simd_qi *) __a);
16154   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
16155   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
16156   return ret;
16157 }
16158 
16159 __extension__ extern __inline uint16x4x2_t
16160 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16_x2(const uint16_t * __a)16161 vld1_u16_x2 (const uint16_t *__a)
16162 {
16163   uint16x4x2_t ret;
16164   __builtin_aarch64_simd_oi __o;
16165   __o = __builtin_aarch64_ld1x2v4hi ((const __builtin_aarch64_simd_hi *) __a);
16166   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
16167   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
16168   return ret;
16169 }
16170 
16171 __extension__ extern __inline int16x4x2_t
16172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16_x2(const int16_t * __a)16173 vld1_s16_x2 (const int16_t *__a)
16174 {
16175   int16x4x2_t ret;
16176   __builtin_aarch64_simd_oi __o;
16177   __o = __builtin_aarch64_ld1x2v4hi ((const __builtin_aarch64_simd_hi *) __a);
16178   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
16179   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
16180   return ret;
16181 }
16182 
16183 __extension__ extern __inline uint32x2x2_t
16184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32_x2(const uint32_t * __a)16185 vld1_u32_x2 (const uint32_t *__a)
16186 {
16187   uint32x2x2_t ret;
16188   __builtin_aarch64_simd_oi __o;
16189   __o = __builtin_aarch64_ld1x2v2si ((const __builtin_aarch64_simd_si *) __a);
16190   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
16191   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
16192   return ret;
16193 }
16194 
16195 __extension__ extern __inline int32x2x2_t
16196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32_x2(const int32_t * __a)16197 vld1_s32_x2 (const int32_t *__a)
16198 {
16199   int32x2x2_t ret;
16200   __builtin_aarch64_simd_oi __o;
16201   __o = __builtin_aarch64_ld1x2v2si ((const __builtin_aarch64_simd_si *) __a);
16202   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
16203   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
16204   return ret;
16205 }
16206 
16207 __extension__ extern __inline uint64x1x2_t
16208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64_x2(const uint64_t * __a)16209 vld1_u64_x2 (const uint64_t *__a)
16210 {
16211   uint64x1x2_t ret;
16212   __builtin_aarch64_simd_oi __o;
16213   __o = __builtin_aarch64_ld1x2di ((const __builtin_aarch64_simd_di *) __a);
16214   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
16215   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
16216   return ret;
16217 }
16218 
16219 __extension__ extern __inline int64x1x2_t
16220 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64_x2(const int64_t * __a)16221 vld1_s64_x2 (const int64_t *__a)
16222 {
16223   int64x1x2_t ret;
16224   __builtin_aarch64_simd_oi __o;
16225   __o = __builtin_aarch64_ld1x2di ((const __builtin_aarch64_simd_di *) __a);
16226   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
16227   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
16228   return ret;
16229 }
16230 
16231 __extension__ extern __inline float16x4x2_t
16232 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16_x2(const float16_t * __a)16233 vld1_f16_x2 (const float16_t *__a)
16234 {
16235   float16x4x2_t ret;
16236   __builtin_aarch64_simd_oi __o;
16237   __o = __builtin_aarch64_ld1x2v4hf ((const __builtin_aarch64_simd_hf *) __a);
16238   ret.val[0] = (float16x4_t) __builtin_aarch64_get_dregoiv4hf (__o, 0);
16239   ret.val[1] = (float16x4_t) __builtin_aarch64_get_dregoiv4hf (__o, 1);
16240   return ret;
16241 }
16242 
16243 __extension__ extern __inline float32x2x2_t
16244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32_x2(const float32_t * __a)16245 vld1_f32_x2 (const float32_t *__a)
16246 {
16247   float32x2x2_t ret;
16248   __builtin_aarch64_simd_oi __o;
16249   __o = __builtin_aarch64_ld1x2v2sf ((const __builtin_aarch64_simd_sf *) __a);
16250   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 0);
16251   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 1);
16252   return ret;
16253 }
16254 
16255 __extension__ extern __inline float64x1x2_t
16256 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f64_x2(const float64_t * __a)16257 vld1_f64_x2 (const float64_t *__a)
16258 {
16259   float64x1x2_t ret;
16260   __builtin_aarch64_simd_oi __o;
16261   __o = __builtin_aarch64_ld1x2df ((const __builtin_aarch64_simd_df *) __a);
16262   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 0)};
16263   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 1)};
16264   return ret;
16265 }
16266 
16267 __extension__ extern __inline poly8x8x2_t
16268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8_x2(const poly8_t * __a)16269 vld1_p8_x2 (const poly8_t *__a)
16270 {
16271   poly8x8x2_t ret;
16272   __builtin_aarch64_simd_oi __o;
16273   __o = __builtin_aarch64_ld1x2v8qi ((const __builtin_aarch64_simd_qi *) __a);
16274   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
16275   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
16276   return ret;
16277 }
16278 
16279 __extension__ extern __inline poly16x4x2_t
16280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16_x2(const poly16_t * __a)16281 vld1_p16_x2 (const poly16_t *__a)
16282 {
16283   poly16x4x2_t ret;
16284   __builtin_aarch64_simd_oi __o;
16285   __o = __builtin_aarch64_ld1x2v4hi ((const __builtin_aarch64_simd_hi *) __a);
16286   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
16287   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
16288   return ret;
16289 }
16290 
16291 __extension__ extern __inline poly64x1x2_t
16292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64_x2(const poly64_t * __a)16293 vld1_p64_x2 (const poly64_t *__a)
16294 {
16295   poly64x1x2_t ret;
16296   __builtin_aarch64_simd_oi __o;
16297   __o = __builtin_aarch64_ld1x2di ((const __builtin_aarch64_simd_di *) __a);
16298   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
16299   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
16300   return ret;
16301 }
16302 
16303 __extension__ extern __inline uint8x16x2_t
16304 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8_x2(const uint8_t * __a)16305 vld1q_u8_x2 (const uint8_t *__a)
16306 {
16307   uint8x16x2_t ret;
16308   __builtin_aarch64_simd_oi __o;
16309   __o = __builtin_aarch64_ld1x2v16qi ((const __builtin_aarch64_simd_qi *) __a);
16310   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
16311   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
16312   return ret;
16313 }
16314 
16315 __extension__ extern __inline int8x16x2_t
16316 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8_x2(const int8_t * __a)16317 vld1q_s8_x2 (const int8_t *__a)
16318 {
16319   int8x16x2_t ret;
16320   __builtin_aarch64_simd_oi __o;
16321   __o = __builtin_aarch64_ld1x2v16qi ((const __builtin_aarch64_simd_qi *) __a);
16322   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
16323   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
16324   return ret;
16325 }
16326 
16327 __extension__ extern __inline uint16x8x2_t
16328 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16_x2(const uint16_t * __a)16329 vld1q_u16_x2 (const uint16_t *__a)
16330 {
16331   uint16x8x2_t ret;
16332   __builtin_aarch64_simd_oi __o;
16333   __o = __builtin_aarch64_ld1x2v8hi ((const __builtin_aarch64_simd_hi *) __a);
16334   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
16335   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
16336   return ret;
16337 }
16338 
16339 __extension__ extern __inline int16x8x2_t
16340 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16_x2(const int16_t * __a)16341 vld1q_s16_x2 (const int16_t *__a)
16342 {
16343   int16x8x2_t ret;
16344   __builtin_aarch64_simd_oi __o;
16345   __o = __builtin_aarch64_ld1x2v8hi ((const __builtin_aarch64_simd_hi *) __a);
16346   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
16347   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
16348   return ret;
16349 }
16350 
16351 __extension__ extern __inline uint32x4x2_t
16352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32_x2(const uint32_t * __a)16353 vld1q_u32_x2 (const uint32_t *__a)
16354 {
16355   uint32x4x2_t ret;
16356   __builtin_aarch64_simd_oi __o;
16357   __o = __builtin_aarch64_ld1x2v4si ((const __builtin_aarch64_simd_si *) __a);
16358   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
16359   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
16360   return ret;
16361 }
16362 
16363 __extension__ extern __inline int32x4x2_t
16364 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32_x2(const int32_t * __a)16365 vld1q_s32_x2 (const int32_t *__a)
16366 {
16367   int32x4x2_t ret;
16368   __builtin_aarch64_simd_oi __o;
16369   __o = __builtin_aarch64_ld1x2v4si ((const __builtin_aarch64_simd_si *) __a);
16370   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
16371   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
16372   return ret;
16373 }
16374 
16375 __extension__ extern __inline uint64x2x2_t
16376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64_x2(const uint64_t * __a)16377 vld1q_u64_x2 (const uint64_t *__a)
16378 {
16379   uint64x2x2_t ret;
16380   __builtin_aarch64_simd_oi __o;
16381   __o = __builtin_aarch64_ld1x2v2di ((const __builtin_aarch64_simd_di *) __a);
16382   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
16383   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
16384   return ret;
16385 }
16386 
16387 __extension__ extern __inline int64x2x2_t
16388 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64_x2(const int64_t * __a)16389 vld1q_s64_x2 (const int64_t *__a)
16390 {
16391   int64x2x2_t ret;
16392   __builtin_aarch64_simd_oi __o;
16393   __o = __builtin_aarch64_ld1x2v2di ((const __builtin_aarch64_simd_di *) __a);
16394   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
16395   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
16396   return ret;
16397 }
16398 
16399 __extension__ extern __inline float16x8x2_t
16400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16_x2(const float16_t * __a)16401 vld1q_f16_x2 (const float16_t *__a)
16402 {
16403   float16x8x2_t ret;
16404   __builtin_aarch64_simd_oi __o;
16405   __o = __builtin_aarch64_ld1x2v8hf ((const __builtin_aarch64_simd_hf *) __a);
16406   ret.val[0] = (float16x8_t) __builtin_aarch64_get_qregoiv8hf (__o, 0);
16407   ret.val[1] = (float16x8_t) __builtin_aarch64_get_qregoiv8hf (__o, 1);
16408   return ret;
16409 }
16410 
16411 __extension__ extern __inline float32x4x2_t
16412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32_x2(const float32_t * __a)16413 vld1q_f32_x2 (const float32_t *__a)
16414 {
16415   float32x4x2_t ret;
16416   __builtin_aarch64_simd_oi __o;
16417   __o = __builtin_aarch64_ld1x2v4sf ((const __builtin_aarch64_simd_sf *) __a);
16418   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 0);
16419   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 1);
16420   return ret;
16421 }
16422 
16423 __extension__ extern __inline float64x2x2_t
16424 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f64_x2(const float64_t * __a)16425 vld1q_f64_x2 (const float64_t *__a)
16426 {
16427   float64x2x2_t ret;
16428   __builtin_aarch64_simd_oi __o;
16429   __o = __builtin_aarch64_ld1x2v2df ((const __builtin_aarch64_simd_df *) __a);
16430   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 0);
16431   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 1);
16432   return ret;
16433 }
16434 
16435 __extension__ extern __inline poly8x16x2_t
16436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8_x2(const poly8_t * __a)16437 vld1q_p8_x2 (const poly8_t *__a)
16438 {
16439   poly8x16x2_t ret;
16440   __builtin_aarch64_simd_oi __o;
16441   __o = __builtin_aarch64_ld1x2v16qi ((const __builtin_aarch64_simd_qi *) __a);
16442   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
16443   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
16444   return ret;
16445 }
16446 
16447 __extension__ extern __inline poly16x8x2_t
16448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16_x2(const poly16_t * __a)16449 vld1q_p16_x2 (const poly16_t *__a)
16450 {
16451   poly16x8x2_t ret;
16452   __builtin_aarch64_simd_oi __o;
16453   __o = __builtin_aarch64_ld1x2v8hi ((const __builtin_aarch64_simd_hi *) __a);
16454   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
16455   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
16456   return ret;
16457 }
16458 
16459 __extension__ extern __inline poly64x2x2_t
16460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64_x2(const poly64_t * __a)16461 vld1q_p64_x2 (const poly64_t *__a)
16462 {
16463   poly64x2x2_t ret;
16464   __builtin_aarch64_simd_oi __o;
16465   __o = __builtin_aarch64_ld1x2v2di ((const __builtin_aarch64_simd_di *) __a);
16466   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
16467   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
16468   return ret;
16469 }
16470 
16471 __extension__ extern __inline uint16x8_t
16472 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16(const uint16_t * __a)16473 vld1q_u16 (const uint16_t *__a)
16474 {
16475   return (uint16x8_t)
16476     __builtin_aarch64_ld1v8hi ((const __builtin_aarch64_simd_hi *) __a);
16477 }
16478 
16479 __extension__ extern __inline uint32x4_t
16480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32(const uint32_t * __a)16481 vld1q_u32 (const uint32_t *__a)
16482 {
16483   return (uint32x4_t)
16484     __builtin_aarch64_ld1v4si ((const __builtin_aarch64_simd_si *) __a);
16485 }
16486 
16487 __extension__ extern __inline uint64x2_t
16488 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64(const uint64_t * __a)16489 vld1q_u64 (const uint64_t *__a)
16490 {
16491   return (uint64x2_t)
16492     __builtin_aarch64_ld1v2di ((const __builtin_aarch64_simd_di *) __a);
16493 }
16494 
16495 /* vld1(q)_x4.  */
16496 
16497 __extension__ extern __inline int8x8x4_t
16498 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s8_x4(const int8_t * __a)16499 vld1_s8_x4 (const int8_t *__a)
16500 {
16501   union { int8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16502   __au.__o
16503     = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
16504   return __au.__i;
16505 }
16506 
16507 __extension__ extern __inline int8x16x4_t
16508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s8_x4(const int8_t * __a)16509 vld1q_s8_x4 (const int8_t *__a)
16510 {
16511   union { int8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16512   __au.__o
16513     = __builtin_aarch64_ld1x4v16qi ((const __builtin_aarch64_simd_qi *) __a);
16514   return __au.__i;
16515 }
16516 
16517 __extension__ extern __inline int16x4x4_t
16518 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s16_x4(const int16_t * __a)16519 vld1_s16_x4 (const int16_t *__a)
16520 {
16521   union { int16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16522   __au.__o
16523     = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
16524   return __au.__i;
16525 }
16526 
16527 __extension__ extern __inline int16x8x4_t
16528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s16_x4(const int16_t * __a)16529 vld1q_s16_x4 (const int16_t *__a)
16530 {
16531   union { int16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16532   __au.__o
16533     = __builtin_aarch64_ld1x4v8hi ((const __builtin_aarch64_simd_hi *) __a);
16534   return __au.__i;
16535 }
16536 
16537 __extension__ extern __inline int32x2x4_t
16538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s32_x4(const int32_t * __a)16539 vld1_s32_x4 (const int32_t *__a)
16540 {
16541   union { int32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16542   __au.__o
16543   = __builtin_aarch64_ld1x4v2si ((const __builtin_aarch64_simd_si *) __a);
16544   return __au.__i;
16545 }
16546 
16547 __extension__ extern __inline int32x4x4_t
16548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s32_x4(const int32_t * __a)16549 vld1q_s32_x4 (const int32_t *__a)
16550 {
16551   union { int32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16552   __au.__o
16553   = __builtin_aarch64_ld1x4v4si ((const __builtin_aarch64_simd_si *) __a);
16554   return __au.__i;
16555 }
16556 
16557 __extension__ extern __inline uint8x8x4_t
16558 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u8_x4(const uint8_t * __a)16559 vld1_u8_x4 (const uint8_t *__a)
16560 {
16561   union { uint8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16562   __au.__o
16563     = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
16564   return __au.__i;
16565 }
16566 
16567 __extension__ extern __inline uint8x16x4_t
16568 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u8_x4(const uint8_t * __a)16569 vld1q_u8_x4 (const uint8_t *__a)
16570 {
16571   union { uint8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16572   __au.__o
16573     = __builtin_aarch64_ld1x4v16qi ((const __builtin_aarch64_simd_qi *) __a);
16574   return __au.__i;
16575 }
16576 
16577 __extension__ extern __inline uint16x4x4_t
16578 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u16_x4(const uint16_t * __a)16579 vld1_u16_x4 (const uint16_t *__a)
16580 {
16581   union { uint16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16582   __au.__o
16583     = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
16584   return __au.__i;
16585 }
16586 
16587 __extension__ extern __inline uint16x8x4_t
16588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u16_x4(const uint16_t * __a)16589 vld1q_u16_x4 (const uint16_t *__a)
16590 {
16591   union { uint16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16592   __au.__o
16593     = __builtin_aarch64_ld1x4v8hi ((const __builtin_aarch64_simd_hi *) __a);
16594   return __au.__i;
16595 }
16596 
16597 __extension__ extern __inline uint32x2x4_t
16598 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u32_x4(const uint32_t * __a)16599 vld1_u32_x4 (const uint32_t *__a)
16600 {
16601   union { uint32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16602   __au.__o
16603     = __builtin_aarch64_ld1x4v2si ((const __builtin_aarch64_simd_si *) __a);
16604   return __au.__i;
16605 }
16606 
16607 __extension__ extern __inline uint32x4x4_t
16608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u32_x4(const uint32_t * __a)16609 vld1q_u32_x4 (const uint32_t *__a)
16610 {
16611   union { uint32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16612   __au.__o
16613     = __builtin_aarch64_ld1x4v4si ((const __builtin_aarch64_simd_si *) __a);
16614   return __au.__i;
16615 }
16616 
16617 __extension__ extern __inline float16x4x4_t
16618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f16_x4(const float16_t * __a)16619 vld1_f16_x4 (const float16_t *__a)
16620 {
16621   union { float16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16622   __au.__o
16623     = __builtin_aarch64_ld1x4v4hf ((const __builtin_aarch64_simd_hf *) __a);
16624   return __au.__i;
16625 }
16626 
16627 __extension__ extern __inline float16x8x4_t
16628 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f16_x4(const float16_t * __a)16629 vld1q_f16_x4 (const float16_t *__a)
16630 {
16631   union { float16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16632   __au.__o
16633     = __builtin_aarch64_ld1x4v8hf ((const __builtin_aarch64_simd_hf *) __a);
16634   return __au.__i;
16635 }
16636 
16637 __extension__ extern __inline float32x2x4_t
16638 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f32_x4(const float32_t * __a)16639 vld1_f32_x4 (const float32_t *__a)
16640 {
16641   union { float32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16642   __au.__o
16643     = __builtin_aarch64_ld1x4v2sf ((const __builtin_aarch64_simd_sf *) __a);
16644   return __au.__i;
16645 }
16646 
16647 __extension__ extern __inline float32x4x4_t
16648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f32_x4(const float32_t * __a)16649 vld1q_f32_x4 (const float32_t *__a)
16650 {
16651   union { float32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16652   __au.__o
16653     = __builtin_aarch64_ld1x4v4sf ((const __builtin_aarch64_simd_sf *) __a);
16654   return __au.__i;
16655 }
16656 
16657 __extension__ extern __inline poly8x8x4_t
16658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p8_x4(const poly8_t * __a)16659 vld1_p8_x4 (const poly8_t *__a)
16660 {
16661   union { poly8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16662   __au.__o
16663     = __builtin_aarch64_ld1x4v8qi ((const __builtin_aarch64_simd_qi *) __a);
16664   return __au.__i;
16665 }
16666 
16667 __extension__ extern __inline poly8x16x4_t
16668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p8_x4(const poly8_t * __a)16669 vld1q_p8_x4 (const poly8_t *__a)
16670 {
16671   union { poly8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16672   __au.__o
16673     = __builtin_aarch64_ld1x4v16qi ((const __builtin_aarch64_simd_qi *) __a);
16674   return __au.__i;
16675 }
16676 
16677 __extension__ extern __inline poly16x4x4_t
16678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p16_x4(const poly16_t * __a)16679 vld1_p16_x4 (const poly16_t *__a)
16680 {
16681   union { poly16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16682   __au.__o
16683     = __builtin_aarch64_ld1x4v4hi ((const __builtin_aarch64_simd_hi *) __a);
16684   return __au.__i;
16685 }
16686 
16687 __extension__ extern __inline poly16x8x4_t
16688 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p16_x4(const poly16_t * __a)16689 vld1q_p16_x4 (const poly16_t *__a)
16690 {
16691   union { poly16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16692   __au.__o
16693     = __builtin_aarch64_ld1x4v8hi ((const __builtin_aarch64_simd_hi *) __a);
16694   return __au.__i;
16695 }
16696 
16697 __extension__ extern __inline int64x1x4_t
16698 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_s64_x4(const int64_t * __a)16699 vld1_s64_x4 (const int64_t *__a)
16700 {
16701   union { int64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16702   __au.__o
16703     = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
16704   return __au.__i;
16705 }
16706 
16707 __extension__ extern __inline uint64x1x4_t
16708 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_u64_x4(const uint64_t * __a)16709 vld1_u64_x4 (const uint64_t *__a)
16710 {
16711   union { uint64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16712   __au.__o
16713     = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
16714   return __au.__i;
16715 }
16716 
16717 __extension__ extern __inline poly64x1x4_t
16718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_p64_x4(const poly64_t * __a)16719 vld1_p64_x4 (const poly64_t *__a)
16720 {
16721   union { poly64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16722   __au.__o
16723     = __builtin_aarch64_ld1x4di ((const __builtin_aarch64_simd_di *) __a);
16724   return __au.__i;
16725 }
16726 
16727 __extension__ extern __inline int64x2x4_t
16728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_s64_x4(const int64_t * __a)16729 vld1q_s64_x4 (const int64_t *__a)
16730 {
16731   union { int64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16732   __au.__o
16733     = __builtin_aarch64_ld1x4v2di ((const __builtin_aarch64_simd_di *) __a);
16734   return __au.__i;
16735 }
16736 
16737 __extension__ extern __inline uint64x2x4_t
16738 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_u64_x4(const uint64_t * __a)16739 vld1q_u64_x4 (const uint64_t *__a)
16740 {
16741   union { uint64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16742   __au.__o
16743     = __builtin_aarch64_ld1x4v2di ((const __builtin_aarch64_simd_di *) __a);
16744   return __au.__i;
16745 }
16746 
16747 __extension__ extern __inline poly64x2x4_t
16748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_p64_x4(const poly64_t * __a)16749 vld1q_p64_x4 (const poly64_t *__a)
16750 {
16751   union { poly64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16752   __au.__o
16753     = __builtin_aarch64_ld1x4v2di ((const __builtin_aarch64_simd_di *) __a);
16754   return __au.__i;
16755 }
16756 
16757 __extension__ extern __inline float64x1x4_t
16758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_f64_x4(const float64_t * __a)16759 vld1_f64_x4 (const float64_t *__a)
16760 {
16761   union { float64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16762   __au.__o
16763     = __builtin_aarch64_ld1x4df ((const __builtin_aarch64_simd_df *) __a);
16764   return __au.__i;
16765 }
16766 
16767 __extension__ extern __inline float64x2x4_t
16768 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_f64_x4(const float64_t * __a)16769 vld1q_f64_x4 (const float64_t *__a)
16770 {
16771   union { float64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
16772   __au.__o
16773     = __builtin_aarch64_ld1x4v2df ((const __builtin_aarch64_simd_df *) __a);
16774   return __au.__i;
16775 }
16776 
16777 /* vld1_dup  */
16778 
16779 __extension__ extern __inline float16x4_t
16780 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_f16(const float16_t * __a)16781 vld1_dup_f16 (const float16_t* __a)
16782 {
16783   return vdup_n_f16 (*__a);
16784 }
16785 
16786 __extension__ extern __inline float32x2_t
16787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_f32(const float32_t * __a)16788 vld1_dup_f32 (const float32_t* __a)
16789 {
16790   return vdup_n_f32 (*__a);
16791 }
16792 
16793 __extension__ extern __inline float64x1_t
16794 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_f64(const float64_t * __a)16795 vld1_dup_f64 (const float64_t* __a)
16796 {
16797   return vdup_n_f64 (*__a);
16798 }
16799 
16800 __extension__ extern __inline poly8x8_t
16801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p8(const poly8_t * __a)16802 vld1_dup_p8 (const poly8_t* __a)
16803 {
16804   return vdup_n_p8 (*__a);
16805 }
16806 
16807 __extension__ extern __inline poly16x4_t
16808 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p16(const poly16_t * __a)16809 vld1_dup_p16 (const poly16_t* __a)
16810 {
16811   return vdup_n_p16 (*__a);
16812 }
16813 
16814 __extension__ extern __inline poly64x1_t
16815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_p64(const poly64_t * __a)16816 vld1_dup_p64 (const poly64_t* __a)
16817 {
16818   return vdup_n_p64 (*__a);
16819 }
16820 
16821 __extension__ extern __inline int8x8_t
16822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s8(const int8_t * __a)16823 vld1_dup_s8 (const int8_t* __a)
16824 {
16825   return vdup_n_s8 (*__a);
16826 }
16827 
16828 __extension__ extern __inline int16x4_t
16829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s16(const int16_t * __a)16830 vld1_dup_s16 (const int16_t* __a)
16831 {
16832   return vdup_n_s16 (*__a);
16833 }
16834 
16835 __extension__ extern __inline int32x2_t
16836 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s32(const int32_t * __a)16837 vld1_dup_s32 (const int32_t* __a)
16838 {
16839   return vdup_n_s32 (*__a);
16840 }
16841 
16842 __extension__ extern __inline int64x1_t
16843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_s64(const int64_t * __a)16844 vld1_dup_s64 (const int64_t* __a)
16845 {
16846   return vdup_n_s64 (*__a);
16847 }
16848 
16849 __extension__ extern __inline uint8x8_t
16850 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u8(const uint8_t * __a)16851 vld1_dup_u8 (const uint8_t* __a)
16852 {
16853   return vdup_n_u8 (*__a);
16854 }
16855 
16856 __extension__ extern __inline uint16x4_t
16857 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u16(const uint16_t * __a)16858 vld1_dup_u16 (const uint16_t* __a)
16859 {
16860   return vdup_n_u16 (*__a);
16861 }
16862 
16863 __extension__ extern __inline uint32x2_t
16864 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u32(const uint32_t * __a)16865 vld1_dup_u32 (const uint32_t* __a)
16866 {
16867   return vdup_n_u32 (*__a);
16868 }
16869 
16870 __extension__ extern __inline uint64x1_t
16871 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_u64(const uint64_t * __a)16872 vld1_dup_u64 (const uint64_t* __a)
16873 {
16874   return vdup_n_u64 (*__a);
16875 }
16876 
16877 /* vld1q_dup  */
16878 
16879 __extension__ extern __inline float16x8_t
16880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_f16(const float16_t * __a)16881 vld1q_dup_f16 (const float16_t* __a)
16882 {
16883   return vdupq_n_f16 (*__a);
16884 }
16885 
16886 __extension__ extern __inline float32x4_t
16887 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_f32(const float32_t * __a)16888 vld1q_dup_f32 (const float32_t* __a)
16889 {
16890   return vdupq_n_f32 (*__a);
16891 }
16892 
16893 __extension__ extern __inline float64x2_t
16894 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_f64(const float64_t * __a)16895 vld1q_dup_f64 (const float64_t* __a)
16896 {
16897   return vdupq_n_f64 (*__a);
16898 }
16899 
16900 __extension__ extern __inline poly8x16_t
16901 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p8(const poly8_t * __a)16902 vld1q_dup_p8 (const poly8_t* __a)
16903 {
16904   return vdupq_n_p8 (*__a);
16905 }
16906 
16907 __extension__ extern __inline poly16x8_t
16908 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p16(const poly16_t * __a)16909 vld1q_dup_p16 (const poly16_t* __a)
16910 {
16911   return vdupq_n_p16 (*__a);
16912 }
16913 
16914 __extension__ extern __inline poly64x2_t
16915 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_p64(const poly64_t * __a)16916 vld1q_dup_p64 (const poly64_t* __a)
16917 {
16918   return vdupq_n_p64 (*__a);
16919 }
16920 
16921  __extension__ extern __inline int8x16_t
16922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s8(const int8_t * __a)16923 vld1q_dup_s8 (const int8_t* __a)
16924 {
16925   return vdupq_n_s8 (*__a);
16926 }
16927 
16928 __extension__ extern __inline int16x8_t
16929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s16(const int16_t * __a)16930 vld1q_dup_s16 (const int16_t* __a)
16931 {
16932   return vdupq_n_s16 (*__a);
16933 }
16934 
16935 __extension__ extern __inline int32x4_t
16936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s32(const int32_t * __a)16937 vld1q_dup_s32 (const int32_t* __a)
16938 {
16939   return vdupq_n_s32 (*__a);
16940 }
16941 
16942 __extension__ extern __inline int64x2_t
16943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_s64(const int64_t * __a)16944 vld1q_dup_s64 (const int64_t* __a)
16945 {
16946   return vdupq_n_s64 (*__a);
16947 }
16948 
16949 __extension__ extern __inline uint8x16_t
16950 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u8(const uint8_t * __a)16951 vld1q_dup_u8 (const uint8_t* __a)
16952 {
16953   return vdupq_n_u8 (*__a);
16954 }
16955 
16956 __extension__ extern __inline uint16x8_t
16957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u16(const uint16_t * __a)16958 vld1q_dup_u16 (const uint16_t* __a)
16959 {
16960   return vdupq_n_u16 (*__a);
16961 }
16962 
16963 __extension__ extern __inline uint32x4_t
16964 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u32(const uint32_t * __a)16965 vld1q_dup_u32 (const uint32_t* __a)
16966 {
16967   return vdupq_n_u32 (*__a);
16968 }
16969 
16970 __extension__ extern __inline uint64x2_t
16971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_u64(const uint64_t * __a)16972 vld1q_dup_u64 (const uint64_t* __a)
16973 {
16974   return vdupq_n_u64 (*__a);
16975 }
16976 
16977 /* vld1_lane  */
16978 
16979 __extension__ extern __inline float16x4_t
16980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_f16(const float16_t * __src,float16x4_t __vec,const int __lane)16981 vld1_lane_f16 (const float16_t *__src, float16x4_t __vec, const int __lane)
16982 {
16983   return __aarch64_vset_lane_any (*__src, __vec, __lane);
16984 }
16985 
16986 __extension__ extern __inline float32x2_t
16987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_f32(const float32_t * __src,float32x2_t __vec,const int __lane)16988 vld1_lane_f32 (const float32_t *__src, float32x2_t __vec, const int __lane)
16989 {
16990   return __aarch64_vset_lane_any (*__src, __vec, __lane);
16991 }
16992 
16993 __extension__ extern __inline float64x1_t
16994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_f64(const float64_t * __src,float64x1_t __vec,const int __lane)16995 vld1_lane_f64 (const float64_t *__src, float64x1_t __vec, const int __lane)
16996 {
16997   return __aarch64_vset_lane_any (*__src, __vec, __lane);
16998 }
16999 
17000 __extension__ extern __inline poly8x8_t
17001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p8(const poly8_t * __src,poly8x8_t __vec,const int __lane)17002 vld1_lane_p8 (const poly8_t *__src, poly8x8_t __vec, const int __lane)
17003 {
17004   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17005 }
17006 
17007 __extension__ extern __inline poly16x4_t
17008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p16(const poly16_t * __src,poly16x4_t __vec,const int __lane)17009 vld1_lane_p16 (const poly16_t *__src, poly16x4_t __vec, const int __lane)
17010 {
17011   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17012 }
17013 
17014 __extension__ extern __inline poly64x1_t
17015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_p64(const poly64_t * __src,poly64x1_t __vec,const int __lane)17016 vld1_lane_p64 (const poly64_t *__src, poly64x1_t __vec, const int __lane)
17017 {
17018   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17019 }
17020 
17021 __extension__ extern __inline int8x8_t
17022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s8(const int8_t * __src,int8x8_t __vec,const int __lane)17023 vld1_lane_s8 (const int8_t *__src, int8x8_t __vec, const int __lane)
17024 {
17025   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17026 }
17027 
17028 __extension__ extern __inline int16x4_t
17029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s16(const int16_t * __src,int16x4_t __vec,const int __lane)17030 vld1_lane_s16 (const int16_t *__src, int16x4_t __vec, const int __lane)
17031 {
17032   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17033 }
17034 
17035 __extension__ extern __inline int32x2_t
17036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s32(const int32_t * __src,int32x2_t __vec,const int __lane)17037 vld1_lane_s32 (const int32_t *__src, int32x2_t __vec, const int __lane)
17038 {
17039   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17040 }
17041 
17042 __extension__ extern __inline int64x1_t
17043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_s64(const int64_t * __src,int64x1_t __vec,const int __lane)17044 vld1_lane_s64 (const int64_t *__src, int64x1_t __vec, const int __lane)
17045 {
17046   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17047 }
17048 
17049 __extension__ extern __inline uint8x8_t
17050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u8(const uint8_t * __src,uint8x8_t __vec,const int __lane)17051 vld1_lane_u8 (const uint8_t *__src, uint8x8_t __vec, const int __lane)
17052 {
17053   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17054 }
17055 
17056 __extension__ extern __inline uint16x4_t
17057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u16(const uint16_t * __src,uint16x4_t __vec,const int __lane)17058 vld1_lane_u16 (const uint16_t *__src, uint16x4_t __vec, const int __lane)
17059 {
17060   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17061 }
17062 
17063 __extension__ extern __inline uint32x2_t
17064 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u32(const uint32_t * __src,uint32x2_t __vec,const int __lane)17065 vld1_lane_u32 (const uint32_t *__src, uint32x2_t __vec, const int __lane)
17066 {
17067   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17068 }
17069 
17070 __extension__ extern __inline uint64x1_t
17071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_u64(const uint64_t * __src,uint64x1_t __vec,const int __lane)17072 vld1_lane_u64 (const uint64_t *__src, uint64x1_t __vec, const int __lane)
17073 {
17074   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17075 }
17076 
17077 /* vld1q_lane  */
17078 
17079 __extension__ extern __inline float16x8_t
17080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_f16(const float16_t * __src,float16x8_t __vec,const int __lane)17081 vld1q_lane_f16 (const float16_t *__src, float16x8_t __vec, const int __lane)
17082 {
17083   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17084 }
17085 
17086 __extension__ extern __inline float32x4_t
17087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_f32(const float32_t * __src,float32x4_t __vec,const int __lane)17088 vld1q_lane_f32 (const float32_t *__src, float32x4_t __vec, const int __lane)
17089 {
17090   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17091 }
17092 
17093 __extension__ extern __inline float64x2_t
17094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_f64(const float64_t * __src,float64x2_t __vec,const int __lane)17095 vld1q_lane_f64 (const float64_t *__src, float64x2_t __vec, const int __lane)
17096 {
17097   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17098 }
17099 
17100 __extension__ extern __inline poly8x16_t
17101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p8(const poly8_t * __src,poly8x16_t __vec,const int __lane)17102 vld1q_lane_p8 (const poly8_t *__src, poly8x16_t __vec, const int __lane)
17103 {
17104   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17105 }
17106 
17107 __extension__ extern __inline poly16x8_t
17108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p16(const poly16_t * __src,poly16x8_t __vec,const int __lane)17109 vld1q_lane_p16 (const poly16_t *__src, poly16x8_t __vec, const int __lane)
17110 {
17111   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17112 }
17113 
17114 __extension__ extern __inline poly64x2_t
17115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_p64(const poly64_t * __src,poly64x2_t __vec,const int __lane)17116 vld1q_lane_p64 (const poly64_t *__src, poly64x2_t __vec, const int __lane)
17117 {
17118   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17119 }
17120 
17121 __extension__ extern __inline int8x16_t
17122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s8(const int8_t * __src,int8x16_t __vec,const int __lane)17123 vld1q_lane_s8 (const int8_t *__src, int8x16_t __vec, const int __lane)
17124 {
17125   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17126 }
17127 
17128 __extension__ extern __inline int16x8_t
17129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s16(const int16_t * __src,int16x8_t __vec,const int __lane)17130 vld1q_lane_s16 (const int16_t *__src, int16x8_t __vec, const int __lane)
17131 {
17132   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17133 }
17134 
17135 __extension__ extern __inline int32x4_t
17136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s32(const int32_t * __src,int32x4_t __vec,const int __lane)17137 vld1q_lane_s32 (const int32_t *__src, int32x4_t __vec, const int __lane)
17138 {
17139   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17140 }
17141 
17142 __extension__ extern __inline int64x2_t
17143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_s64(const int64_t * __src,int64x2_t __vec,const int __lane)17144 vld1q_lane_s64 (const int64_t *__src, int64x2_t __vec, const int __lane)
17145 {
17146   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17147 }
17148 
17149 __extension__ extern __inline uint8x16_t
17150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u8(const uint8_t * __src,uint8x16_t __vec,const int __lane)17151 vld1q_lane_u8 (const uint8_t *__src, uint8x16_t __vec, const int __lane)
17152 {
17153   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17154 }
17155 
17156 __extension__ extern __inline uint16x8_t
17157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u16(const uint16_t * __src,uint16x8_t __vec,const int __lane)17158 vld1q_lane_u16 (const uint16_t *__src, uint16x8_t __vec, const int __lane)
17159 {
17160   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17161 }
17162 
17163 __extension__ extern __inline uint32x4_t
17164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u32(const uint32_t * __src,uint32x4_t __vec,const int __lane)17165 vld1q_lane_u32 (const uint32_t *__src, uint32x4_t __vec, const int __lane)
17166 {
17167   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17168 }
17169 
17170 __extension__ extern __inline uint64x2_t
17171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_u64(const uint64_t * __src,uint64x2_t __vec,const int __lane)17172 vld1q_lane_u64 (const uint64_t *__src, uint64x2_t __vec, const int __lane)
17173 {
17174   return __aarch64_vset_lane_any (*__src, __vec, __lane);
17175 }
17176 
17177 /* vldn */
17178 
17179 __extension__ extern __inline int64x1x2_t
17180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s64(const int64_t * __a)17181 vld2_s64 (const int64_t * __a)
17182 {
17183   int64x1x2_t ret;
17184   __builtin_aarch64_simd_oi __o;
17185   __o = __builtin_aarch64_ld2di ((const __builtin_aarch64_simd_di *) __a);
17186   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
17187   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
17188   return ret;
17189 }
17190 
17191 __extension__ extern __inline uint64x1x2_t
17192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u64(const uint64_t * __a)17193 vld2_u64 (const uint64_t * __a)
17194 {
17195   uint64x1x2_t ret;
17196   __builtin_aarch64_simd_oi __o;
17197   __o = __builtin_aarch64_ld2di ((const __builtin_aarch64_simd_di *) __a);
17198   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
17199   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
17200   return ret;
17201 }
17202 
17203 __extension__ extern __inline float64x1x2_t
17204 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_f64(const float64_t * __a)17205 vld2_f64 (const float64_t * __a)
17206 {
17207   float64x1x2_t ret;
17208   __builtin_aarch64_simd_oi __o;
17209   __o = __builtin_aarch64_ld2df ((const __builtin_aarch64_simd_df *) __a);
17210   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 0)};
17211   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 1)};
17212   return ret;
17213 }
17214 
17215 __extension__ extern __inline int8x8x2_t
17216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s8(const int8_t * __a)17217 vld2_s8 (const int8_t * __a)
17218 {
17219   int8x8x2_t ret;
17220   __builtin_aarch64_simd_oi __o;
17221   __o = __builtin_aarch64_ld2v8qi ((const __builtin_aarch64_simd_qi *) __a);
17222   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
17223   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
17224   return ret;
17225 }
17226 
17227 __extension__ extern __inline poly8x8x2_t
17228 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p8(const poly8_t * __a)17229 vld2_p8 (const poly8_t * __a)
17230 {
17231   poly8x8x2_t ret;
17232   __builtin_aarch64_simd_oi __o;
17233   __o = __builtin_aarch64_ld2v8qi ((const __builtin_aarch64_simd_qi *) __a);
17234   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
17235   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
17236   return ret;
17237 }
17238 
17239 __extension__ extern __inline poly64x1x2_t
17240 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p64(const poly64_t * __a)17241 vld2_p64 (const poly64_t * __a)
17242 {
17243   poly64x1x2_t ret;
17244   __builtin_aarch64_simd_oi __o;
17245   __o = __builtin_aarch64_ld2di ((const __builtin_aarch64_simd_di *) __a);
17246   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregoidi_pss (__o, 0);
17247   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregoidi_pss (__o, 1);
17248   return ret;
17249 }
17250 
17251 __extension__ extern __inline int16x4x2_t
17252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s16(const int16_t * __a)17253 vld2_s16 (const int16_t * __a)
17254 {
17255   int16x4x2_t ret;
17256   __builtin_aarch64_simd_oi __o;
17257   __o = __builtin_aarch64_ld2v4hi ((const __builtin_aarch64_simd_hi *) __a);
17258   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
17259   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
17260   return ret;
17261 }
17262 
17263 __extension__ extern __inline poly16x4x2_t
17264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_p16(const poly16_t * __a)17265 vld2_p16 (const poly16_t * __a)
17266 {
17267   poly16x4x2_t ret;
17268   __builtin_aarch64_simd_oi __o;
17269   __o = __builtin_aarch64_ld2v4hi ((const __builtin_aarch64_simd_hi *) __a);
17270   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
17271   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
17272   return ret;
17273 }
17274 
17275 __extension__ extern __inline int32x2x2_t
17276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_s32(const int32_t * __a)17277 vld2_s32 (const int32_t * __a)
17278 {
17279   int32x2x2_t ret;
17280   __builtin_aarch64_simd_oi __o;
17281   __o = __builtin_aarch64_ld2v2si ((const __builtin_aarch64_simd_si *) __a);
17282   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
17283   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
17284   return ret;
17285 }
17286 
17287 __extension__ extern __inline uint8x8x2_t
17288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u8(const uint8_t * __a)17289 vld2_u8 (const uint8_t * __a)
17290 {
17291   uint8x8x2_t ret;
17292   __builtin_aarch64_simd_oi __o;
17293   __o = __builtin_aarch64_ld2v8qi ((const __builtin_aarch64_simd_qi *) __a);
17294   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
17295   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
17296   return ret;
17297 }
17298 
17299 __extension__ extern __inline uint16x4x2_t
17300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u16(const uint16_t * __a)17301 vld2_u16 (const uint16_t * __a)
17302 {
17303   uint16x4x2_t ret;
17304   __builtin_aarch64_simd_oi __o;
17305   __o = __builtin_aarch64_ld2v4hi ((const __builtin_aarch64_simd_hi *) __a);
17306   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
17307   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
17308   return ret;
17309 }
17310 
17311 __extension__ extern __inline uint32x2x2_t
17312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_u32(const uint32_t * __a)17313 vld2_u32 (const uint32_t * __a)
17314 {
17315   uint32x2x2_t ret;
17316   __builtin_aarch64_simd_oi __o;
17317   __o = __builtin_aarch64_ld2v2si ((const __builtin_aarch64_simd_si *) __a);
17318   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
17319   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
17320   return ret;
17321 }
17322 
17323 __extension__ extern __inline float16x4x2_t
17324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_f16(const float16_t * __a)17325 vld2_f16 (const float16_t * __a)
17326 {
17327   float16x4x2_t ret;
17328   __builtin_aarch64_simd_oi __o;
17329   __o = __builtin_aarch64_ld2v4hf (__a);
17330   ret.val[0] = __builtin_aarch64_get_dregoiv4hf (__o, 0);
17331   ret.val[1] = __builtin_aarch64_get_dregoiv4hf (__o, 1);
17332   return ret;
17333 }
17334 
17335 __extension__ extern __inline float32x2x2_t
17336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_f32(const float32_t * __a)17337 vld2_f32 (const float32_t * __a)
17338 {
17339   float32x2x2_t ret;
17340   __builtin_aarch64_simd_oi __o;
17341   __o = __builtin_aarch64_ld2v2sf ((const __builtin_aarch64_simd_sf *) __a);
17342   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 0);
17343   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 1);
17344   return ret;
17345 }
17346 
17347 __extension__ extern __inline int8x16x2_t
17348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s8(const int8_t * __a)17349 vld2q_s8 (const int8_t * __a)
17350 {
17351   int8x16x2_t ret;
17352   __builtin_aarch64_simd_oi __o;
17353   __o = __builtin_aarch64_ld2v16qi ((const __builtin_aarch64_simd_qi *) __a);
17354   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
17355   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
17356   return ret;
17357 }
17358 
17359 __extension__ extern __inline poly8x16x2_t
17360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_p8(const poly8_t * __a)17361 vld2q_p8 (const poly8_t * __a)
17362 {
17363   poly8x16x2_t ret;
17364   __builtin_aarch64_simd_oi __o;
17365   __o = __builtin_aarch64_ld2v16qi ((const __builtin_aarch64_simd_qi *) __a);
17366   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
17367   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
17368   return ret;
17369 }
17370 
17371 __extension__ extern __inline int16x8x2_t
17372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s16(const int16_t * __a)17373 vld2q_s16 (const int16_t * __a)
17374 {
17375   int16x8x2_t ret;
17376   __builtin_aarch64_simd_oi __o;
17377   __o = __builtin_aarch64_ld2v8hi ((const __builtin_aarch64_simd_hi *) __a);
17378   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
17379   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
17380   return ret;
17381 }
17382 
17383 __extension__ extern __inline poly16x8x2_t
17384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_p16(const poly16_t * __a)17385 vld2q_p16 (const poly16_t * __a)
17386 {
17387   poly16x8x2_t ret;
17388   __builtin_aarch64_simd_oi __o;
17389   __o = __builtin_aarch64_ld2v8hi ((const __builtin_aarch64_simd_hi *) __a);
17390   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
17391   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
17392   return ret;
17393 }
17394 
17395 __extension__ extern __inline poly64x2x2_t
17396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_p64(const poly64_t * __a)17397 vld2q_p64 (const poly64_t * __a)
17398 {
17399   poly64x2x2_t ret;
17400   __builtin_aarch64_simd_oi __o;
17401   __o = __builtin_aarch64_ld2v2di ((const __builtin_aarch64_simd_di *) __a);
17402   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di_pss (__o, 0);
17403   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di_pss (__o, 1);
17404   return ret;
17405 }
17406 
17407 __extension__ extern __inline int32x4x2_t
17408 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s32(const int32_t * __a)17409 vld2q_s32 (const int32_t * __a)
17410 {
17411   int32x4x2_t ret;
17412   __builtin_aarch64_simd_oi __o;
17413   __o = __builtin_aarch64_ld2v4si ((const __builtin_aarch64_simd_si *) __a);
17414   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
17415   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
17416   return ret;
17417 }
17418 
17419 __extension__ extern __inline int64x2x2_t
17420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_s64(const int64_t * __a)17421 vld2q_s64 (const int64_t * __a)
17422 {
17423   int64x2x2_t ret;
17424   __builtin_aarch64_simd_oi __o;
17425   __o = __builtin_aarch64_ld2v2di ((const __builtin_aarch64_simd_di *) __a);
17426   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
17427   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
17428   return ret;
17429 }
17430 
17431 __extension__ extern __inline uint8x16x2_t
17432 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u8(const uint8_t * __a)17433 vld2q_u8 (const uint8_t * __a)
17434 {
17435   uint8x16x2_t ret;
17436   __builtin_aarch64_simd_oi __o;
17437   __o = __builtin_aarch64_ld2v16qi ((const __builtin_aarch64_simd_qi *) __a);
17438   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
17439   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
17440   return ret;
17441 }
17442 
17443 __extension__ extern __inline uint16x8x2_t
17444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u16(const uint16_t * __a)17445 vld2q_u16 (const uint16_t * __a)
17446 {
17447   uint16x8x2_t ret;
17448   __builtin_aarch64_simd_oi __o;
17449   __o = __builtin_aarch64_ld2v8hi ((const __builtin_aarch64_simd_hi *) __a);
17450   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
17451   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
17452   return ret;
17453 }
17454 
17455 __extension__ extern __inline uint32x4x2_t
17456 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u32(const uint32_t * __a)17457 vld2q_u32 (const uint32_t * __a)
17458 {
17459   uint32x4x2_t ret;
17460   __builtin_aarch64_simd_oi __o;
17461   __o = __builtin_aarch64_ld2v4si ((const __builtin_aarch64_simd_si *) __a);
17462   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
17463   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
17464   return ret;
17465 }
17466 
17467 __extension__ extern __inline uint64x2x2_t
17468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_u64(const uint64_t * __a)17469 vld2q_u64 (const uint64_t * __a)
17470 {
17471   uint64x2x2_t ret;
17472   __builtin_aarch64_simd_oi __o;
17473   __o = __builtin_aarch64_ld2v2di ((const __builtin_aarch64_simd_di *) __a);
17474   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
17475   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
17476   return ret;
17477 }
17478 
17479 __extension__ extern __inline float16x8x2_t
17480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_f16(const float16_t * __a)17481 vld2q_f16 (const float16_t * __a)
17482 {
17483   float16x8x2_t ret;
17484   __builtin_aarch64_simd_oi __o;
17485   __o = __builtin_aarch64_ld2v8hf (__a);
17486   ret.val[0] = __builtin_aarch64_get_qregoiv8hf (__o, 0);
17487   ret.val[1] = __builtin_aarch64_get_qregoiv8hf (__o, 1);
17488   return ret;
17489 }
17490 
17491 __extension__ extern __inline float32x4x2_t
17492 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_f32(const float32_t * __a)17493 vld2q_f32 (const float32_t * __a)
17494 {
17495   float32x4x2_t ret;
17496   __builtin_aarch64_simd_oi __o;
17497   __o = __builtin_aarch64_ld2v4sf ((const __builtin_aarch64_simd_sf *) __a);
17498   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 0);
17499   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 1);
17500   return ret;
17501 }
17502 
17503 __extension__ extern __inline float64x2x2_t
17504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_f64(const float64_t * __a)17505 vld2q_f64 (const float64_t * __a)
17506 {
17507   float64x2x2_t ret;
17508   __builtin_aarch64_simd_oi __o;
17509   __o = __builtin_aarch64_ld2v2df ((const __builtin_aarch64_simd_df *) __a);
17510   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 0);
17511   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 1);
17512   return ret;
17513 }
17514 
17515 __extension__ extern __inline int64x1x3_t
17516 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s64(const int64_t * __a)17517 vld3_s64 (const int64_t * __a)
17518 {
17519   int64x1x3_t ret;
17520   __builtin_aarch64_simd_ci __o;
17521   __o = __builtin_aarch64_ld3di ((const __builtin_aarch64_simd_di *) __a);
17522   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
17523   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
17524   ret.val[2] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
17525   return ret;
17526 }
17527 
17528 __extension__ extern __inline uint64x1x3_t
17529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u64(const uint64_t * __a)17530 vld3_u64 (const uint64_t * __a)
17531 {
17532   uint64x1x3_t ret;
17533   __builtin_aarch64_simd_ci __o;
17534   __o = __builtin_aarch64_ld3di ((const __builtin_aarch64_simd_di *) __a);
17535   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
17536   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
17537   ret.val[2] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
17538   return ret;
17539 }
17540 
17541 __extension__ extern __inline float64x1x3_t
17542 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_f64(const float64_t * __a)17543 vld3_f64 (const float64_t * __a)
17544 {
17545   float64x1x3_t ret;
17546   __builtin_aarch64_simd_ci __o;
17547   __o = __builtin_aarch64_ld3df ((const __builtin_aarch64_simd_df *) __a);
17548   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 0)};
17549   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 1)};
17550   ret.val[2] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 2)};
17551   return ret;
17552 }
17553 
17554 __extension__ extern __inline int8x8x3_t
17555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s8(const int8_t * __a)17556 vld3_s8 (const int8_t * __a)
17557 {
17558   int8x8x3_t ret;
17559   __builtin_aarch64_simd_ci __o;
17560   __o = __builtin_aarch64_ld3v8qi ((const __builtin_aarch64_simd_qi *) __a);
17561   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
17562   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
17563   ret.val[2] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
17564   return ret;
17565 }
17566 
17567 __extension__ extern __inline poly8x8x3_t
17568 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p8(const poly8_t * __a)17569 vld3_p8 (const poly8_t * __a)
17570 {
17571   poly8x8x3_t ret;
17572   __builtin_aarch64_simd_ci __o;
17573   __o = __builtin_aarch64_ld3v8qi ((const __builtin_aarch64_simd_qi *) __a);
17574   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
17575   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
17576   ret.val[2] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
17577   return ret;
17578 }
17579 
17580 __extension__ extern __inline int16x4x3_t
17581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s16(const int16_t * __a)17582 vld3_s16 (const int16_t * __a)
17583 {
17584   int16x4x3_t ret;
17585   __builtin_aarch64_simd_ci __o;
17586   __o = __builtin_aarch64_ld3v4hi ((const __builtin_aarch64_simd_hi *) __a);
17587   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
17588   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
17589   ret.val[2] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
17590   return ret;
17591 }
17592 
17593 __extension__ extern __inline poly16x4x3_t
17594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p16(const poly16_t * __a)17595 vld3_p16 (const poly16_t * __a)
17596 {
17597   poly16x4x3_t ret;
17598   __builtin_aarch64_simd_ci __o;
17599   __o = __builtin_aarch64_ld3v4hi ((const __builtin_aarch64_simd_hi *) __a);
17600   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
17601   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
17602   ret.val[2] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
17603   return ret;
17604 }
17605 
17606 __extension__ extern __inline int32x2x3_t
17607 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_s32(const int32_t * __a)17608 vld3_s32 (const int32_t * __a)
17609 {
17610   int32x2x3_t ret;
17611   __builtin_aarch64_simd_ci __o;
17612   __o = __builtin_aarch64_ld3v2si ((const __builtin_aarch64_simd_si *) __a);
17613   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 0);
17614   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 1);
17615   ret.val[2] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 2);
17616   return ret;
17617 }
17618 
17619 __extension__ extern __inline uint8x8x3_t
17620 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u8(const uint8_t * __a)17621 vld3_u8 (const uint8_t * __a)
17622 {
17623   uint8x8x3_t ret;
17624   __builtin_aarch64_simd_ci __o;
17625   __o = __builtin_aarch64_ld3v8qi ((const __builtin_aarch64_simd_qi *) __a);
17626   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
17627   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
17628   ret.val[2] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
17629   return ret;
17630 }
17631 
17632 __extension__ extern __inline uint16x4x3_t
17633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u16(const uint16_t * __a)17634 vld3_u16 (const uint16_t * __a)
17635 {
17636   uint16x4x3_t ret;
17637   __builtin_aarch64_simd_ci __o;
17638   __o = __builtin_aarch64_ld3v4hi ((const __builtin_aarch64_simd_hi *) __a);
17639   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
17640   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
17641   ret.val[2] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
17642   return ret;
17643 }
17644 
17645 __extension__ extern __inline uint32x2x3_t
17646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_u32(const uint32_t * __a)17647 vld3_u32 (const uint32_t * __a)
17648 {
17649   uint32x2x3_t ret;
17650   __builtin_aarch64_simd_ci __o;
17651   __o = __builtin_aarch64_ld3v2si ((const __builtin_aarch64_simd_si *) __a);
17652   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 0);
17653   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 1);
17654   ret.val[2] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 2);
17655   return ret;
17656 }
17657 
17658 __extension__ extern __inline float16x4x3_t
17659 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_f16(const float16_t * __a)17660 vld3_f16 (const float16_t * __a)
17661 {
17662   float16x4x3_t ret;
17663   __builtin_aarch64_simd_ci __o;
17664   __o = __builtin_aarch64_ld3v4hf (__a);
17665   ret.val[0] = __builtin_aarch64_get_dregciv4hf (__o, 0);
17666   ret.val[1] = __builtin_aarch64_get_dregciv4hf (__o, 1);
17667   ret.val[2] = __builtin_aarch64_get_dregciv4hf (__o, 2);
17668   return ret;
17669 }
17670 
17671 __extension__ extern __inline float32x2x3_t
17672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_f32(const float32_t * __a)17673 vld3_f32 (const float32_t * __a)
17674 {
17675   float32x2x3_t ret;
17676   __builtin_aarch64_simd_ci __o;
17677   __o = __builtin_aarch64_ld3v2sf ((const __builtin_aarch64_simd_sf *) __a);
17678   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 0);
17679   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 1);
17680   ret.val[2] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 2);
17681   return ret;
17682 }
17683 
17684 __extension__ extern __inline poly64x1x3_t
17685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_p64(const poly64_t * __a)17686 vld3_p64 (const poly64_t * __a)
17687 {
17688   poly64x1x3_t ret;
17689   __builtin_aarch64_simd_ci __o;
17690   __o = __builtin_aarch64_ld3di ((const __builtin_aarch64_simd_di *) __a);
17691   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 0);
17692   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 1);
17693   ret.val[2] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 2);
17694   return ret;
17695 }
17696 
17697 __extension__ extern __inline int8x16x3_t
17698 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s8(const int8_t * __a)17699 vld3q_s8 (const int8_t * __a)
17700 {
17701   int8x16x3_t ret;
17702   __builtin_aarch64_simd_ci __o;
17703   __o = __builtin_aarch64_ld3v16qi ((const __builtin_aarch64_simd_qi *) __a);
17704   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
17705   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
17706   ret.val[2] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
17707   return ret;
17708 }
17709 
17710 __extension__ extern __inline poly8x16x3_t
17711 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_p8(const poly8_t * __a)17712 vld3q_p8 (const poly8_t * __a)
17713 {
17714   poly8x16x3_t ret;
17715   __builtin_aarch64_simd_ci __o;
17716   __o = __builtin_aarch64_ld3v16qi ((const __builtin_aarch64_simd_qi *) __a);
17717   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
17718   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
17719   ret.val[2] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
17720   return ret;
17721 }
17722 
17723 __extension__ extern __inline int16x8x3_t
17724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s16(const int16_t * __a)17725 vld3q_s16 (const int16_t * __a)
17726 {
17727   int16x8x3_t ret;
17728   __builtin_aarch64_simd_ci __o;
17729   __o = __builtin_aarch64_ld3v8hi ((const __builtin_aarch64_simd_hi *) __a);
17730   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
17731   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
17732   ret.val[2] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
17733   return ret;
17734 }
17735 
17736 __extension__ extern __inline poly16x8x3_t
17737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_p16(const poly16_t * __a)17738 vld3q_p16 (const poly16_t * __a)
17739 {
17740   poly16x8x3_t ret;
17741   __builtin_aarch64_simd_ci __o;
17742   __o = __builtin_aarch64_ld3v8hi ((const __builtin_aarch64_simd_hi *) __a);
17743   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
17744   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
17745   ret.val[2] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
17746   return ret;
17747 }
17748 
17749 __extension__ extern __inline int32x4x3_t
17750 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s32(const int32_t * __a)17751 vld3q_s32 (const int32_t * __a)
17752 {
17753   int32x4x3_t ret;
17754   __builtin_aarch64_simd_ci __o;
17755   __o = __builtin_aarch64_ld3v4si ((const __builtin_aarch64_simd_si *) __a);
17756   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 0);
17757   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 1);
17758   ret.val[2] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 2);
17759   return ret;
17760 }
17761 
17762 __extension__ extern __inline int64x2x3_t
17763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_s64(const int64_t * __a)17764 vld3q_s64 (const int64_t * __a)
17765 {
17766   int64x2x3_t ret;
17767   __builtin_aarch64_simd_ci __o;
17768   __o = __builtin_aarch64_ld3v2di ((const __builtin_aarch64_simd_di *) __a);
17769   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 0);
17770   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 1);
17771   ret.val[2] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 2);
17772   return ret;
17773 }
17774 
17775 __extension__ extern __inline uint8x16x3_t
17776 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u8(const uint8_t * __a)17777 vld3q_u8 (const uint8_t * __a)
17778 {
17779   uint8x16x3_t ret;
17780   __builtin_aarch64_simd_ci __o;
17781   __o = __builtin_aarch64_ld3v16qi ((const __builtin_aarch64_simd_qi *) __a);
17782   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
17783   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
17784   ret.val[2] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
17785   return ret;
17786 }
17787 
17788 __extension__ extern __inline uint16x8x3_t
17789 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u16(const uint16_t * __a)17790 vld3q_u16 (const uint16_t * __a)
17791 {
17792   uint16x8x3_t ret;
17793   __builtin_aarch64_simd_ci __o;
17794   __o = __builtin_aarch64_ld3v8hi ((const __builtin_aarch64_simd_hi *) __a);
17795   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
17796   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
17797   ret.val[2] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
17798   return ret;
17799 }
17800 
17801 __extension__ extern __inline uint32x4x3_t
17802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u32(const uint32_t * __a)17803 vld3q_u32 (const uint32_t * __a)
17804 {
17805   uint32x4x3_t ret;
17806   __builtin_aarch64_simd_ci __o;
17807   __o = __builtin_aarch64_ld3v4si ((const __builtin_aarch64_simd_si *) __a);
17808   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 0);
17809   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 1);
17810   ret.val[2] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 2);
17811   return ret;
17812 }
17813 
17814 __extension__ extern __inline uint64x2x3_t
17815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_u64(const uint64_t * __a)17816 vld3q_u64 (const uint64_t * __a)
17817 {
17818   uint64x2x3_t ret;
17819   __builtin_aarch64_simd_ci __o;
17820   __o = __builtin_aarch64_ld3v2di ((const __builtin_aarch64_simd_di *) __a);
17821   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 0);
17822   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 1);
17823   ret.val[2] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 2);
17824   return ret;
17825 }
17826 
17827 __extension__ extern __inline float16x8x3_t
17828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_f16(const float16_t * __a)17829 vld3q_f16 (const float16_t * __a)
17830 {
17831   float16x8x3_t ret;
17832   __builtin_aarch64_simd_ci __o;
17833   __o = __builtin_aarch64_ld3v8hf (__a);
17834   ret.val[0] = __builtin_aarch64_get_qregciv8hf (__o, 0);
17835   ret.val[1] = __builtin_aarch64_get_qregciv8hf (__o, 1);
17836   ret.val[2] = __builtin_aarch64_get_qregciv8hf (__o, 2);
17837   return ret;
17838 }
17839 
17840 __extension__ extern __inline float32x4x3_t
17841 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_f32(const float32_t * __a)17842 vld3q_f32 (const float32_t * __a)
17843 {
17844   float32x4x3_t ret;
17845   __builtin_aarch64_simd_ci __o;
17846   __o = __builtin_aarch64_ld3v4sf ((const __builtin_aarch64_simd_sf *) __a);
17847   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 0);
17848   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 1);
17849   ret.val[2] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 2);
17850   return ret;
17851 }
17852 
17853 __extension__ extern __inline float64x2x3_t
17854 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_f64(const float64_t * __a)17855 vld3q_f64 (const float64_t * __a)
17856 {
17857   float64x2x3_t ret;
17858   __builtin_aarch64_simd_ci __o;
17859   __o = __builtin_aarch64_ld3v2df ((const __builtin_aarch64_simd_df *) __a);
17860   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 0);
17861   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 1);
17862   ret.val[2] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 2);
17863   return ret;
17864 }
17865 
17866 __extension__ extern __inline poly64x2x3_t
17867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_p64(const poly64_t * __a)17868 vld3q_p64 (const poly64_t * __a)
17869 {
17870   poly64x2x3_t ret;
17871   __builtin_aarch64_simd_ci __o;
17872   __o = __builtin_aarch64_ld3v2di ((const __builtin_aarch64_simd_di *) __a);
17873   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 0);
17874   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 1);
17875   ret.val[2] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 2);
17876   return ret;
17877 }
17878 
17879 __extension__ extern __inline int64x1x4_t
17880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s64(const int64_t * __a)17881 vld4_s64 (const int64_t * __a)
17882 {
17883   int64x1x4_t ret;
17884   __builtin_aarch64_simd_xi __o;
17885   __o = __builtin_aarch64_ld4di ((const __builtin_aarch64_simd_di *) __a);
17886   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
17887   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
17888   ret.val[2] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
17889   ret.val[3] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
17890   return ret;
17891 }
17892 
17893 __extension__ extern __inline uint64x1x4_t
17894 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u64(const uint64_t * __a)17895 vld4_u64 (const uint64_t * __a)
17896 {
17897   uint64x1x4_t ret;
17898   __builtin_aarch64_simd_xi __o;
17899   __o = __builtin_aarch64_ld4di ((const __builtin_aarch64_simd_di *) __a);
17900   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
17901   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
17902   ret.val[2] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
17903   ret.val[3] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
17904   return ret;
17905 }
17906 
17907 __extension__ extern __inline float64x1x4_t
17908 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_f64(const float64_t * __a)17909 vld4_f64 (const float64_t * __a)
17910 {
17911   float64x1x4_t ret;
17912   __builtin_aarch64_simd_xi __o;
17913   __o = __builtin_aarch64_ld4df ((const __builtin_aarch64_simd_df *) __a);
17914   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 0)};
17915   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 1)};
17916   ret.val[2] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 2)};
17917   ret.val[3] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 3)};
17918   return ret;
17919 }
17920 
17921 __extension__ extern __inline int8x8x4_t
17922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s8(const int8_t * __a)17923 vld4_s8 (const int8_t * __a)
17924 {
17925   int8x8x4_t ret;
17926   __builtin_aarch64_simd_xi __o;
17927   __o = __builtin_aarch64_ld4v8qi ((const __builtin_aarch64_simd_qi *) __a);
17928   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
17929   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
17930   ret.val[2] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
17931   ret.val[3] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
17932   return ret;
17933 }
17934 
17935 __extension__ extern __inline poly8x8x4_t
17936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p8(const poly8_t * __a)17937 vld4_p8 (const poly8_t * __a)
17938 {
17939   poly8x8x4_t ret;
17940   __builtin_aarch64_simd_xi __o;
17941   __o = __builtin_aarch64_ld4v8qi ((const __builtin_aarch64_simd_qi *) __a);
17942   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
17943   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
17944   ret.val[2] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
17945   ret.val[3] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
17946   return ret;
17947 }
17948 
17949 __extension__ extern __inline int16x4x4_t
17950 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s16(const int16_t * __a)17951 vld4_s16 (const int16_t * __a)
17952 {
17953   int16x4x4_t ret;
17954   __builtin_aarch64_simd_xi __o;
17955   __o = __builtin_aarch64_ld4v4hi ((const __builtin_aarch64_simd_hi *) __a);
17956   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
17957   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
17958   ret.val[2] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
17959   ret.val[3] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
17960   return ret;
17961 }
17962 
17963 __extension__ extern __inline poly16x4x4_t
17964 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p16(const poly16_t * __a)17965 vld4_p16 (const poly16_t * __a)
17966 {
17967   poly16x4x4_t ret;
17968   __builtin_aarch64_simd_xi __o;
17969   __o = __builtin_aarch64_ld4v4hi ((const __builtin_aarch64_simd_hi *) __a);
17970   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
17971   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
17972   ret.val[2] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
17973   ret.val[3] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
17974   return ret;
17975 }
17976 
17977 __extension__ extern __inline int32x2x4_t
17978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_s32(const int32_t * __a)17979 vld4_s32 (const int32_t * __a)
17980 {
17981   int32x2x4_t ret;
17982   __builtin_aarch64_simd_xi __o;
17983   __o = __builtin_aarch64_ld4v2si ((const __builtin_aarch64_simd_si *) __a);
17984   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
17985   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
17986   ret.val[2] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
17987   ret.val[3] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
17988   return ret;
17989 }
17990 
17991 __extension__ extern __inline uint8x8x4_t
17992 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u8(const uint8_t * __a)17993 vld4_u8 (const uint8_t * __a)
17994 {
17995   uint8x8x4_t ret;
17996   __builtin_aarch64_simd_xi __o;
17997   __o = __builtin_aarch64_ld4v8qi ((const __builtin_aarch64_simd_qi *) __a);
17998   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
17999   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
18000   ret.val[2] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
18001   ret.val[3] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
18002   return ret;
18003 }
18004 
18005 __extension__ extern __inline uint16x4x4_t
18006 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u16(const uint16_t * __a)18007 vld4_u16 (const uint16_t * __a)
18008 {
18009   uint16x4x4_t ret;
18010   __builtin_aarch64_simd_xi __o;
18011   __o = __builtin_aarch64_ld4v4hi ((const __builtin_aarch64_simd_hi *) __a);
18012   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
18013   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
18014   ret.val[2] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
18015   ret.val[3] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
18016   return ret;
18017 }
18018 
18019 __extension__ extern __inline uint32x2x4_t
18020 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_u32(const uint32_t * __a)18021 vld4_u32 (const uint32_t * __a)
18022 {
18023   uint32x2x4_t ret;
18024   __builtin_aarch64_simd_xi __o;
18025   __o = __builtin_aarch64_ld4v2si ((const __builtin_aarch64_simd_si *) __a);
18026   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
18027   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
18028   ret.val[2] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
18029   ret.val[3] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
18030   return ret;
18031 }
18032 
18033 __extension__ extern __inline float16x4x4_t
18034 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_f16(const float16_t * __a)18035 vld4_f16 (const float16_t * __a)
18036 {
18037   float16x4x4_t ret;
18038   __builtin_aarch64_simd_xi __o;
18039   __o = __builtin_aarch64_ld4v4hf (__a);
18040   ret.val[0] = __builtin_aarch64_get_dregxiv4hf (__o, 0);
18041   ret.val[1] = __builtin_aarch64_get_dregxiv4hf (__o, 1);
18042   ret.val[2] = __builtin_aarch64_get_dregxiv4hf (__o, 2);
18043   ret.val[3] = __builtin_aarch64_get_dregxiv4hf (__o, 3);
18044   return ret;
18045 }
18046 
18047 __extension__ extern __inline float32x2x4_t
18048 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_f32(const float32_t * __a)18049 vld4_f32 (const float32_t * __a)
18050 {
18051   float32x2x4_t ret;
18052   __builtin_aarch64_simd_xi __o;
18053   __o = __builtin_aarch64_ld4v2sf ((const __builtin_aarch64_simd_sf *) __a);
18054   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 0);
18055   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 1);
18056   ret.val[2] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 2);
18057   ret.val[3] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 3);
18058   return ret;
18059 }
18060 
18061 __extension__ extern __inline poly64x1x4_t
18062 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_p64(const poly64_t * __a)18063 vld4_p64 (const poly64_t * __a)
18064 {
18065   poly64x1x4_t  ret;
18066   __builtin_aarch64_simd_xi __o;
18067   __o = __builtin_aarch64_ld4di ((const __builtin_aarch64_simd_di *) __a);
18068   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 0);
18069   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 1);
18070   ret.val[2] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 2);
18071   ret.val[3] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 3);
18072   return ret;
18073 }
18074 
18075 __extension__ extern __inline int8x16x4_t
18076 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s8(const int8_t * __a)18077 vld4q_s8 (const int8_t * __a)
18078 {
18079   int8x16x4_t ret;
18080   __builtin_aarch64_simd_xi __o;
18081   __o = __builtin_aarch64_ld4v16qi ((const __builtin_aarch64_simd_qi *) __a);
18082   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
18083   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
18084   ret.val[2] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
18085   ret.val[3] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
18086   return ret;
18087 }
18088 
18089 __extension__ extern __inline poly8x16x4_t
18090 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_p8(const poly8_t * __a)18091 vld4q_p8 (const poly8_t * __a)
18092 {
18093   poly8x16x4_t ret;
18094   __builtin_aarch64_simd_xi __o;
18095   __o = __builtin_aarch64_ld4v16qi ((const __builtin_aarch64_simd_qi *) __a);
18096   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
18097   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
18098   ret.val[2] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
18099   ret.val[3] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
18100   return ret;
18101 }
18102 
18103 __extension__ extern __inline int16x8x4_t
18104 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s16(const int16_t * __a)18105 vld4q_s16 (const int16_t * __a)
18106 {
18107   int16x8x4_t ret;
18108   __builtin_aarch64_simd_xi __o;
18109   __o = __builtin_aarch64_ld4v8hi ((const __builtin_aarch64_simd_hi *) __a);
18110   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
18111   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
18112   ret.val[2] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
18113   ret.val[3] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
18114   return ret;
18115 }
18116 
18117 __extension__ extern __inline poly16x8x4_t
18118 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_p16(const poly16_t * __a)18119 vld4q_p16 (const poly16_t * __a)
18120 {
18121   poly16x8x4_t ret;
18122   __builtin_aarch64_simd_xi __o;
18123   __o = __builtin_aarch64_ld4v8hi ((const __builtin_aarch64_simd_hi *) __a);
18124   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
18125   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
18126   ret.val[2] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
18127   ret.val[3] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
18128   return ret;
18129 }
18130 
18131 __extension__ extern __inline int32x4x4_t
18132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s32(const int32_t * __a)18133 vld4q_s32 (const int32_t * __a)
18134 {
18135   int32x4x4_t ret;
18136   __builtin_aarch64_simd_xi __o;
18137   __o = __builtin_aarch64_ld4v4si ((const __builtin_aarch64_simd_si *) __a);
18138   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 0);
18139   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 1);
18140   ret.val[2] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 2);
18141   ret.val[3] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 3);
18142   return ret;
18143 }
18144 
18145 __extension__ extern __inline int64x2x4_t
18146 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_s64(const int64_t * __a)18147 vld4q_s64 (const int64_t * __a)
18148 {
18149   int64x2x4_t ret;
18150   __builtin_aarch64_simd_xi __o;
18151   __o = __builtin_aarch64_ld4v2di ((const __builtin_aarch64_simd_di *) __a);
18152   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 0);
18153   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 1);
18154   ret.val[2] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 2);
18155   ret.val[3] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 3);
18156   return ret;
18157 }
18158 
18159 __extension__ extern __inline uint8x16x4_t
18160 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u8(const uint8_t * __a)18161 vld4q_u8 (const uint8_t * __a)
18162 {
18163   uint8x16x4_t ret;
18164   __builtin_aarch64_simd_xi __o;
18165   __o = __builtin_aarch64_ld4v16qi ((const __builtin_aarch64_simd_qi *) __a);
18166   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
18167   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
18168   ret.val[2] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
18169   ret.val[3] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
18170   return ret;
18171 }
18172 
18173 __extension__ extern __inline uint16x8x4_t
18174 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u16(const uint16_t * __a)18175 vld4q_u16 (const uint16_t * __a)
18176 {
18177   uint16x8x4_t ret;
18178   __builtin_aarch64_simd_xi __o;
18179   __o = __builtin_aarch64_ld4v8hi ((const __builtin_aarch64_simd_hi *) __a);
18180   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
18181   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
18182   ret.val[2] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
18183   ret.val[3] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
18184   return ret;
18185 }
18186 
18187 __extension__ extern __inline uint32x4x4_t
18188 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u32(const uint32_t * __a)18189 vld4q_u32 (const uint32_t * __a)
18190 {
18191   uint32x4x4_t ret;
18192   __builtin_aarch64_simd_xi __o;
18193   __o = __builtin_aarch64_ld4v4si ((const __builtin_aarch64_simd_si *) __a);
18194   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 0);
18195   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 1);
18196   ret.val[2] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 2);
18197   ret.val[3] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 3);
18198   return ret;
18199 }
18200 
18201 __extension__ extern __inline uint64x2x4_t
18202 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_u64(const uint64_t * __a)18203 vld4q_u64 (const uint64_t * __a)
18204 {
18205   uint64x2x4_t ret;
18206   __builtin_aarch64_simd_xi __o;
18207   __o = __builtin_aarch64_ld4v2di ((const __builtin_aarch64_simd_di *) __a);
18208   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 0);
18209   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 1);
18210   ret.val[2] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 2);
18211   ret.val[3] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 3);
18212   return ret;
18213 }
18214 
18215 __extension__ extern __inline float16x8x4_t
18216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_f16(const float16_t * __a)18217 vld4q_f16 (const float16_t * __a)
18218 {
18219   float16x8x4_t ret;
18220   __builtin_aarch64_simd_xi __o;
18221   __o = __builtin_aarch64_ld4v8hf (__a);
18222   ret.val[0] = __builtin_aarch64_get_qregxiv8hf (__o, 0);
18223   ret.val[1] = __builtin_aarch64_get_qregxiv8hf (__o, 1);
18224   ret.val[2] = __builtin_aarch64_get_qregxiv8hf (__o, 2);
18225   ret.val[3] = __builtin_aarch64_get_qregxiv8hf (__o, 3);
18226   return ret;
18227 }
18228 
18229 __extension__ extern __inline float32x4x4_t
18230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_f32(const float32_t * __a)18231 vld4q_f32 (const float32_t * __a)
18232 {
18233   float32x4x4_t ret;
18234   __builtin_aarch64_simd_xi __o;
18235   __o = __builtin_aarch64_ld4v4sf ((const __builtin_aarch64_simd_sf *) __a);
18236   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 0);
18237   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 1);
18238   ret.val[2] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 2);
18239   ret.val[3] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 3);
18240   return ret;
18241 }
18242 
18243 __extension__ extern __inline float64x2x4_t
18244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_f64(const float64_t * __a)18245 vld4q_f64 (const float64_t * __a)
18246 {
18247   float64x2x4_t ret;
18248   __builtin_aarch64_simd_xi __o;
18249   __o = __builtin_aarch64_ld4v2df ((const __builtin_aarch64_simd_df *) __a);
18250   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 0);
18251   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 1);
18252   ret.val[2] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 2);
18253   ret.val[3] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 3);
18254   return ret;
18255 }
18256 
18257 __extension__ extern __inline poly64x2x4_t
18258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_p64(const poly64_t * __a)18259 vld4q_p64 (const poly64_t * __a)
18260 {
18261   poly64x2x4_t  ret;
18262   __builtin_aarch64_simd_xi __o;
18263   __o = __builtin_aarch64_ld4v2di ((const __builtin_aarch64_simd_di *) __a);
18264   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 0);
18265   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 1);
18266   ret.val[2] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 2);
18267   ret.val[3] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 3);
18268   return ret;
18269 }
18270 
18271 __extension__ extern __inline poly128_t
18272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vldrq_p128(const poly128_t * __ptr)18273 vldrq_p128 (const poly128_t * __ptr)
18274 {
18275   return *__ptr;
18276 }
18277 
18278 /* vldn_dup */
18279 
18280 __extension__ extern __inline int8x8x2_t
18281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s8(const int8_t * __a)18282 vld2_dup_s8 (const int8_t * __a)
18283 {
18284   int8x8x2_t ret;
18285   __builtin_aarch64_simd_oi __o;
18286   __o = __builtin_aarch64_ld2rv8qi ((const __builtin_aarch64_simd_qi *) __a);
18287   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
18288   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
18289   return ret;
18290 }
18291 
18292 __extension__ extern __inline int16x4x2_t
18293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s16(const int16_t * __a)18294 vld2_dup_s16 (const int16_t * __a)
18295 {
18296   int16x4x2_t ret;
18297   __builtin_aarch64_simd_oi __o;
18298   __o = __builtin_aarch64_ld2rv4hi ((const __builtin_aarch64_simd_hi *) __a);
18299   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
18300   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
18301   return ret;
18302 }
18303 
18304 __extension__ extern __inline int32x2x2_t
18305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s32(const int32_t * __a)18306 vld2_dup_s32 (const int32_t * __a)
18307 {
18308   int32x2x2_t ret;
18309   __builtin_aarch64_simd_oi __o;
18310   __o = __builtin_aarch64_ld2rv2si ((const __builtin_aarch64_simd_si *) __a);
18311   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
18312   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
18313   return ret;
18314 }
18315 
18316 __extension__ extern __inline float16x4x2_t
18317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_f16(const float16_t * __a)18318 vld2_dup_f16 (const float16_t * __a)
18319 {
18320   float16x4x2_t ret;
18321   __builtin_aarch64_simd_oi __o;
18322   __o = __builtin_aarch64_ld2rv4hf ((const __builtin_aarch64_simd_hf *) __a);
18323   ret.val[0] = __builtin_aarch64_get_dregoiv4hf (__o, 0);
18324   ret.val[1] = (float16x4_t) __builtin_aarch64_get_dregoiv4hf (__o, 1);
18325   return ret;
18326 }
18327 
18328 __extension__ extern __inline float32x2x2_t
18329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_f32(const float32_t * __a)18330 vld2_dup_f32 (const float32_t * __a)
18331 {
18332   float32x2x2_t ret;
18333   __builtin_aarch64_simd_oi __o;
18334   __o = __builtin_aarch64_ld2rv2sf ((const __builtin_aarch64_simd_sf *) __a);
18335   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 0);
18336   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregoiv2sf (__o, 1);
18337   return ret;
18338 }
18339 
18340 __extension__ extern __inline float64x1x2_t
18341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_f64(const float64_t * __a)18342 vld2_dup_f64 (const float64_t * __a)
18343 {
18344   float64x1x2_t ret;
18345   __builtin_aarch64_simd_oi __o;
18346   __o = __builtin_aarch64_ld2rdf ((const __builtin_aarch64_simd_df *) __a);
18347   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 0)};
18348   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregoidf (__o, 1)};
18349   return ret;
18350 }
18351 
18352 __extension__ extern __inline uint8x8x2_t
18353 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u8(const uint8_t * __a)18354 vld2_dup_u8 (const uint8_t * __a)
18355 {
18356   uint8x8x2_t ret;
18357   __builtin_aarch64_simd_oi __o;
18358   __o = __builtin_aarch64_ld2rv8qi ((const __builtin_aarch64_simd_qi *) __a);
18359   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
18360   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
18361   return ret;
18362 }
18363 
18364 __extension__ extern __inline uint16x4x2_t
18365 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u16(const uint16_t * __a)18366 vld2_dup_u16 (const uint16_t * __a)
18367 {
18368   uint16x4x2_t ret;
18369   __builtin_aarch64_simd_oi __o;
18370   __o = __builtin_aarch64_ld2rv4hi ((const __builtin_aarch64_simd_hi *) __a);
18371   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
18372   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
18373   return ret;
18374 }
18375 
18376 __extension__ extern __inline uint32x2x2_t
18377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u32(const uint32_t * __a)18378 vld2_dup_u32 (const uint32_t * __a)
18379 {
18380   uint32x2x2_t ret;
18381   __builtin_aarch64_simd_oi __o;
18382   __o = __builtin_aarch64_ld2rv2si ((const __builtin_aarch64_simd_si *) __a);
18383   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 0);
18384   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregoiv2si (__o, 1);
18385   return ret;
18386 }
18387 
18388 __extension__ extern __inline poly8x8x2_t
18389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p8(const poly8_t * __a)18390 vld2_dup_p8 (const poly8_t * __a)
18391 {
18392   poly8x8x2_t ret;
18393   __builtin_aarch64_simd_oi __o;
18394   __o = __builtin_aarch64_ld2rv8qi ((const __builtin_aarch64_simd_qi *) __a);
18395   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 0);
18396   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregoiv8qi (__o, 1);
18397   return ret;
18398 }
18399 
18400 __extension__ extern __inline poly16x4x2_t
18401 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p16(const poly16_t * __a)18402 vld2_dup_p16 (const poly16_t * __a)
18403 {
18404   poly16x4x2_t ret;
18405   __builtin_aarch64_simd_oi __o;
18406   __o = __builtin_aarch64_ld2rv4hi ((const __builtin_aarch64_simd_hi *) __a);
18407   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 0);
18408   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregoiv4hi (__o, 1);
18409   return ret;
18410 }
18411 
18412 __extension__ extern __inline poly64x1x2_t
18413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_p64(const poly64_t * __a)18414 vld2_dup_p64 (const poly64_t * __a)
18415 {
18416   poly64x1x2_t ret;
18417   __builtin_aarch64_simd_oi __o;
18418   __o = __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di *) __a);
18419   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregoidi_pss (__o, 0);
18420   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregoidi_pss (__o, 1);
18421   return ret;
18422 }
18423 
18424 
18425 __extension__ extern __inline int64x1x2_t
18426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_s64(const int64_t * __a)18427 vld2_dup_s64 (const int64_t * __a)
18428 {
18429   int64x1x2_t ret;
18430   __builtin_aarch64_simd_oi __o;
18431   __o = __builtin_aarch64_ld2rdi ((const __builtin_aarch64_simd_di *) __a);
18432   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
18433   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
18434   return ret;
18435 }
18436 
18437 __extension__ extern __inline uint64x1x2_t
18438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_u64(const uint64_t * __a)18439 vld2_dup_u64 (const uint64_t * __a)
18440 {
18441   uint64x1x2_t ret;
18442   __builtin_aarch64_simd_oi __o;
18443   __o = __builtin_aarch64_ld2rdi ((const __builtin_aarch64_simd_di *) __a);
18444   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 0);
18445   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregoidi (__o, 1);
18446   return ret;
18447 }
18448 
18449 __extension__ extern __inline int8x16x2_t
18450 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_s8(const int8_t * __a)18451 vld2q_dup_s8 (const int8_t * __a)
18452 {
18453   int8x16x2_t ret;
18454   __builtin_aarch64_simd_oi __o;
18455   __o = __builtin_aarch64_ld2rv16qi ((const __builtin_aarch64_simd_qi *) __a);
18456   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
18457   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
18458   return ret;
18459 }
18460 
18461 __extension__ extern __inline poly8x16x2_t
18462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_p8(const poly8_t * __a)18463 vld2q_dup_p8 (const poly8_t * __a)
18464 {
18465   poly8x16x2_t ret;
18466   __builtin_aarch64_simd_oi __o;
18467   __o = __builtin_aarch64_ld2rv16qi ((const __builtin_aarch64_simd_qi *) __a);
18468   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
18469   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
18470   return ret;
18471 }
18472 
18473 __extension__ extern __inline int16x8x2_t
18474 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_s16(const int16_t * __a)18475 vld2q_dup_s16 (const int16_t * __a)
18476 {
18477   int16x8x2_t ret;
18478   __builtin_aarch64_simd_oi __o;
18479   __o = __builtin_aarch64_ld2rv8hi ((const __builtin_aarch64_simd_hi *) __a);
18480   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
18481   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
18482   return ret;
18483 }
18484 
18485 __extension__ extern __inline poly16x8x2_t
18486 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_p16(const poly16_t * __a)18487 vld2q_dup_p16 (const poly16_t * __a)
18488 {
18489   poly16x8x2_t ret;
18490   __builtin_aarch64_simd_oi __o;
18491   __o = __builtin_aarch64_ld2rv8hi ((const __builtin_aarch64_simd_hi *) __a);
18492   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
18493   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
18494   return ret;
18495 }
18496 
18497 __extension__ extern __inline int32x4x2_t
18498 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_s32(const int32_t * __a)18499 vld2q_dup_s32 (const int32_t * __a)
18500 {
18501   int32x4x2_t ret;
18502   __builtin_aarch64_simd_oi __o;
18503   __o = __builtin_aarch64_ld2rv4si ((const __builtin_aarch64_simd_si *) __a);
18504   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
18505   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
18506   return ret;
18507 }
18508 
18509 __extension__ extern __inline int64x2x2_t
18510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_s64(const int64_t * __a)18511 vld2q_dup_s64 (const int64_t * __a)
18512 {
18513   int64x2x2_t ret;
18514   __builtin_aarch64_simd_oi __o;
18515   __o = __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di *) __a);
18516   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
18517   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
18518   return ret;
18519 }
18520 
18521 __extension__ extern __inline uint8x16x2_t
18522 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_u8(const uint8_t * __a)18523 vld2q_dup_u8 (const uint8_t * __a)
18524 {
18525   uint8x16x2_t ret;
18526   __builtin_aarch64_simd_oi __o;
18527   __o = __builtin_aarch64_ld2rv16qi ((const __builtin_aarch64_simd_qi *) __a);
18528   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 0);
18529   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregoiv16qi (__o, 1);
18530   return ret;
18531 }
18532 
18533 __extension__ extern __inline uint16x8x2_t
18534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_u16(const uint16_t * __a)18535 vld2q_dup_u16 (const uint16_t * __a)
18536 {
18537   uint16x8x2_t ret;
18538   __builtin_aarch64_simd_oi __o;
18539   __o = __builtin_aarch64_ld2rv8hi ((const __builtin_aarch64_simd_hi *) __a);
18540   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 0);
18541   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregoiv8hi (__o, 1);
18542   return ret;
18543 }
18544 
18545 __extension__ extern __inline uint32x4x2_t
18546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_u32(const uint32_t * __a)18547 vld2q_dup_u32 (const uint32_t * __a)
18548 {
18549   uint32x4x2_t ret;
18550   __builtin_aarch64_simd_oi __o;
18551   __o = __builtin_aarch64_ld2rv4si ((const __builtin_aarch64_simd_si *) __a);
18552   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 0);
18553   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregoiv4si (__o, 1);
18554   return ret;
18555 }
18556 
18557 __extension__ extern __inline uint64x2x2_t
18558 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_u64(const uint64_t * __a)18559 vld2q_dup_u64 (const uint64_t * __a)
18560 {
18561   uint64x2x2_t ret;
18562   __builtin_aarch64_simd_oi __o;
18563   __o = __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di *) __a);
18564   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 0);
18565   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregoiv2di (__o, 1);
18566   return ret;
18567 }
18568 
18569 __extension__ extern __inline float16x8x2_t
18570 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_f16(const float16_t * __a)18571 vld2q_dup_f16 (const float16_t * __a)
18572 {
18573   float16x8x2_t ret;
18574   __builtin_aarch64_simd_oi __o;
18575   __o = __builtin_aarch64_ld2rv8hf ((const __builtin_aarch64_simd_hf *) __a);
18576   ret.val[0] = (float16x8_t) __builtin_aarch64_get_qregoiv8hf (__o, 0);
18577   ret.val[1] = __builtin_aarch64_get_qregoiv8hf (__o, 1);
18578   return ret;
18579 }
18580 
18581 __extension__ extern __inline float32x4x2_t
18582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_f32(const float32_t * __a)18583 vld2q_dup_f32 (const float32_t * __a)
18584 {
18585   float32x4x2_t ret;
18586   __builtin_aarch64_simd_oi __o;
18587   __o = __builtin_aarch64_ld2rv4sf ((const __builtin_aarch64_simd_sf *) __a);
18588   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 0);
18589   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregoiv4sf (__o, 1);
18590   return ret;
18591 }
18592 
18593 __extension__ extern __inline float64x2x2_t
18594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_f64(const float64_t * __a)18595 vld2q_dup_f64 (const float64_t * __a)
18596 {
18597   float64x2x2_t ret;
18598   __builtin_aarch64_simd_oi __o;
18599   __o = __builtin_aarch64_ld2rv2df ((const __builtin_aarch64_simd_df *) __a);
18600   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 0);
18601   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregoiv2df (__o, 1);
18602   return ret;
18603 }
18604 
18605 __extension__ extern __inline poly64x2x2_t
18606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_p64(const poly64_t * __a)18607 vld2q_dup_p64 (const poly64_t * __a)
18608 {
18609   poly64x2x2_t ret;
18610   __builtin_aarch64_simd_oi __o;
18611   __o = __builtin_aarch64_ld2rv2di ((const __builtin_aarch64_simd_di *) __a);
18612   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di_pss (__o, 0);
18613   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregoiv2di_pss (__o, 1);
18614   return ret;
18615 }
18616 
18617 __extension__ extern __inline int64x1x3_t
18618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s64(const int64_t * __a)18619 vld3_dup_s64 (const int64_t * __a)
18620 {
18621   int64x1x3_t ret;
18622   __builtin_aarch64_simd_ci __o;
18623   __o = __builtin_aarch64_ld3rdi ((const __builtin_aarch64_simd_di *) __a);
18624   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
18625   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
18626   ret.val[2] = (int64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
18627   return ret;
18628 }
18629 
18630 __extension__ extern __inline uint64x1x3_t
18631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u64(const uint64_t * __a)18632 vld3_dup_u64 (const uint64_t * __a)
18633 {
18634   uint64x1x3_t ret;
18635   __builtin_aarch64_simd_ci __o;
18636   __o = __builtin_aarch64_ld3rdi ((const __builtin_aarch64_simd_di *) __a);
18637   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 0);
18638   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 1);
18639   ret.val[2] = (uint64x1_t) __builtin_aarch64_get_dregcidi (__o, 2);
18640   return ret;
18641 }
18642 
18643 __extension__ extern __inline float64x1x3_t
18644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_f64(const float64_t * __a)18645 vld3_dup_f64 (const float64_t * __a)
18646 {
18647   float64x1x3_t ret;
18648   __builtin_aarch64_simd_ci __o;
18649   __o = __builtin_aarch64_ld3rdf ((const __builtin_aarch64_simd_df *) __a);
18650   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 0)};
18651   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 1)};
18652   ret.val[2] = (float64x1_t) {__builtin_aarch64_get_dregcidf (__o, 2)};
18653   return ret;
18654 }
18655 
18656 __extension__ extern __inline int8x8x3_t
18657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s8(const int8_t * __a)18658 vld3_dup_s8 (const int8_t * __a)
18659 {
18660   int8x8x3_t ret;
18661   __builtin_aarch64_simd_ci __o;
18662   __o = __builtin_aarch64_ld3rv8qi ((const __builtin_aarch64_simd_qi *) __a);
18663   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
18664   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
18665   ret.val[2] = (int8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
18666   return ret;
18667 }
18668 
18669 __extension__ extern __inline poly8x8x3_t
18670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p8(const poly8_t * __a)18671 vld3_dup_p8 (const poly8_t * __a)
18672 {
18673   poly8x8x3_t ret;
18674   __builtin_aarch64_simd_ci __o;
18675   __o = __builtin_aarch64_ld3rv8qi ((const __builtin_aarch64_simd_qi *) __a);
18676   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
18677   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
18678   ret.val[2] = (poly8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
18679   return ret;
18680 }
18681 
18682 __extension__ extern __inline int16x4x3_t
18683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s16(const int16_t * __a)18684 vld3_dup_s16 (const int16_t * __a)
18685 {
18686   int16x4x3_t ret;
18687   __builtin_aarch64_simd_ci __o;
18688   __o = __builtin_aarch64_ld3rv4hi ((const __builtin_aarch64_simd_hi *) __a);
18689   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
18690   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
18691   ret.val[2] = (int16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
18692   return ret;
18693 }
18694 
18695 __extension__ extern __inline poly16x4x3_t
18696 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p16(const poly16_t * __a)18697 vld3_dup_p16 (const poly16_t * __a)
18698 {
18699   poly16x4x3_t ret;
18700   __builtin_aarch64_simd_ci __o;
18701   __o = __builtin_aarch64_ld3rv4hi ((const __builtin_aarch64_simd_hi *) __a);
18702   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
18703   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
18704   ret.val[2] = (poly16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
18705   return ret;
18706 }
18707 
18708 __extension__ extern __inline int32x2x3_t
18709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_s32(const int32_t * __a)18710 vld3_dup_s32 (const int32_t * __a)
18711 {
18712   int32x2x3_t ret;
18713   __builtin_aarch64_simd_ci __o;
18714   __o = __builtin_aarch64_ld3rv2si ((const __builtin_aarch64_simd_si *) __a);
18715   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 0);
18716   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 1);
18717   ret.val[2] = (int32x2_t) __builtin_aarch64_get_dregciv2si (__o, 2);
18718   return ret;
18719 }
18720 
18721 __extension__ extern __inline uint8x8x3_t
18722 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u8(const uint8_t * __a)18723 vld3_dup_u8 (const uint8_t * __a)
18724 {
18725   uint8x8x3_t ret;
18726   __builtin_aarch64_simd_ci __o;
18727   __o = __builtin_aarch64_ld3rv8qi ((const __builtin_aarch64_simd_qi *) __a);
18728   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 0);
18729   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 1);
18730   ret.val[2] = (uint8x8_t) __builtin_aarch64_get_dregciv8qi (__o, 2);
18731   return ret;
18732 }
18733 
18734 __extension__ extern __inline uint16x4x3_t
18735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u16(const uint16_t * __a)18736 vld3_dup_u16 (const uint16_t * __a)
18737 {
18738   uint16x4x3_t ret;
18739   __builtin_aarch64_simd_ci __o;
18740   __o = __builtin_aarch64_ld3rv4hi ((const __builtin_aarch64_simd_hi *) __a);
18741   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 0);
18742   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 1);
18743   ret.val[2] = (uint16x4_t) __builtin_aarch64_get_dregciv4hi (__o, 2);
18744   return ret;
18745 }
18746 
18747 __extension__ extern __inline uint32x2x3_t
18748 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_u32(const uint32_t * __a)18749 vld3_dup_u32 (const uint32_t * __a)
18750 {
18751   uint32x2x3_t ret;
18752   __builtin_aarch64_simd_ci __o;
18753   __o = __builtin_aarch64_ld3rv2si ((const __builtin_aarch64_simd_si *) __a);
18754   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 0);
18755   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 1);
18756   ret.val[2] = (uint32x2_t) __builtin_aarch64_get_dregciv2si (__o, 2);
18757   return ret;
18758 }
18759 
18760 __extension__ extern __inline float16x4x3_t
18761 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_f16(const float16_t * __a)18762 vld3_dup_f16 (const float16_t * __a)
18763 {
18764   float16x4x3_t ret;
18765   __builtin_aarch64_simd_ci __o;
18766   __o = __builtin_aarch64_ld3rv4hf ((const __builtin_aarch64_simd_hf *) __a);
18767   ret.val[0] = (float16x4_t) __builtin_aarch64_get_dregciv4hf (__o, 0);
18768   ret.val[1] = (float16x4_t) __builtin_aarch64_get_dregciv4hf (__o, 1);
18769   ret.val[2] = (float16x4_t) __builtin_aarch64_get_dregciv4hf (__o, 2);
18770   return ret;
18771 }
18772 
18773 __extension__ extern __inline float32x2x3_t
18774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_f32(const float32_t * __a)18775 vld3_dup_f32 (const float32_t * __a)
18776 {
18777   float32x2x3_t ret;
18778   __builtin_aarch64_simd_ci __o;
18779   __o = __builtin_aarch64_ld3rv2sf ((const __builtin_aarch64_simd_sf *) __a);
18780   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 0);
18781   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 1);
18782   ret.val[2] = (float32x2_t) __builtin_aarch64_get_dregciv2sf (__o, 2);
18783   return ret;
18784 }
18785 
18786 __extension__ extern __inline poly64x1x3_t
18787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_p64(const poly64_t * __a)18788 vld3_dup_p64 (const poly64_t * __a)
18789 {
18790   poly64x1x3_t ret;
18791   __builtin_aarch64_simd_ci __o;
18792   __o = __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di *) __a);
18793   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 0);
18794   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 1);
18795   ret.val[2] = (poly64x1_t) __builtin_aarch64_get_dregcidi_pss (__o, 2);
18796   return ret;
18797 }
18798 
18799 __extension__ extern __inline int8x16x3_t
18800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_s8(const int8_t * __a)18801 vld3q_dup_s8 (const int8_t * __a)
18802 {
18803   int8x16x3_t ret;
18804   __builtin_aarch64_simd_ci __o;
18805   __o = __builtin_aarch64_ld3rv16qi ((const __builtin_aarch64_simd_qi *) __a);
18806   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
18807   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
18808   ret.val[2] = (int8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
18809   return ret;
18810 }
18811 
18812 __extension__ extern __inline poly8x16x3_t
18813 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_p8(const poly8_t * __a)18814 vld3q_dup_p8 (const poly8_t * __a)
18815 {
18816   poly8x16x3_t ret;
18817   __builtin_aarch64_simd_ci __o;
18818   __o = __builtin_aarch64_ld3rv16qi ((const __builtin_aarch64_simd_qi *) __a);
18819   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
18820   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
18821   ret.val[2] = (poly8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
18822   return ret;
18823 }
18824 
18825 __extension__ extern __inline int16x8x3_t
18826 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_s16(const int16_t * __a)18827 vld3q_dup_s16 (const int16_t * __a)
18828 {
18829   int16x8x3_t ret;
18830   __builtin_aarch64_simd_ci __o;
18831   __o = __builtin_aarch64_ld3rv8hi ((const __builtin_aarch64_simd_hi *) __a);
18832   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
18833   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
18834   ret.val[2] = (int16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
18835   return ret;
18836 }
18837 
18838 __extension__ extern __inline poly16x8x3_t
18839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_p16(const poly16_t * __a)18840 vld3q_dup_p16 (const poly16_t * __a)
18841 {
18842   poly16x8x3_t ret;
18843   __builtin_aarch64_simd_ci __o;
18844   __o = __builtin_aarch64_ld3rv8hi ((const __builtin_aarch64_simd_hi *) __a);
18845   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
18846   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
18847   ret.val[2] = (poly16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
18848   return ret;
18849 }
18850 
18851 __extension__ extern __inline int32x4x3_t
18852 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_s32(const int32_t * __a)18853 vld3q_dup_s32 (const int32_t * __a)
18854 {
18855   int32x4x3_t ret;
18856   __builtin_aarch64_simd_ci __o;
18857   __o = __builtin_aarch64_ld3rv4si ((const __builtin_aarch64_simd_si *) __a);
18858   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 0);
18859   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 1);
18860   ret.val[2] = (int32x4_t) __builtin_aarch64_get_qregciv4si (__o, 2);
18861   return ret;
18862 }
18863 
18864 __extension__ extern __inline int64x2x3_t
18865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_s64(const int64_t * __a)18866 vld3q_dup_s64 (const int64_t * __a)
18867 {
18868   int64x2x3_t ret;
18869   __builtin_aarch64_simd_ci __o;
18870   __o = __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di *) __a);
18871   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 0);
18872   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 1);
18873   ret.val[2] = (int64x2_t) __builtin_aarch64_get_qregciv2di (__o, 2);
18874   return ret;
18875 }
18876 
18877 __extension__ extern __inline uint8x16x3_t
18878 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_u8(const uint8_t * __a)18879 vld3q_dup_u8 (const uint8_t * __a)
18880 {
18881   uint8x16x3_t ret;
18882   __builtin_aarch64_simd_ci __o;
18883   __o = __builtin_aarch64_ld3rv16qi ((const __builtin_aarch64_simd_qi *) __a);
18884   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 0);
18885   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 1);
18886   ret.val[2] = (uint8x16_t) __builtin_aarch64_get_qregciv16qi (__o, 2);
18887   return ret;
18888 }
18889 
18890 __extension__ extern __inline uint16x8x3_t
18891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_u16(const uint16_t * __a)18892 vld3q_dup_u16 (const uint16_t * __a)
18893 {
18894   uint16x8x3_t ret;
18895   __builtin_aarch64_simd_ci __o;
18896   __o = __builtin_aarch64_ld3rv8hi ((const __builtin_aarch64_simd_hi *) __a);
18897   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 0);
18898   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 1);
18899   ret.val[2] = (uint16x8_t) __builtin_aarch64_get_qregciv8hi (__o, 2);
18900   return ret;
18901 }
18902 
18903 __extension__ extern __inline uint32x4x3_t
18904 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_u32(const uint32_t * __a)18905 vld3q_dup_u32 (const uint32_t * __a)
18906 {
18907   uint32x4x3_t ret;
18908   __builtin_aarch64_simd_ci __o;
18909   __o = __builtin_aarch64_ld3rv4si ((const __builtin_aarch64_simd_si *) __a);
18910   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 0);
18911   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 1);
18912   ret.val[2] = (uint32x4_t) __builtin_aarch64_get_qregciv4si (__o, 2);
18913   return ret;
18914 }
18915 
18916 __extension__ extern __inline uint64x2x3_t
18917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_u64(const uint64_t * __a)18918 vld3q_dup_u64 (const uint64_t * __a)
18919 {
18920   uint64x2x3_t ret;
18921   __builtin_aarch64_simd_ci __o;
18922   __o = __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di *) __a);
18923   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 0);
18924   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 1);
18925   ret.val[2] = (uint64x2_t) __builtin_aarch64_get_qregciv2di (__o, 2);
18926   return ret;
18927 }
18928 
18929 __extension__ extern __inline float16x8x3_t
18930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_f16(const float16_t * __a)18931 vld3q_dup_f16 (const float16_t * __a)
18932 {
18933   float16x8x3_t ret;
18934   __builtin_aarch64_simd_ci __o;
18935   __o = __builtin_aarch64_ld3rv8hf ((const __builtin_aarch64_simd_hf *) __a);
18936   ret.val[0] = (float16x8_t) __builtin_aarch64_get_qregciv8hf (__o, 0);
18937   ret.val[1] = (float16x8_t) __builtin_aarch64_get_qregciv8hf (__o, 1);
18938   ret.val[2] = (float16x8_t) __builtin_aarch64_get_qregciv8hf (__o, 2);
18939   return ret;
18940 }
18941 
18942 __extension__ extern __inline float32x4x3_t
18943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_f32(const float32_t * __a)18944 vld3q_dup_f32 (const float32_t * __a)
18945 {
18946   float32x4x3_t ret;
18947   __builtin_aarch64_simd_ci __o;
18948   __o = __builtin_aarch64_ld3rv4sf ((const __builtin_aarch64_simd_sf *) __a);
18949   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 0);
18950   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 1);
18951   ret.val[2] = (float32x4_t) __builtin_aarch64_get_qregciv4sf (__o, 2);
18952   return ret;
18953 }
18954 
18955 __extension__ extern __inline float64x2x3_t
18956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_f64(const float64_t * __a)18957 vld3q_dup_f64 (const float64_t * __a)
18958 {
18959   float64x2x3_t ret;
18960   __builtin_aarch64_simd_ci __o;
18961   __o = __builtin_aarch64_ld3rv2df ((const __builtin_aarch64_simd_df *) __a);
18962   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 0);
18963   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 1);
18964   ret.val[2] = (float64x2_t) __builtin_aarch64_get_qregciv2df (__o, 2);
18965   return ret;
18966 }
18967 
18968 __extension__ extern __inline poly64x2x3_t
18969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_p64(const poly64_t * __a)18970 vld3q_dup_p64 (const poly64_t * __a)
18971 {
18972   poly64x2x3_t ret;
18973   __builtin_aarch64_simd_ci __o;
18974   __o = __builtin_aarch64_ld3rv2di ((const __builtin_aarch64_simd_di *) __a);
18975   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 0);
18976   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 1);
18977   ret.val[2] = (poly64x2_t) __builtin_aarch64_get_qregciv2di_pss (__o, 2);
18978   return ret;
18979 }
18980 
18981 __extension__ extern __inline int64x1x4_t
18982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s64(const int64_t * __a)18983 vld4_dup_s64 (const int64_t * __a)
18984 {
18985   int64x1x4_t ret;
18986   __builtin_aarch64_simd_xi __o;
18987   __o = __builtin_aarch64_ld4rdi ((const __builtin_aarch64_simd_di *) __a);
18988   ret.val[0] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
18989   ret.val[1] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
18990   ret.val[2] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
18991   ret.val[3] = (int64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
18992   return ret;
18993 }
18994 
18995 __extension__ extern __inline uint64x1x4_t
18996 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u64(const uint64_t * __a)18997 vld4_dup_u64 (const uint64_t * __a)
18998 {
18999   uint64x1x4_t ret;
19000   __builtin_aarch64_simd_xi __o;
19001   __o = __builtin_aarch64_ld4rdi ((const __builtin_aarch64_simd_di *) __a);
19002   ret.val[0] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 0);
19003   ret.val[1] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 1);
19004   ret.val[2] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 2);
19005   ret.val[3] = (uint64x1_t) __builtin_aarch64_get_dregxidi (__o, 3);
19006   return ret;
19007 }
19008 
19009 __extension__ extern __inline float64x1x4_t
19010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_f64(const float64_t * __a)19011 vld4_dup_f64 (const float64_t * __a)
19012 {
19013   float64x1x4_t ret;
19014   __builtin_aarch64_simd_xi __o;
19015   __o = __builtin_aarch64_ld4rdf ((const __builtin_aarch64_simd_df *) __a);
19016   ret.val[0] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 0)};
19017   ret.val[1] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 1)};
19018   ret.val[2] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 2)};
19019   ret.val[3] = (float64x1_t) {__builtin_aarch64_get_dregxidf (__o, 3)};
19020   return ret;
19021 }
19022 
19023 __extension__ extern __inline int8x8x4_t
19024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s8(const int8_t * __a)19025 vld4_dup_s8 (const int8_t * __a)
19026 {
19027   int8x8x4_t ret;
19028   __builtin_aarch64_simd_xi __o;
19029   __o = __builtin_aarch64_ld4rv8qi ((const __builtin_aarch64_simd_qi *) __a);
19030   ret.val[0] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
19031   ret.val[1] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
19032   ret.val[2] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
19033   ret.val[3] = (int8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
19034   return ret;
19035 }
19036 
19037 __extension__ extern __inline poly8x8x4_t
19038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p8(const poly8_t * __a)19039 vld4_dup_p8 (const poly8_t * __a)
19040 {
19041   poly8x8x4_t ret;
19042   __builtin_aarch64_simd_xi __o;
19043   __o = __builtin_aarch64_ld4rv8qi ((const __builtin_aarch64_simd_qi *) __a);
19044   ret.val[0] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
19045   ret.val[1] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
19046   ret.val[2] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
19047   ret.val[3] = (poly8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
19048   return ret;
19049 }
19050 
19051 __extension__ extern __inline int16x4x4_t
19052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s16(const int16_t * __a)19053 vld4_dup_s16 (const int16_t * __a)
19054 {
19055   int16x4x4_t ret;
19056   __builtin_aarch64_simd_xi __o;
19057   __o = __builtin_aarch64_ld4rv4hi ((const __builtin_aarch64_simd_hi *) __a);
19058   ret.val[0] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
19059   ret.val[1] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
19060   ret.val[2] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
19061   ret.val[3] = (int16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
19062   return ret;
19063 }
19064 
19065 __extension__ extern __inline poly16x4x4_t
19066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p16(const poly16_t * __a)19067 vld4_dup_p16 (const poly16_t * __a)
19068 {
19069   poly16x4x4_t ret;
19070   __builtin_aarch64_simd_xi __o;
19071   __o = __builtin_aarch64_ld4rv4hi ((const __builtin_aarch64_simd_hi *) __a);
19072   ret.val[0] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
19073   ret.val[1] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
19074   ret.val[2] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
19075   ret.val[3] = (poly16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
19076   return ret;
19077 }
19078 
19079 __extension__ extern __inline int32x2x4_t
19080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_s32(const int32_t * __a)19081 vld4_dup_s32 (const int32_t * __a)
19082 {
19083   int32x2x4_t ret;
19084   __builtin_aarch64_simd_xi __o;
19085   __o = __builtin_aarch64_ld4rv2si ((const __builtin_aarch64_simd_si *) __a);
19086   ret.val[0] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
19087   ret.val[1] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
19088   ret.val[2] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
19089   ret.val[3] = (int32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
19090   return ret;
19091 }
19092 
19093 __extension__ extern __inline uint8x8x4_t
19094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u8(const uint8_t * __a)19095 vld4_dup_u8 (const uint8_t * __a)
19096 {
19097   uint8x8x4_t ret;
19098   __builtin_aarch64_simd_xi __o;
19099   __o = __builtin_aarch64_ld4rv8qi ((const __builtin_aarch64_simd_qi *) __a);
19100   ret.val[0] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 0);
19101   ret.val[1] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 1);
19102   ret.val[2] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 2);
19103   ret.val[3] = (uint8x8_t) __builtin_aarch64_get_dregxiv8qi (__o, 3);
19104   return ret;
19105 }
19106 
19107 __extension__ extern __inline uint16x4x4_t
19108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u16(const uint16_t * __a)19109 vld4_dup_u16 (const uint16_t * __a)
19110 {
19111   uint16x4x4_t ret;
19112   __builtin_aarch64_simd_xi __o;
19113   __o = __builtin_aarch64_ld4rv4hi ((const __builtin_aarch64_simd_hi *) __a);
19114   ret.val[0] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 0);
19115   ret.val[1] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 1);
19116   ret.val[2] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 2);
19117   ret.val[3] = (uint16x4_t) __builtin_aarch64_get_dregxiv4hi (__o, 3);
19118   return ret;
19119 }
19120 
19121 __extension__ extern __inline uint32x2x4_t
19122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_u32(const uint32_t * __a)19123 vld4_dup_u32 (const uint32_t * __a)
19124 {
19125   uint32x2x4_t ret;
19126   __builtin_aarch64_simd_xi __o;
19127   __o = __builtin_aarch64_ld4rv2si ((const __builtin_aarch64_simd_si *) __a);
19128   ret.val[0] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 0);
19129   ret.val[1] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 1);
19130   ret.val[2] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 2);
19131   ret.val[3] = (uint32x2_t) __builtin_aarch64_get_dregxiv2si (__o, 3);
19132   return ret;
19133 }
19134 
19135 __extension__ extern __inline float16x4x4_t
19136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_f16(const float16_t * __a)19137 vld4_dup_f16 (const float16_t * __a)
19138 {
19139   float16x4x4_t ret;
19140   __builtin_aarch64_simd_xi __o;
19141   __o = __builtin_aarch64_ld4rv4hf ((const __builtin_aarch64_simd_hf *) __a);
19142   ret.val[0] = (float16x4_t) __builtin_aarch64_get_dregxiv4hf (__o, 0);
19143   ret.val[1] = (float16x4_t) __builtin_aarch64_get_dregxiv4hf (__o, 1);
19144   ret.val[2] = (float16x4_t) __builtin_aarch64_get_dregxiv4hf (__o, 2);
19145   ret.val[3] = (float16x4_t) __builtin_aarch64_get_dregxiv4hf (__o, 3);
19146   return ret;
19147 }
19148 
19149 __extension__ extern __inline float32x2x4_t
19150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_f32(const float32_t * __a)19151 vld4_dup_f32 (const float32_t * __a)
19152 {
19153   float32x2x4_t ret;
19154   __builtin_aarch64_simd_xi __o;
19155   __o = __builtin_aarch64_ld4rv2sf ((const __builtin_aarch64_simd_sf *) __a);
19156   ret.val[0] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 0);
19157   ret.val[1] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 1);
19158   ret.val[2] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 2);
19159   ret.val[3] = (float32x2_t) __builtin_aarch64_get_dregxiv2sf (__o, 3);
19160   return ret;
19161 }
19162 
19163 __extension__ extern __inline poly64x1x4_t
19164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_p64(const poly64_t * __a)19165 vld4_dup_p64 (const poly64_t * __a)
19166 {
19167   poly64x1x4_t ret;
19168   __builtin_aarch64_simd_xi __o;
19169   __o = __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di *) __a);
19170   ret.val[0] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 0);
19171   ret.val[1] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 1);
19172   ret.val[2] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 2);
19173   ret.val[3] = (poly64x1_t) __builtin_aarch64_get_dregxidi_pss (__o, 3);
19174   return ret;
19175 }
19176 
19177 __extension__ extern __inline int8x16x4_t
19178 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_s8(const int8_t * __a)19179 vld4q_dup_s8 (const int8_t * __a)
19180 {
19181   int8x16x4_t ret;
19182   __builtin_aarch64_simd_xi __o;
19183   __o = __builtin_aarch64_ld4rv16qi ((const __builtin_aarch64_simd_qi *) __a);
19184   ret.val[0] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
19185   ret.val[1] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
19186   ret.val[2] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
19187   ret.val[3] = (int8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
19188   return ret;
19189 }
19190 
19191 __extension__ extern __inline poly8x16x4_t
19192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_p8(const poly8_t * __a)19193 vld4q_dup_p8 (const poly8_t * __a)
19194 {
19195   poly8x16x4_t ret;
19196   __builtin_aarch64_simd_xi __o;
19197   __o = __builtin_aarch64_ld4rv16qi ((const __builtin_aarch64_simd_qi *) __a);
19198   ret.val[0] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
19199   ret.val[1] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
19200   ret.val[2] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
19201   ret.val[3] = (poly8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
19202   return ret;
19203 }
19204 
19205 __extension__ extern __inline int16x8x4_t
19206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_s16(const int16_t * __a)19207 vld4q_dup_s16 (const int16_t * __a)
19208 {
19209   int16x8x4_t ret;
19210   __builtin_aarch64_simd_xi __o;
19211   __o = __builtin_aarch64_ld4rv8hi ((const __builtin_aarch64_simd_hi *) __a);
19212   ret.val[0] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
19213   ret.val[1] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
19214   ret.val[2] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
19215   ret.val[3] = (int16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
19216   return ret;
19217 }
19218 
19219 __extension__ extern __inline poly16x8x4_t
19220 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_p16(const poly16_t * __a)19221 vld4q_dup_p16 (const poly16_t * __a)
19222 {
19223   poly16x8x4_t ret;
19224   __builtin_aarch64_simd_xi __o;
19225   __o = __builtin_aarch64_ld4rv8hi ((const __builtin_aarch64_simd_hi *) __a);
19226   ret.val[0] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
19227   ret.val[1] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
19228   ret.val[2] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
19229   ret.val[3] = (poly16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
19230   return ret;
19231 }
19232 
19233 __extension__ extern __inline int32x4x4_t
19234 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_s32(const int32_t * __a)19235 vld4q_dup_s32 (const int32_t * __a)
19236 {
19237   int32x4x4_t ret;
19238   __builtin_aarch64_simd_xi __o;
19239   __o = __builtin_aarch64_ld4rv4si ((const __builtin_aarch64_simd_si *) __a);
19240   ret.val[0] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 0);
19241   ret.val[1] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 1);
19242   ret.val[2] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 2);
19243   ret.val[3] = (int32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 3);
19244   return ret;
19245 }
19246 
19247 __extension__ extern __inline int64x2x4_t
19248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_s64(const int64_t * __a)19249 vld4q_dup_s64 (const int64_t * __a)
19250 {
19251   int64x2x4_t ret;
19252   __builtin_aarch64_simd_xi __o;
19253   __o = __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di *) __a);
19254   ret.val[0] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 0);
19255   ret.val[1] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 1);
19256   ret.val[2] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 2);
19257   ret.val[3] = (int64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 3);
19258   return ret;
19259 }
19260 
19261 __extension__ extern __inline uint8x16x4_t
19262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_u8(const uint8_t * __a)19263 vld4q_dup_u8 (const uint8_t * __a)
19264 {
19265   uint8x16x4_t ret;
19266   __builtin_aarch64_simd_xi __o;
19267   __o = __builtin_aarch64_ld4rv16qi ((const __builtin_aarch64_simd_qi *) __a);
19268   ret.val[0] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 0);
19269   ret.val[1] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 1);
19270   ret.val[2] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 2);
19271   ret.val[3] = (uint8x16_t) __builtin_aarch64_get_qregxiv16qi (__o, 3);
19272   return ret;
19273 }
19274 
19275 __extension__ extern __inline uint16x8x4_t
19276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_u16(const uint16_t * __a)19277 vld4q_dup_u16 (const uint16_t * __a)
19278 {
19279   uint16x8x4_t ret;
19280   __builtin_aarch64_simd_xi __o;
19281   __o = __builtin_aarch64_ld4rv8hi ((const __builtin_aarch64_simd_hi *) __a);
19282   ret.val[0] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 0);
19283   ret.val[1] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 1);
19284   ret.val[2] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 2);
19285   ret.val[3] = (uint16x8_t) __builtin_aarch64_get_qregxiv8hi (__o, 3);
19286   return ret;
19287 }
19288 
19289 __extension__ extern __inline uint32x4x4_t
19290 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_u32(const uint32_t * __a)19291 vld4q_dup_u32 (const uint32_t * __a)
19292 {
19293   uint32x4x4_t ret;
19294   __builtin_aarch64_simd_xi __o;
19295   __o = __builtin_aarch64_ld4rv4si ((const __builtin_aarch64_simd_si *) __a);
19296   ret.val[0] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 0);
19297   ret.val[1] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 1);
19298   ret.val[2] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 2);
19299   ret.val[3] = (uint32x4_t) __builtin_aarch64_get_qregxiv4si (__o, 3);
19300   return ret;
19301 }
19302 
19303 __extension__ extern __inline uint64x2x4_t
19304 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_u64(const uint64_t * __a)19305 vld4q_dup_u64 (const uint64_t * __a)
19306 {
19307   uint64x2x4_t ret;
19308   __builtin_aarch64_simd_xi __o;
19309   __o = __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di *) __a);
19310   ret.val[0] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 0);
19311   ret.val[1] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 1);
19312   ret.val[2] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 2);
19313   ret.val[3] = (uint64x2_t) __builtin_aarch64_get_qregxiv2di (__o, 3);
19314   return ret;
19315 }
19316 
19317 __extension__ extern __inline float16x8x4_t
19318 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_f16(const float16_t * __a)19319 vld4q_dup_f16 (const float16_t * __a)
19320 {
19321   float16x8x4_t ret;
19322   __builtin_aarch64_simd_xi __o;
19323   __o = __builtin_aarch64_ld4rv8hf ((const __builtin_aarch64_simd_hf *) __a);
19324   ret.val[0] = (float16x8_t) __builtin_aarch64_get_qregxiv8hf (__o, 0);
19325   ret.val[1] = (float16x8_t) __builtin_aarch64_get_qregxiv8hf (__o, 1);
19326   ret.val[2] = (float16x8_t) __builtin_aarch64_get_qregxiv8hf (__o, 2);
19327   ret.val[3] = (float16x8_t) __builtin_aarch64_get_qregxiv8hf (__o, 3);
19328   return ret;
19329 }
19330 
19331 __extension__ extern __inline float32x4x4_t
19332 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_f32(const float32_t * __a)19333 vld4q_dup_f32 (const float32_t * __a)
19334 {
19335   float32x4x4_t ret;
19336   __builtin_aarch64_simd_xi __o;
19337   __o = __builtin_aarch64_ld4rv4sf ((const __builtin_aarch64_simd_sf *) __a);
19338   ret.val[0] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 0);
19339   ret.val[1] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 1);
19340   ret.val[2] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 2);
19341   ret.val[3] = (float32x4_t) __builtin_aarch64_get_qregxiv4sf (__o, 3);
19342   return ret;
19343 }
19344 
19345 __extension__ extern __inline float64x2x4_t
19346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_f64(const float64_t * __a)19347 vld4q_dup_f64 (const float64_t * __a)
19348 {
19349   float64x2x4_t ret;
19350   __builtin_aarch64_simd_xi __o;
19351   __o = __builtin_aarch64_ld4rv2df ((const __builtin_aarch64_simd_df *) __a);
19352   ret.val[0] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 0);
19353   ret.val[1] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 1);
19354   ret.val[2] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 2);
19355   ret.val[3] = (float64x2_t) __builtin_aarch64_get_qregxiv2df (__o, 3);
19356   return ret;
19357 }
19358 
19359 __extension__ extern __inline poly64x2x4_t
19360 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_p64(const poly64_t * __a)19361 vld4q_dup_p64 (const poly64_t * __a)
19362 {
19363   poly64x2x4_t ret;
19364   __builtin_aarch64_simd_xi __o;
19365   __o = __builtin_aarch64_ld4rv2di ((const __builtin_aarch64_simd_di *) __a);
19366   ret.val[0] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 0);
19367   ret.val[1] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 1);
19368   ret.val[2] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 2);
19369   ret.val[3] = (poly64x2_t) __builtin_aarch64_get_qregxiv2di_pss (__o, 3);
19370   return ret;
19371 }
19372 
19373 /* vld2_lane */
19374 
19375 #define __LD2_LANE_FUNC(intype, vectype, largetype, ptrtype, mode,	   \
19376 			 qmode, ptrmode, funcsuffix, signedtype)	   \
19377 __extension__ extern __inline intype \
19378 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
19379 vld2_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c)  \
19380 {									   \
19381   __builtin_aarch64_simd_oi __o;					   \
19382   largetype __temp;							   \
19383   __temp.val[0] =							   \
19384     vcombine_##funcsuffix (__b.val[0], vcreate_##funcsuffix (0));	   \
19385   __temp.val[1] =							   \
19386     vcombine_##funcsuffix (__b.val[1], vcreate_##funcsuffix (0));	   \
19387   __o = __builtin_aarch64_set_qregoi##qmode (__o,			   \
19388 					    (signedtype) __temp.val[0],	   \
19389 					    0);				   \
19390   __o = __builtin_aarch64_set_qregoi##qmode (__o,			   \
19391 					    (signedtype) __temp.val[1],	   \
19392 					    1);				   \
19393   __o =	__builtin_aarch64_ld2_lane##mode (				   \
19394 	  (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);	   \
19395   __b.val[0] = (vectype) __builtin_aarch64_get_dregoidi (__o, 0);	   \
19396   __b.val[1] = (vectype) __builtin_aarch64_get_dregoidi (__o, 1);	   \
19397   return __b;								   \
19398 }
19399 
__LD2_LANE_FUNC(float16x4x2_t,float16x4_t,float16x8x2_t,float16_t,v4hf,v8hf,hf,f16,float16x8_t)19400 __LD2_LANE_FUNC (float16x4x2_t, float16x4_t, float16x8x2_t, float16_t, v4hf,
19401 		 v8hf, hf, f16, float16x8_t)
19402 __LD2_LANE_FUNC (float32x2x2_t, float32x2_t, float32x4x2_t, float32_t, v2sf, v4sf,
19403 		 sf, f32, float32x4_t)
19404 __LD2_LANE_FUNC (float64x1x2_t, float64x1_t, float64x2x2_t, float64_t, df, v2df,
19405 		 df, f64, float64x2_t)
19406 __LD2_LANE_FUNC (poly8x8x2_t, poly8x8_t, poly8x16x2_t, poly8_t, v8qi, v16qi, qi, p8,
19407 		 int8x16_t)
19408 __LD2_LANE_FUNC (poly16x4x2_t, poly16x4_t, poly16x8x2_t, poly16_t, v4hi, v8hi, hi,
19409 		 p16, int16x8_t)
19410 __LD2_LANE_FUNC (poly64x1x2_t, poly64x1_t, poly64x2x2_t, poly64_t, di,
19411 		 v2di_ssps, di, p64, poly64x2_t)
19412 __LD2_LANE_FUNC (int8x8x2_t, int8x8_t, int8x16x2_t, int8_t, v8qi, v16qi, qi, s8,
19413 		 int8x16_t)
19414 __LD2_LANE_FUNC (int16x4x2_t, int16x4_t, int16x8x2_t, int16_t, v4hi, v8hi, hi, s16,
19415 		 int16x8_t)
19416 __LD2_LANE_FUNC (int32x2x2_t, int32x2_t, int32x4x2_t, int32_t, v2si, v4si, si, s32,
19417 		 int32x4_t)
19418 __LD2_LANE_FUNC (int64x1x2_t, int64x1_t, int64x2x2_t, int64_t, di, v2di, di, s64,
19419 		 int64x2_t)
19420 __LD2_LANE_FUNC (uint8x8x2_t, uint8x8_t, uint8x16x2_t, uint8_t, v8qi, v16qi, qi, u8,
19421 		 int8x16_t)
19422 __LD2_LANE_FUNC (uint16x4x2_t, uint16x4_t, uint16x8x2_t, uint16_t, v4hi, v8hi, hi,
19423 		 u16, int16x8_t)
19424 __LD2_LANE_FUNC (uint32x2x2_t, uint32x2_t, uint32x4x2_t, uint32_t, v2si, v4si, si,
19425 		 u32, int32x4_t)
19426 __LD2_LANE_FUNC (uint64x1x2_t, uint64x1_t, uint64x2x2_t, uint64_t, di, v2di, di,
19427 		 u64, int64x2_t)
19428 
19429 /* vld2q_lane */
19430 
19431 #define __LD2Q_LANE_FUNC(intype, vtype, ptrtype, mode, ptrmode, funcsuffix) \
19432 __extension__ extern __inline intype \
19433 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
19434 vld2q_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
19435 {									   \
19436   __builtin_aarch64_simd_oi __o;					   \
19437   intype ret;								   \
19438   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __b.val[0], 0); \
19439   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __b.val[1], 1); \
19440   __o = __builtin_aarch64_ld2_lane##mode (				   \
19441 	(__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);		   \
19442   ret.val[0] = (vtype) __builtin_aarch64_get_qregoiv4si (__o, 0);	   \
19443   ret.val[1] = (vtype) __builtin_aarch64_get_qregoiv4si (__o, 1);	   \
19444   return ret;								   \
19445 }
19446 
19447 __LD2Q_LANE_FUNC (float16x8x2_t, float16x8_t, float16_t, v8hf, hf, f16)
19448 __LD2Q_LANE_FUNC (float32x4x2_t, float32x4_t, float32_t, v4sf, sf, f32)
19449 __LD2Q_LANE_FUNC (float64x2x2_t, float64x2_t, float64_t, v2df, df, f64)
19450 __LD2Q_LANE_FUNC (poly8x16x2_t, poly8x16_t, poly8_t, v16qi, qi, p8)
19451 __LD2Q_LANE_FUNC (poly16x8x2_t, poly16x8_t, poly16_t, v8hi, hi, p16)
19452 __LD2Q_LANE_FUNC (poly64x2x2_t, poly64x2_t, poly64_t, v2di, di, p64)
19453 __LD2Q_LANE_FUNC (int8x16x2_t, int8x16_t, int8_t, v16qi, qi, s8)
19454 __LD2Q_LANE_FUNC (int16x8x2_t, int16x8_t, int16_t, v8hi, hi, s16)
19455 __LD2Q_LANE_FUNC (int32x4x2_t, int32x4_t, int32_t, v4si, si, s32)
19456 __LD2Q_LANE_FUNC (int64x2x2_t, int64x2_t, int64_t, v2di, di, s64)
19457 __LD2Q_LANE_FUNC (uint8x16x2_t, uint8x16_t, uint8_t, v16qi, qi, u8)
19458 __LD2Q_LANE_FUNC (uint16x8x2_t, uint16x8_t, uint16_t, v8hi, hi, u16)
19459 __LD2Q_LANE_FUNC (uint32x4x2_t, uint32x4_t, uint32_t, v4si, si, u32)
19460 __LD2Q_LANE_FUNC (uint64x2x2_t, uint64x2_t, uint64_t, v2di, di, u64)
19461 
19462 /* vld3_lane */
19463 
19464 #define __LD3_LANE_FUNC(intype, vectype, largetype, ptrtype, mode,	   \
19465 			 qmode, ptrmode, funcsuffix, signedtype)	   \
19466 __extension__ extern __inline intype \
19467 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
19468 vld3_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c)  \
19469 {									   \
19470   __builtin_aarch64_simd_ci __o;					   \
19471   largetype __temp;							   \
19472   __temp.val[0] =							   \
19473     vcombine_##funcsuffix (__b.val[0], vcreate_##funcsuffix (0));	   \
19474   __temp.val[1] =							   \
19475     vcombine_##funcsuffix (__b.val[1], vcreate_##funcsuffix (0));	   \
19476   __temp.val[2] =							   \
19477     vcombine_##funcsuffix (__b.val[2], vcreate_##funcsuffix (0));	   \
19478   __o = __builtin_aarch64_set_qregci##qmode (__o,			   \
19479 					    (signedtype) __temp.val[0],	   \
19480 					    0);				   \
19481   __o = __builtin_aarch64_set_qregci##qmode (__o,			   \
19482 					    (signedtype) __temp.val[1],	   \
19483 					    1);				   \
19484   __o = __builtin_aarch64_set_qregci##qmode (__o,			   \
19485 					    (signedtype) __temp.val[2],	   \
19486 					    2);				   \
19487   __o =	__builtin_aarch64_ld3_lane##mode (				   \
19488 	  (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);	   \
19489   __b.val[0] = (vectype) __builtin_aarch64_get_dregcidi (__o, 0);	   \
19490   __b.val[1] = (vectype) __builtin_aarch64_get_dregcidi (__o, 1);	   \
19491   __b.val[2] = (vectype) __builtin_aarch64_get_dregcidi (__o, 2);	   \
19492   return __b;								   \
19493 }
19494 
19495 __LD3_LANE_FUNC (float16x4x3_t, float16x4_t, float16x8x3_t, float16_t, v4hf,
19496 		 v8hf, hf, f16, float16x8_t)
19497 __LD3_LANE_FUNC (float32x2x3_t, float32x2_t, float32x4x3_t, float32_t, v2sf, v4sf,
19498 		 sf, f32, float32x4_t)
19499 __LD3_LANE_FUNC (float64x1x3_t, float64x1_t, float64x2x3_t, float64_t, df, v2df,
19500 		 df, f64, float64x2_t)
19501 __LD3_LANE_FUNC (poly8x8x3_t, poly8x8_t, poly8x16x3_t, poly8_t, v8qi, v16qi, qi, p8,
19502 		 int8x16_t)
19503 __LD3_LANE_FUNC (poly16x4x3_t, poly16x4_t, poly16x8x3_t, poly16_t, v4hi, v8hi, hi,
19504 		 p16, int16x8_t)
19505 __LD3_LANE_FUNC (poly64x1x3_t, poly64x1_t, poly64x2x3_t, poly64_t, di,
19506 		 v2di_ssps, di, p64, poly64x2_t)
19507 __LD3_LANE_FUNC (int8x8x3_t, int8x8_t, int8x16x3_t, int8_t, v8qi, v16qi, qi, s8,
19508 		 int8x16_t)
19509 __LD3_LANE_FUNC (int16x4x3_t, int16x4_t, int16x8x3_t, int16_t, v4hi, v8hi, hi, s16,
19510 		 int16x8_t)
19511 __LD3_LANE_FUNC (int32x2x3_t, int32x2_t, int32x4x3_t, int32_t, v2si, v4si, si, s32,
19512 		 int32x4_t)
19513 __LD3_LANE_FUNC (int64x1x3_t, int64x1_t, int64x2x3_t, int64_t, di, v2di, di, s64,
19514 		 int64x2_t)
19515 __LD3_LANE_FUNC (uint8x8x3_t, uint8x8_t, uint8x16x3_t, uint8_t, v8qi, v16qi, qi, u8,
19516 		 int8x16_t)
19517 __LD3_LANE_FUNC (uint16x4x3_t, uint16x4_t, uint16x8x3_t, uint16_t, v4hi, v8hi, hi,
19518 		 u16, int16x8_t)
19519 __LD3_LANE_FUNC (uint32x2x3_t, uint32x2_t, uint32x4x3_t, uint32_t, v2si, v4si, si,
19520 		 u32, int32x4_t)
19521 __LD3_LANE_FUNC (uint64x1x3_t, uint64x1_t, uint64x2x3_t, uint64_t, di, v2di, di,
19522 		 u64, int64x2_t)
19523 
19524 /* vld3q_lane */
19525 
19526 #define __LD3Q_LANE_FUNC(intype, vtype, ptrtype, mode, ptrmode, funcsuffix) \
19527 __extension__ extern __inline intype \
19528 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
19529 vld3q_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
19530 {									   \
19531   __builtin_aarch64_simd_ci __o;					   \
19532   intype ret;								   \
19533   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __b.val[0], 0); \
19534   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __b.val[1], 1); \
19535   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __b.val[2], 2); \
19536   __o = __builtin_aarch64_ld3_lane##mode (				   \
19537 	(__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);		   \
19538   ret.val[0] = (vtype) __builtin_aarch64_get_qregciv4si (__o, 0);	   \
19539   ret.val[1] = (vtype) __builtin_aarch64_get_qregciv4si (__o, 1);	   \
19540   ret.val[2] = (vtype) __builtin_aarch64_get_qregciv4si (__o, 2);	   \
19541   return ret;								   \
19542 }
19543 
19544 __LD3Q_LANE_FUNC (float16x8x3_t, float16x8_t, float16_t, v8hf, hf, f16)
19545 __LD3Q_LANE_FUNC (float32x4x3_t, float32x4_t, float32_t, v4sf, sf, f32)
19546 __LD3Q_LANE_FUNC (float64x2x3_t, float64x2_t, float64_t, v2df, df, f64)
19547 __LD3Q_LANE_FUNC (poly8x16x3_t, poly8x16_t, poly8_t, v16qi, qi, p8)
19548 __LD3Q_LANE_FUNC (poly16x8x3_t, poly16x8_t, poly16_t, v8hi, hi, p16)
19549 __LD3Q_LANE_FUNC (poly64x2x3_t, poly64x2_t, poly64_t, v2di, di, p64)
19550 __LD3Q_LANE_FUNC (int8x16x3_t, int8x16_t, int8_t, v16qi, qi, s8)
19551 __LD3Q_LANE_FUNC (int16x8x3_t, int16x8_t, int16_t, v8hi, hi, s16)
19552 __LD3Q_LANE_FUNC (int32x4x3_t, int32x4_t, int32_t, v4si, si, s32)
19553 __LD3Q_LANE_FUNC (int64x2x3_t, int64x2_t, int64_t, v2di, di, s64)
19554 __LD3Q_LANE_FUNC (uint8x16x3_t, uint8x16_t, uint8_t, v16qi, qi, u8)
19555 __LD3Q_LANE_FUNC (uint16x8x3_t, uint16x8_t, uint16_t, v8hi, hi, u16)
19556 __LD3Q_LANE_FUNC (uint32x4x3_t, uint32x4_t, uint32_t, v4si, si, u32)
19557 __LD3Q_LANE_FUNC (uint64x2x3_t, uint64x2_t, uint64_t, v2di, di, u64)
19558 
19559 /* vld4_lane */
19560 
19561 #define __LD4_LANE_FUNC(intype, vectype, largetype, ptrtype, mode,	   \
19562 			 qmode, ptrmode, funcsuffix, signedtype)	   \
19563 __extension__ extern __inline intype \
19564 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
19565 vld4_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c)  \
19566 {									   \
19567   __builtin_aarch64_simd_xi __o;					   \
19568   largetype __temp;							   \
19569   __temp.val[0] =							   \
19570     vcombine_##funcsuffix (__b.val[0], vcreate_##funcsuffix (0));	   \
19571   __temp.val[1] =							   \
19572     vcombine_##funcsuffix (__b.val[1], vcreate_##funcsuffix (0));	   \
19573   __temp.val[2] =							   \
19574     vcombine_##funcsuffix (__b.val[2], vcreate_##funcsuffix (0));	   \
19575   __temp.val[3] =							   \
19576     vcombine_##funcsuffix (__b.val[3], vcreate_##funcsuffix (0));	   \
19577   __o = __builtin_aarch64_set_qregxi##qmode (__o,			   \
19578 					    (signedtype) __temp.val[0],	   \
19579 					    0);				   \
19580   __o = __builtin_aarch64_set_qregxi##qmode (__o,			   \
19581 					    (signedtype) __temp.val[1],	   \
19582 					    1);				   \
19583   __o = __builtin_aarch64_set_qregxi##qmode (__o,			   \
19584 					    (signedtype) __temp.val[2],	   \
19585 					    2);				   \
19586   __o = __builtin_aarch64_set_qregxi##qmode (__o,			   \
19587 					    (signedtype) __temp.val[3],	   \
19588 					    3);				   \
19589   __o =	__builtin_aarch64_ld4_lane##mode (				   \
19590 	  (__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);	   \
19591   __b.val[0] = (vectype) __builtin_aarch64_get_dregxidi (__o, 0);	   \
19592   __b.val[1] = (vectype) __builtin_aarch64_get_dregxidi (__o, 1);	   \
19593   __b.val[2] = (vectype) __builtin_aarch64_get_dregxidi (__o, 2);	   \
19594   __b.val[3] = (vectype) __builtin_aarch64_get_dregxidi (__o, 3);	   \
19595   return __b;								   \
19596 }
19597 
19598 /* vld4q_lane */
19599 
19600 __LD4_LANE_FUNC (float16x4x4_t, float16x4_t, float16x8x4_t, float16_t, v4hf,
19601 		 v8hf, hf, f16, float16x8_t)
19602 __LD4_LANE_FUNC (float32x2x4_t, float32x2_t, float32x4x4_t, float32_t, v2sf, v4sf,
19603 		 sf, f32, float32x4_t)
19604 __LD4_LANE_FUNC (float64x1x4_t, float64x1_t, float64x2x4_t, float64_t, df, v2df,
19605 		 df, f64, float64x2_t)
19606 __LD4_LANE_FUNC (poly8x8x4_t, poly8x8_t, poly8x16x4_t, poly8_t, v8qi, v16qi, qi, p8,
19607 		 int8x16_t)
19608 __LD4_LANE_FUNC (poly16x4x4_t, poly16x4_t, poly16x8x4_t, poly16_t, v4hi, v8hi, hi,
19609 		 p16, int16x8_t)
19610 __LD4_LANE_FUNC (poly64x1x4_t, poly64x1_t, poly64x2x4_t, poly64_t, di,
19611 		 v2di_ssps, di, p64, poly64x2_t)
19612 __LD4_LANE_FUNC (int8x8x4_t, int8x8_t, int8x16x4_t, int8_t, v8qi, v16qi, qi, s8,
19613 		 int8x16_t)
19614 __LD4_LANE_FUNC (int16x4x4_t, int16x4_t, int16x8x4_t, int16_t, v4hi, v8hi, hi, s16,
19615 		 int16x8_t)
19616 __LD4_LANE_FUNC (int32x2x4_t, int32x2_t, int32x4x4_t, int32_t, v2si, v4si, si, s32,
19617 		 int32x4_t)
19618 __LD4_LANE_FUNC (int64x1x4_t, int64x1_t, int64x2x4_t, int64_t, di, v2di, di, s64,
19619 		 int64x2_t)
19620 __LD4_LANE_FUNC (uint8x8x4_t, uint8x8_t, uint8x16x4_t, uint8_t, v8qi, v16qi, qi, u8,
19621 		 int8x16_t)
19622 __LD4_LANE_FUNC (uint16x4x4_t, uint16x4_t, uint16x8x4_t, uint16_t, v4hi, v8hi, hi,
19623 		 u16, int16x8_t)
19624 __LD4_LANE_FUNC (uint32x2x4_t, uint32x2_t, uint32x4x4_t, uint32_t, v2si, v4si, si,
19625 		 u32, int32x4_t)
19626 __LD4_LANE_FUNC (uint64x1x4_t, uint64x1_t, uint64x2x4_t, uint64_t, di, v2di, di,
19627 		 u64, int64x2_t)
19628 
19629 /* vld4q_lane */
19630 
19631 #define __LD4Q_LANE_FUNC(intype, vtype, ptrtype, mode, ptrmode, funcsuffix) \
19632 __extension__ extern __inline intype \
19633 __attribute__ ((__always_inline__, __gnu_inline__,__artificial__)) \
19634 vld4q_lane_##funcsuffix (const ptrtype * __ptr, intype __b, const int __c) \
19635 {									   \
19636   __builtin_aarch64_simd_xi __o;					   \
19637   intype ret;								   \
19638   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[0], 0); \
19639   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[1], 1); \
19640   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[2], 2); \
19641   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __b.val[3], 3); \
19642   __o = __builtin_aarch64_ld4_lane##mode (				   \
19643 	(__builtin_aarch64_simd_##ptrmode *) __ptr, __o, __c);		   \
19644   ret.val[0] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 0);	   \
19645   ret.val[1] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 1);	   \
19646   ret.val[2] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 2);	   \
19647   ret.val[3] = (vtype) __builtin_aarch64_get_qregxiv4si (__o, 3);	   \
19648   return ret;								   \
19649 }
19650 
19651 __LD4Q_LANE_FUNC (float16x8x4_t, float16x8_t, float16_t, v8hf, hf, f16)
19652 __LD4Q_LANE_FUNC (float32x4x4_t, float32x4_t, float32_t, v4sf, sf, f32)
19653 __LD4Q_LANE_FUNC (float64x2x4_t, float64x2_t, float64_t, v2df, df, f64)
19654 __LD4Q_LANE_FUNC (poly8x16x4_t, poly8x16_t, poly8_t, v16qi, qi, p8)
19655 __LD4Q_LANE_FUNC (poly16x8x4_t, poly16x8_t, poly16_t, v8hi, hi, p16)
19656 __LD4Q_LANE_FUNC (poly64x2x4_t, poly64x2_t, poly64_t, v2di, di, p64)
19657 __LD4Q_LANE_FUNC (int8x16x4_t, int8x16_t, int8_t, v16qi, qi, s8)
19658 __LD4Q_LANE_FUNC (int16x8x4_t, int16x8_t, int16_t, v8hi, hi, s16)
19659 __LD4Q_LANE_FUNC (int32x4x4_t, int32x4_t, int32_t, v4si, si, s32)
19660 __LD4Q_LANE_FUNC (int64x2x4_t, int64x2_t, int64_t, v2di, di, s64)
19661 __LD4Q_LANE_FUNC (uint8x16x4_t, uint8x16_t, uint8_t, v16qi, qi, u8)
19662 __LD4Q_LANE_FUNC (uint16x8x4_t, uint16x8_t, uint16_t, v8hi, hi, u16)
19663 __LD4Q_LANE_FUNC (uint32x4x4_t, uint32x4_t, uint32_t, v4si, si, u32)
19664 __LD4Q_LANE_FUNC (uint64x2x4_t, uint64x2_t, uint64_t, v2di, di, u64)
19665 
19666 /* vmax */
19667 
19668 __extension__ extern __inline float32x2_t
19669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
19670 vmax_f32 (float32x2_t __a, float32x2_t __b)
19671 {
19672   return __builtin_aarch64_smax_nanv2sf (__a, __b);
19673 }
19674 
19675 __extension__ extern __inline float64x1_t
19676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_f64(float64x1_t __a,float64x1_t __b)19677 vmax_f64 (float64x1_t __a, float64x1_t __b)
19678 {
19679     return (float64x1_t)
19680       { __builtin_aarch64_smax_nandf (vget_lane_f64 (__a, 0),
19681 				      vget_lane_f64 (__b, 0)) };
19682 }
19683 
19684 __extension__ extern __inline int8x8_t
19685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s8(int8x8_t __a,int8x8_t __b)19686 vmax_s8 (int8x8_t __a, int8x8_t __b)
19687 {
19688   return __builtin_aarch64_smaxv8qi (__a, __b);
19689 }
19690 
19691 __extension__ extern __inline int16x4_t
19692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s16(int16x4_t __a,int16x4_t __b)19693 vmax_s16 (int16x4_t __a, int16x4_t __b)
19694 {
19695   return __builtin_aarch64_smaxv4hi (__a, __b);
19696 }
19697 
19698 __extension__ extern __inline int32x2_t
19699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_s32(int32x2_t __a,int32x2_t __b)19700 vmax_s32 (int32x2_t __a, int32x2_t __b)
19701 {
19702   return __builtin_aarch64_smaxv2si (__a, __b);
19703 }
19704 
19705 __extension__ extern __inline uint8x8_t
19706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u8(uint8x8_t __a,uint8x8_t __b)19707 vmax_u8 (uint8x8_t __a, uint8x8_t __b)
19708 {
19709   return (uint8x8_t) __builtin_aarch64_umaxv8qi ((int8x8_t) __a,
19710 						 (int8x8_t) __b);
19711 }
19712 
19713 __extension__ extern __inline uint16x4_t
19714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u16(uint16x4_t __a,uint16x4_t __b)19715 vmax_u16 (uint16x4_t __a, uint16x4_t __b)
19716 {
19717   return (uint16x4_t) __builtin_aarch64_umaxv4hi ((int16x4_t) __a,
19718 						  (int16x4_t) __b);
19719 }
19720 
19721 __extension__ extern __inline uint32x2_t
19722 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_u32(uint32x2_t __a,uint32x2_t __b)19723 vmax_u32 (uint32x2_t __a, uint32x2_t __b)
19724 {
19725   return (uint32x2_t) __builtin_aarch64_umaxv2si ((int32x2_t) __a,
19726 						  (int32x2_t) __b);
19727 }
19728 
19729 __extension__ extern __inline float32x4_t
19730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_f32(float32x4_t __a,float32x4_t __b)19731 vmaxq_f32 (float32x4_t __a, float32x4_t __b)
19732 {
19733   return __builtin_aarch64_smax_nanv4sf (__a, __b);
19734 }
19735 
19736 __extension__ extern __inline float64x2_t
19737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_f64(float64x2_t __a,float64x2_t __b)19738 vmaxq_f64 (float64x2_t __a, float64x2_t __b)
19739 {
19740   return __builtin_aarch64_smax_nanv2df (__a, __b);
19741 }
19742 
19743 __extension__ extern __inline int8x16_t
19744 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s8(int8x16_t __a,int8x16_t __b)19745 vmaxq_s8 (int8x16_t __a, int8x16_t __b)
19746 {
19747   return __builtin_aarch64_smaxv16qi (__a, __b);
19748 }
19749 
19750 __extension__ extern __inline int16x8_t
19751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s16(int16x8_t __a,int16x8_t __b)19752 vmaxq_s16 (int16x8_t __a, int16x8_t __b)
19753 {
19754   return __builtin_aarch64_smaxv8hi (__a, __b);
19755 }
19756 
19757 __extension__ extern __inline int32x4_t
19758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_s32(int32x4_t __a,int32x4_t __b)19759 vmaxq_s32 (int32x4_t __a, int32x4_t __b)
19760 {
19761   return __builtin_aarch64_smaxv4si (__a, __b);
19762 }
19763 
19764 __extension__ extern __inline uint8x16_t
19765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u8(uint8x16_t __a,uint8x16_t __b)19766 vmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
19767 {
19768   return (uint8x16_t) __builtin_aarch64_umaxv16qi ((int8x16_t) __a,
19769 						   (int8x16_t) __b);
19770 }
19771 
19772 __extension__ extern __inline uint16x8_t
19773 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u16(uint16x8_t __a,uint16x8_t __b)19774 vmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
19775 {
19776   return (uint16x8_t) __builtin_aarch64_umaxv8hi ((int16x8_t) __a,
19777 						  (int16x8_t) __b);
19778 }
19779 
19780 __extension__ extern __inline uint32x4_t
19781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_u32(uint32x4_t __a,uint32x4_t __b)19782 vmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
19783 {
19784   return (uint32x4_t) __builtin_aarch64_umaxv4si ((int32x4_t) __a,
19785 						  (int32x4_t) __b);
19786 }
19787 /* vmulx */
19788 
19789 __extension__ extern __inline float32x2_t
19790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_f32(float32x2_t __a,float32x2_t __b)19791 vmulx_f32 (float32x2_t __a, float32x2_t __b)
19792 {
19793   return __builtin_aarch64_fmulxv2sf (__a, __b);
19794 }
19795 
19796 __extension__ extern __inline float32x4_t
19797 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_f32(float32x4_t __a,float32x4_t __b)19798 vmulxq_f32 (float32x4_t __a, float32x4_t __b)
19799 {
19800   return __builtin_aarch64_fmulxv4sf (__a, __b);
19801 }
19802 
19803 __extension__ extern __inline float64x1_t
19804 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_f64(float64x1_t __a,float64x1_t __b)19805 vmulx_f64 (float64x1_t __a, float64x1_t __b)
19806 {
19807   return (float64x1_t) {__builtin_aarch64_fmulxdf (__a[0], __b[0])};
19808 }
19809 
19810 __extension__ extern __inline float64x2_t
19811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_f64(float64x2_t __a,float64x2_t __b)19812 vmulxq_f64 (float64x2_t __a, float64x2_t __b)
19813 {
19814   return __builtin_aarch64_fmulxv2df (__a, __b);
19815 }
19816 
19817 __extension__ extern __inline float32_t
19818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxs_f32(float32_t __a,float32_t __b)19819 vmulxs_f32 (float32_t __a, float32_t __b)
19820 {
19821   return __builtin_aarch64_fmulxsf (__a, __b);
19822 }
19823 
19824 __extension__ extern __inline float64_t
19825 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxd_f64(float64_t __a,float64_t __b)19826 vmulxd_f64 (float64_t __a, float64_t __b)
19827 {
19828   return __builtin_aarch64_fmulxdf (__a, __b);
19829 }
19830 
19831 __extension__ extern __inline float32x2_t
19832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_lane_f32(float32x2_t __a,float32x2_t __v,const int __lane)19833 vmulx_lane_f32 (float32x2_t __a, float32x2_t __v, const int __lane)
19834 {
19835   return vmulx_f32 (__a, __aarch64_vdup_lane_f32 (__v, __lane));
19836 }
19837 
19838 __extension__ extern __inline float64x1_t
19839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_lane_f64(float64x1_t __a,float64x1_t __v,const int __lane)19840 vmulx_lane_f64 (float64x1_t __a, float64x1_t __v, const int __lane)
19841 {
19842   return vmulx_f64 (__a, __aarch64_vdup_lane_f64 (__v, __lane));
19843 }
19844 
19845 __extension__ extern __inline float32x4_t
19846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_lane_f32(float32x4_t __a,float32x2_t __v,const int __lane)19847 vmulxq_lane_f32 (float32x4_t __a, float32x2_t __v, const int __lane)
19848 {
19849   return vmulxq_f32 (__a, __aarch64_vdupq_lane_f32 (__v, __lane));
19850 }
19851 
19852 __extension__ extern __inline float64x2_t
19853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_lane_f64(float64x2_t __a,float64x1_t __v,const int __lane)19854 vmulxq_lane_f64 (float64x2_t __a, float64x1_t __v, const int __lane)
19855 {
19856   return vmulxq_f64 (__a, __aarch64_vdupq_lane_f64 (__v, __lane));
19857 }
19858 
19859 __extension__ extern __inline float32x2_t
19860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_laneq_f32(float32x2_t __a,float32x4_t __v,const int __lane)19861 vmulx_laneq_f32 (float32x2_t __a, float32x4_t __v, const int __lane)
19862 {
19863   return vmulx_f32 (__a, __aarch64_vdup_laneq_f32 (__v, __lane));
19864 }
19865 
19866 __extension__ extern __inline float64x1_t
19867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_laneq_f64(float64x1_t __a,float64x2_t __v,const int __lane)19868 vmulx_laneq_f64 (float64x1_t __a, float64x2_t __v, const int __lane)
19869 {
19870   return vmulx_f64 (__a, __aarch64_vdup_laneq_f64 (__v, __lane));
19871 }
19872 
19873 __extension__ extern __inline float32x4_t
19874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_laneq_f32(float32x4_t __a,float32x4_t __v,const int __lane)19875 vmulxq_laneq_f32 (float32x4_t __a, float32x4_t __v, const int __lane)
19876 {
19877   return vmulxq_f32 (__a, __aarch64_vdupq_laneq_f32 (__v, __lane));
19878 }
19879 
19880 __extension__ extern __inline float64x2_t
19881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_laneq_f64(float64x2_t __a,float64x2_t __v,const int __lane)19882 vmulxq_laneq_f64 (float64x2_t __a, float64x2_t __v, const int __lane)
19883 {
19884   return vmulxq_f64 (__a, __aarch64_vdupq_laneq_f64 (__v, __lane));
19885 }
19886 
19887 __extension__ extern __inline float32_t
19888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxs_lane_f32(float32_t __a,float32x2_t __v,const int __lane)19889 vmulxs_lane_f32 (float32_t __a, float32x2_t __v, const int __lane)
19890 {
19891   return vmulxs_f32 (__a, __aarch64_vget_lane_any (__v, __lane));
19892 }
19893 
19894 __extension__ extern __inline float32_t
19895 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxs_laneq_f32(float32_t __a,float32x4_t __v,const int __lane)19896 vmulxs_laneq_f32 (float32_t __a, float32x4_t __v, const int __lane)
19897 {
19898   return vmulxs_f32 (__a, __aarch64_vget_lane_any (__v, __lane));
19899 }
19900 
19901 __extension__ extern __inline float64_t
19902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxd_lane_f64(float64_t __a,float64x1_t __v,const int __lane)19903 vmulxd_lane_f64 (float64_t __a, float64x1_t __v, const int __lane)
19904 {
19905   return vmulxd_f64 (__a, __aarch64_vget_lane_any (__v, __lane));
19906 }
19907 
19908 __extension__ extern __inline float64_t
19909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxd_laneq_f64(float64_t __a,float64x2_t __v,const int __lane)19910 vmulxd_laneq_f64 (float64_t __a, float64x2_t __v, const int __lane)
19911 {
19912   return vmulxd_f64 (__a, __aarch64_vget_lane_any (__v, __lane));
19913 }
19914 
19915 /* vpmax  */
19916 
19917 __extension__ extern __inline int8x8_t
19918 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s8(int8x8_t __a,int8x8_t __b)19919 vpmax_s8 (int8x8_t __a, int8x8_t __b)
19920 {
19921   return __builtin_aarch64_smaxpv8qi (__a, __b);
19922 }
19923 
19924 __extension__ extern __inline int16x4_t
19925 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s16(int16x4_t __a,int16x4_t __b)19926 vpmax_s16 (int16x4_t __a, int16x4_t __b)
19927 {
19928   return __builtin_aarch64_smaxpv4hi (__a, __b);
19929 }
19930 
19931 __extension__ extern __inline int32x2_t
19932 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_s32(int32x2_t __a,int32x2_t __b)19933 vpmax_s32 (int32x2_t __a, int32x2_t __b)
19934 {
19935   return __builtin_aarch64_smaxpv2si (__a, __b);
19936 }
19937 
19938 __extension__ extern __inline uint8x8_t
19939 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u8(uint8x8_t __a,uint8x8_t __b)19940 vpmax_u8 (uint8x8_t __a, uint8x8_t __b)
19941 {
19942   return (uint8x8_t) __builtin_aarch64_umaxpv8qi ((int8x8_t) __a,
19943 						  (int8x8_t) __b);
19944 }
19945 
19946 __extension__ extern __inline uint16x4_t
19947 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u16(uint16x4_t __a,uint16x4_t __b)19948 vpmax_u16 (uint16x4_t __a, uint16x4_t __b)
19949 {
19950   return (uint16x4_t) __builtin_aarch64_umaxpv4hi ((int16x4_t) __a,
19951 						   (int16x4_t) __b);
19952 }
19953 
19954 __extension__ extern __inline uint32x2_t
19955 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_u32(uint32x2_t __a,uint32x2_t __b)19956 vpmax_u32 (uint32x2_t __a, uint32x2_t __b)
19957 {
19958   return (uint32x2_t) __builtin_aarch64_umaxpv2si ((int32x2_t) __a,
19959 						   (int32x2_t) __b);
19960 }
19961 
19962 __extension__ extern __inline int8x16_t
19963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_s8(int8x16_t __a,int8x16_t __b)19964 vpmaxq_s8 (int8x16_t __a, int8x16_t __b)
19965 {
19966   return __builtin_aarch64_smaxpv16qi (__a, __b);
19967 }
19968 
19969 __extension__ extern __inline int16x8_t
19970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_s16(int16x8_t __a,int16x8_t __b)19971 vpmaxq_s16 (int16x8_t __a, int16x8_t __b)
19972 {
19973   return __builtin_aarch64_smaxpv8hi (__a, __b);
19974 }
19975 
19976 __extension__ extern __inline int32x4_t
19977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_s32(int32x4_t __a,int32x4_t __b)19978 vpmaxq_s32 (int32x4_t __a, int32x4_t __b)
19979 {
19980   return __builtin_aarch64_smaxpv4si (__a, __b);
19981 }
19982 
19983 __extension__ extern __inline uint8x16_t
19984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_u8(uint8x16_t __a,uint8x16_t __b)19985 vpmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
19986 {
19987   return (uint8x16_t) __builtin_aarch64_umaxpv16qi ((int8x16_t) __a,
19988 						    (int8x16_t) __b);
19989 }
19990 
19991 __extension__ extern __inline uint16x8_t
19992 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_u16(uint16x8_t __a,uint16x8_t __b)19993 vpmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
19994 {
19995   return (uint16x8_t) __builtin_aarch64_umaxpv8hi ((int16x8_t) __a,
19996 						   (int16x8_t) __b);
19997 }
19998 
19999 __extension__ extern __inline uint32x4_t
20000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_u32(uint32x4_t __a,uint32x4_t __b)20001 vpmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
20002 {
20003   return (uint32x4_t) __builtin_aarch64_umaxpv4si ((int32x4_t) __a,
20004 						   (int32x4_t) __b);
20005 }
20006 
20007 __extension__ extern __inline float32x2_t
20008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_f32(float32x2_t __a,float32x2_t __b)20009 vpmax_f32 (float32x2_t __a, float32x2_t __b)
20010 {
20011   return __builtin_aarch64_smax_nanpv2sf (__a, __b);
20012 }
20013 
20014 __extension__ extern __inline float32x4_t
20015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_f32(float32x4_t __a,float32x4_t __b)20016 vpmaxq_f32 (float32x4_t __a, float32x4_t __b)
20017 {
20018   return __builtin_aarch64_smax_nanpv4sf (__a, __b);
20019 }
20020 
20021 __extension__ extern __inline float64x2_t
20022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_f64(float64x2_t __a,float64x2_t __b)20023 vpmaxq_f64 (float64x2_t __a, float64x2_t __b)
20024 {
20025   return __builtin_aarch64_smax_nanpv2df (__a, __b);
20026 }
20027 
20028 __extension__ extern __inline float64_t
20029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxqd_f64(float64x2_t __a)20030 vpmaxqd_f64 (float64x2_t __a)
20031 {
20032   return __builtin_aarch64_reduc_smax_nan_scal_v2df (__a);
20033 }
20034 
20035 __extension__ extern __inline float32_t
20036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxs_f32(float32x2_t __a)20037 vpmaxs_f32 (float32x2_t __a)
20038 {
20039   return __builtin_aarch64_reduc_smax_nan_scal_v2sf (__a);
20040 }
20041 
20042 /* vpmaxnm  */
20043 
20044 __extension__ extern __inline float32x2_t
20045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnm_f32(float32x2_t __a,float32x2_t __b)20046 vpmaxnm_f32 (float32x2_t __a, float32x2_t __b)
20047 {
20048   return __builtin_aarch64_smaxpv2sf (__a, __b);
20049 }
20050 
20051 __extension__ extern __inline float32x4_t
20052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnmq_f32(float32x4_t __a,float32x4_t __b)20053 vpmaxnmq_f32 (float32x4_t __a, float32x4_t __b)
20054 {
20055   return __builtin_aarch64_smaxpv4sf (__a, __b);
20056 }
20057 
20058 __extension__ extern __inline float64x2_t
20059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnmq_f64(float64x2_t __a,float64x2_t __b)20060 vpmaxnmq_f64 (float64x2_t __a, float64x2_t __b)
20061 {
20062   return __builtin_aarch64_smaxpv2df (__a, __b);
20063 }
20064 
20065 __extension__ extern __inline float64_t
20066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnmqd_f64(float64x2_t __a)20067 vpmaxnmqd_f64 (float64x2_t __a)
20068 {
20069   return __builtin_aarch64_reduc_smax_scal_v2df (__a);
20070 }
20071 
20072 __extension__ extern __inline float32_t
20073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnms_f32(float32x2_t __a)20074 vpmaxnms_f32 (float32x2_t __a)
20075 {
20076   return __builtin_aarch64_reduc_smax_scal_v2sf (__a);
20077 }
20078 
20079 /* vpmin  */
20080 
20081 __extension__ extern __inline int8x8_t
20082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s8(int8x8_t __a,int8x8_t __b)20083 vpmin_s8 (int8x8_t __a, int8x8_t __b)
20084 {
20085   return __builtin_aarch64_sminpv8qi (__a, __b);
20086 }
20087 
20088 __extension__ extern __inline int16x4_t
20089 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s16(int16x4_t __a,int16x4_t __b)20090 vpmin_s16 (int16x4_t __a, int16x4_t __b)
20091 {
20092   return __builtin_aarch64_sminpv4hi (__a, __b);
20093 }
20094 
20095 __extension__ extern __inline int32x2_t
20096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_s32(int32x2_t __a,int32x2_t __b)20097 vpmin_s32 (int32x2_t __a, int32x2_t __b)
20098 {
20099   return __builtin_aarch64_sminpv2si (__a, __b);
20100 }
20101 
20102 __extension__ extern __inline uint8x8_t
20103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u8(uint8x8_t __a,uint8x8_t __b)20104 vpmin_u8 (uint8x8_t __a, uint8x8_t __b)
20105 {
20106   return (uint8x8_t) __builtin_aarch64_uminpv8qi ((int8x8_t) __a,
20107 						  (int8x8_t) __b);
20108 }
20109 
20110 __extension__ extern __inline uint16x4_t
20111 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u16(uint16x4_t __a,uint16x4_t __b)20112 vpmin_u16 (uint16x4_t __a, uint16x4_t __b)
20113 {
20114   return (uint16x4_t) __builtin_aarch64_uminpv4hi ((int16x4_t) __a,
20115 						   (int16x4_t) __b);
20116 }
20117 
20118 __extension__ extern __inline uint32x2_t
20119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_u32(uint32x2_t __a,uint32x2_t __b)20120 vpmin_u32 (uint32x2_t __a, uint32x2_t __b)
20121 {
20122   return (uint32x2_t) __builtin_aarch64_uminpv2si ((int32x2_t) __a,
20123 						   (int32x2_t) __b);
20124 }
20125 
20126 __extension__ extern __inline int8x16_t
20127 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_s8(int8x16_t __a,int8x16_t __b)20128 vpminq_s8 (int8x16_t __a, int8x16_t __b)
20129 {
20130   return __builtin_aarch64_sminpv16qi (__a, __b);
20131 }
20132 
20133 __extension__ extern __inline int16x8_t
20134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_s16(int16x8_t __a,int16x8_t __b)20135 vpminq_s16 (int16x8_t __a, int16x8_t __b)
20136 {
20137   return __builtin_aarch64_sminpv8hi (__a, __b);
20138 }
20139 
20140 __extension__ extern __inline int32x4_t
20141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_s32(int32x4_t __a,int32x4_t __b)20142 vpminq_s32 (int32x4_t __a, int32x4_t __b)
20143 {
20144   return __builtin_aarch64_sminpv4si (__a, __b);
20145 }
20146 
20147 __extension__ extern __inline uint8x16_t
20148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_u8(uint8x16_t __a,uint8x16_t __b)20149 vpminq_u8 (uint8x16_t __a, uint8x16_t __b)
20150 {
20151   return (uint8x16_t) __builtin_aarch64_uminpv16qi ((int8x16_t) __a,
20152 						    (int8x16_t) __b);
20153 }
20154 
20155 __extension__ extern __inline uint16x8_t
20156 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_u16(uint16x8_t __a,uint16x8_t __b)20157 vpminq_u16 (uint16x8_t __a, uint16x8_t __b)
20158 {
20159   return (uint16x8_t) __builtin_aarch64_uminpv8hi ((int16x8_t) __a,
20160 						   (int16x8_t) __b);
20161 }
20162 
20163 __extension__ extern __inline uint32x4_t
20164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_u32(uint32x4_t __a,uint32x4_t __b)20165 vpminq_u32 (uint32x4_t __a, uint32x4_t __b)
20166 {
20167   return (uint32x4_t) __builtin_aarch64_uminpv4si ((int32x4_t) __a,
20168 						   (int32x4_t) __b);
20169 }
20170 
20171 __extension__ extern __inline float32x2_t
20172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_f32(float32x2_t __a,float32x2_t __b)20173 vpmin_f32 (float32x2_t __a, float32x2_t __b)
20174 {
20175   return __builtin_aarch64_smin_nanpv2sf (__a, __b);
20176 }
20177 
20178 __extension__ extern __inline float32x4_t
20179 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_f32(float32x4_t __a,float32x4_t __b)20180 vpminq_f32 (float32x4_t __a, float32x4_t __b)
20181 {
20182   return __builtin_aarch64_smin_nanpv4sf (__a, __b);
20183 }
20184 
20185 __extension__ extern __inline float64x2_t
20186 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_f64(float64x2_t __a,float64x2_t __b)20187 vpminq_f64 (float64x2_t __a, float64x2_t __b)
20188 {
20189   return __builtin_aarch64_smin_nanpv2df (__a, __b);
20190 }
20191 
20192 __extension__ extern __inline float64_t
20193 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminqd_f64(float64x2_t __a)20194 vpminqd_f64 (float64x2_t __a)
20195 {
20196   return __builtin_aarch64_reduc_smin_nan_scal_v2df (__a);
20197 }
20198 
20199 __extension__ extern __inline float32_t
20200 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmins_f32(float32x2_t __a)20201 vpmins_f32 (float32x2_t __a)
20202 {
20203   return __builtin_aarch64_reduc_smin_nan_scal_v2sf (__a);
20204 }
20205 
20206 /* vpminnm  */
20207 
20208 __extension__ extern __inline float32x2_t
20209 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnm_f32(float32x2_t __a,float32x2_t __b)20210 vpminnm_f32 (float32x2_t __a, float32x2_t __b)
20211 {
20212   return __builtin_aarch64_sminpv2sf (__a, __b);
20213 }
20214 
20215 __extension__ extern __inline float32x4_t
20216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnmq_f32(float32x4_t __a,float32x4_t __b)20217 vpminnmq_f32 (float32x4_t __a, float32x4_t __b)
20218 {
20219   return __builtin_aarch64_sminpv4sf (__a, __b);
20220 }
20221 
20222 __extension__ extern __inline float64x2_t
20223 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnmq_f64(float64x2_t __a,float64x2_t __b)20224 vpminnmq_f64 (float64x2_t __a, float64x2_t __b)
20225 {
20226   return __builtin_aarch64_sminpv2df (__a, __b);
20227 }
20228 
20229 __extension__ extern __inline float64_t
20230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnmqd_f64(float64x2_t __a)20231 vpminnmqd_f64 (float64x2_t __a)
20232 {
20233   return __builtin_aarch64_reduc_smin_scal_v2df (__a);
20234 }
20235 
20236 __extension__ extern __inline float32_t
20237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnms_f32(float32x2_t __a)20238 vpminnms_f32 (float32x2_t __a)
20239 {
20240   return __builtin_aarch64_reduc_smin_scal_v2sf (__a);
20241 }
20242 
20243 /* vmaxnm  */
20244 
20245 __extension__ extern __inline float32x2_t
20246 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnm_f32(float32x2_t __a,float32x2_t __b)20247 vmaxnm_f32 (float32x2_t __a, float32x2_t __b)
20248 {
20249   return __builtin_aarch64_fmaxv2sf (__a, __b);
20250 }
20251 
20252 __extension__ extern __inline float64x1_t
20253 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnm_f64(float64x1_t __a,float64x1_t __b)20254 vmaxnm_f64 (float64x1_t __a, float64x1_t __b)
20255 {
20256   return (float64x1_t)
20257     { __builtin_aarch64_fmaxdf (vget_lane_f64 (__a, 0),
20258 				vget_lane_f64 (__b, 0)) };
20259 }
20260 
20261 __extension__ extern __inline float32x4_t
20262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmq_f32(float32x4_t __a,float32x4_t __b)20263 vmaxnmq_f32 (float32x4_t __a, float32x4_t __b)
20264 {
20265   return __builtin_aarch64_fmaxv4sf (__a, __b);
20266 }
20267 
20268 __extension__ extern __inline float64x2_t
20269 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmq_f64(float64x2_t __a,float64x2_t __b)20270 vmaxnmq_f64 (float64x2_t __a, float64x2_t __b)
20271 {
20272   return __builtin_aarch64_fmaxv2df (__a, __b);
20273 }
20274 
20275 /* vmaxv  */
20276 
20277 __extension__ extern __inline float32_t
20278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_f32(float32x2_t __a)20279 vmaxv_f32 (float32x2_t __a)
20280 {
20281   return __builtin_aarch64_reduc_smax_nan_scal_v2sf (__a);
20282 }
20283 
20284 __extension__ extern __inline int8_t
20285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_s8(int8x8_t __a)20286 vmaxv_s8 (int8x8_t __a)
20287 {
20288   return __builtin_aarch64_reduc_smax_scal_v8qi (__a);
20289 }
20290 
20291 __extension__ extern __inline int16_t
20292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_s16(int16x4_t __a)20293 vmaxv_s16 (int16x4_t __a)
20294 {
20295   return __builtin_aarch64_reduc_smax_scal_v4hi (__a);
20296 }
20297 
20298 __extension__ extern __inline int32_t
20299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_s32(int32x2_t __a)20300 vmaxv_s32 (int32x2_t __a)
20301 {
20302   return __builtin_aarch64_reduc_smax_scal_v2si (__a);
20303 }
20304 
20305 __extension__ extern __inline uint8_t
20306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_u8(uint8x8_t __a)20307 vmaxv_u8 (uint8x8_t __a)
20308 {
20309   return __builtin_aarch64_reduc_umax_scal_v8qi_uu (__a);
20310 }
20311 
20312 __extension__ extern __inline uint16_t
20313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_u16(uint16x4_t __a)20314 vmaxv_u16 (uint16x4_t __a)
20315 {
20316   return __builtin_aarch64_reduc_umax_scal_v4hi_uu (__a);
20317 }
20318 
20319 __extension__ extern __inline uint32_t
20320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_u32(uint32x2_t __a)20321 vmaxv_u32 (uint32x2_t __a)
20322 {
20323   return __builtin_aarch64_reduc_umax_scal_v2si_uu (__a);
20324 }
20325 
20326 __extension__ extern __inline float32_t
20327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_f32(float32x4_t __a)20328 vmaxvq_f32 (float32x4_t __a)
20329 {
20330   return __builtin_aarch64_reduc_smax_nan_scal_v4sf (__a);
20331 }
20332 
20333 __extension__ extern __inline float64_t
20334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_f64(float64x2_t __a)20335 vmaxvq_f64 (float64x2_t __a)
20336 {
20337   return __builtin_aarch64_reduc_smax_nan_scal_v2df (__a);
20338 }
20339 
20340 __extension__ extern __inline int8_t
20341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_s8(int8x16_t __a)20342 vmaxvq_s8 (int8x16_t __a)
20343 {
20344   return __builtin_aarch64_reduc_smax_scal_v16qi (__a);
20345 }
20346 
20347 __extension__ extern __inline int16_t
20348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_s16(int16x8_t __a)20349 vmaxvq_s16 (int16x8_t __a)
20350 {
20351   return __builtin_aarch64_reduc_smax_scal_v8hi (__a);
20352 }
20353 
20354 __extension__ extern __inline int32_t
20355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_s32(int32x4_t __a)20356 vmaxvq_s32 (int32x4_t __a)
20357 {
20358   return __builtin_aarch64_reduc_smax_scal_v4si (__a);
20359 }
20360 
20361 __extension__ extern __inline uint8_t
20362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_u8(uint8x16_t __a)20363 vmaxvq_u8 (uint8x16_t __a)
20364 {
20365   return __builtin_aarch64_reduc_umax_scal_v16qi_uu (__a);
20366 }
20367 
20368 __extension__ extern __inline uint16_t
20369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_u16(uint16x8_t __a)20370 vmaxvq_u16 (uint16x8_t __a)
20371 {
20372   return __builtin_aarch64_reduc_umax_scal_v8hi_uu (__a);
20373 }
20374 
20375 __extension__ extern __inline uint32_t
20376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_u32(uint32x4_t __a)20377 vmaxvq_u32 (uint32x4_t __a)
20378 {
20379   return __builtin_aarch64_reduc_umax_scal_v4si_uu (__a);
20380 }
20381 
20382 /* vmaxnmv  */
20383 
20384 __extension__ extern __inline float32_t
20385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmv_f32(float32x2_t __a)20386 vmaxnmv_f32 (float32x2_t __a)
20387 {
20388   return __builtin_aarch64_reduc_smax_scal_v2sf (__a);
20389 }
20390 
20391 __extension__ extern __inline float32_t
20392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmvq_f32(float32x4_t __a)20393 vmaxnmvq_f32 (float32x4_t __a)
20394 {
20395   return __builtin_aarch64_reduc_smax_scal_v4sf (__a);
20396 }
20397 
20398 __extension__ extern __inline float64_t
20399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmvq_f64(float64x2_t __a)20400 vmaxnmvq_f64 (float64x2_t __a)
20401 {
20402   return __builtin_aarch64_reduc_smax_scal_v2df (__a);
20403 }
20404 
20405 /* vmin  */
20406 
20407 __extension__ extern __inline float32x2_t
20408 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_f32(float32x2_t __a,float32x2_t __b)20409 vmin_f32 (float32x2_t __a, float32x2_t __b)
20410 {
20411   return __builtin_aarch64_smin_nanv2sf (__a, __b);
20412 }
20413 
20414 __extension__ extern __inline float64x1_t
20415 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_f64(float64x1_t __a,float64x1_t __b)20416 vmin_f64 (float64x1_t __a, float64x1_t __b)
20417 {
20418     return (float64x1_t)
20419 	  { __builtin_aarch64_smin_nandf (vget_lane_f64 (__a, 0),
20420 					  vget_lane_f64 (__b, 0)) };
20421 }
20422 
20423 __extension__ extern __inline int8x8_t
20424 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s8(int8x8_t __a,int8x8_t __b)20425 vmin_s8 (int8x8_t __a, int8x8_t __b)
20426 {
20427   return __builtin_aarch64_sminv8qi (__a, __b);
20428 }
20429 
20430 __extension__ extern __inline int16x4_t
20431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s16(int16x4_t __a,int16x4_t __b)20432 vmin_s16 (int16x4_t __a, int16x4_t __b)
20433 {
20434   return __builtin_aarch64_sminv4hi (__a, __b);
20435 }
20436 
20437 __extension__ extern __inline int32x2_t
20438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_s32(int32x2_t __a,int32x2_t __b)20439 vmin_s32 (int32x2_t __a, int32x2_t __b)
20440 {
20441   return __builtin_aarch64_sminv2si (__a, __b);
20442 }
20443 
20444 __extension__ extern __inline uint8x8_t
20445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u8(uint8x8_t __a,uint8x8_t __b)20446 vmin_u8 (uint8x8_t __a, uint8x8_t __b)
20447 {
20448   return (uint8x8_t) __builtin_aarch64_uminv8qi ((int8x8_t) __a,
20449 						 (int8x8_t) __b);
20450 }
20451 
20452 __extension__ extern __inline uint16x4_t
20453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u16(uint16x4_t __a,uint16x4_t __b)20454 vmin_u16 (uint16x4_t __a, uint16x4_t __b)
20455 {
20456   return (uint16x4_t) __builtin_aarch64_uminv4hi ((int16x4_t) __a,
20457 						  (int16x4_t) __b);
20458 }
20459 
20460 __extension__ extern __inline uint32x2_t
20461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_u32(uint32x2_t __a,uint32x2_t __b)20462 vmin_u32 (uint32x2_t __a, uint32x2_t __b)
20463 {
20464   return (uint32x2_t) __builtin_aarch64_uminv2si ((int32x2_t) __a,
20465 						  (int32x2_t) __b);
20466 }
20467 
20468 __extension__ extern __inline float32x4_t
20469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_f32(float32x4_t __a,float32x4_t __b)20470 vminq_f32 (float32x4_t __a, float32x4_t __b)
20471 {
20472   return __builtin_aarch64_smin_nanv4sf (__a, __b);
20473 }
20474 
20475 __extension__ extern __inline float64x2_t
20476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_f64(float64x2_t __a,float64x2_t __b)20477 vminq_f64 (float64x2_t __a, float64x2_t __b)
20478 {
20479   return __builtin_aarch64_smin_nanv2df (__a, __b);
20480 }
20481 
20482 __extension__ extern __inline int8x16_t
20483 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s8(int8x16_t __a,int8x16_t __b)20484 vminq_s8 (int8x16_t __a, int8x16_t __b)
20485 {
20486   return __builtin_aarch64_sminv16qi (__a, __b);
20487 }
20488 
20489 __extension__ extern __inline int16x8_t
20490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s16(int16x8_t __a,int16x8_t __b)20491 vminq_s16 (int16x8_t __a, int16x8_t __b)
20492 {
20493   return __builtin_aarch64_sminv8hi (__a, __b);
20494 }
20495 
20496 __extension__ extern __inline int32x4_t
20497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_s32(int32x4_t __a,int32x4_t __b)20498 vminq_s32 (int32x4_t __a, int32x4_t __b)
20499 {
20500   return __builtin_aarch64_sminv4si (__a, __b);
20501 }
20502 
20503 __extension__ extern __inline uint8x16_t
20504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u8(uint8x16_t __a,uint8x16_t __b)20505 vminq_u8 (uint8x16_t __a, uint8x16_t __b)
20506 {
20507   return (uint8x16_t) __builtin_aarch64_uminv16qi ((int8x16_t) __a,
20508 						   (int8x16_t) __b);
20509 }
20510 
20511 __extension__ extern __inline uint16x8_t
20512 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u16(uint16x8_t __a,uint16x8_t __b)20513 vminq_u16 (uint16x8_t __a, uint16x8_t __b)
20514 {
20515   return (uint16x8_t) __builtin_aarch64_uminv8hi ((int16x8_t) __a,
20516 						  (int16x8_t) __b);
20517 }
20518 
20519 __extension__ extern __inline uint32x4_t
20520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_u32(uint32x4_t __a,uint32x4_t __b)20521 vminq_u32 (uint32x4_t __a, uint32x4_t __b)
20522 {
20523   return (uint32x4_t) __builtin_aarch64_uminv4si ((int32x4_t) __a,
20524 						  (int32x4_t) __b);
20525 }
20526 
20527 /* vminnm  */
20528 
20529 __extension__ extern __inline float32x2_t
20530 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnm_f32(float32x2_t __a,float32x2_t __b)20531 vminnm_f32 (float32x2_t __a, float32x2_t __b)
20532 {
20533   return __builtin_aarch64_fminv2sf (__a, __b);
20534 }
20535 
20536 __extension__ extern __inline float64x1_t
20537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnm_f64(float64x1_t __a,float64x1_t __b)20538 vminnm_f64 (float64x1_t __a, float64x1_t __b)
20539 {
20540   return (float64x1_t)
20541     { __builtin_aarch64_fmindf (vget_lane_f64 (__a, 0),
20542 				vget_lane_f64 (__b, 0)) };
20543 }
20544 
20545 __extension__ extern __inline float32x4_t
20546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmq_f32(float32x4_t __a,float32x4_t __b)20547 vminnmq_f32 (float32x4_t __a, float32x4_t __b)
20548 {
20549   return __builtin_aarch64_fminv4sf (__a, __b);
20550 }
20551 
20552 __extension__ extern __inline float64x2_t
20553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmq_f64(float64x2_t __a,float64x2_t __b)20554 vminnmq_f64 (float64x2_t __a, float64x2_t __b)
20555 {
20556   return __builtin_aarch64_fminv2df (__a, __b);
20557 }
20558 
20559 /* vminv  */
20560 
20561 __extension__ extern __inline float32_t
20562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_f32(float32x2_t __a)20563 vminv_f32 (float32x2_t __a)
20564 {
20565   return __builtin_aarch64_reduc_smin_nan_scal_v2sf (__a);
20566 }
20567 
20568 __extension__ extern __inline int8_t
20569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_s8(int8x8_t __a)20570 vminv_s8 (int8x8_t __a)
20571 {
20572   return __builtin_aarch64_reduc_smin_scal_v8qi (__a);
20573 }
20574 
20575 __extension__ extern __inline int16_t
20576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_s16(int16x4_t __a)20577 vminv_s16 (int16x4_t __a)
20578 {
20579   return __builtin_aarch64_reduc_smin_scal_v4hi (__a);
20580 }
20581 
20582 __extension__ extern __inline int32_t
20583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_s32(int32x2_t __a)20584 vminv_s32 (int32x2_t __a)
20585 {
20586   return __builtin_aarch64_reduc_smin_scal_v2si (__a);
20587 }
20588 
20589 __extension__ extern __inline uint8_t
20590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_u8(uint8x8_t __a)20591 vminv_u8 (uint8x8_t __a)
20592 {
20593   return __builtin_aarch64_reduc_umin_scal_v8qi_uu (__a);
20594 }
20595 
20596 __extension__ extern __inline uint16_t
20597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_u16(uint16x4_t __a)20598 vminv_u16 (uint16x4_t __a)
20599 {
20600   return __builtin_aarch64_reduc_umin_scal_v4hi_uu (__a);
20601 }
20602 
20603 __extension__ extern __inline uint32_t
20604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_u32(uint32x2_t __a)20605 vminv_u32 (uint32x2_t __a)
20606 {
20607   return __builtin_aarch64_reduc_umin_scal_v2si_uu (__a);
20608 }
20609 
20610 __extension__ extern __inline float32_t
20611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_f32(float32x4_t __a)20612 vminvq_f32 (float32x4_t __a)
20613 {
20614   return __builtin_aarch64_reduc_smin_nan_scal_v4sf (__a);
20615 }
20616 
20617 __extension__ extern __inline float64_t
20618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_f64(float64x2_t __a)20619 vminvq_f64 (float64x2_t __a)
20620 {
20621   return __builtin_aarch64_reduc_smin_nan_scal_v2df (__a);
20622 }
20623 
20624 __extension__ extern __inline int8_t
20625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_s8(int8x16_t __a)20626 vminvq_s8 (int8x16_t __a)
20627 {
20628   return __builtin_aarch64_reduc_smin_scal_v16qi (__a);
20629 }
20630 
20631 __extension__ extern __inline int16_t
20632 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_s16(int16x8_t __a)20633 vminvq_s16 (int16x8_t __a)
20634 {
20635   return __builtin_aarch64_reduc_smin_scal_v8hi (__a);
20636 }
20637 
20638 __extension__ extern __inline int32_t
20639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_s32(int32x4_t __a)20640 vminvq_s32 (int32x4_t __a)
20641 {
20642   return __builtin_aarch64_reduc_smin_scal_v4si (__a);
20643 }
20644 
20645 __extension__ extern __inline uint8_t
20646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_u8(uint8x16_t __a)20647 vminvq_u8 (uint8x16_t __a)
20648 {
20649   return __builtin_aarch64_reduc_umin_scal_v16qi_uu (__a);
20650 }
20651 
20652 __extension__ extern __inline uint16_t
20653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_u16(uint16x8_t __a)20654 vminvq_u16 (uint16x8_t __a)
20655 {
20656   return __builtin_aarch64_reduc_umin_scal_v8hi_uu (__a);
20657 }
20658 
20659 __extension__ extern __inline uint32_t
20660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_u32(uint32x4_t __a)20661 vminvq_u32 (uint32x4_t __a)
20662 {
20663   return __builtin_aarch64_reduc_umin_scal_v4si_uu (__a);
20664 }
20665 
20666 /* vminnmv  */
20667 
20668 __extension__ extern __inline float32_t
20669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmv_f32(float32x2_t __a)20670 vminnmv_f32 (float32x2_t __a)
20671 {
20672   return __builtin_aarch64_reduc_smin_scal_v2sf (__a);
20673 }
20674 
20675 __extension__ extern __inline float32_t
20676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmvq_f32(float32x4_t __a)20677 vminnmvq_f32 (float32x4_t __a)
20678 {
20679   return __builtin_aarch64_reduc_smin_scal_v4sf (__a);
20680 }
20681 
20682 __extension__ extern __inline float64_t
20683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmvq_f64(float64x2_t __a)20684 vminnmvq_f64 (float64x2_t __a)
20685 {
20686   return __builtin_aarch64_reduc_smin_scal_v2df (__a);
20687 }
20688 
20689 /* vmla */
20690 
20691 __extension__ extern __inline float32x2_t
20692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)20693 vmla_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
20694 {
20695   return __a + __b * __c;
20696 }
20697 
20698 __extension__ extern __inline float64x1_t
20699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c)20700 vmla_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
20701 {
20702   return __a + __b * __c;
20703 }
20704 
20705 __extension__ extern __inline float32x4_t
20706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)20707 vmlaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
20708 {
20709   return __a + __b * __c;
20710 }
20711 
20712 __extension__ extern __inline float64x2_t
20713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c)20714 vmlaq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
20715 {
20716   return __a + __b * __c;
20717 }
20718 
20719 /* vmla_lane  */
20720 
20721 __extension__ extern __inline float32x2_t
20722 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __lane)20723 vmla_lane_f32 (float32x2_t __a, float32x2_t __b,
20724 	       float32x2_t __c, const int __lane)
20725 {
20726   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20727 }
20728 
20729 __extension__ extern __inline int16x4_t
20730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __lane)20731 vmla_lane_s16 (int16x4_t __a, int16x4_t __b,
20732 		int16x4_t __c, const int __lane)
20733 {
20734   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20735 }
20736 
20737 __extension__ extern __inline int32x2_t
20738 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __lane)20739 vmla_lane_s32 (int32x2_t __a, int32x2_t __b,
20740 		int32x2_t __c, const int __lane)
20741 {
20742   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20743 }
20744 
20745 __extension__ extern __inline uint16x4_t
20746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __lane)20747 vmla_lane_u16 (uint16x4_t __a, uint16x4_t __b,
20748 		uint16x4_t __c, const int __lane)
20749 {
20750   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20751 }
20752 
20753 __extension__ extern __inline uint32x2_t
20754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __lane)20755 vmla_lane_u32 (uint32x2_t __a, uint32x2_t __b,
20756 	       uint32x2_t __c, const int __lane)
20757 {
20758   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20759 }
20760 
20761 /* vmla_laneq  */
20762 
20763 __extension__ extern __inline float32x2_t
20764 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_f32(float32x2_t __a,float32x2_t __b,float32x4_t __c,const int __lane)20765 vmla_laneq_f32 (float32x2_t __a, float32x2_t __b,
20766 	        float32x4_t __c, const int __lane)
20767 {
20768   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20769 }
20770 
20771 __extension__ extern __inline int16x4_t
20772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_s16(int16x4_t __a,int16x4_t __b,int16x8_t __c,const int __lane)20773 vmla_laneq_s16 (int16x4_t __a, int16x4_t __b,
20774 		int16x8_t __c, const int __lane)
20775 {
20776   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20777 }
20778 
20779 __extension__ extern __inline int32x2_t
20780 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_s32(int32x2_t __a,int32x2_t __b,int32x4_t __c,const int __lane)20781 vmla_laneq_s32 (int32x2_t __a, int32x2_t __b,
20782 		int32x4_t __c, const int __lane)
20783 {
20784   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20785 }
20786 
20787 __extension__ extern __inline uint16x4_t
20788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_u16(uint16x4_t __a,uint16x4_t __b,uint16x8_t __c,const int __lane)20789 vmla_laneq_u16 (uint16x4_t __a, uint16x4_t __b,
20790 		uint16x8_t __c, const int __lane)
20791 {
20792   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20793 }
20794 
20795 __extension__ extern __inline uint32x2_t
20796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmla_laneq_u32(uint32x2_t __a,uint32x2_t __b,uint32x4_t __c,const int __lane)20797 vmla_laneq_u32 (uint32x2_t __a, uint32x2_t __b,
20798 		uint32x4_t __c, const int __lane)
20799 {
20800   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20801 }
20802 
20803 /* vmlaq_lane  */
20804 
20805 __extension__ extern __inline float32x4_t
20806 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __lane)20807 vmlaq_lane_f32 (float32x4_t __a, float32x4_t __b,
20808 		float32x2_t __c, const int __lane)
20809 {
20810   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20811 }
20812 
20813 __extension__ extern __inline int16x8_t
20814 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __lane)20815 vmlaq_lane_s16 (int16x8_t __a, int16x8_t __b,
20816 		int16x4_t __c, const int __lane)
20817 {
20818   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20819 }
20820 
20821 __extension__ extern __inline int32x4_t
20822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __lane)20823 vmlaq_lane_s32 (int32x4_t __a, int32x4_t __b,
20824 		int32x2_t __c, const int __lane)
20825 {
20826   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20827 }
20828 
20829 __extension__ extern __inline uint16x8_t
20830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __lane)20831 vmlaq_lane_u16 (uint16x8_t __a, uint16x8_t __b,
20832 		uint16x4_t __c, const int __lane)
20833 {
20834   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20835 }
20836 
20837 __extension__ extern __inline uint32x4_t
20838 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __lane)20839 vmlaq_lane_u32 (uint32x4_t __a, uint32x4_t __b,
20840 		uint32x2_t __c, const int __lane)
20841 {
20842   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20843 }
20844 
20845   /* vmlaq_laneq  */
20846 
20847 __extension__ extern __inline float32x4_t
20848 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c,const int __lane)20849 vmlaq_laneq_f32 (float32x4_t __a, float32x4_t __b,
20850 		 float32x4_t __c, const int __lane)
20851 {
20852   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20853 }
20854 
20855 __extension__ extern __inline int16x8_t
20856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c,const int __lane)20857 vmlaq_laneq_s16 (int16x8_t __a, int16x8_t __b,
20858 		int16x8_t __c, const int __lane)
20859 {
20860   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20861 }
20862 
20863 __extension__ extern __inline int32x4_t
20864 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c,const int __lane)20865 vmlaq_laneq_s32 (int32x4_t __a, int32x4_t __b,
20866 		int32x4_t __c, const int __lane)
20867 {
20868   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20869 }
20870 
20871 __extension__ extern __inline uint16x8_t
20872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c,const int __lane)20873 vmlaq_laneq_u16 (uint16x8_t __a, uint16x8_t __b,
20874 		uint16x8_t __c, const int __lane)
20875 {
20876   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20877 }
20878 
20879 __extension__ extern __inline uint32x4_t
20880 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlaq_laneq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __lane)20881 vmlaq_laneq_u32 (uint32x4_t __a, uint32x4_t __b,
20882 		uint32x4_t __c, const int __lane)
20883 {
20884   return (__a + (__b * __aarch64_vget_lane_any (__c, __lane)));
20885 }
20886 
20887 /* vmls  */
20888 
20889 __extension__ extern __inline float32x2_t
20890 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c)20891 vmls_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
20892 {
20893   return __a - __b * __c;
20894 }
20895 
20896 __extension__ extern __inline float64x1_t
20897 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_f64(float64x1_t __a,float64x1_t __b,float64x1_t __c)20898 vmls_f64 (float64x1_t __a, float64x1_t __b, float64x1_t __c)
20899 {
20900   return __a - __b * __c;
20901 }
20902 
20903 __extension__ extern __inline float32x4_t
20904 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c)20905 vmlsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
20906 {
20907   return __a - __b * __c;
20908 }
20909 
20910 __extension__ extern __inline float64x2_t
20911 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_f64(float64x2_t __a,float64x2_t __b,float64x2_t __c)20912 vmlsq_f64 (float64x2_t __a, float64x2_t __b, float64x2_t __c)
20913 {
20914   return __a - __b * __c;
20915 }
20916 
20917 /* vmls_lane  */
20918 
20919 __extension__ extern __inline float32x2_t
20920 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_f32(float32x2_t __a,float32x2_t __b,float32x2_t __c,const int __lane)20921 vmls_lane_f32 (float32x2_t __a, float32x2_t __b,
20922 	       float32x2_t __c, const int __lane)
20923 {
20924   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
20925 }
20926 
20927 __extension__ extern __inline int16x4_t
20928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_s16(int16x4_t __a,int16x4_t __b,int16x4_t __c,const int __lane)20929 vmls_lane_s16 (int16x4_t __a, int16x4_t __b,
20930 		int16x4_t __c, const int __lane)
20931 {
20932   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
20933 }
20934 
20935 __extension__ extern __inline int32x2_t
20936 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_s32(int32x2_t __a,int32x2_t __b,int32x2_t __c,const int __lane)20937 vmls_lane_s32 (int32x2_t __a, int32x2_t __b,
20938 		int32x2_t __c, const int __lane)
20939 {
20940   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
20941 }
20942 
20943 __extension__ extern __inline uint16x4_t
20944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_u16(uint16x4_t __a,uint16x4_t __b,uint16x4_t __c,const int __lane)20945 vmls_lane_u16 (uint16x4_t __a, uint16x4_t __b,
20946 		uint16x4_t __c, const int __lane)
20947 {
20948   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
20949 }
20950 
20951 __extension__ extern __inline uint32x2_t
20952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_lane_u32(uint32x2_t __a,uint32x2_t __b,uint32x2_t __c,const int __lane)20953 vmls_lane_u32 (uint32x2_t __a, uint32x2_t __b,
20954 	       uint32x2_t __c, const int __lane)
20955 {
20956   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
20957 }
20958 
20959 /* vmls_laneq  */
20960 
20961 __extension__ extern __inline float32x2_t
20962 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_f32(float32x2_t __a,float32x2_t __b,float32x4_t __c,const int __lane)20963 vmls_laneq_f32 (float32x2_t __a, float32x2_t __b,
20964 	       float32x4_t __c, const int __lane)
20965 {
20966   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
20967 }
20968 
20969 __extension__ extern __inline int16x4_t
20970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_s16(int16x4_t __a,int16x4_t __b,int16x8_t __c,const int __lane)20971 vmls_laneq_s16 (int16x4_t __a, int16x4_t __b,
20972 		int16x8_t __c, const int __lane)
20973 {
20974   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
20975 }
20976 
20977 __extension__ extern __inline int32x2_t
20978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_s32(int32x2_t __a,int32x2_t __b,int32x4_t __c,const int __lane)20979 vmls_laneq_s32 (int32x2_t __a, int32x2_t __b,
20980 		int32x4_t __c, const int __lane)
20981 {
20982   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
20983 }
20984 
20985 __extension__ extern __inline uint16x4_t
20986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_u16(uint16x4_t __a,uint16x4_t __b,uint16x8_t __c,const int __lane)20987 vmls_laneq_u16 (uint16x4_t __a, uint16x4_t __b,
20988 		uint16x8_t __c, const int __lane)
20989 {
20990   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
20991 }
20992 
20993 __extension__ extern __inline uint32x2_t
20994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmls_laneq_u32(uint32x2_t __a,uint32x2_t __b,uint32x4_t __c,const int __lane)20995 vmls_laneq_u32 (uint32x2_t __a, uint32x2_t __b,
20996 		uint32x4_t __c, const int __lane)
20997 {
20998   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
20999 }
21000 
21001 /* vmlsq_lane  */
21002 
21003 __extension__ extern __inline float32x4_t
21004 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_f32(float32x4_t __a,float32x4_t __b,float32x2_t __c,const int __lane)21005 vmlsq_lane_f32 (float32x4_t __a, float32x4_t __b,
21006 		float32x2_t __c, const int __lane)
21007 {
21008   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
21009 }
21010 
21011 __extension__ extern __inline int16x8_t
21012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_s16(int16x8_t __a,int16x8_t __b,int16x4_t __c,const int __lane)21013 vmlsq_lane_s16 (int16x8_t __a, int16x8_t __b,
21014 		int16x4_t __c, const int __lane)
21015 {
21016   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
21017 }
21018 
21019 __extension__ extern __inline int32x4_t
21020 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_s32(int32x4_t __a,int32x4_t __b,int32x2_t __c,const int __lane)21021 vmlsq_lane_s32 (int32x4_t __a, int32x4_t __b,
21022 		int32x2_t __c, const int __lane)
21023 {
21024   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
21025 }
21026 
21027 __extension__ extern __inline uint16x8_t
21028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_u16(uint16x8_t __a,uint16x8_t __b,uint16x4_t __c,const int __lane)21029 vmlsq_lane_u16 (uint16x8_t __a, uint16x8_t __b,
21030 		uint16x4_t __c, const int __lane)
21031 {
21032   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
21033 }
21034 
21035 __extension__ extern __inline uint32x4_t
21036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_lane_u32(uint32x4_t __a,uint32x4_t __b,uint32x2_t __c,const int __lane)21037 vmlsq_lane_u32 (uint32x4_t __a, uint32x4_t __b,
21038 		uint32x2_t __c, const int __lane)
21039 {
21040   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
21041 }
21042 
21043   /* vmlsq_laneq  */
21044 
21045 __extension__ extern __inline float32x4_t
21046 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_f32(float32x4_t __a,float32x4_t __b,float32x4_t __c,const int __lane)21047 vmlsq_laneq_f32 (float32x4_t __a, float32x4_t __b,
21048 		float32x4_t __c, const int __lane)
21049 {
21050   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
21051 }
21052 
21053 __extension__ extern __inline int16x8_t
21054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c,const int __lane)21055 vmlsq_laneq_s16 (int16x8_t __a, int16x8_t __b,
21056 		int16x8_t __c, const int __lane)
21057 {
21058   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
21059 }
21060 
21061 __extension__ extern __inline int32x4_t
21062 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c,const int __lane)21063 vmlsq_laneq_s32 (int32x4_t __a, int32x4_t __b,
21064 		int32x4_t __c, const int __lane)
21065 {
21066   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
21067 }
21068 __extension__ extern __inline uint16x8_t
21069 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c,const int __lane)21070 vmlsq_laneq_u16 (uint16x8_t __a, uint16x8_t __b,
21071 		uint16x8_t __c, const int __lane)
21072 {
21073   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
21074 }
21075 
21076 __extension__ extern __inline uint32x4_t
21077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmlsq_laneq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __lane)21078 vmlsq_laneq_u32 (uint32x4_t __a, uint32x4_t __b,
21079 		uint32x4_t __c, const int __lane)
21080 {
21081   return (__a - (__b * __aarch64_vget_lane_any (__c, __lane)));
21082 }
21083 
21084 /* vmov_n_  */
21085 
21086 __extension__ extern __inline float16x4_t
21087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_f16(float16_t __a)21088 vmov_n_f16 (float16_t __a)
21089 {
21090   return vdup_n_f16 (__a);
21091 }
21092 
21093 __extension__ extern __inline float32x2_t
21094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_f32(float32_t __a)21095 vmov_n_f32 (float32_t __a)
21096 {
21097   return vdup_n_f32 (__a);
21098 }
21099 
21100 __extension__ extern __inline float64x1_t
21101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_f64(float64_t __a)21102 vmov_n_f64 (float64_t __a)
21103 {
21104   return (float64x1_t) {__a};
21105 }
21106 
21107 __extension__ extern __inline poly8x8_t
21108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_p8(poly8_t __a)21109 vmov_n_p8 (poly8_t __a)
21110 {
21111   return vdup_n_p8 (__a);
21112 }
21113 
21114 __extension__ extern __inline poly16x4_t
21115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_p16(poly16_t __a)21116 vmov_n_p16 (poly16_t __a)
21117 {
21118   return vdup_n_p16 (__a);
21119 }
21120 
21121 __extension__ extern __inline poly64x1_t
21122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_p64(poly64_t __a)21123 vmov_n_p64 (poly64_t __a)
21124 {
21125   return vdup_n_p64 (__a);
21126 }
21127 
21128 __extension__ extern __inline int8x8_t
21129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s8(int8_t __a)21130 vmov_n_s8 (int8_t __a)
21131 {
21132   return vdup_n_s8 (__a);
21133 }
21134 
21135 __extension__ extern __inline int16x4_t
21136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s16(int16_t __a)21137 vmov_n_s16 (int16_t __a)
21138 {
21139   return vdup_n_s16 (__a);
21140 }
21141 
21142 __extension__ extern __inline int32x2_t
21143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s32(int32_t __a)21144 vmov_n_s32 (int32_t __a)
21145 {
21146   return vdup_n_s32 (__a);
21147 }
21148 
21149 __extension__ extern __inline int64x1_t
21150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_s64(int64_t __a)21151 vmov_n_s64 (int64_t __a)
21152 {
21153   return (int64x1_t) {__a};
21154 }
21155 
21156 __extension__ extern __inline uint8x8_t
21157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u8(uint8_t __a)21158 vmov_n_u8 (uint8_t __a)
21159 {
21160   return vdup_n_u8 (__a);
21161 }
21162 
21163 __extension__ extern __inline uint16x4_t
21164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u16(uint16_t __a)21165 vmov_n_u16 (uint16_t __a)
21166 {
21167     return vdup_n_u16 (__a);
21168 }
21169 
21170 __extension__ extern __inline uint32x2_t
21171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u32(uint32_t __a)21172 vmov_n_u32 (uint32_t __a)
21173 {
21174    return vdup_n_u32 (__a);
21175 }
21176 
21177 __extension__ extern __inline uint64x1_t
21178 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmov_n_u64(uint64_t __a)21179 vmov_n_u64 (uint64_t __a)
21180 {
21181   return (uint64x1_t) {__a};
21182 }
21183 
21184 __extension__ extern __inline float16x8_t
21185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_f16(float16_t __a)21186 vmovq_n_f16 (float16_t __a)
21187 {
21188   return vdupq_n_f16 (__a);
21189 }
21190 
21191 __extension__ extern __inline float32x4_t
21192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_f32(float32_t __a)21193 vmovq_n_f32 (float32_t __a)
21194 {
21195   return vdupq_n_f32 (__a);
21196 }
21197 
21198 __extension__ extern __inline float64x2_t
21199 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_f64(float64_t __a)21200 vmovq_n_f64 (float64_t __a)
21201 {
21202   return vdupq_n_f64 (__a);
21203 }
21204 
21205 __extension__ extern __inline poly8x16_t
21206 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_p8(poly8_t __a)21207 vmovq_n_p8 (poly8_t __a)
21208 {
21209   return vdupq_n_p8 (__a);
21210 }
21211 
21212 __extension__ extern __inline poly16x8_t
21213 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_p16(poly16_t __a)21214 vmovq_n_p16 (poly16_t __a)
21215 {
21216   return vdupq_n_p16 (__a);
21217 }
21218 
21219 __extension__ extern __inline poly64x2_t
21220 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_p64(poly64_t __a)21221 vmovq_n_p64 (poly64_t __a)
21222 {
21223   return vdupq_n_p64 (__a);
21224 }
21225 
21226 __extension__ extern __inline int8x16_t
21227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s8(int8_t __a)21228 vmovq_n_s8 (int8_t __a)
21229 {
21230   return vdupq_n_s8 (__a);
21231 }
21232 
21233 __extension__ extern __inline int16x8_t
21234 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s16(int16_t __a)21235 vmovq_n_s16 (int16_t __a)
21236 {
21237   return vdupq_n_s16 (__a);
21238 }
21239 
21240 __extension__ extern __inline int32x4_t
21241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s32(int32_t __a)21242 vmovq_n_s32 (int32_t __a)
21243 {
21244   return vdupq_n_s32 (__a);
21245 }
21246 
21247 __extension__ extern __inline int64x2_t
21248 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_s64(int64_t __a)21249 vmovq_n_s64 (int64_t __a)
21250 {
21251   return vdupq_n_s64 (__a);
21252 }
21253 
21254 __extension__ extern __inline uint8x16_t
21255 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u8(uint8_t __a)21256 vmovq_n_u8 (uint8_t __a)
21257 {
21258   return vdupq_n_u8 (__a);
21259 }
21260 
21261 __extension__ extern __inline uint16x8_t
21262 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u16(uint16_t __a)21263 vmovq_n_u16 (uint16_t __a)
21264 {
21265   return vdupq_n_u16 (__a);
21266 }
21267 
21268 __extension__ extern __inline uint32x4_t
21269 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u32(uint32_t __a)21270 vmovq_n_u32 (uint32_t __a)
21271 {
21272   return vdupq_n_u32 (__a);
21273 }
21274 
21275 __extension__ extern __inline uint64x2_t
21276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmovq_n_u64(uint64_t __a)21277 vmovq_n_u64 (uint64_t __a)
21278 {
21279   return vdupq_n_u64 (__a);
21280 }
21281 
21282 /* vmul_lane  */
21283 
21284 __extension__ extern __inline float32x2_t
21285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_f32(float32x2_t __a,float32x2_t __b,const int __lane)21286 vmul_lane_f32 (float32x2_t __a, float32x2_t __b, const int __lane)
21287 {
21288   return __a * __aarch64_vget_lane_any (__b, __lane);
21289 }
21290 
21291 __extension__ extern __inline float64x1_t
21292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_f64(float64x1_t __a,float64x1_t __b,const int __lane)21293 vmul_lane_f64 (float64x1_t __a, float64x1_t __b, const int __lane)
21294 {
21295   return __a * __b;
21296 }
21297 
21298 __extension__ extern __inline int16x4_t
21299 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_s16(int16x4_t __a,int16x4_t __b,const int __lane)21300 vmul_lane_s16 (int16x4_t __a, int16x4_t __b, const int __lane)
21301 {
21302   return __a * __aarch64_vget_lane_any (__b, __lane);
21303 }
21304 
21305 __extension__ extern __inline int32x2_t
21306 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_s32(int32x2_t __a,int32x2_t __b,const int __lane)21307 vmul_lane_s32 (int32x2_t __a, int32x2_t __b, const int __lane)
21308 {
21309   return __a * __aarch64_vget_lane_any (__b, __lane);
21310 }
21311 
21312 __extension__ extern __inline uint16x4_t
21313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_u16(uint16x4_t __a,uint16x4_t __b,const int __lane)21314 vmul_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __lane)
21315 {
21316   return __a * __aarch64_vget_lane_any (__b, __lane);
21317 }
21318 
21319 __extension__ extern __inline uint32x2_t
21320 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_u32(uint32x2_t __a,uint32x2_t __b,const int __lane)21321 vmul_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __lane)
21322 {
21323   return __a * __aarch64_vget_lane_any (__b, __lane);
21324 }
21325 
21326 /* vmuld_lane  */
21327 
21328 __extension__ extern __inline float64_t
21329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmuld_lane_f64(float64_t __a,float64x1_t __b,const int __lane)21330 vmuld_lane_f64 (float64_t __a, float64x1_t __b, const int __lane)
21331 {
21332   return __a * __aarch64_vget_lane_any (__b, __lane);
21333 }
21334 
21335 __extension__ extern __inline float64_t
21336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmuld_laneq_f64(float64_t __a,float64x2_t __b,const int __lane)21337 vmuld_laneq_f64 (float64_t __a, float64x2_t __b, const int __lane)
21338 {
21339   return __a * __aarch64_vget_lane_any (__b, __lane);
21340 }
21341 
21342 /* vmuls_lane  */
21343 
21344 __extension__ extern __inline float32_t
21345 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmuls_lane_f32(float32_t __a,float32x2_t __b,const int __lane)21346 vmuls_lane_f32 (float32_t __a, float32x2_t __b, const int __lane)
21347 {
21348   return __a * __aarch64_vget_lane_any (__b, __lane);
21349 }
21350 
21351 __extension__ extern __inline float32_t
21352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmuls_laneq_f32(float32_t __a,float32x4_t __b,const int __lane)21353 vmuls_laneq_f32 (float32_t __a, float32x4_t __b, const int __lane)
21354 {
21355   return __a * __aarch64_vget_lane_any (__b, __lane);
21356 }
21357 
21358 /* vmul_laneq  */
21359 
21360 __extension__ extern __inline float32x2_t
21361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_f32(float32x2_t __a,float32x4_t __b,const int __lane)21362 vmul_laneq_f32 (float32x2_t __a, float32x4_t __b, const int __lane)
21363 {
21364   return __a * __aarch64_vget_lane_any (__b, __lane);
21365 }
21366 
21367 __extension__ extern __inline float64x1_t
21368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_f64(float64x1_t __a,float64x2_t __b,const int __lane)21369 vmul_laneq_f64 (float64x1_t __a, float64x2_t __b, const int __lane)
21370 {
21371   return __a * __aarch64_vget_lane_any (__b, __lane);
21372 }
21373 
21374 __extension__ extern __inline int16x4_t
21375 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_s16(int16x4_t __a,int16x8_t __b,const int __lane)21376 vmul_laneq_s16 (int16x4_t __a, int16x8_t __b, const int __lane)
21377 {
21378   return __a * __aarch64_vget_lane_any (__b, __lane);
21379 }
21380 
21381 __extension__ extern __inline int32x2_t
21382 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_s32(int32x2_t __a,int32x4_t __b,const int __lane)21383 vmul_laneq_s32 (int32x2_t __a, int32x4_t __b, const int __lane)
21384 {
21385   return __a * __aarch64_vget_lane_any (__b, __lane);
21386 }
21387 
21388 __extension__ extern __inline uint16x4_t
21389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_u16(uint16x4_t __a,uint16x8_t __b,const int __lane)21390 vmul_laneq_u16 (uint16x4_t __a, uint16x8_t __b, const int __lane)
21391 {
21392   return __a * __aarch64_vget_lane_any (__b, __lane);
21393 }
21394 
21395 __extension__ extern __inline uint32x2_t
21396 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_u32(uint32x2_t __a,uint32x4_t __b,const int __lane)21397 vmul_laneq_u32 (uint32x2_t __a, uint32x4_t __b, const int __lane)
21398 {
21399   return __a * __aarch64_vget_lane_any (__b, __lane);
21400 }
21401 
21402 /* vmul_n  */
21403 
21404 __extension__ extern __inline float64x1_t
21405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_f64(float64x1_t __a,float64_t __b)21406 vmul_n_f64  (float64x1_t __a, float64_t __b)
21407 {
21408   return (float64x1_t) { vget_lane_f64 (__a, 0) * __b };
21409 }
21410 
21411 /* vmulq_lane  */
21412 
21413 __extension__ extern __inline float32x4_t
21414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_f32(float32x4_t __a,float32x2_t __b,const int __lane)21415 vmulq_lane_f32 (float32x4_t __a, float32x2_t __b, const int __lane)
21416 {
21417   return __a * __aarch64_vget_lane_any (__b, __lane);
21418 }
21419 
21420 __extension__ extern __inline float64x2_t
21421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_f64(float64x2_t __a,float64x1_t __b,const int __lane)21422 vmulq_lane_f64 (float64x2_t __a, float64x1_t __b, const int __lane)
21423 {
21424   __AARCH64_LANE_CHECK (__a, __lane);
21425   return __a * __b[0];
21426 }
21427 
21428 __extension__ extern __inline int16x8_t
21429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_s16(int16x8_t __a,int16x4_t __b,const int __lane)21430 vmulq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __lane)
21431 {
21432   return __a * __aarch64_vget_lane_any (__b, __lane);
21433 }
21434 
21435 __extension__ extern __inline int32x4_t
21436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_s32(int32x4_t __a,int32x2_t __b,const int __lane)21437 vmulq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __lane)
21438 {
21439   return __a * __aarch64_vget_lane_any (__b, __lane);
21440 }
21441 
21442 __extension__ extern __inline uint16x8_t
21443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_u16(uint16x8_t __a,uint16x4_t __b,const int __lane)21444 vmulq_lane_u16 (uint16x8_t __a, uint16x4_t __b, const int __lane)
21445 {
21446   return __a * __aarch64_vget_lane_any (__b, __lane);
21447 }
21448 
21449 __extension__ extern __inline uint32x4_t
21450 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_u32(uint32x4_t __a,uint32x2_t __b,const int __lane)21451 vmulq_lane_u32 (uint32x4_t __a, uint32x2_t __b, const int __lane)
21452 {
21453   return __a * __aarch64_vget_lane_any (__b, __lane);
21454 }
21455 
21456 /* vmulq_laneq  */
21457 
21458 __extension__ extern __inline float32x4_t
21459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_f32(float32x4_t __a,float32x4_t __b,const int __lane)21460 vmulq_laneq_f32 (float32x4_t __a, float32x4_t __b, const int __lane)
21461 {
21462   return __a * __aarch64_vget_lane_any (__b, __lane);
21463 }
21464 
21465 __extension__ extern __inline float64x2_t
21466 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_f64(float64x2_t __a,float64x2_t __b,const int __lane)21467 vmulq_laneq_f64 (float64x2_t __a, float64x2_t __b, const int __lane)
21468 {
21469   return __a * __aarch64_vget_lane_any (__b, __lane);
21470 }
21471 
21472 __extension__ extern __inline int16x8_t
21473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_s16(int16x8_t __a,int16x8_t __b,const int __lane)21474 vmulq_laneq_s16 (int16x8_t __a, int16x8_t __b, const int __lane)
21475 {
21476   return __a * __aarch64_vget_lane_any (__b, __lane);
21477 }
21478 
21479 __extension__ extern __inline int32x4_t
21480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_s32(int32x4_t __a,int32x4_t __b,const int __lane)21481 vmulq_laneq_s32 (int32x4_t __a, int32x4_t __b, const int __lane)
21482 {
21483   return __a * __aarch64_vget_lane_any (__b, __lane);
21484 }
21485 
21486 __extension__ extern __inline uint16x8_t
21487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_u16(uint16x8_t __a,uint16x8_t __b,const int __lane)21488 vmulq_laneq_u16 (uint16x8_t __a, uint16x8_t __b, const int __lane)
21489 {
21490   return __a * __aarch64_vget_lane_any (__b, __lane);
21491 }
21492 
21493 __extension__ extern __inline uint32x4_t
21494 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_u32(uint32x4_t __a,uint32x4_t __b,const int __lane)21495 vmulq_laneq_u32 (uint32x4_t __a, uint32x4_t __b, const int __lane)
21496 {
21497   return __a * __aarch64_vget_lane_any (__b, __lane);
21498 }
21499 
21500 /* vmul_n.  */
21501 
21502 __extension__ extern __inline float32x2_t
21503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_f32(float32x2_t __a,float32_t __b)21504 vmul_n_f32 (float32x2_t __a, float32_t __b)
21505 {
21506   return __a * __b;
21507 }
21508 
21509 __extension__ extern __inline float32x4_t
21510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_f32(float32x4_t __a,float32_t __b)21511 vmulq_n_f32 (float32x4_t __a, float32_t __b)
21512 {
21513   return __a * __b;
21514 }
21515 
21516 __extension__ extern __inline float64x2_t
21517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_f64(float64x2_t __a,float64_t __b)21518 vmulq_n_f64 (float64x2_t __a, float64_t __b)
21519 {
21520   return __a * __b;
21521 }
21522 
21523 __extension__ extern __inline int16x4_t
21524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_s16(int16x4_t __a,int16_t __b)21525 vmul_n_s16 (int16x4_t __a, int16_t __b)
21526 {
21527   return __a * __b;
21528 }
21529 
21530 __extension__ extern __inline int16x8_t
21531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_s16(int16x8_t __a,int16_t __b)21532 vmulq_n_s16 (int16x8_t __a, int16_t __b)
21533 {
21534   return __a * __b;
21535 }
21536 
21537 __extension__ extern __inline int32x2_t
21538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_s32(int32x2_t __a,int32_t __b)21539 vmul_n_s32 (int32x2_t __a, int32_t __b)
21540 {
21541   return __a * __b;
21542 }
21543 
21544 __extension__ extern __inline int32x4_t
21545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_s32(int32x4_t __a,int32_t __b)21546 vmulq_n_s32 (int32x4_t __a, int32_t __b)
21547 {
21548   return __a * __b;
21549 }
21550 
21551 __extension__ extern __inline uint16x4_t
21552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_u16(uint16x4_t __a,uint16_t __b)21553 vmul_n_u16 (uint16x4_t __a, uint16_t __b)
21554 {
21555   return __a * __b;
21556 }
21557 
21558 __extension__ extern __inline uint16x8_t
21559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_u16(uint16x8_t __a,uint16_t __b)21560 vmulq_n_u16 (uint16x8_t __a, uint16_t __b)
21561 {
21562   return __a * __b;
21563 }
21564 
21565 __extension__ extern __inline uint32x2_t
21566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_u32(uint32x2_t __a,uint32_t __b)21567 vmul_n_u32 (uint32x2_t __a, uint32_t __b)
21568 {
21569   return __a * __b;
21570 }
21571 
21572 __extension__ extern __inline uint32x4_t
21573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_u32(uint32x4_t __a,uint32_t __b)21574 vmulq_n_u32 (uint32x4_t __a, uint32_t __b)
21575 {
21576   return __a * __b;
21577 }
21578 
21579 /* vmvn  */
21580 
21581 __extension__ extern __inline poly8x8_t
21582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_p8(poly8x8_t __a)21583 vmvn_p8 (poly8x8_t __a)
21584 {
21585   return (poly8x8_t) ~((int8x8_t) __a);
21586 }
21587 
21588 __extension__ extern __inline int8x8_t
21589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s8(int8x8_t __a)21590 vmvn_s8 (int8x8_t __a)
21591 {
21592   return ~__a;
21593 }
21594 
21595 __extension__ extern __inline int16x4_t
21596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s16(int16x4_t __a)21597 vmvn_s16 (int16x4_t __a)
21598 {
21599   return ~__a;
21600 }
21601 
21602 __extension__ extern __inline int32x2_t
21603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_s32(int32x2_t __a)21604 vmvn_s32 (int32x2_t __a)
21605 {
21606   return ~__a;
21607 }
21608 
21609 __extension__ extern __inline uint8x8_t
21610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u8(uint8x8_t __a)21611 vmvn_u8 (uint8x8_t __a)
21612 {
21613   return ~__a;
21614 }
21615 
21616 __extension__ extern __inline uint16x4_t
21617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u16(uint16x4_t __a)21618 vmvn_u16 (uint16x4_t __a)
21619 {
21620   return ~__a;
21621 }
21622 
21623 __extension__ extern __inline uint32x2_t
21624 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvn_u32(uint32x2_t __a)21625 vmvn_u32 (uint32x2_t __a)
21626 {
21627   return ~__a;
21628 }
21629 
21630 __extension__ extern __inline poly8x16_t
21631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_p8(poly8x16_t __a)21632 vmvnq_p8 (poly8x16_t __a)
21633 {
21634   return (poly8x16_t) ~((int8x16_t) __a);
21635 }
21636 
21637 __extension__ extern __inline int8x16_t
21638 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s8(int8x16_t __a)21639 vmvnq_s8 (int8x16_t __a)
21640 {
21641   return ~__a;
21642 }
21643 
21644 __extension__ extern __inline int16x8_t
21645 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s16(int16x8_t __a)21646 vmvnq_s16 (int16x8_t __a)
21647 {
21648   return ~__a;
21649 }
21650 
21651 __extension__ extern __inline int32x4_t
21652 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_s32(int32x4_t __a)21653 vmvnq_s32 (int32x4_t __a)
21654 {
21655   return ~__a;
21656 }
21657 
21658 __extension__ extern __inline uint8x16_t
21659 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u8(uint8x16_t __a)21660 vmvnq_u8 (uint8x16_t __a)
21661 {
21662   return ~__a;
21663 }
21664 
21665 __extension__ extern __inline uint16x8_t
21666 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u16(uint16x8_t __a)21667 vmvnq_u16 (uint16x8_t __a)
21668 {
21669   return ~__a;
21670 }
21671 
21672 __extension__ extern __inline uint32x4_t
21673 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmvnq_u32(uint32x4_t __a)21674 vmvnq_u32 (uint32x4_t __a)
21675 {
21676   return ~__a;
21677 }
21678 
21679 /* vneg  */
21680 
21681 __extension__ extern __inline float32x2_t
21682 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_f32(float32x2_t __a)21683 vneg_f32 (float32x2_t __a)
21684 {
21685   return -__a;
21686 }
21687 
21688 __extension__ extern __inline float64x1_t
21689 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_f64(float64x1_t __a)21690 vneg_f64 (float64x1_t __a)
21691 {
21692   return -__a;
21693 }
21694 
21695 __extension__ extern __inline int8x8_t
21696 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s8(int8x8_t __a)21697 vneg_s8 (int8x8_t __a)
21698 {
21699   return -__a;
21700 }
21701 
21702 __extension__ extern __inline int16x4_t
21703 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s16(int16x4_t __a)21704 vneg_s16 (int16x4_t __a)
21705 {
21706   return -__a;
21707 }
21708 
21709 __extension__ extern __inline int32x2_t
21710 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s32(int32x2_t __a)21711 vneg_s32 (int32x2_t __a)
21712 {
21713   return -__a;
21714 }
21715 
21716 __extension__ extern __inline int64x1_t
21717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_s64(int64x1_t __a)21718 vneg_s64 (int64x1_t __a)
21719 {
21720   return -__a;
21721 }
21722 
21723 /* According to the ACLE, the negative of the minimum (signed)
21724    value is itself.  This leads to a semantics mismatch, as this is
21725    undefined behaviour in C.  The value range predictor is not
21726    aware that the negation of a negative number can still be negative
21727    and it may try to fold the expression.  See the test in
21728    gcc.target/aarch64/vnegd_s64.c for an example.
21729 
21730    The cast below tricks the value range predictor to include
21731    INT64_MIN in the range it computes.  So for x in the range
21732    [INT64_MIN, y] the range prediction after vnegd_s64 (x) will
21733    be ~[INT64_MIN + 1, y].  */
21734 
21735 __extension__ extern __inline int64_t
21736 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegd_s64(int64_t __a)21737 vnegd_s64 (int64_t __a)
21738 {
21739   return - (uint64_t) __a;
21740 }
21741 
21742 __extension__ extern __inline float32x4_t
21743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_f32(float32x4_t __a)21744 vnegq_f32 (float32x4_t __a)
21745 {
21746   return -__a;
21747 }
21748 
21749 __extension__ extern __inline float64x2_t
21750 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_f64(float64x2_t __a)21751 vnegq_f64 (float64x2_t __a)
21752 {
21753   return -__a;
21754 }
21755 
21756 __extension__ extern __inline int8x16_t
21757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s8(int8x16_t __a)21758 vnegq_s8 (int8x16_t __a)
21759 {
21760   return -__a;
21761 }
21762 
21763 __extension__ extern __inline int16x8_t
21764 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s16(int16x8_t __a)21765 vnegq_s16 (int16x8_t __a)
21766 {
21767   return -__a;
21768 }
21769 
21770 __extension__ extern __inline int32x4_t
21771 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s32(int32x4_t __a)21772 vnegq_s32 (int32x4_t __a)
21773 {
21774   return -__a;
21775 }
21776 
21777 __extension__ extern __inline int64x2_t
21778 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_s64(int64x2_t __a)21779 vnegq_s64 (int64x2_t __a)
21780 {
21781   return -__a;
21782 }
21783 
21784 /* vpadd  */
21785 
21786 __extension__ extern __inline float32x2_t
21787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_f32(float32x2_t __a,float32x2_t __b)21788 vpadd_f32 (float32x2_t __a, float32x2_t __b)
21789 {
21790   return __builtin_aarch64_faddpv2sf (__a, __b);
21791 }
21792 
21793 __extension__ extern __inline float32x4_t
21794 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_f32(float32x4_t __a,float32x4_t __b)21795 vpaddq_f32 (float32x4_t __a, float32x4_t __b)
21796 {
21797   return __builtin_aarch64_faddpv4sf (__a, __b);
21798 }
21799 
21800 __extension__ extern __inline float64x2_t
21801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_f64(float64x2_t __a,float64x2_t __b)21802 vpaddq_f64 (float64x2_t __a, float64x2_t __b)
21803 {
21804   return __builtin_aarch64_faddpv2df (__a, __b);
21805 }
21806 
21807 __extension__ extern __inline int8x8_t
21808 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s8(int8x8_t __a,int8x8_t __b)21809 vpadd_s8 (int8x8_t __a, int8x8_t __b)
21810 {
21811   return __builtin_aarch64_addpv8qi (__a, __b);
21812 }
21813 
21814 __extension__ extern __inline int16x4_t
21815 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s16(int16x4_t __a,int16x4_t __b)21816 vpadd_s16 (int16x4_t __a, int16x4_t __b)
21817 {
21818   return __builtin_aarch64_addpv4hi (__a, __b);
21819 }
21820 
21821 __extension__ extern __inline int32x2_t
21822 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_s32(int32x2_t __a,int32x2_t __b)21823 vpadd_s32 (int32x2_t __a, int32x2_t __b)
21824 {
21825   return __builtin_aarch64_addpv2si (__a, __b);
21826 }
21827 
21828 __extension__ extern __inline uint8x8_t
21829 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u8(uint8x8_t __a,uint8x8_t __b)21830 vpadd_u8 (uint8x8_t __a, uint8x8_t __b)
21831 {
21832   return (uint8x8_t) __builtin_aarch64_addpv8qi ((int8x8_t) __a,
21833 						 (int8x8_t) __b);
21834 }
21835 
21836 __extension__ extern __inline uint16x4_t
21837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u16(uint16x4_t __a,uint16x4_t __b)21838 vpadd_u16 (uint16x4_t __a, uint16x4_t __b)
21839 {
21840   return (uint16x4_t) __builtin_aarch64_addpv4hi ((int16x4_t) __a,
21841 						  (int16x4_t) __b);
21842 }
21843 
21844 __extension__ extern __inline uint32x2_t
21845 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_u32(uint32x2_t __a,uint32x2_t __b)21846 vpadd_u32 (uint32x2_t __a, uint32x2_t __b)
21847 {
21848   return (uint32x2_t) __builtin_aarch64_addpv2si ((int32x2_t) __a,
21849 						  (int32x2_t) __b);
21850 }
21851 
21852 __extension__ extern __inline float32_t
21853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadds_f32(float32x2_t __a)21854 vpadds_f32 (float32x2_t __a)
21855 {
21856   return __builtin_aarch64_reduc_plus_scal_v2sf (__a);
21857 }
21858 
21859 __extension__ extern __inline float64_t
21860 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddd_f64(float64x2_t __a)21861 vpaddd_f64 (float64x2_t __a)
21862 {
21863   return __builtin_aarch64_reduc_plus_scal_v2df (__a);
21864 }
21865 
21866 __extension__ extern __inline int64_t
21867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddd_s64(int64x2_t __a)21868 vpaddd_s64 (int64x2_t __a)
21869 {
21870   return __builtin_aarch64_addpdi (__a);
21871 }
21872 
21873 __extension__ extern __inline uint64_t
21874 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddd_u64(uint64x2_t __a)21875 vpaddd_u64 (uint64x2_t __a)
21876 {
21877   return __builtin_aarch64_addpdi ((int64x2_t) __a);
21878 }
21879 
21880 /* vqabs */
21881 
21882 __extension__ extern __inline int64x2_t
21883 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsq_s64(int64x2_t __a)21884 vqabsq_s64 (int64x2_t __a)
21885 {
21886   return (int64x2_t) __builtin_aarch64_sqabsv2di (__a);
21887 }
21888 
21889 __extension__ extern __inline int8_t
21890 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsb_s8(int8_t __a)21891 vqabsb_s8 (int8_t __a)
21892 {
21893   return (int8_t) __builtin_aarch64_sqabsqi (__a);
21894 }
21895 
21896 __extension__ extern __inline int16_t
21897 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsh_s16(int16_t __a)21898 vqabsh_s16 (int16_t __a)
21899 {
21900   return (int16_t) __builtin_aarch64_sqabshi (__a);
21901 }
21902 
21903 __extension__ extern __inline int32_t
21904 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabss_s32(int32_t __a)21905 vqabss_s32 (int32_t __a)
21906 {
21907   return (int32_t) __builtin_aarch64_sqabssi (__a);
21908 }
21909 
21910 __extension__ extern __inline int64_t
21911 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqabsd_s64(int64_t __a)21912 vqabsd_s64 (int64_t __a)
21913 {
21914   return __builtin_aarch64_sqabsdi (__a);
21915 }
21916 
21917 /* vqadd */
21918 
21919 __extension__ extern __inline int8_t
21920 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddb_s8(int8_t __a,int8_t __b)21921 vqaddb_s8 (int8_t __a, int8_t __b)
21922 {
21923   return (int8_t) __builtin_aarch64_sqaddqi (__a, __b);
21924 }
21925 
21926 __extension__ extern __inline int16_t
21927 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddh_s16(int16_t __a,int16_t __b)21928 vqaddh_s16 (int16_t __a, int16_t __b)
21929 {
21930   return (int16_t) __builtin_aarch64_sqaddhi (__a, __b);
21931 }
21932 
21933 __extension__ extern __inline int32_t
21934 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadds_s32(int32_t __a,int32_t __b)21935 vqadds_s32 (int32_t __a, int32_t __b)
21936 {
21937   return (int32_t) __builtin_aarch64_sqaddsi (__a, __b);
21938 }
21939 
21940 __extension__ extern __inline int64_t
21941 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddd_s64(int64_t __a,int64_t __b)21942 vqaddd_s64 (int64_t __a, int64_t __b)
21943 {
21944   return __builtin_aarch64_sqadddi (__a, __b);
21945 }
21946 
21947 __extension__ extern __inline uint8_t
21948 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddb_u8(uint8_t __a,uint8_t __b)21949 vqaddb_u8 (uint8_t __a, uint8_t __b)
21950 {
21951   return (uint8_t) __builtin_aarch64_uqaddqi_uuu (__a, __b);
21952 }
21953 
21954 __extension__ extern __inline uint16_t
21955 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddh_u16(uint16_t __a,uint16_t __b)21956 vqaddh_u16 (uint16_t __a, uint16_t __b)
21957 {
21958   return (uint16_t) __builtin_aarch64_uqaddhi_uuu (__a, __b);
21959 }
21960 
21961 __extension__ extern __inline uint32_t
21962 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqadds_u32(uint32_t __a,uint32_t __b)21963 vqadds_u32 (uint32_t __a, uint32_t __b)
21964 {
21965   return (uint32_t) __builtin_aarch64_uqaddsi_uuu (__a, __b);
21966 }
21967 
21968 __extension__ extern __inline uint64_t
21969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqaddd_u64(uint64_t __a,uint64_t __b)21970 vqaddd_u64 (uint64_t __a, uint64_t __b)
21971 {
21972   return __builtin_aarch64_uqadddi_uuu (__a, __b);
21973 }
21974 
21975 /* vqdmlal */
21976 
21977 __extension__ extern __inline int32x4_t
21978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)21979 vqdmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
21980 {
21981   return __builtin_aarch64_sqdmlalv4hi (__a, __b, __c);
21982 }
21983 
21984 __extension__ extern __inline int32x4_t
21985 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)21986 vqdmlal_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
21987 {
21988   return __builtin_aarch64_sqdmlal2v8hi (__a, __b, __c);
21989 }
21990 
21991 __extension__ extern __inline int32x4_t
21992 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_lane_s16(int32x4_t __a,int16x8_t __b,int16x4_t __c,int const __d)21993 vqdmlal_high_lane_s16 (int32x4_t __a, int16x8_t __b, int16x4_t __c,
21994 		       int const __d)
21995 {
21996   return __builtin_aarch64_sqdmlal2_lanev8hi (__a, __b, __c, __d);
21997 }
21998 
21999 __extension__ extern __inline int32x4_t
22000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_laneq_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c,int const __d)22001 vqdmlal_high_laneq_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c,
22002 			int const __d)
22003 {
22004   return __builtin_aarch64_sqdmlal2_laneqv8hi (__a, __b, __c, __d);
22005 }
22006 
22007 __extension__ extern __inline int32x4_t
22008 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_n_s16(int32x4_t __a,int16x8_t __b,int16_t __c)22009 vqdmlal_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
22010 {
22011   return __builtin_aarch64_sqdmlal2_nv8hi (__a, __b, __c);
22012 }
22013 
22014 __extension__ extern __inline int32x4_t
22015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,int const __d)22016 vqdmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, int const __d)
22017 {
22018   return __builtin_aarch64_sqdmlal_lanev4hi (__a, __b, __c, __d);
22019 }
22020 
22021 __extension__ extern __inline int32x4_t
22022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_laneq_s16(int32x4_t __a,int16x4_t __b,int16x8_t __c,int const __d)22023 vqdmlal_laneq_s16 (int32x4_t __a, int16x4_t __b, int16x8_t __c, int const __d)
22024 {
22025   return __builtin_aarch64_sqdmlal_laneqv4hi (__a, __b, __c, __d);
22026 }
22027 
22028 __extension__ extern __inline int32x4_t
22029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)22030 vqdmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
22031 {
22032   return __builtin_aarch64_sqdmlal_nv4hi (__a, __b, __c);
22033 }
22034 
22035 __extension__ extern __inline int64x2_t
22036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)22037 vqdmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
22038 {
22039   return __builtin_aarch64_sqdmlalv2si (__a, __b, __c);
22040 }
22041 
22042 __extension__ extern __inline int64x2_t
22043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)22044 vqdmlal_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
22045 {
22046   return __builtin_aarch64_sqdmlal2v4si (__a, __b, __c);
22047 }
22048 
22049 __extension__ extern __inline int64x2_t
22050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_lane_s32(int64x2_t __a,int32x4_t __b,int32x2_t __c,int const __d)22051 vqdmlal_high_lane_s32 (int64x2_t __a, int32x4_t __b, int32x2_t __c,
22052 		       int const __d)
22053 {
22054   return __builtin_aarch64_sqdmlal2_lanev4si (__a, __b, __c, __d);
22055 }
22056 
22057 __extension__ extern __inline int64x2_t
22058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_laneq_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c,int const __d)22059 vqdmlal_high_laneq_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c,
22060 			int const __d)
22061 {
22062   return __builtin_aarch64_sqdmlal2_laneqv4si (__a, __b, __c, __d);
22063 }
22064 
22065 __extension__ extern __inline int64x2_t
22066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_high_n_s32(int64x2_t __a,int32x4_t __b,int32_t __c)22067 vqdmlal_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
22068 {
22069   return __builtin_aarch64_sqdmlal2_nv4si (__a, __b, __c);
22070 }
22071 
22072 __extension__ extern __inline int64x2_t
22073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,int const __d)22074 vqdmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, int const __d)
22075 {
22076   return __builtin_aarch64_sqdmlal_lanev2si (__a, __b, __c, __d);
22077 }
22078 
22079 __extension__ extern __inline int64x2_t
22080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_laneq_s32(int64x2_t __a,int32x2_t __b,int32x4_t __c,int const __d)22081 vqdmlal_laneq_s32 (int64x2_t __a, int32x2_t __b, int32x4_t __c, int const __d)
22082 {
22083   return __builtin_aarch64_sqdmlal_laneqv2si (__a, __b, __c, __d);
22084 }
22085 
22086 __extension__ extern __inline int64x2_t
22087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlal_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)22088 vqdmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
22089 {
22090   return __builtin_aarch64_sqdmlal_nv2si (__a, __b, __c);
22091 }
22092 
22093 __extension__ extern __inline int32_t
22094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlalh_s16(int32_t __a,int16_t __b,int16_t __c)22095 vqdmlalh_s16 (int32_t __a, int16_t __b, int16_t __c)
22096 {
22097   return __builtin_aarch64_sqdmlalhi (__a, __b, __c);
22098 }
22099 
22100 __extension__ extern __inline int32_t
22101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlalh_lane_s16(int32_t __a,int16_t __b,int16x4_t __c,const int __d)22102 vqdmlalh_lane_s16 (int32_t __a, int16_t __b, int16x4_t __c, const int __d)
22103 {
22104   return __builtin_aarch64_sqdmlal_lanehi (__a, __b, __c, __d);
22105 }
22106 
22107 __extension__ extern __inline int32_t
22108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlalh_laneq_s16(int32_t __a,int16_t __b,int16x8_t __c,const int __d)22109 vqdmlalh_laneq_s16 (int32_t __a, int16_t __b, int16x8_t __c, const int __d)
22110 {
22111   return __builtin_aarch64_sqdmlal_laneqhi (__a, __b, __c, __d);
22112 }
22113 
22114 __extension__ extern __inline int64_t
22115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlals_s32(int64_t __a,int32_t __b,int32_t __c)22116 vqdmlals_s32 (int64_t __a, int32_t __b, int32_t __c)
22117 {
22118   return __builtin_aarch64_sqdmlalsi (__a, __b, __c);
22119 }
22120 
22121 __extension__ extern __inline int64_t
22122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlals_lane_s32(int64_t __a,int32_t __b,int32x2_t __c,const int __d)22123 vqdmlals_lane_s32 (int64_t __a, int32_t __b, int32x2_t __c, const int __d)
22124 {
22125   return __builtin_aarch64_sqdmlal_lanesi (__a, __b, __c, __d);
22126 }
22127 
22128 __extension__ extern __inline int64_t
22129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlals_laneq_s32(int64_t __a,int32_t __b,int32x4_t __c,const int __d)22130 vqdmlals_laneq_s32 (int64_t __a, int32_t __b, int32x4_t __c, const int __d)
22131 {
22132   return __builtin_aarch64_sqdmlal_laneqsi (__a, __b, __c, __d);
22133 }
22134 
22135 /* vqdmlsl */
22136 
22137 __extension__ extern __inline int32x4_t
22138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c)22139 vqdmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
22140 {
22141   return __builtin_aarch64_sqdmlslv4hi (__a, __b, __c);
22142 }
22143 
22144 __extension__ extern __inline int32x4_t
22145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c)22146 vqdmlsl_high_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c)
22147 {
22148   return __builtin_aarch64_sqdmlsl2v8hi (__a, __b, __c);
22149 }
22150 
22151 __extension__ extern __inline int32x4_t
22152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_lane_s16(int32x4_t __a,int16x8_t __b,int16x4_t __c,int const __d)22153 vqdmlsl_high_lane_s16 (int32x4_t __a, int16x8_t __b, int16x4_t __c,
22154 		       int const __d)
22155 {
22156   return __builtin_aarch64_sqdmlsl2_lanev8hi (__a, __b, __c, __d);
22157 }
22158 
22159 __extension__ extern __inline int32x4_t
22160 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_laneq_s16(int32x4_t __a,int16x8_t __b,int16x8_t __c,int const __d)22161 vqdmlsl_high_laneq_s16 (int32x4_t __a, int16x8_t __b, int16x8_t __c,
22162 			int const __d)
22163 {
22164   return __builtin_aarch64_sqdmlsl2_laneqv8hi (__a, __b, __c, __d);
22165 }
22166 
22167 __extension__ extern __inline int32x4_t
22168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_n_s16(int32x4_t __a,int16x8_t __b,int16_t __c)22169 vqdmlsl_high_n_s16 (int32x4_t __a, int16x8_t __b, int16_t __c)
22170 {
22171   return __builtin_aarch64_sqdmlsl2_nv8hi (__a, __b, __c);
22172 }
22173 
22174 __extension__ extern __inline int32x4_t
22175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_lane_s16(int32x4_t __a,int16x4_t __b,int16x4_t __c,int const __d)22176 vqdmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, int const __d)
22177 {
22178   return __builtin_aarch64_sqdmlsl_lanev4hi (__a, __b, __c, __d);
22179 }
22180 
22181 __extension__ extern __inline int32x4_t
22182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_laneq_s16(int32x4_t __a,int16x4_t __b,int16x8_t __c,int const __d)22183 vqdmlsl_laneq_s16 (int32x4_t __a, int16x4_t __b, int16x8_t __c, int const __d)
22184 {
22185   return __builtin_aarch64_sqdmlsl_laneqv4hi (__a, __b, __c, __d);
22186 }
22187 
22188 __extension__ extern __inline int32x4_t
22189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_n_s16(int32x4_t __a,int16x4_t __b,int16_t __c)22190 vqdmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
22191 {
22192   return __builtin_aarch64_sqdmlsl_nv4hi (__a, __b, __c);
22193 }
22194 
22195 __extension__ extern __inline int64x2_t
22196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c)22197 vqdmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
22198 {
22199   return __builtin_aarch64_sqdmlslv2si (__a, __b, __c);
22200 }
22201 
22202 __extension__ extern __inline int64x2_t
22203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c)22204 vqdmlsl_high_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c)
22205 {
22206   return __builtin_aarch64_sqdmlsl2v4si (__a, __b, __c);
22207 }
22208 
22209 __extension__ extern __inline int64x2_t
22210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_lane_s32(int64x2_t __a,int32x4_t __b,int32x2_t __c,int const __d)22211 vqdmlsl_high_lane_s32 (int64x2_t __a, int32x4_t __b, int32x2_t __c,
22212 		       int const __d)
22213 {
22214   return __builtin_aarch64_sqdmlsl2_lanev4si (__a, __b, __c, __d);
22215 }
22216 
22217 __extension__ extern __inline int64x2_t
22218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_laneq_s32(int64x2_t __a,int32x4_t __b,int32x4_t __c,int const __d)22219 vqdmlsl_high_laneq_s32 (int64x2_t __a, int32x4_t __b, int32x4_t __c,
22220 			int const __d)
22221 {
22222   return __builtin_aarch64_sqdmlsl2_laneqv4si (__a, __b, __c, __d);
22223 }
22224 
22225 __extension__ extern __inline int64x2_t
22226 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_high_n_s32(int64x2_t __a,int32x4_t __b,int32_t __c)22227 vqdmlsl_high_n_s32 (int64x2_t __a, int32x4_t __b, int32_t __c)
22228 {
22229   return __builtin_aarch64_sqdmlsl2_nv4si (__a, __b, __c);
22230 }
22231 
22232 __extension__ extern __inline int64x2_t
22233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_lane_s32(int64x2_t __a,int32x2_t __b,int32x2_t __c,int const __d)22234 vqdmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, int const __d)
22235 {
22236   return __builtin_aarch64_sqdmlsl_lanev2si (__a, __b, __c, __d);
22237 }
22238 
22239 __extension__ extern __inline int64x2_t
22240 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_laneq_s32(int64x2_t __a,int32x2_t __b,int32x4_t __c,int const __d)22241 vqdmlsl_laneq_s32 (int64x2_t __a, int32x2_t __b, int32x4_t __c, int const __d)
22242 {
22243   return __builtin_aarch64_sqdmlsl_laneqv2si (__a, __b, __c, __d);
22244 }
22245 
22246 __extension__ extern __inline int64x2_t
22247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsl_n_s32(int64x2_t __a,int32x2_t __b,int32_t __c)22248 vqdmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
22249 {
22250   return __builtin_aarch64_sqdmlsl_nv2si (__a, __b, __c);
22251 }
22252 
22253 __extension__ extern __inline int32_t
22254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlslh_s16(int32_t __a,int16_t __b,int16_t __c)22255 vqdmlslh_s16 (int32_t __a, int16_t __b, int16_t __c)
22256 {
22257   return __builtin_aarch64_sqdmlslhi (__a, __b, __c);
22258 }
22259 
22260 __extension__ extern __inline int32_t
22261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlslh_lane_s16(int32_t __a,int16_t __b,int16x4_t __c,const int __d)22262 vqdmlslh_lane_s16 (int32_t __a, int16_t __b, int16x4_t __c, const int __d)
22263 {
22264   return __builtin_aarch64_sqdmlsl_lanehi (__a, __b, __c, __d);
22265 }
22266 
22267 __extension__ extern __inline int32_t
22268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlslh_laneq_s16(int32_t __a,int16_t __b,int16x8_t __c,const int __d)22269 vqdmlslh_laneq_s16 (int32_t __a, int16_t __b, int16x8_t __c, const int __d)
22270 {
22271   return __builtin_aarch64_sqdmlsl_laneqhi (__a, __b, __c, __d);
22272 }
22273 
22274 __extension__ extern __inline int64_t
22275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsls_s32(int64_t __a,int32_t __b,int32_t __c)22276 vqdmlsls_s32 (int64_t __a, int32_t __b, int32_t __c)
22277 {
22278   return __builtin_aarch64_sqdmlslsi (__a, __b, __c);
22279 }
22280 
22281 __extension__ extern __inline int64_t
22282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsls_lane_s32(int64_t __a,int32_t __b,int32x2_t __c,const int __d)22283 vqdmlsls_lane_s32 (int64_t __a, int32_t __b, int32x2_t __c, const int __d)
22284 {
22285   return __builtin_aarch64_sqdmlsl_lanesi (__a, __b, __c, __d);
22286 }
22287 
22288 __extension__ extern __inline int64_t
22289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmlsls_laneq_s32(int64_t __a,int32_t __b,int32x4_t __c,const int __d)22290 vqdmlsls_laneq_s32 (int64_t __a, int32_t __b, int32x4_t __c, const int __d)
22291 {
22292   return __builtin_aarch64_sqdmlsl_laneqsi (__a, __b, __c, __d);
22293 }
22294 
22295 /* vqdmulh */
22296 
22297 __extension__ extern __inline int16x4_t
22298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)22299 vqdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
22300 {
22301   return __builtin_aarch64_sqdmulh_lanev4hi (__a, __b, __c);
22302 }
22303 
22304 __extension__ extern __inline int32x2_t
22305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)22306 vqdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
22307 {
22308   return __builtin_aarch64_sqdmulh_lanev2si (__a, __b, __c);
22309 }
22310 
22311 __extension__ extern __inline int16x8_t
22312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)22313 vqdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
22314 {
22315   return __builtin_aarch64_sqdmulh_lanev8hi (__a, __b, __c);
22316 }
22317 
22318 __extension__ extern __inline int32x4_t
22319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)22320 vqdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
22321 {
22322   return __builtin_aarch64_sqdmulh_lanev4si (__a, __b, __c);
22323 }
22324 
22325 __extension__ extern __inline int16_t
22326 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhh_s16(int16_t __a,int16_t __b)22327 vqdmulhh_s16 (int16_t __a, int16_t __b)
22328 {
22329   return (int16_t) __builtin_aarch64_sqdmulhhi (__a, __b);
22330 }
22331 
22332 __extension__ extern __inline int16_t
22333 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhh_lane_s16(int16_t __a,int16x4_t __b,const int __c)22334 vqdmulhh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
22335 {
22336   return __builtin_aarch64_sqdmulh_lanehi (__a, __b, __c);
22337 }
22338 
22339 __extension__ extern __inline int16_t
22340 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhh_laneq_s16(int16_t __a,int16x8_t __b,const int __c)22341 vqdmulhh_laneq_s16 (int16_t __a, int16x8_t __b, const int __c)
22342 {
22343   return __builtin_aarch64_sqdmulh_laneqhi (__a, __b, __c);
22344 }
22345 
22346 __extension__ extern __inline int32_t
22347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhs_s32(int32_t __a,int32_t __b)22348 vqdmulhs_s32 (int32_t __a, int32_t __b)
22349 {
22350   return (int32_t) __builtin_aarch64_sqdmulhsi (__a, __b);
22351 }
22352 
22353 __extension__ extern __inline int32_t
22354 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhs_lane_s32(int32_t __a,int32x2_t __b,const int __c)22355 vqdmulhs_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
22356 {
22357   return __builtin_aarch64_sqdmulh_lanesi (__a, __b, __c);
22358 }
22359 
22360 __extension__ extern __inline int32_t
22361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulhs_laneq_s32(int32_t __a,int32x4_t __b,const int __c)22362 vqdmulhs_laneq_s32 (int32_t __a, int32x4_t __b, const int __c)
22363 {
22364   return __builtin_aarch64_sqdmulh_laneqsi (__a, __b, __c);
22365 }
22366 
22367 /* vqdmull */
22368 
22369 __extension__ extern __inline int32x4_t
22370 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_s16(int16x4_t __a,int16x4_t __b)22371 vqdmull_s16 (int16x4_t __a, int16x4_t __b)
22372 {
22373   return __builtin_aarch64_sqdmullv4hi (__a, __b);
22374 }
22375 
22376 __extension__ extern __inline int32x4_t
22377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_s16(int16x8_t __a,int16x8_t __b)22378 vqdmull_high_s16 (int16x8_t __a, int16x8_t __b)
22379 {
22380   return __builtin_aarch64_sqdmull2v8hi (__a, __b);
22381 }
22382 
22383 __extension__ extern __inline int32x4_t
22384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_lane_s16(int16x8_t __a,int16x4_t __b,int const __c)22385 vqdmull_high_lane_s16 (int16x8_t __a, int16x4_t __b, int const __c)
22386 {
22387   return __builtin_aarch64_sqdmull2_lanev8hi (__a, __b,__c);
22388 }
22389 
22390 __extension__ extern __inline int32x4_t
22391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_laneq_s16(int16x8_t __a,int16x8_t __b,int const __c)22392 vqdmull_high_laneq_s16 (int16x8_t __a, int16x8_t __b, int const __c)
22393 {
22394   return __builtin_aarch64_sqdmull2_laneqv8hi (__a, __b,__c);
22395 }
22396 
22397 __extension__ extern __inline int32x4_t
22398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_n_s16(int16x8_t __a,int16_t __b)22399 vqdmull_high_n_s16 (int16x8_t __a, int16_t __b)
22400 {
22401   return __builtin_aarch64_sqdmull2_nv8hi (__a, __b);
22402 }
22403 
22404 __extension__ extern __inline int32x4_t
22405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_lane_s16(int16x4_t __a,int16x4_t __b,int const __c)22406 vqdmull_lane_s16 (int16x4_t __a, int16x4_t __b, int const __c)
22407 {
22408   return __builtin_aarch64_sqdmull_lanev4hi (__a, __b, __c);
22409 }
22410 
22411 __extension__ extern __inline int32x4_t
22412 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_laneq_s16(int16x4_t __a,int16x8_t __b,int const __c)22413 vqdmull_laneq_s16 (int16x4_t __a, int16x8_t __b, int const __c)
22414 {
22415   return __builtin_aarch64_sqdmull_laneqv4hi (__a, __b, __c);
22416 }
22417 
22418 __extension__ extern __inline int32x4_t
22419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_n_s16(int16x4_t __a,int16_t __b)22420 vqdmull_n_s16 (int16x4_t __a, int16_t __b)
22421 {
22422   return __builtin_aarch64_sqdmull_nv4hi (__a, __b);
22423 }
22424 
22425 __extension__ extern __inline int64x2_t
22426 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_s32(int32x2_t __a,int32x2_t __b)22427 vqdmull_s32 (int32x2_t __a, int32x2_t __b)
22428 {
22429   return __builtin_aarch64_sqdmullv2si (__a, __b);
22430 }
22431 
22432 __extension__ extern __inline int64x2_t
22433 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_s32(int32x4_t __a,int32x4_t __b)22434 vqdmull_high_s32 (int32x4_t __a, int32x4_t __b)
22435 {
22436   return __builtin_aarch64_sqdmull2v4si (__a, __b);
22437 }
22438 
22439 __extension__ extern __inline int64x2_t
22440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_lane_s32(int32x4_t __a,int32x2_t __b,int const __c)22441 vqdmull_high_lane_s32 (int32x4_t __a, int32x2_t __b, int const __c)
22442 {
22443   return __builtin_aarch64_sqdmull2_lanev4si (__a, __b, __c);
22444 }
22445 
22446 __extension__ extern __inline int64x2_t
22447 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_laneq_s32(int32x4_t __a,int32x4_t __b,int const __c)22448 vqdmull_high_laneq_s32 (int32x4_t __a, int32x4_t __b, int const __c)
22449 {
22450   return __builtin_aarch64_sqdmull2_laneqv4si (__a, __b, __c);
22451 }
22452 
22453 __extension__ extern __inline int64x2_t
22454 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_high_n_s32(int32x4_t __a,int32_t __b)22455 vqdmull_high_n_s32 (int32x4_t __a, int32_t __b)
22456 {
22457   return __builtin_aarch64_sqdmull2_nv4si (__a, __b);
22458 }
22459 
22460 __extension__ extern __inline int64x2_t
22461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_lane_s32(int32x2_t __a,int32x2_t __b,int const __c)22462 vqdmull_lane_s32 (int32x2_t __a, int32x2_t __b, int const __c)
22463 {
22464   return __builtin_aarch64_sqdmull_lanev2si (__a, __b, __c);
22465 }
22466 
22467 __extension__ extern __inline int64x2_t
22468 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_laneq_s32(int32x2_t __a,int32x4_t __b,int const __c)22469 vqdmull_laneq_s32 (int32x2_t __a, int32x4_t __b, int const __c)
22470 {
22471   return __builtin_aarch64_sqdmull_laneqv2si (__a, __b, __c);
22472 }
22473 
22474 __extension__ extern __inline int64x2_t
22475 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmull_n_s32(int32x2_t __a,int32_t __b)22476 vqdmull_n_s32 (int32x2_t __a, int32_t __b)
22477 {
22478   return __builtin_aarch64_sqdmull_nv2si (__a, __b);
22479 }
22480 
22481 __extension__ extern __inline int32_t
22482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmullh_s16(int16_t __a,int16_t __b)22483 vqdmullh_s16 (int16_t __a, int16_t __b)
22484 {
22485   return (int32_t) __builtin_aarch64_sqdmullhi (__a, __b);
22486 }
22487 
22488 __extension__ extern __inline int32_t
22489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmullh_lane_s16(int16_t __a,int16x4_t __b,const int __c)22490 vqdmullh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
22491 {
22492   return __builtin_aarch64_sqdmull_lanehi (__a, __b, __c);
22493 }
22494 
22495 __extension__ extern __inline int32_t
22496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmullh_laneq_s16(int16_t __a,int16x8_t __b,const int __c)22497 vqdmullh_laneq_s16 (int16_t __a, int16x8_t __b, const int __c)
22498 {
22499   return __builtin_aarch64_sqdmull_laneqhi (__a, __b, __c);
22500 }
22501 
22502 __extension__ extern __inline int64_t
22503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulls_s32(int32_t __a,int32_t __b)22504 vqdmulls_s32 (int32_t __a, int32_t __b)
22505 {
22506   return __builtin_aarch64_sqdmullsi (__a, __b);
22507 }
22508 
22509 __extension__ extern __inline int64_t
22510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulls_lane_s32(int32_t __a,int32x2_t __b,const int __c)22511 vqdmulls_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
22512 {
22513   return __builtin_aarch64_sqdmull_lanesi (__a, __b, __c);
22514 }
22515 
22516 __extension__ extern __inline int64_t
22517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqdmulls_laneq_s32(int32_t __a,int32x4_t __b,const int __c)22518 vqdmulls_laneq_s32 (int32_t __a, int32x4_t __b, const int __c)
22519 {
22520   return __builtin_aarch64_sqdmull_laneqsi (__a, __b, __c);
22521 }
22522 
22523 /* vqmovn */
22524 
22525 __extension__ extern __inline int8x8_t
22526 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s16(int16x8_t __a)22527 vqmovn_s16 (int16x8_t __a)
22528 {
22529   return (int8x8_t) __builtin_aarch64_sqmovnv8hi (__a);
22530 }
22531 
22532 __extension__ extern __inline int16x4_t
22533 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s32(int32x4_t __a)22534 vqmovn_s32 (int32x4_t __a)
22535 {
22536   return (int16x4_t) __builtin_aarch64_sqmovnv4si (__a);
22537 }
22538 
22539 __extension__ extern __inline int32x2_t
22540 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_s64(int64x2_t __a)22541 vqmovn_s64 (int64x2_t __a)
22542 {
22543   return (int32x2_t) __builtin_aarch64_sqmovnv2di (__a);
22544 }
22545 
22546 __extension__ extern __inline uint8x8_t
22547 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u16(uint16x8_t __a)22548 vqmovn_u16 (uint16x8_t __a)
22549 {
22550   return (uint8x8_t) __builtin_aarch64_uqmovnv8hi ((int16x8_t) __a);
22551 }
22552 
22553 __extension__ extern __inline uint16x4_t
22554 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u32(uint32x4_t __a)22555 vqmovn_u32 (uint32x4_t __a)
22556 {
22557   return (uint16x4_t) __builtin_aarch64_uqmovnv4si ((int32x4_t) __a);
22558 }
22559 
22560 __extension__ extern __inline uint32x2_t
22561 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovn_u64(uint64x2_t __a)22562 vqmovn_u64 (uint64x2_t __a)
22563 {
22564   return (uint32x2_t) __builtin_aarch64_uqmovnv2di ((int64x2_t) __a);
22565 }
22566 
22567 __extension__ extern __inline int8_t
22568 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovnh_s16(int16_t __a)22569 vqmovnh_s16 (int16_t __a)
22570 {
22571   return (int8_t) __builtin_aarch64_sqmovnhi (__a);
22572 }
22573 
22574 __extension__ extern __inline int16_t
22575 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovns_s32(int32_t __a)22576 vqmovns_s32 (int32_t __a)
22577 {
22578   return (int16_t) __builtin_aarch64_sqmovnsi (__a);
22579 }
22580 
22581 __extension__ extern __inline int32_t
22582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovnd_s64(int64_t __a)22583 vqmovnd_s64 (int64_t __a)
22584 {
22585   return (int32_t) __builtin_aarch64_sqmovndi (__a);
22586 }
22587 
22588 __extension__ extern __inline uint8_t
22589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovnh_u16(uint16_t __a)22590 vqmovnh_u16 (uint16_t __a)
22591 {
22592   return (uint8_t) __builtin_aarch64_uqmovnhi (__a);
22593 }
22594 
22595 __extension__ extern __inline uint16_t
22596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovns_u32(uint32_t __a)22597 vqmovns_u32 (uint32_t __a)
22598 {
22599   return (uint16_t) __builtin_aarch64_uqmovnsi (__a);
22600 }
22601 
22602 __extension__ extern __inline uint32_t
22603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovnd_u64(uint64_t __a)22604 vqmovnd_u64 (uint64_t __a)
22605 {
22606   return (uint32_t) __builtin_aarch64_uqmovndi (__a);
22607 }
22608 
22609 /* vqmovun */
22610 
22611 __extension__ extern __inline uint8x8_t
22612 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s16(int16x8_t __a)22613 vqmovun_s16 (int16x8_t __a)
22614 {
22615   return __builtin_aarch64_sqmovunv8hi_us (__a);
22616 }
22617 
22618 __extension__ extern __inline uint16x4_t
22619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s32(int32x4_t __a)22620 vqmovun_s32 (int32x4_t __a)
22621 {
22622   return __builtin_aarch64_sqmovunv4si_us (__a);
22623 }
22624 
22625 __extension__ extern __inline uint32x2_t
22626 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovun_s64(int64x2_t __a)22627 vqmovun_s64 (int64x2_t __a)
22628 {
22629   return __builtin_aarch64_sqmovunv2di_us (__a);
22630 }
22631 
22632 __extension__ extern __inline uint8_t
22633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovunh_s16(int16_t __a)22634 vqmovunh_s16 (int16_t __a)
22635 {
22636   return __builtin_aarch64_sqmovunhi_us (__a);
22637 }
22638 
22639 __extension__ extern __inline uint16_t
22640 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovuns_s32(int32_t __a)22641 vqmovuns_s32 (int32_t __a)
22642 {
22643   return __builtin_aarch64_sqmovunsi_us (__a);
22644 }
22645 
22646 __extension__ extern __inline uint32_t
22647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqmovund_s64(int64_t __a)22648 vqmovund_s64 (int64_t __a)
22649 {
22650   return __builtin_aarch64_sqmovundi_us (__a);
22651 }
22652 
22653 /* vqneg */
22654 
22655 __extension__ extern __inline int64x2_t
22656 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegq_s64(int64x2_t __a)22657 vqnegq_s64 (int64x2_t __a)
22658 {
22659   return (int64x2_t) __builtin_aarch64_sqnegv2di (__a);
22660 }
22661 
22662 __extension__ extern __inline int8_t
22663 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegb_s8(int8_t __a)22664 vqnegb_s8 (int8_t __a)
22665 {
22666   return (int8_t) __builtin_aarch64_sqnegqi (__a);
22667 }
22668 
22669 __extension__ extern __inline int16_t
22670 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegh_s16(int16_t __a)22671 vqnegh_s16 (int16_t __a)
22672 {
22673   return (int16_t) __builtin_aarch64_sqneghi (__a);
22674 }
22675 
22676 __extension__ extern __inline int32_t
22677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegs_s32(int32_t __a)22678 vqnegs_s32 (int32_t __a)
22679 {
22680   return (int32_t) __builtin_aarch64_sqnegsi (__a);
22681 }
22682 
22683 __extension__ extern __inline int64_t
22684 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqnegd_s64(int64_t __a)22685 vqnegd_s64 (int64_t __a)
22686 {
22687   return __builtin_aarch64_sqnegdi (__a);
22688 }
22689 
22690 /* vqrdmulh */
22691 
22692 __extension__ extern __inline int16x4_t
22693 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_lane_s16(int16x4_t __a,int16x4_t __b,const int __c)22694 vqrdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
22695 {
22696   return  __builtin_aarch64_sqrdmulh_lanev4hi (__a, __b, __c);
22697 }
22698 
22699 __extension__ extern __inline int32x2_t
22700 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulh_lane_s32(int32x2_t __a,int32x2_t __b,const int __c)22701 vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
22702 {
22703   return __builtin_aarch64_sqrdmulh_lanev2si (__a, __b, __c);
22704 }
22705 
22706 __extension__ extern __inline int16x8_t
22707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_lane_s16(int16x8_t __a,int16x4_t __b,const int __c)22708 vqrdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
22709 {
22710   return __builtin_aarch64_sqrdmulh_lanev8hi (__a, __b, __c);
22711 }
22712 
22713 __extension__ extern __inline int32x4_t
22714 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhq_lane_s32(int32x4_t __a,int32x2_t __b,const int __c)22715 vqrdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
22716 {
22717   return __builtin_aarch64_sqrdmulh_lanev4si (__a, __b, __c);
22718 }
22719 
22720 __extension__ extern __inline int16_t
22721 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhh_s16(int16_t __a,int16_t __b)22722 vqrdmulhh_s16 (int16_t __a, int16_t __b)
22723 {
22724   return (int16_t) __builtin_aarch64_sqrdmulhhi (__a, __b);
22725 }
22726 
22727 __extension__ extern __inline int16_t
22728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhh_lane_s16(int16_t __a,int16x4_t __b,const int __c)22729 vqrdmulhh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
22730 {
22731   return __builtin_aarch64_sqrdmulh_lanehi (__a, __b, __c);
22732 }
22733 
22734 __extension__ extern __inline int16_t
22735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhh_laneq_s16(int16_t __a,int16x8_t __b,const int __c)22736 vqrdmulhh_laneq_s16 (int16_t __a, int16x8_t __b, const int __c)
22737 {
22738   return __builtin_aarch64_sqrdmulh_laneqhi (__a, __b, __c);
22739 }
22740 
22741 __extension__ extern __inline int32_t
22742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhs_s32(int32_t __a,int32_t __b)22743 vqrdmulhs_s32 (int32_t __a, int32_t __b)
22744 {
22745   return (int32_t) __builtin_aarch64_sqrdmulhsi (__a, __b);
22746 }
22747 
22748 __extension__ extern __inline int32_t
22749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhs_lane_s32(int32_t __a,int32x2_t __b,const int __c)22750 vqrdmulhs_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
22751 {
22752   return __builtin_aarch64_sqrdmulh_lanesi (__a, __b, __c);
22753 }
22754 
22755 __extension__ extern __inline int32_t
22756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrdmulhs_laneq_s32(int32_t __a,int32x4_t __b,const int __c)22757 vqrdmulhs_laneq_s32 (int32_t __a, int32x4_t __b, const int __c)
22758 {
22759   return __builtin_aarch64_sqrdmulh_laneqsi (__a, __b, __c);
22760 }
22761 
22762 /* vqrshl */
22763 
22764 __extension__ extern __inline int8x8_t
22765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s8(int8x8_t __a,int8x8_t __b)22766 vqrshl_s8 (int8x8_t __a, int8x8_t __b)
22767 {
22768   return __builtin_aarch64_sqrshlv8qi (__a, __b);
22769 }
22770 
22771 __extension__ extern __inline int16x4_t
22772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s16(int16x4_t __a,int16x4_t __b)22773 vqrshl_s16 (int16x4_t __a, int16x4_t __b)
22774 {
22775   return __builtin_aarch64_sqrshlv4hi (__a, __b);
22776 }
22777 
22778 __extension__ extern __inline int32x2_t
22779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s32(int32x2_t __a,int32x2_t __b)22780 vqrshl_s32 (int32x2_t __a, int32x2_t __b)
22781 {
22782   return __builtin_aarch64_sqrshlv2si (__a, __b);
22783 }
22784 
22785 __extension__ extern __inline int64x1_t
22786 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_s64(int64x1_t __a,int64x1_t __b)22787 vqrshl_s64 (int64x1_t __a, int64x1_t __b)
22788 {
22789   return (int64x1_t) {__builtin_aarch64_sqrshldi (__a[0], __b[0])};
22790 }
22791 
22792 __extension__ extern __inline uint8x8_t
22793 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u8(uint8x8_t __a,int8x8_t __b)22794 vqrshl_u8 (uint8x8_t __a, int8x8_t __b)
22795 {
22796   return __builtin_aarch64_uqrshlv8qi_uus ( __a, __b);
22797 }
22798 
22799 __extension__ extern __inline uint16x4_t
22800 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u16(uint16x4_t __a,int16x4_t __b)22801 vqrshl_u16 (uint16x4_t __a, int16x4_t __b)
22802 {
22803   return __builtin_aarch64_uqrshlv4hi_uus ( __a, __b);
22804 }
22805 
22806 __extension__ extern __inline uint32x2_t
22807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u32(uint32x2_t __a,int32x2_t __b)22808 vqrshl_u32 (uint32x2_t __a, int32x2_t __b)
22809 {
22810   return __builtin_aarch64_uqrshlv2si_uus ( __a, __b);
22811 }
22812 
22813 __extension__ extern __inline uint64x1_t
22814 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshl_u64(uint64x1_t __a,int64x1_t __b)22815 vqrshl_u64 (uint64x1_t __a, int64x1_t __b)
22816 {
22817   return (uint64x1_t) {__builtin_aarch64_uqrshldi_uus (__a[0], __b[0])};
22818 }
22819 
22820 __extension__ extern __inline int8x16_t
22821 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s8(int8x16_t __a,int8x16_t __b)22822 vqrshlq_s8 (int8x16_t __a, int8x16_t __b)
22823 {
22824   return __builtin_aarch64_sqrshlv16qi (__a, __b);
22825 }
22826 
22827 __extension__ extern __inline int16x8_t
22828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s16(int16x8_t __a,int16x8_t __b)22829 vqrshlq_s16 (int16x8_t __a, int16x8_t __b)
22830 {
22831   return __builtin_aarch64_sqrshlv8hi (__a, __b);
22832 }
22833 
22834 __extension__ extern __inline int32x4_t
22835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s32(int32x4_t __a,int32x4_t __b)22836 vqrshlq_s32 (int32x4_t __a, int32x4_t __b)
22837 {
22838   return __builtin_aarch64_sqrshlv4si (__a, __b);
22839 }
22840 
22841 __extension__ extern __inline int64x2_t
22842 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_s64(int64x2_t __a,int64x2_t __b)22843 vqrshlq_s64 (int64x2_t __a, int64x2_t __b)
22844 {
22845   return __builtin_aarch64_sqrshlv2di (__a, __b);
22846 }
22847 
22848 __extension__ extern __inline uint8x16_t
22849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u8(uint8x16_t __a,int8x16_t __b)22850 vqrshlq_u8 (uint8x16_t __a, int8x16_t __b)
22851 {
22852   return __builtin_aarch64_uqrshlv16qi_uus ( __a, __b);
22853 }
22854 
22855 __extension__ extern __inline uint16x8_t
22856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u16(uint16x8_t __a,int16x8_t __b)22857 vqrshlq_u16 (uint16x8_t __a, int16x8_t __b)
22858 {
22859   return __builtin_aarch64_uqrshlv8hi_uus ( __a, __b);
22860 }
22861 
22862 __extension__ extern __inline uint32x4_t
22863 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u32(uint32x4_t __a,int32x4_t __b)22864 vqrshlq_u32 (uint32x4_t __a, int32x4_t __b)
22865 {
22866   return __builtin_aarch64_uqrshlv4si_uus ( __a, __b);
22867 }
22868 
22869 __extension__ extern __inline uint64x2_t
22870 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlq_u64(uint64x2_t __a,int64x2_t __b)22871 vqrshlq_u64 (uint64x2_t __a, int64x2_t __b)
22872 {
22873   return __builtin_aarch64_uqrshlv2di_uus ( __a, __b);
22874 }
22875 
22876 __extension__ extern __inline int8_t
22877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlb_s8(int8_t __a,int8_t __b)22878 vqrshlb_s8 (int8_t __a, int8_t __b)
22879 {
22880   return __builtin_aarch64_sqrshlqi (__a, __b);
22881 }
22882 
22883 __extension__ extern __inline int16_t
22884 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlh_s16(int16_t __a,int16_t __b)22885 vqrshlh_s16 (int16_t __a, int16_t __b)
22886 {
22887   return __builtin_aarch64_sqrshlhi (__a, __b);
22888 }
22889 
22890 __extension__ extern __inline int32_t
22891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshls_s32(int32_t __a,int32_t __b)22892 vqrshls_s32 (int32_t __a, int32_t __b)
22893 {
22894   return __builtin_aarch64_sqrshlsi (__a, __b);
22895 }
22896 
22897 __extension__ extern __inline int64_t
22898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshld_s64(int64_t __a,int64_t __b)22899 vqrshld_s64 (int64_t __a, int64_t __b)
22900 {
22901   return __builtin_aarch64_sqrshldi (__a, __b);
22902 }
22903 
22904 __extension__ extern __inline uint8_t
22905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlb_u8(uint8_t __a,int8_t __b)22906 vqrshlb_u8 (uint8_t __a, int8_t __b)
22907 {
22908   return __builtin_aarch64_uqrshlqi_uus (__a, __b);
22909 }
22910 
22911 __extension__ extern __inline uint16_t
22912 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshlh_u16(uint16_t __a,int16_t __b)22913 vqrshlh_u16 (uint16_t __a, int16_t __b)
22914 {
22915   return __builtin_aarch64_uqrshlhi_uus (__a, __b);
22916 }
22917 
22918 __extension__ extern __inline uint32_t
22919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshls_u32(uint32_t __a,int32_t __b)22920 vqrshls_u32 (uint32_t __a, int32_t __b)
22921 {
22922   return __builtin_aarch64_uqrshlsi_uus (__a, __b);
22923 }
22924 
22925 __extension__ extern __inline uint64_t
22926 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshld_u64(uint64_t __a,int64_t __b)22927 vqrshld_u64 (uint64_t __a, int64_t __b)
22928 {
22929   return __builtin_aarch64_uqrshldi_uus (__a, __b);
22930 }
22931 
22932 /* vqrshrn */
22933 
22934 __extension__ extern __inline int8x8_t
22935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s16(int16x8_t __a,const int __b)22936 vqrshrn_n_s16 (int16x8_t __a, const int __b)
22937 {
22938   return (int8x8_t) __builtin_aarch64_sqrshrn_nv8hi (__a, __b);
22939 }
22940 
22941 __extension__ extern __inline int16x4_t
22942 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s32(int32x4_t __a,const int __b)22943 vqrshrn_n_s32 (int32x4_t __a, const int __b)
22944 {
22945   return (int16x4_t) __builtin_aarch64_sqrshrn_nv4si (__a, __b);
22946 }
22947 
22948 __extension__ extern __inline int32x2_t
22949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_s64(int64x2_t __a,const int __b)22950 vqrshrn_n_s64 (int64x2_t __a, const int __b)
22951 {
22952   return (int32x2_t) __builtin_aarch64_sqrshrn_nv2di (__a, __b);
22953 }
22954 
22955 __extension__ extern __inline uint8x8_t
22956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u16(uint16x8_t __a,const int __b)22957 vqrshrn_n_u16 (uint16x8_t __a, const int __b)
22958 {
22959   return __builtin_aarch64_uqrshrn_nv8hi_uus ( __a, __b);
22960 }
22961 
22962 __extension__ extern __inline uint16x4_t
22963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u32(uint32x4_t __a,const int __b)22964 vqrshrn_n_u32 (uint32x4_t __a, const int __b)
22965 {
22966   return __builtin_aarch64_uqrshrn_nv4si_uus ( __a, __b);
22967 }
22968 
22969 __extension__ extern __inline uint32x2_t
22970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrn_n_u64(uint64x2_t __a,const int __b)22971 vqrshrn_n_u64 (uint64x2_t __a, const int __b)
22972 {
22973   return __builtin_aarch64_uqrshrn_nv2di_uus ( __a, __b);
22974 }
22975 
22976 __extension__ extern __inline int8_t
22977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrnh_n_s16(int16_t __a,const int __b)22978 vqrshrnh_n_s16 (int16_t __a, const int __b)
22979 {
22980   return (int8_t) __builtin_aarch64_sqrshrn_nhi (__a, __b);
22981 }
22982 
22983 __extension__ extern __inline int16_t
22984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrns_n_s32(int32_t __a,const int __b)22985 vqrshrns_n_s32 (int32_t __a, const int __b)
22986 {
22987   return (int16_t) __builtin_aarch64_sqrshrn_nsi (__a, __b);
22988 }
22989 
22990 __extension__ extern __inline int32_t
22991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrnd_n_s64(int64_t __a,const int __b)22992 vqrshrnd_n_s64 (int64_t __a, const int __b)
22993 {
22994   return (int32_t) __builtin_aarch64_sqrshrn_ndi (__a, __b);
22995 }
22996 
22997 __extension__ extern __inline uint8_t
22998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrnh_n_u16(uint16_t __a,const int __b)22999 vqrshrnh_n_u16 (uint16_t __a, const int __b)
23000 {
23001   return __builtin_aarch64_uqrshrn_nhi_uus (__a, __b);
23002 }
23003 
23004 __extension__ extern __inline uint16_t
23005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrns_n_u32(uint32_t __a,const int __b)23006 vqrshrns_n_u32 (uint32_t __a, const int __b)
23007 {
23008   return __builtin_aarch64_uqrshrn_nsi_uus (__a, __b);
23009 }
23010 
23011 __extension__ extern __inline uint32_t
23012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrnd_n_u64(uint64_t __a,const int __b)23013 vqrshrnd_n_u64 (uint64_t __a, const int __b)
23014 {
23015   return __builtin_aarch64_uqrshrn_ndi_uus (__a, __b);
23016 }
23017 
23018 /* vqrshrun */
23019 
23020 __extension__ extern __inline uint8x8_t
23021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s16(int16x8_t __a,const int __b)23022 vqrshrun_n_s16 (int16x8_t __a, const int __b)
23023 {
23024   return (uint8x8_t) __builtin_aarch64_sqrshrun_nv8hi (__a, __b);
23025 }
23026 
23027 __extension__ extern __inline uint16x4_t
23028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s32(int32x4_t __a,const int __b)23029 vqrshrun_n_s32 (int32x4_t __a, const int __b)
23030 {
23031   return (uint16x4_t) __builtin_aarch64_sqrshrun_nv4si (__a, __b);
23032 }
23033 
23034 __extension__ extern __inline uint32x2_t
23035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrun_n_s64(int64x2_t __a,const int __b)23036 vqrshrun_n_s64 (int64x2_t __a, const int __b)
23037 {
23038   return (uint32x2_t) __builtin_aarch64_sqrshrun_nv2di (__a, __b);
23039 }
23040 
23041 __extension__ extern __inline int8_t
23042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrunh_n_s16(int16_t __a,const int __b)23043 vqrshrunh_n_s16 (int16_t __a, const int __b)
23044 {
23045   return (int8_t) __builtin_aarch64_sqrshrun_nhi (__a, __b);
23046 }
23047 
23048 __extension__ extern __inline int16_t
23049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshruns_n_s32(int32_t __a,const int __b)23050 vqrshruns_n_s32 (int32_t __a, const int __b)
23051 {
23052   return (int16_t) __builtin_aarch64_sqrshrun_nsi (__a, __b);
23053 }
23054 
23055 __extension__ extern __inline int32_t
23056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqrshrund_n_s64(int64_t __a,const int __b)23057 vqrshrund_n_s64 (int64_t __a, const int __b)
23058 {
23059   return (int32_t) __builtin_aarch64_sqrshrun_ndi (__a, __b);
23060 }
23061 
23062 /* vqshl */
23063 
23064 __extension__ extern __inline int8x8_t
23065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s8(int8x8_t __a,int8x8_t __b)23066 vqshl_s8 (int8x8_t __a, int8x8_t __b)
23067 {
23068   return __builtin_aarch64_sqshlv8qi (__a, __b);
23069 }
23070 
23071 __extension__ extern __inline int16x4_t
23072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s16(int16x4_t __a,int16x4_t __b)23073 vqshl_s16 (int16x4_t __a, int16x4_t __b)
23074 {
23075   return __builtin_aarch64_sqshlv4hi (__a, __b);
23076 }
23077 
23078 __extension__ extern __inline int32x2_t
23079 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s32(int32x2_t __a,int32x2_t __b)23080 vqshl_s32 (int32x2_t __a, int32x2_t __b)
23081 {
23082   return __builtin_aarch64_sqshlv2si (__a, __b);
23083 }
23084 
23085 __extension__ extern __inline int64x1_t
23086 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_s64(int64x1_t __a,int64x1_t __b)23087 vqshl_s64 (int64x1_t __a, int64x1_t __b)
23088 {
23089   return (int64x1_t) {__builtin_aarch64_sqshldi (__a[0], __b[0])};
23090 }
23091 
23092 __extension__ extern __inline uint8x8_t
23093 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u8(uint8x8_t __a,int8x8_t __b)23094 vqshl_u8 (uint8x8_t __a, int8x8_t __b)
23095 {
23096   return __builtin_aarch64_uqshlv8qi_uus ( __a, __b);
23097 }
23098 
23099 __extension__ extern __inline uint16x4_t
23100 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u16(uint16x4_t __a,int16x4_t __b)23101 vqshl_u16 (uint16x4_t __a, int16x4_t __b)
23102 {
23103   return __builtin_aarch64_uqshlv4hi_uus ( __a, __b);
23104 }
23105 
23106 __extension__ extern __inline uint32x2_t
23107 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u32(uint32x2_t __a,int32x2_t __b)23108 vqshl_u32 (uint32x2_t __a, int32x2_t __b)
23109 {
23110   return __builtin_aarch64_uqshlv2si_uus ( __a, __b);
23111 }
23112 
23113 __extension__ extern __inline uint64x1_t
23114 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_u64(uint64x1_t __a,int64x1_t __b)23115 vqshl_u64 (uint64x1_t __a, int64x1_t __b)
23116 {
23117   return (uint64x1_t) {__builtin_aarch64_uqshldi_uus (__a[0], __b[0])};
23118 }
23119 
23120 __extension__ extern __inline int8x16_t
23121 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s8(int8x16_t __a,int8x16_t __b)23122 vqshlq_s8 (int8x16_t __a, int8x16_t __b)
23123 {
23124   return __builtin_aarch64_sqshlv16qi (__a, __b);
23125 }
23126 
23127 __extension__ extern __inline int16x8_t
23128 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s16(int16x8_t __a,int16x8_t __b)23129 vqshlq_s16 (int16x8_t __a, int16x8_t __b)
23130 {
23131   return __builtin_aarch64_sqshlv8hi (__a, __b);
23132 }
23133 
23134 __extension__ extern __inline int32x4_t
23135 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s32(int32x4_t __a,int32x4_t __b)23136 vqshlq_s32 (int32x4_t __a, int32x4_t __b)
23137 {
23138   return __builtin_aarch64_sqshlv4si (__a, __b);
23139 }
23140 
23141 __extension__ extern __inline int64x2_t
23142 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_s64(int64x2_t __a,int64x2_t __b)23143 vqshlq_s64 (int64x2_t __a, int64x2_t __b)
23144 {
23145   return __builtin_aarch64_sqshlv2di (__a, __b);
23146 }
23147 
23148 __extension__ extern __inline uint8x16_t
23149 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u8(uint8x16_t __a,int8x16_t __b)23150 vqshlq_u8 (uint8x16_t __a, int8x16_t __b)
23151 {
23152   return __builtin_aarch64_uqshlv16qi_uus ( __a, __b);
23153 }
23154 
23155 __extension__ extern __inline uint16x8_t
23156 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u16(uint16x8_t __a,int16x8_t __b)23157 vqshlq_u16 (uint16x8_t __a, int16x8_t __b)
23158 {
23159   return __builtin_aarch64_uqshlv8hi_uus ( __a, __b);
23160 }
23161 
23162 __extension__ extern __inline uint32x4_t
23163 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u32(uint32x4_t __a,int32x4_t __b)23164 vqshlq_u32 (uint32x4_t __a, int32x4_t __b)
23165 {
23166   return __builtin_aarch64_uqshlv4si_uus ( __a, __b);
23167 }
23168 
23169 __extension__ extern __inline uint64x2_t
23170 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_u64(uint64x2_t __a,int64x2_t __b)23171 vqshlq_u64 (uint64x2_t __a, int64x2_t __b)
23172 {
23173   return __builtin_aarch64_uqshlv2di_uus ( __a, __b);
23174 }
23175 
23176 __extension__ extern __inline int8_t
23177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlb_s8(int8_t __a,int8_t __b)23178 vqshlb_s8 (int8_t __a, int8_t __b)
23179 {
23180   return __builtin_aarch64_sqshlqi (__a, __b);
23181 }
23182 
23183 __extension__ extern __inline int16_t
23184 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlh_s16(int16_t __a,int16_t __b)23185 vqshlh_s16 (int16_t __a, int16_t __b)
23186 {
23187   return __builtin_aarch64_sqshlhi (__a, __b);
23188 }
23189 
23190 __extension__ extern __inline int32_t
23191 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshls_s32(int32_t __a,int32_t __b)23192 vqshls_s32 (int32_t __a, int32_t __b)
23193 {
23194   return __builtin_aarch64_sqshlsi (__a, __b);
23195 }
23196 
23197 __extension__ extern __inline int64_t
23198 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshld_s64(int64_t __a,int64_t __b)23199 vqshld_s64 (int64_t __a, int64_t __b)
23200 {
23201   return __builtin_aarch64_sqshldi (__a, __b);
23202 }
23203 
23204 __extension__ extern __inline uint8_t
23205 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlb_u8(uint8_t __a,int8_t __b)23206 vqshlb_u8 (uint8_t __a, int8_t __b)
23207 {
23208   return __builtin_aarch64_uqshlqi_uus (__a, __b);
23209 }
23210 
23211 __extension__ extern __inline uint16_t
23212 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlh_u16(uint16_t __a,int16_t __b)23213 vqshlh_u16 (uint16_t __a, int16_t __b)
23214 {
23215   return __builtin_aarch64_uqshlhi_uus (__a, __b);
23216 }
23217 
23218 __extension__ extern __inline uint32_t
23219 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshls_u32(uint32_t __a,int32_t __b)23220 vqshls_u32 (uint32_t __a, int32_t __b)
23221 {
23222   return __builtin_aarch64_uqshlsi_uus (__a, __b);
23223 }
23224 
23225 __extension__ extern __inline uint64_t
23226 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshld_u64(uint64_t __a,int64_t __b)23227 vqshld_u64 (uint64_t __a, int64_t __b)
23228 {
23229   return __builtin_aarch64_uqshldi_uus (__a, __b);
23230 }
23231 
23232 __extension__ extern __inline int8x8_t
23233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s8(int8x8_t __a,const int __b)23234 vqshl_n_s8 (int8x8_t __a, const int __b)
23235 {
23236   return (int8x8_t) __builtin_aarch64_sqshl_nv8qi (__a, __b);
23237 }
23238 
23239 __extension__ extern __inline int16x4_t
23240 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s16(int16x4_t __a,const int __b)23241 vqshl_n_s16 (int16x4_t __a, const int __b)
23242 {
23243   return (int16x4_t) __builtin_aarch64_sqshl_nv4hi (__a, __b);
23244 }
23245 
23246 __extension__ extern __inline int32x2_t
23247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s32(int32x2_t __a,const int __b)23248 vqshl_n_s32 (int32x2_t __a, const int __b)
23249 {
23250   return (int32x2_t) __builtin_aarch64_sqshl_nv2si (__a, __b);
23251 }
23252 
23253 __extension__ extern __inline int64x1_t
23254 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_s64(int64x1_t __a,const int __b)23255 vqshl_n_s64 (int64x1_t __a, const int __b)
23256 {
23257   return (int64x1_t) {__builtin_aarch64_sqshl_ndi (__a[0], __b)};
23258 }
23259 
23260 __extension__ extern __inline uint8x8_t
23261 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u8(uint8x8_t __a,const int __b)23262 vqshl_n_u8 (uint8x8_t __a, const int __b)
23263 {
23264   return __builtin_aarch64_uqshl_nv8qi_uus (__a, __b);
23265 }
23266 
23267 __extension__ extern __inline uint16x4_t
23268 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u16(uint16x4_t __a,const int __b)23269 vqshl_n_u16 (uint16x4_t __a, const int __b)
23270 {
23271   return __builtin_aarch64_uqshl_nv4hi_uus (__a, __b);
23272 }
23273 
23274 __extension__ extern __inline uint32x2_t
23275 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u32(uint32x2_t __a,const int __b)23276 vqshl_n_u32 (uint32x2_t __a, const int __b)
23277 {
23278   return __builtin_aarch64_uqshl_nv2si_uus (__a, __b);
23279 }
23280 
23281 __extension__ extern __inline uint64x1_t
23282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshl_n_u64(uint64x1_t __a,const int __b)23283 vqshl_n_u64 (uint64x1_t __a, const int __b)
23284 {
23285   return (uint64x1_t) {__builtin_aarch64_uqshl_ndi_uus (__a[0], __b)};
23286 }
23287 
23288 __extension__ extern __inline int8x16_t
23289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s8(int8x16_t __a,const int __b)23290 vqshlq_n_s8 (int8x16_t __a, const int __b)
23291 {
23292   return (int8x16_t) __builtin_aarch64_sqshl_nv16qi (__a, __b);
23293 }
23294 
23295 __extension__ extern __inline int16x8_t
23296 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s16(int16x8_t __a,const int __b)23297 vqshlq_n_s16 (int16x8_t __a, const int __b)
23298 {
23299   return (int16x8_t) __builtin_aarch64_sqshl_nv8hi (__a, __b);
23300 }
23301 
23302 __extension__ extern __inline int32x4_t
23303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s32(int32x4_t __a,const int __b)23304 vqshlq_n_s32 (int32x4_t __a, const int __b)
23305 {
23306   return (int32x4_t) __builtin_aarch64_sqshl_nv4si (__a, __b);
23307 }
23308 
23309 __extension__ extern __inline int64x2_t
23310 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_s64(int64x2_t __a,const int __b)23311 vqshlq_n_s64 (int64x2_t __a, const int __b)
23312 {
23313   return (int64x2_t) __builtin_aarch64_sqshl_nv2di (__a, __b);
23314 }
23315 
23316 __extension__ extern __inline uint8x16_t
23317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u8(uint8x16_t __a,const int __b)23318 vqshlq_n_u8 (uint8x16_t __a, const int __b)
23319 {
23320   return __builtin_aarch64_uqshl_nv16qi_uus (__a, __b);
23321 }
23322 
23323 __extension__ extern __inline uint16x8_t
23324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u16(uint16x8_t __a,const int __b)23325 vqshlq_n_u16 (uint16x8_t __a, const int __b)
23326 {
23327   return __builtin_aarch64_uqshl_nv8hi_uus (__a, __b);
23328 }
23329 
23330 __extension__ extern __inline uint32x4_t
23331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u32(uint32x4_t __a,const int __b)23332 vqshlq_n_u32 (uint32x4_t __a, const int __b)
23333 {
23334   return __builtin_aarch64_uqshl_nv4si_uus (__a, __b);
23335 }
23336 
23337 __extension__ extern __inline uint64x2_t
23338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlq_n_u64(uint64x2_t __a,const int __b)23339 vqshlq_n_u64 (uint64x2_t __a, const int __b)
23340 {
23341   return __builtin_aarch64_uqshl_nv2di_uus (__a, __b);
23342 }
23343 
23344 __extension__ extern __inline int8_t
23345 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlb_n_s8(int8_t __a,const int __b)23346 vqshlb_n_s8 (int8_t __a, const int __b)
23347 {
23348   return (int8_t) __builtin_aarch64_sqshl_nqi (__a, __b);
23349 }
23350 
23351 __extension__ extern __inline int16_t
23352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlh_n_s16(int16_t __a,const int __b)23353 vqshlh_n_s16 (int16_t __a, const int __b)
23354 {
23355   return (int16_t) __builtin_aarch64_sqshl_nhi (__a, __b);
23356 }
23357 
23358 __extension__ extern __inline int32_t
23359 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshls_n_s32(int32_t __a,const int __b)23360 vqshls_n_s32 (int32_t __a, const int __b)
23361 {
23362   return (int32_t) __builtin_aarch64_sqshl_nsi (__a, __b);
23363 }
23364 
23365 __extension__ extern __inline int64_t
23366 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshld_n_s64(int64_t __a,const int __b)23367 vqshld_n_s64 (int64_t __a, const int __b)
23368 {
23369   return __builtin_aarch64_sqshl_ndi (__a, __b);
23370 }
23371 
23372 __extension__ extern __inline uint8_t
23373 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlb_n_u8(uint8_t __a,const int __b)23374 vqshlb_n_u8 (uint8_t __a, const int __b)
23375 {
23376   return __builtin_aarch64_uqshl_nqi_uus (__a, __b);
23377 }
23378 
23379 __extension__ extern __inline uint16_t
23380 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlh_n_u16(uint16_t __a,const int __b)23381 vqshlh_n_u16 (uint16_t __a, const int __b)
23382 {
23383   return __builtin_aarch64_uqshl_nhi_uus (__a, __b);
23384 }
23385 
23386 __extension__ extern __inline uint32_t
23387 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshls_n_u32(uint32_t __a,const int __b)23388 vqshls_n_u32 (uint32_t __a, const int __b)
23389 {
23390   return __builtin_aarch64_uqshl_nsi_uus (__a, __b);
23391 }
23392 
23393 __extension__ extern __inline uint64_t
23394 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshld_n_u64(uint64_t __a,const int __b)23395 vqshld_n_u64 (uint64_t __a, const int __b)
23396 {
23397   return __builtin_aarch64_uqshl_ndi_uus (__a, __b);
23398 }
23399 
23400 /* vqshlu */
23401 
23402 __extension__ extern __inline uint8x8_t
23403 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s8(int8x8_t __a,const int __b)23404 vqshlu_n_s8 (int8x8_t __a, const int __b)
23405 {
23406   return __builtin_aarch64_sqshlu_nv8qi_uss (__a, __b);
23407 }
23408 
23409 __extension__ extern __inline uint16x4_t
23410 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s16(int16x4_t __a,const int __b)23411 vqshlu_n_s16 (int16x4_t __a, const int __b)
23412 {
23413   return __builtin_aarch64_sqshlu_nv4hi_uss (__a, __b);
23414 }
23415 
23416 __extension__ extern __inline uint32x2_t
23417 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s32(int32x2_t __a,const int __b)23418 vqshlu_n_s32 (int32x2_t __a, const int __b)
23419 {
23420   return __builtin_aarch64_sqshlu_nv2si_uss (__a, __b);
23421 }
23422 
23423 __extension__ extern __inline uint64x1_t
23424 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlu_n_s64(int64x1_t __a,const int __b)23425 vqshlu_n_s64 (int64x1_t __a, const int __b)
23426 {
23427   return (uint64x1_t) {__builtin_aarch64_sqshlu_ndi_uss (__a[0], __b)};
23428 }
23429 
23430 __extension__ extern __inline uint8x16_t
23431 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s8(int8x16_t __a,const int __b)23432 vqshluq_n_s8 (int8x16_t __a, const int __b)
23433 {
23434   return __builtin_aarch64_sqshlu_nv16qi_uss (__a, __b);
23435 }
23436 
23437 __extension__ extern __inline uint16x8_t
23438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s16(int16x8_t __a,const int __b)23439 vqshluq_n_s16 (int16x8_t __a, const int __b)
23440 {
23441   return __builtin_aarch64_sqshlu_nv8hi_uss (__a, __b);
23442 }
23443 
23444 __extension__ extern __inline uint32x4_t
23445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s32(int32x4_t __a,const int __b)23446 vqshluq_n_s32 (int32x4_t __a, const int __b)
23447 {
23448   return __builtin_aarch64_sqshlu_nv4si_uss (__a, __b);
23449 }
23450 
23451 __extension__ extern __inline uint64x2_t
23452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluq_n_s64(int64x2_t __a,const int __b)23453 vqshluq_n_s64 (int64x2_t __a, const int __b)
23454 {
23455   return __builtin_aarch64_sqshlu_nv2di_uss (__a, __b);
23456 }
23457 
23458 __extension__ extern __inline int8_t
23459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlub_n_s8(int8_t __a,const int __b)23460 vqshlub_n_s8 (int8_t __a, const int __b)
23461 {
23462   return (int8_t) __builtin_aarch64_sqshlu_nqi_uss (__a, __b);
23463 }
23464 
23465 __extension__ extern __inline int16_t
23466 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshluh_n_s16(int16_t __a,const int __b)23467 vqshluh_n_s16 (int16_t __a, const int __b)
23468 {
23469   return (int16_t) __builtin_aarch64_sqshlu_nhi_uss (__a, __b);
23470 }
23471 
23472 __extension__ extern __inline int32_t
23473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlus_n_s32(int32_t __a,const int __b)23474 vqshlus_n_s32 (int32_t __a, const int __b)
23475 {
23476   return (int32_t) __builtin_aarch64_sqshlu_nsi_uss (__a, __b);
23477 }
23478 
23479 __extension__ extern __inline uint64_t
23480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshlud_n_s64(int64_t __a,const int __b)23481 vqshlud_n_s64 (int64_t __a, const int __b)
23482 {
23483   return __builtin_aarch64_sqshlu_ndi_uss (__a, __b);
23484 }
23485 
23486 /* vqshrn */
23487 
23488 __extension__ extern __inline int8x8_t
23489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s16(int16x8_t __a,const int __b)23490 vqshrn_n_s16 (int16x8_t __a, const int __b)
23491 {
23492   return (int8x8_t) __builtin_aarch64_sqshrn_nv8hi (__a, __b);
23493 }
23494 
23495 __extension__ extern __inline int16x4_t
23496 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s32(int32x4_t __a,const int __b)23497 vqshrn_n_s32 (int32x4_t __a, const int __b)
23498 {
23499   return (int16x4_t) __builtin_aarch64_sqshrn_nv4si (__a, __b);
23500 }
23501 
23502 __extension__ extern __inline int32x2_t
23503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_s64(int64x2_t __a,const int __b)23504 vqshrn_n_s64 (int64x2_t __a, const int __b)
23505 {
23506   return (int32x2_t) __builtin_aarch64_sqshrn_nv2di (__a, __b);
23507 }
23508 
23509 __extension__ extern __inline uint8x8_t
23510 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u16(uint16x8_t __a,const int __b)23511 vqshrn_n_u16 (uint16x8_t __a, const int __b)
23512 {
23513   return __builtin_aarch64_uqshrn_nv8hi_uus ( __a, __b);
23514 }
23515 
23516 __extension__ extern __inline uint16x4_t
23517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u32(uint32x4_t __a,const int __b)23518 vqshrn_n_u32 (uint32x4_t __a, const int __b)
23519 {
23520   return __builtin_aarch64_uqshrn_nv4si_uus ( __a, __b);
23521 }
23522 
23523 __extension__ extern __inline uint32x2_t
23524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrn_n_u64(uint64x2_t __a,const int __b)23525 vqshrn_n_u64 (uint64x2_t __a, const int __b)
23526 {
23527   return __builtin_aarch64_uqshrn_nv2di_uus ( __a, __b);
23528 }
23529 
23530 __extension__ extern __inline int8_t
23531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrnh_n_s16(int16_t __a,const int __b)23532 vqshrnh_n_s16 (int16_t __a, const int __b)
23533 {
23534   return (int8_t) __builtin_aarch64_sqshrn_nhi (__a, __b);
23535 }
23536 
23537 __extension__ extern __inline int16_t
23538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrns_n_s32(int32_t __a,const int __b)23539 vqshrns_n_s32 (int32_t __a, const int __b)
23540 {
23541   return (int16_t) __builtin_aarch64_sqshrn_nsi (__a, __b);
23542 }
23543 
23544 __extension__ extern __inline int32_t
23545 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrnd_n_s64(int64_t __a,const int __b)23546 vqshrnd_n_s64 (int64_t __a, const int __b)
23547 {
23548   return (int32_t) __builtin_aarch64_sqshrn_ndi (__a, __b);
23549 }
23550 
23551 __extension__ extern __inline uint8_t
23552 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrnh_n_u16(uint16_t __a,const int __b)23553 vqshrnh_n_u16 (uint16_t __a, const int __b)
23554 {
23555   return __builtin_aarch64_uqshrn_nhi_uus (__a, __b);
23556 }
23557 
23558 __extension__ extern __inline uint16_t
23559 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrns_n_u32(uint32_t __a,const int __b)23560 vqshrns_n_u32 (uint32_t __a, const int __b)
23561 {
23562   return __builtin_aarch64_uqshrn_nsi_uus (__a, __b);
23563 }
23564 
23565 __extension__ extern __inline uint32_t
23566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrnd_n_u64(uint64_t __a,const int __b)23567 vqshrnd_n_u64 (uint64_t __a, const int __b)
23568 {
23569   return __builtin_aarch64_uqshrn_ndi_uus (__a, __b);
23570 }
23571 
23572 /* vqshrun */
23573 
23574 __extension__ extern __inline uint8x8_t
23575 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s16(int16x8_t __a,const int __b)23576 vqshrun_n_s16 (int16x8_t __a, const int __b)
23577 {
23578   return (uint8x8_t) __builtin_aarch64_sqshrun_nv8hi (__a, __b);
23579 }
23580 
23581 __extension__ extern __inline uint16x4_t
23582 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s32(int32x4_t __a,const int __b)23583 vqshrun_n_s32 (int32x4_t __a, const int __b)
23584 {
23585   return (uint16x4_t) __builtin_aarch64_sqshrun_nv4si (__a, __b);
23586 }
23587 
23588 __extension__ extern __inline uint32x2_t
23589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrun_n_s64(int64x2_t __a,const int __b)23590 vqshrun_n_s64 (int64x2_t __a, const int __b)
23591 {
23592   return (uint32x2_t) __builtin_aarch64_sqshrun_nv2di (__a, __b);
23593 }
23594 
23595 __extension__ extern __inline int8_t
23596 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrunh_n_s16(int16_t __a,const int __b)23597 vqshrunh_n_s16 (int16_t __a, const int __b)
23598 {
23599   return (int8_t) __builtin_aarch64_sqshrun_nhi (__a, __b);
23600 }
23601 
23602 __extension__ extern __inline int16_t
23603 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshruns_n_s32(int32_t __a,const int __b)23604 vqshruns_n_s32 (int32_t __a, const int __b)
23605 {
23606   return (int16_t) __builtin_aarch64_sqshrun_nsi (__a, __b);
23607 }
23608 
23609 __extension__ extern __inline int32_t
23610 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqshrund_n_s64(int64_t __a,const int __b)23611 vqshrund_n_s64 (int64_t __a, const int __b)
23612 {
23613   return (int32_t) __builtin_aarch64_sqshrun_ndi (__a, __b);
23614 }
23615 
23616 /* vqsub */
23617 
23618 __extension__ extern __inline int8_t
23619 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubb_s8(int8_t __a,int8_t __b)23620 vqsubb_s8 (int8_t __a, int8_t __b)
23621 {
23622   return (int8_t) __builtin_aarch64_sqsubqi (__a, __b);
23623 }
23624 
23625 __extension__ extern __inline int16_t
23626 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubh_s16(int16_t __a,int16_t __b)23627 vqsubh_s16 (int16_t __a, int16_t __b)
23628 {
23629   return (int16_t) __builtin_aarch64_sqsubhi (__a, __b);
23630 }
23631 
23632 __extension__ extern __inline int32_t
23633 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubs_s32(int32_t __a,int32_t __b)23634 vqsubs_s32 (int32_t __a, int32_t __b)
23635 {
23636   return (int32_t) __builtin_aarch64_sqsubsi (__a, __b);
23637 }
23638 
23639 __extension__ extern __inline int64_t
23640 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubd_s64(int64_t __a,int64_t __b)23641 vqsubd_s64 (int64_t __a, int64_t __b)
23642 {
23643   return __builtin_aarch64_sqsubdi (__a, __b);
23644 }
23645 
23646 __extension__ extern __inline uint8_t
23647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubb_u8(uint8_t __a,uint8_t __b)23648 vqsubb_u8 (uint8_t __a, uint8_t __b)
23649 {
23650   return (uint8_t) __builtin_aarch64_uqsubqi_uuu (__a, __b);
23651 }
23652 
23653 __extension__ extern __inline uint16_t
23654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubh_u16(uint16_t __a,uint16_t __b)23655 vqsubh_u16 (uint16_t __a, uint16_t __b)
23656 {
23657   return (uint16_t) __builtin_aarch64_uqsubhi_uuu (__a, __b);
23658 }
23659 
23660 __extension__ extern __inline uint32_t
23661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubs_u32(uint32_t __a,uint32_t __b)23662 vqsubs_u32 (uint32_t __a, uint32_t __b)
23663 {
23664   return (uint32_t) __builtin_aarch64_uqsubsi_uuu (__a, __b);
23665 }
23666 
23667 __extension__ extern __inline uint64_t
23668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqsubd_u64(uint64_t __a,uint64_t __b)23669 vqsubd_u64 (uint64_t __a, uint64_t __b)
23670 {
23671   return __builtin_aarch64_uqsubdi_uuu (__a, __b);
23672 }
23673 
23674 /* vqtbl2 */
23675 
23676 __extension__ extern __inline int8x8_t
23677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2_s8(int8x16x2_t __tab,uint8x8_t __idx)23678 vqtbl2_s8 (int8x16x2_t __tab, uint8x8_t __idx)
23679 {
23680   __builtin_aarch64_simd_oi __o;
23681   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[0], 0);
23682   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[1], 1);
23683   return __builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
23684 }
23685 
23686 __extension__ extern __inline uint8x8_t
23687 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2_u8(uint8x16x2_t __tab,uint8x8_t __idx)23688 vqtbl2_u8 (uint8x16x2_t __tab, uint8x8_t __idx)
23689 {
23690   __builtin_aarch64_simd_oi __o;
23691   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23692   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23693   return (uint8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
23694 }
23695 
23696 __extension__ extern __inline poly8x8_t
23697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2_p8(poly8x16x2_t __tab,uint8x8_t __idx)23698 vqtbl2_p8 (poly8x16x2_t __tab, uint8x8_t __idx)
23699 {
23700   __builtin_aarch64_simd_oi __o;
23701   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23702   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23703   return (poly8x8_t)__builtin_aarch64_tbl3v8qi (__o, (int8x8_t)__idx);
23704 }
23705 
23706 __extension__ extern __inline int8x16_t
23707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2q_s8(int8x16x2_t __tab,uint8x16_t __idx)23708 vqtbl2q_s8 (int8x16x2_t __tab, uint8x16_t __idx)
23709 {
23710   __builtin_aarch64_simd_oi __o;
23711   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23712   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23713   return __builtin_aarch64_tbl3v16qi (__o, (int8x16_t)__idx);
23714 }
23715 
23716 __extension__ extern __inline uint8x16_t
23717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2q_u8(uint8x16x2_t __tab,uint8x16_t __idx)23718 vqtbl2q_u8 (uint8x16x2_t __tab, uint8x16_t __idx)
23719 {
23720   __builtin_aarch64_simd_oi __o;
23721   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23722   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23723   return (uint8x16_t)__builtin_aarch64_tbl3v16qi (__o, (int8x16_t)__idx);
23724 }
23725 
23726 __extension__ extern __inline poly8x16_t
23727 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl2q_p8(poly8x16x2_t __tab,uint8x16_t __idx)23728 vqtbl2q_p8 (poly8x16x2_t __tab, uint8x16_t __idx)
23729 {
23730   __builtin_aarch64_simd_oi __o;
23731   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23732   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23733   return (poly8x16_t)__builtin_aarch64_tbl3v16qi (__o, (int8x16_t)__idx);
23734 }
23735 
23736 /* vqtbl3 */
23737 
23738 __extension__ extern __inline int8x8_t
23739 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3_s8(int8x16x3_t __tab,uint8x8_t __idx)23740 vqtbl3_s8 (int8x16x3_t __tab, uint8x8_t __idx)
23741 {
23742   __builtin_aarch64_simd_ci __o;
23743   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
23744   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
23745   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
23746   return __builtin_aarch64_qtbl3v8qi (__o, (int8x8_t)__idx);
23747 }
23748 
23749 __extension__ extern __inline uint8x8_t
23750 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3_u8(uint8x16x3_t __tab,uint8x8_t __idx)23751 vqtbl3_u8 (uint8x16x3_t __tab, uint8x8_t __idx)
23752 {
23753   __builtin_aarch64_simd_ci __o;
23754   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
23755   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
23756   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
23757   return (uint8x8_t)__builtin_aarch64_qtbl3v8qi (__o, (int8x8_t)__idx);
23758 }
23759 
23760 __extension__ extern __inline poly8x8_t
23761 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3_p8(poly8x16x3_t __tab,uint8x8_t __idx)23762 vqtbl3_p8 (poly8x16x3_t __tab, uint8x8_t __idx)
23763 {
23764   __builtin_aarch64_simd_ci __o;
23765   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
23766   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
23767   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
23768   return (poly8x8_t)__builtin_aarch64_qtbl3v8qi (__o, (int8x8_t)__idx);
23769 }
23770 
23771 __extension__ extern __inline int8x16_t
23772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3q_s8(int8x16x3_t __tab,uint8x16_t __idx)23773 vqtbl3q_s8 (int8x16x3_t __tab, uint8x16_t __idx)
23774 {
23775   __builtin_aarch64_simd_ci __o;
23776   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
23777   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
23778   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
23779   return __builtin_aarch64_qtbl3v16qi (__o, (int8x16_t)__idx);
23780 }
23781 
23782 __extension__ extern __inline uint8x16_t
23783 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3q_u8(uint8x16x3_t __tab,uint8x16_t __idx)23784 vqtbl3q_u8 (uint8x16x3_t __tab, uint8x16_t __idx)
23785 {
23786   __builtin_aarch64_simd_ci __o;
23787   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
23788   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
23789   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
23790   return (uint8x16_t)__builtin_aarch64_qtbl3v16qi (__o, (int8x16_t)__idx);
23791 }
23792 
23793 __extension__ extern __inline poly8x16_t
23794 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl3q_p8(poly8x16x3_t __tab,uint8x16_t __idx)23795 vqtbl3q_p8 (poly8x16x3_t __tab, uint8x16_t __idx)
23796 {
23797   __builtin_aarch64_simd_ci __o;
23798   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
23799   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
23800   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
23801   return (poly8x16_t)__builtin_aarch64_qtbl3v16qi (__o, (int8x16_t)__idx);
23802 }
23803 
23804 /* vqtbl4 */
23805 
23806 __extension__ extern __inline int8x8_t
23807 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4_s8(int8x16x4_t __tab,uint8x8_t __idx)23808 vqtbl4_s8 (int8x16x4_t __tab, uint8x8_t __idx)
23809 {
23810   __builtin_aarch64_simd_xi __o;
23811   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23812   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23813   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
23814   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
23815   return __builtin_aarch64_qtbl4v8qi (__o, (int8x8_t)__idx);
23816 }
23817 
23818 __extension__ extern __inline uint8x8_t
23819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4_u8(uint8x16x4_t __tab,uint8x8_t __idx)23820 vqtbl4_u8 (uint8x16x4_t __tab, uint8x8_t __idx)
23821 {
23822   __builtin_aarch64_simd_xi __o;
23823   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23824   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23825   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
23826   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
23827   return (uint8x8_t)__builtin_aarch64_qtbl4v8qi (__o, (int8x8_t)__idx);
23828 }
23829 
23830 __extension__ extern __inline poly8x8_t
23831 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4_p8(poly8x16x4_t __tab,uint8x8_t __idx)23832 vqtbl4_p8 (poly8x16x4_t __tab, uint8x8_t __idx)
23833 {
23834   __builtin_aarch64_simd_xi __o;
23835   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23836   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23837   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
23838   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
23839   return (poly8x8_t)__builtin_aarch64_qtbl4v8qi (__o, (int8x8_t)__idx);
23840 }
23841 
23842 __extension__ extern __inline int8x16_t
23843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4q_s8(int8x16x4_t __tab,uint8x16_t __idx)23844 vqtbl4q_s8 (int8x16x4_t __tab, uint8x16_t __idx)
23845 {
23846   __builtin_aarch64_simd_xi __o;
23847   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23848   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23849   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
23850   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
23851   return __builtin_aarch64_qtbl4v16qi (__o, (int8x16_t)__idx);
23852 }
23853 
23854 __extension__ extern __inline uint8x16_t
23855 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4q_u8(uint8x16x4_t __tab,uint8x16_t __idx)23856 vqtbl4q_u8 (uint8x16x4_t __tab, uint8x16_t __idx)
23857 {
23858   __builtin_aarch64_simd_xi __o;
23859   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23860   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23861   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
23862   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
23863   return (uint8x16_t)__builtin_aarch64_qtbl4v16qi (__o, (int8x16_t)__idx);
23864 }
23865 
23866 __extension__ extern __inline poly8x16_t
23867 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbl4q_p8(poly8x16x4_t __tab,uint8x16_t __idx)23868 vqtbl4q_p8 (poly8x16x4_t __tab, uint8x16_t __idx)
23869 {
23870   __builtin_aarch64_simd_xi __o;
23871   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23872   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23873   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
23874   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
23875   return (poly8x16_t)__builtin_aarch64_qtbl4v16qi (__o, (int8x16_t)__idx);
23876 }
23877 
23878 
23879 /* vqtbx2 */
23880 __extension__ extern __inline int8x8_t
23881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2_s8(int8x8_t __r,int8x16x2_t __tab,uint8x8_t __idx)23882 vqtbx2_s8 (int8x8_t __r, int8x16x2_t __tab, uint8x8_t __idx)
23883 {
23884   __builtin_aarch64_simd_oi __o;
23885   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[0], 0);
23886   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[1], 1);
23887   return __builtin_aarch64_tbx4v8qi (__r, __o, (int8x8_t)__idx);
23888 }
23889 
23890 __extension__ extern __inline uint8x8_t
23891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2_u8(uint8x8_t __r,uint8x16x2_t __tab,uint8x8_t __idx)23892 vqtbx2_u8 (uint8x8_t __r, uint8x16x2_t __tab, uint8x8_t __idx)
23893 {
23894   __builtin_aarch64_simd_oi __o;
23895   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23896   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23897   return (uint8x8_t)__builtin_aarch64_tbx4v8qi ((int8x8_t)__r, __o,
23898 						(int8x8_t)__idx);
23899 }
23900 
23901 __extension__ extern __inline poly8x8_t
23902 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2_p8(poly8x8_t __r,poly8x16x2_t __tab,uint8x8_t __idx)23903 vqtbx2_p8 (poly8x8_t __r, poly8x16x2_t __tab, uint8x8_t __idx)
23904 {
23905   __builtin_aarch64_simd_oi __o;
23906   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23907   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23908   return (poly8x8_t)__builtin_aarch64_tbx4v8qi ((int8x8_t)__r, __o,
23909 						(int8x8_t)__idx);
23910 }
23911 
23912 __extension__ extern __inline int8x16_t
23913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2q_s8(int8x16_t __r,int8x16x2_t __tab,uint8x16_t __idx)23914 vqtbx2q_s8 (int8x16_t __r, int8x16x2_t __tab, uint8x16_t __idx)
23915 {
23916   __builtin_aarch64_simd_oi __o;
23917   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[0], 0);
23918   __o = __builtin_aarch64_set_qregoiv16qi (__o, __tab.val[1], 1);
23919   return __builtin_aarch64_tbx4v16qi (__r, __o, (int8x16_t)__idx);
23920 }
23921 
23922 __extension__ extern __inline uint8x16_t
23923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2q_u8(uint8x16_t __r,uint8x16x2_t __tab,uint8x16_t __idx)23924 vqtbx2q_u8 (uint8x16_t __r, uint8x16x2_t __tab, uint8x16_t __idx)
23925 {
23926   __builtin_aarch64_simd_oi __o;
23927   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23928   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23929   return (uint8x16_t)__builtin_aarch64_tbx4v16qi ((int8x16_t)__r, __o,
23930 						  (int8x16_t)__idx);
23931 }
23932 
23933 __extension__ extern __inline poly8x16_t
23934 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx2q_p8(poly8x16_t __r,poly8x16x2_t __tab,uint8x16_t __idx)23935 vqtbx2q_p8 (poly8x16_t __r, poly8x16x2_t __tab, uint8x16_t __idx)
23936 {
23937   __builtin_aarch64_simd_oi __o;
23938   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[0], 0);
23939   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t)__tab.val[1], 1);
23940   return (poly8x16_t)__builtin_aarch64_tbx4v16qi ((int8x16_t)__r, __o,
23941 						  (int8x16_t)__idx);
23942 }
23943 
23944 /* vqtbx3 */
23945 __extension__ extern __inline int8x8_t
23946 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3_s8(int8x8_t __r,int8x16x3_t __tab,uint8x8_t __idx)23947 vqtbx3_s8 (int8x8_t __r, int8x16x3_t __tab, uint8x8_t __idx)
23948 {
23949   __builtin_aarch64_simd_ci __o;
23950   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[0], 0);
23951   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[1], 1);
23952   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[2], 2);
23953   return __builtin_aarch64_qtbx3v8qi (__r, __o, (int8x8_t)__idx);
23954 }
23955 
23956 __extension__ extern __inline uint8x8_t
23957 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3_u8(uint8x8_t __r,uint8x16x3_t __tab,uint8x8_t __idx)23958 vqtbx3_u8 (uint8x8_t __r, uint8x16x3_t __tab, uint8x8_t __idx)
23959 {
23960   __builtin_aarch64_simd_ci __o;
23961   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
23962   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
23963   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
23964   return (uint8x8_t)__builtin_aarch64_qtbx3v8qi ((int8x8_t)__r, __o,
23965 						 (int8x8_t)__idx);
23966 }
23967 
23968 __extension__ extern __inline poly8x8_t
23969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3_p8(poly8x8_t __r,poly8x16x3_t __tab,uint8x8_t __idx)23970 vqtbx3_p8 (poly8x8_t __r, poly8x16x3_t __tab, uint8x8_t __idx)
23971 {
23972   __builtin_aarch64_simd_ci __o;
23973   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
23974   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
23975   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
23976   return (poly8x8_t)__builtin_aarch64_qtbx3v8qi ((int8x8_t)__r, __o,
23977 						 (int8x8_t)__idx);
23978 }
23979 
23980 __extension__ extern __inline int8x16_t
23981 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3q_s8(int8x16_t __r,int8x16x3_t __tab,uint8x16_t __idx)23982 vqtbx3q_s8 (int8x16_t __r, int8x16x3_t __tab, uint8x16_t __idx)
23983 {
23984   __builtin_aarch64_simd_ci __o;
23985   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[0], 0);
23986   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[1], 1);
23987   __o = __builtin_aarch64_set_qregciv16qi (__o, __tab.val[2], 2);
23988   return __builtin_aarch64_qtbx3v16qi (__r, __o, (int8x16_t)__idx);
23989 }
23990 
23991 __extension__ extern __inline uint8x16_t
23992 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3q_u8(uint8x16_t __r,uint8x16x3_t __tab,uint8x16_t __idx)23993 vqtbx3q_u8 (uint8x16_t __r, uint8x16x3_t __tab, uint8x16_t __idx)
23994 {
23995   __builtin_aarch64_simd_ci __o;
23996   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
23997   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
23998   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
23999   return (uint8x16_t)__builtin_aarch64_qtbx3v16qi ((int8x16_t)__r, __o,
24000 						   (int8x16_t)__idx);
24001 }
24002 
24003 __extension__ extern __inline poly8x16_t
24004 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx3q_p8(poly8x16_t __r,poly8x16x3_t __tab,uint8x16_t __idx)24005 vqtbx3q_p8 (poly8x16_t __r, poly8x16x3_t __tab, uint8x16_t __idx)
24006 {
24007   __builtin_aarch64_simd_ci __o;
24008   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[0], 0);
24009   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[1], 1);
24010   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t)__tab.val[2], 2);
24011   return (poly8x16_t)__builtin_aarch64_qtbx3v16qi ((int8x16_t)__r, __o,
24012 						   (int8x16_t)__idx);
24013 }
24014 
24015 /* vqtbx4 */
24016 
24017 __extension__ extern __inline int8x8_t
24018 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4_s8(int8x8_t __r,int8x16x4_t __tab,uint8x8_t __idx)24019 vqtbx4_s8 (int8x8_t __r, int8x16x4_t __tab, uint8x8_t __idx)
24020 {
24021   __builtin_aarch64_simd_xi __o;
24022   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[0], 0);
24023   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[1], 1);
24024   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[2], 2);
24025   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[3], 3);
24026   return __builtin_aarch64_qtbx4v8qi (__r, __o, (int8x8_t)__idx);
24027 }
24028 
24029 __extension__ extern __inline uint8x8_t
24030 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4_u8(uint8x8_t __r,uint8x16x4_t __tab,uint8x8_t __idx)24031 vqtbx4_u8 (uint8x8_t __r, uint8x16x4_t __tab, uint8x8_t __idx)
24032 {
24033   __builtin_aarch64_simd_xi __o;
24034   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
24035   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
24036   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
24037   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
24038   return (uint8x8_t)__builtin_aarch64_qtbx4v8qi ((int8x8_t)__r, __o,
24039 						 (int8x8_t)__idx);
24040 }
24041 
24042 __extension__ extern __inline poly8x8_t
24043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4_p8(poly8x8_t __r,poly8x16x4_t __tab,uint8x8_t __idx)24044 vqtbx4_p8 (poly8x8_t __r, poly8x16x4_t __tab, uint8x8_t __idx)
24045 {
24046   __builtin_aarch64_simd_xi __o;
24047   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
24048   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
24049   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
24050   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
24051   return (poly8x8_t)__builtin_aarch64_qtbx4v8qi ((int8x8_t)__r, __o,
24052 						 (int8x8_t)__idx);
24053 }
24054 
24055 __extension__ extern __inline int8x16_t
24056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4q_s8(int8x16_t __r,int8x16x4_t __tab,uint8x16_t __idx)24057 vqtbx4q_s8 (int8x16_t __r, int8x16x4_t __tab, uint8x16_t __idx)
24058 {
24059   __builtin_aarch64_simd_xi __o;
24060   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[0], 0);
24061   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[1], 1);
24062   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[2], 2);
24063   __o = __builtin_aarch64_set_qregxiv16qi (__o, __tab.val[3], 3);
24064   return __builtin_aarch64_qtbx4v16qi (__r, __o, (int8x16_t)__idx);
24065 }
24066 
24067 __extension__ extern __inline uint8x16_t
24068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4q_u8(uint8x16_t __r,uint8x16x4_t __tab,uint8x16_t __idx)24069 vqtbx4q_u8 (uint8x16_t __r, uint8x16x4_t __tab, uint8x16_t __idx)
24070 {
24071   __builtin_aarch64_simd_xi __o;
24072   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
24073   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
24074   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
24075   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
24076   return (uint8x16_t)__builtin_aarch64_qtbx4v16qi ((int8x16_t)__r, __o,
24077 						   (int8x16_t)__idx);
24078 }
24079 
24080 __extension__ extern __inline poly8x16_t
24081 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vqtbx4q_p8(poly8x16_t __r,poly8x16x4_t __tab,uint8x16_t __idx)24082 vqtbx4q_p8 (poly8x16_t __r, poly8x16x4_t __tab, uint8x16_t __idx)
24083 {
24084   __builtin_aarch64_simd_xi __o;
24085   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[0], 0);
24086   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[1], 1);
24087   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[2], 2);
24088   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t)__tab.val[3], 3);
24089   return (poly8x16_t)__builtin_aarch64_qtbx4v16qi ((int8x16_t)__r, __o,
24090 						   (int8x16_t)__idx);
24091 }
24092 
24093 /* vrbit  */
24094 
24095 __extension__ extern __inline poly8x8_t
24096 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbit_p8(poly8x8_t __a)24097 vrbit_p8 (poly8x8_t __a)
24098 {
24099   return (poly8x8_t) __builtin_aarch64_rbitv8qi ((int8x8_t) __a);
24100 }
24101 
24102 __extension__ extern __inline int8x8_t
24103 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbit_s8(int8x8_t __a)24104 vrbit_s8 (int8x8_t __a)
24105 {
24106   return __builtin_aarch64_rbitv8qi (__a);
24107 }
24108 
24109 __extension__ extern __inline uint8x8_t
24110 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbit_u8(uint8x8_t __a)24111 vrbit_u8 (uint8x8_t __a)
24112 {
24113   return (uint8x8_t) __builtin_aarch64_rbitv8qi ((int8x8_t) __a);
24114 }
24115 
24116 __extension__ extern __inline poly8x16_t
24117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbitq_p8(poly8x16_t __a)24118 vrbitq_p8 (poly8x16_t __a)
24119 {
24120   return (poly8x16_t) __builtin_aarch64_rbitv16qi ((int8x16_t)__a);
24121 }
24122 
24123 __extension__ extern __inline int8x16_t
24124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbitq_s8(int8x16_t __a)24125 vrbitq_s8 (int8x16_t __a)
24126 {
24127   return __builtin_aarch64_rbitv16qi (__a);
24128 }
24129 
24130 __extension__ extern __inline uint8x16_t
24131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrbitq_u8(uint8x16_t __a)24132 vrbitq_u8 (uint8x16_t __a)
24133 {
24134   return (uint8x16_t) __builtin_aarch64_rbitv16qi ((int8x16_t) __a);
24135 }
24136 
24137 /* vrecpe  */
24138 
24139 __extension__ extern __inline uint32x2_t
24140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_u32(uint32x2_t __a)24141 vrecpe_u32 (uint32x2_t __a)
24142 {
24143   return (uint32x2_t) __builtin_aarch64_urecpev2si ((int32x2_t) __a);
24144 }
24145 
24146 __extension__ extern __inline uint32x4_t
24147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_u32(uint32x4_t __a)24148 vrecpeq_u32 (uint32x4_t __a)
24149 {
24150   return (uint32x4_t) __builtin_aarch64_urecpev4si ((int32x4_t) __a);
24151 }
24152 
24153 __extension__ extern __inline float32_t
24154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpes_f32(float32_t __a)24155 vrecpes_f32 (float32_t __a)
24156 {
24157   return __builtin_aarch64_frecpesf (__a);
24158 }
24159 
24160 __extension__ extern __inline float64_t
24161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecped_f64(float64_t __a)24162 vrecped_f64 (float64_t __a)
24163 {
24164   return __builtin_aarch64_frecpedf (__a);
24165 }
24166 
24167 __extension__ extern __inline float32x2_t
24168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_f32(float32x2_t __a)24169 vrecpe_f32 (float32x2_t __a)
24170 {
24171   return __builtin_aarch64_frecpev2sf (__a);
24172 }
24173 
24174 __extension__ extern __inline float64x1_t
24175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_f64(float64x1_t __a)24176 vrecpe_f64 (float64x1_t __a)
24177 {
24178   return (float64x1_t) { vrecped_f64 (vget_lane_f64 (__a, 0)) };
24179 }
24180 
24181 __extension__ extern __inline float32x4_t
24182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_f32(float32x4_t __a)24183 vrecpeq_f32 (float32x4_t __a)
24184 {
24185   return __builtin_aarch64_frecpev4sf (__a);
24186 }
24187 
24188 __extension__ extern __inline float64x2_t
24189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_f64(float64x2_t __a)24190 vrecpeq_f64 (float64x2_t __a)
24191 {
24192   return __builtin_aarch64_frecpev2df (__a);
24193 }
24194 
24195 /* vrecps  */
24196 
24197 __extension__ extern __inline float32_t
24198 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpss_f32(float32_t __a,float32_t __b)24199 vrecpss_f32 (float32_t __a, float32_t __b)
24200 {
24201   return __builtin_aarch64_frecpssf (__a, __b);
24202 }
24203 
24204 __extension__ extern __inline float64_t
24205 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsd_f64(float64_t __a,float64_t __b)24206 vrecpsd_f64 (float64_t __a, float64_t __b)
24207 {
24208   return __builtin_aarch64_frecpsdf (__a, __b);
24209 }
24210 
24211 __extension__ extern __inline float32x2_t
24212 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecps_f32(float32x2_t __a,float32x2_t __b)24213 vrecps_f32 (float32x2_t __a, float32x2_t __b)
24214 {
24215   return __builtin_aarch64_frecpsv2sf (__a, __b);
24216 }
24217 
24218 __extension__ extern __inline float64x1_t
24219 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecps_f64(float64x1_t __a,float64x1_t __b)24220 vrecps_f64 (float64x1_t __a, float64x1_t __b)
24221 {
24222   return (float64x1_t) { vrecpsd_f64 (vget_lane_f64 (__a, 0),
24223 				      vget_lane_f64 (__b, 0)) };
24224 }
24225 
24226 __extension__ extern __inline float32x4_t
24227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsq_f32(float32x4_t __a,float32x4_t __b)24228 vrecpsq_f32 (float32x4_t __a, float32x4_t __b)
24229 {
24230   return __builtin_aarch64_frecpsv4sf (__a, __b);
24231 }
24232 
24233 __extension__ extern __inline float64x2_t
24234 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsq_f64(float64x2_t __a,float64x2_t __b)24235 vrecpsq_f64 (float64x2_t __a, float64x2_t __b)
24236 {
24237   return __builtin_aarch64_frecpsv2df (__a, __b);
24238 }
24239 
24240 /* vrecpx  */
24241 
24242 __extension__ extern __inline float32_t
24243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpxs_f32(float32_t __a)24244 vrecpxs_f32 (float32_t __a)
24245 {
24246   return __builtin_aarch64_frecpxsf (__a);
24247 }
24248 
24249 __extension__ extern __inline float64_t
24250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpxd_f64(float64_t __a)24251 vrecpxd_f64 (float64_t __a)
24252 {
24253   return __builtin_aarch64_frecpxdf (__a);
24254 }
24255 
24256 
24257 /* vrev  */
24258 
24259 __extension__ extern __inline poly8x8_t
24260 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_p8(poly8x8_t __a)24261 vrev16_p8 (poly8x8_t __a)
24262 {
24263   return __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
24264 }
24265 
24266 __extension__ extern __inline int8x8_t
24267 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_s8(int8x8_t __a)24268 vrev16_s8 (int8x8_t __a)
24269 {
24270   return __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
24271 }
24272 
24273 __extension__ extern __inline uint8x8_t
24274 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16_u8(uint8x8_t __a)24275 vrev16_u8 (uint8x8_t __a)
24276 {
24277   return __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
24278 }
24279 
24280 __extension__ extern __inline poly8x16_t
24281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_p8(poly8x16_t __a)24282 vrev16q_p8 (poly8x16_t __a)
24283 {
24284   return __builtin_shuffle (__a,
24285       (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
24286 }
24287 
24288 __extension__ extern __inline int8x16_t
24289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_s8(int8x16_t __a)24290 vrev16q_s8 (int8x16_t __a)
24291 {
24292   return __builtin_shuffle (__a,
24293       (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
24294 }
24295 
24296 __extension__ extern __inline uint8x16_t
24297 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev16q_u8(uint8x16_t __a)24298 vrev16q_u8 (uint8x16_t __a)
24299 {
24300   return __builtin_shuffle (__a,
24301       (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 });
24302 }
24303 
24304 __extension__ extern __inline poly8x8_t
24305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_p8(poly8x8_t __a)24306 vrev32_p8 (poly8x8_t __a)
24307 {
24308   return __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
24309 }
24310 
24311 __extension__ extern __inline poly16x4_t
24312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_p16(poly16x4_t __a)24313 vrev32_p16 (poly16x4_t __a)
24314 {
24315   return __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
24316 }
24317 
24318 __extension__ extern __inline int8x8_t
24319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_s8(int8x8_t __a)24320 vrev32_s8 (int8x8_t __a)
24321 {
24322   return __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
24323 }
24324 
24325 __extension__ extern __inline int16x4_t
24326 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_s16(int16x4_t __a)24327 vrev32_s16 (int16x4_t __a)
24328 {
24329   return __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
24330 }
24331 
24332 __extension__ extern __inline uint8x8_t
24333 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_u8(uint8x8_t __a)24334 vrev32_u8 (uint8x8_t __a)
24335 {
24336   return __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
24337 }
24338 
24339 __extension__ extern __inline uint16x4_t
24340 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32_u16(uint16x4_t __a)24341 vrev32_u16 (uint16x4_t __a)
24342 {
24343   return __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 });
24344 }
24345 
24346 __extension__ extern __inline poly8x16_t
24347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_p8(poly8x16_t __a)24348 vrev32q_p8 (poly8x16_t __a)
24349 {
24350   return __builtin_shuffle (__a,
24351       (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
24352 }
24353 
24354 __extension__ extern __inline poly16x8_t
24355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_p16(poly16x8_t __a)24356 vrev32q_p16 (poly16x8_t __a)
24357 {
24358   return __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
24359 }
24360 
24361 __extension__ extern __inline int8x16_t
24362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_s8(int8x16_t __a)24363 vrev32q_s8 (int8x16_t __a)
24364 {
24365   return __builtin_shuffle (__a,
24366       (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
24367 }
24368 
24369 __extension__ extern __inline int16x8_t
24370 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_s16(int16x8_t __a)24371 vrev32q_s16 (int16x8_t __a)
24372 {
24373   return __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
24374 }
24375 
24376 __extension__ extern __inline uint8x16_t
24377 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_u8(uint8x16_t __a)24378 vrev32q_u8 (uint8x16_t __a)
24379 {
24380   return __builtin_shuffle (__a,
24381       (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 });
24382 }
24383 
24384 __extension__ extern __inline uint16x8_t
24385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev32q_u16(uint16x8_t __a)24386 vrev32q_u16 (uint16x8_t __a)
24387 {
24388   return __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 });
24389 }
24390 
24391 __extension__ extern __inline float16x4_t
24392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_f16(float16x4_t __a)24393 vrev64_f16 (float16x4_t __a)
24394 {
24395   return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
24396 }
24397 
24398 __extension__ extern __inline float32x2_t
24399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_f32(float32x2_t __a)24400 vrev64_f32 (float32x2_t __a)
24401 {
24402   return __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
24403 }
24404 
24405 __extension__ extern __inline poly8x8_t
24406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_p8(poly8x8_t __a)24407 vrev64_p8 (poly8x8_t __a)
24408 {
24409   return __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
24410 }
24411 
24412 __extension__ extern __inline poly16x4_t
24413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_p16(poly16x4_t __a)24414 vrev64_p16 (poly16x4_t __a)
24415 {
24416   return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
24417 }
24418 
24419 __extension__ extern __inline int8x8_t
24420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s8(int8x8_t __a)24421 vrev64_s8 (int8x8_t __a)
24422 {
24423   return __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
24424 }
24425 
24426 __extension__ extern __inline int16x4_t
24427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s16(int16x4_t __a)24428 vrev64_s16 (int16x4_t __a)
24429 {
24430   return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
24431 }
24432 
24433 __extension__ extern __inline int32x2_t
24434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_s32(int32x2_t __a)24435 vrev64_s32 (int32x2_t __a)
24436 {
24437   return __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
24438 }
24439 
24440 __extension__ extern __inline uint8x8_t
24441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u8(uint8x8_t __a)24442 vrev64_u8 (uint8x8_t __a)
24443 {
24444   return __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 });
24445 }
24446 
24447 __extension__ extern __inline uint16x4_t
24448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u16(uint16x4_t __a)24449 vrev64_u16 (uint16x4_t __a)
24450 {
24451   return __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 });
24452 }
24453 
24454 __extension__ extern __inline uint32x2_t
24455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64_u32(uint32x2_t __a)24456 vrev64_u32 (uint32x2_t __a)
24457 {
24458   return __builtin_shuffle (__a, (uint32x2_t) { 1, 0 });
24459 }
24460 
24461 __extension__ extern __inline float16x8_t
24462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_f16(float16x8_t __a)24463 vrev64q_f16 (float16x8_t __a)
24464 {
24465   return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
24466 }
24467 
24468 __extension__ extern __inline float32x4_t
24469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_f32(float32x4_t __a)24470 vrev64q_f32 (float32x4_t __a)
24471 {
24472   return __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
24473 }
24474 
24475 __extension__ extern __inline poly8x16_t
24476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_p8(poly8x16_t __a)24477 vrev64q_p8 (poly8x16_t __a)
24478 {
24479   return __builtin_shuffle (__a,
24480       (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
24481 }
24482 
24483 __extension__ extern __inline poly16x8_t
24484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_p16(poly16x8_t __a)24485 vrev64q_p16 (poly16x8_t __a)
24486 {
24487   return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
24488 }
24489 
24490 __extension__ extern __inline int8x16_t
24491 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s8(int8x16_t __a)24492 vrev64q_s8 (int8x16_t __a)
24493 {
24494   return __builtin_shuffle (__a,
24495       (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
24496 }
24497 
24498 __extension__ extern __inline int16x8_t
24499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s16(int16x8_t __a)24500 vrev64q_s16 (int16x8_t __a)
24501 {
24502   return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
24503 }
24504 
24505 __extension__ extern __inline int32x4_t
24506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_s32(int32x4_t __a)24507 vrev64q_s32 (int32x4_t __a)
24508 {
24509   return __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
24510 }
24511 
24512 __extension__ extern __inline uint8x16_t
24513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u8(uint8x16_t __a)24514 vrev64q_u8 (uint8x16_t __a)
24515 {
24516   return __builtin_shuffle (__a,
24517       (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 });
24518 }
24519 
24520 __extension__ extern __inline uint16x8_t
24521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u16(uint16x8_t __a)24522 vrev64q_u16 (uint16x8_t __a)
24523 {
24524   return __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 });
24525 }
24526 
24527 __extension__ extern __inline uint32x4_t
24528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrev64q_u32(uint32x4_t __a)24529 vrev64q_u32 (uint32x4_t __a)
24530 {
24531   return __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 });
24532 }
24533 
24534 /* vrnd  */
24535 
24536 __extension__ extern __inline float32x2_t
24537 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd_f32(float32x2_t __a)24538 vrnd_f32 (float32x2_t __a)
24539 {
24540   return __builtin_aarch64_btruncv2sf (__a);
24541 }
24542 
24543 __extension__ extern __inline float64x1_t
24544 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd_f64(float64x1_t __a)24545 vrnd_f64 (float64x1_t __a)
24546 {
24547   return vset_lane_f64 (__builtin_trunc (vget_lane_f64 (__a, 0)), __a, 0);
24548 }
24549 
24550 __extension__ extern __inline float32x4_t
24551 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndq_f32(float32x4_t __a)24552 vrndq_f32 (float32x4_t __a)
24553 {
24554   return __builtin_aarch64_btruncv4sf (__a);
24555 }
24556 
24557 __extension__ extern __inline float64x2_t
24558 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndq_f64(float64x2_t __a)24559 vrndq_f64 (float64x2_t __a)
24560 {
24561   return __builtin_aarch64_btruncv2df (__a);
24562 }
24563 
24564 /* vrnda  */
24565 
24566 __extension__ extern __inline float32x2_t
24567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnda_f32(float32x2_t __a)24568 vrnda_f32 (float32x2_t __a)
24569 {
24570   return __builtin_aarch64_roundv2sf (__a);
24571 }
24572 
24573 __extension__ extern __inline float64x1_t
24574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnda_f64(float64x1_t __a)24575 vrnda_f64 (float64x1_t __a)
24576 {
24577   return vset_lane_f64 (__builtin_round (vget_lane_f64 (__a, 0)), __a, 0);
24578 }
24579 
24580 __extension__ extern __inline float32x4_t
24581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndaq_f32(float32x4_t __a)24582 vrndaq_f32 (float32x4_t __a)
24583 {
24584   return __builtin_aarch64_roundv4sf (__a);
24585 }
24586 
24587 __extension__ extern __inline float64x2_t
24588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndaq_f64(float64x2_t __a)24589 vrndaq_f64 (float64x2_t __a)
24590 {
24591   return __builtin_aarch64_roundv2df (__a);
24592 }
24593 
24594 /* vrndi  */
24595 
24596 __extension__ extern __inline float32x2_t
24597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndi_f32(float32x2_t __a)24598 vrndi_f32 (float32x2_t __a)
24599 {
24600   return __builtin_aarch64_nearbyintv2sf (__a);
24601 }
24602 
24603 __extension__ extern __inline float64x1_t
24604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndi_f64(float64x1_t __a)24605 vrndi_f64 (float64x1_t __a)
24606 {
24607   return vset_lane_f64 (__builtin_nearbyint (vget_lane_f64 (__a, 0)), __a, 0);
24608 }
24609 
24610 __extension__ extern __inline float32x4_t
24611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndiq_f32(float32x4_t __a)24612 vrndiq_f32 (float32x4_t __a)
24613 {
24614   return __builtin_aarch64_nearbyintv4sf (__a);
24615 }
24616 
24617 __extension__ extern __inline float64x2_t
24618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndiq_f64(float64x2_t __a)24619 vrndiq_f64 (float64x2_t __a)
24620 {
24621   return __builtin_aarch64_nearbyintv2df (__a);
24622 }
24623 
24624 /* vrndm  */
24625 
24626 __extension__ extern __inline float32x2_t
24627 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndm_f32(float32x2_t __a)24628 vrndm_f32 (float32x2_t __a)
24629 {
24630   return __builtin_aarch64_floorv2sf (__a);
24631 }
24632 
24633 __extension__ extern __inline float64x1_t
24634 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndm_f64(float64x1_t __a)24635 vrndm_f64 (float64x1_t __a)
24636 {
24637   return vset_lane_f64 (__builtin_floor (vget_lane_f64 (__a, 0)), __a, 0);
24638 }
24639 
24640 __extension__ extern __inline float32x4_t
24641 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndmq_f32(float32x4_t __a)24642 vrndmq_f32 (float32x4_t __a)
24643 {
24644   return __builtin_aarch64_floorv4sf (__a);
24645 }
24646 
24647 __extension__ extern __inline float64x2_t
24648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndmq_f64(float64x2_t __a)24649 vrndmq_f64 (float64x2_t __a)
24650 {
24651   return __builtin_aarch64_floorv2df (__a);
24652 }
24653 
24654 /* vrndn  */
24655 
24656 __extension__ extern __inline float32_t
24657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndns_f32(float32_t __a)24658 vrndns_f32 (float32_t __a)
24659 {
24660   return __builtin_aarch64_frintnsf (__a);
24661 }
24662 
24663 __extension__ extern __inline float32x2_t
24664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndn_f32(float32x2_t __a)24665 vrndn_f32 (float32x2_t __a)
24666 {
24667   return __builtin_aarch64_frintnv2sf (__a);
24668 }
24669 
24670 __extension__ extern __inline float64x1_t
24671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndn_f64(float64x1_t __a)24672 vrndn_f64 (float64x1_t __a)
24673 {
24674   return (float64x1_t) {__builtin_aarch64_frintndf (__a[0])};
24675 }
24676 
24677 __extension__ extern __inline float32x4_t
24678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndnq_f32(float32x4_t __a)24679 vrndnq_f32 (float32x4_t __a)
24680 {
24681   return __builtin_aarch64_frintnv4sf (__a);
24682 }
24683 
24684 __extension__ extern __inline float64x2_t
24685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndnq_f64(float64x2_t __a)24686 vrndnq_f64 (float64x2_t __a)
24687 {
24688   return __builtin_aarch64_frintnv2df (__a);
24689 }
24690 
24691 /* vrndp  */
24692 
24693 __extension__ extern __inline float32x2_t
24694 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndp_f32(float32x2_t __a)24695 vrndp_f32 (float32x2_t __a)
24696 {
24697   return __builtin_aarch64_ceilv2sf (__a);
24698 }
24699 
24700 __extension__ extern __inline float64x1_t
24701 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndp_f64(float64x1_t __a)24702 vrndp_f64 (float64x1_t __a)
24703 {
24704   return vset_lane_f64 (__builtin_ceil (vget_lane_f64 (__a, 0)), __a, 0);
24705 }
24706 
24707 __extension__ extern __inline float32x4_t
24708 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndpq_f32(float32x4_t __a)24709 vrndpq_f32 (float32x4_t __a)
24710 {
24711   return __builtin_aarch64_ceilv4sf (__a);
24712 }
24713 
24714 __extension__ extern __inline float64x2_t
24715 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndpq_f64(float64x2_t __a)24716 vrndpq_f64 (float64x2_t __a)
24717 {
24718   return __builtin_aarch64_ceilv2df (__a);
24719 }
24720 
24721 /* vrndx  */
24722 
24723 __extension__ extern __inline float32x2_t
24724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndx_f32(float32x2_t __a)24725 vrndx_f32 (float32x2_t __a)
24726 {
24727   return __builtin_aarch64_rintv2sf (__a);
24728 }
24729 
24730 __extension__ extern __inline float64x1_t
24731 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndx_f64(float64x1_t __a)24732 vrndx_f64 (float64x1_t __a)
24733 {
24734   return vset_lane_f64 (__builtin_rint (vget_lane_f64 (__a, 0)), __a, 0);
24735 }
24736 
24737 __extension__ extern __inline float32x4_t
24738 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndxq_f32(float32x4_t __a)24739 vrndxq_f32 (float32x4_t __a)
24740 {
24741   return __builtin_aarch64_rintv4sf (__a);
24742 }
24743 
24744 __extension__ extern __inline float64x2_t
24745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndxq_f64(float64x2_t __a)24746 vrndxq_f64 (float64x2_t __a)
24747 {
24748   return __builtin_aarch64_rintv2df (__a);
24749 }
24750 
24751 /* vrshl */
24752 
24753 __extension__ extern __inline int8x8_t
24754 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s8(int8x8_t __a,int8x8_t __b)24755 vrshl_s8 (int8x8_t __a, int8x8_t __b)
24756 {
24757   return (int8x8_t) __builtin_aarch64_srshlv8qi (__a, __b);
24758 }
24759 
24760 __extension__ extern __inline int16x4_t
24761 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s16(int16x4_t __a,int16x4_t __b)24762 vrshl_s16 (int16x4_t __a, int16x4_t __b)
24763 {
24764   return (int16x4_t) __builtin_aarch64_srshlv4hi (__a, __b);
24765 }
24766 
24767 __extension__ extern __inline int32x2_t
24768 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s32(int32x2_t __a,int32x2_t __b)24769 vrshl_s32 (int32x2_t __a, int32x2_t __b)
24770 {
24771   return (int32x2_t) __builtin_aarch64_srshlv2si (__a, __b);
24772 }
24773 
24774 __extension__ extern __inline int64x1_t
24775 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_s64(int64x1_t __a,int64x1_t __b)24776 vrshl_s64 (int64x1_t __a, int64x1_t __b)
24777 {
24778   return (int64x1_t) {__builtin_aarch64_srshldi (__a[0], __b[0])};
24779 }
24780 
24781 __extension__ extern __inline uint8x8_t
24782 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u8(uint8x8_t __a,int8x8_t __b)24783 vrshl_u8 (uint8x8_t __a, int8x8_t __b)
24784 {
24785   return __builtin_aarch64_urshlv8qi_uus (__a, __b);
24786 }
24787 
24788 __extension__ extern __inline uint16x4_t
24789 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u16(uint16x4_t __a,int16x4_t __b)24790 vrshl_u16 (uint16x4_t __a, int16x4_t __b)
24791 {
24792   return __builtin_aarch64_urshlv4hi_uus (__a, __b);
24793 }
24794 
24795 __extension__ extern __inline uint32x2_t
24796 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u32(uint32x2_t __a,int32x2_t __b)24797 vrshl_u32 (uint32x2_t __a, int32x2_t __b)
24798 {
24799   return __builtin_aarch64_urshlv2si_uus (__a, __b);
24800 }
24801 
24802 __extension__ extern __inline uint64x1_t
24803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshl_u64(uint64x1_t __a,int64x1_t __b)24804 vrshl_u64 (uint64x1_t __a, int64x1_t __b)
24805 {
24806   return (uint64x1_t) {__builtin_aarch64_urshldi_uus (__a[0], __b[0])};
24807 }
24808 
24809 __extension__ extern __inline int8x16_t
24810 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s8(int8x16_t __a,int8x16_t __b)24811 vrshlq_s8 (int8x16_t __a, int8x16_t __b)
24812 {
24813   return (int8x16_t) __builtin_aarch64_srshlv16qi (__a, __b);
24814 }
24815 
24816 __extension__ extern __inline int16x8_t
24817 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s16(int16x8_t __a,int16x8_t __b)24818 vrshlq_s16 (int16x8_t __a, int16x8_t __b)
24819 {
24820   return (int16x8_t) __builtin_aarch64_srshlv8hi (__a, __b);
24821 }
24822 
24823 __extension__ extern __inline int32x4_t
24824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s32(int32x4_t __a,int32x4_t __b)24825 vrshlq_s32 (int32x4_t __a, int32x4_t __b)
24826 {
24827   return (int32x4_t) __builtin_aarch64_srshlv4si (__a, __b);
24828 }
24829 
24830 __extension__ extern __inline int64x2_t
24831 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_s64(int64x2_t __a,int64x2_t __b)24832 vrshlq_s64 (int64x2_t __a, int64x2_t __b)
24833 {
24834   return (int64x2_t) __builtin_aarch64_srshlv2di (__a, __b);
24835 }
24836 
24837 __extension__ extern __inline uint8x16_t
24838 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u8(uint8x16_t __a,int8x16_t __b)24839 vrshlq_u8 (uint8x16_t __a, int8x16_t __b)
24840 {
24841   return __builtin_aarch64_urshlv16qi_uus (__a, __b);
24842 }
24843 
24844 __extension__ extern __inline uint16x8_t
24845 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u16(uint16x8_t __a,int16x8_t __b)24846 vrshlq_u16 (uint16x8_t __a, int16x8_t __b)
24847 {
24848   return __builtin_aarch64_urshlv8hi_uus (__a, __b);
24849 }
24850 
24851 __extension__ extern __inline uint32x4_t
24852 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u32(uint32x4_t __a,int32x4_t __b)24853 vrshlq_u32 (uint32x4_t __a, int32x4_t __b)
24854 {
24855   return __builtin_aarch64_urshlv4si_uus (__a, __b);
24856 }
24857 
24858 __extension__ extern __inline uint64x2_t
24859 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshlq_u64(uint64x2_t __a,int64x2_t __b)24860 vrshlq_u64 (uint64x2_t __a, int64x2_t __b)
24861 {
24862   return __builtin_aarch64_urshlv2di_uus (__a, __b);
24863 }
24864 
24865 __extension__ extern __inline int64_t
24866 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshld_s64(int64_t __a,int64_t __b)24867 vrshld_s64 (int64_t __a, int64_t __b)
24868 {
24869   return __builtin_aarch64_srshldi (__a, __b);
24870 }
24871 
24872 __extension__ extern __inline uint64_t
24873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshld_u64(uint64_t __a,int64_t __b)24874 vrshld_u64 (uint64_t __a, int64_t __b)
24875 {
24876   return __builtin_aarch64_urshldi_uus (__a, __b);
24877 }
24878 
24879 /* vrshr */
24880 
24881 __extension__ extern __inline int8x8_t
24882 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s8(int8x8_t __a,const int __b)24883 vrshr_n_s8 (int8x8_t __a, const int __b)
24884 {
24885   return (int8x8_t) __builtin_aarch64_srshr_nv8qi (__a, __b);
24886 }
24887 
24888 __extension__ extern __inline int16x4_t
24889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s16(int16x4_t __a,const int __b)24890 vrshr_n_s16 (int16x4_t __a, const int __b)
24891 {
24892   return (int16x4_t) __builtin_aarch64_srshr_nv4hi (__a, __b);
24893 }
24894 
24895 __extension__ extern __inline int32x2_t
24896 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s32(int32x2_t __a,const int __b)24897 vrshr_n_s32 (int32x2_t __a, const int __b)
24898 {
24899   return (int32x2_t) __builtin_aarch64_srshr_nv2si (__a, __b);
24900 }
24901 
24902 __extension__ extern __inline int64x1_t
24903 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_s64(int64x1_t __a,const int __b)24904 vrshr_n_s64 (int64x1_t __a, const int __b)
24905 {
24906   return (int64x1_t) {__builtin_aarch64_srshr_ndi (__a[0], __b)};
24907 }
24908 
24909 __extension__ extern __inline uint8x8_t
24910 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u8(uint8x8_t __a,const int __b)24911 vrshr_n_u8 (uint8x8_t __a, const int __b)
24912 {
24913   return __builtin_aarch64_urshr_nv8qi_uus (__a, __b);
24914 }
24915 
24916 __extension__ extern __inline uint16x4_t
24917 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u16(uint16x4_t __a,const int __b)24918 vrshr_n_u16 (uint16x4_t __a, const int __b)
24919 {
24920   return __builtin_aarch64_urshr_nv4hi_uus (__a, __b);
24921 }
24922 
24923 __extension__ extern __inline uint32x2_t
24924 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u32(uint32x2_t __a,const int __b)24925 vrshr_n_u32 (uint32x2_t __a, const int __b)
24926 {
24927   return __builtin_aarch64_urshr_nv2si_uus (__a, __b);
24928 }
24929 
24930 __extension__ extern __inline uint64x1_t
24931 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshr_n_u64(uint64x1_t __a,const int __b)24932 vrshr_n_u64 (uint64x1_t __a, const int __b)
24933 {
24934   return (uint64x1_t) {__builtin_aarch64_urshr_ndi_uus (__a[0], __b)};
24935 }
24936 
24937 __extension__ extern __inline int8x16_t
24938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s8(int8x16_t __a,const int __b)24939 vrshrq_n_s8 (int8x16_t __a, const int __b)
24940 {
24941   return (int8x16_t) __builtin_aarch64_srshr_nv16qi (__a, __b);
24942 }
24943 
24944 __extension__ extern __inline int16x8_t
24945 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s16(int16x8_t __a,const int __b)24946 vrshrq_n_s16 (int16x8_t __a, const int __b)
24947 {
24948   return (int16x8_t) __builtin_aarch64_srshr_nv8hi (__a, __b);
24949 }
24950 
24951 __extension__ extern __inline int32x4_t
24952 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s32(int32x4_t __a,const int __b)24953 vrshrq_n_s32 (int32x4_t __a, const int __b)
24954 {
24955   return (int32x4_t) __builtin_aarch64_srshr_nv4si (__a, __b);
24956 }
24957 
24958 __extension__ extern __inline int64x2_t
24959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_s64(int64x2_t __a,const int __b)24960 vrshrq_n_s64 (int64x2_t __a, const int __b)
24961 {
24962   return (int64x2_t) __builtin_aarch64_srshr_nv2di (__a, __b);
24963 }
24964 
24965 __extension__ extern __inline uint8x16_t
24966 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u8(uint8x16_t __a,const int __b)24967 vrshrq_n_u8 (uint8x16_t __a, const int __b)
24968 {
24969   return __builtin_aarch64_urshr_nv16qi_uus (__a, __b);
24970 }
24971 
24972 __extension__ extern __inline uint16x8_t
24973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u16(uint16x8_t __a,const int __b)24974 vrshrq_n_u16 (uint16x8_t __a, const int __b)
24975 {
24976   return __builtin_aarch64_urshr_nv8hi_uus (__a, __b);
24977 }
24978 
24979 __extension__ extern __inline uint32x4_t
24980 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u32(uint32x4_t __a,const int __b)24981 vrshrq_n_u32 (uint32x4_t __a, const int __b)
24982 {
24983   return __builtin_aarch64_urshr_nv4si_uus (__a, __b);
24984 }
24985 
24986 __extension__ extern __inline uint64x2_t
24987 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrq_n_u64(uint64x2_t __a,const int __b)24988 vrshrq_n_u64 (uint64x2_t __a, const int __b)
24989 {
24990   return __builtin_aarch64_urshr_nv2di_uus (__a, __b);
24991 }
24992 
24993 __extension__ extern __inline int64_t
24994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrd_n_s64(int64_t __a,const int __b)24995 vrshrd_n_s64 (int64_t __a, const int __b)
24996 {
24997   return __builtin_aarch64_srshr_ndi (__a, __b);
24998 }
24999 
25000 __extension__ extern __inline uint64_t
25001 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrshrd_n_u64(uint64_t __a,const int __b)25002 vrshrd_n_u64 (uint64_t __a, const int __b)
25003 {
25004   return __builtin_aarch64_urshr_ndi_uus (__a, __b);
25005 }
25006 
25007 /* vrsqrte.  */
25008 
25009 __extension__ extern __inline float32_t
25010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtes_f32(float32_t __a)25011 vrsqrtes_f32 (float32_t __a)
25012 {
25013   return __builtin_aarch64_rsqrtesf (__a);
25014 }
25015 
25016 __extension__ extern __inline float64_t
25017 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrted_f64(float64_t __a)25018 vrsqrted_f64 (float64_t __a)
25019 {
25020   return __builtin_aarch64_rsqrtedf (__a);
25021 }
25022 
25023 __extension__ extern __inline float32x2_t
25024 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_f32(float32x2_t __a)25025 vrsqrte_f32 (float32x2_t __a)
25026 {
25027   return __builtin_aarch64_rsqrtev2sf (__a);
25028 }
25029 
25030 __extension__ extern __inline float64x1_t
25031 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_f64(float64x1_t __a)25032 vrsqrte_f64 (float64x1_t __a)
25033 {
25034   return (float64x1_t) {vrsqrted_f64 (vget_lane_f64 (__a, 0))};
25035 }
25036 
25037 __extension__ extern __inline float32x4_t
25038 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_f32(float32x4_t __a)25039 vrsqrteq_f32 (float32x4_t __a)
25040 {
25041   return __builtin_aarch64_rsqrtev4sf (__a);
25042 }
25043 
25044 __extension__ extern __inline float64x2_t
25045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_f64(float64x2_t __a)25046 vrsqrteq_f64 (float64x2_t __a)
25047 {
25048   return __builtin_aarch64_rsqrtev2df (__a);
25049 }
25050 
25051 /* vrsqrts.  */
25052 
25053 __extension__ extern __inline float32_t
25054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtss_f32(float32_t __a,float32_t __b)25055 vrsqrtss_f32 (float32_t __a, float32_t __b)
25056 {
25057   return __builtin_aarch64_rsqrtssf (__a, __b);
25058 }
25059 
25060 __extension__ extern __inline float64_t
25061 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsd_f64(float64_t __a,float64_t __b)25062 vrsqrtsd_f64 (float64_t __a, float64_t __b)
25063 {
25064   return __builtin_aarch64_rsqrtsdf (__a, __b);
25065 }
25066 
25067 __extension__ extern __inline float32x2_t
25068 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrts_f32(float32x2_t __a,float32x2_t __b)25069 vrsqrts_f32 (float32x2_t __a, float32x2_t __b)
25070 {
25071   return __builtin_aarch64_rsqrtsv2sf (__a, __b);
25072 }
25073 
25074 __extension__ extern __inline float64x1_t
25075 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrts_f64(float64x1_t __a,float64x1_t __b)25076 vrsqrts_f64 (float64x1_t __a, float64x1_t __b)
25077 {
25078   return (float64x1_t) {vrsqrtsd_f64 (vget_lane_f64 (__a, 0),
25079 				      vget_lane_f64 (__b, 0))};
25080 }
25081 
25082 __extension__ extern __inline float32x4_t
25083 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsq_f32(float32x4_t __a,float32x4_t __b)25084 vrsqrtsq_f32 (float32x4_t __a, float32x4_t __b)
25085 {
25086   return __builtin_aarch64_rsqrtsv4sf (__a, __b);
25087 }
25088 
25089 __extension__ extern __inline float64x2_t
25090 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsq_f64(float64x2_t __a,float64x2_t __b)25091 vrsqrtsq_f64 (float64x2_t __a, float64x2_t __b)
25092 {
25093   return __builtin_aarch64_rsqrtsv2df (__a, __b);
25094 }
25095 
25096 /* vrsra */
25097 
25098 __extension__ extern __inline int8x8_t
25099 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)25100 vrsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
25101 {
25102   return (int8x8_t) __builtin_aarch64_srsra_nv8qi (__a, __b, __c);
25103 }
25104 
25105 __extension__ extern __inline int16x4_t
25106 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)25107 vrsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
25108 {
25109   return (int16x4_t) __builtin_aarch64_srsra_nv4hi (__a, __b, __c);
25110 }
25111 
25112 __extension__ extern __inline int32x2_t
25113 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)25114 vrsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
25115 {
25116   return (int32x2_t) __builtin_aarch64_srsra_nv2si (__a, __b, __c);
25117 }
25118 
25119 __extension__ extern __inline int64x1_t
25120 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)25121 vrsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
25122 {
25123   return (int64x1_t) {__builtin_aarch64_srsra_ndi (__a[0], __b[0], __c)};
25124 }
25125 
25126 __extension__ extern __inline uint8x8_t
25127 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)25128 vrsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
25129 {
25130   return __builtin_aarch64_ursra_nv8qi_uuus (__a, __b, __c);
25131 }
25132 
25133 __extension__ extern __inline uint16x4_t
25134 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)25135 vrsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
25136 {
25137   return __builtin_aarch64_ursra_nv4hi_uuus (__a, __b, __c);
25138 }
25139 
25140 __extension__ extern __inline uint32x2_t
25141 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)25142 vrsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
25143 {
25144   return __builtin_aarch64_ursra_nv2si_uuus (__a, __b, __c);
25145 }
25146 
25147 __extension__ extern __inline uint64x1_t
25148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)25149 vrsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
25150 {
25151   return (uint64x1_t) {__builtin_aarch64_ursra_ndi_uuus (__a[0], __b[0], __c)};
25152 }
25153 
25154 __extension__ extern __inline int8x16_t
25155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)25156 vrsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
25157 {
25158   return (int8x16_t) __builtin_aarch64_srsra_nv16qi (__a, __b, __c);
25159 }
25160 
25161 __extension__ extern __inline int16x8_t
25162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)25163 vrsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
25164 {
25165   return (int16x8_t) __builtin_aarch64_srsra_nv8hi (__a, __b, __c);
25166 }
25167 
25168 __extension__ extern __inline int32x4_t
25169 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)25170 vrsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
25171 {
25172   return (int32x4_t) __builtin_aarch64_srsra_nv4si (__a, __b, __c);
25173 }
25174 
25175 __extension__ extern __inline int64x2_t
25176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)25177 vrsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
25178 {
25179   return (int64x2_t) __builtin_aarch64_srsra_nv2di (__a, __b, __c);
25180 }
25181 
25182 __extension__ extern __inline uint8x16_t
25183 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)25184 vrsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
25185 {
25186   return __builtin_aarch64_ursra_nv16qi_uuus (__a, __b, __c);
25187 }
25188 
25189 __extension__ extern __inline uint16x8_t
25190 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)25191 vrsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
25192 {
25193   return __builtin_aarch64_ursra_nv8hi_uuus (__a, __b, __c);
25194 }
25195 
25196 __extension__ extern __inline uint32x4_t
25197 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)25198 vrsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
25199 {
25200   return __builtin_aarch64_ursra_nv4si_uuus (__a, __b, __c);
25201 }
25202 
25203 __extension__ extern __inline uint64x2_t
25204 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)25205 vrsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
25206 {
25207   return __builtin_aarch64_ursra_nv2di_uuus (__a, __b, __c);
25208 }
25209 
25210 __extension__ extern __inline int64_t
25211 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsrad_n_s64(int64_t __a,int64_t __b,const int __c)25212 vrsrad_n_s64 (int64_t __a, int64_t __b, const int __c)
25213 {
25214   return __builtin_aarch64_srsra_ndi (__a, __b, __c);
25215 }
25216 
25217 __extension__ extern __inline uint64_t
25218 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsrad_n_u64(uint64_t __a,uint64_t __b,const int __c)25219 vrsrad_n_u64 (uint64_t __a, uint64_t __b, const int __c)
25220 {
25221   return __builtin_aarch64_ursra_ndi_uuus (__a, __b, __c);
25222 }
25223 
25224 #pragma GCC push_options
25225 #pragma GCC target ("+nothing+crypto")
25226 
25227 /* vsha1  */
25228 
25229 __extension__ extern __inline uint32x4_t
25230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1cq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)25231 vsha1cq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
25232 {
25233   return __builtin_aarch64_crypto_sha1cv4si_uuuu (__hash_abcd, __hash_e, __wk);
25234 }
25235 
25236 __extension__ extern __inline uint32x4_t
25237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1mq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)25238 vsha1mq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
25239 {
25240   return __builtin_aarch64_crypto_sha1mv4si_uuuu (__hash_abcd, __hash_e, __wk);
25241 }
25242 
25243 __extension__ extern __inline uint32x4_t
25244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1pq_u32(uint32x4_t __hash_abcd,uint32_t __hash_e,uint32x4_t __wk)25245 vsha1pq_u32 (uint32x4_t __hash_abcd, uint32_t __hash_e, uint32x4_t __wk)
25246 {
25247   return __builtin_aarch64_crypto_sha1pv4si_uuuu (__hash_abcd, __hash_e, __wk);
25248 }
25249 
25250 __extension__ extern __inline uint32_t
25251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1h_u32(uint32_t __hash_e)25252 vsha1h_u32 (uint32_t __hash_e)
25253 {
25254   return __builtin_aarch64_crypto_sha1hsi_uu (__hash_e);
25255 }
25256 
25257 __extension__ extern __inline uint32x4_t
25258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1su0q_u32(uint32x4_t __w0_3,uint32x4_t __w4_7,uint32x4_t __w8_11)25259 vsha1su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7, uint32x4_t __w8_11)
25260 {
25261   return __builtin_aarch64_crypto_sha1su0v4si_uuuu (__w0_3, __w4_7, __w8_11);
25262 }
25263 
25264 __extension__ extern __inline uint32x4_t
25265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha1su1q_u32(uint32x4_t __tw0_3,uint32x4_t __w12_15)25266 vsha1su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w12_15)
25267 {
25268   return __builtin_aarch64_crypto_sha1su1v4si_uuu (__tw0_3, __w12_15);
25269 }
25270 
25271 __extension__ extern __inline uint32x4_t
25272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha256hq_u32(uint32x4_t __hash_abcd,uint32x4_t __hash_efgh,uint32x4_t __wk)25273 vsha256hq_u32 (uint32x4_t __hash_abcd, uint32x4_t __hash_efgh, uint32x4_t __wk)
25274 {
25275   return __builtin_aarch64_crypto_sha256hv4si_uuuu (__hash_abcd, __hash_efgh,
25276 						     __wk);
25277 }
25278 
25279 __extension__ extern __inline uint32x4_t
25280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha256h2q_u32(uint32x4_t __hash_efgh,uint32x4_t __hash_abcd,uint32x4_t __wk)25281 vsha256h2q_u32 (uint32x4_t __hash_efgh, uint32x4_t __hash_abcd, uint32x4_t __wk)
25282 {
25283   return __builtin_aarch64_crypto_sha256h2v4si_uuuu (__hash_efgh, __hash_abcd,
25284 						      __wk);
25285 }
25286 
25287 __extension__ extern __inline uint32x4_t
25288 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha256su0q_u32(uint32x4_t __w0_3,uint32x4_t __w4_7)25289 vsha256su0q_u32 (uint32x4_t __w0_3, uint32x4_t __w4_7)
25290 {
25291   return __builtin_aarch64_crypto_sha256su0v4si_uuu (__w0_3, __w4_7);
25292 }
25293 
25294 __extension__ extern __inline uint32x4_t
25295 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha256su1q_u32(uint32x4_t __tw0_3,uint32x4_t __w8_11,uint32x4_t __w12_15)25296 vsha256su1q_u32 (uint32x4_t __tw0_3, uint32x4_t __w8_11, uint32x4_t __w12_15)
25297 {
25298   return __builtin_aarch64_crypto_sha256su1v4si_uuuu (__tw0_3, __w8_11,
25299 						       __w12_15);
25300 }
25301 
25302 __extension__ extern __inline poly128_t
25303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_p64(poly64_t __a,poly64_t __b)25304 vmull_p64 (poly64_t __a, poly64_t __b)
25305 {
25306   return
25307     __builtin_aarch64_crypto_pmulldi_ppp (__a, __b);
25308 }
25309 
25310 __extension__ extern __inline poly128_t
25311 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmull_high_p64(poly64x2_t __a,poly64x2_t __b)25312 vmull_high_p64 (poly64x2_t __a, poly64x2_t __b)
25313 {
25314   return __builtin_aarch64_crypto_pmullv2di_ppp (__a, __b);
25315 }
25316 
25317 #pragma GCC pop_options
25318 
25319 /* vshl */
25320 
25321 __extension__ extern __inline int8x8_t
25322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s8(int8x8_t __a,const int __b)25323 vshl_n_s8 (int8x8_t __a, const int __b)
25324 {
25325   return (int8x8_t) __builtin_aarch64_ashlv8qi (__a, __b);
25326 }
25327 
25328 __extension__ extern __inline int16x4_t
25329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s16(int16x4_t __a,const int __b)25330 vshl_n_s16 (int16x4_t __a, const int __b)
25331 {
25332   return (int16x4_t) __builtin_aarch64_ashlv4hi (__a, __b);
25333 }
25334 
25335 __extension__ extern __inline int32x2_t
25336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s32(int32x2_t __a,const int __b)25337 vshl_n_s32 (int32x2_t __a, const int __b)
25338 {
25339   return (int32x2_t) __builtin_aarch64_ashlv2si (__a, __b);
25340 }
25341 
25342 __extension__ extern __inline int64x1_t
25343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_s64(int64x1_t __a,const int __b)25344 vshl_n_s64 (int64x1_t __a, const int __b)
25345 {
25346   return (int64x1_t) {__builtin_aarch64_ashldi (__a[0], __b)};
25347 }
25348 
25349 __extension__ extern __inline uint8x8_t
25350 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u8(uint8x8_t __a,const int __b)25351 vshl_n_u8 (uint8x8_t __a, const int __b)
25352 {
25353   return (uint8x8_t) __builtin_aarch64_ashlv8qi ((int8x8_t) __a, __b);
25354 }
25355 
25356 __extension__ extern __inline uint16x4_t
25357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u16(uint16x4_t __a,const int __b)25358 vshl_n_u16 (uint16x4_t __a, const int __b)
25359 {
25360   return (uint16x4_t) __builtin_aarch64_ashlv4hi ((int16x4_t) __a, __b);
25361 }
25362 
25363 __extension__ extern __inline uint32x2_t
25364 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u32(uint32x2_t __a,const int __b)25365 vshl_n_u32 (uint32x2_t __a, const int __b)
25366 {
25367   return (uint32x2_t) __builtin_aarch64_ashlv2si ((int32x2_t) __a, __b);
25368 }
25369 
25370 __extension__ extern __inline uint64x1_t
25371 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_n_u64(uint64x1_t __a,const int __b)25372 vshl_n_u64 (uint64x1_t __a, const int __b)
25373 {
25374   return (uint64x1_t) {__builtin_aarch64_ashldi ((int64_t) __a[0], __b)};
25375 }
25376 
25377 __extension__ extern __inline int8x16_t
25378 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s8(int8x16_t __a,const int __b)25379 vshlq_n_s8 (int8x16_t __a, const int __b)
25380 {
25381   return (int8x16_t) __builtin_aarch64_ashlv16qi (__a, __b);
25382 }
25383 
25384 __extension__ extern __inline int16x8_t
25385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s16(int16x8_t __a,const int __b)25386 vshlq_n_s16 (int16x8_t __a, const int __b)
25387 {
25388   return (int16x8_t) __builtin_aarch64_ashlv8hi (__a, __b);
25389 }
25390 
25391 __extension__ extern __inline int32x4_t
25392 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s32(int32x4_t __a,const int __b)25393 vshlq_n_s32 (int32x4_t __a, const int __b)
25394 {
25395   return (int32x4_t) __builtin_aarch64_ashlv4si (__a, __b);
25396 }
25397 
25398 __extension__ extern __inline int64x2_t
25399 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_s64(int64x2_t __a,const int __b)25400 vshlq_n_s64 (int64x2_t __a, const int __b)
25401 {
25402   return (int64x2_t) __builtin_aarch64_ashlv2di (__a, __b);
25403 }
25404 
25405 __extension__ extern __inline uint8x16_t
25406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u8(uint8x16_t __a,const int __b)25407 vshlq_n_u8 (uint8x16_t __a, const int __b)
25408 {
25409   return (uint8x16_t) __builtin_aarch64_ashlv16qi ((int8x16_t) __a, __b);
25410 }
25411 
25412 __extension__ extern __inline uint16x8_t
25413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u16(uint16x8_t __a,const int __b)25414 vshlq_n_u16 (uint16x8_t __a, const int __b)
25415 {
25416   return (uint16x8_t) __builtin_aarch64_ashlv8hi ((int16x8_t) __a, __b);
25417 }
25418 
25419 __extension__ extern __inline uint32x4_t
25420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u32(uint32x4_t __a,const int __b)25421 vshlq_n_u32 (uint32x4_t __a, const int __b)
25422 {
25423   return (uint32x4_t) __builtin_aarch64_ashlv4si ((int32x4_t) __a, __b);
25424 }
25425 
25426 __extension__ extern __inline uint64x2_t
25427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_n_u64(uint64x2_t __a,const int __b)25428 vshlq_n_u64 (uint64x2_t __a, const int __b)
25429 {
25430   return (uint64x2_t) __builtin_aarch64_ashlv2di ((int64x2_t) __a, __b);
25431 }
25432 
25433 __extension__ extern __inline int64_t
25434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshld_n_s64(int64_t __a,const int __b)25435 vshld_n_s64 (int64_t __a, const int __b)
25436 {
25437   return __builtin_aarch64_ashldi (__a, __b);
25438 }
25439 
25440 __extension__ extern __inline uint64_t
25441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshld_n_u64(uint64_t __a,const int __b)25442 vshld_n_u64 (uint64_t __a, const int __b)
25443 {
25444   return (uint64_t) __builtin_aarch64_ashldi (__a, __b);
25445 }
25446 
25447 __extension__ extern __inline int8x8_t
25448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s8(int8x8_t __a,int8x8_t __b)25449 vshl_s8 (int8x8_t __a, int8x8_t __b)
25450 {
25451   return __builtin_aarch64_sshlv8qi (__a, __b);
25452 }
25453 
25454 __extension__ extern __inline int16x4_t
25455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s16(int16x4_t __a,int16x4_t __b)25456 vshl_s16 (int16x4_t __a, int16x4_t __b)
25457 {
25458   return __builtin_aarch64_sshlv4hi (__a, __b);
25459 }
25460 
25461 __extension__ extern __inline int32x2_t
25462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s32(int32x2_t __a,int32x2_t __b)25463 vshl_s32 (int32x2_t __a, int32x2_t __b)
25464 {
25465   return __builtin_aarch64_sshlv2si (__a, __b);
25466 }
25467 
25468 __extension__ extern __inline int64x1_t
25469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_s64(int64x1_t __a,int64x1_t __b)25470 vshl_s64 (int64x1_t __a, int64x1_t __b)
25471 {
25472   return (int64x1_t) {__builtin_aarch64_sshldi (__a[0], __b[0])};
25473 }
25474 
25475 __extension__ extern __inline uint8x8_t
25476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u8(uint8x8_t __a,int8x8_t __b)25477 vshl_u8 (uint8x8_t __a, int8x8_t __b)
25478 {
25479   return __builtin_aarch64_ushlv8qi_uus (__a, __b);
25480 }
25481 
25482 __extension__ extern __inline uint16x4_t
25483 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u16(uint16x4_t __a,int16x4_t __b)25484 vshl_u16 (uint16x4_t __a, int16x4_t __b)
25485 {
25486   return __builtin_aarch64_ushlv4hi_uus (__a, __b);
25487 }
25488 
25489 __extension__ extern __inline uint32x2_t
25490 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u32(uint32x2_t __a,int32x2_t __b)25491 vshl_u32 (uint32x2_t __a, int32x2_t __b)
25492 {
25493   return __builtin_aarch64_ushlv2si_uus (__a, __b);
25494 }
25495 
25496 __extension__ extern __inline uint64x1_t
25497 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshl_u64(uint64x1_t __a,int64x1_t __b)25498 vshl_u64 (uint64x1_t __a, int64x1_t __b)
25499 {
25500   return (uint64x1_t) {__builtin_aarch64_ushldi_uus (__a[0], __b[0])};
25501 }
25502 
25503 __extension__ extern __inline int8x16_t
25504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s8(int8x16_t __a,int8x16_t __b)25505 vshlq_s8 (int8x16_t __a, int8x16_t __b)
25506 {
25507   return __builtin_aarch64_sshlv16qi (__a, __b);
25508 }
25509 
25510 __extension__ extern __inline int16x8_t
25511 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s16(int16x8_t __a,int16x8_t __b)25512 vshlq_s16 (int16x8_t __a, int16x8_t __b)
25513 {
25514   return __builtin_aarch64_sshlv8hi (__a, __b);
25515 }
25516 
25517 __extension__ extern __inline int32x4_t
25518 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s32(int32x4_t __a,int32x4_t __b)25519 vshlq_s32 (int32x4_t __a, int32x4_t __b)
25520 {
25521   return __builtin_aarch64_sshlv4si (__a, __b);
25522 }
25523 
25524 __extension__ extern __inline int64x2_t
25525 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_s64(int64x2_t __a,int64x2_t __b)25526 vshlq_s64 (int64x2_t __a, int64x2_t __b)
25527 {
25528   return __builtin_aarch64_sshlv2di (__a, __b);
25529 }
25530 
25531 __extension__ extern __inline uint8x16_t
25532 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u8(uint8x16_t __a,int8x16_t __b)25533 vshlq_u8 (uint8x16_t __a, int8x16_t __b)
25534 {
25535   return __builtin_aarch64_ushlv16qi_uus (__a, __b);
25536 }
25537 
25538 __extension__ extern __inline uint16x8_t
25539 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u16(uint16x8_t __a,int16x8_t __b)25540 vshlq_u16 (uint16x8_t __a, int16x8_t __b)
25541 {
25542   return __builtin_aarch64_ushlv8hi_uus (__a, __b);
25543 }
25544 
25545 __extension__ extern __inline uint32x4_t
25546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u32(uint32x4_t __a,int32x4_t __b)25547 vshlq_u32 (uint32x4_t __a, int32x4_t __b)
25548 {
25549   return __builtin_aarch64_ushlv4si_uus (__a, __b);
25550 }
25551 
25552 __extension__ extern __inline uint64x2_t
25553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshlq_u64(uint64x2_t __a,int64x2_t __b)25554 vshlq_u64 (uint64x2_t __a, int64x2_t __b)
25555 {
25556   return __builtin_aarch64_ushlv2di_uus (__a, __b);
25557 }
25558 
25559 __extension__ extern __inline int64_t
25560 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshld_s64(int64_t __a,int64_t __b)25561 vshld_s64 (int64_t __a, int64_t __b)
25562 {
25563   return __builtin_aarch64_sshldi (__a, __b);
25564 }
25565 
25566 __extension__ extern __inline uint64_t
25567 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshld_u64(uint64_t __a,int64_t __b)25568 vshld_u64 (uint64_t __a, int64_t __b)
25569 {
25570   return __builtin_aarch64_ushldi_uus (__a, __b);
25571 }
25572 
25573 __extension__ extern __inline int16x8_t
25574 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_s8(int8x16_t __a,const int __b)25575 vshll_high_n_s8 (int8x16_t __a, const int __b)
25576 {
25577   return __builtin_aarch64_sshll2_nv16qi (__a, __b);
25578 }
25579 
25580 __extension__ extern __inline int32x4_t
25581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_s16(int16x8_t __a,const int __b)25582 vshll_high_n_s16 (int16x8_t __a, const int __b)
25583 {
25584   return __builtin_aarch64_sshll2_nv8hi (__a, __b);
25585 }
25586 
25587 __extension__ extern __inline int64x2_t
25588 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_s32(int32x4_t __a,const int __b)25589 vshll_high_n_s32 (int32x4_t __a, const int __b)
25590 {
25591   return __builtin_aarch64_sshll2_nv4si (__a, __b);
25592 }
25593 
25594 __extension__ extern __inline uint16x8_t
25595 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_u8(uint8x16_t __a,const int __b)25596 vshll_high_n_u8 (uint8x16_t __a, const int __b)
25597 {
25598   return (uint16x8_t) __builtin_aarch64_ushll2_nv16qi ((int8x16_t) __a, __b);
25599 }
25600 
25601 __extension__ extern __inline uint32x4_t
25602 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_u16(uint16x8_t __a,const int __b)25603 vshll_high_n_u16 (uint16x8_t __a, const int __b)
25604 {
25605   return (uint32x4_t) __builtin_aarch64_ushll2_nv8hi ((int16x8_t) __a, __b);
25606 }
25607 
25608 __extension__ extern __inline uint64x2_t
25609 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_high_n_u32(uint32x4_t __a,const int __b)25610 vshll_high_n_u32 (uint32x4_t __a, const int __b)
25611 {
25612   return (uint64x2_t) __builtin_aarch64_ushll2_nv4si ((int32x4_t) __a, __b);
25613 }
25614 
25615 __extension__ extern __inline int16x8_t
25616 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s8(int8x8_t __a,const int __b)25617 vshll_n_s8 (int8x8_t __a, const int __b)
25618 {
25619   return __builtin_aarch64_sshll_nv8qi (__a, __b);
25620 }
25621 
25622 __extension__ extern __inline int32x4_t
25623 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s16(int16x4_t __a,const int __b)25624 vshll_n_s16 (int16x4_t __a, const int __b)
25625 {
25626   return __builtin_aarch64_sshll_nv4hi (__a, __b);
25627 }
25628 
25629 __extension__ extern __inline int64x2_t
25630 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_s32(int32x2_t __a,const int __b)25631 vshll_n_s32 (int32x2_t __a, const int __b)
25632 {
25633   return __builtin_aarch64_sshll_nv2si (__a, __b);
25634 }
25635 
25636 __extension__ extern __inline uint16x8_t
25637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u8(uint8x8_t __a,const int __b)25638 vshll_n_u8 (uint8x8_t __a, const int __b)
25639 {
25640   return __builtin_aarch64_ushll_nv8qi_uus (__a, __b);
25641 }
25642 
25643 __extension__ extern __inline uint32x4_t
25644 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u16(uint16x4_t __a,const int __b)25645 vshll_n_u16 (uint16x4_t __a, const int __b)
25646 {
25647   return __builtin_aarch64_ushll_nv4hi_uus (__a, __b);
25648 }
25649 
25650 __extension__ extern __inline uint64x2_t
25651 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshll_n_u32(uint32x2_t __a,const int __b)25652 vshll_n_u32 (uint32x2_t __a, const int __b)
25653 {
25654   return __builtin_aarch64_ushll_nv2si_uus (__a, __b);
25655 }
25656 
25657 /* vshr */
25658 
25659 __extension__ extern __inline int8x8_t
25660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s8(int8x8_t __a,const int __b)25661 vshr_n_s8 (int8x8_t __a, const int __b)
25662 {
25663   return (int8x8_t) __builtin_aarch64_ashrv8qi (__a, __b);
25664 }
25665 
25666 __extension__ extern __inline int16x4_t
25667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s16(int16x4_t __a,const int __b)25668 vshr_n_s16 (int16x4_t __a, const int __b)
25669 {
25670   return (int16x4_t) __builtin_aarch64_ashrv4hi (__a, __b);
25671 }
25672 
25673 __extension__ extern __inline int32x2_t
25674 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s32(int32x2_t __a,const int __b)25675 vshr_n_s32 (int32x2_t __a, const int __b)
25676 {
25677   return (int32x2_t) __builtin_aarch64_ashrv2si (__a, __b);
25678 }
25679 
25680 __extension__ extern __inline int64x1_t
25681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_s64(int64x1_t __a,const int __b)25682 vshr_n_s64 (int64x1_t __a, const int __b)
25683 {
25684   return (int64x1_t) {__builtin_aarch64_ashr_simddi (__a[0], __b)};
25685 }
25686 
25687 __extension__ extern __inline uint8x8_t
25688 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u8(uint8x8_t __a,const int __b)25689 vshr_n_u8 (uint8x8_t __a, const int __b)
25690 {
25691   return (uint8x8_t) __builtin_aarch64_lshrv8qi ((int8x8_t) __a, __b);
25692 }
25693 
25694 __extension__ extern __inline uint16x4_t
25695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u16(uint16x4_t __a,const int __b)25696 vshr_n_u16 (uint16x4_t __a, const int __b)
25697 {
25698   return (uint16x4_t) __builtin_aarch64_lshrv4hi ((int16x4_t) __a, __b);
25699 }
25700 
25701 __extension__ extern __inline uint32x2_t
25702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u32(uint32x2_t __a,const int __b)25703 vshr_n_u32 (uint32x2_t __a, const int __b)
25704 {
25705   return (uint32x2_t) __builtin_aarch64_lshrv2si ((int32x2_t) __a, __b);
25706 }
25707 
25708 __extension__ extern __inline uint64x1_t
25709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshr_n_u64(uint64x1_t __a,const int __b)25710 vshr_n_u64 (uint64x1_t __a, const int __b)
25711 {
25712   return (uint64x1_t) {__builtin_aarch64_lshr_simddi_uus ( __a[0], __b)};
25713 }
25714 
25715 __extension__ extern __inline int8x16_t
25716 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s8(int8x16_t __a,const int __b)25717 vshrq_n_s8 (int8x16_t __a, const int __b)
25718 {
25719   return (int8x16_t) __builtin_aarch64_ashrv16qi (__a, __b);
25720 }
25721 
25722 __extension__ extern __inline int16x8_t
25723 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s16(int16x8_t __a,const int __b)25724 vshrq_n_s16 (int16x8_t __a, const int __b)
25725 {
25726   return (int16x8_t) __builtin_aarch64_ashrv8hi (__a, __b);
25727 }
25728 
25729 __extension__ extern __inline int32x4_t
25730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s32(int32x4_t __a,const int __b)25731 vshrq_n_s32 (int32x4_t __a, const int __b)
25732 {
25733   return (int32x4_t) __builtin_aarch64_ashrv4si (__a, __b);
25734 }
25735 
25736 __extension__ extern __inline int64x2_t
25737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_s64(int64x2_t __a,const int __b)25738 vshrq_n_s64 (int64x2_t __a, const int __b)
25739 {
25740   return (int64x2_t) __builtin_aarch64_ashrv2di (__a, __b);
25741 }
25742 
25743 __extension__ extern __inline uint8x16_t
25744 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u8(uint8x16_t __a,const int __b)25745 vshrq_n_u8 (uint8x16_t __a, const int __b)
25746 {
25747   return (uint8x16_t) __builtin_aarch64_lshrv16qi ((int8x16_t) __a, __b);
25748 }
25749 
25750 __extension__ extern __inline uint16x8_t
25751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u16(uint16x8_t __a,const int __b)25752 vshrq_n_u16 (uint16x8_t __a, const int __b)
25753 {
25754   return (uint16x8_t) __builtin_aarch64_lshrv8hi ((int16x8_t) __a, __b);
25755 }
25756 
25757 __extension__ extern __inline uint32x4_t
25758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u32(uint32x4_t __a,const int __b)25759 vshrq_n_u32 (uint32x4_t __a, const int __b)
25760 {
25761   return (uint32x4_t) __builtin_aarch64_lshrv4si ((int32x4_t) __a, __b);
25762 }
25763 
25764 __extension__ extern __inline uint64x2_t
25765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrq_n_u64(uint64x2_t __a,const int __b)25766 vshrq_n_u64 (uint64x2_t __a, const int __b)
25767 {
25768   return (uint64x2_t) __builtin_aarch64_lshrv2di ((int64x2_t) __a, __b);
25769 }
25770 
25771 __extension__ extern __inline int64_t
25772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrd_n_s64(int64_t __a,const int __b)25773 vshrd_n_s64 (int64_t __a, const int __b)
25774 {
25775   return __builtin_aarch64_ashr_simddi (__a, __b);
25776 }
25777 
25778 __extension__ extern __inline uint64_t
25779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vshrd_n_u64(uint64_t __a,const int __b)25780 vshrd_n_u64 (uint64_t __a, const int __b)
25781 {
25782   return __builtin_aarch64_lshr_simddi_uus (__a, __b);
25783 }
25784 
25785 /* vsli */
25786 
25787 __extension__ extern __inline int8x8_t
25788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s8(int8x8_t __a,int8x8_t __b,const int __c)25789 vsli_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
25790 {
25791   return (int8x8_t) __builtin_aarch64_ssli_nv8qi (__a, __b, __c);
25792 }
25793 
25794 __extension__ extern __inline int16x4_t
25795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s16(int16x4_t __a,int16x4_t __b,const int __c)25796 vsli_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
25797 {
25798   return (int16x4_t) __builtin_aarch64_ssli_nv4hi (__a, __b, __c);
25799 }
25800 
25801 __extension__ extern __inline int32x2_t
25802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s32(int32x2_t __a,int32x2_t __b,const int __c)25803 vsli_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
25804 {
25805   return (int32x2_t) __builtin_aarch64_ssli_nv2si (__a, __b, __c);
25806 }
25807 
25808 __extension__ extern __inline int64x1_t
25809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_s64(int64x1_t __a,int64x1_t __b,const int __c)25810 vsli_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
25811 {
25812   return (int64x1_t) {__builtin_aarch64_ssli_ndi (__a[0], __b[0], __c)};
25813 }
25814 
25815 __extension__ extern __inline uint8x8_t
25816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)25817 vsli_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
25818 {
25819   return __builtin_aarch64_usli_nv8qi_uuus (__a, __b, __c);
25820 }
25821 
25822 __extension__ extern __inline uint16x4_t
25823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)25824 vsli_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
25825 {
25826   return __builtin_aarch64_usli_nv4hi_uuus (__a, __b, __c);
25827 }
25828 
25829 __extension__ extern __inline uint32x2_t
25830 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)25831 vsli_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
25832 {
25833   return __builtin_aarch64_usli_nv2si_uuus (__a, __b, __c);
25834 }
25835 
25836 __extension__ extern __inline uint64x1_t
25837 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)25838 vsli_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
25839 {
25840   return (uint64x1_t) {__builtin_aarch64_usli_ndi_uuus (__a[0], __b[0], __c)};
25841 }
25842 
25843 __extension__ extern __inline poly64x1_t
25844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsli_n_p64(poly64x1_t __a,poly64x1_t __b,const int __c)25845 vsli_n_p64 (poly64x1_t __a, poly64x1_t __b, const int __c)
25846 {
25847   return (poly64x1_t) {__builtin_aarch64_ssli_ndi_ppps (__a[0], __b[0], __c)};
25848 }
25849 
25850 __extension__ extern __inline int8x16_t
25851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)25852 vsliq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
25853 {
25854   return (int8x16_t) __builtin_aarch64_ssli_nv16qi (__a, __b, __c);
25855 }
25856 
25857 __extension__ extern __inline int16x8_t
25858 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)25859 vsliq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
25860 {
25861   return (int16x8_t) __builtin_aarch64_ssli_nv8hi (__a, __b, __c);
25862 }
25863 
25864 __extension__ extern __inline int32x4_t
25865 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)25866 vsliq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
25867 {
25868   return (int32x4_t) __builtin_aarch64_ssli_nv4si (__a, __b, __c);
25869 }
25870 
25871 __extension__ extern __inline int64x2_t
25872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)25873 vsliq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
25874 {
25875   return (int64x2_t) __builtin_aarch64_ssli_nv2di (__a, __b, __c);
25876 }
25877 
25878 __extension__ extern __inline uint8x16_t
25879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)25880 vsliq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
25881 {
25882   return __builtin_aarch64_usli_nv16qi_uuus (__a, __b, __c);
25883 }
25884 
25885 __extension__ extern __inline uint16x8_t
25886 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)25887 vsliq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
25888 {
25889   return __builtin_aarch64_usli_nv8hi_uuus (__a, __b, __c);
25890 }
25891 
25892 __extension__ extern __inline uint32x4_t
25893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)25894 vsliq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
25895 {
25896   return __builtin_aarch64_usli_nv4si_uuus (__a, __b, __c);
25897 }
25898 
25899 __extension__ extern __inline uint64x2_t
25900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)25901 vsliq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
25902 {
25903   return __builtin_aarch64_usli_nv2di_uuus (__a, __b, __c);
25904 }
25905 
25906 __extension__ extern __inline poly64x2_t
25907 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsliq_n_p64(poly64x2_t __a,poly64x2_t __b,const int __c)25908 vsliq_n_p64 (poly64x2_t __a, poly64x2_t __b, const int __c)
25909 {
25910   return __builtin_aarch64_ssli_nv2di_ppps (__a, __b, __c);
25911 }
25912 
25913 __extension__ extern __inline int64_t
25914 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vslid_n_s64(int64_t __a,int64_t __b,const int __c)25915 vslid_n_s64 (int64_t __a, int64_t __b, const int __c)
25916 {
25917   return __builtin_aarch64_ssli_ndi (__a, __b, __c);
25918 }
25919 
25920 __extension__ extern __inline uint64_t
25921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vslid_n_u64(uint64_t __a,uint64_t __b,const int __c)25922 vslid_n_u64 (uint64_t __a, uint64_t __b, const int __c)
25923 {
25924   return __builtin_aarch64_usli_ndi_uuus (__a, __b, __c);
25925 }
25926 
25927 /* vsqadd */
25928 
25929 __extension__ extern __inline uint8x8_t
25930 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadd_u8(uint8x8_t __a,int8x8_t __b)25931 vsqadd_u8 (uint8x8_t __a, int8x8_t __b)
25932 {
25933   return __builtin_aarch64_usqaddv8qi_uus (__a, __b);
25934 }
25935 
25936 __extension__ extern __inline uint16x4_t
25937 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadd_u16(uint16x4_t __a,int16x4_t __b)25938 vsqadd_u16 (uint16x4_t __a, int16x4_t __b)
25939 {
25940   return __builtin_aarch64_usqaddv4hi_uus (__a, __b);
25941 }
25942 
25943 __extension__ extern __inline uint32x2_t
25944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadd_u32(uint32x2_t __a,int32x2_t __b)25945 vsqadd_u32 (uint32x2_t __a, int32x2_t __b)
25946 {
25947   return __builtin_aarch64_usqaddv2si_uus (__a, __b);
25948 }
25949 
25950 __extension__ extern __inline uint64x1_t
25951 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadd_u64(uint64x1_t __a,int64x1_t __b)25952 vsqadd_u64 (uint64x1_t __a, int64x1_t __b)
25953 {
25954   return (uint64x1_t) {__builtin_aarch64_usqadddi_uus (__a[0], __b[0])};
25955 }
25956 
25957 __extension__ extern __inline uint8x16_t
25958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddq_u8(uint8x16_t __a,int8x16_t __b)25959 vsqaddq_u8 (uint8x16_t __a, int8x16_t __b)
25960 {
25961   return __builtin_aarch64_usqaddv16qi_uus (__a, __b);
25962 }
25963 
25964 __extension__ extern __inline uint16x8_t
25965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddq_u16(uint16x8_t __a,int16x8_t __b)25966 vsqaddq_u16 (uint16x8_t __a, int16x8_t __b)
25967 {
25968   return __builtin_aarch64_usqaddv8hi_uus (__a, __b);
25969 }
25970 
25971 __extension__ extern __inline uint32x4_t
25972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddq_u32(uint32x4_t __a,int32x4_t __b)25973 vsqaddq_u32 (uint32x4_t __a, int32x4_t __b)
25974 {
25975   return __builtin_aarch64_usqaddv4si_uus (__a, __b);
25976 }
25977 
25978 __extension__ extern __inline uint64x2_t
25979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddq_u64(uint64x2_t __a,int64x2_t __b)25980 vsqaddq_u64 (uint64x2_t __a, int64x2_t __b)
25981 {
25982   return __builtin_aarch64_usqaddv2di_uus (__a, __b);
25983 }
25984 
25985 __extension__ extern __inline uint8_t
25986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddb_u8(uint8_t __a,int8_t __b)25987 vsqaddb_u8 (uint8_t __a, int8_t __b)
25988 {
25989   return __builtin_aarch64_usqaddqi_uus (__a, __b);
25990 }
25991 
25992 __extension__ extern __inline uint16_t
25993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddh_u16(uint16_t __a,int16_t __b)25994 vsqaddh_u16 (uint16_t __a, int16_t __b)
25995 {
25996   return __builtin_aarch64_usqaddhi_uus (__a, __b);
25997 }
25998 
25999 __extension__ extern __inline uint32_t
26000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqadds_u32(uint32_t __a,int32_t __b)26001 vsqadds_u32 (uint32_t __a, int32_t __b)
26002 {
26003   return __builtin_aarch64_usqaddsi_uus (__a, __b);
26004 }
26005 
26006 __extension__ extern __inline uint64_t
26007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqaddd_u64(uint64_t __a,int64_t __b)26008 vsqaddd_u64 (uint64_t __a, int64_t __b)
26009 {
26010   return __builtin_aarch64_usqadddi_uus (__a, __b);
26011 }
26012 
26013 /* vsqrt */
26014 __extension__ extern __inline float32x2_t
26015 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrt_f32(float32x2_t __a)26016 vsqrt_f32 (float32x2_t __a)
26017 {
26018   return __builtin_aarch64_sqrtv2sf (__a);
26019 }
26020 
26021 __extension__ extern __inline float32x4_t
26022 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrtq_f32(float32x4_t __a)26023 vsqrtq_f32 (float32x4_t __a)
26024 {
26025   return __builtin_aarch64_sqrtv4sf (__a);
26026 }
26027 
26028 __extension__ extern __inline float64x1_t
26029 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrt_f64(float64x1_t __a)26030 vsqrt_f64 (float64x1_t __a)
26031 {
26032   return (float64x1_t) { __builtin_aarch64_sqrtdf (__a[0]) };
26033 }
26034 
26035 __extension__ extern __inline float64x2_t
26036 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrtq_f64(float64x2_t __a)26037 vsqrtq_f64 (float64x2_t __a)
26038 {
26039   return __builtin_aarch64_sqrtv2df (__a);
26040 }
26041 
26042 /* vsra */
26043 
26044 __extension__ extern __inline int8x8_t
26045 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s8(int8x8_t __a,int8x8_t __b,const int __c)26046 vsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
26047 {
26048   return (int8x8_t) __builtin_aarch64_ssra_nv8qi (__a, __b, __c);
26049 }
26050 
26051 __extension__ extern __inline int16x4_t
26052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s16(int16x4_t __a,int16x4_t __b,const int __c)26053 vsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
26054 {
26055   return (int16x4_t) __builtin_aarch64_ssra_nv4hi (__a, __b, __c);
26056 }
26057 
26058 __extension__ extern __inline int32x2_t
26059 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s32(int32x2_t __a,int32x2_t __b,const int __c)26060 vsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
26061 {
26062   return (int32x2_t) __builtin_aarch64_ssra_nv2si (__a, __b, __c);
26063 }
26064 
26065 __extension__ extern __inline int64x1_t
26066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_s64(int64x1_t __a,int64x1_t __b,const int __c)26067 vsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
26068 {
26069   return (int64x1_t) {__builtin_aarch64_ssra_ndi (__a[0], __b[0], __c)};
26070 }
26071 
26072 __extension__ extern __inline uint8x8_t
26073 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)26074 vsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
26075 {
26076   return __builtin_aarch64_usra_nv8qi_uuus (__a, __b, __c);
26077 }
26078 
26079 __extension__ extern __inline uint16x4_t
26080 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)26081 vsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
26082 {
26083   return __builtin_aarch64_usra_nv4hi_uuus (__a, __b, __c);
26084 }
26085 
26086 __extension__ extern __inline uint32x2_t
26087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)26088 vsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
26089 {
26090   return __builtin_aarch64_usra_nv2si_uuus (__a, __b, __c);
26091 }
26092 
26093 __extension__ extern __inline uint64x1_t
26094 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsra_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)26095 vsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
26096 {
26097   return (uint64x1_t) {__builtin_aarch64_usra_ndi_uuus (__a[0], __b[0], __c)};
26098 }
26099 
26100 __extension__ extern __inline int8x16_t
26101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)26102 vsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
26103 {
26104   return (int8x16_t) __builtin_aarch64_ssra_nv16qi (__a, __b, __c);
26105 }
26106 
26107 __extension__ extern __inline int16x8_t
26108 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)26109 vsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
26110 {
26111   return (int16x8_t) __builtin_aarch64_ssra_nv8hi (__a, __b, __c);
26112 }
26113 
26114 __extension__ extern __inline int32x4_t
26115 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)26116 vsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
26117 {
26118   return (int32x4_t) __builtin_aarch64_ssra_nv4si (__a, __b, __c);
26119 }
26120 
26121 __extension__ extern __inline int64x2_t
26122 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)26123 vsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
26124 {
26125   return (int64x2_t) __builtin_aarch64_ssra_nv2di (__a, __b, __c);
26126 }
26127 
26128 __extension__ extern __inline uint8x16_t
26129 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)26130 vsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
26131 {
26132   return __builtin_aarch64_usra_nv16qi_uuus (__a, __b, __c);
26133 }
26134 
26135 __extension__ extern __inline uint16x8_t
26136 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)26137 vsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
26138 {
26139   return __builtin_aarch64_usra_nv8hi_uuus (__a, __b, __c);
26140 }
26141 
26142 __extension__ extern __inline uint32x4_t
26143 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)26144 vsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
26145 {
26146   return __builtin_aarch64_usra_nv4si_uuus (__a, __b, __c);
26147 }
26148 
26149 __extension__ extern __inline uint64x2_t
26150 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsraq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)26151 vsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
26152 {
26153   return __builtin_aarch64_usra_nv2di_uuus (__a, __b, __c);
26154 }
26155 
26156 __extension__ extern __inline int64_t
26157 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsrad_n_s64(int64_t __a,int64_t __b,const int __c)26158 vsrad_n_s64 (int64_t __a, int64_t __b, const int __c)
26159 {
26160   return __builtin_aarch64_ssra_ndi (__a, __b, __c);
26161 }
26162 
26163 __extension__ extern __inline uint64_t
26164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsrad_n_u64(uint64_t __a,uint64_t __b,const int __c)26165 vsrad_n_u64 (uint64_t __a, uint64_t __b, const int __c)
26166 {
26167   return __builtin_aarch64_usra_ndi_uuus (__a, __b, __c);
26168 }
26169 
26170 /* vsri */
26171 
26172 __extension__ extern __inline int8x8_t
26173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s8(int8x8_t __a,int8x8_t __b,const int __c)26174 vsri_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
26175 {
26176   return (int8x8_t) __builtin_aarch64_ssri_nv8qi (__a, __b, __c);
26177 }
26178 
26179 __extension__ extern __inline int16x4_t
26180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s16(int16x4_t __a,int16x4_t __b,const int __c)26181 vsri_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
26182 {
26183   return (int16x4_t) __builtin_aarch64_ssri_nv4hi (__a, __b, __c);
26184 }
26185 
26186 __extension__ extern __inline int32x2_t
26187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s32(int32x2_t __a,int32x2_t __b,const int __c)26188 vsri_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
26189 {
26190   return (int32x2_t) __builtin_aarch64_ssri_nv2si (__a, __b, __c);
26191 }
26192 
26193 __extension__ extern __inline int64x1_t
26194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_s64(int64x1_t __a,int64x1_t __b,const int __c)26195 vsri_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
26196 {
26197   return (int64x1_t) {__builtin_aarch64_ssri_ndi (__a[0], __b[0], __c)};
26198 }
26199 
26200 __extension__ extern __inline uint8x8_t
26201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u8(uint8x8_t __a,uint8x8_t __b,const int __c)26202 vsri_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
26203 {
26204   return __builtin_aarch64_usri_nv8qi_uuus (__a, __b, __c);
26205 }
26206 
26207 __extension__ extern __inline uint16x4_t
26208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u16(uint16x4_t __a,uint16x4_t __b,const int __c)26209 vsri_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
26210 {
26211   return __builtin_aarch64_usri_nv4hi_uuus (__a, __b, __c);
26212 }
26213 
26214 __extension__ extern __inline uint32x2_t
26215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u32(uint32x2_t __a,uint32x2_t __b,const int __c)26216 vsri_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
26217 {
26218   return __builtin_aarch64_usri_nv2si_uuus (__a, __b, __c);
26219 }
26220 
26221 __extension__ extern __inline uint64x1_t
26222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsri_n_u64(uint64x1_t __a,uint64x1_t __b,const int __c)26223 vsri_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
26224 {
26225   return (uint64x1_t) {__builtin_aarch64_usri_ndi_uuus (__a[0], __b[0], __c)};
26226 }
26227 
26228 __extension__ extern __inline int8x16_t
26229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s8(int8x16_t __a,int8x16_t __b,const int __c)26230 vsriq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
26231 {
26232   return (int8x16_t) __builtin_aarch64_ssri_nv16qi (__a, __b, __c);
26233 }
26234 
26235 __extension__ extern __inline int16x8_t
26236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s16(int16x8_t __a,int16x8_t __b,const int __c)26237 vsriq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
26238 {
26239   return (int16x8_t) __builtin_aarch64_ssri_nv8hi (__a, __b, __c);
26240 }
26241 
26242 __extension__ extern __inline int32x4_t
26243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s32(int32x4_t __a,int32x4_t __b,const int __c)26244 vsriq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
26245 {
26246   return (int32x4_t) __builtin_aarch64_ssri_nv4si (__a, __b, __c);
26247 }
26248 
26249 __extension__ extern __inline int64x2_t
26250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_s64(int64x2_t __a,int64x2_t __b,const int __c)26251 vsriq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
26252 {
26253   return (int64x2_t) __builtin_aarch64_ssri_nv2di (__a, __b, __c);
26254 }
26255 
26256 __extension__ extern __inline uint8x16_t
26257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u8(uint8x16_t __a,uint8x16_t __b,const int __c)26258 vsriq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
26259 {
26260   return __builtin_aarch64_usri_nv16qi_uuus (__a, __b, __c);
26261 }
26262 
26263 __extension__ extern __inline uint16x8_t
26264 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u16(uint16x8_t __a,uint16x8_t __b,const int __c)26265 vsriq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
26266 {
26267   return __builtin_aarch64_usri_nv8hi_uuus (__a, __b, __c);
26268 }
26269 
26270 __extension__ extern __inline uint32x4_t
26271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u32(uint32x4_t __a,uint32x4_t __b,const int __c)26272 vsriq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
26273 {
26274   return __builtin_aarch64_usri_nv4si_uuus (__a, __b, __c);
26275 }
26276 
26277 __extension__ extern __inline uint64x2_t
26278 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsriq_n_u64(uint64x2_t __a,uint64x2_t __b,const int __c)26279 vsriq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
26280 {
26281   return __builtin_aarch64_usri_nv2di_uuus (__a, __b, __c);
26282 }
26283 
26284 __extension__ extern __inline int64_t
26285 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsrid_n_s64(int64_t __a,int64_t __b,const int __c)26286 vsrid_n_s64 (int64_t __a, int64_t __b, const int __c)
26287 {
26288   return __builtin_aarch64_ssri_ndi (__a, __b, __c);
26289 }
26290 
26291 __extension__ extern __inline uint64_t
26292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsrid_n_u64(uint64_t __a,uint64_t __b,const int __c)26293 vsrid_n_u64 (uint64_t __a, uint64_t __b, const int __c)
26294 {
26295   return __builtin_aarch64_usri_ndi_uuus (__a, __b, __c);
26296 }
26297 
26298 /* vst1 */
26299 
26300 __extension__ extern __inline void
26301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16(float16_t * __a,float16x4_t __b)26302 vst1_f16 (float16_t *__a, float16x4_t __b)
26303 {
26304   __builtin_aarch64_st1v4hf (__a, __b);
26305 }
26306 
26307 __extension__ extern __inline void
26308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32(float32_t * __a,float32x2_t __b)26309 vst1_f32 (float32_t *__a, float32x2_t __b)
26310 {
26311   __builtin_aarch64_st1v2sf ((__builtin_aarch64_simd_sf *) __a, __b);
26312 }
26313 
26314 __extension__ extern __inline void
26315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f64(float64_t * __a,float64x1_t __b)26316 vst1_f64 (float64_t *__a, float64x1_t __b)
26317 {
26318   *__a = __b[0];
26319 }
26320 
26321 __extension__ extern __inline void
26322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8(poly8_t * __a,poly8x8_t __b)26323 vst1_p8 (poly8_t *__a, poly8x8_t __b)
26324 {
26325   __builtin_aarch64_st1v8qi ((__builtin_aarch64_simd_qi *) __a,
26326 			     (int8x8_t) __b);
26327 }
26328 
26329 __extension__ extern __inline void
26330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16(poly16_t * __a,poly16x4_t __b)26331 vst1_p16 (poly16_t *__a, poly16x4_t __b)
26332 {
26333   __builtin_aarch64_st1v4hi ((__builtin_aarch64_simd_hi *) __a,
26334 			     (int16x4_t) __b);
26335 }
26336 
26337 __extension__ extern __inline void
26338 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64(poly64_t * __a,poly64x1_t __b)26339 vst1_p64 (poly64_t *__a, poly64x1_t __b)
26340 {
26341   *__a = __b[0];
26342 }
26343 
26344 __extension__ extern __inline void
26345 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8(int8_t * __a,int8x8_t __b)26346 vst1_s8 (int8_t *__a, int8x8_t __b)
26347 {
26348   __builtin_aarch64_st1v8qi ((__builtin_aarch64_simd_qi *) __a, __b);
26349 }
26350 
26351 __extension__ extern __inline void
26352 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16(int16_t * __a,int16x4_t __b)26353 vst1_s16 (int16_t *__a, int16x4_t __b)
26354 {
26355   __builtin_aarch64_st1v4hi ((__builtin_aarch64_simd_hi *) __a, __b);
26356 }
26357 
26358 __extension__ extern __inline void
26359 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32(int32_t * __a,int32x2_t __b)26360 vst1_s32 (int32_t *__a, int32x2_t __b)
26361 {
26362   __builtin_aarch64_st1v2si ((__builtin_aarch64_simd_si *) __a, __b);
26363 }
26364 
26365 __extension__ extern __inline void
26366 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64(int64_t * __a,int64x1_t __b)26367 vst1_s64 (int64_t *__a, int64x1_t __b)
26368 {
26369   *__a = __b[0];
26370 }
26371 
26372 __extension__ extern __inline void
26373 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8(uint8_t * __a,uint8x8_t __b)26374 vst1_u8 (uint8_t *__a, uint8x8_t __b)
26375 {
26376   __builtin_aarch64_st1v8qi ((__builtin_aarch64_simd_qi *) __a,
26377 			     (int8x8_t) __b);
26378 }
26379 
26380 __extension__ extern __inline void
26381 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16(uint16_t * __a,uint16x4_t __b)26382 vst1_u16 (uint16_t *__a, uint16x4_t __b)
26383 {
26384   __builtin_aarch64_st1v4hi ((__builtin_aarch64_simd_hi *) __a,
26385 			     (int16x4_t) __b);
26386 }
26387 
26388 __extension__ extern __inline void
26389 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32(uint32_t * __a,uint32x2_t __b)26390 vst1_u32 (uint32_t *__a, uint32x2_t __b)
26391 {
26392   __builtin_aarch64_st1v2si ((__builtin_aarch64_simd_si *) __a,
26393 			     (int32x2_t) __b);
26394 }
26395 
26396 __extension__ extern __inline void
26397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64(uint64_t * __a,uint64x1_t __b)26398 vst1_u64 (uint64_t *__a, uint64x1_t __b)
26399 {
26400   *__a = __b[0];
26401 }
26402 
26403 /* vst1q */
26404 
26405 __extension__ extern __inline void
26406 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16(float16_t * __a,float16x8_t __b)26407 vst1q_f16 (float16_t *__a, float16x8_t __b)
26408 {
26409   __builtin_aarch64_st1v8hf (__a, __b);
26410 }
26411 
26412 __extension__ extern __inline void
26413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32(float32_t * __a,float32x4_t __b)26414 vst1q_f32 (float32_t *__a, float32x4_t __b)
26415 {
26416   __builtin_aarch64_st1v4sf ((__builtin_aarch64_simd_sf *) __a, __b);
26417 }
26418 
26419 __extension__ extern __inline void
26420 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f64(float64_t * __a,float64x2_t __b)26421 vst1q_f64 (float64_t *__a, float64x2_t __b)
26422 {
26423   __builtin_aarch64_st1v2df ((__builtin_aarch64_simd_df *) __a, __b);
26424 }
26425 
26426 __extension__ extern __inline void
26427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8(poly8_t * __a,poly8x16_t __b)26428 vst1q_p8 (poly8_t *__a, poly8x16_t __b)
26429 {
26430   __builtin_aarch64_st1v16qi ((__builtin_aarch64_simd_qi *) __a,
26431 			      (int8x16_t) __b);
26432 }
26433 
26434 __extension__ extern __inline void
26435 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16(poly16_t * __a,poly16x8_t __b)26436 vst1q_p16 (poly16_t *__a, poly16x8_t __b)
26437 {
26438   __builtin_aarch64_st1v8hi ((__builtin_aarch64_simd_hi *) __a,
26439 			     (int16x8_t) __b);
26440 }
26441 
26442 __extension__ extern __inline void
26443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64(poly64_t * __a,poly64x2_t __b)26444 vst1q_p64 (poly64_t *__a, poly64x2_t __b)
26445 {
26446   __builtin_aarch64_st1v2di_sp ((__builtin_aarch64_simd_di *) __a,
26447 				(poly64x2_t) __b);
26448 }
26449 
26450 __extension__ extern __inline void
26451 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8(int8_t * __a,int8x16_t __b)26452 vst1q_s8 (int8_t *__a, int8x16_t __b)
26453 {
26454   __builtin_aarch64_st1v16qi ((__builtin_aarch64_simd_qi *) __a, __b);
26455 }
26456 
26457 __extension__ extern __inline void
26458 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16(int16_t * __a,int16x8_t __b)26459 vst1q_s16 (int16_t *__a, int16x8_t __b)
26460 {
26461   __builtin_aarch64_st1v8hi ((__builtin_aarch64_simd_hi *) __a, __b);
26462 }
26463 
26464 __extension__ extern __inline void
26465 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32(int32_t * __a,int32x4_t __b)26466 vst1q_s32 (int32_t *__a, int32x4_t __b)
26467 {
26468   __builtin_aarch64_st1v4si ((__builtin_aarch64_simd_si *) __a, __b);
26469 }
26470 
26471 __extension__ extern __inline void
26472 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64(int64_t * __a,int64x2_t __b)26473 vst1q_s64 (int64_t *__a, int64x2_t __b)
26474 {
26475   __builtin_aarch64_st1v2di ((__builtin_aarch64_simd_di *) __a, __b);
26476 }
26477 
26478 __extension__ extern __inline void
26479 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8(uint8_t * __a,uint8x16_t __b)26480 vst1q_u8 (uint8_t *__a, uint8x16_t __b)
26481 {
26482   __builtin_aarch64_st1v16qi ((__builtin_aarch64_simd_qi *) __a,
26483 			      (int8x16_t) __b);
26484 }
26485 
26486 __extension__ extern __inline void
26487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16(uint16_t * __a,uint16x8_t __b)26488 vst1q_u16 (uint16_t *__a, uint16x8_t __b)
26489 {
26490   __builtin_aarch64_st1v8hi ((__builtin_aarch64_simd_hi *) __a,
26491 			     (int16x8_t) __b);
26492 }
26493 
26494 __extension__ extern __inline void
26495 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32(uint32_t * __a,uint32x4_t __b)26496 vst1q_u32 (uint32_t *__a, uint32x4_t __b)
26497 {
26498   __builtin_aarch64_st1v4si ((__builtin_aarch64_simd_si *) __a,
26499 			     (int32x4_t) __b);
26500 }
26501 
26502 __extension__ extern __inline void
26503 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64(uint64_t * __a,uint64x2_t __b)26504 vst1q_u64 (uint64_t *__a, uint64x2_t __b)
26505 {
26506   __builtin_aarch64_st1v2di ((__builtin_aarch64_simd_di *) __a,
26507 			     (int64x2_t) __b);
26508 }
26509 
26510 /* vst1_lane */
26511 
26512 __extension__ extern __inline void
26513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_f16(float16_t * __a,float16x4_t __b,const int __lane)26514 vst1_lane_f16 (float16_t *__a, float16x4_t __b, const int __lane)
26515 {
26516   *__a = __aarch64_vget_lane_any (__b, __lane);
26517 }
26518 
26519 __extension__ extern __inline void
26520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_f32(float32_t * __a,float32x2_t __b,const int __lane)26521 vst1_lane_f32 (float32_t *__a, float32x2_t __b, const int __lane)
26522 {
26523   *__a = __aarch64_vget_lane_any (__b, __lane);
26524 }
26525 
26526 __extension__ extern __inline void
26527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_f64(float64_t * __a,float64x1_t __b,const int __lane)26528 vst1_lane_f64 (float64_t *__a, float64x1_t __b, const int __lane)
26529 {
26530   *__a = __aarch64_vget_lane_any (__b, __lane);
26531 }
26532 
26533 __extension__ extern __inline void
26534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p8(poly8_t * __a,poly8x8_t __b,const int __lane)26535 vst1_lane_p8 (poly8_t *__a, poly8x8_t __b, const int __lane)
26536 {
26537   *__a = __aarch64_vget_lane_any (__b, __lane);
26538 }
26539 
26540 __extension__ extern __inline void
26541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p16(poly16_t * __a,poly16x4_t __b,const int __lane)26542 vst1_lane_p16 (poly16_t *__a, poly16x4_t __b, const int __lane)
26543 {
26544   *__a = __aarch64_vget_lane_any (__b, __lane);
26545 }
26546 
26547 __extension__ extern __inline void
26548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_p64(poly64_t * __a,poly64x1_t __b,const int __lane)26549 vst1_lane_p64 (poly64_t *__a, poly64x1_t __b, const int __lane)
26550 {
26551   *__a = __aarch64_vget_lane_any (__b, __lane);
26552 }
26553 
26554 __extension__ extern __inline void
26555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s8(int8_t * __a,int8x8_t __b,const int __lane)26556 vst1_lane_s8 (int8_t *__a, int8x8_t __b, const int __lane)
26557 {
26558   *__a = __aarch64_vget_lane_any (__b, __lane);
26559 }
26560 
26561 __extension__ extern __inline void
26562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s16(int16_t * __a,int16x4_t __b,const int __lane)26563 vst1_lane_s16 (int16_t *__a, int16x4_t __b, const int __lane)
26564 {
26565   *__a = __aarch64_vget_lane_any (__b, __lane);
26566 }
26567 
26568 __extension__ extern __inline void
26569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s32(int32_t * __a,int32x2_t __b,const int __lane)26570 vst1_lane_s32 (int32_t *__a, int32x2_t __b, const int __lane)
26571 {
26572   *__a = __aarch64_vget_lane_any (__b, __lane);
26573 }
26574 
26575 __extension__ extern __inline void
26576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_s64(int64_t * __a,int64x1_t __b,const int __lane)26577 vst1_lane_s64 (int64_t *__a, int64x1_t __b, const int __lane)
26578 {
26579   *__a = __aarch64_vget_lane_any (__b, __lane);
26580 }
26581 
26582 __extension__ extern __inline void
26583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u8(uint8_t * __a,uint8x8_t __b,const int __lane)26584 vst1_lane_u8 (uint8_t *__a, uint8x8_t __b, const int __lane)
26585 {
26586   *__a = __aarch64_vget_lane_any (__b, __lane);
26587 }
26588 
26589 __extension__ extern __inline void
26590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u16(uint16_t * __a,uint16x4_t __b,const int __lane)26591 vst1_lane_u16 (uint16_t *__a, uint16x4_t __b, const int __lane)
26592 {
26593   *__a = __aarch64_vget_lane_any (__b, __lane);
26594 }
26595 
26596 __extension__ extern __inline void
26597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u32(uint32_t * __a,uint32x2_t __b,const int __lane)26598 vst1_lane_u32 (uint32_t *__a, uint32x2_t __b, const int __lane)
26599 {
26600   *__a = __aarch64_vget_lane_any (__b, __lane);
26601 }
26602 
26603 __extension__ extern __inline void
26604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_u64(uint64_t * __a,uint64x1_t __b,const int __lane)26605 vst1_lane_u64 (uint64_t *__a, uint64x1_t __b, const int __lane)
26606 {
26607   *__a = __aarch64_vget_lane_any (__b, __lane);
26608 }
26609 
26610 /* vst1q_lane */
26611 
26612 __extension__ extern __inline void
26613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_f16(float16_t * __a,float16x8_t __b,const int __lane)26614 vst1q_lane_f16 (float16_t *__a, float16x8_t __b, const int __lane)
26615 {
26616   *__a = __aarch64_vget_lane_any (__b, __lane);
26617 }
26618 
26619 __extension__ extern __inline void
26620 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_f32(float32_t * __a,float32x4_t __b,const int __lane)26621 vst1q_lane_f32 (float32_t *__a, float32x4_t __b, const int __lane)
26622 {
26623   *__a = __aarch64_vget_lane_any (__b, __lane);
26624 }
26625 
26626 __extension__ extern __inline void
26627 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_f64(float64_t * __a,float64x2_t __b,const int __lane)26628 vst1q_lane_f64 (float64_t *__a, float64x2_t __b, const int __lane)
26629 {
26630   *__a = __aarch64_vget_lane_any (__b, __lane);
26631 }
26632 
26633 __extension__ extern __inline void
26634 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p8(poly8_t * __a,poly8x16_t __b,const int __lane)26635 vst1q_lane_p8 (poly8_t *__a, poly8x16_t __b, const int __lane)
26636 {
26637   *__a = __aarch64_vget_lane_any (__b, __lane);
26638 }
26639 
26640 __extension__ extern __inline void
26641 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p16(poly16_t * __a,poly16x8_t __b,const int __lane)26642 vst1q_lane_p16 (poly16_t *__a, poly16x8_t __b, const int __lane)
26643 {
26644   *__a = __aarch64_vget_lane_any (__b, __lane);
26645 }
26646 
26647 __extension__ extern __inline void
26648 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_p64(poly64_t * __a,poly64x2_t __b,const int __lane)26649 vst1q_lane_p64 (poly64_t *__a, poly64x2_t __b, const int __lane)
26650 {
26651   *__a = __aarch64_vget_lane_any (__b, __lane);
26652 }
26653 
26654 __extension__ extern __inline void
26655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s8(int8_t * __a,int8x16_t __b,const int __lane)26656 vst1q_lane_s8 (int8_t *__a, int8x16_t __b, const int __lane)
26657 {
26658   *__a = __aarch64_vget_lane_any (__b, __lane);
26659 }
26660 
26661 __extension__ extern __inline void
26662 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s16(int16_t * __a,int16x8_t __b,const int __lane)26663 vst1q_lane_s16 (int16_t *__a, int16x8_t __b, const int __lane)
26664 {
26665   *__a = __aarch64_vget_lane_any (__b, __lane);
26666 }
26667 
26668 __extension__ extern __inline void
26669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s32(int32_t * __a,int32x4_t __b,const int __lane)26670 vst1q_lane_s32 (int32_t *__a, int32x4_t __b, const int __lane)
26671 {
26672   *__a = __aarch64_vget_lane_any (__b, __lane);
26673 }
26674 
26675 __extension__ extern __inline void
26676 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_s64(int64_t * __a,int64x2_t __b,const int __lane)26677 vst1q_lane_s64 (int64_t *__a, int64x2_t __b, const int __lane)
26678 {
26679   *__a = __aarch64_vget_lane_any (__b, __lane);
26680 }
26681 
26682 __extension__ extern __inline void
26683 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u8(uint8_t * __a,uint8x16_t __b,const int __lane)26684 vst1q_lane_u8 (uint8_t *__a, uint8x16_t __b, const int __lane)
26685 {
26686   *__a = __aarch64_vget_lane_any (__b, __lane);
26687 }
26688 
26689 __extension__ extern __inline void
26690 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u16(uint16_t * __a,uint16x8_t __b,const int __lane)26691 vst1q_lane_u16 (uint16_t *__a, uint16x8_t __b, const int __lane)
26692 {
26693   *__a = __aarch64_vget_lane_any (__b, __lane);
26694 }
26695 
26696 __extension__ extern __inline void
26697 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u32(uint32_t * __a,uint32x4_t __b,const int __lane)26698 vst1q_lane_u32 (uint32_t *__a, uint32x4_t __b, const int __lane)
26699 {
26700   *__a = __aarch64_vget_lane_any (__b, __lane);
26701 }
26702 
26703 __extension__ extern __inline void
26704 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_u64(uint64_t * __a,uint64x2_t __b,const int __lane)26705 vst1q_lane_u64 (uint64_t *__a, uint64x2_t __b, const int __lane)
26706 {
26707   *__a = __aarch64_vget_lane_any (__b, __lane);
26708 }
26709 
26710 /* vst1x2 */
26711 
26712 __extension__ extern __inline void
26713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64_x2(int64_t * __a,int64x1x2_t __val)26714 vst1_s64_x2 (int64_t * __a, int64x1x2_t __val)
26715 {
26716   __builtin_aarch64_simd_oi __o;
26717   int64x2x2_t __temp;
26718   __temp.val[0]
26719     = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
26720   __temp.val[1]
26721     = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
26722   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[0], 0);
26723   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[1], 1);
26724   __builtin_aarch64_st1x2di ((__builtin_aarch64_simd_di *) __a, __o);
26725 }
26726 
26727 __extension__ extern __inline void
26728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64_x2(uint64_t * __a,uint64x1x2_t __val)26729 vst1_u64_x2 (uint64_t * __a, uint64x1x2_t __val)
26730 {
26731   __builtin_aarch64_simd_oi __o;
26732   uint64x2x2_t __temp;
26733   __temp.val[0]
26734     = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
26735   __temp.val[1]
26736     = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
26737   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[0], 0);
26738   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[1], 1);
26739   __builtin_aarch64_st1x2di ((__builtin_aarch64_simd_di *) __a, __o);
26740 }
26741 
26742 __extension__ extern __inline void
26743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f64_x2(float64_t * __a,float64x1x2_t __val)26744 vst1_f64_x2 (float64_t * __a, float64x1x2_t __val)
26745 {
26746   __builtin_aarch64_simd_oi __o;
26747   float64x2x2_t __temp;
26748   __temp.val[0]
26749     = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
26750   __temp.val[1]
26751     = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
26752   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __temp.val[0], 0);
26753   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __temp.val[1], 1);
26754   __builtin_aarch64_st1x2df ((__builtin_aarch64_simd_df *) __a, __o);
26755 }
26756 
26757 __extension__ extern __inline void
26758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8_x2(int8_t * __a,int8x8x2_t __val)26759 vst1_s8_x2 (int8_t * __a, int8x8x2_t __val)
26760 {
26761   __builtin_aarch64_simd_oi __o;
26762   int8x16x2_t __temp;
26763   __temp.val[0]
26764     = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
26765   __temp.val[1]
26766     = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
26767   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
26768   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
26769   __builtin_aarch64_st1x2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
26770 }
26771 
26772 __extension__ extern __inline void
26773 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8_x2(poly8_t * __a,poly8x8x2_t __val)26774 vst1_p8_x2 (poly8_t * __a, poly8x8x2_t __val)
26775 {
26776   __builtin_aarch64_simd_oi __o;
26777   poly8x16x2_t __temp;
26778   __temp.val[0]
26779     = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
26780   __temp.val[1]
26781     = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
26782   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
26783   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
26784   __builtin_aarch64_st1x2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
26785 }
26786 
26787 __extension__ extern __inline void
26788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16_x2(int16_t * __a,int16x4x2_t __val)26789 vst1_s16_x2 (int16_t * __a, int16x4x2_t __val)
26790 {
26791   __builtin_aarch64_simd_oi __o;
26792   int16x8x2_t __temp;
26793   __temp.val[0]
26794     = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
26795   __temp.val[1]
26796     = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
26797   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
26798   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
26799   __builtin_aarch64_st1x2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
26800 }
26801 
26802 __extension__ extern __inline void
26803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16_x2(poly16_t * __a,poly16x4x2_t __val)26804 vst1_p16_x2 (poly16_t * __a, poly16x4x2_t __val)
26805 {
26806   __builtin_aarch64_simd_oi __o;
26807   poly16x8x2_t __temp;
26808   __temp.val[0]
26809     = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
26810   __temp.val[1]
26811     = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
26812   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
26813   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
26814   __builtin_aarch64_st1x2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
26815 }
26816 
26817 __extension__ extern __inline void
26818 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32_x2(int32_t * __a,int32x2x2_t __val)26819 vst1_s32_x2 (int32_t * __a, int32x2x2_t __val)
26820 {
26821   __builtin_aarch64_simd_oi __o;
26822   int32x4x2_t __temp;
26823   __temp.val[0]
26824     = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
26825   __temp.val[1]
26826     = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
26827   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[0], 0);
26828   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[1], 1);
26829   __builtin_aarch64_st1x2v2si ((__builtin_aarch64_simd_si *) __a, __o);
26830 }
26831 
26832 __extension__ extern __inline void
26833 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8_x2(uint8_t * __a,uint8x8x2_t __val)26834 vst1_u8_x2 (uint8_t * __a, uint8x8x2_t __val)
26835 {
26836   __builtin_aarch64_simd_oi __o;
26837   uint8x16x2_t __temp;
26838   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
26839   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
26840   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
26841   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
26842   __builtin_aarch64_st1x2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
26843 }
26844 
26845 __extension__ extern __inline void
26846 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16_x2(uint16_t * __a,uint16x4x2_t __val)26847 vst1_u16_x2 (uint16_t * __a, uint16x4x2_t __val)
26848 {
26849   __builtin_aarch64_simd_oi __o;
26850   uint16x8x2_t __temp;
26851   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
26852   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
26853   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
26854   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
26855   __builtin_aarch64_st1x2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
26856 }
26857 
26858 __extension__ extern __inline void
26859 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32_x2(uint32_t * __a,uint32x2x2_t __val)26860 vst1_u32_x2 (uint32_t * __a, uint32x2x2_t __val)
26861 {
26862   __builtin_aarch64_simd_oi __o;
26863   uint32x4x2_t __temp;
26864   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
26865   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
26866   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[0], 0);
26867   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[1], 1);
26868   __builtin_aarch64_st1x2v2si ((__builtin_aarch64_simd_si *) __a, __o);
26869 }
26870 
26871 __extension__ extern __inline void
26872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16_x2(float16_t * __a,float16x4x2_t __val)26873 vst1_f16_x2 (float16_t * __a, float16x4x2_t __val)
26874 {
26875   __builtin_aarch64_simd_oi __o;
26876   float16x8x2_t __temp;
26877   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
26878   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
26879   __o = __builtin_aarch64_set_qregoiv8hf (__o, __temp.val[0], 0);
26880   __o = __builtin_aarch64_set_qregoiv8hf (__o, __temp.val[1], 1);
26881   __builtin_aarch64_st1x2v4hf (__a, __o);
26882 }
26883 
26884 __extension__ extern __inline void
26885 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32_x2(float32_t * __a,float32x2x2_t __val)26886 vst1_f32_x2 (float32_t * __a, float32x2x2_t __val)
26887 {
26888   __builtin_aarch64_simd_oi __o;
26889   float32x4x2_t __temp;
26890   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
26891   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
26892   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __temp.val[0], 0);
26893   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __temp.val[1], 1);
26894   __builtin_aarch64_st1x2v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
26895 }
26896 
26897 __extension__ extern __inline void
26898 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64_x2(poly64_t * __a,poly64x1x2_t __val)26899 vst1_p64_x2 (poly64_t * __a, poly64x1x2_t __val)
26900 {
26901   __builtin_aarch64_simd_oi __o;
26902   poly64x2x2_t __temp;
26903   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
26904   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
26905   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
26906 					       (poly64x2_t) __temp.val[0], 0);
26907   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
26908 					       (poly64x2_t) __temp.val[1], 1);
26909   __builtin_aarch64_st1x2di ((__builtin_aarch64_simd_di *) __a, __o);
26910 }
26911 
26912 __extension__ extern __inline void
26913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8_x2(int8_t * __a,int8x16x2_t __val)26914 vst1q_s8_x2 (int8_t * __a, int8x16x2_t __val)
26915 {
26916   __builtin_aarch64_simd_oi __o;
26917   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
26918   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
26919   __builtin_aarch64_st1x2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
26920 }
26921 
26922 __extension__ extern __inline void
26923 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8_x2(poly8_t * __a,poly8x16x2_t __val)26924 vst1q_p8_x2 (poly8_t * __a, poly8x16x2_t __val)
26925 {
26926   __builtin_aarch64_simd_oi __o;
26927   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
26928   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
26929   __builtin_aarch64_st1x2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
26930 }
26931 
26932 __extension__ extern __inline void
26933 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16_x2(int16_t * __a,int16x8x2_t __val)26934 vst1q_s16_x2 (int16_t * __a, int16x8x2_t __val)
26935 {
26936   __builtin_aarch64_simd_oi __o;
26937   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
26938   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
26939   __builtin_aarch64_st1x2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
26940 }
26941 
26942 __extension__ extern __inline void
26943 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16_x2(poly16_t * __a,poly16x8x2_t __val)26944 vst1q_p16_x2 (poly16_t * __a, poly16x8x2_t __val)
26945 {
26946   __builtin_aarch64_simd_oi __o;
26947   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
26948   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
26949   __builtin_aarch64_st1x2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
26950 }
26951 
26952 __extension__ extern __inline void
26953 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32_x2(int32_t * __a,int32x4x2_t __val)26954 vst1q_s32_x2 (int32_t * __a, int32x4x2_t __val)
26955 {
26956   __builtin_aarch64_simd_oi __o;
26957   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[0], 0);
26958   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[1], 1);
26959   __builtin_aarch64_st1x2v4si ((__builtin_aarch64_simd_si *) __a, __o);
26960 }
26961 
26962 __extension__ extern __inline void
26963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64_x2(int64_t * __a,int64x2x2_t __val)26964 vst1q_s64_x2 (int64_t * __a, int64x2x2_t __val)
26965 {
26966   __builtin_aarch64_simd_oi __o;
26967   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[0], 0);
26968   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[1], 1);
26969   __builtin_aarch64_st1x2v2di ((__builtin_aarch64_simd_di *) __a, __o);
26970 }
26971 
26972 __extension__ extern __inline void
26973 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8_x2(uint8_t * __a,uint8x16x2_t __val)26974 vst1q_u8_x2 (uint8_t * __a, uint8x16x2_t __val)
26975 {
26976   __builtin_aarch64_simd_oi __o;
26977   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
26978   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
26979   __builtin_aarch64_st1x2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
26980 }
26981 
26982 __extension__ extern __inline void
26983 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16_x2(uint16_t * __a,uint16x8x2_t __val)26984 vst1q_u16_x2 (uint16_t * __a, uint16x8x2_t __val)
26985 {
26986   __builtin_aarch64_simd_oi __o;
26987   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
26988   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
26989   __builtin_aarch64_st1x2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
26990 }
26991 
26992 __extension__ extern __inline void
26993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32_x2(uint32_t * __a,uint32x4x2_t __val)26994 vst1q_u32_x2 (uint32_t * __a, uint32x4x2_t __val)
26995 {
26996   __builtin_aarch64_simd_oi __o;
26997   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[0], 0);
26998   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[1], 1);
26999   __builtin_aarch64_st1x2v4si ((__builtin_aarch64_simd_si *) __a, __o);
27000 }
27001 
27002 __extension__ extern __inline void
27003 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64_x2(uint64_t * __a,uint64x2x2_t __val)27004 vst1q_u64_x2 (uint64_t * __a, uint64x2x2_t __val)
27005 {
27006   __builtin_aarch64_simd_oi __o;
27007   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[0], 0);
27008   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[1], 1);
27009   __builtin_aarch64_st1x2v2di ((__builtin_aarch64_simd_di *) __a, __o);
27010 }
27011 
27012 __extension__ extern __inline void
27013 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16_x2(float16_t * __a,float16x8x2_t __val)27014 vst1q_f16_x2 (float16_t * __a, float16x8x2_t __val)
27015 {
27016   __builtin_aarch64_simd_oi __o;
27017   __o = __builtin_aarch64_set_qregoiv8hf (__o, __val.val[0], 0);
27018   __o = __builtin_aarch64_set_qregoiv8hf (__o, __val.val[1], 1);
27019   __builtin_aarch64_st1x2v8hf (__a, __o);
27020 }
27021 
27022 __extension__ extern __inline void
27023 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32_x2(float32_t * __a,float32x4x2_t __val)27024 vst1q_f32_x2 (float32_t * __a, float32x4x2_t __val)
27025 {
27026   __builtin_aarch64_simd_oi __o;
27027   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __val.val[0], 0);
27028   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __val.val[1], 1);
27029   __builtin_aarch64_st1x2v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
27030 }
27031 
27032 __extension__ extern __inline void
27033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f64_x2(float64_t * __a,float64x2x2_t __val)27034 vst1q_f64_x2 (float64_t * __a, float64x2x2_t __val)
27035 {
27036   __builtin_aarch64_simd_oi __o;
27037   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __val.val[0], 0);
27038   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __val.val[1], 1);
27039   __builtin_aarch64_st1x2v2df ((__builtin_aarch64_simd_df *) __a, __o);
27040 }
27041 
27042 __extension__ extern __inline void
27043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64_x2(poly64_t * __a,poly64x2x2_t __val)27044 vst1q_p64_x2 (poly64_t * __a, poly64x2x2_t __val)
27045 {
27046   __builtin_aarch64_simd_oi __o;
27047   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
27048 					       (poly64x2_t) __val.val[0], 0);
27049   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
27050 					       (poly64x2_t) __val.val[1], 1);
27051   __builtin_aarch64_st1x2v2di ((__builtin_aarch64_simd_di *) __a, __o);
27052 }
27053 
27054 /* vst1x3 */
27055 
27056 __extension__ extern __inline void
27057 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64_x3(int64_t * __a,int64x1x3_t __val)27058 vst1_s64_x3 (int64_t * __a, int64x1x3_t __val)
27059 {
27060   __builtin_aarch64_simd_ci __o;
27061   int64x2x3_t __temp;
27062   __temp.val[0] = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
27063   __temp.val[1] = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
27064   __temp.val[2] = vcombine_s64 (__val.val[2], vcreate_s64 (__AARCH64_INT64_C (0)));
27065   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[0], 0);
27066   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[1], 1);
27067   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[2], 2);
27068   __builtin_aarch64_st1x3di ((__builtin_aarch64_simd_di *) __a, __o);
27069 }
27070 
27071 __extension__ extern __inline void
27072 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64_x3(uint64_t * __a,uint64x1x3_t __val)27073 vst1_u64_x3 (uint64_t * __a, uint64x1x3_t __val)
27074 {
27075   __builtin_aarch64_simd_ci __o;
27076   uint64x2x3_t __temp;
27077   __temp.val[0] = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
27078   __temp.val[1] = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
27079   __temp.val[2] = vcombine_u64 (__val.val[2], vcreate_u64 (__AARCH64_UINT64_C (0)));
27080   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[0], 0);
27081   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[1], 1);
27082   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[2], 2);
27083   __builtin_aarch64_st1x3di ((__builtin_aarch64_simd_di *) __a, __o);
27084 }
27085 
27086 __extension__ extern __inline void
27087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f64_x3(float64_t * __a,float64x1x3_t __val)27088 vst1_f64_x3 (float64_t * __a, float64x1x3_t __val)
27089 {
27090   __builtin_aarch64_simd_ci __o;
27091   float64x2x3_t __temp;
27092   __temp.val[0] = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
27093   __temp.val[1] = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
27094   __temp.val[2] = vcombine_f64 (__val.val[2], vcreate_f64 (__AARCH64_UINT64_C (0)));
27095   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[0], 0);
27096   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[1], 1);
27097   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[2], 2);
27098   __builtin_aarch64_st1x3df ((__builtin_aarch64_simd_df *) __a, __o);
27099 }
27100 
27101 __extension__ extern __inline void
27102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8_x3(int8_t * __a,int8x8x3_t __val)27103 vst1_s8_x3 (int8_t * __a, int8x8x3_t __val)
27104 {
27105   __builtin_aarch64_simd_ci __o;
27106   int8x16x3_t __temp;
27107   __temp.val[0] = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
27108   __temp.val[1] = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
27109   __temp.val[2] = vcombine_s8 (__val.val[2], vcreate_s8 (__AARCH64_INT64_C (0)));
27110   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
27111   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
27112   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
27113   __builtin_aarch64_st1x3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
27114 }
27115 
27116 __extension__ extern __inline void
27117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8_x3(poly8_t * __a,poly8x8x3_t __val)27118 vst1_p8_x3 (poly8_t * __a, poly8x8x3_t __val)
27119 {
27120   __builtin_aarch64_simd_ci __o;
27121   poly8x16x3_t __temp;
27122   __temp.val[0] = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
27123   __temp.val[1] = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
27124   __temp.val[2] = vcombine_p8 (__val.val[2], vcreate_p8 (__AARCH64_UINT64_C (0)));
27125   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
27126   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
27127   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
27128   __builtin_aarch64_st1x3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
27129 }
27130 
27131 __extension__ extern __inline void
27132 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16_x3(int16_t * __a,int16x4x3_t __val)27133 vst1_s16_x3 (int16_t * __a, int16x4x3_t __val)
27134 {
27135   __builtin_aarch64_simd_ci __o;
27136   int16x8x3_t __temp;
27137   __temp.val[0] = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
27138   __temp.val[1] = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
27139   __temp.val[2] = vcombine_s16 (__val.val[2], vcreate_s16 (__AARCH64_INT64_C (0)));
27140   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
27141   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
27142   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
27143   __builtin_aarch64_st1x3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
27144 }
27145 
27146 __extension__ extern __inline void
27147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16_x3(poly16_t * __a,poly16x4x3_t __val)27148 vst1_p16_x3 (poly16_t * __a, poly16x4x3_t __val)
27149 {
27150   __builtin_aarch64_simd_ci __o;
27151   poly16x8x3_t __temp;
27152   __temp.val[0] = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
27153   __temp.val[1] = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
27154   __temp.val[2] = vcombine_p16 (__val.val[2], vcreate_p16 (__AARCH64_UINT64_C (0)));
27155   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
27156   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
27157   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
27158   __builtin_aarch64_st1x3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
27159 }
27160 
27161 __extension__ extern __inline void
27162 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32_x3(int32_t * __a,int32x2x3_t __val)27163 vst1_s32_x3 (int32_t * __a, int32x2x3_t __val)
27164 {
27165   __builtin_aarch64_simd_ci __o;
27166   int32x4x3_t __temp;
27167   __temp.val[0] = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
27168   __temp.val[1] = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
27169   __temp.val[2] = vcombine_s32 (__val.val[2], vcreate_s32 (__AARCH64_INT64_C (0)));
27170   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[0], 0);
27171   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[1], 1);
27172   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[2], 2);
27173   __builtin_aarch64_st1x3v2si ((__builtin_aarch64_simd_si *) __a, __o);
27174 }
27175 
27176 __extension__ extern __inline void
27177 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8_x3(uint8_t * __a,uint8x8x3_t __val)27178 vst1_u8_x3 (uint8_t * __a, uint8x8x3_t __val)
27179 {
27180   __builtin_aarch64_simd_ci __o;
27181   uint8x16x3_t __temp;
27182   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
27183   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
27184   __temp.val[2] = vcombine_u8 (__val.val[2], vcreate_u8 (__AARCH64_UINT64_C (0)));
27185   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
27186   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
27187   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
27188   __builtin_aarch64_st1x3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
27189 }
27190 
27191 __extension__ extern __inline void
27192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16_x3(uint16_t * __a,uint16x4x3_t __val)27193 vst1_u16_x3 (uint16_t * __a, uint16x4x3_t __val)
27194 {
27195   __builtin_aarch64_simd_ci __o;
27196   uint16x8x3_t __temp;
27197   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
27198   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
27199   __temp.val[2] = vcombine_u16 (__val.val[2], vcreate_u16 (__AARCH64_UINT64_C (0)));
27200   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
27201   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
27202   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
27203   __builtin_aarch64_st1x3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
27204 }
27205 
27206 __extension__ extern __inline void
27207 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32_x3(uint32_t * __a,uint32x2x3_t __val)27208 vst1_u32_x3 (uint32_t * __a, uint32x2x3_t __val)
27209 {
27210   __builtin_aarch64_simd_ci __o;
27211   uint32x4x3_t __temp;
27212   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
27213   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
27214   __temp.val[2] = vcombine_u32 (__val.val[2], vcreate_u32 (__AARCH64_UINT64_C (0)));
27215   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[0], 0);
27216   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[1], 1);
27217   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[2], 2);
27218   __builtin_aarch64_st1x3v2si ((__builtin_aarch64_simd_si *) __a, __o);
27219 }
27220 
27221 __extension__ extern __inline void
27222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16_x3(float16_t * __a,float16x4x3_t __val)27223 vst1_f16_x3 (float16_t * __a, float16x4x3_t __val)
27224 {
27225   __builtin_aarch64_simd_ci __o;
27226   float16x8x3_t __temp;
27227   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
27228   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
27229   __temp.val[2] = vcombine_f16 (__val.val[2], vcreate_f16 (__AARCH64_UINT64_C (0)));
27230   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[0], 0);
27231   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[1], 1);
27232   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[2], 2);
27233   __builtin_aarch64_st1x3v4hf ((__builtin_aarch64_simd_hf *) __a, __o);
27234 }
27235 
27236 __extension__ extern __inline void
27237 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32_x3(float32_t * __a,float32x2x3_t __val)27238 vst1_f32_x3 (float32_t * __a, float32x2x3_t __val)
27239 {
27240   __builtin_aarch64_simd_ci __o;
27241   float32x4x3_t __temp;
27242   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
27243   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
27244   __temp.val[2] = vcombine_f32 (__val.val[2], vcreate_f32 (__AARCH64_UINT64_C (0)));
27245   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[0], 0);
27246   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[1], 1);
27247   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[2], 2);
27248   __builtin_aarch64_st1x3v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
27249 }
27250 
27251 __extension__ extern __inline void
27252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64_x3(poly64_t * __a,poly64x1x3_t __val)27253 vst1_p64_x3 (poly64_t * __a, poly64x1x3_t __val)
27254 {
27255   __builtin_aarch64_simd_ci __o;
27256   poly64x2x3_t __temp;
27257   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
27258   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
27259   __temp.val[2] = vcombine_p64 (__val.val[2], vcreate_p64 (__AARCH64_UINT64_C (0)));
27260   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
27261 					       (poly64x2_t) __temp.val[0], 0);
27262   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
27263 					       (poly64x2_t) __temp.val[1], 1);
27264   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
27265 					       (poly64x2_t) __temp.val[2], 2);
27266   __builtin_aarch64_st1x3di ((__builtin_aarch64_simd_di *) __a, __o);
27267 }
27268 
27269 __extension__ extern __inline void
27270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8_x3(int8_t * __a,int8x16x3_t __val)27271 vst1q_s8_x3 (int8_t * __a, int8x16x3_t __val)
27272 {
27273   __builtin_aarch64_simd_ci __o;
27274   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
27275   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
27276   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
27277   __builtin_aarch64_st1x3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
27278 }
27279 
27280 __extension__ extern __inline void
27281 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8_x3(poly8_t * __a,poly8x16x3_t __val)27282 vst1q_p8_x3 (poly8_t * __a, poly8x16x3_t __val)
27283 {
27284   __builtin_aarch64_simd_ci __o;
27285   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
27286   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
27287   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
27288   __builtin_aarch64_st1x3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
27289 }
27290 
27291 __extension__ extern __inline void
27292 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16_x3(int16_t * __a,int16x8x3_t __val)27293 vst1q_s16_x3 (int16_t * __a, int16x8x3_t __val)
27294 {
27295   __builtin_aarch64_simd_ci __o;
27296   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
27297   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
27298   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
27299   __builtin_aarch64_st1x3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
27300 }
27301 
27302 __extension__ extern __inline void
27303 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16_x3(poly16_t * __a,poly16x8x3_t __val)27304 vst1q_p16_x3 (poly16_t * __a, poly16x8x3_t __val)
27305 {
27306   __builtin_aarch64_simd_ci __o;
27307   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
27308   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
27309   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
27310   __builtin_aarch64_st1x3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
27311 }
27312 
27313 __extension__ extern __inline void
27314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32_x3(int32_t * __a,int32x4x3_t __val)27315 vst1q_s32_x3 (int32_t * __a, int32x4x3_t __val)
27316 {
27317   __builtin_aarch64_simd_ci __o;
27318   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[0], 0);
27319   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[1], 1);
27320   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[2], 2);
27321   __builtin_aarch64_st1x3v4si ((__builtin_aarch64_simd_si *) __a, __o);
27322 }
27323 
27324 __extension__ extern __inline void
27325 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64_x3(int64_t * __a,int64x2x3_t __val)27326 vst1q_s64_x3 (int64_t * __a, int64x2x3_t __val)
27327 {
27328   __builtin_aarch64_simd_ci __o;
27329   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[0], 0);
27330   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[1], 1);
27331   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[2], 2);
27332   __builtin_aarch64_st1x3v2di ((__builtin_aarch64_simd_di *) __a, __o);
27333 }
27334 
27335 __extension__ extern __inline void
27336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8_x3(uint8_t * __a,uint8x16x3_t __val)27337 vst1q_u8_x3 (uint8_t * __a, uint8x16x3_t __val)
27338 {
27339   __builtin_aarch64_simd_ci __o;
27340   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
27341   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
27342   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
27343   __builtin_aarch64_st1x3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
27344 }
27345 
27346 __extension__ extern __inline void
27347 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16_x3(uint16_t * __a,uint16x8x3_t __val)27348 vst1q_u16_x3 (uint16_t * __a, uint16x8x3_t __val)
27349 {
27350   __builtin_aarch64_simd_ci __o;
27351   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
27352   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
27353   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
27354   __builtin_aarch64_st1x3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
27355 }
27356 
27357 __extension__ extern __inline void
27358 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32_x3(uint32_t * __a,uint32x4x3_t __val)27359 vst1q_u32_x3 (uint32_t * __a, uint32x4x3_t __val)
27360 {
27361   __builtin_aarch64_simd_ci __o;
27362   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[0], 0);
27363   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[1], 1);
27364   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[2], 2);
27365   __builtin_aarch64_st1x3v4si ((__builtin_aarch64_simd_si *) __a, __o);
27366 }
27367 
27368 __extension__ extern __inline void
27369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64_x3(uint64_t * __a,uint64x2x3_t __val)27370 vst1q_u64_x3 (uint64_t * __a, uint64x2x3_t __val)
27371 {
27372   __builtin_aarch64_simd_ci __o;
27373   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[0], 0);
27374   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[1], 1);
27375   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[2], 2);
27376   __builtin_aarch64_st1x3v2di ((__builtin_aarch64_simd_di *) __a, __o);
27377 }
27378 
27379 __extension__ extern __inline void
27380 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16_x3(float16_t * __a,float16x8x3_t __val)27381 vst1q_f16_x3 (float16_t * __a, float16x8x3_t __val)
27382 {
27383   __builtin_aarch64_simd_ci __o;
27384   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[0], 0);
27385   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[1], 1);
27386   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[2], 2);
27387   __builtin_aarch64_st1x3v8hf ((__builtin_aarch64_simd_hf *) __a, __o);
27388 }
27389 
27390 __extension__ extern __inline void
27391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32_x3(float32_t * __a,float32x4x3_t __val)27392 vst1q_f32_x3 (float32_t * __a, float32x4x3_t __val)
27393 {
27394   __builtin_aarch64_simd_ci __o;
27395   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[0], 0);
27396   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[1], 1);
27397   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[2], 2);
27398   __builtin_aarch64_st1x3v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
27399 }
27400 
27401 __extension__ extern __inline void
27402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f64_x3(float64_t * __a,float64x2x3_t __val)27403 vst1q_f64_x3 (float64_t * __a, float64x2x3_t __val)
27404 {
27405   __builtin_aarch64_simd_ci __o;
27406   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[0], 0);
27407   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[1], 1);
27408   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[2], 2);
27409   __builtin_aarch64_st1x3v2df ((__builtin_aarch64_simd_df *) __a, __o);
27410 }
27411 
27412 __extension__ extern __inline void
27413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64_x3(poly64_t * __a,poly64x2x3_t __val)27414 vst1q_p64_x3 (poly64_t * __a, poly64x2x3_t __val)
27415 {
27416   __builtin_aarch64_simd_ci __o;
27417   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
27418 					       (poly64x2_t) __val.val[0], 0);
27419   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
27420 					       (poly64x2_t) __val.val[1], 1);
27421   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
27422 					       (poly64x2_t) __val.val[2], 2);
27423   __builtin_aarch64_st1x3v2di ((__builtin_aarch64_simd_di *) __a, __o);
27424 }
27425 
27426 /* vst1(q)_x4.  */
27427 
27428 __extension__ extern __inline void
27429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s8_x4(int8_t * __a,int8x8x4_t val)27430 vst1_s8_x4 (int8_t * __a, int8x8x4_t val)
27431 {
27432   union { int8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27433   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
27434 }
27435 
27436 __extension__ extern __inline void
27437 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s8_x4(int8_t * __a,int8x16x4_t val)27438 vst1q_s8_x4 (int8_t * __a, int8x16x4_t val)
27439 {
27440   union { int8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27441   __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
27442 }
27443 
27444 __extension__ extern __inline void
27445 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s16_x4(int16_t * __a,int16x4x4_t val)27446 vst1_s16_x4 (int16_t * __a, int16x4x4_t val)
27447 {
27448   union { int16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27449   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
27450 }
27451 
27452 __extension__ extern __inline void
27453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s16_x4(int16_t * __a,int16x8x4_t val)27454 vst1q_s16_x4 (int16_t * __a, int16x8x4_t val)
27455 {
27456   union { int16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27457   __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
27458 }
27459 
27460 __extension__ extern __inline void
27461 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s32_x4(int32_t * __a,int32x2x4_t val)27462 vst1_s32_x4 (int32_t * __a, int32x2x4_t val)
27463 {
27464   union { int32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27465   __builtin_aarch64_st1x4v2si ((__builtin_aarch64_simd_si *) __a, __u.__o);
27466 }
27467 
27468 __extension__ extern __inline void
27469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s32_x4(int32_t * __a,int32x4x4_t val)27470 vst1q_s32_x4 (int32_t * __a, int32x4x4_t val)
27471 {
27472   union { int32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27473   __builtin_aarch64_st1x4v4si ((__builtin_aarch64_simd_si *) __a, __u.__o);
27474 }
27475 
27476 __extension__ extern __inline void
27477 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u8_x4(uint8_t * __a,uint8x8x4_t val)27478 vst1_u8_x4 (uint8_t * __a, uint8x8x4_t val)
27479 {
27480   union { uint8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27481   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
27482 }
27483 
27484 __extension__ extern __inline void
27485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u8_x4(uint8_t * __a,uint8x16x4_t val)27486 vst1q_u8_x4 (uint8_t * __a, uint8x16x4_t val)
27487 {
27488   union { uint8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27489   __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
27490 }
27491 
27492 __extension__ extern __inline void
27493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u16_x4(uint16_t * __a,uint16x4x4_t val)27494 vst1_u16_x4 (uint16_t * __a, uint16x4x4_t val)
27495 {
27496   union { uint16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27497   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
27498 }
27499 
27500 __extension__ extern __inline void
27501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u16_x4(uint16_t * __a,uint16x8x4_t val)27502 vst1q_u16_x4 (uint16_t * __a, uint16x8x4_t val)
27503 {
27504   union { uint16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27505   __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
27506 }
27507 
27508 __extension__ extern __inline void
27509 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u32_x4(uint32_t * __a,uint32x2x4_t val)27510 vst1_u32_x4 (uint32_t * __a, uint32x2x4_t val)
27511 {
27512   union { uint32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27513   __builtin_aarch64_st1x4v2si ((__builtin_aarch64_simd_si *) __a, __u.__o);
27514 }
27515 
27516 __extension__ extern __inline void
27517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u32_x4(uint32_t * __a,uint32x4x4_t val)27518 vst1q_u32_x4 (uint32_t * __a, uint32x4x4_t val)
27519 {
27520   union { uint32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27521   __builtin_aarch64_st1x4v4si ((__builtin_aarch64_simd_si *) __a, __u.__o);
27522 }
27523 
27524 __extension__ extern __inline void
27525 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f16_x4(float16_t * __a,float16x4x4_t val)27526 vst1_f16_x4 (float16_t * __a, float16x4x4_t val)
27527 {
27528   union { float16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27529   __builtin_aarch64_st1x4v4hf ((__builtin_aarch64_simd_hf *) __a, __u.__o);
27530 }
27531 
27532 __extension__ extern __inline void
27533 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f16_x4(float16_t * __a,float16x8x4_t val)27534 vst1q_f16_x4 (float16_t * __a, float16x8x4_t val)
27535 {
27536   union { float16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27537   __builtin_aarch64_st1x4v8hf ((__builtin_aarch64_simd_hf *) __a, __u.__o);
27538 }
27539 
27540 __extension__ extern __inline void
27541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f32_x4(float32_t * __a,float32x2x4_t val)27542 vst1_f32_x4 (float32_t * __a, float32x2x4_t val)
27543 {
27544   union { float32x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27545   __builtin_aarch64_st1x4v2sf ((__builtin_aarch64_simd_sf *) __a, __u.__o);
27546 }
27547 
27548 __extension__ extern __inline void
27549 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f32_x4(float32_t * __a,float32x4x4_t val)27550 vst1q_f32_x4 (float32_t * __a, float32x4x4_t val)
27551 {
27552   union { float32x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27553   __builtin_aarch64_st1x4v4sf ((__builtin_aarch64_simd_sf *) __a, __u.__o);
27554 }
27555 
27556 __extension__ extern __inline void
27557 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p8_x4(poly8_t * __a,poly8x8x4_t val)27558 vst1_p8_x4 (poly8_t * __a, poly8x8x4_t val)
27559 {
27560   union { poly8x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27561   __builtin_aarch64_st1x4v8qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
27562 }
27563 
27564 __extension__ extern __inline void
27565 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p8_x4(poly8_t * __a,poly8x16x4_t val)27566 vst1q_p8_x4 (poly8_t * __a, poly8x16x4_t val)
27567 {
27568   union { poly8x16x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27569   __builtin_aarch64_st1x4v16qi ((__builtin_aarch64_simd_qi *) __a, __u.__o);
27570 }
27571 
27572 __extension__ extern __inline void
27573 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p16_x4(poly16_t * __a,poly16x4x4_t val)27574 vst1_p16_x4 (poly16_t * __a, poly16x4x4_t val)
27575 {
27576   union { poly16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27577   __builtin_aarch64_st1x4v4hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
27578 }
27579 
27580 __extension__ extern __inline void
27581 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p16_x4(poly16_t * __a,poly16x8x4_t val)27582 vst1q_p16_x4 (poly16_t * __a, poly16x8x4_t val)
27583 {
27584   union { poly16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27585   __builtin_aarch64_st1x4v8hi ((__builtin_aarch64_simd_hi *) __a, __u.__o);
27586 }
27587 
27588 __extension__ extern __inline void
27589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_s64_x4(int64_t * __a,int64x1x4_t val)27590 vst1_s64_x4 (int64_t * __a, int64x1x4_t val)
27591 {
27592   union { int64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27593   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __u.__o);
27594 }
27595 
27596 __extension__ extern __inline void
27597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_u64_x4(uint64_t * __a,uint64x1x4_t val)27598 vst1_u64_x4 (uint64_t * __a, uint64x1x4_t val)
27599 {
27600   union { uint64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27601   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __u.__o);
27602 }
27603 
27604 __extension__ extern __inline void
27605 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_p64_x4(poly64_t * __a,poly64x1x4_t val)27606 vst1_p64_x4 (poly64_t * __a, poly64x1x4_t val)
27607 {
27608   union { poly64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27609   __builtin_aarch64_st1x4di ((__builtin_aarch64_simd_di *) __a, __u.__o);
27610 }
27611 
27612 __extension__ extern __inline void
27613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_s64_x4(int64_t * __a,int64x2x4_t val)27614 vst1q_s64_x4 (int64_t * __a, int64x2x4_t val)
27615 {
27616   union { int64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27617   __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
27618 }
27619 
27620 __extension__ extern __inline void
27621 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_u64_x4(uint64_t * __a,uint64x2x4_t val)27622 vst1q_u64_x4 (uint64_t * __a, uint64x2x4_t val)
27623 {
27624   union { uint64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27625   __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
27626 }
27627 
27628 __extension__ extern __inline void
27629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_p64_x4(poly64_t * __a,poly64x2x4_t val)27630 vst1q_p64_x4 (poly64_t * __a, poly64x2x4_t val)
27631 {
27632   union { poly64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27633   __builtin_aarch64_st1x4v2di ((__builtin_aarch64_simd_di *) __a, __u.__o);
27634 }
27635 
27636 __extension__ extern __inline void
27637 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_f64_x4(float64_t * __a,float64x1x4_t val)27638 vst1_f64_x4 (float64_t * __a, float64x1x4_t val)
27639 {
27640   union { float64x1x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27641   __builtin_aarch64_st1x4df ((__builtin_aarch64_simd_df *) __a, __u.__o);
27642 }
27643 
27644 __extension__ extern __inline void
27645 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_f64_x4(float64_t * __a,float64x2x4_t val)27646 vst1q_f64_x4 (float64_t * __a, float64x2x4_t val)
27647 {
27648   union { float64x2x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
27649   __builtin_aarch64_st1x4v2df ((__builtin_aarch64_simd_df *) __a, __u.__o);
27650 }
27651 
27652 /* vstn */
27653 
27654 __extension__ extern __inline void
27655 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s64(int64_t * __a,int64x1x2_t __val)27656 vst2_s64 (int64_t * __a, int64x1x2_t __val)
27657 {
27658   __builtin_aarch64_simd_oi __o;
27659   int64x2x2_t __temp;
27660   __temp.val[0] = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
27661   __temp.val[1] = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
27662   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[0], 0);
27663   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[1], 1);
27664   __builtin_aarch64_st2di ((__builtin_aarch64_simd_di *) __a, __o);
27665 }
27666 
27667 __extension__ extern __inline void
27668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u64(uint64_t * __a,uint64x1x2_t __val)27669 vst2_u64 (uint64_t * __a, uint64x1x2_t __val)
27670 {
27671   __builtin_aarch64_simd_oi __o;
27672   uint64x2x2_t __temp;
27673   __temp.val[0] = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
27674   __temp.val[1] = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
27675   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[0], 0);
27676   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __temp.val[1], 1);
27677   __builtin_aarch64_st2di ((__builtin_aarch64_simd_di *) __a, __o);
27678 }
27679 
27680 __extension__ extern __inline void
27681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_f64(float64_t * __a,float64x1x2_t __val)27682 vst2_f64 (float64_t * __a, float64x1x2_t __val)
27683 {
27684   __builtin_aarch64_simd_oi __o;
27685   float64x2x2_t __temp;
27686   __temp.val[0] = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
27687   __temp.val[1] = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
27688   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __temp.val[0], 0);
27689   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __temp.val[1], 1);
27690   __builtin_aarch64_st2df ((__builtin_aarch64_simd_df *) __a, __o);
27691 }
27692 
27693 __extension__ extern __inline void
27694 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s8(int8_t * __a,int8x8x2_t __val)27695 vst2_s8 (int8_t * __a, int8x8x2_t __val)
27696 {
27697   __builtin_aarch64_simd_oi __o;
27698   int8x16x2_t __temp;
27699   __temp.val[0] = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
27700   __temp.val[1] = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
27701   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
27702   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
27703   __builtin_aarch64_st2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
27704 }
27705 
27706 __extension__ extern __inline void
27707 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p8(poly8_t * __a,poly8x8x2_t __val)27708 vst2_p8 (poly8_t * __a, poly8x8x2_t __val)
27709 {
27710   __builtin_aarch64_simd_oi __o;
27711   poly8x16x2_t __temp;
27712   __temp.val[0] = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
27713   __temp.val[1] = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
27714   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
27715   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
27716   __builtin_aarch64_st2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
27717 }
27718 
27719 __extension__ extern __inline void
27720 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s16(int16_t * __a,int16x4x2_t __val)27721 vst2_s16 (int16_t * __a, int16x4x2_t __val)
27722 {
27723   __builtin_aarch64_simd_oi __o;
27724   int16x8x2_t __temp;
27725   __temp.val[0] = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
27726   __temp.val[1] = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
27727   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
27728   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
27729   __builtin_aarch64_st2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
27730 }
27731 
27732 __extension__ extern __inline void
27733 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p16(poly16_t * __a,poly16x4x2_t __val)27734 vst2_p16 (poly16_t * __a, poly16x4x2_t __val)
27735 {
27736   __builtin_aarch64_simd_oi __o;
27737   poly16x8x2_t __temp;
27738   __temp.val[0] = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
27739   __temp.val[1] = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
27740   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
27741   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
27742   __builtin_aarch64_st2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
27743 }
27744 
27745 __extension__ extern __inline void
27746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_s32(int32_t * __a,int32x2x2_t __val)27747 vst2_s32 (int32_t * __a, int32x2x2_t __val)
27748 {
27749   __builtin_aarch64_simd_oi __o;
27750   int32x4x2_t __temp;
27751   __temp.val[0] = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
27752   __temp.val[1] = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
27753   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[0], 0);
27754   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[1], 1);
27755   __builtin_aarch64_st2v2si ((__builtin_aarch64_simd_si *) __a, __o);
27756 }
27757 
27758 __extension__ extern __inline void
27759 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u8(uint8_t * __a,uint8x8x2_t __val)27760 vst2_u8 (uint8_t * __a, uint8x8x2_t __val)
27761 {
27762   __builtin_aarch64_simd_oi __o;
27763   uint8x16x2_t __temp;
27764   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
27765   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
27766   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[0], 0);
27767   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __temp.val[1], 1);
27768   __builtin_aarch64_st2v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
27769 }
27770 
27771 __extension__ extern __inline void
27772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u16(uint16_t * __a,uint16x4x2_t __val)27773 vst2_u16 (uint16_t * __a, uint16x4x2_t __val)
27774 {
27775   __builtin_aarch64_simd_oi __o;
27776   uint16x8x2_t __temp;
27777   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
27778   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
27779   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[0], 0);
27780   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __temp.val[1], 1);
27781   __builtin_aarch64_st2v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
27782 }
27783 
27784 __extension__ extern __inline void
27785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_u32(uint32_t * __a,uint32x2x2_t __val)27786 vst2_u32 (uint32_t * __a, uint32x2x2_t __val)
27787 {
27788   __builtin_aarch64_simd_oi __o;
27789   uint32x4x2_t __temp;
27790   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
27791   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
27792   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[0], 0);
27793   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __temp.val[1], 1);
27794   __builtin_aarch64_st2v2si ((__builtin_aarch64_simd_si *) __a, __o);
27795 }
27796 
27797 __extension__ extern __inline void
27798 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_f16(float16_t * __a,float16x4x2_t __val)27799 vst2_f16 (float16_t * __a, float16x4x2_t __val)
27800 {
27801   __builtin_aarch64_simd_oi __o;
27802   float16x8x2_t __temp;
27803   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
27804   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
27805   __o = __builtin_aarch64_set_qregoiv8hf (__o, __temp.val[0], 0);
27806   __o = __builtin_aarch64_set_qregoiv8hf (__o, __temp.val[1], 1);
27807   __builtin_aarch64_st2v4hf (__a, __o);
27808 }
27809 
27810 __extension__ extern __inline void
27811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_f32(float32_t * __a,float32x2x2_t __val)27812 vst2_f32 (float32_t * __a, float32x2x2_t __val)
27813 {
27814   __builtin_aarch64_simd_oi __o;
27815   float32x4x2_t __temp;
27816   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
27817   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
27818   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __temp.val[0], 0);
27819   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __temp.val[1], 1);
27820   __builtin_aarch64_st2v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
27821 }
27822 
27823 __extension__ extern __inline void
27824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_p64(poly64_t * __a,poly64x1x2_t __val)27825 vst2_p64 (poly64_t * __a, poly64x1x2_t __val)
27826 {
27827   __builtin_aarch64_simd_oi __o;
27828   poly64x2x2_t __temp;
27829   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
27830   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
27831   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
27832 					       (poly64x2_t) __temp.val[0], 0);
27833   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
27834 					       (poly64x2_t) __temp.val[1], 1);
27835   __builtin_aarch64_st2di ((__builtin_aarch64_simd_di *) __a, __o);
27836 }
27837 
27838 __extension__ extern __inline void
27839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s8(int8_t * __a,int8x16x2_t __val)27840 vst2q_s8 (int8_t * __a, int8x16x2_t __val)
27841 {
27842   __builtin_aarch64_simd_oi __o;
27843   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
27844   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
27845   __builtin_aarch64_st2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
27846 }
27847 
27848 __extension__ extern __inline void
27849 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_p8(poly8_t * __a,poly8x16x2_t __val)27850 vst2q_p8 (poly8_t * __a, poly8x16x2_t __val)
27851 {
27852   __builtin_aarch64_simd_oi __o;
27853   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
27854   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
27855   __builtin_aarch64_st2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
27856 }
27857 
27858 __extension__ extern __inline void
27859 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s16(int16_t * __a,int16x8x2_t __val)27860 vst2q_s16 (int16_t * __a, int16x8x2_t __val)
27861 {
27862   __builtin_aarch64_simd_oi __o;
27863   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
27864   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
27865   __builtin_aarch64_st2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
27866 }
27867 
27868 __extension__ extern __inline void
27869 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_p16(poly16_t * __a,poly16x8x2_t __val)27870 vst2q_p16 (poly16_t * __a, poly16x8x2_t __val)
27871 {
27872   __builtin_aarch64_simd_oi __o;
27873   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
27874   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
27875   __builtin_aarch64_st2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
27876 }
27877 
27878 __extension__ extern __inline void
27879 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s32(int32_t * __a,int32x4x2_t __val)27880 vst2q_s32 (int32_t * __a, int32x4x2_t __val)
27881 {
27882   __builtin_aarch64_simd_oi __o;
27883   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[0], 0);
27884   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[1], 1);
27885   __builtin_aarch64_st2v4si ((__builtin_aarch64_simd_si *) __a, __o);
27886 }
27887 
27888 __extension__ extern __inline void
27889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_s64(int64_t * __a,int64x2x2_t __val)27890 vst2q_s64 (int64_t * __a, int64x2x2_t __val)
27891 {
27892   __builtin_aarch64_simd_oi __o;
27893   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[0], 0);
27894   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[1], 1);
27895   __builtin_aarch64_st2v2di ((__builtin_aarch64_simd_di *) __a, __o);
27896 }
27897 
27898 __extension__ extern __inline void
27899 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u8(uint8_t * __a,uint8x16x2_t __val)27900 vst2q_u8 (uint8_t * __a, uint8x16x2_t __val)
27901 {
27902   __builtin_aarch64_simd_oi __o;
27903   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[0], 0);
27904   __o = __builtin_aarch64_set_qregoiv16qi (__o, (int8x16_t) __val.val[1], 1);
27905   __builtin_aarch64_st2v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
27906 }
27907 
27908 __extension__ extern __inline void
27909 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u16(uint16_t * __a,uint16x8x2_t __val)27910 vst2q_u16 (uint16_t * __a, uint16x8x2_t __val)
27911 {
27912   __builtin_aarch64_simd_oi __o;
27913   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[0], 0);
27914   __o = __builtin_aarch64_set_qregoiv8hi (__o, (int16x8_t) __val.val[1], 1);
27915   __builtin_aarch64_st2v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
27916 }
27917 
27918 __extension__ extern __inline void
27919 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u32(uint32_t * __a,uint32x4x2_t __val)27920 vst2q_u32 (uint32_t * __a, uint32x4x2_t __val)
27921 {
27922   __builtin_aarch64_simd_oi __o;
27923   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[0], 0);
27924   __o = __builtin_aarch64_set_qregoiv4si (__o, (int32x4_t) __val.val[1], 1);
27925   __builtin_aarch64_st2v4si ((__builtin_aarch64_simd_si *) __a, __o);
27926 }
27927 
27928 __extension__ extern __inline void
27929 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_u64(uint64_t * __a,uint64x2x2_t __val)27930 vst2q_u64 (uint64_t * __a, uint64x2x2_t __val)
27931 {
27932   __builtin_aarch64_simd_oi __o;
27933   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[0], 0);
27934   __o = __builtin_aarch64_set_qregoiv2di (__o, (int64x2_t) __val.val[1], 1);
27935   __builtin_aarch64_st2v2di ((__builtin_aarch64_simd_di *) __a, __o);
27936 }
27937 
27938 __extension__ extern __inline void
27939 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_f16(float16_t * __a,float16x8x2_t __val)27940 vst2q_f16 (float16_t * __a, float16x8x2_t __val)
27941 {
27942   __builtin_aarch64_simd_oi __o;
27943   __o = __builtin_aarch64_set_qregoiv8hf (__o, __val.val[0], 0);
27944   __o = __builtin_aarch64_set_qregoiv8hf (__o, __val.val[1], 1);
27945   __builtin_aarch64_st2v8hf (__a, __o);
27946 }
27947 
27948 __extension__ extern __inline void
27949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_f32(float32_t * __a,float32x4x2_t __val)27950 vst2q_f32 (float32_t * __a, float32x4x2_t __val)
27951 {
27952   __builtin_aarch64_simd_oi __o;
27953   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __val.val[0], 0);
27954   __o = __builtin_aarch64_set_qregoiv4sf (__o, (float32x4_t) __val.val[1], 1);
27955   __builtin_aarch64_st2v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
27956 }
27957 
27958 __extension__ extern __inline void
27959 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_f64(float64_t * __a,float64x2x2_t __val)27960 vst2q_f64 (float64_t * __a, float64x2x2_t __val)
27961 {
27962   __builtin_aarch64_simd_oi __o;
27963   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __val.val[0], 0);
27964   __o = __builtin_aarch64_set_qregoiv2df (__o, (float64x2_t) __val.val[1], 1);
27965   __builtin_aarch64_st2v2df ((__builtin_aarch64_simd_df *) __a, __o);
27966 }
27967 
27968 __extension__ extern __inline void
27969 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_p64(poly64_t * __a,poly64x2x2_t __val)27970 vst2q_p64 (poly64_t * __a, poly64x2x2_t __val)
27971 {
27972   __builtin_aarch64_simd_oi __o;
27973   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
27974 					       (poly64x2_t) __val.val[0], 0);
27975   __o = __builtin_aarch64_set_qregoiv2di_ssps (__o,
27976 					       (poly64x2_t) __val.val[1], 1);
27977   __builtin_aarch64_st2v2di ((__builtin_aarch64_simd_di *) __a, __o);
27978 }
27979 
27980 __extension__ extern __inline void
27981 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s64(int64_t * __a,int64x1x3_t __val)27982 vst3_s64 (int64_t * __a, int64x1x3_t __val)
27983 {
27984   __builtin_aarch64_simd_ci __o;
27985   int64x2x3_t __temp;
27986   __temp.val[0] = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
27987   __temp.val[1] = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
27988   __temp.val[2] = vcombine_s64 (__val.val[2], vcreate_s64 (__AARCH64_INT64_C (0)));
27989   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[0], 0);
27990   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[1], 1);
27991   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[2], 2);
27992   __builtin_aarch64_st3di ((__builtin_aarch64_simd_di *) __a, __o);
27993 }
27994 
27995 __extension__ extern __inline void
27996 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u64(uint64_t * __a,uint64x1x3_t __val)27997 vst3_u64 (uint64_t * __a, uint64x1x3_t __val)
27998 {
27999   __builtin_aarch64_simd_ci __o;
28000   uint64x2x3_t __temp;
28001   __temp.val[0] = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
28002   __temp.val[1] = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
28003   __temp.val[2] = vcombine_u64 (__val.val[2], vcreate_u64 (__AARCH64_UINT64_C (0)));
28004   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[0], 0);
28005   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[1], 1);
28006   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __temp.val[2], 2);
28007   __builtin_aarch64_st3di ((__builtin_aarch64_simd_di *) __a, __o);
28008 }
28009 
28010 __extension__ extern __inline void
28011 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_f64(float64_t * __a,float64x1x3_t __val)28012 vst3_f64 (float64_t * __a, float64x1x3_t __val)
28013 {
28014   __builtin_aarch64_simd_ci __o;
28015   float64x2x3_t __temp;
28016   __temp.val[0] = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
28017   __temp.val[1] = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
28018   __temp.val[2] = vcombine_f64 (__val.val[2], vcreate_f64 (__AARCH64_UINT64_C (0)));
28019   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[0], 0);
28020   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[1], 1);
28021   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __temp.val[2], 2);
28022   __builtin_aarch64_st3df ((__builtin_aarch64_simd_df *) __a, __o);
28023 }
28024 
28025 __extension__ extern __inline void
28026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s8(int8_t * __a,int8x8x3_t __val)28027 vst3_s8 (int8_t * __a, int8x8x3_t __val)
28028 {
28029   __builtin_aarch64_simd_ci __o;
28030   int8x16x3_t __temp;
28031   __temp.val[0] = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
28032   __temp.val[1] = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
28033   __temp.val[2] = vcombine_s8 (__val.val[2], vcreate_s8 (__AARCH64_INT64_C (0)));
28034   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
28035   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
28036   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
28037   __builtin_aarch64_st3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28038 }
28039 
28040 __extension__ extern __inline void
28041 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p8(poly8_t * __a,poly8x8x3_t __val)28042 vst3_p8 (poly8_t * __a, poly8x8x3_t __val)
28043 {
28044   __builtin_aarch64_simd_ci __o;
28045   poly8x16x3_t __temp;
28046   __temp.val[0] = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
28047   __temp.val[1] = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
28048   __temp.val[2] = vcombine_p8 (__val.val[2], vcreate_p8 (__AARCH64_UINT64_C (0)));
28049   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
28050   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
28051   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
28052   __builtin_aarch64_st3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28053 }
28054 
28055 __extension__ extern __inline void
28056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s16(int16_t * __a,int16x4x3_t __val)28057 vst3_s16 (int16_t * __a, int16x4x3_t __val)
28058 {
28059   __builtin_aarch64_simd_ci __o;
28060   int16x8x3_t __temp;
28061   __temp.val[0] = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
28062   __temp.val[1] = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
28063   __temp.val[2] = vcombine_s16 (__val.val[2], vcreate_s16 (__AARCH64_INT64_C (0)));
28064   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
28065   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
28066   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
28067   __builtin_aarch64_st3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28068 }
28069 
28070 __extension__ extern __inline void
28071 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p16(poly16_t * __a,poly16x4x3_t __val)28072 vst3_p16 (poly16_t * __a, poly16x4x3_t __val)
28073 {
28074   __builtin_aarch64_simd_ci __o;
28075   poly16x8x3_t __temp;
28076   __temp.val[0] = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
28077   __temp.val[1] = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
28078   __temp.val[2] = vcombine_p16 (__val.val[2], vcreate_p16 (__AARCH64_UINT64_C (0)));
28079   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
28080   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
28081   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
28082   __builtin_aarch64_st3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28083 }
28084 
28085 __extension__ extern __inline void
28086 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_s32(int32_t * __a,int32x2x3_t __val)28087 vst3_s32 (int32_t * __a, int32x2x3_t __val)
28088 {
28089   __builtin_aarch64_simd_ci __o;
28090   int32x4x3_t __temp;
28091   __temp.val[0] = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
28092   __temp.val[1] = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
28093   __temp.val[2] = vcombine_s32 (__val.val[2], vcreate_s32 (__AARCH64_INT64_C (0)));
28094   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[0], 0);
28095   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[1], 1);
28096   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[2], 2);
28097   __builtin_aarch64_st3v2si ((__builtin_aarch64_simd_si *) __a, __o);
28098 }
28099 
28100 __extension__ extern __inline void
28101 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u8(uint8_t * __a,uint8x8x3_t __val)28102 vst3_u8 (uint8_t * __a, uint8x8x3_t __val)
28103 {
28104   __builtin_aarch64_simd_ci __o;
28105   uint8x16x3_t __temp;
28106   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
28107   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
28108   __temp.val[2] = vcombine_u8 (__val.val[2], vcreate_u8 (__AARCH64_UINT64_C (0)));
28109   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[0], 0);
28110   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[1], 1);
28111   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __temp.val[2], 2);
28112   __builtin_aarch64_st3v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28113 }
28114 
28115 __extension__ extern __inline void
28116 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u16(uint16_t * __a,uint16x4x3_t __val)28117 vst3_u16 (uint16_t * __a, uint16x4x3_t __val)
28118 {
28119   __builtin_aarch64_simd_ci __o;
28120   uint16x8x3_t __temp;
28121   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
28122   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
28123   __temp.val[2] = vcombine_u16 (__val.val[2], vcreate_u16 (__AARCH64_UINT64_C (0)));
28124   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[0], 0);
28125   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[1], 1);
28126   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __temp.val[2], 2);
28127   __builtin_aarch64_st3v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28128 }
28129 
28130 __extension__ extern __inline void
28131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_u32(uint32_t * __a,uint32x2x3_t __val)28132 vst3_u32 (uint32_t * __a, uint32x2x3_t __val)
28133 {
28134   __builtin_aarch64_simd_ci __o;
28135   uint32x4x3_t __temp;
28136   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
28137   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
28138   __temp.val[2] = vcombine_u32 (__val.val[2], vcreate_u32 (__AARCH64_UINT64_C (0)));
28139   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[0], 0);
28140   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[1], 1);
28141   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __temp.val[2], 2);
28142   __builtin_aarch64_st3v2si ((__builtin_aarch64_simd_si *) __a, __o);
28143 }
28144 
28145 __extension__ extern __inline void
28146 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_f16(float16_t * __a,float16x4x3_t __val)28147 vst3_f16 (float16_t * __a, float16x4x3_t __val)
28148 {
28149   __builtin_aarch64_simd_ci __o;
28150   float16x8x3_t __temp;
28151   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
28152   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
28153   __temp.val[2] = vcombine_f16 (__val.val[2], vcreate_f16 (__AARCH64_UINT64_C (0)));
28154   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[0], 0);
28155   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[1], 1);
28156   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __temp.val[2], 2);
28157   __builtin_aarch64_st3v4hf ((__builtin_aarch64_simd_hf *) __a, __o);
28158 }
28159 
28160 __extension__ extern __inline void
28161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_f32(float32_t * __a,float32x2x3_t __val)28162 vst3_f32 (float32_t * __a, float32x2x3_t __val)
28163 {
28164   __builtin_aarch64_simd_ci __o;
28165   float32x4x3_t __temp;
28166   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
28167   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
28168   __temp.val[2] = vcombine_f32 (__val.val[2], vcreate_f32 (__AARCH64_UINT64_C (0)));
28169   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[0], 0);
28170   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[1], 1);
28171   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __temp.val[2], 2);
28172   __builtin_aarch64_st3v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
28173 }
28174 
28175 __extension__ extern __inline void
28176 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_p64(poly64_t * __a,poly64x1x3_t __val)28177 vst3_p64 (poly64_t * __a, poly64x1x3_t __val)
28178 {
28179   __builtin_aarch64_simd_ci __o;
28180   poly64x2x3_t __temp;
28181   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
28182   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
28183   __temp.val[2] = vcombine_p64 (__val.val[2], vcreate_p64 (__AARCH64_UINT64_C (0)));
28184   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28185 					       (poly64x2_t) __temp.val[0], 0);
28186   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28187 					       (poly64x2_t) __temp.val[1], 1);
28188   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28189 					       (poly64x2_t) __temp.val[2], 2);
28190   __builtin_aarch64_st3di ((__builtin_aarch64_simd_di *) __a, __o);
28191 }
28192 
28193 __extension__ extern __inline void
28194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s8(int8_t * __a,int8x16x3_t __val)28195 vst3q_s8 (int8_t * __a, int8x16x3_t __val)
28196 {
28197   __builtin_aarch64_simd_ci __o;
28198   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
28199   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
28200   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
28201   __builtin_aarch64_st3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28202 }
28203 
28204 __extension__ extern __inline void
28205 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_p8(poly8_t * __a,poly8x16x3_t __val)28206 vst3q_p8 (poly8_t * __a, poly8x16x3_t __val)
28207 {
28208   __builtin_aarch64_simd_ci __o;
28209   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
28210   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
28211   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
28212   __builtin_aarch64_st3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28213 }
28214 
28215 __extension__ extern __inline void
28216 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s16(int16_t * __a,int16x8x3_t __val)28217 vst3q_s16 (int16_t * __a, int16x8x3_t __val)
28218 {
28219   __builtin_aarch64_simd_ci __o;
28220   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
28221   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
28222   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
28223   __builtin_aarch64_st3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28224 }
28225 
28226 __extension__ extern __inline void
28227 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_p16(poly16_t * __a,poly16x8x3_t __val)28228 vst3q_p16 (poly16_t * __a, poly16x8x3_t __val)
28229 {
28230   __builtin_aarch64_simd_ci __o;
28231   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
28232   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
28233   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
28234   __builtin_aarch64_st3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28235 }
28236 
28237 __extension__ extern __inline void
28238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s32(int32_t * __a,int32x4x3_t __val)28239 vst3q_s32 (int32_t * __a, int32x4x3_t __val)
28240 {
28241   __builtin_aarch64_simd_ci __o;
28242   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[0], 0);
28243   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[1], 1);
28244   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[2], 2);
28245   __builtin_aarch64_st3v4si ((__builtin_aarch64_simd_si *) __a, __o);
28246 }
28247 
28248 __extension__ extern __inline void
28249 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_s64(int64_t * __a,int64x2x3_t __val)28250 vst3q_s64 (int64_t * __a, int64x2x3_t __val)
28251 {
28252   __builtin_aarch64_simd_ci __o;
28253   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[0], 0);
28254   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[1], 1);
28255   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[2], 2);
28256   __builtin_aarch64_st3v2di ((__builtin_aarch64_simd_di *) __a, __o);
28257 }
28258 
28259 __extension__ extern __inline void
28260 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u8(uint8_t * __a,uint8x16x3_t __val)28261 vst3q_u8 (uint8_t * __a, uint8x16x3_t __val)
28262 {
28263   __builtin_aarch64_simd_ci __o;
28264   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[0], 0);
28265   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[1], 1);
28266   __o = __builtin_aarch64_set_qregciv16qi (__o, (int8x16_t) __val.val[2], 2);
28267   __builtin_aarch64_st3v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28268 }
28269 
28270 __extension__ extern __inline void
28271 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u16(uint16_t * __a,uint16x8x3_t __val)28272 vst3q_u16 (uint16_t * __a, uint16x8x3_t __val)
28273 {
28274   __builtin_aarch64_simd_ci __o;
28275   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[0], 0);
28276   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[1], 1);
28277   __o = __builtin_aarch64_set_qregciv8hi (__o, (int16x8_t) __val.val[2], 2);
28278   __builtin_aarch64_st3v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28279 }
28280 
28281 __extension__ extern __inline void
28282 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u32(uint32_t * __a,uint32x4x3_t __val)28283 vst3q_u32 (uint32_t * __a, uint32x4x3_t __val)
28284 {
28285   __builtin_aarch64_simd_ci __o;
28286   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[0], 0);
28287   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[1], 1);
28288   __o = __builtin_aarch64_set_qregciv4si (__o, (int32x4_t) __val.val[2], 2);
28289   __builtin_aarch64_st3v4si ((__builtin_aarch64_simd_si *) __a, __o);
28290 }
28291 
28292 __extension__ extern __inline void
28293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_u64(uint64_t * __a,uint64x2x3_t __val)28294 vst3q_u64 (uint64_t * __a, uint64x2x3_t __val)
28295 {
28296   __builtin_aarch64_simd_ci __o;
28297   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[0], 0);
28298   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[1], 1);
28299   __o = __builtin_aarch64_set_qregciv2di (__o, (int64x2_t) __val.val[2], 2);
28300   __builtin_aarch64_st3v2di ((__builtin_aarch64_simd_di *) __a, __o);
28301 }
28302 
28303 __extension__ extern __inline void
28304 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_f16(float16_t * __a,float16x8x3_t __val)28305 vst3q_f16 (float16_t * __a, float16x8x3_t __val)
28306 {
28307   __builtin_aarch64_simd_ci __o;
28308   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[0], 0);
28309   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[1], 1);
28310   __o = __builtin_aarch64_set_qregciv8hf (__o, (float16x8_t) __val.val[2], 2);
28311   __builtin_aarch64_st3v8hf ((__builtin_aarch64_simd_hf *) __a, __o);
28312 }
28313 
28314 __extension__ extern __inline void
28315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_f32(float32_t * __a,float32x4x3_t __val)28316 vst3q_f32 (float32_t * __a, float32x4x3_t __val)
28317 {
28318   __builtin_aarch64_simd_ci __o;
28319   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[0], 0);
28320   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[1], 1);
28321   __o = __builtin_aarch64_set_qregciv4sf (__o, (float32x4_t) __val.val[2], 2);
28322   __builtin_aarch64_st3v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
28323 }
28324 
28325 __extension__ extern __inline void
28326 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_f64(float64_t * __a,float64x2x3_t __val)28327 vst3q_f64 (float64_t * __a, float64x2x3_t __val)
28328 {
28329   __builtin_aarch64_simd_ci __o;
28330   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[0], 0);
28331   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[1], 1);
28332   __o = __builtin_aarch64_set_qregciv2df (__o, (float64x2_t) __val.val[2], 2);
28333   __builtin_aarch64_st3v2df ((__builtin_aarch64_simd_df *) __a, __o);
28334 }
28335 
28336 __extension__ extern __inline void
28337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_p64(poly64_t * __a,poly64x2x3_t __val)28338 vst3q_p64 (poly64_t * __a, poly64x2x3_t __val)
28339 {
28340   __builtin_aarch64_simd_ci __o;
28341   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28342 					       (poly64x2_t) __val.val[0], 0);
28343   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28344 					       (poly64x2_t) __val.val[1], 1);
28345   __o = __builtin_aarch64_set_qregciv2di_ssps (__o,
28346 					       (poly64x2_t) __val.val[2], 2);
28347   __builtin_aarch64_st3v2di ((__builtin_aarch64_simd_di *) __a, __o);
28348 }
28349 
28350 __extension__ extern __inline void
28351 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s64(int64_t * __a,int64x1x4_t __val)28352 vst4_s64 (int64_t * __a, int64x1x4_t __val)
28353 {
28354   __builtin_aarch64_simd_xi __o;
28355   int64x2x4_t __temp;
28356   __temp.val[0] = vcombine_s64 (__val.val[0], vcreate_s64 (__AARCH64_INT64_C (0)));
28357   __temp.val[1] = vcombine_s64 (__val.val[1], vcreate_s64 (__AARCH64_INT64_C (0)));
28358   __temp.val[2] = vcombine_s64 (__val.val[2], vcreate_s64 (__AARCH64_INT64_C (0)));
28359   __temp.val[3] = vcombine_s64 (__val.val[3], vcreate_s64 (__AARCH64_INT64_C (0)));
28360   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[0], 0);
28361   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[1], 1);
28362   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[2], 2);
28363   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[3], 3);
28364   __builtin_aarch64_st4di ((__builtin_aarch64_simd_di *) __a, __o);
28365 }
28366 
28367 __extension__ extern __inline void
28368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u64(uint64_t * __a,uint64x1x4_t __val)28369 vst4_u64 (uint64_t * __a, uint64x1x4_t __val)
28370 {
28371   __builtin_aarch64_simd_xi __o;
28372   uint64x2x4_t __temp;
28373   __temp.val[0] = vcombine_u64 (__val.val[0], vcreate_u64 (__AARCH64_UINT64_C (0)));
28374   __temp.val[1] = vcombine_u64 (__val.val[1], vcreate_u64 (__AARCH64_UINT64_C (0)));
28375   __temp.val[2] = vcombine_u64 (__val.val[2], vcreate_u64 (__AARCH64_UINT64_C (0)));
28376   __temp.val[3] = vcombine_u64 (__val.val[3], vcreate_u64 (__AARCH64_UINT64_C (0)));
28377   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[0], 0);
28378   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[1], 1);
28379   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[2], 2);
28380   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __temp.val[3], 3);
28381   __builtin_aarch64_st4di ((__builtin_aarch64_simd_di *) __a, __o);
28382 }
28383 
28384 __extension__ extern __inline void
28385 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_f64(float64_t * __a,float64x1x4_t __val)28386 vst4_f64 (float64_t * __a, float64x1x4_t __val)
28387 {
28388   __builtin_aarch64_simd_xi __o;
28389   float64x2x4_t __temp;
28390   __temp.val[0] = vcombine_f64 (__val.val[0], vcreate_f64 (__AARCH64_UINT64_C (0)));
28391   __temp.val[1] = vcombine_f64 (__val.val[1], vcreate_f64 (__AARCH64_UINT64_C (0)));
28392   __temp.val[2] = vcombine_f64 (__val.val[2], vcreate_f64 (__AARCH64_UINT64_C (0)));
28393   __temp.val[3] = vcombine_f64 (__val.val[3], vcreate_f64 (__AARCH64_UINT64_C (0)));
28394   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[0], 0);
28395   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[1], 1);
28396   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[2], 2);
28397   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __temp.val[3], 3);
28398   __builtin_aarch64_st4df ((__builtin_aarch64_simd_df *) __a, __o);
28399 }
28400 
28401 __extension__ extern __inline void
28402 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s8(int8_t * __a,int8x8x4_t __val)28403 vst4_s8 (int8_t * __a, int8x8x4_t __val)
28404 {
28405   __builtin_aarch64_simd_xi __o;
28406   int8x16x4_t __temp;
28407   __temp.val[0] = vcombine_s8 (__val.val[0], vcreate_s8 (__AARCH64_INT64_C (0)));
28408   __temp.val[1] = vcombine_s8 (__val.val[1], vcreate_s8 (__AARCH64_INT64_C (0)));
28409   __temp.val[2] = vcombine_s8 (__val.val[2], vcreate_s8 (__AARCH64_INT64_C (0)));
28410   __temp.val[3] = vcombine_s8 (__val.val[3], vcreate_s8 (__AARCH64_INT64_C (0)));
28411   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[0], 0);
28412   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[1], 1);
28413   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[2], 2);
28414   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[3], 3);
28415   __builtin_aarch64_st4v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28416 }
28417 
28418 __extension__ extern __inline void
28419 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p8(poly8_t * __a,poly8x8x4_t __val)28420 vst4_p8 (poly8_t * __a, poly8x8x4_t __val)
28421 {
28422   __builtin_aarch64_simd_xi __o;
28423   poly8x16x4_t __temp;
28424   __temp.val[0] = vcombine_p8 (__val.val[0], vcreate_p8 (__AARCH64_UINT64_C (0)));
28425   __temp.val[1] = vcombine_p8 (__val.val[1], vcreate_p8 (__AARCH64_UINT64_C (0)));
28426   __temp.val[2] = vcombine_p8 (__val.val[2], vcreate_p8 (__AARCH64_UINT64_C (0)));
28427   __temp.val[3] = vcombine_p8 (__val.val[3], vcreate_p8 (__AARCH64_UINT64_C (0)));
28428   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[0], 0);
28429   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[1], 1);
28430   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[2], 2);
28431   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[3], 3);
28432   __builtin_aarch64_st4v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28433 }
28434 
28435 __extension__ extern __inline void
28436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s16(int16_t * __a,int16x4x4_t __val)28437 vst4_s16 (int16_t * __a, int16x4x4_t __val)
28438 {
28439   __builtin_aarch64_simd_xi __o;
28440   int16x8x4_t __temp;
28441   __temp.val[0] = vcombine_s16 (__val.val[0], vcreate_s16 (__AARCH64_INT64_C (0)));
28442   __temp.val[1] = vcombine_s16 (__val.val[1], vcreate_s16 (__AARCH64_INT64_C (0)));
28443   __temp.val[2] = vcombine_s16 (__val.val[2], vcreate_s16 (__AARCH64_INT64_C (0)));
28444   __temp.val[3] = vcombine_s16 (__val.val[3], vcreate_s16 (__AARCH64_INT64_C (0)));
28445   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[0], 0);
28446   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[1], 1);
28447   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[2], 2);
28448   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[3], 3);
28449   __builtin_aarch64_st4v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28450 }
28451 
28452 __extension__ extern __inline void
28453 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p16(poly16_t * __a,poly16x4x4_t __val)28454 vst4_p16 (poly16_t * __a, poly16x4x4_t __val)
28455 {
28456   __builtin_aarch64_simd_xi __o;
28457   poly16x8x4_t __temp;
28458   __temp.val[0] = vcombine_p16 (__val.val[0], vcreate_p16 (__AARCH64_UINT64_C (0)));
28459   __temp.val[1] = vcombine_p16 (__val.val[1], vcreate_p16 (__AARCH64_UINT64_C (0)));
28460   __temp.val[2] = vcombine_p16 (__val.val[2], vcreate_p16 (__AARCH64_UINT64_C (0)));
28461   __temp.val[3] = vcombine_p16 (__val.val[3], vcreate_p16 (__AARCH64_UINT64_C (0)));
28462   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[0], 0);
28463   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[1], 1);
28464   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[2], 2);
28465   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[3], 3);
28466   __builtin_aarch64_st4v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28467 }
28468 
28469 __extension__ extern __inline void
28470 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_s32(int32_t * __a,int32x2x4_t __val)28471 vst4_s32 (int32_t * __a, int32x2x4_t __val)
28472 {
28473   __builtin_aarch64_simd_xi __o;
28474   int32x4x4_t __temp;
28475   __temp.val[0] = vcombine_s32 (__val.val[0], vcreate_s32 (__AARCH64_INT64_C (0)));
28476   __temp.val[1] = vcombine_s32 (__val.val[1], vcreate_s32 (__AARCH64_INT64_C (0)));
28477   __temp.val[2] = vcombine_s32 (__val.val[2], vcreate_s32 (__AARCH64_INT64_C (0)));
28478   __temp.val[3] = vcombine_s32 (__val.val[3], vcreate_s32 (__AARCH64_INT64_C (0)));
28479   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[0], 0);
28480   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[1], 1);
28481   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[2], 2);
28482   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[3], 3);
28483   __builtin_aarch64_st4v2si ((__builtin_aarch64_simd_si *) __a, __o);
28484 }
28485 
28486 __extension__ extern __inline void
28487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u8(uint8_t * __a,uint8x8x4_t __val)28488 vst4_u8 (uint8_t * __a, uint8x8x4_t __val)
28489 {
28490   __builtin_aarch64_simd_xi __o;
28491   uint8x16x4_t __temp;
28492   __temp.val[0] = vcombine_u8 (__val.val[0], vcreate_u8 (__AARCH64_UINT64_C (0)));
28493   __temp.val[1] = vcombine_u8 (__val.val[1], vcreate_u8 (__AARCH64_UINT64_C (0)));
28494   __temp.val[2] = vcombine_u8 (__val.val[2], vcreate_u8 (__AARCH64_UINT64_C (0)));
28495   __temp.val[3] = vcombine_u8 (__val.val[3], vcreate_u8 (__AARCH64_UINT64_C (0)));
28496   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[0], 0);
28497   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[1], 1);
28498   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[2], 2);
28499   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __temp.val[3], 3);
28500   __builtin_aarch64_st4v8qi ((__builtin_aarch64_simd_qi *) __a, __o);
28501 }
28502 
28503 __extension__ extern __inline void
28504 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u16(uint16_t * __a,uint16x4x4_t __val)28505 vst4_u16 (uint16_t * __a, uint16x4x4_t __val)
28506 {
28507   __builtin_aarch64_simd_xi __o;
28508   uint16x8x4_t __temp;
28509   __temp.val[0] = vcombine_u16 (__val.val[0], vcreate_u16 (__AARCH64_UINT64_C (0)));
28510   __temp.val[1] = vcombine_u16 (__val.val[1], vcreate_u16 (__AARCH64_UINT64_C (0)));
28511   __temp.val[2] = vcombine_u16 (__val.val[2], vcreate_u16 (__AARCH64_UINT64_C (0)));
28512   __temp.val[3] = vcombine_u16 (__val.val[3], vcreate_u16 (__AARCH64_UINT64_C (0)));
28513   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[0], 0);
28514   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[1], 1);
28515   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[2], 2);
28516   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __temp.val[3], 3);
28517   __builtin_aarch64_st4v4hi ((__builtin_aarch64_simd_hi *) __a, __o);
28518 }
28519 
28520 __extension__ extern __inline void
28521 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_u32(uint32_t * __a,uint32x2x4_t __val)28522 vst4_u32 (uint32_t * __a, uint32x2x4_t __val)
28523 {
28524   __builtin_aarch64_simd_xi __o;
28525   uint32x4x4_t __temp;
28526   __temp.val[0] = vcombine_u32 (__val.val[0], vcreate_u32 (__AARCH64_UINT64_C (0)));
28527   __temp.val[1] = vcombine_u32 (__val.val[1], vcreate_u32 (__AARCH64_UINT64_C (0)));
28528   __temp.val[2] = vcombine_u32 (__val.val[2], vcreate_u32 (__AARCH64_UINT64_C (0)));
28529   __temp.val[3] = vcombine_u32 (__val.val[3], vcreate_u32 (__AARCH64_UINT64_C (0)));
28530   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[0], 0);
28531   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[1], 1);
28532   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[2], 2);
28533   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __temp.val[3], 3);
28534   __builtin_aarch64_st4v2si ((__builtin_aarch64_simd_si *) __a, __o);
28535 }
28536 
28537 __extension__ extern __inline void
28538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_f16(float16_t * __a,float16x4x4_t __val)28539 vst4_f16 (float16_t * __a, float16x4x4_t __val)
28540 {
28541   __builtin_aarch64_simd_xi __o;
28542   float16x8x4_t __temp;
28543   __temp.val[0] = vcombine_f16 (__val.val[0], vcreate_f16 (__AARCH64_UINT64_C (0)));
28544   __temp.val[1] = vcombine_f16 (__val.val[1], vcreate_f16 (__AARCH64_UINT64_C (0)));
28545   __temp.val[2] = vcombine_f16 (__val.val[2], vcreate_f16 (__AARCH64_UINT64_C (0)));
28546   __temp.val[3] = vcombine_f16 (__val.val[3], vcreate_f16 (__AARCH64_UINT64_C (0)));
28547   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[0], 0);
28548   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[1], 1);
28549   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[2], 2);
28550   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __temp.val[3], 3);
28551   __builtin_aarch64_st4v4hf ((__builtin_aarch64_simd_hf *) __a, __o);
28552 }
28553 
28554 __extension__ extern __inline void
28555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_f32(float32_t * __a,float32x2x4_t __val)28556 vst4_f32 (float32_t * __a, float32x2x4_t __val)
28557 {
28558   __builtin_aarch64_simd_xi __o;
28559   float32x4x4_t __temp;
28560   __temp.val[0] = vcombine_f32 (__val.val[0], vcreate_f32 (__AARCH64_UINT64_C (0)));
28561   __temp.val[1] = vcombine_f32 (__val.val[1], vcreate_f32 (__AARCH64_UINT64_C (0)));
28562   __temp.val[2] = vcombine_f32 (__val.val[2], vcreate_f32 (__AARCH64_UINT64_C (0)));
28563   __temp.val[3] = vcombine_f32 (__val.val[3], vcreate_f32 (__AARCH64_UINT64_C (0)));
28564   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[0], 0);
28565   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[1], 1);
28566   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[2], 2);
28567   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __temp.val[3], 3);
28568   __builtin_aarch64_st4v2sf ((__builtin_aarch64_simd_sf *) __a, __o);
28569 }
28570 
28571 __extension__ extern __inline void
28572 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_p64(poly64_t * __a,poly64x1x4_t __val)28573 vst4_p64 (poly64_t * __a, poly64x1x4_t __val)
28574 {
28575   __builtin_aarch64_simd_xi __o;
28576   poly64x2x4_t __temp;
28577   __temp.val[0] = vcombine_p64 (__val.val[0], vcreate_p64 (__AARCH64_UINT64_C (0)));
28578   __temp.val[1] = vcombine_p64 (__val.val[1], vcreate_p64 (__AARCH64_UINT64_C (0)));
28579   __temp.val[2] = vcombine_p64 (__val.val[2], vcreate_p64 (__AARCH64_UINT64_C (0)));
28580   __temp.val[3] = vcombine_p64 (__val.val[3], vcreate_p64 (__AARCH64_UINT64_C (0)));
28581   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
28582 					       (poly64x2_t) __temp.val[0], 0);
28583   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
28584 					       (poly64x2_t) __temp.val[1], 1);
28585   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
28586 					       (poly64x2_t) __temp.val[2], 2);
28587   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
28588 					       (poly64x2_t) __temp.val[3], 3);
28589   __builtin_aarch64_st4di ((__builtin_aarch64_simd_di *) __a, __o);
28590 }
28591 
28592 __extension__ extern __inline void
28593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s8(int8_t * __a,int8x16x4_t __val)28594 vst4q_s8 (int8_t * __a, int8x16x4_t __val)
28595 {
28596   __builtin_aarch64_simd_xi __o;
28597   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[0], 0);
28598   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[1], 1);
28599   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[2], 2);
28600   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[3], 3);
28601   __builtin_aarch64_st4v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28602 }
28603 
28604 __extension__ extern __inline void
28605 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_p8(poly8_t * __a,poly8x16x4_t __val)28606 vst4q_p8 (poly8_t * __a, poly8x16x4_t __val)
28607 {
28608   __builtin_aarch64_simd_xi __o;
28609   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[0], 0);
28610   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[1], 1);
28611   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[2], 2);
28612   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[3], 3);
28613   __builtin_aarch64_st4v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28614 }
28615 
28616 __extension__ extern __inline void
28617 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s16(int16_t * __a,int16x8x4_t __val)28618 vst4q_s16 (int16_t * __a, int16x8x4_t __val)
28619 {
28620   __builtin_aarch64_simd_xi __o;
28621   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[0], 0);
28622   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[1], 1);
28623   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[2], 2);
28624   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[3], 3);
28625   __builtin_aarch64_st4v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28626 }
28627 
28628 __extension__ extern __inline void
28629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_p16(poly16_t * __a,poly16x8x4_t __val)28630 vst4q_p16 (poly16_t * __a, poly16x8x4_t __val)
28631 {
28632   __builtin_aarch64_simd_xi __o;
28633   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[0], 0);
28634   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[1], 1);
28635   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[2], 2);
28636   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[3], 3);
28637   __builtin_aarch64_st4v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28638 }
28639 
28640 __extension__ extern __inline void
28641 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s32(int32_t * __a,int32x4x4_t __val)28642 vst4q_s32 (int32_t * __a, int32x4x4_t __val)
28643 {
28644   __builtin_aarch64_simd_xi __o;
28645   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[0], 0);
28646   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[1], 1);
28647   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[2], 2);
28648   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[3], 3);
28649   __builtin_aarch64_st4v4si ((__builtin_aarch64_simd_si *) __a, __o);
28650 }
28651 
28652 __extension__ extern __inline void
28653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_s64(int64_t * __a,int64x2x4_t __val)28654 vst4q_s64 (int64_t * __a, int64x2x4_t __val)
28655 {
28656   __builtin_aarch64_simd_xi __o;
28657   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[0], 0);
28658   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[1], 1);
28659   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[2], 2);
28660   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[3], 3);
28661   __builtin_aarch64_st4v2di ((__builtin_aarch64_simd_di *) __a, __o);
28662 }
28663 
28664 __extension__ extern __inline void
28665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u8(uint8_t * __a,uint8x16x4_t __val)28666 vst4q_u8 (uint8_t * __a, uint8x16x4_t __val)
28667 {
28668   __builtin_aarch64_simd_xi __o;
28669   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[0], 0);
28670   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[1], 1);
28671   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[2], 2);
28672   __o = __builtin_aarch64_set_qregxiv16qi (__o, (int8x16_t) __val.val[3], 3);
28673   __builtin_aarch64_st4v16qi ((__builtin_aarch64_simd_qi *) __a, __o);
28674 }
28675 
28676 __extension__ extern __inline void
28677 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u16(uint16_t * __a,uint16x8x4_t __val)28678 vst4q_u16 (uint16_t * __a, uint16x8x4_t __val)
28679 {
28680   __builtin_aarch64_simd_xi __o;
28681   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[0], 0);
28682   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[1], 1);
28683   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[2], 2);
28684   __o = __builtin_aarch64_set_qregxiv8hi (__o, (int16x8_t) __val.val[3], 3);
28685   __builtin_aarch64_st4v8hi ((__builtin_aarch64_simd_hi *) __a, __o);
28686 }
28687 
28688 __extension__ extern __inline void
28689 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u32(uint32_t * __a,uint32x4x4_t __val)28690 vst4q_u32 (uint32_t * __a, uint32x4x4_t __val)
28691 {
28692   __builtin_aarch64_simd_xi __o;
28693   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[0], 0);
28694   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[1], 1);
28695   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[2], 2);
28696   __o = __builtin_aarch64_set_qregxiv4si (__o, (int32x4_t) __val.val[3], 3);
28697   __builtin_aarch64_st4v4si ((__builtin_aarch64_simd_si *) __a, __o);
28698 }
28699 
28700 __extension__ extern __inline void
28701 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_u64(uint64_t * __a,uint64x2x4_t __val)28702 vst4q_u64 (uint64_t * __a, uint64x2x4_t __val)
28703 {
28704   __builtin_aarch64_simd_xi __o;
28705   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[0], 0);
28706   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[1], 1);
28707   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[2], 2);
28708   __o = __builtin_aarch64_set_qregxiv2di (__o, (int64x2_t) __val.val[3], 3);
28709   __builtin_aarch64_st4v2di ((__builtin_aarch64_simd_di *) __a, __o);
28710 }
28711 
28712 __extension__ extern __inline void
28713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_f16(float16_t * __a,float16x8x4_t __val)28714 vst4q_f16 (float16_t * __a, float16x8x4_t __val)
28715 {
28716   __builtin_aarch64_simd_xi __o;
28717   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __val.val[0], 0);
28718   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __val.val[1], 1);
28719   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __val.val[2], 2);
28720   __o = __builtin_aarch64_set_qregxiv8hf (__o, (float16x8_t) __val.val[3], 3);
28721   __builtin_aarch64_st4v8hf ((__builtin_aarch64_simd_hf *) __a, __o);
28722 }
28723 
28724 __extension__ extern __inline void
28725 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_f32(float32_t * __a,float32x4x4_t __val)28726 vst4q_f32 (float32_t * __a, float32x4x4_t __val)
28727 {
28728   __builtin_aarch64_simd_xi __o;
28729   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __val.val[0], 0);
28730   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __val.val[1], 1);
28731   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __val.val[2], 2);
28732   __o = __builtin_aarch64_set_qregxiv4sf (__o, (float32x4_t) __val.val[3], 3);
28733   __builtin_aarch64_st4v4sf ((__builtin_aarch64_simd_sf *) __a, __o);
28734 }
28735 
28736 __extension__ extern __inline void
28737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_f64(float64_t * __a,float64x2x4_t __val)28738 vst4q_f64 (float64_t * __a, float64x2x4_t __val)
28739 {
28740   __builtin_aarch64_simd_xi __o;
28741   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __val.val[0], 0);
28742   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __val.val[1], 1);
28743   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __val.val[2], 2);
28744   __o = __builtin_aarch64_set_qregxiv2df (__o, (float64x2_t) __val.val[3], 3);
28745   __builtin_aarch64_st4v2df ((__builtin_aarch64_simd_df *) __a, __o);
28746 }
28747 
28748 __extension__ extern __inline void
28749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_p64(poly64_t * __a,poly64x2x4_t __val)28750 vst4q_p64 (poly64_t * __a, poly64x2x4_t __val)
28751 {
28752   __builtin_aarch64_simd_xi __o;
28753   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
28754 					       (poly64x2_t) __val.val[0], 0);
28755   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
28756 					       (poly64x2_t) __val.val[1], 1);
28757   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
28758 					       (poly64x2_t) __val.val[2], 2);
28759   __o = __builtin_aarch64_set_qregxiv2di_ssps (__o,
28760 					       (poly64x2_t) __val.val[3], 3);
28761   __builtin_aarch64_st4v2di ((__builtin_aarch64_simd_di *) __a, __o);
28762 }
28763 
28764 __extension__ extern __inline void
28765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vstrq_p128(poly128_t * __ptr,poly128_t __val)28766 vstrq_p128 (poly128_t * __ptr, poly128_t __val)
28767 {
28768   *__ptr = __val;
28769 }
28770 
28771 /* vsub */
28772 
28773 __extension__ extern __inline int64_t
28774 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubd_s64(int64_t __a,int64_t __b)28775 vsubd_s64 (int64_t __a, int64_t __b)
28776 {
28777   return __a - __b;
28778 }
28779 
28780 __extension__ extern __inline uint64_t
28781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubd_u64(uint64_t __a,uint64_t __b)28782 vsubd_u64 (uint64_t __a, uint64_t __b)
28783 {
28784   return __a - __b;
28785 }
28786 
28787 /* vtbx1  */
28788 
28789 __extension__ extern __inline int8x8_t
28790 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_s8(int8x8_t __r,int8x8_t __tab,int8x8_t __idx)28791 vtbx1_s8 (int8x8_t __r, int8x8_t __tab, int8x8_t __idx)
28792 {
28793   uint8x8_t __mask = vclt_u8 (vreinterpret_u8_s8 (__idx),
28794 			      vmov_n_u8 (8));
28795   int8x8_t __tbl = vtbl1_s8 (__tab, __idx);
28796 
28797   return vbsl_s8 (__mask, __tbl, __r);
28798 }
28799 
28800 __extension__ extern __inline uint8x8_t
28801 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_u8(uint8x8_t __r,uint8x8_t __tab,uint8x8_t __idx)28802 vtbx1_u8 (uint8x8_t __r, uint8x8_t __tab, uint8x8_t __idx)
28803 {
28804   uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (8));
28805   uint8x8_t __tbl = vtbl1_u8 (__tab, __idx);
28806 
28807   return vbsl_u8 (__mask, __tbl, __r);
28808 }
28809 
28810 __extension__ extern __inline poly8x8_t
28811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx1_p8(poly8x8_t __r,poly8x8_t __tab,uint8x8_t __idx)28812 vtbx1_p8 (poly8x8_t __r, poly8x8_t __tab, uint8x8_t __idx)
28813 {
28814   uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (8));
28815   poly8x8_t __tbl = vtbl1_p8 (__tab, __idx);
28816 
28817   return vbsl_p8 (__mask, __tbl, __r);
28818 }
28819 
28820 /* vtbx3  */
28821 
28822 __extension__ extern __inline int8x8_t
28823 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_s8(int8x8_t __r,int8x8x3_t __tab,int8x8_t __idx)28824 vtbx3_s8 (int8x8_t __r, int8x8x3_t __tab, int8x8_t __idx)
28825 {
28826   uint8x8_t __mask = vclt_u8 (vreinterpret_u8_s8 (__idx),
28827 			      vmov_n_u8 (24));
28828   int8x8_t __tbl = vtbl3_s8 (__tab, __idx);
28829 
28830   return vbsl_s8 (__mask, __tbl, __r);
28831 }
28832 
28833 __extension__ extern __inline uint8x8_t
28834 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_u8(uint8x8_t __r,uint8x8x3_t __tab,uint8x8_t __idx)28835 vtbx3_u8 (uint8x8_t __r, uint8x8x3_t __tab, uint8x8_t __idx)
28836 {
28837   uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (24));
28838   uint8x8_t __tbl = vtbl3_u8 (__tab, __idx);
28839 
28840   return vbsl_u8 (__mask, __tbl, __r);
28841 }
28842 
28843 __extension__ extern __inline poly8x8_t
28844 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx3_p8(poly8x8_t __r,poly8x8x3_t __tab,uint8x8_t __idx)28845 vtbx3_p8 (poly8x8_t __r, poly8x8x3_t __tab, uint8x8_t __idx)
28846 {
28847   uint8x8_t __mask = vclt_u8 (__idx, vmov_n_u8 (24));
28848   poly8x8_t __tbl = vtbl3_p8 (__tab, __idx);
28849 
28850   return vbsl_p8 (__mask, __tbl, __r);
28851 }
28852 
28853 /* vtbx4  */
28854 
28855 __extension__ extern __inline int8x8_t
28856 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_s8(int8x8_t __r,int8x8x4_t __tab,int8x8_t __idx)28857 vtbx4_s8 (int8x8_t __r, int8x8x4_t __tab, int8x8_t __idx)
28858 {
28859   int8x8_t __result;
28860   int8x16x2_t __temp;
28861   __builtin_aarch64_simd_oi __o;
28862   __temp.val[0] = vcombine_s8 (__tab.val[0], __tab.val[1]);
28863   __temp.val[1] = vcombine_s8 (__tab.val[2], __tab.val[3]);
28864   __o = __builtin_aarch64_set_qregoiv16qi (__o,
28865 					   (int8x16_t) __temp.val[0], 0);
28866   __o = __builtin_aarch64_set_qregoiv16qi (__o,
28867 					   (int8x16_t) __temp.val[1], 1);
28868   __result = __builtin_aarch64_tbx4v8qi (__r, __o, __idx);
28869   return __result;
28870 }
28871 
28872 __extension__ extern __inline uint8x8_t
28873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_u8(uint8x8_t __r,uint8x8x4_t __tab,uint8x8_t __idx)28874 vtbx4_u8 (uint8x8_t __r, uint8x8x4_t __tab, uint8x8_t __idx)
28875 {
28876   uint8x8_t __result;
28877   uint8x16x2_t __temp;
28878   __builtin_aarch64_simd_oi __o;
28879   __temp.val[0] = vcombine_u8 (__tab.val[0], __tab.val[1]);
28880   __temp.val[1] = vcombine_u8 (__tab.val[2], __tab.val[3]);
28881   __o = __builtin_aarch64_set_qregoiv16qi (__o,
28882 					   (int8x16_t) __temp.val[0], 0);
28883   __o = __builtin_aarch64_set_qregoiv16qi (__o,
28884 					   (int8x16_t) __temp.val[1], 1);
28885   __result = (uint8x8_t)__builtin_aarch64_tbx4v8qi ((int8x8_t)__r, __o,
28886 						  (int8x8_t)__idx);
28887   return __result;
28888 }
28889 
28890 __extension__ extern __inline poly8x8_t
28891 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtbx4_p8(poly8x8_t __r,poly8x8x4_t __tab,uint8x8_t __idx)28892 vtbx4_p8 (poly8x8_t __r, poly8x8x4_t __tab, uint8x8_t __idx)
28893 {
28894   poly8x8_t __result;
28895   poly8x16x2_t __temp;
28896   __builtin_aarch64_simd_oi __o;
28897   __temp.val[0] = vcombine_p8 (__tab.val[0], __tab.val[1]);
28898   __temp.val[1] = vcombine_p8 (__tab.val[2], __tab.val[3]);
28899   __o = __builtin_aarch64_set_qregoiv16qi (__o,
28900 					   (int8x16_t) __temp.val[0], 0);
28901   __o = __builtin_aarch64_set_qregoiv16qi (__o,
28902 					   (int8x16_t) __temp.val[1], 1);
28903   __result = (poly8x8_t)__builtin_aarch64_tbx4v8qi ((int8x8_t)__r, __o,
28904 						  (int8x8_t)__idx);
28905   return __result;
28906 }
28907 
28908 /* vtrn */
28909 
28910 __extension__ extern __inline float16x4_t
28911 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_f16(float16x4_t __a,float16x4_t __b)28912 vtrn1_f16 (float16x4_t __a, float16x4_t __b)
28913 {
28914 #ifdef __AARCH64EB__
28915   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
28916 #else
28917   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
28918 #endif
28919 }
28920 
28921 __extension__ extern __inline float32x2_t
28922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_f32(float32x2_t __a,float32x2_t __b)28923 vtrn1_f32 (float32x2_t __a, float32x2_t __b)
28924 {
28925 #ifdef __AARCH64EB__
28926   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
28927 #else
28928   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
28929 #endif
28930 }
28931 
28932 __extension__ extern __inline poly8x8_t
28933 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_p8(poly8x8_t __a,poly8x8_t __b)28934 vtrn1_p8 (poly8x8_t __a, poly8x8_t __b)
28935 {
28936 #ifdef __AARCH64EB__
28937   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
28938 #else
28939   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
28940 #endif
28941 }
28942 
28943 __extension__ extern __inline poly16x4_t
28944 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_p16(poly16x4_t __a,poly16x4_t __b)28945 vtrn1_p16 (poly16x4_t __a, poly16x4_t __b)
28946 {
28947 #ifdef __AARCH64EB__
28948   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
28949 #else
28950   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
28951 #endif
28952 }
28953 
28954 __extension__ extern __inline int8x8_t
28955 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_s8(int8x8_t __a,int8x8_t __b)28956 vtrn1_s8 (int8x8_t __a, int8x8_t __b)
28957 {
28958 #ifdef __AARCH64EB__
28959   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
28960 #else
28961   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
28962 #endif
28963 }
28964 
28965 __extension__ extern __inline int16x4_t
28966 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_s16(int16x4_t __a,int16x4_t __b)28967 vtrn1_s16 (int16x4_t __a, int16x4_t __b)
28968 {
28969 #ifdef __AARCH64EB__
28970   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
28971 #else
28972   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
28973 #endif
28974 }
28975 
28976 __extension__ extern __inline int32x2_t
28977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_s32(int32x2_t __a,int32x2_t __b)28978 vtrn1_s32 (int32x2_t __a, int32x2_t __b)
28979 {
28980 #ifdef __AARCH64EB__
28981   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
28982 #else
28983   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
28984 #endif
28985 }
28986 
28987 __extension__ extern __inline uint8x8_t
28988 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_u8(uint8x8_t __a,uint8x8_t __b)28989 vtrn1_u8 (uint8x8_t __a, uint8x8_t __b)
28990 {
28991 #ifdef __AARCH64EB__
28992   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
28993 #else
28994   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
28995 #endif
28996 }
28997 
28998 __extension__ extern __inline uint16x4_t
28999 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_u16(uint16x4_t __a,uint16x4_t __b)29000 vtrn1_u16 (uint16x4_t __a, uint16x4_t __b)
29001 {
29002 #ifdef __AARCH64EB__
29003   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 1, 7, 3});
29004 #else
29005   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 2, 6});
29006 #endif
29007 }
29008 
29009 __extension__ extern __inline uint32x2_t
29010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1_u32(uint32x2_t __a,uint32x2_t __b)29011 vtrn1_u32 (uint32x2_t __a, uint32x2_t __b)
29012 {
29013 #ifdef __AARCH64EB__
29014   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
29015 #else
29016   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
29017 #endif
29018 }
29019 
29020 __extension__ extern __inline float16x8_t
29021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_f16(float16x8_t __a,float16x8_t __b)29022 vtrn1q_f16 (float16x8_t __a, float16x8_t __b)
29023 {
29024 #ifdef __AARCH64EB__
29025   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
29026 #else
29027   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
29028 #endif
29029 }
29030 
29031 __extension__ extern __inline float32x4_t
29032 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_f32(float32x4_t __a,float32x4_t __b)29033 vtrn1q_f32 (float32x4_t __a, float32x4_t __b)
29034 {
29035 #ifdef __AARCH64EB__
29036   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 1, 7, 3});
29037 #else
29038   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 2, 6});
29039 #endif
29040 }
29041 
29042 __extension__ extern __inline float64x2_t
29043 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_f64(float64x2_t __a,float64x2_t __b)29044 vtrn1q_f64 (float64x2_t __a, float64x2_t __b)
29045 {
29046 #ifdef __AARCH64EB__
29047   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
29048 #else
29049   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
29050 #endif
29051 }
29052 
29053 __extension__ extern __inline poly8x16_t
29054 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_p8(poly8x16_t __a,poly8x16_t __b)29055 vtrn1q_p8 (poly8x16_t __a, poly8x16_t __b)
29056 {
29057 #ifdef __AARCH64EB__
29058   return __builtin_shuffle (__a, __b,
29059       (uint8x16_t) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
29060 #else
29061   return __builtin_shuffle (__a, __b,
29062       (uint8x16_t) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
29063 #endif
29064 }
29065 
29066 __extension__ extern __inline poly16x8_t
29067 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_p16(poly16x8_t __a,poly16x8_t __b)29068 vtrn1q_p16 (poly16x8_t __a, poly16x8_t __b)
29069 {
29070 #ifdef __AARCH64EB__
29071   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
29072 #else
29073   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
29074 #endif
29075 }
29076 
29077 __extension__ extern __inline int8x16_t
29078 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_s8(int8x16_t __a,int8x16_t __b)29079 vtrn1q_s8 (int8x16_t __a, int8x16_t __b)
29080 {
29081 #ifdef __AARCH64EB__
29082   return __builtin_shuffle (__a, __b,
29083       (uint8x16_t) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
29084 #else
29085   return __builtin_shuffle (__a, __b,
29086       (uint8x16_t) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
29087 #endif
29088 }
29089 
29090 __extension__ extern __inline int16x8_t
29091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_s16(int16x8_t __a,int16x8_t __b)29092 vtrn1q_s16 (int16x8_t __a, int16x8_t __b)
29093 {
29094 #ifdef __AARCH64EB__
29095   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
29096 #else
29097   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
29098 #endif
29099 }
29100 
29101 __extension__ extern __inline int32x4_t
29102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_s32(int32x4_t __a,int32x4_t __b)29103 vtrn1q_s32 (int32x4_t __a, int32x4_t __b)
29104 {
29105 #ifdef __AARCH64EB__
29106   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 1, 7, 3});
29107 #else
29108   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 2, 6});
29109 #endif
29110 }
29111 
29112 __extension__ extern __inline int64x2_t
29113 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_s64(int64x2_t __a,int64x2_t __b)29114 vtrn1q_s64 (int64x2_t __a, int64x2_t __b)
29115 {
29116 #ifdef __AARCH64EB__
29117   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
29118 #else
29119   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
29120 #endif
29121 }
29122 
29123 __extension__ extern __inline uint8x16_t
29124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_u8(uint8x16_t __a,uint8x16_t __b)29125 vtrn1q_u8 (uint8x16_t __a, uint8x16_t __b)
29126 {
29127 #ifdef __AARCH64EB__
29128   return __builtin_shuffle (__a, __b,
29129       (uint8x16_t) {17, 1, 19, 3, 21, 5, 23, 7, 25, 9, 27, 11, 29, 13, 31, 15});
29130 #else
29131   return __builtin_shuffle (__a, __b,
29132       (uint8x16_t) {0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30});
29133 #endif
29134 }
29135 
29136 __extension__ extern __inline uint16x8_t
29137 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_u16(uint16x8_t __a,uint16x8_t __b)29138 vtrn1q_u16 (uint16x8_t __a, uint16x8_t __b)
29139 {
29140 #ifdef __AARCH64EB__
29141   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 1, 11, 3, 13, 5, 15, 7});
29142 #else
29143   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 2, 10, 4, 12, 6, 14});
29144 #endif
29145 }
29146 
29147 __extension__ extern __inline uint32x4_t
29148 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_u32(uint32x4_t __a,uint32x4_t __b)29149 vtrn1q_u32 (uint32x4_t __a, uint32x4_t __b)
29150 {
29151 #ifdef __AARCH64EB__
29152   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 1, 7, 3});
29153 #else
29154   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 2, 6});
29155 #endif
29156 }
29157 
29158 __extension__ extern __inline poly64x2_t
29159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_p64(poly64x2_t __a,poly64x2_t __b)29160 vtrn1q_p64 (poly64x2_t __a, poly64x2_t __b)
29161 {
29162 #ifdef __AARCH64EB__
29163   return __builtin_shuffle (__a, __b, (poly64x2_t) {3, 1});
29164 #else
29165   return __builtin_shuffle (__a, __b, (poly64x2_t) {0, 2});
29166 #endif
29167 }
29168 
29169 __extension__ extern __inline uint64x2_t
29170 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn1q_u64(uint64x2_t __a,uint64x2_t __b)29171 vtrn1q_u64 (uint64x2_t __a, uint64x2_t __b)
29172 {
29173 #ifdef __AARCH64EB__
29174   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
29175 #else
29176   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
29177 #endif
29178 }
29179 
29180 __extension__ extern __inline float16x4_t
29181 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_f16(float16x4_t __a,float16x4_t __b)29182 vtrn2_f16 (float16x4_t __a, float16x4_t __b)
29183 {
29184 #ifdef __AARCH64EB__
29185   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
29186 #else
29187   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
29188 #endif
29189 }
29190 
29191 __extension__ extern __inline float32x2_t
29192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_f32(float32x2_t __a,float32x2_t __b)29193 vtrn2_f32 (float32x2_t __a, float32x2_t __b)
29194 {
29195 #ifdef __AARCH64EB__
29196   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
29197 #else
29198   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
29199 #endif
29200 }
29201 
29202 __extension__ extern __inline poly8x8_t
29203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_p8(poly8x8_t __a,poly8x8_t __b)29204 vtrn2_p8 (poly8x8_t __a, poly8x8_t __b)
29205 {
29206 #ifdef __AARCH64EB__
29207   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
29208 #else
29209   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
29210 #endif
29211 }
29212 
29213 __extension__ extern __inline poly16x4_t
29214 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_p16(poly16x4_t __a,poly16x4_t __b)29215 vtrn2_p16 (poly16x4_t __a, poly16x4_t __b)
29216 {
29217 #ifdef __AARCH64EB__
29218   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
29219 #else
29220   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
29221 #endif
29222 }
29223 
29224 __extension__ extern __inline int8x8_t
29225 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_s8(int8x8_t __a,int8x8_t __b)29226 vtrn2_s8 (int8x8_t __a, int8x8_t __b)
29227 {
29228 #ifdef __AARCH64EB__
29229   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
29230 #else
29231   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
29232 #endif
29233 }
29234 
29235 __extension__ extern __inline int16x4_t
29236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_s16(int16x4_t __a,int16x4_t __b)29237 vtrn2_s16 (int16x4_t __a, int16x4_t __b)
29238 {
29239 #ifdef __AARCH64EB__
29240   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
29241 #else
29242   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
29243 #endif
29244 }
29245 
29246 __extension__ extern __inline int32x2_t
29247 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_s32(int32x2_t __a,int32x2_t __b)29248 vtrn2_s32 (int32x2_t __a, int32x2_t __b)
29249 {
29250 #ifdef __AARCH64EB__
29251   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
29252 #else
29253   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
29254 #endif
29255 }
29256 
29257 __extension__ extern __inline uint8x8_t
29258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_u8(uint8x8_t __a,uint8x8_t __b)29259 vtrn2_u8 (uint8x8_t __a, uint8x8_t __b)
29260 {
29261 #ifdef __AARCH64EB__
29262   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
29263 #else
29264   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
29265 #endif
29266 }
29267 
29268 __extension__ extern __inline uint16x4_t
29269 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_u16(uint16x4_t __a,uint16x4_t __b)29270 vtrn2_u16 (uint16x4_t __a, uint16x4_t __b)
29271 {
29272 #ifdef __AARCH64EB__
29273   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 6, 2});
29274 #else
29275   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 5, 3, 7});
29276 #endif
29277 }
29278 
29279 __extension__ extern __inline uint32x2_t
29280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2_u32(uint32x2_t __a,uint32x2_t __b)29281 vtrn2_u32 (uint32x2_t __a, uint32x2_t __b)
29282 {
29283 #ifdef __AARCH64EB__
29284   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
29285 #else
29286   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
29287 #endif
29288 }
29289 
29290 __extension__ extern __inline float16x8_t
29291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_f16(float16x8_t __a,float16x8_t __b)29292 vtrn2q_f16 (float16x8_t __a, float16x8_t __b)
29293 {
29294 #ifdef __AARCH64EB__
29295   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
29296 #else
29297   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
29298 #endif
29299 }
29300 
29301 __extension__ extern __inline float32x4_t
29302 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_f32(float32x4_t __a,float32x4_t __b)29303 vtrn2q_f32 (float32x4_t __a, float32x4_t __b)
29304 {
29305 #ifdef __AARCH64EB__
29306   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 6, 2});
29307 #else
29308   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 5, 3, 7});
29309 #endif
29310 }
29311 
29312 __extension__ extern __inline float64x2_t
29313 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_f64(float64x2_t __a,float64x2_t __b)29314 vtrn2q_f64 (float64x2_t __a, float64x2_t __b)
29315 {
29316 #ifdef __AARCH64EB__
29317   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
29318 #else
29319   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
29320 #endif
29321 }
29322 
29323 __extension__ extern __inline poly8x16_t
29324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_p8(poly8x16_t __a,poly8x16_t __b)29325 vtrn2q_p8 (poly8x16_t __a, poly8x16_t __b)
29326 {
29327 #ifdef __AARCH64EB__
29328   return __builtin_shuffle (__a, __b,
29329       (uint8x16_t) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
29330 #else
29331   return __builtin_shuffle (__a, __b,
29332       (uint8x16_t) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
29333 #endif
29334 }
29335 
29336 __extension__ extern __inline poly16x8_t
29337 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_p16(poly16x8_t __a,poly16x8_t __b)29338 vtrn2q_p16 (poly16x8_t __a, poly16x8_t __b)
29339 {
29340 #ifdef __AARCH64EB__
29341   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
29342 #else
29343   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
29344 #endif
29345 }
29346 
29347 __extension__ extern __inline int8x16_t
29348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_s8(int8x16_t __a,int8x16_t __b)29349 vtrn2q_s8 (int8x16_t __a, int8x16_t __b)
29350 {
29351 #ifdef __AARCH64EB__
29352   return __builtin_shuffle (__a, __b,
29353       (uint8x16_t) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
29354 #else
29355   return __builtin_shuffle (__a, __b,
29356       (uint8x16_t) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
29357 #endif
29358 }
29359 
29360 __extension__ extern __inline int16x8_t
29361 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_s16(int16x8_t __a,int16x8_t __b)29362 vtrn2q_s16 (int16x8_t __a, int16x8_t __b)
29363 {
29364 #ifdef __AARCH64EB__
29365   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
29366 #else
29367   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
29368 #endif
29369 }
29370 
29371 __extension__ extern __inline int32x4_t
29372 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_s32(int32x4_t __a,int32x4_t __b)29373 vtrn2q_s32 (int32x4_t __a, int32x4_t __b)
29374 {
29375 #ifdef __AARCH64EB__
29376   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 6, 2});
29377 #else
29378   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 5, 3, 7});
29379 #endif
29380 }
29381 
29382 __extension__ extern __inline int64x2_t
29383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_s64(int64x2_t __a,int64x2_t __b)29384 vtrn2q_s64 (int64x2_t __a, int64x2_t __b)
29385 {
29386 #ifdef __AARCH64EB__
29387   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
29388 #else
29389   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
29390 #endif
29391 }
29392 
29393 __extension__ extern __inline uint8x16_t
29394 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_u8(uint8x16_t __a,uint8x16_t __b)29395 vtrn2q_u8 (uint8x16_t __a, uint8x16_t __b)
29396 {
29397 #ifdef __AARCH64EB__
29398   return __builtin_shuffle (__a, __b,
29399       (uint8x16_t) {16, 0, 18, 2, 20, 4, 22, 6, 24, 8, 26, 10, 28, 12, 30, 14});
29400 #else
29401   return __builtin_shuffle (__a, __b,
29402       (uint8x16_t) {1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31});
29403 #endif
29404 }
29405 
29406 __extension__ extern __inline uint16x8_t
29407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_u16(uint16x8_t __a,uint16x8_t __b)29408 vtrn2q_u16 (uint16x8_t __a, uint16x8_t __b)
29409 {
29410 #ifdef __AARCH64EB__
29411   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 10, 2, 12, 4, 14, 6});
29412 #else
29413   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 9, 3, 11, 5, 13, 7, 15});
29414 #endif
29415 }
29416 
29417 __extension__ extern __inline uint32x4_t
29418 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_u32(uint32x4_t __a,uint32x4_t __b)29419 vtrn2q_u32 (uint32x4_t __a, uint32x4_t __b)
29420 {
29421 #ifdef __AARCH64EB__
29422   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 6, 2});
29423 #else
29424   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 5, 3, 7});
29425 #endif
29426 }
29427 
29428 __extension__ extern __inline uint64x2_t
29429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_u64(uint64x2_t __a,uint64x2_t __b)29430 vtrn2q_u64 (uint64x2_t __a, uint64x2_t __b)
29431 {
29432 #ifdef __AARCH64EB__
29433   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
29434 #else
29435   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
29436 #endif
29437 }
29438 
29439 
29440 __extension__ extern __inline poly64x2_t
29441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn2q_p64(poly64x2_t __a,poly64x2_t __b)29442 vtrn2q_p64 (poly64x2_t __a, poly64x2_t __b)
29443 {
29444 #ifdef __AARCH64EB__
29445   return __builtin_shuffle (__a, __b, (poly64x2_t) {2, 0});
29446 #else
29447   return __builtin_shuffle (__a, __b, (poly64x2_t) {1, 3});
29448 #endif
29449 }
29450 
29451 __extension__ extern __inline float16x4x2_t
29452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_f16(float16x4_t __a,float16x4_t __b)29453 vtrn_f16 (float16x4_t __a, float16x4_t __b)
29454 {
29455   return (float16x4x2_t) {vtrn1_f16 (__a, __b), vtrn2_f16 (__a, __b)};
29456 }
29457 
29458 __extension__ extern __inline float32x2x2_t
29459 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_f32(float32x2_t __a,float32x2_t __b)29460 vtrn_f32 (float32x2_t __a, float32x2_t __b)
29461 {
29462   return (float32x2x2_t) {vtrn1_f32 (__a, __b), vtrn2_f32 (__a, __b)};
29463 }
29464 
29465 __extension__ extern __inline poly8x8x2_t
29466 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_p8(poly8x8_t __a,poly8x8_t __b)29467 vtrn_p8 (poly8x8_t __a, poly8x8_t __b)
29468 {
29469   return (poly8x8x2_t) {vtrn1_p8 (__a, __b), vtrn2_p8 (__a, __b)};
29470 }
29471 
29472 __extension__ extern __inline poly16x4x2_t
29473 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_p16(poly16x4_t __a,poly16x4_t __b)29474 vtrn_p16 (poly16x4_t __a, poly16x4_t __b)
29475 {
29476   return (poly16x4x2_t) {vtrn1_p16 (__a, __b), vtrn2_p16 (__a, __b)};
29477 }
29478 
29479 __extension__ extern __inline int8x8x2_t
29480 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s8(int8x8_t __a,int8x8_t __b)29481 vtrn_s8 (int8x8_t __a, int8x8_t __b)
29482 {
29483   return (int8x8x2_t) {vtrn1_s8 (__a, __b), vtrn2_s8 (__a, __b)};
29484 }
29485 
29486 __extension__ extern __inline int16x4x2_t
29487 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s16(int16x4_t __a,int16x4_t __b)29488 vtrn_s16 (int16x4_t __a, int16x4_t __b)
29489 {
29490   return (int16x4x2_t) {vtrn1_s16 (__a, __b), vtrn2_s16 (__a, __b)};
29491 }
29492 
29493 __extension__ extern __inline int32x2x2_t
29494 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_s32(int32x2_t __a,int32x2_t __b)29495 vtrn_s32 (int32x2_t __a, int32x2_t __b)
29496 {
29497   return (int32x2x2_t) {vtrn1_s32 (__a, __b), vtrn2_s32 (__a, __b)};
29498 }
29499 
29500 __extension__ extern __inline uint8x8x2_t
29501 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u8(uint8x8_t __a,uint8x8_t __b)29502 vtrn_u8 (uint8x8_t __a, uint8x8_t __b)
29503 {
29504   return (uint8x8x2_t) {vtrn1_u8 (__a, __b), vtrn2_u8 (__a, __b)};
29505 }
29506 
29507 __extension__ extern __inline uint16x4x2_t
29508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u16(uint16x4_t __a,uint16x4_t __b)29509 vtrn_u16 (uint16x4_t __a, uint16x4_t __b)
29510 {
29511   return (uint16x4x2_t) {vtrn1_u16 (__a, __b), vtrn2_u16 (__a, __b)};
29512 }
29513 
29514 __extension__ extern __inline uint32x2x2_t
29515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrn_u32(uint32x2_t __a,uint32x2_t __b)29516 vtrn_u32 (uint32x2_t __a, uint32x2_t __b)
29517 {
29518   return (uint32x2x2_t) {vtrn1_u32 (__a, __b), vtrn2_u32 (__a, __b)};
29519 }
29520 
29521 __extension__ extern __inline float16x8x2_t
29522 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_f16(float16x8_t __a,float16x8_t __b)29523 vtrnq_f16 (float16x8_t __a, float16x8_t __b)
29524 {
29525   return (float16x8x2_t) {vtrn1q_f16 (__a, __b), vtrn2q_f16 (__a, __b)};
29526 }
29527 
29528 __extension__ extern __inline float32x4x2_t
29529 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_f32(float32x4_t __a,float32x4_t __b)29530 vtrnq_f32 (float32x4_t __a, float32x4_t __b)
29531 {
29532   return (float32x4x2_t) {vtrn1q_f32 (__a, __b), vtrn2q_f32 (__a, __b)};
29533 }
29534 
29535 __extension__ extern __inline poly8x16x2_t
29536 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_p8(poly8x16_t __a,poly8x16_t __b)29537 vtrnq_p8 (poly8x16_t __a, poly8x16_t __b)
29538 {
29539   return (poly8x16x2_t) {vtrn1q_p8 (__a, __b), vtrn2q_p8 (__a, __b)};
29540 }
29541 
29542 __extension__ extern __inline poly16x8x2_t
29543 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_p16(poly16x8_t __a,poly16x8_t __b)29544 vtrnq_p16 (poly16x8_t __a, poly16x8_t __b)
29545 {
29546   return (poly16x8x2_t) {vtrn1q_p16 (__a, __b), vtrn2q_p16 (__a, __b)};
29547 }
29548 
29549 __extension__ extern __inline int8x16x2_t
29550 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s8(int8x16_t __a,int8x16_t __b)29551 vtrnq_s8 (int8x16_t __a, int8x16_t __b)
29552 {
29553   return (int8x16x2_t) {vtrn1q_s8 (__a, __b), vtrn2q_s8 (__a, __b)};
29554 }
29555 
29556 __extension__ extern __inline int16x8x2_t
29557 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s16(int16x8_t __a,int16x8_t __b)29558 vtrnq_s16 (int16x8_t __a, int16x8_t __b)
29559 {
29560   return (int16x8x2_t) {vtrn1q_s16 (__a, __b), vtrn2q_s16 (__a, __b)};
29561 }
29562 
29563 __extension__ extern __inline int32x4x2_t
29564 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_s32(int32x4_t __a,int32x4_t __b)29565 vtrnq_s32 (int32x4_t __a, int32x4_t __b)
29566 {
29567   return (int32x4x2_t) {vtrn1q_s32 (__a, __b), vtrn2q_s32 (__a, __b)};
29568 }
29569 
29570 __extension__ extern __inline uint8x16x2_t
29571 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u8(uint8x16_t __a,uint8x16_t __b)29572 vtrnq_u8 (uint8x16_t __a, uint8x16_t __b)
29573 {
29574   return (uint8x16x2_t) {vtrn1q_u8 (__a, __b), vtrn2q_u8 (__a, __b)};
29575 }
29576 
29577 __extension__ extern __inline uint16x8x2_t
29578 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u16(uint16x8_t __a,uint16x8_t __b)29579 vtrnq_u16 (uint16x8_t __a, uint16x8_t __b)
29580 {
29581   return (uint16x8x2_t) {vtrn1q_u16 (__a, __b), vtrn2q_u16 (__a, __b)};
29582 }
29583 
29584 __extension__ extern __inline uint32x4x2_t
29585 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtrnq_u32(uint32x4_t __a,uint32x4_t __b)29586 vtrnq_u32 (uint32x4_t __a, uint32x4_t __b)
29587 {
29588   return (uint32x4x2_t) {vtrn1q_u32 (__a, __b), vtrn2q_u32 (__a, __b)};
29589 }
29590 
29591 /* vtst */
29592 
29593 __extension__ extern __inline uint8x8_t
29594 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s8(int8x8_t __a,int8x8_t __b)29595 vtst_s8 (int8x8_t __a, int8x8_t __b)
29596 {
29597   return (uint8x8_t) ((__a & __b) != 0);
29598 }
29599 
29600 __extension__ extern __inline uint16x4_t
29601 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s16(int16x4_t __a,int16x4_t __b)29602 vtst_s16 (int16x4_t __a, int16x4_t __b)
29603 {
29604   return (uint16x4_t) ((__a & __b) != 0);
29605 }
29606 
29607 __extension__ extern __inline uint32x2_t
29608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s32(int32x2_t __a,int32x2_t __b)29609 vtst_s32 (int32x2_t __a, int32x2_t __b)
29610 {
29611   return (uint32x2_t) ((__a & __b) != 0);
29612 }
29613 
29614 __extension__ extern __inline uint64x1_t
29615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_s64(int64x1_t __a,int64x1_t __b)29616 vtst_s64 (int64x1_t __a, int64x1_t __b)
29617 {
29618   return (uint64x1_t) ((__a & __b) != __AARCH64_INT64_C (0));
29619 }
29620 
29621 __extension__ extern __inline uint8x8_t
29622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u8(uint8x8_t __a,uint8x8_t __b)29623 vtst_u8 (uint8x8_t __a, uint8x8_t __b)
29624 {
29625   return ((__a & __b) != 0);
29626 }
29627 
29628 __extension__ extern __inline uint16x4_t
29629 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u16(uint16x4_t __a,uint16x4_t __b)29630 vtst_u16 (uint16x4_t __a, uint16x4_t __b)
29631 {
29632   return ((__a & __b) != 0);
29633 }
29634 
29635 __extension__ extern __inline uint32x2_t
29636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u32(uint32x2_t __a,uint32x2_t __b)29637 vtst_u32 (uint32x2_t __a, uint32x2_t __b)
29638 {
29639   return ((__a & __b) != 0);
29640 }
29641 
29642 __extension__ extern __inline uint64x1_t
29643 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtst_u64(uint64x1_t __a,uint64x1_t __b)29644 vtst_u64 (uint64x1_t __a, uint64x1_t __b)
29645 {
29646   return ((__a & __b) != __AARCH64_UINT64_C (0));
29647 }
29648 
29649 __extension__ extern __inline uint8x16_t
29650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s8(int8x16_t __a,int8x16_t __b)29651 vtstq_s8 (int8x16_t __a, int8x16_t __b)
29652 {
29653   return (uint8x16_t) ((__a & __b) != 0);
29654 }
29655 
29656 __extension__ extern __inline uint16x8_t
29657 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s16(int16x8_t __a,int16x8_t __b)29658 vtstq_s16 (int16x8_t __a, int16x8_t __b)
29659 {
29660   return (uint16x8_t) ((__a & __b) != 0);
29661 }
29662 
29663 __extension__ extern __inline uint32x4_t
29664 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s32(int32x4_t __a,int32x4_t __b)29665 vtstq_s32 (int32x4_t __a, int32x4_t __b)
29666 {
29667   return (uint32x4_t) ((__a & __b) != 0);
29668 }
29669 
29670 __extension__ extern __inline uint64x2_t
29671 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_s64(int64x2_t __a,int64x2_t __b)29672 vtstq_s64 (int64x2_t __a, int64x2_t __b)
29673 {
29674   return (uint64x2_t) ((__a & __b) != __AARCH64_INT64_C (0));
29675 }
29676 
29677 __extension__ extern __inline uint8x16_t
29678 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u8(uint8x16_t __a,uint8x16_t __b)29679 vtstq_u8 (uint8x16_t __a, uint8x16_t __b)
29680 {
29681   return ((__a & __b) != 0);
29682 }
29683 
29684 __extension__ extern __inline uint16x8_t
29685 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u16(uint16x8_t __a,uint16x8_t __b)29686 vtstq_u16 (uint16x8_t __a, uint16x8_t __b)
29687 {
29688   return ((__a & __b) != 0);
29689 }
29690 
29691 __extension__ extern __inline uint32x4_t
29692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u32(uint32x4_t __a,uint32x4_t __b)29693 vtstq_u32 (uint32x4_t __a, uint32x4_t __b)
29694 {
29695   return ((__a & __b) != 0);
29696 }
29697 
29698 __extension__ extern __inline uint64x2_t
29699 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstq_u64(uint64x2_t __a,uint64x2_t __b)29700 vtstq_u64 (uint64x2_t __a, uint64x2_t __b)
29701 {
29702   return ((__a & __b) != __AARCH64_UINT64_C (0));
29703 }
29704 
29705 __extension__ extern __inline uint64_t
29706 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstd_s64(int64_t __a,int64_t __b)29707 vtstd_s64 (int64_t __a, int64_t __b)
29708 {
29709   return (__a & __b) ? -1ll : 0ll;
29710 }
29711 
29712 __extension__ extern __inline uint64_t
29713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vtstd_u64(uint64_t __a,uint64_t __b)29714 vtstd_u64 (uint64_t __a, uint64_t __b)
29715 {
29716   return (__a & __b) ? -1ll : 0ll;
29717 }
29718 
29719 /* vuqadd */
29720 
29721 __extension__ extern __inline int8x8_t
29722 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadd_s8(int8x8_t __a,uint8x8_t __b)29723 vuqadd_s8 (int8x8_t __a, uint8x8_t __b)
29724 {
29725   return __builtin_aarch64_suqaddv8qi_ssu (__a,  __b);
29726 }
29727 
29728 __extension__ extern __inline int16x4_t
29729 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadd_s16(int16x4_t __a,uint16x4_t __b)29730 vuqadd_s16 (int16x4_t __a, uint16x4_t __b)
29731 {
29732   return __builtin_aarch64_suqaddv4hi_ssu (__a,  __b);
29733 }
29734 
29735 __extension__ extern __inline int32x2_t
29736 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadd_s32(int32x2_t __a,uint32x2_t __b)29737 vuqadd_s32 (int32x2_t __a, uint32x2_t __b)
29738 {
29739   return __builtin_aarch64_suqaddv2si_ssu (__a,  __b);
29740 }
29741 
29742 __extension__ extern __inline int64x1_t
29743 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadd_s64(int64x1_t __a,uint64x1_t __b)29744 vuqadd_s64 (int64x1_t __a, uint64x1_t __b)
29745 {
29746   return (int64x1_t) {__builtin_aarch64_suqadddi_ssu (__a[0], __b[0])};
29747 }
29748 
29749 __extension__ extern __inline int8x16_t
29750 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddq_s8(int8x16_t __a,uint8x16_t __b)29751 vuqaddq_s8 (int8x16_t __a, uint8x16_t __b)
29752 {
29753   return __builtin_aarch64_suqaddv16qi_ssu (__a,  __b);
29754 }
29755 
29756 __extension__ extern __inline int16x8_t
29757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddq_s16(int16x8_t __a,uint16x8_t __b)29758 vuqaddq_s16 (int16x8_t __a, uint16x8_t __b)
29759 {
29760   return __builtin_aarch64_suqaddv8hi_ssu (__a,  __b);
29761 }
29762 
29763 __extension__ extern __inline int32x4_t
29764 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddq_s32(int32x4_t __a,uint32x4_t __b)29765 vuqaddq_s32 (int32x4_t __a, uint32x4_t __b)
29766 {
29767   return __builtin_aarch64_suqaddv4si_ssu (__a,  __b);
29768 }
29769 
29770 __extension__ extern __inline int64x2_t
29771 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddq_s64(int64x2_t __a,uint64x2_t __b)29772 vuqaddq_s64 (int64x2_t __a, uint64x2_t __b)
29773 {
29774   return __builtin_aarch64_suqaddv2di_ssu (__a,  __b);
29775 }
29776 
29777 __extension__ extern __inline int8_t
29778 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddb_s8(int8_t __a,uint8_t __b)29779 vuqaddb_s8 (int8_t __a, uint8_t __b)
29780 {
29781   return __builtin_aarch64_suqaddqi_ssu (__a,  __b);
29782 }
29783 
29784 __extension__ extern __inline int16_t
29785 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddh_s16(int16_t __a,uint16_t __b)29786 vuqaddh_s16 (int16_t __a, uint16_t __b)
29787 {
29788   return __builtin_aarch64_suqaddhi_ssu (__a,  __b);
29789 }
29790 
29791 __extension__ extern __inline int32_t
29792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqadds_s32(int32_t __a,uint32_t __b)29793 vuqadds_s32 (int32_t __a, uint32_t __b)
29794 {
29795   return __builtin_aarch64_suqaddsi_ssu (__a,  __b);
29796 }
29797 
29798 __extension__ extern __inline int64_t
29799 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuqaddd_s64(int64_t __a,uint64_t __b)29800 vuqaddd_s64 (int64_t __a, uint64_t __b)
29801 {
29802   return __builtin_aarch64_suqadddi_ssu (__a,  __b);
29803 }
29804 
29805 #define __DEFINTERLEAVE(op, rettype, intype, funcsuffix, Q) 		\
29806   __extension__ extern __inline rettype					\
29807   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) \
29808   v ## op ## Q ## _ ## funcsuffix (intype a, intype b)			\
29809   {									\
29810     return (rettype) {v ## op ## 1 ## Q ## _ ## funcsuffix (a, b),	\
29811 		      v ## op ## 2 ## Q ## _ ## funcsuffix (a, b)};	\
29812   }
29813 
29814 #define __INTERLEAVE_LIST(op)					\
29815   __DEFINTERLEAVE (op, float16x4x2_t, float16x4_t, f16,)	\
29816   __DEFINTERLEAVE (op, float32x2x2_t, float32x2_t, f32,)	\
29817   __DEFINTERLEAVE (op, poly8x8x2_t, poly8x8_t, p8,)		\
29818   __DEFINTERLEAVE (op, poly16x4x2_t, poly16x4_t, p16,)		\
29819   __DEFINTERLEAVE (op, int8x8x2_t, int8x8_t, s8,)		\
29820   __DEFINTERLEAVE (op, int16x4x2_t, int16x4_t, s16,)		\
29821   __DEFINTERLEAVE (op, int32x2x2_t, int32x2_t, s32,)		\
29822   __DEFINTERLEAVE (op, uint8x8x2_t, uint8x8_t, u8,)		\
29823   __DEFINTERLEAVE (op, uint16x4x2_t, uint16x4_t, u16,)		\
29824   __DEFINTERLEAVE (op, uint32x2x2_t, uint32x2_t, u32,)		\
29825   __DEFINTERLEAVE (op, float16x8x2_t, float16x8_t, f16, q)	\
29826   __DEFINTERLEAVE (op, float32x4x2_t, float32x4_t, f32, q)	\
29827   __DEFINTERLEAVE (op, poly8x16x2_t, poly8x16_t, p8, q)		\
29828   __DEFINTERLEAVE (op, poly16x8x2_t, poly16x8_t, p16, q)	\
29829   __DEFINTERLEAVE (op, int8x16x2_t, int8x16_t, s8, q)		\
29830   __DEFINTERLEAVE (op, int16x8x2_t, int16x8_t, s16, q)		\
29831   __DEFINTERLEAVE (op, int32x4x2_t, int32x4_t, s32, q)		\
29832   __DEFINTERLEAVE (op, uint8x16x2_t, uint8x16_t, u8, q)		\
29833   __DEFINTERLEAVE (op, uint16x8x2_t, uint16x8_t, u16, q)	\
29834   __DEFINTERLEAVE (op, uint32x4x2_t, uint32x4_t, u32, q)
29835 
29836 /* vuzp */
29837 
29838 __extension__ extern __inline float16x4_t
29839 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_f16(float16x4_t __a,float16x4_t __b)29840 vuzp1_f16 (float16x4_t __a, float16x4_t __b)
29841 {
29842 #ifdef __AARCH64EB__
29843   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
29844 #else
29845   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
29846 #endif
29847 }
29848 
29849 __extension__ extern __inline float32x2_t
29850 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_f32(float32x2_t __a,float32x2_t __b)29851 vuzp1_f32 (float32x2_t __a, float32x2_t __b)
29852 {
29853 #ifdef __AARCH64EB__
29854   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
29855 #else
29856   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
29857 #endif
29858 }
29859 
29860 __extension__ extern __inline poly8x8_t
29861 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_p8(poly8x8_t __a,poly8x8_t __b)29862 vuzp1_p8 (poly8x8_t __a, poly8x8_t __b)
29863 {
29864 #ifdef __AARCH64EB__
29865   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
29866 #else
29867   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
29868 #endif
29869 }
29870 
29871 __extension__ extern __inline poly16x4_t
29872 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_p16(poly16x4_t __a,poly16x4_t __b)29873 vuzp1_p16 (poly16x4_t __a, poly16x4_t __b)
29874 {
29875 #ifdef __AARCH64EB__
29876   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
29877 #else
29878   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
29879 #endif
29880 }
29881 
29882 __extension__ extern __inline int8x8_t
29883 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_s8(int8x8_t __a,int8x8_t __b)29884 vuzp1_s8 (int8x8_t __a, int8x8_t __b)
29885 {
29886 #ifdef __AARCH64EB__
29887   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
29888 #else
29889   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
29890 #endif
29891 }
29892 
29893 __extension__ extern __inline int16x4_t
29894 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_s16(int16x4_t __a,int16x4_t __b)29895 vuzp1_s16 (int16x4_t __a, int16x4_t __b)
29896 {
29897 #ifdef __AARCH64EB__
29898   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
29899 #else
29900   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
29901 #endif
29902 }
29903 
29904 __extension__ extern __inline int32x2_t
29905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_s32(int32x2_t __a,int32x2_t __b)29906 vuzp1_s32 (int32x2_t __a, int32x2_t __b)
29907 {
29908 #ifdef __AARCH64EB__
29909   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
29910 #else
29911   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
29912 #endif
29913 }
29914 
29915 __extension__ extern __inline uint8x8_t
29916 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_u8(uint8x8_t __a,uint8x8_t __b)29917 vuzp1_u8 (uint8x8_t __a, uint8x8_t __b)
29918 {
29919 #ifdef __AARCH64EB__
29920   return __builtin_shuffle (__a, __b, (uint8x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
29921 #else
29922   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
29923 #endif
29924 }
29925 
29926 __extension__ extern __inline uint16x4_t
29927 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_u16(uint16x4_t __a,uint16x4_t __b)29928 vuzp1_u16 (uint16x4_t __a, uint16x4_t __b)
29929 {
29930 #ifdef __AARCH64EB__
29931   return __builtin_shuffle (__a, __b, (uint16x4_t) {5, 7, 1, 3});
29932 #else
29933   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 2, 4, 6});
29934 #endif
29935 }
29936 
29937 __extension__ extern __inline uint32x2_t
29938 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1_u32(uint32x2_t __a,uint32x2_t __b)29939 vuzp1_u32 (uint32x2_t __a, uint32x2_t __b)
29940 {
29941 #ifdef __AARCH64EB__
29942   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
29943 #else
29944   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
29945 #endif
29946 }
29947 
29948 __extension__ extern __inline float16x8_t
29949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_f16(float16x8_t __a,float16x8_t __b)29950 vuzp1q_f16 (float16x8_t __a, float16x8_t __b)
29951 {
29952 #ifdef __AARCH64EB__
29953   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
29954 #else
29955   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
29956 #endif
29957 }
29958 
29959 __extension__ extern __inline float32x4_t
29960 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_f32(float32x4_t __a,float32x4_t __b)29961 vuzp1q_f32 (float32x4_t __a, float32x4_t __b)
29962 {
29963 #ifdef __AARCH64EB__
29964   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 7, 1, 3});
29965 #else
29966   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 2, 4, 6});
29967 #endif
29968 }
29969 
29970 __extension__ extern __inline float64x2_t
29971 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_f64(float64x2_t __a,float64x2_t __b)29972 vuzp1q_f64 (float64x2_t __a, float64x2_t __b)
29973 {
29974 #ifdef __AARCH64EB__
29975   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
29976 #else
29977   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
29978 #endif
29979 }
29980 
29981 __extension__ extern __inline poly8x16_t
29982 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_p8(poly8x16_t __a,poly8x16_t __b)29983 vuzp1q_p8 (poly8x16_t __a, poly8x16_t __b)
29984 {
29985 #ifdef __AARCH64EB__
29986   return __builtin_shuffle (__a, __b, (uint8x16_t)
29987       {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
29988 #else
29989   return __builtin_shuffle (__a, __b, (uint8x16_t)
29990       {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
29991 #endif
29992 }
29993 
29994 __extension__ extern __inline poly16x8_t
29995 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_p16(poly16x8_t __a,poly16x8_t __b)29996 vuzp1q_p16 (poly16x8_t __a, poly16x8_t __b)
29997 {
29998 #ifdef __AARCH64EB__
29999   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
30000 #else
30001   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
30002 #endif
30003 }
30004 
30005 __extension__ extern __inline int8x16_t
30006 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_s8(int8x16_t __a,int8x16_t __b)30007 vuzp1q_s8 (int8x16_t __a, int8x16_t __b)
30008 {
30009 #ifdef __AARCH64EB__
30010   return __builtin_shuffle (__a, __b,
30011       (uint8x16_t) {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
30012 #else
30013   return __builtin_shuffle (__a, __b,
30014       (uint8x16_t) {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
30015 #endif
30016 }
30017 
30018 __extension__ extern __inline int16x8_t
30019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_s16(int16x8_t __a,int16x8_t __b)30020 vuzp1q_s16 (int16x8_t __a, int16x8_t __b)
30021 {
30022 #ifdef __AARCH64EB__
30023   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
30024 #else
30025   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
30026 #endif
30027 }
30028 
30029 __extension__ extern __inline int32x4_t
30030 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_s32(int32x4_t __a,int32x4_t __b)30031 vuzp1q_s32 (int32x4_t __a, int32x4_t __b)
30032 {
30033 #ifdef __AARCH64EB__
30034   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 7, 1, 3});
30035 #else
30036   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 2, 4, 6});
30037 #endif
30038 }
30039 
30040 __extension__ extern __inline int64x2_t
30041 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_s64(int64x2_t __a,int64x2_t __b)30042 vuzp1q_s64 (int64x2_t __a, int64x2_t __b)
30043 {
30044 #ifdef __AARCH64EB__
30045   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
30046 #else
30047   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
30048 #endif
30049 }
30050 
30051 __extension__ extern __inline uint8x16_t
30052 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_u8(uint8x16_t __a,uint8x16_t __b)30053 vuzp1q_u8 (uint8x16_t __a, uint8x16_t __b)
30054 {
30055 #ifdef __AARCH64EB__
30056   return __builtin_shuffle (__a, __b,
30057       (uint8x16_t) {17, 19, 21, 23, 25, 27, 29, 31, 1, 3, 5, 7, 9, 11, 13, 15});
30058 #else
30059   return __builtin_shuffle (__a, __b,
30060       (uint8x16_t) {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30});
30061 #endif
30062 }
30063 
30064 __extension__ extern __inline uint16x8_t
30065 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_u16(uint16x8_t __a,uint16x8_t __b)30066 vuzp1q_u16 (uint16x8_t __a, uint16x8_t __b)
30067 {
30068 #ifdef __AARCH64EB__
30069   return __builtin_shuffle (__a, __b, (uint16x8_t) {9, 11, 13, 15, 1, 3, 5, 7});
30070 #else
30071   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 2, 4, 6, 8, 10, 12, 14});
30072 #endif
30073 }
30074 
30075 __extension__ extern __inline uint32x4_t
30076 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_u32(uint32x4_t __a,uint32x4_t __b)30077 vuzp1q_u32 (uint32x4_t __a, uint32x4_t __b)
30078 {
30079 #ifdef __AARCH64EB__
30080   return __builtin_shuffle (__a, __b, (uint32x4_t) {5, 7, 1, 3});
30081 #else
30082   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 2, 4, 6});
30083 #endif
30084 }
30085 
30086 __extension__ extern __inline uint64x2_t
30087 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_u64(uint64x2_t __a,uint64x2_t __b)30088 vuzp1q_u64 (uint64x2_t __a, uint64x2_t __b)
30089 {
30090 #ifdef __AARCH64EB__
30091   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
30092 #else
30093   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
30094 #endif
30095 }
30096 
30097 __extension__ extern __inline poly64x2_t
30098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp1q_p64(poly64x2_t __a,poly64x2_t __b)30099 vuzp1q_p64 (poly64x2_t __a, poly64x2_t __b)
30100 {
30101 #ifdef __AARCH64EB__
30102   return __builtin_shuffle (__a, __b, (poly64x2_t) {3, 1});
30103 #else
30104   return __builtin_shuffle (__a, __b, (poly64x2_t) {0, 2});
30105 #endif
30106 }
30107 
30108 __extension__ extern __inline float16x4_t
30109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_f16(float16x4_t __a,float16x4_t __b)30110 vuzp2_f16 (float16x4_t __a, float16x4_t __b)
30111 {
30112 #ifdef __AARCH64EB__
30113   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
30114 #else
30115   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
30116 #endif
30117 }
30118 
30119 __extension__ extern __inline float32x2_t
30120 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_f32(float32x2_t __a,float32x2_t __b)30121 vuzp2_f32 (float32x2_t __a, float32x2_t __b)
30122 {
30123 #ifdef __AARCH64EB__
30124   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
30125 #else
30126   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
30127 #endif
30128 }
30129 
30130 __extension__ extern __inline poly8x8_t
30131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_p8(poly8x8_t __a,poly8x8_t __b)30132 vuzp2_p8 (poly8x8_t __a, poly8x8_t __b)
30133 {
30134 #ifdef __AARCH64EB__
30135   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
30136 #else
30137   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
30138 #endif
30139 }
30140 
30141 __extension__ extern __inline poly16x4_t
30142 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_p16(poly16x4_t __a,poly16x4_t __b)30143 vuzp2_p16 (poly16x4_t __a, poly16x4_t __b)
30144 {
30145 #ifdef __AARCH64EB__
30146   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
30147 #else
30148   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
30149 #endif
30150 }
30151 
30152 __extension__ extern __inline int8x8_t
30153 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_s8(int8x8_t __a,int8x8_t __b)30154 vuzp2_s8 (int8x8_t __a, int8x8_t __b)
30155 {
30156 #ifdef __AARCH64EB__
30157   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
30158 #else
30159   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
30160 #endif
30161 }
30162 
30163 __extension__ extern __inline int16x4_t
30164 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_s16(int16x4_t __a,int16x4_t __b)30165 vuzp2_s16 (int16x4_t __a, int16x4_t __b)
30166 {
30167 #ifdef __AARCH64EB__
30168   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
30169 #else
30170   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
30171 #endif
30172 }
30173 
30174 __extension__ extern __inline int32x2_t
30175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_s32(int32x2_t __a,int32x2_t __b)30176 vuzp2_s32 (int32x2_t __a, int32x2_t __b)
30177 {
30178 #ifdef __AARCH64EB__
30179   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
30180 #else
30181   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
30182 #endif
30183 }
30184 
30185 __extension__ extern __inline uint8x8_t
30186 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_u8(uint8x8_t __a,uint8x8_t __b)30187 vuzp2_u8 (uint8x8_t __a, uint8x8_t __b)
30188 {
30189 #ifdef __AARCH64EB__
30190   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
30191 #else
30192   return __builtin_shuffle (__a, __b, (uint8x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
30193 #endif
30194 }
30195 
30196 __extension__ extern __inline uint16x4_t
30197 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_u16(uint16x4_t __a,uint16x4_t __b)30198 vuzp2_u16 (uint16x4_t __a, uint16x4_t __b)
30199 {
30200 #ifdef __AARCH64EB__
30201   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 6, 0, 2});
30202 #else
30203   return __builtin_shuffle (__a, __b, (uint16x4_t) {1, 3, 5, 7});
30204 #endif
30205 }
30206 
30207 __extension__ extern __inline uint32x2_t
30208 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2_u32(uint32x2_t __a,uint32x2_t __b)30209 vuzp2_u32 (uint32x2_t __a, uint32x2_t __b)
30210 {
30211 #ifdef __AARCH64EB__
30212   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
30213 #else
30214   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
30215 #endif
30216 }
30217 
30218 __extension__ extern __inline float16x8_t
30219 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_f16(float16x8_t __a,float16x8_t __b)30220 vuzp2q_f16 (float16x8_t __a, float16x8_t __b)
30221 {
30222 #ifdef __AARCH64EB__
30223   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
30224 #else
30225   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
30226 #endif
30227 }
30228 
30229 __extension__ extern __inline float32x4_t
30230 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_f32(float32x4_t __a,float32x4_t __b)30231 vuzp2q_f32 (float32x4_t __a, float32x4_t __b)
30232 {
30233 #ifdef __AARCH64EB__
30234   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 6, 0, 2});
30235 #else
30236   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 3, 5, 7});
30237 #endif
30238 }
30239 
30240 __extension__ extern __inline float64x2_t
30241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_f64(float64x2_t __a,float64x2_t __b)30242 vuzp2q_f64 (float64x2_t __a, float64x2_t __b)
30243 {
30244 #ifdef __AARCH64EB__
30245   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
30246 #else
30247   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
30248 #endif
30249 }
30250 
30251 __extension__ extern __inline poly8x16_t
30252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_p8(poly8x16_t __a,poly8x16_t __b)30253 vuzp2q_p8 (poly8x16_t __a, poly8x16_t __b)
30254 {
30255 #ifdef __AARCH64EB__
30256   return __builtin_shuffle (__a, __b,
30257       (uint8x16_t) {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
30258 #else
30259   return __builtin_shuffle (__a, __b,
30260       (uint8x16_t) {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
30261 #endif
30262 }
30263 
30264 __extension__ extern __inline poly16x8_t
30265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_p16(poly16x8_t __a,poly16x8_t __b)30266 vuzp2q_p16 (poly16x8_t __a, poly16x8_t __b)
30267 {
30268 #ifdef __AARCH64EB__
30269   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
30270 #else
30271   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
30272 #endif
30273 }
30274 
30275 __extension__ extern __inline int8x16_t
30276 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_s8(int8x16_t __a,int8x16_t __b)30277 vuzp2q_s8 (int8x16_t __a, int8x16_t __b)
30278 {
30279 #ifdef __AARCH64EB__
30280   return __builtin_shuffle (__a, __b,
30281       (uint8x16_t) {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
30282 #else
30283   return __builtin_shuffle (__a, __b,
30284       (uint8x16_t) {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
30285 #endif
30286 }
30287 
30288 __extension__ extern __inline int16x8_t
30289 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_s16(int16x8_t __a,int16x8_t __b)30290 vuzp2q_s16 (int16x8_t __a, int16x8_t __b)
30291 {
30292 #ifdef __AARCH64EB__
30293   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
30294 #else
30295   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
30296 #endif
30297 }
30298 
30299 __extension__ extern __inline int32x4_t
30300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_s32(int32x4_t __a,int32x4_t __b)30301 vuzp2q_s32 (int32x4_t __a, int32x4_t __b)
30302 {
30303 #ifdef __AARCH64EB__
30304   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 6, 0, 2});
30305 #else
30306   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 3, 5, 7});
30307 #endif
30308 }
30309 
30310 __extension__ extern __inline int64x2_t
30311 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_s64(int64x2_t __a,int64x2_t __b)30312 vuzp2q_s64 (int64x2_t __a, int64x2_t __b)
30313 {
30314 #ifdef __AARCH64EB__
30315   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
30316 #else
30317   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
30318 #endif
30319 }
30320 
30321 __extension__ extern __inline uint8x16_t
30322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_u8(uint8x16_t __a,uint8x16_t __b)30323 vuzp2q_u8 (uint8x16_t __a, uint8x16_t __b)
30324 {
30325 #ifdef __AARCH64EB__
30326   return __builtin_shuffle (__a, __b, (uint8x16_t)
30327       {16, 18, 20, 22, 24, 26, 28, 30, 0, 2, 4, 6, 8, 10, 12, 14});
30328 #else
30329   return __builtin_shuffle (__a, __b, (uint8x16_t)
30330       {1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31});
30331 #endif
30332 }
30333 
30334 __extension__ extern __inline uint16x8_t
30335 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_u16(uint16x8_t __a,uint16x8_t __b)30336 vuzp2q_u16 (uint16x8_t __a, uint16x8_t __b)
30337 {
30338 #ifdef __AARCH64EB__
30339   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 10, 12, 14, 0, 2, 4, 6});
30340 #else
30341   return __builtin_shuffle (__a, __b, (uint16x8_t) {1, 3, 5, 7, 9, 11, 13, 15});
30342 #endif
30343 }
30344 
30345 __extension__ extern __inline uint32x4_t
30346 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_u32(uint32x4_t __a,uint32x4_t __b)30347 vuzp2q_u32 (uint32x4_t __a, uint32x4_t __b)
30348 {
30349 #ifdef __AARCH64EB__
30350   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 6, 0, 2});
30351 #else
30352   return __builtin_shuffle (__a, __b, (uint32x4_t) {1, 3, 5, 7});
30353 #endif
30354 }
30355 
30356 __extension__ extern __inline uint64x2_t
30357 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_u64(uint64x2_t __a,uint64x2_t __b)30358 vuzp2q_u64 (uint64x2_t __a, uint64x2_t __b)
30359 {
30360 #ifdef __AARCH64EB__
30361   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
30362 #else
30363   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
30364 #endif
30365 }
30366 
30367 __extension__ extern __inline poly64x2_t
30368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vuzp2q_p64(poly64x2_t __a,poly64x2_t __b)30369 vuzp2q_p64 (poly64x2_t __a, poly64x2_t __b)
30370 {
30371 #ifdef __AARCH64EB__
30372   return __builtin_shuffle (__a, __b, (poly64x2_t) {2, 0});
30373 #else
30374   return __builtin_shuffle (__a, __b, (poly64x2_t) {1, 3});
30375 #endif
30376 }
30377 
__INTERLEAVE_LIST(uzp)30378 __INTERLEAVE_LIST (uzp)
30379 
30380 /* vzip */
30381 
30382 __extension__ extern __inline float16x4_t
30383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
30384 vzip1_f16 (float16x4_t __a, float16x4_t __b)
30385 {
30386 #ifdef __AARCH64EB__
30387   return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
30388 #else
30389   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
30390 #endif
30391 }
30392 
30393 __extension__ extern __inline float32x2_t
30394 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_f32(float32x2_t __a,float32x2_t __b)30395 vzip1_f32 (float32x2_t __a, float32x2_t __b)
30396 {
30397 #ifdef __AARCH64EB__
30398   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
30399 #else
30400   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
30401 #endif
30402 }
30403 
30404 __extension__ extern __inline poly8x8_t
30405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_p8(poly8x8_t __a,poly8x8_t __b)30406 vzip1_p8 (poly8x8_t __a, poly8x8_t __b)
30407 {
30408 #ifdef __AARCH64EB__
30409   return __builtin_shuffle (__a, __b, (uint8x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
30410 #else
30411   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
30412 #endif
30413 }
30414 
30415 __extension__ extern __inline poly16x4_t
30416 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_p16(poly16x4_t __a,poly16x4_t __b)30417 vzip1_p16 (poly16x4_t __a, poly16x4_t __b)
30418 {
30419 #ifdef __AARCH64EB__
30420   return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
30421 #else
30422   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
30423 #endif
30424 }
30425 
30426 __extension__ extern __inline int8x8_t
30427 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_s8(int8x8_t __a,int8x8_t __b)30428 vzip1_s8 (int8x8_t __a, int8x8_t __b)
30429 {
30430 #ifdef __AARCH64EB__
30431   return __builtin_shuffle (__a, __b, (uint8x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
30432 #else
30433   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
30434 #endif
30435 }
30436 
30437 __extension__ extern __inline int16x4_t
30438 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_s16(int16x4_t __a,int16x4_t __b)30439 vzip1_s16 (int16x4_t __a, int16x4_t __b)
30440 {
30441 #ifdef __AARCH64EB__
30442   return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
30443 #else
30444   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
30445 #endif
30446 }
30447 
30448 __extension__ extern __inline int32x2_t
30449 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_s32(int32x2_t __a,int32x2_t __b)30450 vzip1_s32 (int32x2_t __a, int32x2_t __b)
30451 {
30452 #ifdef __AARCH64EB__
30453   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
30454 #else
30455   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
30456 #endif
30457 }
30458 
30459 __extension__ extern __inline uint8x8_t
30460 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_u8(uint8x8_t __a,uint8x8_t __b)30461 vzip1_u8 (uint8x8_t __a, uint8x8_t __b)
30462 {
30463 #ifdef __AARCH64EB__
30464   return __builtin_shuffle (__a, __b, (uint8x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
30465 #else
30466   return __builtin_shuffle (__a, __b, (uint8x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
30467 #endif
30468 }
30469 
30470 __extension__ extern __inline uint16x4_t
30471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_u16(uint16x4_t __a,uint16x4_t __b)30472 vzip1_u16 (uint16x4_t __a, uint16x4_t __b)
30473 {
30474 #ifdef __AARCH64EB__
30475   return __builtin_shuffle (__a, __b, (uint16x4_t) {6, 2, 7, 3});
30476 #else
30477   return __builtin_shuffle (__a, __b, (uint16x4_t) {0, 4, 1, 5});
30478 #endif
30479 }
30480 
30481 __extension__ extern __inline uint32x2_t
30482 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1_u32(uint32x2_t __a,uint32x2_t __b)30483 vzip1_u32 (uint32x2_t __a, uint32x2_t __b)
30484 {
30485 #ifdef __AARCH64EB__
30486   return __builtin_shuffle (__a, __b, (uint32x2_t) {3, 1});
30487 #else
30488   return __builtin_shuffle (__a, __b, (uint32x2_t) {0, 2});
30489 #endif
30490 }
30491 
30492 __extension__ extern __inline float16x8_t
30493 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_f16(float16x8_t __a,float16x8_t __b)30494 vzip1q_f16 (float16x8_t __a, float16x8_t __b)
30495 {
30496 #ifdef __AARCH64EB__
30497   return __builtin_shuffle (__a, __b,
30498 			    (uint16x8_t) {12, 4, 13, 5, 14, 6, 15, 7});
30499 #else
30500   return __builtin_shuffle (__a, __b,
30501 			    (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
30502 #endif
30503 }
30504 
30505 __extension__ extern __inline float32x4_t
30506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_f32(float32x4_t __a,float32x4_t __b)30507 vzip1q_f32 (float32x4_t __a, float32x4_t __b)
30508 {
30509 #ifdef __AARCH64EB__
30510   return __builtin_shuffle (__a, __b, (uint32x4_t) {6, 2, 7, 3});
30511 #else
30512   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 1, 5});
30513 #endif
30514 }
30515 
30516 __extension__ extern __inline float64x2_t
30517 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_f64(float64x2_t __a,float64x2_t __b)30518 vzip1q_f64 (float64x2_t __a, float64x2_t __b)
30519 {
30520 #ifdef __AARCH64EB__
30521   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
30522 #else
30523   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
30524 #endif
30525 }
30526 
30527 __extension__ extern __inline poly8x16_t
30528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_p8(poly8x16_t __a,poly8x16_t __b)30529 vzip1q_p8 (poly8x16_t __a, poly8x16_t __b)
30530 {
30531 #ifdef __AARCH64EB__
30532   return __builtin_shuffle (__a, __b, (uint8x16_t)
30533       {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
30534 #else
30535   return __builtin_shuffle (__a, __b, (uint8x16_t)
30536       {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
30537 #endif
30538 }
30539 
30540 __extension__ extern __inline poly16x8_t
30541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_p16(poly16x8_t __a,poly16x8_t __b)30542 vzip1q_p16 (poly16x8_t __a, poly16x8_t __b)
30543 {
30544 #ifdef __AARCH64EB__
30545   return __builtin_shuffle (__a, __b, (uint16x8_t)
30546       {12, 4, 13, 5, 14, 6, 15, 7});
30547 #else
30548   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
30549 #endif
30550 }
30551 
30552 __extension__ extern __inline int8x16_t
30553 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_s8(int8x16_t __a,int8x16_t __b)30554 vzip1q_s8 (int8x16_t __a, int8x16_t __b)
30555 {
30556 #ifdef __AARCH64EB__
30557   return __builtin_shuffle (__a, __b, (uint8x16_t)
30558       {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
30559 #else
30560   return __builtin_shuffle (__a, __b, (uint8x16_t)
30561       {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
30562 #endif
30563 }
30564 
30565 __extension__ extern __inline int16x8_t
30566 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_s16(int16x8_t __a,int16x8_t __b)30567 vzip1q_s16 (int16x8_t __a, int16x8_t __b)
30568 {
30569 #ifdef __AARCH64EB__
30570   return __builtin_shuffle (__a, __b, (uint16x8_t)
30571       {12, 4, 13, 5, 14, 6, 15, 7});
30572 #else
30573   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
30574 #endif
30575 }
30576 
30577 __extension__ extern __inline int32x4_t
30578 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_s32(int32x4_t __a,int32x4_t __b)30579 vzip1q_s32 (int32x4_t __a, int32x4_t __b)
30580 {
30581 #ifdef __AARCH64EB__
30582   return __builtin_shuffle (__a, __b, (uint32x4_t) {6, 2, 7, 3});
30583 #else
30584   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 1, 5});
30585 #endif
30586 }
30587 
30588 __extension__ extern __inline int64x2_t
30589 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_s64(int64x2_t __a,int64x2_t __b)30590 vzip1q_s64 (int64x2_t __a, int64x2_t __b)
30591 {
30592 #ifdef __AARCH64EB__
30593   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
30594 #else
30595   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
30596 #endif
30597 }
30598 
30599 __extension__ extern __inline uint8x16_t
30600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_u8(uint8x16_t __a,uint8x16_t __b)30601 vzip1q_u8 (uint8x16_t __a, uint8x16_t __b)
30602 {
30603 #ifdef __AARCH64EB__
30604   return __builtin_shuffle (__a, __b, (uint8x16_t)
30605       {24, 8, 25, 9, 26, 10, 27, 11, 28, 12, 29, 13, 30, 14, 31, 15});
30606 #else
30607   return __builtin_shuffle (__a, __b, (uint8x16_t)
30608       {0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23});
30609 #endif
30610 }
30611 
30612 __extension__ extern __inline uint16x8_t
30613 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_u16(uint16x8_t __a,uint16x8_t __b)30614 vzip1q_u16 (uint16x8_t __a, uint16x8_t __b)
30615 {
30616 #ifdef __AARCH64EB__
30617   return __builtin_shuffle (__a, __b, (uint16x8_t)
30618       {12, 4, 13, 5, 14, 6, 15, 7});
30619 #else
30620   return __builtin_shuffle (__a, __b, (uint16x8_t) {0, 8, 1, 9, 2, 10, 3, 11});
30621 #endif
30622 }
30623 
30624 __extension__ extern __inline uint32x4_t
30625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_u32(uint32x4_t __a,uint32x4_t __b)30626 vzip1q_u32 (uint32x4_t __a, uint32x4_t __b)
30627 {
30628 #ifdef __AARCH64EB__
30629   return __builtin_shuffle (__a, __b, (uint32x4_t) {6, 2, 7, 3});
30630 #else
30631   return __builtin_shuffle (__a, __b, (uint32x4_t) {0, 4, 1, 5});
30632 #endif
30633 }
30634 
30635 __extension__ extern __inline uint64x2_t
30636 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_u64(uint64x2_t __a,uint64x2_t __b)30637 vzip1q_u64 (uint64x2_t __a, uint64x2_t __b)
30638 {
30639 #ifdef __AARCH64EB__
30640   return __builtin_shuffle (__a, __b, (uint64x2_t) {3, 1});
30641 #else
30642   return __builtin_shuffle (__a, __b, (uint64x2_t) {0, 2});
30643 #endif
30644 }
30645 
30646 __extension__ extern __inline poly64x2_t
30647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip1q_p64(poly64x2_t __a,poly64x2_t __b)30648 vzip1q_p64 (poly64x2_t __a, poly64x2_t __b)
30649 {
30650 #ifdef __AARCH64EB__
30651   return __builtin_shuffle (__a, __b, (poly64x2_t) {3, 1});
30652 #else
30653   return __builtin_shuffle (__a, __b, (poly64x2_t) {0, 2});
30654 #endif
30655 }
30656 
30657 __extension__ extern __inline float16x4_t
30658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_f16(float16x4_t __a,float16x4_t __b)30659 vzip2_f16 (float16x4_t __a, float16x4_t __b)
30660 {
30661 #ifdef __AARCH64EB__
30662   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
30663 #else
30664   return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
30665 #endif
30666 }
30667 
30668 __extension__ extern __inline float32x2_t
30669 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_f32(float32x2_t __a,float32x2_t __b)30670 vzip2_f32 (float32x2_t __a, float32x2_t __b)
30671 {
30672 #ifdef __AARCH64EB__
30673   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
30674 #else
30675   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
30676 #endif
30677 }
30678 
30679 __extension__ extern __inline poly8x8_t
30680 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_p8(poly8x8_t __a,poly8x8_t __b)30681 vzip2_p8 (poly8x8_t __a, poly8x8_t __b)
30682 {
30683 #ifdef __AARCH64EB__
30684   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
30685 #else
30686   return __builtin_shuffle (__a, __b, (uint8x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
30687 #endif
30688 }
30689 
30690 __extension__ extern __inline poly16x4_t
30691 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_p16(poly16x4_t __a,poly16x4_t __b)30692 vzip2_p16 (poly16x4_t __a, poly16x4_t __b)
30693 {
30694 #ifdef __AARCH64EB__
30695   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
30696 #else
30697   return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
30698 #endif
30699 }
30700 
30701 __extension__ extern __inline int8x8_t
30702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_s8(int8x8_t __a,int8x8_t __b)30703 vzip2_s8 (int8x8_t __a, int8x8_t __b)
30704 {
30705 #ifdef __AARCH64EB__
30706   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
30707 #else
30708   return __builtin_shuffle (__a, __b, (uint8x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
30709 #endif
30710 }
30711 
30712 __extension__ extern __inline int16x4_t
30713 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_s16(int16x4_t __a,int16x4_t __b)30714 vzip2_s16 (int16x4_t __a, int16x4_t __b)
30715 {
30716 #ifdef __AARCH64EB__
30717   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
30718 #else
30719   return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
30720 #endif
30721 }
30722 
30723 __extension__ extern __inline int32x2_t
30724 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_s32(int32x2_t __a,int32x2_t __b)30725 vzip2_s32 (int32x2_t __a, int32x2_t __b)
30726 {
30727 #ifdef __AARCH64EB__
30728   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
30729 #else
30730   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
30731 #endif
30732 }
30733 
30734 __extension__ extern __inline uint8x8_t
30735 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_u8(uint8x8_t __a,uint8x8_t __b)30736 vzip2_u8 (uint8x8_t __a, uint8x8_t __b)
30737 {
30738 #ifdef __AARCH64EB__
30739   return __builtin_shuffle (__a, __b, (uint8x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
30740 #else
30741   return __builtin_shuffle (__a, __b, (uint8x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
30742 #endif
30743 }
30744 
30745 __extension__ extern __inline uint16x4_t
30746 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_u16(uint16x4_t __a,uint16x4_t __b)30747 vzip2_u16 (uint16x4_t __a, uint16x4_t __b)
30748 {
30749 #ifdef __AARCH64EB__
30750   return __builtin_shuffle (__a, __b, (uint16x4_t) {4, 0, 5, 1});
30751 #else
30752   return __builtin_shuffle (__a, __b, (uint16x4_t) {2, 6, 3, 7});
30753 #endif
30754 }
30755 
30756 __extension__ extern __inline uint32x2_t
30757 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2_u32(uint32x2_t __a,uint32x2_t __b)30758 vzip2_u32 (uint32x2_t __a, uint32x2_t __b)
30759 {
30760 #ifdef __AARCH64EB__
30761   return __builtin_shuffle (__a, __b, (uint32x2_t) {2, 0});
30762 #else
30763   return __builtin_shuffle (__a, __b, (uint32x2_t) {1, 3});
30764 #endif
30765 }
30766 
30767 __extension__ extern __inline float16x8_t
30768 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_f16(float16x8_t __a,float16x8_t __b)30769 vzip2q_f16 (float16x8_t __a, float16x8_t __b)
30770 {
30771 #ifdef __AARCH64EB__
30772   return __builtin_shuffle (__a, __b,
30773 			    (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
30774 #else
30775   return __builtin_shuffle (__a, __b,
30776 			    (uint16x8_t) {4, 12, 5, 13, 6, 14, 7, 15});
30777 #endif
30778 }
30779 
30780 __extension__ extern __inline float32x4_t
30781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_f32(float32x4_t __a,float32x4_t __b)30782 vzip2q_f32 (float32x4_t __a, float32x4_t __b)
30783 {
30784 #ifdef __AARCH64EB__
30785   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 5, 1});
30786 #else
30787   return __builtin_shuffle (__a, __b, (uint32x4_t) {2, 6, 3, 7});
30788 #endif
30789 }
30790 
30791 __extension__ extern __inline float64x2_t
30792 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_f64(float64x2_t __a,float64x2_t __b)30793 vzip2q_f64 (float64x2_t __a, float64x2_t __b)
30794 {
30795 #ifdef __AARCH64EB__
30796   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
30797 #else
30798   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
30799 #endif
30800 }
30801 
30802 __extension__ extern __inline poly8x16_t
30803 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_p8(poly8x16_t __a,poly8x16_t __b)30804 vzip2q_p8 (poly8x16_t __a, poly8x16_t __b)
30805 {
30806 #ifdef __AARCH64EB__
30807   return __builtin_shuffle (__a, __b, (uint8x16_t)
30808       {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
30809 #else
30810   return __builtin_shuffle (__a, __b, (uint8x16_t)
30811       {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
30812 #endif
30813 }
30814 
30815 __extension__ extern __inline poly16x8_t
30816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_p16(poly16x8_t __a,poly16x8_t __b)30817 vzip2q_p16 (poly16x8_t __a, poly16x8_t __b)
30818 {
30819 #ifdef __AARCH64EB__
30820   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
30821 #else
30822   return __builtin_shuffle (__a, __b, (uint16x8_t)
30823       {4, 12, 5, 13, 6, 14, 7, 15});
30824 #endif
30825 }
30826 
30827 __extension__ extern __inline int8x16_t
30828 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_s8(int8x16_t __a,int8x16_t __b)30829 vzip2q_s8 (int8x16_t __a, int8x16_t __b)
30830 {
30831 #ifdef __AARCH64EB__
30832   return __builtin_shuffle (__a, __b, (uint8x16_t)
30833       {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
30834 #else
30835   return __builtin_shuffle (__a, __b, (uint8x16_t)
30836       {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
30837 #endif
30838 }
30839 
30840 __extension__ extern __inline int16x8_t
30841 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_s16(int16x8_t __a,int16x8_t __b)30842 vzip2q_s16 (int16x8_t __a, int16x8_t __b)
30843 {
30844 #ifdef __AARCH64EB__
30845   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
30846 #else
30847   return __builtin_shuffle (__a, __b, (uint16x8_t)
30848       {4, 12, 5, 13, 6, 14, 7, 15});
30849 #endif
30850 }
30851 
30852 __extension__ extern __inline int32x4_t
30853 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_s32(int32x4_t __a,int32x4_t __b)30854 vzip2q_s32 (int32x4_t __a, int32x4_t __b)
30855 {
30856 #ifdef __AARCH64EB__
30857   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 5, 1});
30858 #else
30859   return __builtin_shuffle (__a, __b, (uint32x4_t) {2, 6, 3, 7});
30860 #endif
30861 }
30862 
30863 __extension__ extern __inline int64x2_t
30864 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_s64(int64x2_t __a,int64x2_t __b)30865 vzip2q_s64 (int64x2_t __a, int64x2_t __b)
30866 {
30867 #ifdef __AARCH64EB__
30868   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
30869 #else
30870   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
30871 #endif
30872 }
30873 
30874 __extension__ extern __inline uint8x16_t
30875 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_u8(uint8x16_t __a,uint8x16_t __b)30876 vzip2q_u8 (uint8x16_t __a, uint8x16_t __b)
30877 {
30878 #ifdef __AARCH64EB__
30879   return __builtin_shuffle (__a, __b, (uint8x16_t)
30880       {16, 0, 17, 1, 18, 2, 19, 3, 20, 4, 21, 5, 22, 6, 23, 7});
30881 #else
30882   return __builtin_shuffle (__a, __b, (uint8x16_t)
30883       {8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31});
30884 #endif
30885 }
30886 
30887 __extension__ extern __inline uint16x8_t
30888 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_u16(uint16x8_t __a,uint16x8_t __b)30889 vzip2q_u16 (uint16x8_t __a, uint16x8_t __b)
30890 {
30891 #ifdef __AARCH64EB__
30892   return __builtin_shuffle (__a, __b, (uint16x8_t) {8, 0, 9, 1, 10, 2, 11, 3});
30893 #else
30894   return __builtin_shuffle (__a, __b, (uint16x8_t)
30895       {4, 12, 5, 13, 6, 14, 7, 15});
30896 #endif
30897 }
30898 
30899 __extension__ extern __inline uint32x4_t
30900 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_u32(uint32x4_t __a,uint32x4_t __b)30901 vzip2q_u32 (uint32x4_t __a, uint32x4_t __b)
30902 {
30903 #ifdef __AARCH64EB__
30904   return __builtin_shuffle (__a, __b, (uint32x4_t) {4, 0, 5, 1});
30905 #else
30906   return __builtin_shuffle (__a, __b, (uint32x4_t) {2, 6, 3, 7});
30907 #endif
30908 }
30909 
30910 __extension__ extern __inline uint64x2_t
30911 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_u64(uint64x2_t __a,uint64x2_t __b)30912 vzip2q_u64 (uint64x2_t __a, uint64x2_t __b)
30913 {
30914 #ifdef __AARCH64EB__
30915   return __builtin_shuffle (__a, __b, (uint64x2_t) {2, 0});
30916 #else
30917   return __builtin_shuffle (__a, __b, (uint64x2_t) {1, 3});
30918 #endif
30919 }
30920 
30921 __extension__ extern __inline poly64x2_t
30922 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vzip2q_p64(poly64x2_t __a,poly64x2_t __b)30923 vzip2q_p64 (poly64x2_t __a, poly64x2_t __b)
30924 {
30925 #ifdef __AARCH64EB__
30926   return __builtin_shuffle (__a, __b, (poly64x2_t) {2, 0});
30927 #else
30928   return __builtin_shuffle (__a, __b, (poly64x2_t) {1, 3});
30929 #endif
30930 }
30931 
__INTERLEAVE_LIST(zip)30932 __INTERLEAVE_LIST (zip)
30933 
30934 #undef __INTERLEAVE_LIST
30935 #undef __DEFINTERLEAVE
30936 
30937 /* End of optimal implementations in approved order.  */
30938 
30939 #pragma GCC pop_options
30940 
30941 /* ARMv8.2-A FP16 intrinsics.  */
30942 
30943 #include "arm_fp16.h"
30944 
30945 #pragma GCC push_options
30946 #pragma GCC target ("arch=armv8.2-a+fp16")
30947 
30948 /* ARMv8.2-A FP16 one operand vector intrinsics.  */
30949 
30950 __extension__ extern __inline float16x4_t
30951 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
30952 vabs_f16 (float16x4_t __a)
30953 {
30954   return __builtin_aarch64_absv4hf (__a);
30955 }
30956 
30957 __extension__ extern __inline float16x8_t
30958 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabsq_f16(float16x8_t __a)30959 vabsq_f16 (float16x8_t __a)
30960 {
30961   return __builtin_aarch64_absv8hf (__a);
30962 }
30963 
30964 __extension__ extern __inline uint16x4_t
30965 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqz_f16(float16x4_t __a)30966 vceqz_f16 (float16x4_t __a)
30967 {
30968   return __builtin_aarch64_cmeqv4hf_uss (__a, vdup_n_f16 (0.0f));
30969 }
30970 
30971 __extension__ extern __inline uint16x8_t
30972 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqzq_f16(float16x8_t __a)30973 vceqzq_f16 (float16x8_t __a)
30974 {
30975   return __builtin_aarch64_cmeqv8hf_uss (__a, vdupq_n_f16 (0.0f));
30976 }
30977 
30978 __extension__ extern __inline uint16x4_t
30979 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgez_f16(float16x4_t __a)30980 vcgez_f16 (float16x4_t __a)
30981 {
30982   return __builtin_aarch64_cmgev4hf_uss (__a, vdup_n_f16 (0.0f));
30983 }
30984 
30985 __extension__ extern __inline uint16x8_t
30986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgezq_f16(float16x8_t __a)30987 vcgezq_f16 (float16x8_t __a)
30988 {
30989   return __builtin_aarch64_cmgev8hf_uss (__a, vdupq_n_f16 (0.0f));
30990 }
30991 
30992 __extension__ extern __inline uint16x4_t
30993 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtz_f16(float16x4_t __a)30994 vcgtz_f16 (float16x4_t __a)
30995 {
30996   return __builtin_aarch64_cmgtv4hf_uss (__a, vdup_n_f16 (0.0f));
30997 }
30998 
30999 __extension__ extern __inline uint16x8_t
31000 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtzq_f16(float16x8_t __a)31001 vcgtzq_f16 (float16x8_t __a)
31002 {
31003   return __builtin_aarch64_cmgtv8hf_uss (__a, vdupq_n_f16 (0.0f));
31004 }
31005 
31006 __extension__ extern __inline uint16x4_t
31007 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclez_f16(float16x4_t __a)31008 vclez_f16 (float16x4_t __a)
31009 {
31010   return __builtin_aarch64_cmlev4hf_uss (__a, vdup_n_f16 (0.0f));
31011 }
31012 
31013 __extension__ extern __inline uint16x8_t
31014 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclezq_f16(float16x8_t __a)31015 vclezq_f16 (float16x8_t __a)
31016 {
31017   return __builtin_aarch64_cmlev8hf_uss (__a, vdupq_n_f16 (0.0f));
31018 }
31019 
31020 __extension__ extern __inline uint16x4_t
31021 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltz_f16(float16x4_t __a)31022 vcltz_f16 (float16x4_t __a)
31023 {
31024   return __builtin_aarch64_cmltv4hf_uss (__a, vdup_n_f16 (0.0f));
31025 }
31026 
31027 __extension__ extern __inline uint16x8_t
31028 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltzq_f16(float16x8_t __a)31029 vcltzq_f16 (float16x8_t __a)
31030 {
31031   return __builtin_aarch64_cmltv8hf_uss (__a, vdupq_n_f16 (0.0f));
31032 }
31033 
31034 __extension__ extern __inline float16x4_t
31035 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_s16(int16x4_t __a)31036 vcvt_f16_s16 (int16x4_t __a)
31037 {
31038   return __builtin_aarch64_floatv4hiv4hf (__a);
31039 }
31040 
31041 __extension__ extern __inline float16x8_t
31042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f16_s16(int16x8_t __a)31043 vcvtq_f16_s16 (int16x8_t __a)
31044 {
31045   return __builtin_aarch64_floatv8hiv8hf (__a);
31046 }
31047 
31048 __extension__ extern __inline float16x4_t
31049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f16_u16(uint16x4_t __a)31050 vcvt_f16_u16 (uint16x4_t __a)
31051 {
31052   return __builtin_aarch64_floatunsv4hiv4hf ((int16x4_t) __a);
31053 }
31054 
31055 __extension__ extern __inline float16x8_t
31056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_f16_u16(uint16x8_t __a)31057 vcvtq_f16_u16 (uint16x8_t __a)
31058 {
31059   return __builtin_aarch64_floatunsv8hiv8hf ((int16x8_t) __a);
31060 }
31061 
31062 __extension__ extern __inline int16x4_t
31063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_s16_f16(float16x4_t __a)31064 vcvt_s16_f16 (float16x4_t __a)
31065 {
31066   return __builtin_aarch64_lbtruncv4hfv4hi (__a);
31067 }
31068 
31069 __extension__ extern __inline int16x8_t
31070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_s16_f16(float16x8_t __a)31071 vcvtq_s16_f16 (float16x8_t __a)
31072 {
31073   return __builtin_aarch64_lbtruncv8hfv8hi (__a);
31074 }
31075 
31076 __extension__ extern __inline uint16x4_t
31077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_u16_f16(float16x4_t __a)31078 vcvt_u16_f16 (float16x4_t __a)
31079 {
31080   return __builtin_aarch64_lbtruncuv4hfv4hi_us (__a);
31081 }
31082 
31083 __extension__ extern __inline uint16x8_t
31084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_u16_f16(float16x8_t __a)31085 vcvtq_u16_f16 (float16x8_t __a)
31086 {
31087   return __builtin_aarch64_lbtruncuv8hfv8hi_us (__a);
31088 }
31089 
31090 __extension__ extern __inline int16x4_t
31091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_s16_f16(float16x4_t __a)31092 vcvta_s16_f16 (float16x4_t __a)
31093 {
31094   return __builtin_aarch64_lroundv4hfv4hi (__a);
31095 }
31096 
31097 __extension__ extern __inline int16x8_t
31098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_s16_f16(float16x8_t __a)31099 vcvtaq_s16_f16 (float16x8_t __a)
31100 {
31101   return __builtin_aarch64_lroundv8hfv8hi (__a);
31102 }
31103 
31104 __extension__ extern __inline uint16x4_t
31105 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvta_u16_f16(float16x4_t __a)31106 vcvta_u16_f16 (float16x4_t __a)
31107 {
31108   return __builtin_aarch64_lrounduv4hfv4hi_us (__a);
31109 }
31110 
31111 __extension__ extern __inline uint16x8_t
31112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtaq_u16_f16(float16x8_t __a)31113 vcvtaq_u16_f16 (float16x8_t __a)
31114 {
31115   return __builtin_aarch64_lrounduv8hfv8hi_us (__a);
31116 }
31117 
31118 __extension__ extern __inline int16x4_t
31119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_s16_f16(float16x4_t __a)31120 vcvtm_s16_f16 (float16x4_t __a)
31121 {
31122   return __builtin_aarch64_lfloorv4hfv4hi (__a);
31123 }
31124 
31125 __extension__ extern __inline int16x8_t
31126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_s16_f16(float16x8_t __a)31127 vcvtmq_s16_f16 (float16x8_t __a)
31128 {
31129   return __builtin_aarch64_lfloorv8hfv8hi (__a);
31130 }
31131 
31132 __extension__ extern __inline uint16x4_t
31133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtm_u16_f16(float16x4_t __a)31134 vcvtm_u16_f16 (float16x4_t __a)
31135 {
31136   return __builtin_aarch64_lflooruv4hfv4hi_us (__a);
31137 }
31138 
31139 __extension__ extern __inline uint16x8_t
31140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtmq_u16_f16(float16x8_t __a)31141 vcvtmq_u16_f16 (float16x8_t __a)
31142 {
31143   return __builtin_aarch64_lflooruv8hfv8hi_us (__a);
31144 }
31145 
31146 __extension__ extern __inline int16x4_t
31147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_s16_f16(float16x4_t __a)31148 vcvtn_s16_f16 (float16x4_t __a)
31149 {
31150   return __builtin_aarch64_lfrintnv4hfv4hi (__a);
31151 }
31152 
31153 __extension__ extern __inline int16x8_t
31154 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_s16_f16(float16x8_t __a)31155 vcvtnq_s16_f16 (float16x8_t __a)
31156 {
31157   return __builtin_aarch64_lfrintnv8hfv8hi (__a);
31158 }
31159 
31160 __extension__ extern __inline uint16x4_t
31161 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtn_u16_f16(float16x4_t __a)31162 vcvtn_u16_f16 (float16x4_t __a)
31163 {
31164   return __builtin_aarch64_lfrintnuv4hfv4hi_us (__a);
31165 }
31166 
31167 __extension__ extern __inline uint16x8_t
31168 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtnq_u16_f16(float16x8_t __a)31169 vcvtnq_u16_f16 (float16x8_t __a)
31170 {
31171   return __builtin_aarch64_lfrintnuv8hfv8hi_us (__a);
31172 }
31173 
31174 __extension__ extern __inline int16x4_t
31175 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_s16_f16(float16x4_t __a)31176 vcvtp_s16_f16 (float16x4_t __a)
31177 {
31178   return __builtin_aarch64_lceilv4hfv4hi (__a);
31179 }
31180 
31181 __extension__ extern __inline int16x8_t
31182 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_s16_f16(float16x8_t __a)31183 vcvtpq_s16_f16 (float16x8_t __a)
31184 {
31185   return __builtin_aarch64_lceilv8hfv8hi (__a);
31186 }
31187 
31188 __extension__ extern __inline uint16x4_t
31189 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtp_u16_f16(float16x4_t __a)31190 vcvtp_u16_f16 (float16x4_t __a)
31191 {
31192   return __builtin_aarch64_lceiluv4hfv4hi_us (__a);
31193 }
31194 
31195 __extension__ extern __inline uint16x8_t
31196 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtpq_u16_f16(float16x8_t __a)31197 vcvtpq_u16_f16 (float16x8_t __a)
31198 {
31199   return __builtin_aarch64_lceiluv8hfv8hi_us (__a);
31200 }
31201 
31202 __extension__ extern __inline float16x4_t
31203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vneg_f16(float16x4_t __a)31204 vneg_f16 (float16x4_t __a)
31205 {
31206   return -__a;
31207 }
31208 
31209 __extension__ extern __inline float16x8_t
31210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vnegq_f16(float16x8_t __a)31211 vnegq_f16 (float16x8_t __a)
31212 {
31213   return -__a;
31214 }
31215 
31216 __extension__ extern __inline float16x4_t
31217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpe_f16(float16x4_t __a)31218 vrecpe_f16 (float16x4_t __a)
31219 {
31220   return __builtin_aarch64_frecpev4hf (__a);
31221 }
31222 
31223 __extension__ extern __inline float16x8_t
31224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpeq_f16(float16x8_t __a)31225 vrecpeq_f16 (float16x8_t __a)
31226 {
31227   return __builtin_aarch64_frecpev8hf (__a);
31228 }
31229 
31230 __extension__ extern __inline float16x4_t
31231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd_f16(float16x4_t __a)31232 vrnd_f16 (float16x4_t __a)
31233 {
31234   return __builtin_aarch64_btruncv4hf (__a);
31235 }
31236 
31237 __extension__ extern __inline float16x8_t
31238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndq_f16(float16x8_t __a)31239 vrndq_f16 (float16x8_t __a)
31240 {
31241   return __builtin_aarch64_btruncv8hf (__a);
31242 }
31243 
31244 __extension__ extern __inline float16x4_t
31245 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnda_f16(float16x4_t __a)31246 vrnda_f16 (float16x4_t __a)
31247 {
31248   return __builtin_aarch64_roundv4hf (__a);
31249 }
31250 
31251 __extension__ extern __inline float16x8_t
31252 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndaq_f16(float16x8_t __a)31253 vrndaq_f16 (float16x8_t __a)
31254 {
31255   return __builtin_aarch64_roundv8hf (__a);
31256 }
31257 
31258 __extension__ extern __inline float16x4_t
31259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndi_f16(float16x4_t __a)31260 vrndi_f16 (float16x4_t __a)
31261 {
31262   return __builtin_aarch64_nearbyintv4hf (__a);
31263 }
31264 
31265 __extension__ extern __inline float16x8_t
31266 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndiq_f16(float16x8_t __a)31267 vrndiq_f16 (float16x8_t __a)
31268 {
31269   return __builtin_aarch64_nearbyintv8hf (__a);
31270 }
31271 
31272 __extension__ extern __inline float16x4_t
31273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndm_f16(float16x4_t __a)31274 vrndm_f16 (float16x4_t __a)
31275 {
31276   return __builtin_aarch64_floorv4hf (__a);
31277 }
31278 
31279 __extension__ extern __inline float16x8_t
31280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndmq_f16(float16x8_t __a)31281 vrndmq_f16 (float16x8_t __a)
31282 {
31283   return __builtin_aarch64_floorv8hf (__a);
31284 }
31285 
31286 __extension__ extern __inline float16x4_t
31287 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndn_f16(float16x4_t __a)31288 vrndn_f16 (float16x4_t __a)
31289 {
31290   return __builtin_aarch64_frintnv4hf (__a);
31291 }
31292 
31293 __extension__ extern __inline float16x8_t
31294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndnq_f16(float16x8_t __a)31295 vrndnq_f16 (float16x8_t __a)
31296 {
31297   return __builtin_aarch64_frintnv8hf (__a);
31298 }
31299 
31300 __extension__ extern __inline float16x4_t
31301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndp_f16(float16x4_t __a)31302 vrndp_f16 (float16x4_t __a)
31303 {
31304   return __builtin_aarch64_ceilv4hf (__a);
31305 }
31306 
31307 __extension__ extern __inline float16x8_t
31308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndpq_f16(float16x8_t __a)31309 vrndpq_f16 (float16x8_t __a)
31310 {
31311   return __builtin_aarch64_ceilv8hf (__a);
31312 }
31313 
31314 __extension__ extern __inline float16x4_t
31315 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndx_f16(float16x4_t __a)31316 vrndx_f16 (float16x4_t __a)
31317 {
31318   return __builtin_aarch64_rintv4hf (__a);
31319 }
31320 
31321 __extension__ extern __inline float16x8_t
31322 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrndxq_f16(float16x8_t __a)31323 vrndxq_f16 (float16x8_t __a)
31324 {
31325   return __builtin_aarch64_rintv8hf (__a);
31326 }
31327 
31328 __extension__ extern __inline float16x4_t
31329 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrte_f16(float16x4_t __a)31330 vrsqrte_f16 (float16x4_t __a)
31331 {
31332   return __builtin_aarch64_rsqrtev4hf (__a);
31333 }
31334 
31335 __extension__ extern __inline float16x8_t
31336 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrteq_f16(float16x8_t __a)31337 vrsqrteq_f16 (float16x8_t __a)
31338 {
31339   return __builtin_aarch64_rsqrtev8hf (__a);
31340 }
31341 
31342 __extension__ extern __inline float16x4_t
31343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrt_f16(float16x4_t __a)31344 vsqrt_f16 (float16x4_t __a)
31345 {
31346   return __builtin_aarch64_sqrtv4hf (__a);
31347 }
31348 
31349 __extension__ extern __inline float16x8_t
31350 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsqrtq_f16(float16x8_t __a)31351 vsqrtq_f16 (float16x8_t __a)
31352 {
31353   return __builtin_aarch64_sqrtv8hf (__a);
31354 }
31355 
31356 /* ARMv8.2-A FP16 two operands vector intrinsics.  */
31357 
31358 __extension__ extern __inline float16x4_t
31359 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vadd_f16(float16x4_t __a,float16x4_t __b)31360 vadd_f16 (float16x4_t __a, float16x4_t __b)
31361 {
31362   return __a + __b;
31363 }
31364 
31365 __extension__ extern __inline float16x8_t
31366 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vaddq_f16(float16x8_t __a,float16x8_t __b)31367 vaddq_f16 (float16x8_t __a, float16x8_t __b)
31368 {
31369   return __a + __b;
31370 }
31371 
31372 __extension__ extern __inline float16x4_t
31373 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabd_f16(float16x4_t __a,float16x4_t __b)31374 vabd_f16 (float16x4_t __a, float16x4_t __b)
31375 {
31376   return __builtin_aarch64_fabdv4hf (__a, __b);
31377 }
31378 
31379 __extension__ extern __inline float16x8_t
31380 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vabdq_f16(float16x8_t __a,float16x8_t __b)31381 vabdq_f16 (float16x8_t __a, float16x8_t __b)
31382 {
31383   return __builtin_aarch64_fabdv8hf (__a, __b);
31384 }
31385 
31386 __extension__ extern __inline uint16x4_t
31387 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcage_f16(float16x4_t __a,float16x4_t __b)31388 vcage_f16 (float16x4_t __a, float16x4_t __b)
31389 {
31390   return __builtin_aarch64_facgev4hf_uss (__a, __b);
31391 }
31392 
31393 __extension__ extern __inline uint16x8_t
31394 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcageq_f16(float16x8_t __a,float16x8_t __b)31395 vcageq_f16 (float16x8_t __a, float16x8_t __b)
31396 {
31397   return __builtin_aarch64_facgev8hf_uss (__a, __b);
31398 }
31399 
31400 __extension__ extern __inline uint16x4_t
31401 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagt_f16(float16x4_t __a,float16x4_t __b)31402 vcagt_f16 (float16x4_t __a, float16x4_t __b)
31403 {
31404   return __builtin_aarch64_facgtv4hf_uss (__a, __b);
31405 }
31406 
31407 __extension__ extern __inline uint16x8_t
31408 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcagtq_f16(float16x8_t __a,float16x8_t __b)31409 vcagtq_f16 (float16x8_t __a, float16x8_t __b)
31410 {
31411   return __builtin_aarch64_facgtv8hf_uss (__a, __b);
31412 }
31413 
31414 __extension__ extern __inline uint16x4_t
31415 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcale_f16(float16x4_t __a,float16x4_t __b)31416 vcale_f16 (float16x4_t __a, float16x4_t __b)
31417 {
31418   return __builtin_aarch64_faclev4hf_uss (__a, __b);
31419 }
31420 
31421 __extension__ extern __inline uint16x8_t
31422 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaleq_f16(float16x8_t __a,float16x8_t __b)31423 vcaleq_f16 (float16x8_t __a, float16x8_t __b)
31424 {
31425   return __builtin_aarch64_faclev8hf_uss (__a, __b);
31426 }
31427 
31428 __extension__ extern __inline uint16x4_t
31429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcalt_f16(float16x4_t __a,float16x4_t __b)31430 vcalt_f16 (float16x4_t __a, float16x4_t __b)
31431 {
31432   return __builtin_aarch64_facltv4hf_uss (__a, __b);
31433 }
31434 
31435 __extension__ extern __inline uint16x8_t
31436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaltq_f16(float16x8_t __a,float16x8_t __b)31437 vcaltq_f16 (float16x8_t __a, float16x8_t __b)
31438 {
31439   return __builtin_aarch64_facltv8hf_uss (__a, __b);
31440 }
31441 
31442 __extension__ extern __inline uint16x4_t
31443 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceq_f16(float16x4_t __a,float16x4_t __b)31444 vceq_f16 (float16x4_t __a, float16x4_t __b)
31445 {
31446   return __builtin_aarch64_cmeqv4hf_uss (__a, __b);
31447 }
31448 
31449 __extension__ extern __inline uint16x8_t
31450 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vceqq_f16(float16x8_t __a,float16x8_t __b)31451 vceqq_f16 (float16x8_t __a, float16x8_t __b)
31452 {
31453   return __builtin_aarch64_cmeqv8hf_uss (__a, __b);
31454 }
31455 
31456 __extension__ extern __inline uint16x4_t
31457 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcge_f16(float16x4_t __a,float16x4_t __b)31458 vcge_f16 (float16x4_t __a, float16x4_t __b)
31459 {
31460   return __builtin_aarch64_cmgev4hf_uss (__a, __b);
31461 }
31462 
31463 __extension__ extern __inline uint16x8_t
31464 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgeq_f16(float16x8_t __a,float16x8_t __b)31465 vcgeq_f16 (float16x8_t __a, float16x8_t __b)
31466 {
31467   return __builtin_aarch64_cmgev8hf_uss (__a, __b);
31468 }
31469 
31470 __extension__ extern __inline uint16x4_t
31471 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgt_f16(float16x4_t __a,float16x4_t __b)31472 vcgt_f16 (float16x4_t __a, float16x4_t __b)
31473 {
31474   return __builtin_aarch64_cmgtv4hf_uss (__a, __b);
31475 }
31476 
31477 __extension__ extern __inline uint16x8_t
31478 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcgtq_f16(float16x8_t __a,float16x8_t __b)31479 vcgtq_f16 (float16x8_t __a, float16x8_t __b)
31480 {
31481   return __builtin_aarch64_cmgtv8hf_uss (__a, __b);
31482 }
31483 
31484 __extension__ extern __inline uint16x4_t
31485 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcle_f16(float16x4_t __a,float16x4_t __b)31486 vcle_f16 (float16x4_t __a, float16x4_t __b)
31487 {
31488   return __builtin_aarch64_cmlev4hf_uss (__a, __b);
31489 }
31490 
31491 __extension__ extern __inline uint16x8_t
31492 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcleq_f16(float16x8_t __a,float16x8_t __b)31493 vcleq_f16 (float16x8_t __a, float16x8_t __b)
31494 {
31495   return __builtin_aarch64_cmlev8hf_uss (__a, __b);
31496 }
31497 
31498 __extension__ extern __inline uint16x4_t
31499 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vclt_f16(float16x4_t __a,float16x4_t __b)31500 vclt_f16 (float16x4_t __a, float16x4_t __b)
31501 {
31502   return __builtin_aarch64_cmltv4hf_uss (__a, __b);
31503 }
31504 
31505 __extension__ extern __inline uint16x8_t
31506 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcltq_f16(float16x8_t __a,float16x8_t __b)31507 vcltq_f16 (float16x8_t __a, float16x8_t __b)
31508 {
31509   return __builtin_aarch64_cmltv8hf_uss (__a, __b);
31510 }
31511 
31512 __extension__ extern __inline float16x4_t
31513 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f16_s16(int16x4_t __a,const int __b)31514 vcvt_n_f16_s16 (int16x4_t __a, const int __b)
31515 {
31516   return __builtin_aarch64_scvtfv4hi (__a, __b);
31517 }
31518 
31519 __extension__ extern __inline float16x8_t
31520 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f16_s16(int16x8_t __a,const int __b)31521 vcvtq_n_f16_s16 (int16x8_t __a, const int __b)
31522 {
31523   return __builtin_aarch64_scvtfv8hi (__a, __b);
31524 }
31525 
31526 __extension__ extern __inline float16x4_t
31527 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_f16_u16(uint16x4_t __a,const int __b)31528 vcvt_n_f16_u16 (uint16x4_t __a, const int __b)
31529 {
31530   return __builtin_aarch64_ucvtfv4hi_sus (__a, __b);
31531 }
31532 
31533 __extension__ extern __inline float16x8_t
31534 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_f16_u16(uint16x8_t __a,const int __b)31535 vcvtq_n_f16_u16 (uint16x8_t __a, const int __b)
31536 {
31537   return __builtin_aarch64_ucvtfv8hi_sus (__a, __b);
31538 }
31539 
31540 __extension__ extern __inline int16x4_t
31541 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_s16_f16(float16x4_t __a,const int __b)31542 vcvt_n_s16_f16 (float16x4_t __a, const int __b)
31543 {
31544   return __builtin_aarch64_fcvtzsv4hf (__a, __b);
31545 }
31546 
31547 __extension__ extern __inline int16x8_t
31548 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_s16_f16(float16x8_t __a,const int __b)31549 vcvtq_n_s16_f16 (float16x8_t __a, const int __b)
31550 {
31551   return __builtin_aarch64_fcvtzsv8hf (__a, __b);
31552 }
31553 
31554 __extension__ extern __inline uint16x4_t
31555 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_n_u16_f16(float16x4_t __a,const int __b)31556 vcvt_n_u16_f16 (float16x4_t __a, const int __b)
31557 {
31558   return __builtin_aarch64_fcvtzuv4hf_uss (__a, __b);
31559 }
31560 
31561 __extension__ extern __inline uint16x8_t
31562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_n_u16_f16(float16x8_t __a,const int __b)31563 vcvtq_n_u16_f16 (float16x8_t __a, const int __b)
31564 {
31565   return __builtin_aarch64_fcvtzuv8hf_uss (__a, __b);
31566 }
31567 
31568 __extension__ extern __inline float16x4_t
31569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdiv_f16(float16x4_t __a,float16x4_t __b)31570 vdiv_f16 (float16x4_t __a, float16x4_t __b)
31571 {
31572   return __a / __b;
31573 }
31574 
31575 __extension__ extern __inline float16x8_t
31576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdivq_f16(float16x8_t __a,float16x8_t __b)31577 vdivq_f16 (float16x8_t __a, float16x8_t __b)
31578 {
31579   return __a / __b;
31580 }
31581 
31582 __extension__ extern __inline float16x4_t
31583 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmax_f16(float16x4_t __a,float16x4_t __b)31584 vmax_f16 (float16x4_t __a, float16x4_t __b)
31585 {
31586   return __builtin_aarch64_smax_nanv4hf (__a, __b);
31587 }
31588 
31589 __extension__ extern __inline float16x8_t
31590 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxq_f16(float16x8_t __a,float16x8_t __b)31591 vmaxq_f16 (float16x8_t __a, float16x8_t __b)
31592 {
31593   return __builtin_aarch64_smax_nanv8hf (__a, __b);
31594 }
31595 
31596 __extension__ extern __inline float16x4_t
31597 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnm_f16(float16x4_t __a,float16x4_t __b)31598 vmaxnm_f16 (float16x4_t __a, float16x4_t __b)
31599 {
31600   return __builtin_aarch64_fmaxv4hf (__a, __b);
31601 }
31602 
31603 __extension__ extern __inline float16x8_t
31604 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmq_f16(float16x8_t __a,float16x8_t __b)31605 vmaxnmq_f16 (float16x8_t __a, float16x8_t __b)
31606 {
31607   return __builtin_aarch64_fmaxv8hf (__a, __b);
31608 }
31609 
31610 __extension__ extern __inline float16x4_t
31611 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmin_f16(float16x4_t __a,float16x4_t __b)31612 vmin_f16 (float16x4_t __a, float16x4_t __b)
31613 {
31614   return __builtin_aarch64_smin_nanv4hf (__a, __b);
31615 }
31616 
31617 __extension__ extern __inline float16x8_t
31618 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminq_f16(float16x8_t __a,float16x8_t __b)31619 vminq_f16 (float16x8_t __a, float16x8_t __b)
31620 {
31621   return __builtin_aarch64_smin_nanv8hf (__a, __b);
31622 }
31623 
31624 __extension__ extern __inline float16x4_t
31625 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnm_f16(float16x4_t __a,float16x4_t __b)31626 vminnm_f16 (float16x4_t __a, float16x4_t __b)
31627 {
31628   return __builtin_aarch64_fminv4hf (__a, __b);
31629 }
31630 
31631 __extension__ extern __inline float16x8_t
31632 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmq_f16(float16x8_t __a,float16x8_t __b)31633 vminnmq_f16 (float16x8_t __a, float16x8_t __b)
31634 {
31635   return __builtin_aarch64_fminv8hf (__a, __b);
31636 }
31637 
31638 __extension__ extern __inline float16x4_t
31639 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_f16(float16x4_t __a,float16x4_t __b)31640 vmul_f16 (float16x4_t __a, float16x4_t __b)
31641 {
31642   return __a * __b;
31643 }
31644 
31645 __extension__ extern __inline float16x8_t
31646 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_f16(float16x8_t __a,float16x8_t __b)31647 vmulq_f16 (float16x8_t __a, float16x8_t __b)
31648 {
31649   return __a * __b;
31650 }
31651 
31652 __extension__ extern __inline float16x4_t
31653 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_f16(float16x4_t __a,float16x4_t __b)31654 vmulx_f16 (float16x4_t __a, float16x4_t __b)
31655 {
31656   return __builtin_aarch64_fmulxv4hf (__a, __b);
31657 }
31658 
31659 __extension__ extern __inline float16x8_t
31660 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_f16(float16x8_t __a,float16x8_t __b)31661 vmulxq_f16 (float16x8_t __a, float16x8_t __b)
31662 {
31663   return __builtin_aarch64_fmulxv8hf (__a, __b);
31664 }
31665 
31666 __extension__ extern __inline float16x4_t
31667 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpadd_f16(float16x4_t __a,float16x4_t __b)31668 vpadd_f16 (float16x4_t __a, float16x4_t __b)
31669 {
31670   return __builtin_aarch64_faddpv4hf (__a, __b);
31671 }
31672 
31673 __extension__ extern __inline float16x8_t
31674 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpaddq_f16(float16x8_t __a,float16x8_t __b)31675 vpaddq_f16 (float16x8_t __a, float16x8_t __b)
31676 {
31677   return __builtin_aarch64_faddpv8hf (__a, __b);
31678 }
31679 
31680 __extension__ extern __inline float16x4_t
31681 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmax_f16(float16x4_t __a,float16x4_t __b)31682 vpmax_f16 (float16x4_t __a, float16x4_t __b)
31683 {
31684   return __builtin_aarch64_smax_nanpv4hf (__a, __b);
31685 }
31686 
31687 __extension__ extern __inline float16x8_t
31688 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxq_f16(float16x8_t __a,float16x8_t __b)31689 vpmaxq_f16 (float16x8_t __a, float16x8_t __b)
31690 {
31691   return __builtin_aarch64_smax_nanpv8hf (__a, __b);
31692 }
31693 
31694 __extension__ extern __inline float16x4_t
31695 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnm_f16(float16x4_t __a,float16x4_t __b)31696 vpmaxnm_f16 (float16x4_t __a, float16x4_t __b)
31697 {
31698   return __builtin_aarch64_smaxpv4hf (__a, __b);
31699 }
31700 
31701 __extension__ extern __inline float16x8_t
31702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmaxnmq_f16(float16x8_t __a,float16x8_t __b)31703 vpmaxnmq_f16 (float16x8_t __a, float16x8_t __b)
31704 {
31705   return __builtin_aarch64_smaxpv8hf (__a, __b);
31706 }
31707 
31708 __extension__ extern __inline float16x4_t
31709 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpmin_f16(float16x4_t __a,float16x4_t __b)31710 vpmin_f16 (float16x4_t __a, float16x4_t __b)
31711 {
31712   return __builtin_aarch64_smin_nanpv4hf (__a, __b);
31713 }
31714 
31715 __extension__ extern __inline float16x8_t
31716 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminq_f16(float16x8_t __a,float16x8_t __b)31717 vpminq_f16 (float16x8_t __a, float16x8_t __b)
31718 {
31719   return __builtin_aarch64_smin_nanpv8hf (__a, __b);
31720 }
31721 
31722 __extension__ extern __inline float16x4_t
31723 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnm_f16(float16x4_t __a,float16x4_t __b)31724 vpminnm_f16 (float16x4_t __a, float16x4_t __b)
31725 {
31726   return __builtin_aarch64_sminpv4hf (__a, __b);
31727 }
31728 
31729 __extension__ extern __inline float16x8_t
31730 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vpminnmq_f16(float16x8_t __a,float16x8_t __b)31731 vpminnmq_f16 (float16x8_t __a, float16x8_t __b)
31732 {
31733   return __builtin_aarch64_sminpv8hf (__a, __b);
31734 }
31735 
31736 __extension__ extern __inline float16x4_t
31737 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecps_f16(float16x4_t __a,float16x4_t __b)31738 vrecps_f16 (float16x4_t __a, float16x4_t __b)
31739 {
31740   return __builtin_aarch64_frecpsv4hf (__a, __b);
31741 }
31742 
31743 __extension__ extern __inline float16x8_t
31744 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrecpsq_f16(float16x8_t __a,float16x8_t __b)31745 vrecpsq_f16 (float16x8_t __a, float16x8_t __b)
31746 {
31747   return __builtin_aarch64_frecpsv8hf (__a, __b);
31748 }
31749 
31750 __extension__ extern __inline float16x4_t
31751 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrts_f16(float16x4_t __a,float16x4_t __b)31752 vrsqrts_f16 (float16x4_t __a, float16x4_t __b)
31753 {
31754   return __builtin_aarch64_rsqrtsv4hf (__a, __b);
31755 }
31756 
31757 __extension__ extern __inline float16x8_t
31758 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrsqrtsq_f16(float16x8_t __a,float16x8_t __b)31759 vrsqrtsq_f16 (float16x8_t __a, float16x8_t __b)
31760 {
31761   return __builtin_aarch64_rsqrtsv8hf (__a, __b);
31762 }
31763 
31764 __extension__ extern __inline float16x4_t
31765 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsub_f16(float16x4_t __a,float16x4_t __b)31766 vsub_f16 (float16x4_t __a, float16x4_t __b)
31767 {
31768   return __a - __b;
31769 }
31770 
31771 __extension__ extern __inline float16x8_t
31772 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsubq_f16(float16x8_t __a,float16x8_t __b)31773 vsubq_f16 (float16x8_t __a, float16x8_t __b)
31774 {
31775   return __a - __b;
31776 }
31777 
31778 /* ARMv8.2-A FP16 three operands vector intrinsics.  */
31779 
31780 __extension__ extern __inline float16x4_t
31781 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c)31782 vfma_f16 (float16x4_t __a, float16x4_t __b, float16x4_t __c)
31783 {
31784   return __builtin_aarch64_fmav4hf (__b, __c, __a);
31785 }
31786 
31787 __extension__ extern __inline float16x8_t
31788 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c)31789 vfmaq_f16 (float16x8_t __a, float16x8_t __b, float16x8_t __c)
31790 {
31791   return __builtin_aarch64_fmav8hf (__b, __c, __a);
31792 }
31793 
31794 __extension__ extern __inline float16x4_t
31795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c)31796 vfms_f16 (float16x4_t __a, float16x4_t __b, float16x4_t __c)
31797 {
31798   return __builtin_aarch64_fnmav4hf (__b, __c, __a);
31799 }
31800 
31801 __extension__ extern __inline float16x8_t
31802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c)31803 vfmsq_f16 (float16x8_t __a, float16x8_t __b, float16x8_t __c)
31804 {
31805   return __builtin_aarch64_fnmav8hf (__b, __c, __a);
31806 }
31807 
31808 /* ARMv8.2-A FP16 lane vector intrinsics.  */
31809 
31810 __extension__ extern __inline float16_t
31811 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmah_lane_f16(float16_t __a,float16_t __b,float16x4_t __c,const int __lane)31812 vfmah_lane_f16 (float16_t __a, float16_t __b,
31813 		float16x4_t __c, const int __lane)
31814 {
31815   return vfmah_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
31816 }
31817 
31818 __extension__ extern __inline float16_t
31819 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmah_laneq_f16(float16_t __a,float16_t __b,float16x8_t __c,const int __lane)31820 vfmah_laneq_f16 (float16_t __a, float16_t __b,
31821 		 float16x8_t __c, const int __lane)
31822 {
31823   return vfmah_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
31824 }
31825 
31826 __extension__ extern __inline float16x4_t
31827 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_lane_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c,const int __lane)31828 vfma_lane_f16 (float16x4_t __a, float16x4_t __b,
31829 	       float16x4_t __c, const int __lane)
31830 {
31831   return vfma_f16 (__a, __b, __aarch64_vdup_lane_f16 (__c, __lane));
31832 }
31833 
31834 __extension__ extern __inline float16x8_t
31835 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_lane_f16(float16x8_t __a,float16x8_t __b,float16x4_t __c,const int __lane)31836 vfmaq_lane_f16 (float16x8_t __a, float16x8_t __b,
31837 		float16x4_t __c, const int __lane)
31838 {
31839   return vfmaq_f16 (__a, __b, __aarch64_vdupq_lane_f16 (__c, __lane));
31840 }
31841 
31842 __extension__ extern __inline float16x4_t
31843 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_laneq_f16(float16x4_t __a,float16x4_t __b,float16x8_t __c,const int __lane)31844 vfma_laneq_f16 (float16x4_t __a, float16x4_t __b,
31845 		float16x8_t __c, const int __lane)
31846 {
31847   return vfma_f16 (__a, __b, __aarch64_vdup_laneq_f16 (__c, __lane));
31848 }
31849 
31850 __extension__ extern __inline float16x8_t
31851 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_laneq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c,const int __lane)31852 vfmaq_laneq_f16 (float16x8_t __a, float16x8_t __b,
31853 		 float16x8_t __c, const int __lane)
31854 {
31855   return vfmaq_f16 (__a, __b, __aarch64_vdupq_laneq_f16 (__c, __lane));
31856 }
31857 
31858 __extension__ extern __inline float16x4_t
31859 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfma_n_f16(float16x4_t __a,float16x4_t __b,float16_t __c)31860 vfma_n_f16 (float16x4_t __a, float16x4_t __b, float16_t __c)
31861 {
31862   return vfma_f16 (__a, __b, vdup_n_f16 (__c));
31863 }
31864 
31865 __extension__ extern __inline float16x8_t
31866 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmaq_n_f16(float16x8_t __a,float16x8_t __b,float16_t __c)31867 vfmaq_n_f16 (float16x8_t __a, float16x8_t __b, float16_t __c)
31868 {
31869   return vfmaq_f16 (__a, __b, vdupq_n_f16 (__c));
31870 }
31871 
31872 __extension__ extern __inline float16_t
31873 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsh_lane_f16(float16_t __a,float16_t __b,float16x4_t __c,const int __lane)31874 vfmsh_lane_f16 (float16_t __a, float16_t __b,
31875 		float16x4_t __c, const int __lane)
31876 {
31877   return vfmsh_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
31878 }
31879 
31880 __extension__ extern __inline float16_t
31881 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsh_laneq_f16(float16_t __a,float16_t __b,float16x8_t __c,const int __lane)31882 vfmsh_laneq_f16 (float16_t __a, float16_t __b,
31883 		 float16x8_t __c, const int __lane)
31884 {
31885   return vfmsh_f16 (__a, __b, __aarch64_vget_lane_any (__c, __lane));
31886 }
31887 
31888 __extension__ extern __inline float16x4_t
31889 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_lane_f16(float16x4_t __a,float16x4_t __b,float16x4_t __c,const int __lane)31890 vfms_lane_f16 (float16x4_t __a, float16x4_t __b,
31891 	       float16x4_t __c, const int __lane)
31892 {
31893   return vfms_f16 (__a, __b, __aarch64_vdup_lane_f16 (__c, __lane));
31894 }
31895 
31896 __extension__ extern __inline float16x8_t
31897 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_lane_f16(float16x8_t __a,float16x8_t __b,float16x4_t __c,const int __lane)31898 vfmsq_lane_f16 (float16x8_t __a, float16x8_t __b,
31899 		float16x4_t __c, const int __lane)
31900 {
31901   return vfmsq_f16 (__a, __b, __aarch64_vdupq_lane_f16 (__c, __lane));
31902 }
31903 
31904 __extension__ extern __inline float16x4_t
31905 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_laneq_f16(float16x4_t __a,float16x4_t __b,float16x8_t __c,const int __lane)31906 vfms_laneq_f16 (float16x4_t __a, float16x4_t __b,
31907 		float16x8_t __c, const int __lane)
31908 {
31909   return vfms_f16 (__a, __b, __aarch64_vdup_laneq_f16 (__c, __lane));
31910 }
31911 
31912 __extension__ extern __inline float16x8_t
31913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_laneq_f16(float16x8_t __a,float16x8_t __b,float16x8_t __c,const int __lane)31914 vfmsq_laneq_f16 (float16x8_t __a, float16x8_t __b,
31915 		 float16x8_t __c, const int __lane)
31916 {
31917   return vfmsq_f16 (__a, __b, __aarch64_vdupq_laneq_f16 (__c, __lane));
31918 }
31919 
31920 __extension__ extern __inline float16x4_t
31921 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfms_n_f16(float16x4_t __a,float16x4_t __b,float16_t __c)31922 vfms_n_f16 (float16x4_t __a, float16x4_t __b, float16_t __c)
31923 {
31924   return vfms_f16 (__a, __b, vdup_n_f16 (__c));
31925 }
31926 
31927 __extension__ extern __inline float16x8_t
31928 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmsq_n_f16(float16x8_t __a,float16x8_t __b,float16_t __c)31929 vfmsq_n_f16 (float16x8_t __a, float16x8_t __b, float16_t __c)
31930 {
31931   return vfmsq_f16 (__a, __b, vdupq_n_f16 (__c));
31932 }
31933 
31934 __extension__ extern __inline float16_t
31935 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulh_lane_f16(float16_t __a,float16x4_t __b,const int __lane)31936 vmulh_lane_f16 (float16_t __a, float16x4_t __b, const int __lane)
31937 {
31938   return __a * __aarch64_vget_lane_any (__b, __lane);
31939 }
31940 
31941 __extension__ extern __inline float16x4_t
31942 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_lane_f16(float16x4_t __a,float16x4_t __b,const int __lane)31943 vmul_lane_f16 (float16x4_t __a, float16x4_t __b, const int __lane)
31944 {
31945   return vmul_f16 (__a, vdup_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
31946 }
31947 
31948 __extension__ extern __inline float16x8_t
31949 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_lane_f16(float16x8_t __a,float16x4_t __b,const int __lane)31950 vmulq_lane_f16 (float16x8_t __a, float16x4_t __b, const int __lane)
31951 {
31952   return vmulq_f16 (__a, vdupq_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
31953 }
31954 
31955 __extension__ extern __inline float16_t
31956 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulh_laneq_f16(float16_t __a,float16x8_t __b,const int __lane)31957 vmulh_laneq_f16 (float16_t __a, float16x8_t __b, const int __lane)
31958 {
31959   return __a * __aarch64_vget_lane_any (__b, __lane);
31960 }
31961 
31962 __extension__ extern __inline float16x4_t
31963 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_laneq_f16(float16x4_t __a,float16x8_t __b,const int __lane)31964 vmul_laneq_f16 (float16x4_t __a, float16x8_t __b, const int __lane)
31965 {
31966   return vmul_f16 (__a, vdup_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
31967 }
31968 
31969 __extension__ extern __inline float16x8_t
31970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_laneq_f16(float16x8_t __a,float16x8_t __b,const int __lane)31971 vmulq_laneq_f16 (float16x8_t __a, float16x8_t __b, const int __lane)
31972 {
31973   return vmulq_f16 (__a, vdupq_n_f16 (__aarch64_vget_lane_any (__b, __lane)));
31974 }
31975 
31976 __extension__ extern __inline float16x4_t
31977 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmul_n_f16(float16x4_t __a,float16_t __b)31978 vmul_n_f16 (float16x4_t __a, float16_t __b)
31979 {
31980   return vmul_lane_f16 (__a, vdup_n_f16 (__b), 0);
31981 }
31982 
31983 __extension__ extern __inline float16x8_t
31984 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulq_n_f16(float16x8_t __a,float16_t __b)31985 vmulq_n_f16 (float16x8_t __a, float16_t __b)
31986 {
31987   return vmulq_laneq_f16 (__a, vdupq_n_f16 (__b), 0);
31988 }
31989 
31990 __extension__ extern __inline float16_t
31991 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxh_lane_f16(float16_t __a,float16x4_t __b,const int __lane)31992 vmulxh_lane_f16 (float16_t __a, float16x4_t __b, const int __lane)
31993 {
31994   return vmulxh_f16 (__a, __aarch64_vget_lane_any (__b, __lane));
31995 }
31996 
31997 __extension__ extern __inline float16x4_t
31998 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_lane_f16(float16x4_t __a,float16x4_t __b,const int __lane)31999 vmulx_lane_f16 (float16x4_t __a, float16x4_t __b, const int __lane)
32000 {
32001   return vmulx_f16 (__a, __aarch64_vdup_lane_f16 (__b, __lane));
32002 }
32003 
32004 __extension__ extern __inline float16x8_t
32005 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_lane_f16(float16x8_t __a,float16x4_t __b,const int __lane)32006 vmulxq_lane_f16 (float16x8_t __a, float16x4_t __b, const int __lane)
32007 {
32008   return vmulxq_f16 (__a, __aarch64_vdupq_lane_f16 (__b, __lane));
32009 }
32010 
32011 __extension__ extern __inline float16_t
32012 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxh_laneq_f16(float16_t __a,float16x8_t __b,const int __lane)32013 vmulxh_laneq_f16 (float16_t __a, float16x8_t __b, const int __lane)
32014 {
32015   return vmulxh_f16 (__a, __aarch64_vget_lane_any (__b, __lane));
32016 }
32017 
32018 __extension__ extern __inline float16x4_t
32019 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_laneq_f16(float16x4_t __a,float16x8_t __b,const int __lane)32020 vmulx_laneq_f16 (float16x4_t __a, float16x8_t __b, const int __lane)
32021 {
32022   return vmulx_f16 (__a, __aarch64_vdup_laneq_f16 (__b, __lane));
32023 }
32024 
32025 __extension__ extern __inline float16x8_t
32026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_laneq_f16(float16x8_t __a,float16x8_t __b,const int __lane)32027 vmulxq_laneq_f16 (float16x8_t __a, float16x8_t __b, const int __lane)
32028 {
32029   return vmulxq_f16 (__a, __aarch64_vdupq_laneq_f16 (__b, __lane));
32030 }
32031 
32032 __extension__ extern __inline float16x4_t
32033 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulx_n_f16(float16x4_t __a,float16_t __b)32034 vmulx_n_f16 (float16x4_t __a, float16_t __b)
32035 {
32036   return vmulx_f16 (__a, vdup_n_f16 (__b));
32037 }
32038 
32039 __extension__ extern __inline float16x8_t
32040 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmulxq_n_f16(float16x8_t __a,float16_t __b)32041 vmulxq_n_f16 (float16x8_t __a, float16_t __b)
32042 {
32043   return vmulxq_f16 (__a, vdupq_n_f16 (__b));
32044 }
32045 
32046 /* ARMv8.2-A FP16 reduction vector intrinsics.  */
32047 
32048 __extension__ extern __inline float16_t
32049 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxv_f16(float16x4_t __a)32050 vmaxv_f16 (float16x4_t __a)
32051 {
32052   return __builtin_aarch64_reduc_smax_nan_scal_v4hf (__a);
32053 }
32054 
32055 __extension__ extern __inline float16_t
32056 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxvq_f16(float16x8_t __a)32057 vmaxvq_f16 (float16x8_t __a)
32058 {
32059   return __builtin_aarch64_reduc_smax_nan_scal_v8hf (__a);
32060 }
32061 
32062 __extension__ extern __inline float16_t
32063 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminv_f16(float16x4_t __a)32064 vminv_f16 (float16x4_t __a)
32065 {
32066   return __builtin_aarch64_reduc_smin_nan_scal_v4hf (__a);
32067 }
32068 
32069 __extension__ extern __inline float16_t
32070 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminvq_f16(float16x8_t __a)32071 vminvq_f16 (float16x8_t __a)
32072 {
32073   return __builtin_aarch64_reduc_smin_nan_scal_v8hf (__a);
32074 }
32075 
32076 __extension__ extern __inline float16_t
32077 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmv_f16(float16x4_t __a)32078 vmaxnmv_f16 (float16x4_t __a)
32079 {
32080   return __builtin_aarch64_reduc_smax_scal_v4hf (__a);
32081 }
32082 
32083 __extension__ extern __inline float16_t
32084 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmaxnmvq_f16(float16x8_t __a)32085 vmaxnmvq_f16 (float16x8_t __a)
32086 {
32087   return __builtin_aarch64_reduc_smax_scal_v8hf (__a);
32088 }
32089 
32090 __extension__ extern __inline float16_t
32091 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmv_f16(float16x4_t __a)32092 vminnmv_f16 (float16x4_t __a)
32093 {
32094   return __builtin_aarch64_reduc_smin_scal_v4hf (__a);
32095 }
32096 
32097 __extension__ extern __inline float16_t
32098 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vminnmvq_f16(float16x8_t __a)32099 vminnmvq_f16 (float16x8_t __a)
32100 {
32101   return __builtin_aarch64_reduc_smin_scal_v8hf (__a);
32102 }
32103 
32104 #pragma GCC pop_options
32105 
32106 /* AdvSIMD Dot Product intrinsics.  */
32107 
32108 #pragma GCC push_options
32109 #pragma GCC target ("arch=armv8.2-a+dotprod")
32110 
32111 __extension__ extern __inline uint32x2_t
32112 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_u32(uint32x2_t __r,uint8x8_t __a,uint8x8_t __b)32113 vdot_u32 (uint32x2_t __r, uint8x8_t __a, uint8x8_t __b)
32114 {
32115   return __builtin_aarch64_udotv8qi_uuuu (__r, __a, __b);
32116 }
32117 
32118 __extension__ extern __inline uint32x4_t
32119 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_u32(uint32x4_t __r,uint8x16_t __a,uint8x16_t __b)32120 vdotq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b)
32121 {
32122   return __builtin_aarch64_udotv16qi_uuuu (__r, __a, __b);
32123 }
32124 
32125 __extension__ extern __inline int32x2_t
32126 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_s32(int32x2_t __r,int8x8_t __a,int8x8_t __b)32127 vdot_s32 (int32x2_t __r, int8x8_t __a, int8x8_t __b)
32128 {
32129   return __builtin_aarch64_sdotv8qi (__r, __a, __b);
32130 }
32131 
32132 __extension__ extern __inline int32x4_t
32133 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_s32(int32x4_t __r,int8x16_t __a,int8x16_t __b)32134 vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
32135 {
32136   return __builtin_aarch64_sdotv16qi (__r, __a, __b);
32137 }
32138 
32139 __extension__ extern __inline uint32x2_t
32140 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_lane_u32(uint32x2_t __r,uint8x8_t __a,uint8x8_t __b,const int __index)32141 vdot_lane_u32 (uint32x2_t __r, uint8x8_t __a, uint8x8_t __b, const int __index)
32142 {
32143   return __builtin_aarch64_udot_lanev8qi_uuuus (__r, __a, __b, __index);
32144 }
32145 
32146 __extension__ extern __inline uint32x2_t
32147 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_laneq_u32(uint32x2_t __r,uint8x8_t __a,uint8x16_t __b,const int __index)32148 vdot_laneq_u32 (uint32x2_t __r, uint8x8_t __a, uint8x16_t __b,
32149 		const int __index)
32150 {
32151   return __builtin_aarch64_udot_laneqv8qi_uuuus (__r, __a, __b, __index);
32152 }
32153 
32154 __extension__ extern __inline uint32x4_t
32155 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_lane_u32(uint32x4_t __r,uint8x16_t __a,uint8x8_t __b,const int __index)32156 vdotq_lane_u32 (uint32x4_t __r, uint8x16_t __a, uint8x8_t __b,
32157 		const int __index)
32158 {
32159   return __builtin_aarch64_udot_lanev16qi_uuuus (__r, __a, __b, __index);
32160 }
32161 
32162 __extension__ extern __inline uint32x4_t
32163 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_laneq_u32(uint32x4_t __r,uint8x16_t __a,uint8x16_t __b,const int __index)32164 vdotq_laneq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b,
32165 		 const int __index)
32166 {
32167   return __builtin_aarch64_udot_laneqv16qi_uuuus (__r, __a, __b, __index);
32168 }
32169 
32170 __extension__ extern __inline int32x2_t
32171 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_lane_s32(int32x2_t __r,int8x8_t __a,int8x8_t __b,const int __index)32172 vdot_lane_s32 (int32x2_t __r, int8x8_t __a, int8x8_t __b, const int __index)
32173 {
32174   return __builtin_aarch64_sdot_lanev8qi (__r, __a, __b, __index);
32175 }
32176 
32177 __extension__ extern __inline int32x2_t
32178 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdot_laneq_s32(int32x2_t __r,int8x8_t __a,int8x16_t __b,const int __index)32179 vdot_laneq_s32 (int32x2_t __r, int8x8_t __a, int8x16_t __b, const int __index)
32180 {
32181   return __builtin_aarch64_sdot_laneqv8qi (__r, __a, __b, __index);
32182 }
32183 
32184 __extension__ extern __inline int32x4_t
32185 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_lane_s32(int32x4_t __r,int8x16_t __a,int8x8_t __b,const int __index)32186 vdotq_lane_s32 (int32x4_t __r, int8x16_t __a, int8x8_t __b, const int __index)
32187 {
32188   return __builtin_aarch64_sdot_lanev16qi (__r, __a, __b, __index);
32189 }
32190 
32191 __extension__ extern __inline int32x4_t
32192 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdotq_laneq_s32(int32x4_t __r,int8x16_t __a,int8x16_t __b,const int __index)32193 vdotq_laneq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b, const int __index)
32194 {
32195   return __builtin_aarch64_sdot_laneqv16qi (__r, __a, __b, __index);
32196 }
32197 #pragma GCC pop_options
32198 
32199 #pragma GCC push_options
32200 #pragma GCC target ("arch=armv8.2-a+sm4")
32201 
32202 __extension__ extern __inline uint32x4_t
32203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3ss1q_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)32204 vsm3ss1q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
32205 {
32206   return __builtin_aarch64_sm3ss1qv4si_uuuu (__a, __b, __c);
32207 }
32208 
32209 __extension__ extern __inline uint32x4_t
32210 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3tt1aq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __imm2)32211 vsm3tt1aq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
32212 {
32213   return __builtin_aarch64_sm3tt1aqv4si_uuuus (__a, __b, __c, __imm2);
32214 }
32215 
32216 __extension__ extern __inline uint32x4_t
32217 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3tt1bq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __imm2)32218 vsm3tt1bq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
32219 {
32220   return __builtin_aarch64_sm3tt1bqv4si_uuuus (__a, __b, __c, __imm2);
32221 }
32222 
32223 __extension__ extern __inline uint32x4_t
32224 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3tt2aq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __imm2)32225 vsm3tt2aq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
32226 {
32227   return __builtin_aarch64_sm3tt2aqv4si_uuuus (__a, __b, __c, __imm2);
32228 }
32229 
32230 __extension__ extern __inline uint32x4_t
32231 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3tt2bq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c,const int __imm2)32232 vsm3tt2bq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c, const int __imm2)
32233 {
32234   return __builtin_aarch64_sm3tt2bqv4si_uuuus (__a, __b, __c, __imm2);
32235 }
32236 
32237 __extension__ extern __inline uint32x4_t
32238 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3partw1q_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)32239 vsm3partw1q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
32240 {
32241   return __builtin_aarch64_sm3partw1qv4si_uuuu (__a, __b, __c);
32242 }
32243 __extension__ extern __inline uint32x4_t
32244 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm3partw2q_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)32245 vsm3partw2q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
32246 {
32247   return __builtin_aarch64_sm3partw2qv4si_uuuu (__a, __b, __c);
32248 }
32249 
32250 __extension__ extern __inline uint32x4_t
32251 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm4eq_u32(uint32x4_t __a,uint32x4_t __b)32252 vsm4eq_u32 (uint32x4_t __a, uint32x4_t __b)
32253 {
32254   return __builtin_aarch64_sm4eqv4si_uuu (__a, __b);
32255 }
32256 
32257 __extension__ extern __inline uint32x4_t
32258 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsm4ekeyq_u32(uint32x4_t __a,uint32x4_t __b)32259 vsm4ekeyq_u32 (uint32x4_t __a, uint32x4_t __b)
32260 {
32261   return __builtin_aarch64_sm4ekeyqv4si_uuu (__a, __b);
32262 }
32263 
32264 #pragma GCC pop_options
32265 
32266 #pragma GCC push_options
32267 #pragma GCC target ("arch=armv8.2-a+sha3")
32268 
32269 __extension__ extern __inline uint64x2_t
32270 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha512hq_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)32271 vsha512hq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
32272 {
32273   return __builtin_aarch64_crypto_sha512hqv2di_uuuu (__a, __b, __c);
32274 }
32275 
32276 __extension__ extern __inline uint64x2_t
32277 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha512h2q_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)32278 vsha512h2q_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
32279 {
32280   return __builtin_aarch64_crypto_sha512h2qv2di_uuuu (__a, __b, __c);
32281 }
32282 
32283 __extension__ extern __inline uint64x2_t
32284 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha512su0q_u64(uint64x2_t __a,uint64x2_t __b)32285 vsha512su0q_u64 (uint64x2_t __a, uint64x2_t __b)
32286 {
32287   return __builtin_aarch64_crypto_sha512su0qv2di_uuu (__a, __b);
32288 }
32289 
32290 __extension__ extern __inline uint64x2_t
32291 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsha512su1q_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)32292 vsha512su1q_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
32293 {
32294   return __builtin_aarch64_crypto_sha512su1qv2di_uuuu (__a, __b, __c);
32295 }
32296 
32297 __extension__ extern __inline uint8x16_t
32298 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)32299 veor3q_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
32300 {
32301   return __builtin_aarch64_eor3qv16qi_uuuu (__a, __b, __c);
32302 }
32303 
32304 __extension__ extern __inline uint16x8_t
32305 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)32306 veor3q_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
32307 {
32308   return __builtin_aarch64_eor3qv8hi_uuuu (__a, __b, __c);
32309 }
32310 
32311 __extension__ extern __inline uint32x4_t
32312 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)32313 veor3q_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
32314 {
32315   return __builtin_aarch64_eor3qv4si_uuuu (__a, __b, __c);
32316 }
32317 
32318 __extension__ extern __inline uint64x2_t
32319 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)32320 veor3q_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
32321 {
32322   return __builtin_aarch64_eor3qv2di_uuuu (__a, __b, __c);
32323 }
32324 
32325 
32326 __extension__ extern __inline int8x16_t
32327 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)32328 veor3q_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
32329 {
32330   return __builtin_aarch64_eor3qv16qi (__a, __b, __c);
32331 }
32332 
32333 __extension__ extern __inline int16x8_t
32334 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)32335 veor3q_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
32336 {
32337   return __builtin_aarch64_eor3qv8hi (__a, __b, __c);
32338 }
32339 
32340 __extension__ extern __inline int32x4_t
32341 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)32342 veor3q_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
32343 {
32344   return __builtin_aarch64_eor3qv4si (__a, __b, __c);
32345 }
32346 
32347 __extension__ extern __inline int64x2_t
32348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
veor3q_s64(int64x2_t __a,int64x2_t __b,int64x2_t __c)32349 veor3q_s64 (int64x2_t __a, int64x2_t __b, int64x2_t __c)
32350 {
32351   return __builtin_aarch64_eor3qv2di (__a, __b, __c);
32352 }
32353 
32354 __extension__ extern __inline uint64x2_t
32355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrax1q_u64(uint64x2_t __a,uint64x2_t __b)32356 vrax1q_u64 (uint64x2_t __a, uint64x2_t __b)
32357 {
32358   return __builtin_aarch64_rax1qv2di_uuu (__a, __b);
32359 }
32360 
32361 __extension__ extern __inline uint64x2_t
32362 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vxarq_u64(uint64x2_t __a,uint64x2_t __b,const int imm6)32363 vxarq_u64 (uint64x2_t __a, uint64x2_t __b, const int imm6)
32364 {
32365   return __builtin_aarch64_xarqv2di_uuus (__a, __b,imm6);
32366 }
32367 
32368 __extension__ extern __inline uint8x16_t
32369 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_u8(uint8x16_t __a,uint8x16_t __b,uint8x16_t __c)32370 vbcaxq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
32371 {
32372   return __builtin_aarch64_bcaxqv16qi_uuuu (__a, __b, __c);
32373 }
32374 
32375 __extension__ extern __inline uint16x8_t
32376 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_u16(uint16x8_t __a,uint16x8_t __b,uint16x8_t __c)32377 vbcaxq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
32378 {
32379   return __builtin_aarch64_bcaxqv8hi_uuuu (__a, __b, __c);
32380 }
32381 
32382 __extension__ extern __inline uint32x4_t
32383 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_u32(uint32x4_t __a,uint32x4_t __b,uint32x4_t __c)32384 vbcaxq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
32385 {
32386   return __builtin_aarch64_bcaxqv4si_uuuu (__a, __b, __c);
32387 }
32388 
32389 __extension__ extern __inline uint64x2_t
32390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_u64(uint64x2_t __a,uint64x2_t __b,uint64x2_t __c)32391 vbcaxq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
32392 {
32393   return __builtin_aarch64_bcaxqv2di_uuuu (__a, __b, __c);
32394 }
32395 
32396 __extension__ extern __inline int8x16_t
32397 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_s8(int8x16_t __a,int8x16_t __b,int8x16_t __c)32398 vbcaxq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
32399 {
32400   return __builtin_aarch64_bcaxqv16qi (__a, __b, __c);
32401 }
32402 
32403 __extension__ extern __inline int16x8_t
32404 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_s16(int16x8_t __a,int16x8_t __b,int16x8_t __c)32405 vbcaxq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
32406 {
32407   return __builtin_aarch64_bcaxqv8hi (__a, __b, __c);
32408 }
32409 
32410 __extension__ extern __inline int32x4_t
32411 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_s32(int32x4_t __a,int32x4_t __b,int32x4_t __c)32412 vbcaxq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
32413 {
32414   return __builtin_aarch64_bcaxqv4si (__a, __b, __c);
32415 }
32416 
32417 __extension__ extern __inline int64x2_t
32418 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbcaxq_s64(int64x2_t __a,int64x2_t __b,int64x2_t __c)32419 vbcaxq_s64 (int64x2_t __a, int64x2_t __b, int64x2_t __c)
32420 {
32421   return __builtin_aarch64_bcaxqv2di (__a, __b, __c);
32422 }
32423 
32424 #pragma GCC pop_options
32425 
32426 /* AdvSIMD Complex numbers intrinsics.  */
32427 
32428 #pragma GCC push_options
32429 #pragma GCC target ("arch=armv8.3-a")
32430 
32431 #pragma GCC push_options
32432 #pragma GCC target ("+fp16")
32433 __extension__ extern __inline float16x4_t
32434 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot90_f16(float16x4_t __a,float16x4_t __b)32435 vcadd_rot90_f16 (float16x4_t __a, float16x4_t __b)
32436 {
32437   return __builtin_aarch64_fcadd90v4hf (__a, __b);
32438 }
32439 
32440 __extension__ extern __inline float16x8_t
32441 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot90_f16(float16x8_t __a,float16x8_t __b)32442 vcaddq_rot90_f16 (float16x8_t __a, float16x8_t __b)
32443 {
32444   return __builtin_aarch64_fcadd90v8hf (__a, __b);
32445 }
32446 
32447 __extension__ extern __inline float16x4_t
32448 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot270_f16(float16x4_t __a,float16x4_t __b)32449 vcadd_rot270_f16 (float16x4_t __a, float16x4_t __b)
32450 {
32451   return __builtin_aarch64_fcadd270v4hf (__a, __b);
32452 }
32453 
32454 __extension__ extern __inline float16x8_t
32455 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot270_f16(float16x8_t __a,float16x8_t __b)32456 vcaddq_rot270_f16 (float16x8_t __a, float16x8_t __b)
32457 {
32458   return __builtin_aarch64_fcadd270v8hf (__a, __b);
32459 }
32460 
32461 __extension__ extern __inline float16x4_t
32462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)32463 vcmla_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
32464 {
32465   return __builtin_aarch64_fcmla0v4hf (__r, __a, __b);
32466 }
32467 
32468 __extension__ extern __inline float16x8_t
32469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)32470 vcmlaq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
32471 {
32472   return __builtin_aarch64_fcmla0v8hf (__r, __a, __b);
32473 }
32474 
32475 __extension__ extern __inline float16x4_t
32476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)32477 vcmla_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
32478 		const int __index)
32479 {
32480   return __builtin_aarch64_fcmla_lane0v4hf (__r, __a, __b, __index);
32481 }
32482 
32483 __extension__ extern __inline float16x4_t
32484 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)32485 vcmla_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
32486 		 const int __index)
32487 {
32488   return __builtin_aarch64_fcmla_laneq0v4hf (__r, __a, __b, __index);
32489 }
32490 
32491 __extension__ extern __inline float16x8_t
32492 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)32493 vcmlaq_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
32494 		 const int __index)
32495 {
32496   return __builtin_aarch64_fcmlaq_lane0v8hf (__r, __a, __b, __index);
32497 }
32498 
32499 __extension__ extern __inline float16x8_t
32500 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)32501 vcmlaq_rot90_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
32502 		       const int __index)
32503 {
32504   return __builtin_aarch64_fcmlaq_lane90v8hf (__r, __a, __b, __index);
32505 }
32506 
32507 __extension__ extern __inline float16x4_t
32508 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)32509 vcmla_rot90_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
32510 		       const int __index)
32511 {
32512   return __builtin_aarch64_fcmla_laneq90v4hf (__r, __a, __b, __index);
32513 }
32514 
32515 __extension__ extern __inline float16x4_t
32516 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)32517 vcmla_rot90_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
32518 		      const int __index)
32519 {
32520   return __builtin_aarch64_fcmla_lane90v4hf (__r, __a, __b, __index);
32521 }
32522 
32523 __extension__ extern __inline float16x8_t
32524 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)32525 vcmlaq_rot90_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
32526 {
32527   return __builtin_aarch64_fcmla90v8hf (__r, __a, __b);
32528 }
32529 
32530 __extension__ extern __inline float16x4_t
32531 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)32532 vcmla_rot90_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
32533 {
32534   return __builtin_aarch64_fcmla90v4hf (__r, __a, __b);
32535 }
32536 
32537 __extension__ extern __inline float16x8_t
32538 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)32539 vcmlaq_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
32540 		  const int __index)
32541 {
32542   return __builtin_aarch64_fcmla_lane0v8hf (__r, __a, __b, __index);
32543 }
32544 
32545 __extension__ extern __inline float16x4_t
32546 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)32547 vcmla_rot180_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
32548 			const int __index)
32549 {
32550   return __builtin_aarch64_fcmla_laneq180v4hf (__r, __a, __b, __index);
32551 }
32552 
32553 __extension__ extern __inline float16x4_t
32554 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)32555 vcmla_rot180_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
32556 		       const int __index)
32557 {
32558   return __builtin_aarch64_fcmla_lane180v4hf (__r, __a, __b, __index);
32559 }
32560 
32561 __extension__ extern __inline float16x8_t
32562 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)32563 vcmlaq_rot180_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
32564 {
32565   return __builtin_aarch64_fcmla180v8hf (__r, __a, __b);
32566 }
32567 
32568 __extension__ extern __inline float16x4_t
32569 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)32570 vcmla_rot180_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
32571 {
32572   return __builtin_aarch64_fcmla180v4hf (__r, __a, __b);
32573 }
32574 
32575 __extension__ extern __inline float16x8_t
32576 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)32577 vcmlaq_rot90_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
32578 			const int __index)
32579 {
32580   return __builtin_aarch64_fcmla_lane90v8hf (__r, __a, __b, __index);
32581 }
32582 
32583 __extension__ extern __inline float16x8_t
32584 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)32585 vcmlaq_rot270_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
32586 			 const int __index)
32587 {
32588   return __builtin_aarch64_fcmla_lane270v8hf (__r, __a, __b, __index);
32589 }
32590 
32591 __extension__ extern __inline float16x8_t
32592 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)32593 vcmlaq_rot270_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
32594 			const int __index)
32595 {
32596   return __builtin_aarch64_fcmlaq_lane270v8hf (__r, __a, __b, __index);
32597 }
32598 
32599 __extension__ extern __inline float16x4_t
32600 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_laneq_f16(float16x4_t __r,float16x4_t __a,float16x8_t __b,const int __index)32601 vcmla_rot270_laneq_f16 (float16x4_t __r, float16x4_t __a, float16x8_t __b,
32602 			const int __index)
32603 {
32604   return __builtin_aarch64_fcmla_laneq270v4hf (__r, __a, __b, __index);
32605 }
32606 
32607 __extension__ extern __inline float16x8_t
32608 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b)32609 vcmlaq_rot270_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b)
32610 {
32611   return __builtin_aarch64_fcmla270v8hf (__r, __a, __b);
32612 }
32613 
32614 __extension__ extern __inline float16x4_t
32615 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b)32616 vcmla_rot270_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b)
32617 {
32618   return __builtin_aarch64_fcmla270v4hf (__r, __a, __b);
32619 }
32620 
32621 __extension__ extern __inline float16x8_t
32622 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_laneq_f16(float16x8_t __r,float16x8_t __a,float16x8_t __b,const int __index)32623 vcmlaq_rot180_laneq_f16 (float16x8_t __r, float16x8_t __a, float16x8_t __b,
32624 			 const int __index)
32625 {
32626   return __builtin_aarch64_fcmla_lane180v8hf (__r, __a, __b, __index);
32627 }
32628 
32629 __extension__ extern __inline float16x8_t
32630 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_lane_f16(float16x8_t __r,float16x8_t __a,float16x4_t __b,const int __index)32631 vcmlaq_rot180_lane_f16 (float16x8_t __r, float16x8_t __a, float16x4_t __b,
32632 			const int __index)
32633 {
32634   return __builtin_aarch64_fcmlaq_lane180v8hf (__r, __a, __b, __index);
32635 }
32636 
32637 __extension__ extern __inline float16x4_t
32638 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_lane_f16(float16x4_t __r,float16x4_t __a,float16x4_t __b,const int __index)32639 vcmla_rot270_lane_f16 (float16x4_t __r, float16x4_t __a, float16x4_t __b,
32640 		       const int __index)
32641 {
32642   return __builtin_aarch64_fcmla_lane270v4hf (__r, __a, __b, __index);
32643 }
32644 #pragma GCC pop_options
32645 
32646 __extension__ extern __inline float32x2_t
32647 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot90_f32(float32x2_t __a,float32x2_t __b)32648 vcadd_rot90_f32 (float32x2_t __a, float32x2_t __b)
32649 {
32650   return __builtin_aarch64_fcadd90v2sf (__a, __b);
32651 }
32652 
32653 __extension__ extern __inline float32x4_t
32654 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot90_f32(float32x4_t __a,float32x4_t __b)32655 vcaddq_rot90_f32 (float32x4_t __a, float32x4_t __b)
32656 {
32657   return __builtin_aarch64_fcadd90v4sf (__a, __b);
32658 }
32659 
32660 __extension__ extern __inline float64x2_t
32661 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot90_f64(float64x2_t __a,float64x2_t __b)32662 vcaddq_rot90_f64 (float64x2_t __a, float64x2_t __b)
32663 {
32664   return __builtin_aarch64_fcadd90v2df (__a, __b);
32665 }
32666 
32667 __extension__ extern __inline float32x2_t
32668 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcadd_rot270_f32(float32x2_t __a,float32x2_t __b)32669 vcadd_rot270_f32 (float32x2_t __a, float32x2_t __b)
32670 {
32671   return __builtin_aarch64_fcadd270v2sf (__a, __b);
32672 }
32673 
32674 __extension__ extern __inline float32x4_t
32675 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot270_f32(float32x4_t __a,float32x4_t __b)32676 vcaddq_rot270_f32 (float32x4_t __a, float32x4_t __b)
32677 {
32678   return __builtin_aarch64_fcadd270v4sf (__a, __b);
32679 }
32680 
32681 __extension__ extern __inline float64x2_t
32682 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcaddq_rot270_f64(float64x2_t __a,float64x2_t __b)32683 vcaddq_rot270_f64 (float64x2_t __a, float64x2_t __b)
32684 {
32685   return __builtin_aarch64_fcadd270v2df (__a, __b);
32686 }
32687 
32688 __extension__ extern __inline float32x2_t
32689 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)32690 vcmla_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
32691 {
32692   return __builtin_aarch64_fcmla0v2sf (__r, __a, __b);
32693 }
32694 
32695 __extension__ extern __inline float32x4_t
32696 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)32697 vcmlaq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
32698 {
32699   return __builtin_aarch64_fcmla0v4sf (__r, __a, __b);
32700 }
32701 
32702 __extension__ extern __inline float64x2_t
32703 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_f64(float64x2_t __r,float64x2_t __a,float64x2_t __b)32704 vcmlaq_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
32705 {
32706   return __builtin_aarch64_fcmla0v2df (__r, __a, __b);
32707 }
32708 
32709 __extension__ extern __inline float32x2_t
32710 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)32711 vcmla_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
32712 		const int __index)
32713 {
32714   return __builtin_aarch64_fcmla_lane0v2sf (__r, __a, __b, __index);
32715 }
32716 
32717 __extension__ extern __inline float32x2_t
32718 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)32719 vcmla_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
32720 		 const int __index)
32721 {
32722   return __builtin_aarch64_fcmla_laneq0v2sf (__r, __a, __b, __index);
32723 }
32724 
32725 __extension__ extern __inline float32x4_t
32726 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)32727 vcmlaq_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
32728 		 const int __index)
32729 {
32730   return __builtin_aarch64_fcmlaq_lane0v4sf (__r, __a, __b, __index);
32731 }
32732 
32733 __extension__ extern __inline float32x4_t
32734 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)32735 vcmlaq_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
32736 		  const int __index)
32737 {
32738   return __builtin_aarch64_fcmla_lane0v4sf (__r, __a, __b, __index);
32739 }
32740 
32741 __extension__ extern __inline float32x2_t
32742 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)32743 vcmla_rot90_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
32744 {
32745   return __builtin_aarch64_fcmla90v2sf (__r, __a, __b);
32746 }
32747 
32748 __extension__ extern __inline float32x4_t
32749 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)32750 vcmlaq_rot90_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
32751 {
32752   return __builtin_aarch64_fcmla90v4sf (__r, __a, __b);
32753 }
32754 
32755 __extension__ extern __inline float64x2_t
32756 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_f64(float64x2_t __r,float64x2_t __a,float64x2_t __b)32757 vcmlaq_rot90_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
32758 {
32759   return __builtin_aarch64_fcmla90v2df (__r, __a, __b);
32760 }
32761 
32762 __extension__ extern __inline float32x2_t
32763 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)32764 vcmla_rot90_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
32765 		      const int __index)
32766 {
32767   return __builtin_aarch64_fcmla_lane90v2sf (__r, __a, __b, __index);
32768 }
32769 
32770 __extension__ extern __inline float32x2_t
32771 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot90_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)32772 vcmla_rot90_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
32773 		       const int __index)
32774 {
32775   return __builtin_aarch64_fcmla_laneq90v2sf (__r, __a, __b, __index);
32776 }
32777 
32778 __extension__ extern __inline float32x4_t
32779 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)32780 vcmlaq_rot90_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
32781 		       const int __index)
32782 {
32783   return __builtin_aarch64_fcmlaq_lane90v4sf (__r, __a, __b, __index);
32784 }
32785 
32786 __extension__ extern __inline float32x4_t
32787 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot90_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)32788 vcmlaq_rot90_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
32789 			const int __index)
32790 {
32791   return __builtin_aarch64_fcmla_lane90v4sf (__r, __a, __b, __index);
32792 }
32793 
32794 __extension__ extern __inline float32x2_t
32795 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)32796 vcmla_rot180_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
32797 {
32798   return __builtin_aarch64_fcmla180v2sf (__r, __a, __b);
32799 }
32800 
32801 __extension__ extern __inline float32x4_t
32802 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)32803 vcmlaq_rot180_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
32804 {
32805   return __builtin_aarch64_fcmla180v4sf (__r, __a, __b);
32806 }
32807 
32808 __extension__ extern __inline float64x2_t
32809 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_f64(float64x2_t __r,float64x2_t __a,float64x2_t __b)32810 vcmlaq_rot180_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
32811 {
32812   return __builtin_aarch64_fcmla180v2df (__r, __a, __b);
32813 }
32814 
32815 __extension__ extern __inline float32x2_t
32816 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)32817 vcmla_rot180_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
32818 		       const int __index)
32819 {
32820   return __builtin_aarch64_fcmla_lane180v2sf (__r, __a, __b, __index);
32821 }
32822 
32823 __extension__ extern __inline float32x2_t
32824 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot180_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)32825 vcmla_rot180_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
32826 			const int __index)
32827 {
32828   return __builtin_aarch64_fcmla_laneq180v2sf (__r, __a, __b, __index);
32829 }
32830 
32831 __extension__ extern __inline float32x4_t
32832 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)32833 vcmlaq_rot180_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
32834 			const int __index)
32835 {
32836   return __builtin_aarch64_fcmlaq_lane180v4sf (__r, __a, __b, __index);
32837 }
32838 
32839 __extension__ extern __inline float32x4_t
32840 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot180_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)32841 vcmlaq_rot180_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
32842 			 const int __index)
32843 {
32844   return __builtin_aarch64_fcmla_lane180v4sf (__r, __a, __b, __index);
32845 }
32846 
32847 __extension__ extern __inline float32x2_t
32848 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b)32849 vcmla_rot270_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b)
32850 {
32851   return __builtin_aarch64_fcmla270v2sf (__r, __a, __b);
32852 }
32853 
32854 __extension__ extern __inline float32x4_t
32855 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b)32856 vcmlaq_rot270_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b)
32857 {
32858   return __builtin_aarch64_fcmla270v4sf (__r, __a, __b);
32859 }
32860 
32861 __extension__ extern __inline float64x2_t
32862 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_f64(float64x2_t __r,float64x2_t __a,float64x2_t __b)32863 vcmlaq_rot270_f64 (float64x2_t __r, float64x2_t __a, float64x2_t __b)
32864 {
32865   return __builtin_aarch64_fcmla270v2df (__r, __a, __b);
32866 }
32867 
32868 __extension__ extern __inline float32x2_t
32869 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_lane_f32(float32x2_t __r,float32x2_t __a,float32x2_t __b,const int __index)32870 vcmla_rot270_lane_f32 (float32x2_t __r, float32x2_t __a, float32x2_t __b,
32871 		       const int __index)
32872 {
32873   return __builtin_aarch64_fcmla_lane270v2sf (__r, __a, __b, __index);
32874 }
32875 
32876 __extension__ extern __inline float32x2_t
32877 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmla_rot270_laneq_f32(float32x2_t __r,float32x2_t __a,float32x4_t __b,const int __index)32878 vcmla_rot270_laneq_f32 (float32x2_t __r, float32x2_t __a, float32x4_t __b,
32879 			const int __index)
32880 {
32881   return __builtin_aarch64_fcmla_laneq270v2sf (__r, __a, __b, __index);
32882 }
32883 
32884 __extension__ extern __inline float32x4_t
32885 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_lane_f32(float32x4_t __r,float32x4_t __a,float32x2_t __b,const int __index)32886 vcmlaq_rot270_lane_f32 (float32x4_t __r, float32x4_t __a, float32x2_t __b,
32887 			const int __index)
32888 {
32889   return __builtin_aarch64_fcmlaq_lane270v4sf (__r, __a, __b, __index);
32890 }
32891 
32892 __extension__ extern __inline float32x4_t
32893 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcmlaq_rot270_laneq_f32(float32x4_t __r,float32x4_t __a,float32x4_t __b,const int __index)32894 vcmlaq_rot270_laneq_f32 (float32x4_t __r, float32x4_t __a, float32x4_t __b,
32895 			 const int __index)
32896 {
32897   return __builtin_aarch64_fcmla_lane270v4sf (__r, __a, __b, __index);
32898 }
32899 
32900 #pragma GCC pop_options
32901 
32902 #pragma GCC push_options
32903 #pragma GCC target ("arch=armv8.2-a+fp16fml")
32904 
32905 __extension__ extern __inline float32x2_t
32906 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)32907 vfmlal_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
32908 {
32909   return __builtin_aarch64_fmlal_lowv2sf (__r, __a, __b);
32910 }
32911 
32912 __extension__ extern __inline float32x2_t
32913 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)32914 vfmlsl_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
32915 {
32916   return __builtin_aarch64_fmlsl_lowv2sf (__r, __a, __b);
32917 }
32918 
32919 __extension__ extern __inline float32x4_t
32920 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)32921 vfmlalq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
32922 {
32923   return __builtin_aarch64_fmlalq_lowv4sf (__r, __a, __b);
32924 }
32925 
32926 __extension__ extern __inline float32x4_t
32927 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)32928 vfmlslq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
32929 {
32930   return __builtin_aarch64_fmlslq_lowv4sf (__r, __a, __b);
32931 }
32932 
32933 __extension__ extern __inline float32x2_t
32934 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)32935 vfmlal_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
32936 {
32937   return __builtin_aarch64_fmlal_highv2sf (__r, __a, __b);
32938 }
32939 
32940 __extension__ extern __inline float32x2_t
32941 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b)32942 vfmlsl_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
32943 {
32944   return __builtin_aarch64_fmlsl_highv2sf (__r, __a, __b);
32945 }
32946 
32947 __extension__ extern __inline float32x4_t
32948 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)32949 vfmlalq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
32950 {
32951   return __builtin_aarch64_fmlalq_highv4sf (__r, __a, __b);
32952 }
32953 
32954 __extension__ extern __inline float32x4_t
32955 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b)32956 vfmlslq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b)
32957 {
32958   return __builtin_aarch64_fmlslq_highv4sf (__r, __a, __b);
32959 }
32960 
32961 __extension__ extern __inline float32x2_t
32962 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_lane_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __lane)32963 vfmlal_lane_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
32964 		     const int __lane)
32965 {
32966   return __builtin_aarch64_fmlal_lane_lowv2sf (__r, __a, __b, __lane);
32967 }
32968 
32969 __extension__ extern __inline float32x2_t
32970 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_lane_low_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __lane)32971 vfmlsl_lane_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
32972 		     const int __lane)
32973 {
32974   return __builtin_aarch64_fmlsl_lane_lowv2sf (__r, __a, __b, __lane);
32975 }
32976 
32977 __extension__ extern __inline float32x2_t
32978 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_laneq_low_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __lane)32979 vfmlal_laneq_low_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
32980 		      const int __lane)
32981 {
32982   return __builtin_aarch64_fmlal_laneq_lowv2sf (__r, __a, __b, __lane);
32983 }
32984 
32985 __extension__ extern __inline float32x2_t
32986 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_laneq_low_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __lane)32987 vfmlsl_laneq_low_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
32988 		      const int __lane)
32989 {
32990   return __builtin_aarch64_fmlsl_laneq_lowv2sf (__r, __a, __b, __lane);
32991 }
32992 
32993 __extension__ extern __inline float32x4_t
32994 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_lane_low_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __lane)32995 vfmlalq_lane_low_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
32996 		      const int __lane)
32997 {
32998   return __builtin_aarch64_fmlalq_lane_lowv4sf (__r, __a, __b, __lane);
32999 }
33000 
33001 __extension__ extern __inline float32x4_t
33002 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_lane_low_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __lane)33003 vfmlslq_lane_low_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
33004 		      const int __lane)
33005 {
33006   return __builtin_aarch64_fmlslq_lane_lowv4sf (__r, __a, __b, __lane);
33007 }
33008 
33009 __extension__ extern __inline float32x4_t
33010 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_laneq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __lane)33011 vfmlalq_laneq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
33012 		       const int __lane)
33013 {
33014   return __builtin_aarch64_fmlalq_laneq_lowv4sf (__r, __a, __b, __lane);
33015 }
33016 
33017 __extension__ extern __inline float32x4_t
33018 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_laneq_low_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __lane)33019 vfmlslq_laneq_low_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
33020 		      const int __lane)
33021 {
33022   return __builtin_aarch64_fmlslq_laneq_lowv4sf (__r, __a, __b, __lane);
33023 }
33024 
33025 __extension__ extern __inline float32x2_t
33026 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_lane_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __lane)33027 vfmlal_lane_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
33028 		     const int __lane)
33029 {
33030   return __builtin_aarch64_fmlal_lane_highv2sf (__r, __a, __b, __lane);
33031 }
33032 
33033 __extension__ extern __inline float32x2_t
33034 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_lane_high_f16(float32x2_t __r,float16x4_t __a,float16x4_t __b,const int __lane)33035 vfmlsl_lane_high_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b,
33036 		     const int __lane)
33037 {
33038   return __builtin_aarch64_fmlsl_lane_highv2sf (__r, __a, __b, __lane);
33039 }
33040 
33041 __extension__ extern __inline float32x2_t
33042 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlal_laneq_high_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __lane)33043 vfmlal_laneq_high_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
33044 		      const int __lane)
33045 {
33046   return __builtin_aarch64_fmlal_laneq_highv2sf (__r, __a, __b, __lane);
33047 }
33048 
33049 __extension__ extern __inline float32x2_t
33050 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlsl_laneq_high_f16(float32x2_t __r,float16x4_t __a,float16x8_t __b,const int __lane)33051 vfmlsl_laneq_high_f16 (float32x2_t __r, float16x4_t __a, float16x8_t __b,
33052 		      const int __lane)
33053 {
33054   return __builtin_aarch64_fmlsl_laneq_highv2sf (__r, __a, __b, __lane);
33055 }
33056 
33057 __extension__ extern __inline float32x4_t
33058 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_lane_high_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __lane)33059 vfmlalq_lane_high_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
33060 		      const int __lane)
33061 {
33062   return __builtin_aarch64_fmlalq_lane_highv4sf (__r, __a, __b, __lane);
33063 }
33064 
33065 __extension__ extern __inline float32x4_t
33066 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_lane_high_f16(float32x4_t __r,float16x8_t __a,float16x4_t __b,const int __lane)33067 vfmlslq_lane_high_f16 (float32x4_t __r, float16x8_t __a, float16x4_t __b,
33068 		      const int __lane)
33069 {
33070   return __builtin_aarch64_fmlslq_lane_highv4sf (__r, __a, __b, __lane);
33071 }
33072 
33073 __extension__ extern __inline float32x4_t
33074 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlalq_laneq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __lane)33075 vfmlalq_laneq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
33076 		       const int __lane)
33077 {
33078   return __builtin_aarch64_fmlalq_laneq_highv4sf (__r, __a, __b, __lane);
33079 }
33080 
33081 __extension__ extern __inline float32x4_t
33082 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vfmlslq_laneq_high_f16(float32x4_t __r,float16x8_t __a,float16x8_t __b,const int __lane)33083 vfmlslq_laneq_high_f16 (float32x4_t __r, float16x8_t __a, float16x8_t __b,
33084 		      const int __lane)
33085 {
33086   return __builtin_aarch64_fmlslq_laneq_highv4sf (__r, __a, __b, __lane);
33087 }
33088 
33089 #pragma GCC pop_options
33090 
33091 #pragma GCC push_options
33092 #pragma GCC target ("arch=armv8.5-a")
33093 
33094 __extension__ extern __inline float32x2_t
33095 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32z_f32(float32x2_t __a)33096 vrnd32z_f32 (float32x2_t __a)
33097 {
33098   return __builtin_aarch64_frint32zv2sf (__a);
33099 }
33100 
33101 __extension__ extern __inline float32x4_t
33102 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32zq_f32(float32x4_t __a)33103 vrnd32zq_f32 (float32x4_t __a)
33104 {
33105   return __builtin_aarch64_frint32zv4sf (__a);
33106 }
33107 
33108 __extension__ extern __inline float64x1_t
33109 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32z_f64(float64x1_t __a)33110 vrnd32z_f64 (float64x1_t __a)
33111 {
33112   return (float64x1_t)
33113 	   {__builtin_aarch64_frint32zdf (vget_lane_f64 (__a, 0))};
33114 }
33115 
33116 __extension__ extern __inline float64x2_t
33117 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32zq_f64(float64x2_t __a)33118 vrnd32zq_f64 (float64x2_t __a)
33119 {
33120   return __builtin_aarch64_frint32zv2df (__a);
33121 }
33122 
33123 __extension__ extern __inline float32x2_t
33124 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32x_f32(float32x2_t __a)33125 vrnd32x_f32 (float32x2_t __a)
33126 {
33127   return __builtin_aarch64_frint32xv2sf (__a);
33128 }
33129 
33130 __extension__ extern __inline float32x4_t
33131 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32xq_f32(float32x4_t __a)33132 vrnd32xq_f32 (float32x4_t __a)
33133 {
33134   return __builtin_aarch64_frint32xv4sf (__a);
33135 }
33136 
33137 __extension__ extern __inline float64x1_t
33138 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32x_f64(float64x1_t __a)33139 vrnd32x_f64 (float64x1_t __a)
33140 {
33141   return (float64x1_t) {__builtin_aarch64_frint32xdf (vget_lane_f64 (__a, 0))};
33142 }
33143 
33144 __extension__ extern __inline float64x2_t
33145 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd32xq_f64(float64x2_t __a)33146 vrnd32xq_f64 (float64x2_t __a)
33147 {
33148   return __builtin_aarch64_frint32xv2df (__a);
33149 }
33150 
33151 __extension__ extern __inline float32x2_t
33152 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64z_f32(float32x2_t __a)33153 vrnd64z_f32 (float32x2_t __a)
33154 {
33155   return __builtin_aarch64_frint64zv2sf (__a);
33156 }
33157 
33158 __extension__ extern __inline float32x4_t
33159 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64zq_f32(float32x4_t __a)33160 vrnd64zq_f32 (float32x4_t __a)
33161 {
33162   return __builtin_aarch64_frint64zv4sf (__a);
33163 }
33164 
33165 __extension__ extern __inline float64x1_t
33166 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64z_f64(float64x1_t __a)33167 vrnd64z_f64 (float64x1_t __a)
33168 {
33169   return (float64x1_t) {__builtin_aarch64_frint64zdf (vget_lane_f64 (__a, 0))};
33170 }
33171 
33172 __extension__ extern __inline float64x2_t
33173 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64zq_f64(float64x2_t __a)33174 vrnd64zq_f64 (float64x2_t __a)
33175 {
33176   return __builtin_aarch64_frint64zv2df (__a);
33177 }
33178 
33179 __extension__ extern __inline float32x2_t
33180 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64x_f32(float32x2_t __a)33181 vrnd64x_f32 (float32x2_t __a)
33182 {
33183   return __builtin_aarch64_frint64xv2sf (__a);
33184 }
33185 
33186 __extension__ extern __inline float32x4_t
33187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64xq_f32(float32x4_t __a)33188 vrnd64xq_f32 (float32x4_t __a)
33189 {
33190   return __builtin_aarch64_frint64xv4sf (__a);
33191 }
33192 
33193 __extension__ extern __inline float64x1_t
33194 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64x_f64(float64x1_t __a)33195 vrnd64x_f64 (float64x1_t __a)
33196 {
33197   return (float64x1_t) {__builtin_aarch64_frint64xdf (vget_lane_f64 (__a, 0))};
33198 }
33199 
33200 __extension__ extern __inline float64x2_t
33201 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vrnd64xq_f64(float64x2_t __a)33202 vrnd64xq_f64 (float64x2_t __a)
33203 {
33204   return __builtin_aarch64_frint64xv2df (__a);
33205 }
33206 
33207 #pragma GCC pop_options
33208 
33209 #include "arm_bf16.h"
33210 
33211 #pragma GCC push_options
33212 #pragma GCC target ("arch=armv8.2-a+bf16")
33213 
33214 __extension__ extern __inline bfloat16x4_t
33215 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vset_lane_bf16(bfloat16_t __elem,bfloat16x4_t __vec,const int __index)33216 vset_lane_bf16 (bfloat16_t __elem, bfloat16x4_t __vec, const int __index)
33217 {
33218   return __aarch64_vset_lane_any (__elem, __vec, __index);
33219 }
33220 
33221 __extension__ extern __inline bfloat16x8_t
33222 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsetq_lane_bf16(bfloat16_t __elem,bfloat16x8_t __vec,const int __index)33223 vsetq_lane_bf16 (bfloat16_t __elem, bfloat16x8_t __vec, const int __index)
33224 {
33225   return __aarch64_vset_lane_any (__elem, __vec, __index);
33226 }
33227 
33228 __extension__ extern __inline bfloat16_t
33229 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_lane_bf16(bfloat16x4_t __a,const int __b)33230 vget_lane_bf16 (bfloat16x4_t __a, const int __b)
33231 {
33232   return __aarch64_vget_lane_any (__a, __b);
33233 }
33234 
33235 __extension__ extern __inline bfloat16_t
33236 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vgetq_lane_bf16(bfloat16x8_t __a,const int __b)33237 vgetq_lane_bf16 (bfloat16x8_t __a, const int __b)
33238 {
33239   return __aarch64_vget_lane_any (__a, __b);
33240 }
33241 
33242 __extension__ extern __inline bfloat16x4_t
33243 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcreate_bf16(uint64_t __a)33244 vcreate_bf16 (uint64_t __a)
33245 {
33246   return (bfloat16x4_t) __a;
33247 }
33248 
33249 __extension__ extern __inline bfloat16x8_t
33250 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcombine_bf16(bfloat16x4_t __a,bfloat16x4_t __b)33251 vcombine_bf16 (bfloat16x4_t __a, bfloat16x4_t __b)
33252 {
33253   return (bfloat16x8_t)__builtin_aarch64_combinev4bf (__a, __b);
33254 }
33255 
33256 /* vdup */
33257 
33258 __extension__ extern __inline bfloat16x4_t
33259 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_n_bf16(bfloat16_t __a)33260 vdup_n_bf16 (bfloat16_t __a)
33261 {
33262   return (bfloat16x4_t) {__a, __a, __a, __a};
33263 }
33264 
33265 __extension__ extern __inline bfloat16x8_t
33266 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_n_bf16(bfloat16_t __a)33267 vdupq_n_bf16 (bfloat16_t __a)
33268 {
33269   return (bfloat16x8_t) {__a, __a, __a, __a, __a, __a, __a, __a};
33270 }
33271 
33272 __extension__ extern __inline bfloat16x4_t
33273 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_lane_bf16(bfloat16x4_t __a,const int __b)33274 vdup_lane_bf16 (bfloat16x4_t __a, const int __b)
33275 {
33276   return vdup_n_bf16 (__aarch64_vget_lane_any (__a, __b));
33277 }
33278 
33279 __extension__ extern __inline bfloat16x4_t
33280 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdup_laneq_bf16(bfloat16x8_t __a,const int __b)33281 vdup_laneq_bf16 (bfloat16x8_t __a, const int __b)
33282 {
33283   return vdup_n_bf16 (__aarch64_vget_lane_any (__a, __b));
33284 }
33285 
33286 __extension__ extern __inline bfloat16x8_t
33287 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_lane_bf16(bfloat16x4_t __a,const int __b)33288 vdupq_lane_bf16 (bfloat16x4_t __a, const int __b)
33289 {
33290   return vdupq_n_bf16 (__aarch64_vget_lane_any (__a, __b));
33291 }
33292 
33293 __extension__ extern __inline bfloat16x8_t
33294 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vdupq_laneq_bf16(bfloat16x8_t __a,const int __b)33295 vdupq_laneq_bf16 (bfloat16x8_t __a, const int __b)
33296 {
33297   return vdupq_n_bf16 (__aarch64_vget_lane_any (__a, __b));
33298 }
33299 
33300 __extension__ extern __inline bfloat16_t
33301 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_lane_bf16(bfloat16x4_t __a,const int __b)33302 vduph_lane_bf16 (bfloat16x4_t __a, const int __b)
33303 {
33304   return __aarch64_vget_lane_any (__a, __b);
33305 }
33306 
33307 __extension__ extern __inline bfloat16_t
33308 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vduph_laneq_bf16(bfloat16x8_t __a,const int __b)33309 vduph_laneq_bf16 (bfloat16x8_t __a, const int __b)
33310 {
33311   return __aarch64_vget_lane_any (__a, __b);
33312 }
33313 
33314 /* vld */
33315 
33316 __extension__ extern __inline bfloat16x4_t
33317 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_bf16(const bfloat16_t * __a)33318 vld1_bf16 (const bfloat16_t *__a)
33319 {
33320   return (bfloat16x4_t) __builtin_aarch64_ld1v4bf (__a);
33321 }
33322 
33323 __extension__ extern __inline bfloat16x8_t
33324 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_bf16(const bfloat16_t * __a)33325 vld1q_bf16 (const bfloat16_t *__a)
33326 {
33327   return __builtin_aarch64_ld1v8bf (__a);
33328 }
33329 
33330 __extension__ extern __inline bfloat16x4x2_t
33331 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_bf16_x2(const bfloat16_t * __a)33332 vld1_bf16_x2 (const bfloat16_t *__a)
33333 {
33334   bfloat16x4x2_t ret;
33335   __builtin_aarch64_simd_oi __o;
33336   __o = __builtin_aarch64_ld1x2v4bf ((const __builtin_aarch64_simd_bf *) __a);
33337   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 0);
33338   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 1);
33339   return ret;
33340 }
33341 
33342 __extension__ extern __inline bfloat16x8x2_t
33343 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_bf16_x2(const bfloat16_t * __a)33344 vld1q_bf16_x2 (const bfloat16_t *__a)
33345 {
33346   bfloat16x8x2_t ret;
33347   __builtin_aarch64_simd_oi __o;
33348   __o = __builtin_aarch64_ld1x2v8bf ((const __builtin_aarch64_simd_bf *) __a);
33349   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 0);
33350   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 1);
33351   return ret;
33352 }
33353 
33354 __extension__ extern __inline bfloat16x4x3_t
33355 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_bf16_x3(const bfloat16_t * __a)33356 vld1_bf16_x3 (const bfloat16_t *__a)
33357 {
33358   bfloat16x4x3_t __i;
33359   __builtin_aarch64_simd_ci __o;
33360   __o = __builtin_aarch64_ld1x3v4bf ((const __builtin_aarch64_simd_bf *) __a);
33361   __i.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf  (__o, 0);
33362   __i.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf  (__o, 1);
33363   __i.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf  (__o, 2);
33364   return __i;
33365 }
33366 
33367 __extension__ extern __inline bfloat16x8x3_t
33368 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_bf16_x3(const bfloat16_t * __a)33369 vld1q_bf16_x3 (const bfloat16_t *__a)
33370 {
33371   bfloat16x8x3_t __i;
33372   __builtin_aarch64_simd_ci __o;
33373   __o = __builtin_aarch64_ld1x3v8bf ((const __builtin_aarch64_simd_bf *) __a);
33374   __i.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf  (__o, 0);
33375   __i.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf  (__o, 1);
33376   __i.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf  (__o, 2);
33377   return __i;
33378 }
33379 __extension__ extern __inline bfloat16x4x4_t
33380 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_bf16_x4(const bfloat16_t * __a)33381 vld1_bf16_x4 (const bfloat16_t *__a)
33382 {
33383   union { bfloat16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
33384   __au.__o
33385     = __builtin_aarch64_ld1x4v4bf ((const __builtin_aarch64_simd_bf *) __a);
33386   return __au.__i;
33387 }
33388 
33389 __extension__ extern __inline bfloat16x8x4_t
33390 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_bf16_x4(const bfloat16_t * __a)33391 vld1q_bf16_x4 (const bfloat16_t *__a)
33392 {
33393   union { bfloat16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __au;
33394   __au.__o
33395     = __builtin_aarch64_ld1x4v8bf ((const __builtin_aarch64_simd_bf *) __a);
33396   return __au.__i;
33397 }
33398 
33399 __extension__ extern __inline bfloat16x4_t
33400 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_lane_bf16(const bfloat16_t * __src,bfloat16x4_t __vec,const int __lane)33401 vld1_lane_bf16 (const bfloat16_t *__src, bfloat16x4_t __vec, const int __lane)
33402 {
33403   return __aarch64_vset_lane_any (*__src, __vec, __lane);
33404 }
33405 
33406 __extension__ extern __inline bfloat16x8_t
33407 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_lane_bf16(const bfloat16_t * __src,bfloat16x8_t __vec,const int __lane)33408 vld1q_lane_bf16 (const bfloat16_t *__src, bfloat16x8_t __vec, const int __lane)
33409 {
33410   return __aarch64_vset_lane_any (*__src, __vec, __lane);
33411 }
33412 
33413 __extension__ extern __inline bfloat16x4_t
33414 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1_dup_bf16(const bfloat16_t * __a)33415 vld1_dup_bf16 (const bfloat16_t* __a)
33416 {
33417   return vdup_n_bf16 (*__a);
33418 }
33419 
33420 __extension__ extern __inline bfloat16x8_t
33421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld1q_dup_bf16(const bfloat16_t * __a)33422 vld1q_dup_bf16 (const bfloat16_t* __a)
33423 {
33424   return vdupq_n_bf16 (*__a);
33425 }
33426 
33427 __extension__ extern __inline bfloat16x4x2_t
33428 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_bf16(const bfloat16_t * __a)33429 vld2_bf16 (const bfloat16_t * __a)
33430 {
33431   bfloat16x4x2_t ret;
33432   __builtin_aarch64_simd_oi __o;
33433   __o = __builtin_aarch64_ld2v4bf (__a);
33434   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 0);
33435   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 1);
33436   return ret;
33437 }
33438 
33439 __extension__ extern __inline bfloat16x8x2_t
33440 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_bf16(const bfloat16_t * __a)33441 vld2q_bf16 (const bfloat16_t * __a)
33442 {
33443   bfloat16x8x2_t ret;
33444   __builtin_aarch64_simd_oi __o;
33445   __o = __builtin_aarch64_ld2v8bf ((const __builtin_aarch64_simd_bf *) __a);
33446   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 0);
33447   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 1);
33448   return ret;
33449 }
33450 
33451 __extension__ extern __inline bfloat16x4x2_t
33452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2_dup_bf16(const bfloat16_t * __a)33453 vld2_dup_bf16 (const bfloat16_t * __a)
33454 {
33455   bfloat16x4x2_t ret;
33456   __builtin_aarch64_simd_oi __o;
33457   __o = __builtin_aarch64_ld2rv4bf ((const __builtin_aarch64_simd_bf *) __a);
33458   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 0);
33459   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregoiv4bf (__o, 1);
33460   return ret;
33461 }
33462 
33463 __extension__ extern __inline bfloat16x8x2_t
33464 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld2q_dup_bf16(const bfloat16_t * __a)33465 vld2q_dup_bf16 (const bfloat16_t * __a)
33466 {
33467   bfloat16x8x2_t ret;
33468   __builtin_aarch64_simd_oi __o;
33469   __o = __builtin_aarch64_ld2rv8bf ((const __builtin_aarch64_simd_bf *) __a);
33470   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 0);
33471   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregoiv8bf (__o, 1);
33472   return ret;
33473 }
33474 
33475 __extension__ extern __inline bfloat16x4x3_t
33476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_bf16(const bfloat16_t * __a)33477 vld3_bf16 (const bfloat16_t * __a)
33478 {
33479   bfloat16x4x3_t ret;
33480   __builtin_aarch64_simd_ci __o;
33481   __o = __builtin_aarch64_ld3v4bf ((const __builtin_aarch64_simd_bf *) __a);
33482   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 0);
33483   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 1);
33484   ret.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 2);
33485   return ret;
33486 }
33487 
33488 __extension__ extern __inline bfloat16x8x3_t
33489 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_bf16(const bfloat16_t * __a)33490 vld3q_bf16 (const bfloat16_t * __a)
33491 {
33492   bfloat16x8x3_t ret;
33493   __builtin_aarch64_simd_ci __o;
33494   __o = __builtin_aarch64_ld3v8bf ((const __builtin_aarch64_simd_bf *) __a);
33495   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 0);
33496   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 1);
33497   ret.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 2);
33498   return ret;
33499 }
33500 
33501 __extension__ extern __inline bfloat16x4x3_t
33502 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3_dup_bf16(const bfloat16_t * __a)33503 vld3_dup_bf16 (const bfloat16_t * __a)
33504 {
33505   bfloat16x4x3_t ret;
33506   __builtin_aarch64_simd_ci __o;
33507   __o = __builtin_aarch64_ld3rv4bf ((const __builtin_aarch64_simd_bf *) __a);
33508   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 0);
33509   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 1);
33510   ret.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregciv4bf (__o, 2);
33511   return ret;
33512 }
33513 
33514 __extension__ extern __inline bfloat16x8x3_t
33515 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld3q_dup_bf16(const bfloat16_t * __a)33516 vld3q_dup_bf16 (const bfloat16_t * __a)
33517 {
33518   bfloat16x8x3_t ret;
33519   __builtin_aarch64_simd_ci __o;
33520   __o = __builtin_aarch64_ld3rv8bf ((const __builtin_aarch64_simd_bf *) __a);
33521   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 0);
33522   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 1);
33523   ret.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregciv8bf (__o, 2);
33524   return ret;
33525 }
33526 
33527 __extension__ extern __inline bfloat16x4x4_t
33528 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_bf16(const bfloat16_t * __a)33529 vld4_bf16 (const bfloat16_t * __a)
33530 {
33531   bfloat16x4x4_t ret;
33532   __builtin_aarch64_simd_xi __o;
33533   __o = __builtin_aarch64_ld4v4bf ((const __builtin_aarch64_simd_bf *) __a);
33534   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 0);
33535   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 1);
33536   ret.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 2);
33537   ret.val[3] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 3);
33538   return ret;
33539 }
33540 
33541 __extension__ extern __inline bfloat16x8x4_t
33542 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_bf16(const bfloat16_t * __a)33543 vld4q_bf16 (const bfloat16_t * __a)
33544 {
33545   bfloat16x8x4_t ret;
33546   __builtin_aarch64_simd_xi __o;
33547   __o = __builtin_aarch64_ld4v8bf ((const __builtin_aarch64_simd_bf *) __a);
33548   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 0);
33549   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 1);
33550   ret.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 2);
33551   ret.val[3] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 3);
33552   return ret;
33553 }
33554 
33555 __extension__ extern __inline bfloat16x4x4_t
33556 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4_dup_bf16(const bfloat16_t * __a)33557 vld4_dup_bf16 (const bfloat16_t * __a)
33558 {
33559   bfloat16x4x4_t ret;
33560   __builtin_aarch64_simd_xi __o;
33561   __o = __builtin_aarch64_ld4rv4bf ((const __builtin_aarch64_simd_bf *) __a);
33562   ret.val[0] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 0);
33563   ret.val[1] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 1);
33564   ret.val[2] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 2);
33565   ret.val[3] = (bfloat16x4_t) __builtin_aarch64_get_dregxiv4bf (__o, 3);
33566   return ret;
33567 }
33568 
33569 __extension__ extern __inline bfloat16x8x4_t
33570 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vld4q_dup_bf16(const bfloat16_t * __a)33571 vld4q_dup_bf16 (const bfloat16_t * __a)
33572 {
33573   bfloat16x8x4_t ret;
33574   __builtin_aarch64_simd_xi __o;
33575   __o = __builtin_aarch64_ld4rv8bf ((const __builtin_aarch64_simd_bf *) __a);
33576   ret.val[0] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 0);
33577   ret.val[1] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 1);
33578   ret.val[2] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 2);
33579   ret.val[3] = (bfloat16x8_t) __builtin_aarch64_get_qregxiv8bf (__o, 3);
33580   return ret;
33581 }
33582 
33583 /* vst */
33584 
33585 __extension__ extern __inline void
33586 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_bf16(bfloat16_t * __a,bfloat16x4_t __b)33587 vst1_bf16 (bfloat16_t *__a, bfloat16x4_t __b)
33588 {
33589   __builtin_aarch64_st1v4bf (__a, __b);
33590 }
33591 
33592 __extension__ extern __inline void
33593 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_bf16_x2(bfloat16_t * __a,bfloat16x4x2_t __val)33594 vst1_bf16_x2 (bfloat16_t * __a, bfloat16x4x2_t __val)
33595 {
33596   __builtin_aarch64_simd_oi __o;
33597   bfloat16x8x2_t __temp;
33598   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33599   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33600   __o = __builtin_aarch64_set_qregoiv8bf (__o, __temp.val[0], 0);
33601   __o = __builtin_aarch64_set_qregoiv8bf (__o, __temp.val[1], 1);
33602   __builtin_aarch64_st1x2v4bf (__a, __o);
33603 }
33604 
33605 __extension__ extern __inline void
33606 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_bf16_x2(bfloat16_t * __a,bfloat16x8x2_t __val)33607 vst1q_bf16_x2 (bfloat16_t * __a, bfloat16x8x2_t __val)
33608 {
33609   __builtin_aarch64_simd_oi __o;
33610   __o = __builtin_aarch64_set_qregoiv8bf (__o, __val.val[0], 0);
33611   __o = __builtin_aarch64_set_qregoiv8bf (__o, __val.val[1], 1);
33612   __builtin_aarch64_st1x2v8bf (__a, __o);
33613 }
33614 
33615 __extension__ extern __inline void
33616 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_bf16_x3(bfloat16_t * __a,bfloat16x4x3_t __val)33617 vst1_bf16_x3 (bfloat16_t * __a, bfloat16x4x3_t __val)
33618 {
33619   __builtin_aarch64_simd_ci __o;
33620   bfloat16x8x3_t __temp;
33621   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33622   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33623   __temp.val[2] = vcombine_bf16 (__val.val[2], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33624   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[0], 0);
33625   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[1], 1);
33626   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[2], 2);
33627   __builtin_aarch64_st1x3v4bf ((__builtin_aarch64_simd_bf *) __a, __o);
33628 }
33629 
33630 __extension__ extern __inline void
33631 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_bf16_x3(bfloat16_t * __a,bfloat16x8x3_t __val)33632 vst1q_bf16_x3 (bfloat16_t * __a, bfloat16x8x3_t __val)
33633 {
33634   __builtin_aarch64_simd_ci __o;
33635   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[0], 0);
33636   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[1], 1);
33637   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[2], 2);
33638   __builtin_aarch64_st1x3v8bf ((__builtin_aarch64_simd_bf *) __a, __o);
33639 }
33640 
33641 __extension__ extern __inline void
33642 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_bf16_x4(bfloat16_t * __a,bfloat16x4x4_t val)33643 vst1_bf16_x4 (bfloat16_t * __a, bfloat16x4x4_t val)
33644 {
33645   union { bfloat16x4x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
33646   __builtin_aarch64_st1x4v4bf ((__builtin_aarch64_simd_bf *) __a, __u.__o);
33647 }
33648 
33649 __extension__ extern __inline void
33650 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_bf16_x4(bfloat16_t * __a,bfloat16x8x4_t val)33651 vst1q_bf16_x4 (bfloat16_t * __a, bfloat16x8x4_t val)
33652 {
33653   union { bfloat16x8x4_t __i; __builtin_aarch64_simd_xi __o; } __u = { val };
33654   __builtin_aarch64_st1x4v8bf ((__builtin_aarch64_simd_bf *) __a, __u.__o);
33655 }
33656 
33657 __extension__ extern __inline void
33658 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_bf16(bfloat16_t * __a,bfloat16x8_t __b)33659 vst1q_bf16 (bfloat16_t *__a, bfloat16x8_t __b)
33660 {
33661   __builtin_aarch64_st1v8bf (__a, __b);
33662 }
33663 
33664 __extension__ extern __inline void
33665 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1_lane_bf16(bfloat16_t * __a,bfloat16x4_t __b,const int __lane)33666 vst1_lane_bf16 (bfloat16_t *__a, bfloat16x4_t __b, const int __lane)
33667 {
33668   *__a = __aarch64_vget_lane_any (__b, __lane);
33669 }
33670 
33671 __extension__ extern __inline void
33672 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst1q_lane_bf16(bfloat16_t * __a,bfloat16x8_t __b,const int __lane)33673 vst1q_lane_bf16 (bfloat16_t *__a, bfloat16x8_t __b, const int __lane)
33674 {
33675   *__a = __aarch64_vget_lane_any (__b, __lane);
33676 }
33677 
33678 __extension__ extern __inline void
33679 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2_bf16(bfloat16_t * __a,bfloat16x4x2_t __val)33680 vst2_bf16 (bfloat16_t * __a, bfloat16x4x2_t __val)
33681 {
33682   __builtin_aarch64_simd_oi __o;
33683   bfloat16x8x2_t __temp;
33684   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33685   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33686   __o = __builtin_aarch64_set_qregoiv8bf (__o, __temp.val[0], 0);
33687   __o = __builtin_aarch64_set_qregoiv8bf (__o, __temp.val[1], 1);
33688   __builtin_aarch64_st2v4bf (__a, __o);
33689 }
33690 
33691 __extension__ extern __inline void
33692 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst2q_bf16(bfloat16_t * __a,bfloat16x8x2_t __val)33693 vst2q_bf16 (bfloat16_t * __a, bfloat16x8x2_t __val)
33694 {
33695   __builtin_aarch64_simd_oi __o;
33696   __o = __builtin_aarch64_set_qregoiv8bf (__o, __val.val[0], 0);
33697   __o = __builtin_aarch64_set_qregoiv8bf (__o, __val.val[1], 1);
33698   __builtin_aarch64_st2v8bf (__a, __o);
33699 }
33700 
33701 __extension__ extern __inline void
33702 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3_bf16(bfloat16_t * __a,bfloat16x4x3_t __val)33703 vst3_bf16 (bfloat16_t * __a, bfloat16x4x3_t __val)
33704 {
33705   __builtin_aarch64_simd_ci __o;
33706   bfloat16x8x3_t __temp;
33707   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33708   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33709   __temp.val[2] = vcombine_bf16 (__val.val[2], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33710   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[0], 0);
33711   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[1], 1);
33712   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __temp.val[2], 2);
33713   __builtin_aarch64_st3v4bf ((__builtin_aarch64_simd_bf *) __a, __o);
33714 }
33715 
33716 __extension__ extern __inline void
33717 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst3q_bf16(bfloat16_t * __a,bfloat16x8x3_t __val)33718 vst3q_bf16 (bfloat16_t * __a, bfloat16x8x3_t __val)
33719 {
33720   __builtin_aarch64_simd_ci __o;
33721   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[0], 0);
33722   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[1], 1);
33723   __o = __builtin_aarch64_set_qregciv8bf (__o, (bfloat16x8_t) __val.val[2], 2);
33724   __builtin_aarch64_st3v8bf ((__builtin_aarch64_simd_bf *) __a, __o);
33725 }
33726 
33727 __extension__ extern __inline void
33728 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4_bf16(bfloat16_t * __a,bfloat16x4x4_t __val)33729 vst4_bf16 (bfloat16_t * __a, bfloat16x4x4_t __val)
33730 {
33731   __builtin_aarch64_simd_xi __o;
33732   bfloat16x8x4_t __temp;
33733   __temp.val[0] = vcombine_bf16 (__val.val[0], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33734   __temp.val[1] = vcombine_bf16 (__val.val[1], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33735   __temp.val[2] = vcombine_bf16 (__val.val[2], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33736   __temp.val[3] = vcombine_bf16 (__val.val[3], vcreate_bf16 (__AARCH64_UINT64_C (0)));
33737   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[0], 0);
33738   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[1], 1);
33739   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[2], 2);
33740   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __temp.val[3], 3);
33741   __builtin_aarch64_st4v4bf ((__builtin_aarch64_simd_bf *) __a, __o);
33742 }
33743 
33744 __extension__ extern __inline void
33745 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vst4q_bf16(bfloat16_t * __a,bfloat16x8x4_t __val)33746 vst4q_bf16 (bfloat16_t * __a, bfloat16x8x4_t __val)
33747 {
33748   __builtin_aarch64_simd_xi __o;
33749   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __val.val[0], 0);
33750   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __val.val[1], 1);
33751   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __val.val[2], 2);
33752   __o = __builtin_aarch64_set_qregxiv8bf (__o, (bfloat16x8_t) __val.val[3], 3);
33753   __builtin_aarch64_st4v8bf ((__builtin_aarch64_simd_bf *) __a, __o);
33754 }
33755 
33756 /* vreinterpret */
33757 
33758 __extension__ extern __inline bfloat16x4_t
33759 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u8(uint8x8_t __a)33760 vreinterpret_bf16_u8 (uint8x8_t __a)
33761 {
33762   return (bfloat16x4_t)__a;
33763 }
33764 
33765 __extension__ extern __inline bfloat16x4_t
33766 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u16(uint16x4_t __a)33767 vreinterpret_bf16_u16 (uint16x4_t __a)
33768 {
33769   return (bfloat16x4_t)__a;
33770 }
33771 
33772 __extension__ extern __inline bfloat16x4_t
33773 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u32(uint32x2_t __a)33774 vreinterpret_bf16_u32 (uint32x2_t __a)
33775 {
33776   return (bfloat16x4_t)__a;
33777 }
33778 
33779 __extension__ extern __inline bfloat16x4_t
33780 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_u64(uint64x1_t __a)33781 vreinterpret_bf16_u64 (uint64x1_t __a)
33782 {
33783   return (bfloat16x4_t)__a;
33784 }
33785 
33786 __extension__ extern __inline bfloat16x4_t
33787 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s8(int8x8_t __a)33788 vreinterpret_bf16_s8 (int8x8_t __a)
33789 {
33790   return (bfloat16x4_t)__a;
33791 }
33792 
33793 __extension__ extern __inline bfloat16x4_t
33794 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s16(int16x4_t __a)33795 vreinterpret_bf16_s16 (int16x4_t __a)
33796 {
33797   return (bfloat16x4_t)__a;
33798 }
33799 
33800 __extension__ extern __inline bfloat16x4_t
33801 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s32(int32x2_t __a)33802 vreinterpret_bf16_s32 (int32x2_t __a)
33803 {
33804   return (bfloat16x4_t)__a;
33805 }
33806 
33807 __extension__ extern __inline bfloat16x4_t
33808 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_s64(int64x1_t __a)33809 vreinterpret_bf16_s64 (int64x1_t __a)
33810 {
33811   return (bfloat16x4_t)__a;
33812 }
33813 
33814 __extension__ extern __inline bfloat16x4_t
33815 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_p8(poly8x8_t __a)33816 vreinterpret_bf16_p8 (poly8x8_t __a)
33817 {
33818   return (bfloat16x4_t)__a;
33819 }
33820 
33821 __extension__ extern __inline bfloat16x4_t
33822 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_p16(poly16x4_t __a)33823 vreinterpret_bf16_p16 (poly16x4_t __a)
33824 {
33825   return (bfloat16x4_t)__a;
33826 }
33827 
33828 __extension__ extern __inline bfloat16x4_t
33829 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_p64(poly64x1_t __a)33830 vreinterpret_bf16_p64 (poly64x1_t __a)
33831 {
33832   return (bfloat16x4_t)__a;
33833 }
33834 
33835 __extension__ extern __inline bfloat16x4_t
33836 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_f16(float16x4_t __a)33837 vreinterpret_bf16_f16 (float16x4_t __a)
33838 {
33839   return (bfloat16x4_t)__a;
33840 }
33841 
33842 __extension__ extern __inline bfloat16x4_t
33843 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_f32(float32x2_t __a)33844 vreinterpret_bf16_f32 (float32x2_t __a)
33845 {
33846   return (bfloat16x4_t)__a;
33847 }
33848 
33849 __extension__ extern __inline bfloat16x4_t
33850 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_bf16_f64(float64x1_t __a)33851 vreinterpret_bf16_f64 (float64x1_t __a)
33852 {
33853   return (bfloat16x4_t)__a;
33854 }
33855 
33856 __extension__ extern __inline bfloat16x8_t
33857 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u8(uint8x16_t __a)33858 vreinterpretq_bf16_u8 (uint8x16_t __a)
33859 {
33860   return (bfloat16x8_t)__a;
33861 }
33862 
33863 __extension__ extern __inline bfloat16x8_t
33864 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u16(uint16x8_t __a)33865 vreinterpretq_bf16_u16 (uint16x8_t __a)
33866 {
33867   return (bfloat16x8_t)__a;
33868 }
33869 
33870 __extension__ extern __inline bfloat16x8_t
33871 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u32(uint32x4_t __a)33872 vreinterpretq_bf16_u32 (uint32x4_t __a)
33873 {
33874   return (bfloat16x8_t)__a;
33875 }
33876 
33877 __extension__ extern __inline bfloat16x8_t
33878 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_u64(uint64x2_t __a)33879 vreinterpretq_bf16_u64 (uint64x2_t __a)
33880 {
33881   return (bfloat16x8_t)__a;
33882 }
33883 
33884 __extension__ extern __inline bfloat16x8_t
33885 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s8(int8x16_t __a)33886 vreinterpretq_bf16_s8 (int8x16_t __a)
33887 {
33888   return (bfloat16x8_t)__a;
33889 }
33890 
33891 __extension__ extern __inline bfloat16x8_t
33892 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s16(int16x8_t __a)33893 vreinterpretq_bf16_s16 (int16x8_t __a)
33894 {
33895   return (bfloat16x8_t)__a;
33896 }
33897 
33898 __extension__ extern __inline bfloat16x8_t
33899 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s32(int32x4_t __a)33900 vreinterpretq_bf16_s32 (int32x4_t __a)
33901 {
33902   return (bfloat16x8_t)__a;
33903 }
33904 
33905 __extension__ extern __inline bfloat16x8_t
33906 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_s64(int64x2_t __a)33907 vreinterpretq_bf16_s64 (int64x2_t __a)
33908 {
33909   return (bfloat16x8_t)__a;
33910 }
33911 
33912 __extension__ extern __inline bfloat16x8_t
33913 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p8(poly8x16_t __a)33914 vreinterpretq_bf16_p8 (poly8x16_t __a)
33915 {
33916   return (bfloat16x8_t)__a;
33917 }
33918 
33919 __extension__ extern __inline bfloat16x8_t
33920 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p16(poly16x8_t __a)33921 vreinterpretq_bf16_p16 (poly16x8_t __a)
33922 {
33923   return (bfloat16x8_t)__a;
33924 }
33925 
33926 __extension__ extern __inline bfloat16x8_t
33927 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p64(poly64x2_t __a)33928 vreinterpretq_bf16_p64 (poly64x2_t __a)
33929 {
33930   return (bfloat16x8_t)__a;
33931 }
33932 
33933 __extension__ extern __inline bfloat16x8_t
33934 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_p128(poly128_t __a)33935 vreinterpretq_bf16_p128 (poly128_t __a)
33936 {
33937   return (bfloat16x8_t)__a;
33938 }
33939 
33940 __extension__ extern __inline bfloat16x8_t
33941 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_f16(float16x8_t __a)33942 vreinterpretq_bf16_f16 (float16x8_t __a)
33943 {
33944   return (bfloat16x8_t)__a;
33945 }
33946 
33947 __extension__ extern __inline bfloat16x8_t
33948 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_f32(float32x4_t __a)33949 vreinterpretq_bf16_f32 (float32x4_t __a)
33950 {
33951   return (bfloat16x8_t)__a;
33952 }
33953 
33954 __extension__ extern __inline bfloat16x8_t
33955 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_bf16_f64(float64x2_t __a)33956 vreinterpretq_bf16_f64 (float64x2_t __a)
33957 {
33958   return (bfloat16x8_t)__a;
33959 }
33960 
33961 __extension__ extern __inline int8x8_t
33962 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s8_bf16(bfloat16x4_t __a)33963 vreinterpret_s8_bf16 (bfloat16x4_t __a)
33964 {
33965   return (int8x8_t)__a;
33966 }
33967 
33968 __extension__ extern __inline int16x4_t
33969 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s16_bf16(bfloat16x4_t __a)33970 vreinterpret_s16_bf16 (bfloat16x4_t __a)
33971 {
33972   return (int16x4_t)__a;
33973 }
33974 
33975 __extension__ extern __inline int32x2_t
33976 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s32_bf16(bfloat16x4_t __a)33977 vreinterpret_s32_bf16 (bfloat16x4_t __a)
33978 {
33979   return (int32x2_t)__a;
33980 }
33981 
33982 __extension__ extern __inline int64x1_t
33983 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_s64_bf16(bfloat16x4_t __a)33984 vreinterpret_s64_bf16 (bfloat16x4_t __a)
33985 {
33986   return (int64x1_t)__a;
33987 }
33988 
33989 __extension__ extern __inline uint8x8_t
33990 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u8_bf16(bfloat16x4_t __a)33991 vreinterpret_u8_bf16 (bfloat16x4_t __a)
33992 {
33993   return (uint8x8_t)__a;
33994 }
33995 
33996 __extension__ extern __inline uint16x4_t
33997 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u16_bf16(bfloat16x4_t __a)33998 vreinterpret_u16_bf16 (bfloat16x4_t __a)
33999 {
34000   return (uint16x4_t)__a;
34001 }
34002 
34003 __extension__ extern __inline uint32x2_t
34004 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u32_bf16(bfloat16x4_t __a)34005 vreinterpret_u32_bf16 (bfloat16x4_t __a)
34006 {
34007   return (uint32x2_t)__a;
34008 }
34009 
34010 __extension__ extern __inline uint64x1_t
34011 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_u64_bf16(bfloat16x4_t __a)34012 vreinterpret_u64_bf16 (bfloat16x4_t __a)
34013 {
34014   return (uint64x1_t)__a;
34015 }
34016 
34017 __extension__ extern __inline float16x4_t
34018 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f16_bf16(bfloat16x4_t __a)34019 vreinterpret_f16_bf16 (bfloat16x4_t __a)
34020 {
34021   return (float16x4_t)__a;
34022 }
34023 
34024 __extension__ extern __inline float32x2_t
34025 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f32_bf16(bfloat16x4_t __a)34026 vreinterpret_f32_bf16 (bfloat16x4_t __a)
34027 {
34028   return (float32x2_t)__a;
34029 }
34030 
34031 __extension__ extern __inline float64x1_t
34032 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_f64_bf16(bfloat16x4_t __a)34033 vreinterpret_f64_bf16 (bfloat16x4_t __a)
34034 {
34035   return (float64x1_t)__a;
34036 }
34037 
34038 __extension__ extern __inline poly8x8_t
34039 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p8_bf16(bfloat16x4_t __a)34040 vreinterpret_p8_bf16 (bfloat16x4_t __a)
34041 {
34042   return (poly8x8_t)__a;
34043 }
34044 
34045 __extension__ extern __inline poly16x4_t
34046 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p16_bf16(bfloat16x4_t __a)34047 vreinterpret_p16_bf16 (bfloat16x4_t __a)
34048 {
34049   return (poly16x4_t)__a;
34050 }
34051 
34052 __extension__ extern __inline poly64x1_t
34053 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpret_p64_bf16(bfloat16x4_t __a)34054 vreinterpret_p64_bf16 (bfloat16x4_t __a)
34055 {
34056   return (poly64x1_t)__a;
34057 }
34058 
34059 __extension__ extern __inline int8x16_t
34060 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s8_bf16(bfloat16x8_t __a)34061 vreinterpretq_s8_bf16 (bfloat16x8_t __a)
34062 {
34063   return (int8x16_t)__a;
34064 }
34065 
34066 __extension__ extern __inline int16x8_t
34067 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s16_bf16(bfloat16x8_t __a)34068 vreinterpretq_s16_bf16 (bfloat16x8_t __a)
34069 {
34070   return (int16x8_t)__a;
34071 }
34072 
34073 __extension__ extern __inline int32x4_t
34074 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s32_bf16(bfloat16x8_t __a)34075 vreinterpretq_s32_bf16 (bfloat16x8_t __a)
34076 {
34077   return (int32x4_t)__a;
34078 }
34079 
34080 __extension__ extern __inline int64x2_t
34081 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_s64_bf16(bfloat16x8_t __a)34082 vreinterpretq_s64_bf16 (bfloat16x8_t __a)
34083 {
34084   return (int64x2_t)__a;
34085 }
34086 
34087 __extension__ extern __inline uint8x16_t
34088 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u8_bf16(bfloat16x8_t __a)34089 vreinterpretq_u8_bf16 (bfloat16x8_t __a)
34090 {
34091   return (uint8x16_t)__a;
34092 }
34093 
34094 __extension__ extern __inline uint16x8_t
34095 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u16_bf16(bfloat16x8_t __a)34096 vreinterpretq_u16_bf16 (bfloat16x8_t __a)
34097 {
34098   return (uint16x8_t)__a;
34099 }
34100 
34101 __extension__ extern __inline uint32x4_t
34102 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u32_bf16(bfloat16x8_t __a)34103 vreinterpretq_u32_bf16 (bfloat16x8_t __a)
34104 {
34105   return (uint32x4_t)__a;
34106 }
34107 
34108 __extension__ extern __inline uint64x2_t
34109 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_u64_bf16(bfloat16x8_t __a)34110 vreinterpretq_u64_bf16 (bfloat16x8_t __a)
34111 {
34112   return (uint64x2_t)__a;
34113 }
34114 
34115 __extension__ extern __inline float16x8_t
34116 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f16_bf16(bfloat16x8_t __a)34117 vreinterpretq_f16_bf16 (bfloat16x8_t __a)
34118 {
34119   return (float16x8_t)__a;
34120 }
34121 
34122 __extension__ extern __inline float32x4_t
34123 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f32_bf16(bfloat16x8_t __a)34124 vreinterpretq_f32_bf16 (bfloat16x8_t __a)
34125 {
34126   return (float32x4_t)__a;
34127 }
34128 
34129 __extension__ extern __inline float64x2_t
34130 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_f64_bf16(bfloat16x8_t __a)34131 vreinterpretq_f64_bf16 (bfloat16x8_t __a)
34132 {
34133   return (float64x2_t)__a;
34134 }
34135 
34136 __extension__ extern __inline poly8x16_t
34137 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p8_bf16(bfloat16x8_t __a)34138 vreinterpretq_p8_bf16 (bfloat16x8_t __a)
34139 {
34140   return (poly8x16_t)__a;
34141 }
34142 
34143 __extension__ extern __inline poly16x8_t
34144 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p16_bf16(bfloat16x8_t __a)34145 vreinterpretq_p16_bf16 (bfloat16x8_t __a)
34146 {
34147   return (poly16x8_t)__a;
34148 }
34149 
34150 __extension__ extern __inline poly64x2_t
34151 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p64_bf16(bfloat16x8_t __a)34152 vreinterpretq_p64_bf16 (bfloat16x8_t __a)
34153 {
34154   return (poly64x2_t)__a;
34155 }
34156 
34157 __extension__ extern __inline poly128_t
34158 __attribute__  ((__always_inline__, __gnu_inline__, __artificial__))
vreinterpretq_p128_bf16(bfloat16x8_t __a)34159 vreinterpretq_p128_bf16 (bfloat16x8_t __a)
34160 {
34161   return (poly128_t)__a;
34162 }
34163 
34164 __extension__ extern __inline float32x2_t
34165 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdot_f32(float32x2_t __r,bfloat16x4_t __a,bfloat16x4_t __b)34166 vbfdot_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x4_t __b)
34167 {
34168   return __builtin_aarch64_bfdotv2sf (__r, __a, __b);
34169 }
34170 
34171 __extension__ extern __inline float32x4_t
34172 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdotq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)34173 vbfdotq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
34174 {
34175   return __builtin_aarch64_bfdotv4sf (__r, __a, __b);
34176 }
34177 
34178 __extension__ extern __inline float32x2_t
34179 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdot_lane_f32(float32x2_t __r,bfloat16x4_t __a,bfloat16x4_t __b,const int __index)34180 vbfdot_lane_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x4_t __b,
34181 		 const int __index)
34182 {
34183   return __builtin_aarch64_bfdot_lanev2sf (__r, __a, __b, __index);
34184 }
34185 
34186 __extension__ extern __inline float32x4_t
34187 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdotq_lane_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x4_t __b,const int __index)34188 vbfdotq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
34189 		  const int __index)
34190 {
34191   return __builtin_aarch64_bfdot_lanev4sf (__r, __a, __b, __index);
34192 }
34193 
34194 __extension__ extern __inline float32x2_t
34195 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdot_laneq_f32(float32x2_t __r,bfloat16x4_t __a,bfloat16x8_t __b,const int __index)34196 vbfdot_laneq_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x8_t __b,
34197 		  const int __index)
34198 {
34199   return __builtin_aarch64_bfdot_laneqv2sf (__r, __a, __b, __index);
34200 }
34201 
34202 __extension__ extern __inline float32x4_t
34203 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfdotq_laneq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b,const int __index)34204 vbfdotq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
34205 		   const int __index)
34206 {
34207   return __builtin_aarch64_bfdot_laneqv4sf (__r, __a, __b, __index);
34208 }
34209 
34210 __extension__ extern __inline float32x4_t
34211 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmmlaq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)34212 vbfmmlaq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
34213 
34214 {
34215   return __builtin_aarch64_bfmmlaqv4sf (__r, __a, __b);
34216 }
34217 
34218 __extension__ extern __inline float32x4_t
34219 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlalbq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)34220 vbfmlalbq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
34221 {
34222   return __builtin_aarch64_bfmlalbv4sf (__r, __a, __b);
34223 }
34224 
34225 __extension__ extern __inline float32x4_t
34226 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlaltq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b)34227 vbfmlaltq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b)
34228 {
34229   return __builtin_aarch64_bfmlaltv4sf (__r, __a, __b);
34230 }
34231 
34232 __extension__ extern __inline float32x4_t
34233 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlalbq_lane_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x4_t __b,const int __index)34234 vbfmlalbq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
34235 		    const int __index)
34236 {
34237   return __builtin_aarch64_bfmlalb_lanev4sf (__r, __a, __b, __index);
34238 }
34239 
34240 __extension__ extern __inline float32x4_t
34241 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlaltq_lane_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x4_t __b,const int __index)34242 vbfmlaltq_lane_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x4_t __b,
34243 		    const int __index)
34244 {
34245   return __builtin_aarch64_bfmlalt_lanev4sf (__r, __a, __b, __index);
34246 }
34247 
34248 __extension__ extern __inline float32x4_t
34249 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlalbq_laneq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b,const int __index)34250 vbfmlalbq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
34251 		     const int __index)
34252 {
34253   return __builtin_aarch64_bfmlalb_lane_qv4sf (__r, __a, __b, __index);
34254 }
34255 
34256 __extension__ extern __inline float32x4_t
34257 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vbfmlaltq_laneq_f32(float32x4_t __r,bfloat16x8_t __a,bfloat16x8_t __b,const int __index)34258 vbfmlaltq_laneq_f32 (float32x4_t __r, bfloat16x8_t __a, bfloat16x8_t __b,
34259 		     const int __index)
34260 {
34261   return __builtin_aarch64_bfmlalt_lane_qv4sf (__r, __a, __b, __index);
34262 }
34263 
34264 __extension__ extern __inline bfloat16x4_t
34265 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_low_bf16(bfloat16x8_t __a)34266 vget_low_bf16 (bfloat16x8_t __a)
34267 {
34268   return __builtin_aarch64_vget_lo_halfv8bf (__a);
34269 }
34270 
34271 __extension__ extern __inline bfloat16x4_t
34272 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vget_high_bf16(bfloat16x8_t __a)34273 vget_high_bf16 (bfloat16x8_t __a)
34274 {
34275   return __builtin_aarch64_vget_hi_halfv8bf (__a);
34276 }
34277 
34278 __extension__ extern __inline float32x4_t
34279 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_f32_bf16(bfloat16x4_t __a)34280 vcvt_f32_bf16 (bfloat16x4_t __a)
34281 {
34282   return __builtin_aarch64_vbfcvtv4bf (__a);
34283 }
34284 
34285 __extension__ extern __inline float32x4_t
34286 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_low_f32_bf16(bfloat16x8_t __a)34287 vcvtq_low_f32_bf16 (bfloat16x8_t __a)
34288 {
34289   return __builtin_aarch64_vbfcvtv8bf (__a);
34290 }
34291 
34292 __extension__ extern __inline float32x4_t
34293 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_high_f32_bf16(bfloat16x8_t __a)34294 vcvtq_high_f32_bf16 (bfloat16x8_t __a)
34295 {
34296   return __builtin_aarch64_vbfcvt_highv8bf (__a);
34297 }
34298 
34299 __extension__ extern __inline bfloat16x4_t
34300 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvt_bf16_f32(float32x4_t __a)34301 vcvt_bf16_f32 (float32x4_t __a)
34302 {
34303   return __builtin_aarch64_bfcvtnv4bf (__a);
34304 }
34305 
34306 __extension__ extern __inline bfloat16x8_t
34307 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_low_bf16_f32(float32x4_t __a)34308 vcvtq_low_bf16_f32 (float32x4_t __a)
34309 {
34310   return __builtin_aarch64_bfcvtn_qv8bf (__a);
34311 }
34312 
34313 __extension__ extern __inline bfloat16x8_t
34314 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcvtq_high_bf16_f32(bfloat16x8_t __inactive,float32x4_t __a)34315 vcvtq_high_bf16_f32 (bfloat16x8_t __inactive, float32x4_t __a)
34316 {
34317   return __builtin_aarch64_bfcvtn2v8bf (__inactive, __a);
34318 }
34319 
34320 __extension__ extern __inline bfloat16x4_t
34321 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_lane_bf16(bfloat16x4_t __a,const int __lane1,bfloat16x4_t __b,const int __lane2)34322 vcopy_lane_bf16 (bfloat16x4_t __a, const int __lane1,
34323 		 bfloat16x4_t __b, const int __lane2)
34324 {
34325   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
34326 				  __a, __lane1);
34327 }
34328 
34329 __extension__ extern __inline bfloat16x8_t
34330 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_lane_bf16(bfloat16x8_t __a,const int __lane1,bfloat16x4_t __b,const int __lane2)34331 vcopyq_lane_bf16 (bfloat16x8_t __a, const int __lane1,
34332 		  bfloat16x4_t __b, const int __lane2)
34333 {
34334   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
34335 				  __a, __lane1);
34336 }
34337 
34338 __extension__ extern __inline bfloat16x4_t
34339 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopy_laneq_bf16(bfloat16x4_t __a,const int __lane1,bfloat16x8_t __b,const int __lane2)34340 vcopy_laneq_bf16 (bfloat16x4_t __a, const int __lane1,
34341 		  bfloat16x8_t __b, const int __lane2)
34342 {
34343   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
34344 				  __a, __lane1);
34345 }
34346 
34347 __extension__ extern __inline bfloat16x8_t
34348 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vcopyq_laneq_bf16(bfloat16x8_t __a,const int __lane1,bfloat16x8_t __b,const int __lane2)34349 vcopyq_laneq_bf16 (bfloat16x8_t __a, const int __lane1,
34350 		   bfloat16x8_t __b, const int __lane2)
34351 {
34352   return __aarch64_vset_lane_any (__aarch64_vget_lane_any (__b, __lane2),
34353 				  __a, __lane1);
34354 }
34355 
__LD2_LANE_FUNC(bfloat16x4x2_t,bfloat16x4_t,bfloat16x8x2_t,bfloat16_t,v4bf,v8bf,bf,bf16,bfloat16x8_t)34356 __LD2_LANE_FUNC (bfloat16x4x2_t, bfloat16x4_t, bfloat16x8x2_t, bfloat16_t, v4bf,
34357 		 v8bf, bf, bf16, bfloat16x8_t)
34358 __LD2Q_LANE_FUNC (bfloat16x8x2_t, bfloat16x8_t, bfloat16_t, v8bf, bf, bf16)
34359 __LD3_LANE_FUNC (bfloat16x4x3_t, bfloat16x4_t, bfloat16x8x3_t, bfloat16_t, v4bf,
34360 		 v8bf, bf, bf16, bfloat16x8_t)
34361 __LD3Q_LANE_FUNC (bfloat16x8x3_t, bfloat16x8_t, bfloat16_t, v8bf, bf, bf16)
34362 __LD4_LANE_FUNC (bfloat16x4x4_t, bfloat16x4_t, bfloat16x8x4_t, bfloat16_t, v4bf,
34363 		 v8bf, bf, bf16, bfloat16x8_t)
34364 __LD4Q_LANE_FUNC (bfloat16x8x4_t, bfloat16x8_t, bfloat16_t, v8bf, bf, bf16)
34365 
34366 __ST2_LANE_FUNC (bfloat16x4x2_t, bfloat16x8x2_t, bfloat16_t, v4bf, v8bf, bf,
34367 		 bf16, bfloat16x8_t)
34368 __ST2Q_LANE_FUNC (bfloat16x8x2_t, bfloat16_t, v8bf, bf, bf16)
34369 __ST3_LANE_FUNC (bfloat16x4x3_t, bfloat16x8x3_t, bfloat16_t, v4bf, v8bf, bf,
34370 		 bf16, bfloat16x8_t)
34371 __ST3Q_LANE_FUNC (bfloat16x8x3_t, bfloat16_t, v8bf, bf, bf16)
34372 __ST4_LANE_FUNC (bfloat16x4x4_t, bfloat16x8x4_t, bfloat16_t, v4bf, v8bf, bf,
34373 		 bf16, bfloat16x8_t)
34374 __ST4Q_LANE_FUNC (bfloat16x8x4_t, bfloat16_t, v8bf, bf, bf16)
34375 
34376 #pragma GCC pop_options
34377 
34378 /* AdvSIMD 8-bit Integer Matrix Multiply (I8MM) intrinsics.  */
34379 
34380 #pragma GCC push_options
34381 #pragma GCC target ("arch=armv8.2-a+i8mm")
34382 
34383 __extension__ extern __inline int32x2_t
34384 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
34385 vusdot_s32 (int32x2_t __r, uint8x8_t __a, int8x8_t __b)
34386 {
34387   return __builtin_aarch64_usdotv8qi_ssus (__r, __a, __b);
34388 }
34389 
34390 __extension__ extern __inline int32x4_t
34391 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdotq_s32(int32x4_t __r,uint8x16_t __a,int8x16_t __b)34392 vusdotq_s32 (int32x4_t __r, uint8x16_t __a, int8x16_t __b)
34393 {
34394   return __builtin_aarch64_usdotv16qi_ssus (__r, __a, __b);
34395 }
34396 
34397 __extension__ extern __inline int32x2_t
34398 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdot_lane_s32(int32x2_t __r,uint8x8_t __a,int8x8_t __b,const int __index)34399 vusdot_lane_s32 (int32x2_t __r, uint8x8_t __a, int8x8_t __b, const int __index)
34400 {
34401   return __builtin_aarch64_usdot_lanev8qi_ssuss (__r, __a, __b, __index);
34402 }
34403 
34404 __extension__ extern __inline int32x2_t
34405 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdot_laneq_s32(int32x2_t __r,uint8x8_t __a,int8x16_t __b,const int __index)34406 vusdot_laneq_s32 (int32x2_t __r, uint8x8_t __a, int8x16_t __b,
34407 		  const int __index)
34408 {
34409   return __builtin_aarch64_usdot_laneqv8qi_ssuss (__r, __a, __b, __index);
34410 }
34411 
34412 __extension__ extern __inline int32x4_t
34413 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdotq_lane_s32(int32x4_t __r,uint8x16_t __a,int8x8_t __b,const int __index)34414 vusdotq_lane_s32 (int32x4_t __r, uint8x16_t __a, int8x8_t __b,
34415 		  const int __index)
34416 {
34417   return __builtin_aarch64_usdot_lanev16qi_ssuss (__r, __a, __b, __index);
34418 }
34419 
34420 __extension__ extern __inline int32x4_t
34421 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusdotq_laneq_s32(int32x4_t __r,uint8x16_t __a,int8x16_t __b,const int __index)34422 vusdotq_laneq_s32 (int32x4_t __r, uint8x16_t __a, int8x16_t __b,
34423 		   const int __index)
34424 {
34425   return __builtin_aarch64_usdot_laneqv16qi_ssuss (__r, __a, __b, __index);
34426 }
34427 
34428 __extension__ extern __inline int32x2_t
34429 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudot_lane_s32(int32x2_t __r,int8x8_t __a,uint8x8_t __b,const int __index)34430 vsudot_lane_s32 (int32x2_t __r, int8x8_t __a, uint8x8_t __b, const int __index)
34431 {
34432   return __builtin_aarch64_sudot_lanev8qi_sssus (__r, __a, __b, __index);
34433 }
34434 
34435 __extension__ extern __inline int32x2_t
34436 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudot_laneq_s32(int32x2_t __r,int8x8_t __a,uint8x16_t __b,const int __index)34437 vsudot_laneq_s32 (int32x2_t __r, int8x8_t __a, uint8x16_t __b,
34438 		  const int __index)
34439 {
34440   return __builtin_aarch64_sudot_laneqv8qi_sssus (__r, __a, __b, __index);
34441 }
34442 
34443 __extension__ extern __inline int32x4_t
34444 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudotq_lane_s32(int32x4_t __r,int8x16_t __a,uint8x8_t __b,const int __index)34445 vsudotq_lane_s32 (int32x4_t __r, int8x16_t __a, uint8x8_t __b,
34446 		  const int __index)
34447 {
34448   return __builtin_aarch64_sudot_lanev16qi_sssus (__r, __a, __b, __index);
34449 }
34450 
34451 __extension__ extern __inline int32x4_t
34452 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vsudotq_laneq_s32(int32x4_t __r,int8x16_t __a,uint8x16_t __b,const int __index)34453 vsudotq_laneq_s32 (int32x4_t __r, int8x16_t __a, uint8x16_t __b,
34454 		   const int __index)
34455 {
34456   return __builtin_aarch64_sudot_laneqv16qi_sssus (__r, __a, __b, __index);
34457 }
34458 
34459 /* Matrix Multiply-Accumulate.  */
34460 
34461 __extension__ extern __inline int32x4_t
34462 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmmlaq_s32(int32x4_t __r,int8x16_t __a,int8x16_t __b)34463 vmmlaq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
34464 {
34465   return __builtin_aarch64_simd_smmlav16qi (__r, __a, __b);
34466 }
34467 
34468 __extension__ extern __inline uint32x4_t
34469 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vmmlaq_u32(uint32x4_t __r,uint8x16_t __a,uint8x16_t __b)34470 vmmlaq_u32 (uint32x4_t __r, uint8x16_t __a, uint8x16_t __b)
34471 {
34472   return __builtin_aarch64_simd_ummlav16qi_uuuu (__r, __a, __b);
34473 }
34474 
34475 __extension__ extern __inline int32x4_t
34476 __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
vusmmlaq_s32(int32x4_t __r,uint8x16_t __a,int8x16_t __b)34477 vusmmlaq_s32 (int32x4_t __r, uint8x16_t __a, int8x16_t __b)
34478 {
34479   return __builtin_aarch64_simd_usmmlav16qi_ssus (__r, __a, __b);
34480 }
34481 
34482 #pragma GCC pop_options
34483 
poly8x8_t(__always_inline__,__gnu_inline__,__artificial__)34484 __extension__ extern __inline poly8x8_t
34485 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
34486 vadd_p8 (poly8x8_t __a, poly8x8_t __b)
34487 {
34488   return __a ^ __b;
34489 }
34490 
poly16x4_t(__always_inline__,__gnu_inline__,__artificial__)34491 __extension__ extern __inline poly16x4_t
34492 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
34493 vadd_p16 (poly16x4_t __a, poly16x4_t __b)
34494 {
34495   return __a ^ __b;
34496 }
34497 
poly64x1_t(__always_inline__,__gnu_inline__,__artificial__)34498 __extension__ extern __inline poly64x1_t
34499 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
34500 vadd_p64 (poly64x1_t __a, poly64x1_t __b)
34501 {
34502   return __a ^ __b;
34503 }
34504 
poly8x16_t(__always_inline__,__gnu_inline__,__artificial__)34505 __extension__ extern __inline poly8x16_t
34506 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
34507 vaddq_p8 (poly8x16_t __a, poly8x16_t __b)
34508 {
34509   return __a ^ __b;
34510 }
34511 
poly16x8_t(__always_inline__,__gnu_inline__,__artificial__)34512 __extension__ extern __inline poly16x8_t
34513 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
34514 vaddq_p16 (poly16x8_t __a, poly16x8_t __b)
34515 {
34516   return __a ^__b;
34517 }
34518 
poly64x2_t(__always_inline__,__gnu_inline__,__artificial__)34519 __extension__ extern __inline poly64x2_t
34520 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
34521 vaddq_p64 (poly64x2_t __a, poly64x2_t __b)
34522 {
34523   return __a ^ __b;
34524 }
34525 
poly128_t(__always_inline__,__gnu_inline__,__artificial__)34526 __extension__ extern __inline poly128_t
34527 __attribute ((__always_inline__, __gnu_inline__, __artificial__))
34528 vaddq_p128 (poly128_t __a, poly128_t __b)
34529 {
34530   return __a ^ __b;
34531 }
34532 
34533 #undef __aarch64_vget_lane_any
34534 
34535 #undef __aarch64_vdup_lane_any
34536 #undef __aarch64_vdup_lane_f16
34537 #undef __aarch64_vdup_lane_f32
34538 #undef __aarch64_vdup_lane_f64
34539 #undef __aarch64_vdup_lane_p8
34540 #undef __aarch64_vdup_lane_p16
34541 #undef __aarch64_vdup_lane_s8
34542 #undef __aarch64_vdup_lane_s16
34543 #undef __aarch64_vdup_lane_s32
34544 #undef __aarch64_vdup_lane_s64
34545 #undef __aarch64_vdup_lane_u8
34546 #undef __aarch64_vdup_lane_u16
34547 #undef __aarch64_vdup_lane_u32
34548 #undef __aarch64_vdup_lane_u64
34549 #undef __aarch64_vdup_laneq_f16
34550 #undef __aarch64_vdup_laneq_f32
34551 #undef __aarch64_vdup_laneq_f64
34552 #undef __aarch64_vdup_laneq_p8
34553 #undef __aarch64_vdup_laneq_p16
34554 #undef __aarch64_vdup_laneq_s8
34555 #undef __aarch64_vdup_laneq_s16
34556 #undef __aarch64_vdup_laneq_s32
34557 #undef __aarch64_vdup_laneq_s64
34558 #undef __aarch64_vdup_laneq_u8
34559 #undef __aarch64_vdup_laneq_u16
34560 #undef __aarch64_vdup_laneq_u32
34561 #undef __aarch64_vdup_laneq_u64
34562 #undef __aarch64_vdupq_lane_f16
34563 #undef __aarch64_vdupq_lane_f32
34564 #undef __aarch64_vdupq_lane_f64
34565 #undef __aarch64_vdupq_lane_p8
34566 #undef __aarch64_vdupq_lane_p16
34567 #undef __aarch64_vdupq_lane_s8
34568 #undef __aarch64_vdupq_lane_s16
34569 #undef __aarch64_vdupq_lane_s32
34570 #undef __aarch64_vdupq_lane_s64
34571 #undef __aarch64_vdupq_lane_u8
34572 #undef __aarch64_vdupq_lane_u16
34573 #undef __aarch64_vdupq_lane_u32
34574 #undef __aarch64_vdupq_lane_u64
34575 #undef __aarch64_vdupq_laneq_f16
34576 #undef __aarch64_vdupq_laneq_f32
34577 #undef __aarch64_vdupq_laneq_f64
34578 #undef __aarch64_vdupq_laneq_p8
34579 #undef __aarch64_vdupq_laneq_p16
34580 #undef __aarch64_vdupq_laneq_s8
34581 #undef __aarch64_vdupq_laneq_s16
34582 #undef __aarch64_vdupq_laneq_s32
34583 #undef __aarch64_vdupq_laneq_s64
34584 #undef __aarch64_vdupq_laneq_u8
34585 #undef __aarch64_vdupq_laneq_u16
34586 #undef __aarch64_vdupq_laneq_u32
34587 #undef __aarch64_vdupq_laneq_u64
34588 
34589 #undef __LD2_LANE_FUNC
34590 #undef __LD2Q_LANE_FUNC
34591 #undef __LD3_LANE_FUNC
34592 #undef __LD3Q_LANE_FUNC
34593 #undef __LD4_LANE_FUNC
34594 #undef __LD4Q_LANE_FUNC
34595 #undef __ST2_LANE_FUNC
34596 #undef __ST2Q_LANE_FUNC
34597 #undef __ST3_LANE_FUNC
34598 #undef __ST3Q_LANE_FUNC
34599 #undef __ST4_LANE_FUNC
34600 #undef __ST4Q_LANE_FUNC
34601 
34602 #endif
34603